好的想法
+网站置灰
+/* -webkit-filter css滤镜 */
+html.gray-mode { filter: grayscale(.95); -webkit-filter: grayscale(.95); }
+
diff --git a/404.html b/404.html new file mode 100644 index 000000000..24a129c8b --- /dev/null +++ b/404.html @@ -0,0 +1,48 @@ + + +
+ + + + +/* function ListNode(x){
+ this.val = x;
+ this.next = null;
+} */
+function reverseList(pHead) {
+ // write code here
+}
+module.exports = {
+ reverseList
+}
+
参考:https://juejin.cn/post/6850037271233331208#comment
sql解析:https://juejin.cn/post/6850037271233331208#heading-52
由外向里,逐步深入
不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能
一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能
-- 查看支持的存储引擎
+SHOW ENGINES
+
+-- 查看默认存储引擎
+SHOW VARIABLES LIKE 'storage_engine'
+
+--查看具体某一个表所使用的存储引擎,这个默认存储引擎被修改了!
+show create table tablename
+
+--准确查看某个数据库中的某一表所使用的存储引擎
+show table status like 'tablename'
+show table status from database where name="tablename"
+
InnoDB 是聚簇索引,MyISAM 是非聚簇索引。聚簇索引的文件存放在主键索引的叶子节点上,因此 InnoDB 必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,其他索引也都会很大。而 MyISAM 是非聚集索引,数据文件是分离的,索引保存的是数据文件的指针。主键索引和辅助索引是独立的。
BLOB和TEXT有什么区别? 字符串类型是:SET、BLOB、ENUM、CHAR、TEXT、VARCHAR
索引(Index)是帮助MySQL高效获取数据的数据结构,所以说索引的本质是:数据结构
索引本身也很大,不可能全部存储在内存中,一般以索引文件的形式存储在磁盘上
主要用于处理操作量大,复杂度高的数据
并发事务处理带来的问题
幻读和不可重复读的区别:
并发事务处理带来的问题的解决办法:
数据库事务的隔离级别有4种,由低到高分别为
简单来说,Serializable可串行化会在读取的每一行数据上都加锁,所以可能导致大量的超时和锁争用问题。这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。
数据库的事务隔离越严格,并发副作用越小,但付出的代价就越大,并发性就越差,因为事务隔离实质上就是使事务在一定程度上“串行化”进行,这显然与“并发”是矛盾的
MySQL InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ(可重读)。我们可以通过
SELECT @@tx_isolation;
命令来查看,MySQL 8.0 该命令改为SELECT @@transaction_isolation;
与 SQL 标准不同的地方在于InnoDB 存储引擎在 **REPEATABLE-READ(可重读)**事务隔离级别下使用的是Next-Key Lock
算法,因此可以避免幻读的产生,这与其他数据库系统(如 SQL Server)是不同的。所以说InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ(可重读)已经可以完全保证事务的隔离性要求,即达到了 SQL标准的 SERIALIZABLE(可串行化)隔离级别,而且保留了比较好的并发性能。
数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性。InnoDB是一个支持行锁的存储引擎,锁的类型有:
对应行锁的三种算法:
为了提供更好的并发,InnoDB提供了非锁定读:不需要等待访问行上的锁释放,读取行的一个快照。该方法是通过InnoDB的一个特性:MVCC来实现的。
MVCC 是行级锁的一个变种,但它在很多情况下避免了加锁操作,因此开销更低。虽然实现机制有所不同,但大都实现了非阻塞的读操作,写操作也只是锁定必要的行
MVCC 的实现是通过保存数据在某个时间点的快照来实现的。也就是说不管需要执行多长时间,每个事物看到的数据都是一致的。
InnoDB 的 MVCC,是通过在每行记录后面保存两个隐藏的列来实现。这两个列,一个保存了行的创建时间,一个保存行的过期时间(删除时间)。当然存储的并不是真实的时间,而是系统版本号(system version number)。每开始一个新的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较。
保存这两个额外系统版本号,使大多数操作都不用加锁。使数据操作简单,性能很好,并且也能保证只会读取到符合要求的行。不足之处是每行记录都需要额外的存储空间,需要做更多的行检查工作和一些额外的维护工作。
MVCC 只在 COMMITTED READ(读提交)和REPEATABLE READ(可重复读)两种隔离级别下工作。
事务的实现就是如何实现ACID特性
MySQL 中支持事务的存储引擎有 InnoDB 和 NDB
事务的隔离性是通过锁实现,而事务的原子性、一致性和持久性则是通过事务日志实现
参考:https://www.cnblogs.com/myseries/p/10728533.html
事务日志均可以视为一种恢复操作,redo_log是恢复提交事务修改的页操作,而undo_log是回滚行记录到特定版本;redo_log是物理日志,记录页的物理修改操作,而undo_log是逻辑日志
redo 重做日志 【实现持久性和一致性】
+ 作用:确保事务的持久性,防止在发生故障,脏页未写入磁盘。重启数据库会进行redo log执行重做,到达事务一致性
+
+undo 回滚日志 【实现原子性】
+ 作用:保证数据的原子性,记录事务发生之前的数据的一个版本,用于回滚。
+ innodb事务的可重复读和读取已提交 隔离级别就是通过mvcc+undo实现
+
+errorlog 错误日志
+ 作用:Mysql本身启动、停止、运行期间发生的错误信息
+
+slow query log 慢查询日志
+ 作用:记录执行时间过长的sql,时间阈值可以配置,只记录执行成功
+
+binlog 二进制日志
+ 作用:用于主从复制,实现主从同步
+
+relay log 中继日志
+ 作用:用于数据库主从同步,将主库发送来的binlog先保存在本地,然后从库进行回放
+
+general log 普通日志
+ 作用:记录数据库操作明细,默认关闭,开启会降低数据库性能
+
锁是计算机协调多个进程或线程并发访问某一资源的机制,是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则
从对数据操作的类型分类:
从对数据操作的粒度分类:
为了尽可能提高数据库的并发度,每次锁定的数据范围越小越好,但需要在高并发响应和系统性能两方面进行平衡
表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低(MyISAM 和 MEMORY 存储引擎采用的是表级锁);
行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高(InnoDB 存储引擎既支持行级锁也支持表级锁,但默认情况下是采用行级锁);
页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
适用:从锁的角度来说,表级锁更适合于以查询为主,只有少量按索引条件更新数据的应用
而行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有并发查询的应用
存储引擎 | 行锁 | 表锁 | 页锁 |
---|---|---|---|
MyISAM | √ | ||
BDB | √ | √ | |
InnoDB | √ | √ | |
Memory | √ |
MyISAM 的表锁有两种模式:
MyISAM 表的读操作与写操作之间,以及写操作之间是串行的。当一个线程获得对一个表的写锁后, 只有持有锁的线程可以对表进行更新操作。 其他线程的读、 写操作都会等待,直到锁被释放为止。
默认情况下,写锁比读锁具有更高的优先级:当一个锁释放时,这个锁会优先给写锁队列中等候的获取锁请求,然后再给读锁队列中等候的获取锁请求。
InnoDB 实现了以下两种类型的行锁:
为了允许行锁和表锁共存,实现多粒度锁机制,InnoDB 还有两种内部使用的意向锁(Intention Locks),这两种意向锁都是表锁:
索引失效会导致行锁变表锁。比如 vchar 查询不写单引号的情况。
乐观锁与悲观锁是两种并发控制的思想,可用于解决丢失更新问题
乐观锁会“乐观地”假定大概率不会发生并发更新冲突,访问、处理数据过程中不加锁,只在更新数据时再根据版本号或时间戳判断是否有冲突,有则处理,无则提交事务。用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式
悲观锁会“悲观地”假定大概率会发生并发更新冲突,访问、处理数据前就加排他锁,在整个数据处理过程中锁定数据,事务提交或回滚后才释放锁。另外与乐观锁相对应的,悲观锁是由数据库自己实现了的,要用的时候,我们直接调用数据库的相关语句就可以了。
记录锁(Record Locks): 单个行记录上的锁。对索引项加锁,锁定符合条件的行。其他事务不能修改和删除加锁项;
间隙锁(Gap Locks): 当我们使用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁。对于键值在条件范围内但并不存在的记录,叫做“间隙”。
InnoDB 也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁。
对索引项之间的“间隙”加锁,锁定记录的范围(对第一条记录前的间隙或最后一条将记录后的间隙加锁),不包含索引项本身。其他事务不能在锁范围内插入数据,这样就防止了别的事务新增幻影行。
间隙锁基于非唯一索引,它锁定一段范围内的索引记录。间隙锁基于下面将会提到的Next-Key Locking
算法,请务必牢记:使用间隙锁锁住的是一个区间,而不仅仅是这个区间中的每一条数据。
GAP锁的目的,是为了防止同一事务的两次当前读,出现幻读的情况
临键锁(Next-key Locks): 临键锁,是记录锁与间隙锁的组合,它的封锁范围,既包含索引记录,又包含索引区间。(临键锁的主要目的,也是为了避免幻读(Phantom Read)。如果把事务的隔离级别降级为RC,临键锁则也会失效。)
Next-Key 可以理解为一种特殊的间隙锁,也可以理解为一种特殊的算法。【通过临建锁可以解决幻读的问题】。 每个数据行上的非唯一索引列上都会存在一把临键锁,当某个事务持有该数据行的临键锁时,会锁住一段左开右闭区间的数据。
需要强调的一点是,InnoDB
中行级锁是基于索引实现的,临键锁只与非唯一索引列有关,在唯一索引列(包括主键列)上不存在临键锁。
select for update有什么含义,会锁表还是锁行还是其他
for update 仅适用于InnoDB,且必须在事务块(BEGIN/COMMIT)中才能生效。在进行事务操作时,通过“for update”语句,MySQL会对查询结果集中每行数据都添加排他锁,其他线程对该记录的更新与删除操作都会阻塞。排他锁包含行锁、表锁。
InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁!
死锁产生:
检测死锁:数据库系统实现了各种死锁检测和死锁超时的机制。InnoDB存储引擎能检测到死锁的循环依赖并立即返回一个错误。
死锁恢复:死锁发生以后,只有部分或完全回滚其中一个事务,才能打破死锁,InnoDB目前处理死锁的方法是,将持有最少行级排他锁的事务进行回滚。所以事务型应用程序在设计时必须考虑如何处理死锁,多数情况下只需要重新执行因死锁回滚的事务即可。
外部锁的死锁检测:发生死锁后,InnoDB 一般都能自动检测到,并使一个事务释放锁并回退,另一个事务获得锁,继续完成事务。但在涉及外部锁,或涉及表锁的情况下,InnoDB 并不能完全自动检测到死锁, 这需要通过设置锁等待超时参数 innodb_lock_wait_timeout 来解决
死锁影响性能:死锁会影响性能而不是会产生严重错误,因为InnoDB会自动检测死锁状况并回滚其中一个受影响的事务。在高并发系统上,当许多线程等待同一个锁时,死锁检测可能导致速度变慢。 有时当发生死锁时,禁用死锁检测(使用innodb_deadlock_detect配置选项)可能会更有效,这时可以依赖innodb_lock_wait_timeout
设置进行事务回滚。
MyISAM避免死锁:
InnoDB避免死锁:
SELECT ... FOR UPDATE
语句来获取必要的锁,即使这些行的更改语句是在之后才执行的。SELECT ... LOCK IN SHARE MODE
获取行的读锁后,如果当前事务再需要对该记录进行更新操作,则很有可能造成死锁。如果出现死锁,可以用 show engine innodb status;
命令来确定最后一个死锁产生的原因。返回结果中包括死锁相关事务的详细信息,如引发死锁的 SQL 语句,事务已经获得的锁,正在等待什么锁,以及被回滚的事务等。据此可以分析死锁产生的原因和改进措施。
一般情况下我们创建的表对应一组存储文件,使用MyISAM
存储引擎时是一个.MYI
和.MYD
文件,使用Innodb
存储引擎时是一个.ibd
和.frm
(表结构)文件。
当数据量较大时(一般千万条记录级别以上),MySQL的性能就会开始下降,这时我们就需要将数据分散到多组存储文件,保证其单个文件的执行效率
分区类型及操作
RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。mysql将会根据指定的拆分策略,,把数据放在不同的表文件上。相当于在文件上,被拆成了小块.但是,对外给客户的感觉还是一张表,透明的。
按照 range 来分,就是每个库一段连续的数据,这个一般是按比如时间范围来的,比如交易表啊,销售表啊等,可以根据年月来存放数据。可能会产生热点问题,大量的流量都打在最新的数据上了。
range 来分,好处在于说,扩容的时候很简单。
LIST分区:类似于按RANGE分区,每个分区必须明确定义。它们的主要区别在于,LIST分区中每个分区的定义和选择是基于某列的值从属于一个值列表集中的一个值,而RANGE分区是从属于一个连续区间值的集合。
HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。
hash 分发,好处在于说,可以平均分配每个库的数据量和请求压力;坏处在于说扩容起来比较麻烦,会有一个数据迁移的过程,之前的数据需要重新计算 hash 值重新分配到不同的库或表
KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数。必须有一列或多列包含整数值。
垂直拆分
垂直分表,通常是按照业务功能的使用频次,把主要的、热门的字段放在一起做为主要表。然后把不常用的,按照各自的业务属性进行聚集,拆分到不同的次要表中;主要表和次要表的关系一般都是一对一的。【一般是用主键作为约束】
水平拆分(数据分片)
单表的容量不超过500W,否则建议水平拆分。是把一个表复制成同样表结构的不同表,然后把数据按照一定的规则划分,分别存储到这些表中,从而保证单表的容量不会太大,提升性能;当然这些结构一样的表,可以放在一个或多个数据库中。
水平分割的几种方法:
为什么要分库?
数据库集群环境后都是多台 slave,基本满足了读取操作; 但是写入或者说大数据、频繁的写入操作对master性能影响就比较大,这个时候,单库并不能解决大规模并发写入的问题,所以就会考虑分库。
分库是什么?
一个库里表太多了,导致了海量数据,系统性能下降,把原本存储于一个库的表拆分存储到多个库上, 通常是将表按照功能模块、关系密切程度划分出来,部署到不同库上。
优点:
微服务下,数据库本来就是分库的
master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;
salve 将 master 的 binary log events 拷贝到它的中继日志(relay log);
slave 重做中继日志中的事件,将改变应用到自己的数据库中。MySQL 复制是异步且是串行化的。
关于索引:由于索引需要额外的维护成本,因为索引文件是单独存在的文件,所以当我们对数据的增加,修改,删除,都会产生额外的对索引文件的操作,这些操作需要消耗额外的IO,会降低增/改/删的执行效率。所以,在我们删除数据库百万级别数据的时候,查询MySQL官方手册得知删除数据的速度和创建的索引数量是成正比的。
先删除索引--->再删除无用数据----> 对留下来的数据重新简历索引,避免索引丢失
`,154),s=[l];function e(a,d){return o(),t("div",null,s)}const p=n(r,[["render",e],["__file","MySQL面试.html.vue"]]);export{p as default}; diff --git "a/assets/MySQL\351\235\242\350\257\225.html-d44685ef.js" "b/assets/MySQL\351\235\242\350\257\225.html-d44685ef.js" new file mode 100644 index 000000000..eb32e1a46 --- /dev/null +++ "b/assets/MySQL\351\235\242\350\257\225.html-d44685ef.js" @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-c389164c","path":"/manuscripts/battle-interview/problems/MySQL%E9%9D%A2%E8%AF%95.html","title":"MySQL面试","lang":"en-US","frontmatter":{"description":"MySQL面试 参考:https://juejin.cn/post/6850037271233331208#comment sql解析:https://juejin.cn/post/6850037271233331208#heading-52 基础架构 由外向里,逐步深入 连接层:完成一些类似于连接处理、授权认证、及相关的安全方案,引入了线程池的概念 服务层:完成大部分的核心服务功能, 包括查询解析、分析、优化、缓存、以及所有的内置函数,所有跨存储引擎的功能也都在这一层实现,包括触发器、存储过程、视图等 引擎层:存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信 存储层:将数据存储在运行于该设备的文件系统之上,并完成与存储引擎的交互","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/battle-interview/problems/MySQL%E9%9D%A2%E8%AF%95.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"MySQL面试"}],["meta",{"property":"og:description","content":"MySQL面试 参考:https://juejin.cn/post/6850037271233331208#comment sql解析:https://juejin.cn/post/6850037271233331208#heading-52 基础架构 由外向里,逐步深入 连接层:完成一些类似于连接处理、授权认证、及相关的安全方案,引入了线程池的概念 服务层:完成大部分的核心服务功能, 包括查询解析、分析、优化、缓存、以及所有的内置函数,所有跨存储引擎的功能也都在这一层实现,包括触发器、存储过程、视图等 引擎层:存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信 存储层:将数据存储在运行于该设备的文件系统之上,并完成与存储引擎的交互"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"MySQL面试\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"基础架构","slug":"基础架构","link":"#基础架构","children":[]},{"level":3,"title":"存储引擎","slug":"存储引擎","link":"#存储引擎","children":[{"level":4,"title":"查看存储引擎","slug":"查看存储引擎","link":"#查看存储引擎","children":[]}]},{"level":3,"title":"数据类型","slug":"数据类型","link":"#数据类型","children":[]},{"level":3,"title":"索引(单独重点来)","slug":"索引-单独重点来","link":"#索引-单独重点来","children":[]},{"level":3,"title":"事务","slug":"事务","link":"#事务","children":[{"level":4,"title":"基本要素(ACID)","slug":"基本要素-acid","link":"#基本要素-acid","children":[]}]},{"level":3,"title":"事务隔离级别","slug":"事务隔离级别","link":"#事务隔离级别","children":[{"level":4,"title":"MVCC 多版本并发控制","slug":"mvcc-多版本并发控制","link":"#mvcc-多版本并发控制","children":[]}]},{"level":3,"title":"事务的实现","slug":"事务的实现","link":"#事务的实现","children":[]},{"level":3,"title":"MySQL锁机制","slug":"mysql锁机制","link":"#mysql锁机制","children":[{"level":4,"title":"锁的分类","slug":"锁的分类","link":"#锁的分类","children":[]}]},{"level":3,"title":"MyISAM 表锁","slug":"myisam-表锁","link":"#myisam-表锁","children":[]},{"level":3,"title":"InnoDB 行锁","slug":"innodb-行锁","link":"#innodb-行锁","children":[{"level":4,"title":"加锁机制","slug":"加锁机制","link":"#加锁机制","children":[]},{"level":4,"title":"锁模式(InnoDB有三种行锁的算法)","slug":"锁模式-innodb有三种行锁的算法","link":"#锁模式-innodb有三种行锁的算法","children":[]},{"level":4,"title":"死锁","slug":"死锁","link":"#死锁","children":[]}]},{"level":3,"title":"MySQL分区","slug":"mysql分区","link":"#mysql分区","children":[]},{"level":3,"title":"MySQL分表","slug":"mysql分表","link":"#mysql分表","children":[]},{"level":3,"title":"MySQL分库","slug":"mysql分库","link":"#mysql分库","children":[]},{"level":3,"title":"主从复制","slug":"主从复制","link":"#主从复制","children":[{"level":4,"title":"复制的基本原则","slug":"复制的基本原则","link":"#复制的基本原则","children":[]}]},{"level":3,"title":"三个范式","slug":"三个范式","link":"#三个范式","children":[]},{"level":3,"title":"百万级别或以上的数据如何删除","slug":"百万级别或以上的数据如何删除","link":"#百万级别或以上的数据如何删除","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":42.46,"words":8492},"filePathRelative":"manuscripts/battle-interview/problems/MySQL面试.md","localizedDate":"September 11, 2023","excerpt":"\\n\\n参考:https://juejin.cn/post/6850037271233331208#comment
\\nsql解析:https://juejin.cn/post/6850037271233331208#heading-52
\\n
\\n\\n由外向里,逐步深入
\\n
\\n\\n参考链接:https://blog.csdn.net/weixin_43122090/article/details/105461971
\\n
Stub_status
指令:该指令用于了解Nginx
当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数
Sub_filter
指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据
可以使用Nginx
模块gunzip
将请求压缩到上游。gunzip
模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应
参考链接:https://blog.csdn.net/weixin_43122090/article/details/105461971
Stub_status
指令:该指令用于了解Nginx
当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数
Sub_filter
指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据
可以使用Nginx
模块gunzip
将请求压缩到上游。gunzip
模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应
变量$http_user_agent
## 不允许谷歌浏览器访问 如果是谷歌浏览器返回500
+ if ($http_user_agent ~ Chrome) {
+ return 500;
+ }
+
变量$remote_addr
# 如果访问的ip地址为192.168.9.115,则返回403
+if ($remote_addr = 192.168.9.115) {
+ return 403;
+}
+
利用proxy_pass 指向上游负载均衡
###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
+proxy_connect_timeout 1s;
+###nginx发送给上游服务器(真实访问的服务器)超时时间
+proxy_send_timeout 1s;
+### nginx接受上游服务器(真实访问的服务器)超时时间
+proxy_read_timeout 1s;
+
每个请求按事件顺序逐一分配到不同的后端服务器,上游服务宕机能自动剔除
权重weight分配的越大,访问的频率越高,用于上游服务器性能不均衡的情况下,合理利用主机资源
请求按照访问IP进行哈希分配,均匀的落在上游服务中,可以有效的解决session共享问题
必须安装upstream_fair模块
比权重、IP_Hash更加智能的负载均衡算法
fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,响应时间短的优先分配
## 哪个服务器的响应速度快,就将请求分配到那个服务器上
+upstream backserver {
+ server server1;
+ server server2;
+ fair;
+}
+
必须安装Nginx的hash软件包
按访问url的hash结果来分配请求,每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率
upstream backserver {
+ server squid1:3128;
+ server squid2:3128;
+ hash $request_uri;
+ hash_method crc32;
+}
+
- 流量整形
- 速率限制
目的: 控制数据注入到网络的速率,平滑网络上的突发流量
突发流量会进入到一个漏桶,漏桶会按照我们定义的速率依次处理请求,如果水流过大也就是突发流量过大就会直接溢出,则多余的请求会被拒绝
- 流量整形
- 速率限制
用来控制发送到网络上的数据的数目,并允许突发数据的发送
存在一个大小固定的令牌桶,会以恒定的速率源源不断产生令牌。如果令牌消耗速率小于生产令牌的速度,令牌就会一直产生直至装满整个令牌桶
限制用户请求速度,防止服务器负载过高或宕机
限制方式【基于漏桶算法】:
限制一个用户发送的请求或者Nginx多久接收一个请求
- ngx_http_limit_req_module模块限制的访问频率【基于漏桶算法】
- limit_req_zone命令及limit_req命令限制单个IP的请求处理频率
- 1r/s代表1秒一个请求,1r/m一分钟接收一个请求, 如果Nginx这时还有别人的请求没有处理完,Nginx就会拒绝处理该用户请求
#定义限流维度,一个用户一分钟一个请求进来,多余的全部漏掉
+limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m;
+#绑定限流维度
+server{
+
+ location/seckill.html{
+ limit_req zone=zone;
+ proxy_pass http://lj_seckill;
+ }
+}
+
如果突发流量超出请求被拒绝处理,无法处理活动时候的突发流量,这时候应该如何进一步处理呢?
Nginx提供burst参数结合nodelay参数可以解决流量突发的问题
- 可以设置能处理的超过设置的请求数外能额外处理的请求数
#定义限流维度,一个用户一分钟一个请求进来,多余的全部漏掉
+limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m;
+#绑定限流维度
+server{
+ location/seckill.html{
+ # burst=5 nodelay :Nginx对于一个用户的请求会立即处理前五个,多余的就慢慢来落,没有其他用户的请求我就处理你的,有其他的请求的话我Nginx就漏掉不接受你的请求
+ limit_req zone=zone burst=5 nodelay;
+ proxy_pass http://lj_seckill;
+ }
+}
+
- ngx_http_limit_conn_module模块提供了限制并发连接数的功能
- 使用limit_conn_zone指令以及limit_conn执行进行配置
http {
+ limit_conn_zone $binary_remote_addr zone=myip:10m;
+ limit_conn_zone $server_name zone=myServerName:10m;
+}
+server {
+ location / {
+ ## 单个IP同时并发连接数最多只能10个连接
+ limit_conn myip 10;
+ ## 整个虚拟服务器同时最大并发数最多只能100个链接
+ limit_conn myServerName 100;
+ rewrite / http://www.lijie.net permanent;
+ }
+}
+
只有当请求的header被服务器处理后,虚拟服务器的连接数才会计数
location指令的作用是根据用户请求的URI来执行不同的应用,即:根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作
[root@localhost ~]# tree /usr/local/nginx
+/usr/local/nginx
+├── client_body_temp
+├── conf # Nginx所有配置文件的目录
+│ ├── fastcgi.conf # fastcgi相关参数的配置文件
+│ ├── fastcgi.conf.default # fastcgi.conf的原始备份文件
+│ ├── fastcgi_params # fastcgi的参数文件
+│ ├── fastcgi_params.default
+│ ├── koi-utf
+│ ├── koi-win
+│ ├── mime.types # 媒体类型
+│ ├── mime.types.default
+│ ├── nginx.conf # Nginx主配置文件
+│ ├── nginx.conf.default
+│ ├── scgi_params # scgi相关参数文件
+│ ├── scgi_params.default
+│ ├── uwsgi_params # uwsgi相关参数文件
+│ ├── uwsgi_params.default
+│ └── win-utf
+├── fastcgi_temp # fastcgi临时数据目录
+├── html # Nginx默认站点目录
+│ ├── 50x.html # 错误页面优雅替代显示文件,例如当出现502错误时会调用此页面
+│ └── index.html # 默认的首页文件
+├── logs # Nginx日志目录
+│ ├── access.log # 访问日志文件
+│ ├── error.log # 错误日志文件
+│ └── nginx.pid # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
+├── proxy_temp # 临时目录
+├── sbin # Nginx命令目录
+│ └── nginx # Nginx的启动命令
+├── scgi_temp # 临时目录
+└── uwsgi_temp # 临时目录
+
+
worker_processes 1; # worker进程的数量
+events { # 事件区块开始
+ worker_connections 1024; # 每个worker进程支持的最大连接数
+} # 事件区块结束
+http { # HTTP区块开始
+ include mime.types; # Nginx支持的媒体类型库文件
+ default_type application/octet-stream; # 默认的媒体类型
+ sendfile on; # 开启高效传输模式
+ keepalive_timeout 65; # 连接超时
+ server { # 第一个Server区块开始,表示一个独立的虚拟主机站点
+ listen 80; # 提供服务的端口,默认80
+ server_name localhost; # 提供服务的域名主机名
+ location / { # 第一个location区块开始
+ root html; # 站点的根目录,相当于Nginx的安装目录
+ index index.html index.htm; # 默认的首页文件,多个用空格分开
+ } # 第一个location区块结果
+ error_page 500502503504 /50x.html; # 出现对应的http状态码时,使用50x.html回应客户
+ location = /50x.html { # location区块开始,访问50x.html
+ root html; # 指定对应的站点目录为html
+ }
+ }
+ ......
+
正向代理隐藏真实客户端,反向代理隐藏真实服务端
参考链接:https://www.cnblogs.com/taostaryu/p/10547132.html
例如:翻墙访问google、买票的黄牛
用途:
访问原来无法访问的资源,如google
可以做缓存,加速访问资源
对客户端访问授权,上网进行认证
代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
例如: 租房的中介
代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器
用途:
- 负载均衡,通过反向代理服务器来优化网站的负载
- 保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网
nginx -s reopen #重启Nginx
+
+nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx
+
+nginx -s stop #强制停止Nginx服务
+
+nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)
+
+nginx -t #检测配置文件是否有语法错误,然后退出
+
+nginx -?,-h #打开帮助信息
+
+nginx -v #显示版本信息并退出
+
+nginx -V #显示版本和配置选项信息,然后退出
+
+nginx -t #检测配置文件是否有语法错误,然后退出
+
+nginx -T #检测配置文件是否有语法错误,转储并退出
+
+nginx -q #在检测配置文件期间屏蔽非错误信息
+
+nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/)
+
+nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf)
+
+nginx -g directives #设置配置文件外的全局指令
+
+killall nginx #杀死所有nginx进程
+kill -quit 61333 # 退出某个进程
+
参考:https://juejin.cn/post/6844904071501971469#heading-0
\\n重要重要!!!
\\njs事件循环:https://juejin.cn/post/6844903968292749319
\\n同步和异步关注的是消息通信机制。
\\n同步:在发起一个调用后,在没有得到结果前,该调用不返回,知道调用返回,才往下执行,也就是说调用者等待被调用方返回结果。
\\n异步:在发起一个调用后,调用就直接返回,不等待结果,继续往下执行,而执行的结果是由被调用方通过状态、通知等方式告知调用方,典型的异步编程模型比如 Node.js
\\n参考:https://juejin.cn/post/6844904071501971469#heading-0
重要重要!!!
js事件循环:https://juejin.cn/post/6844903968292749319
同步和异步关注的是消息通信机制。
同步:在发起一个调用后,在没有得到结果前,该调用不返回,知道调用返回,才往下执行,也就是说调用者等待被调用方返回结果。
异步:在发起一个调用后,调用就直接返回,不等待结果,继续往下执行,而执行的结果是由被调用方通过状态、通知等方式告知调用方,典型的异步编程模型比如 Node.js
阻塞和非阻塞,关注的是在等待结果时,线程的状态。
Nodejs事件循环中细分为这六个阶段,依次如下:
关于 process.nextTick ,这个事件的优先级要高于其他微队列的事件,所以对于需要立即执行的回调事件可以通过该方法将事件放置到微队列的起始位置。
Promise.resolve().then(function () {
+ console.log('promise1')
+})
+process.nextTick(() => {
+ console.log('nextTick')
+ process.nextTick(() => {
+ console.log('nextTick')
+ process.nextTick(() => {
+ console.log('nextTick')
+ process.nextTick(() => {
+ console.log('nextTick')
+ })
+ })
+ })
+})
+
+// 执行结果
+// nextTick=>nextTick=>nextTick=>timer1=>promise1
+
+
开发需要关系的阶段 与我们开发相关的三个阶段分别是 Timers Poll Check
先查看 check 阶段是否有事件,有的话执行 执行完 check 阶段后,检查 poll 阶段的队列是否有事件,若有则执行 poll 的队列执行完成后,执行 check 阶段的事件
在 nodejs 中也是有宏任务和微任务的, nodejs 中除了多了 process.nextTick ,宏任务、微任务的分类都是一致的。
架构一样,都是基于事件驱动的异步架构!
浏览器主要是通过事件驱动来服务页面交互。
node 主要是通过事件驱动来服务 I/O
node 没有HTML,WebKit和显卡等等的UI技术支持
XSS(Cross-Site Scripting,跨站脚本攻击)是指攻击者在返回的HTML中插入JavaScript脚本。为了减轻这些攻击,需要在HTTP头部配置set-cookie:
HttpOnly - 这个属性可以防止cross-site scripting,因为它会禁止Javascript脚本访问cookie。
secure - 这个属性告诉浏览器仅在请求为HTTPS时发送cookie。
结果应该是这样的:
Set-Cookie: sid=; HttpOnly. 使用Express的话,cookie-session默认配置好了。
将图片的所有src均指向一个小图片或者设为空 真正的src放在data-src中,监听滚动事件,用户浏览到该图片时 将src真实值从data-src中拷贝到src中去
可以结合cdn去做,一张图片在服务端存两种大小
用户频繁滚动页面---->节流(允许用户在n秒内触发一次懒加载)
`,29),r={href:"https://www.jianshu.com/p/dd0e90a2c440",target:"_blank",rel:"noopener noreferrer"},k=a(`先说,防抖怎么防?
防抖函数可以通过闭包 + 定时器实现。
+// 防抖函数
+function debounce(func, wait) {
+ let timeout = null
+ return function() {
+ // 确定 终止那个setTimeOut()方法
+ clearTimeout(timeout)
+
+ timeout = setTimeout(function() {
+ func()
+ // 高级【推荐】
+ func.apply(this, arguments)
+ }, wait)
+ }
+}
+
+// 实际执行的方法
+function getData() {
+ // ... ajax
+}
+// 调用
+documentElement.addEventListener('keyup', debounce(getData, 1000))
+
setTimeout()方法的返回值是一个唯一的数值,这个数值有什么用呢?
如果你想要终止setTimeout()方法的执行,那就必须使用 clearTimeout()方法来终止,而使用这个方法的时候,系统必须知道你到底要终止的是哪一个setTimeout()方法(因为你可能同时调用了好几个 setTimeout()方法),这样clearTimeout()方法就需要一个参数,这个参数就是setTimeout()方法的返回值(数值),用这个数值来唯一确定结束哪一个setTimeout()方法。
说白了,就是利用全局变量做标记,然后延时处理
参考lodash的实现:https://www.lodashjs.com/docs/lodash.debounce
再来说说节流(一段时间内只触发一次请求加载),两种实现方式:
// 基于定时器实现
+function throttle(func, wait) {
+ let timeout
+
+ return function() {
+ if (!timeout) {
+ timeout = setTimeout(() => {
+ timeout = null
+ func.call(this, arguments)
+ }, wait)
+ }
+ }
+}
+// 基于时间差实现
+function throttle(func, wait) {
+ let previous = 0
+
+ // 函数闭包
+ return function() {
+ let now = +new Date()
+ // 剩余时间=理论等待时间-实际等待时间
+ let remain = wait - (now - previous)
+
+ if (remain < 0) {
+ previous = now
+ func.call(this, arguments)
+ }
+ }
+}
+
看完后,我觉得有点单例模式的感觉...
参考lodash节流函数:https://www.lodashjs.com/docs/lodash.throttle
闭包有三个特性:
闭包的好处:
参考:https://segmentfault.com/a/1190000000652891
2.了解TS吗
Koa本质上是调用一系列的中间件,来处理对应的请求,并决定是否传递到下一个中间件去处理
compose 是一个工具函数,Koa.js 的中间件通过这个工具函数组合后,按 app.use() 的顺序同步执行,也就是形成了 洋葱圈 式的调用。 参考:https://github.com/koajs/compose/blob/master/index.js
原理就是:会从middleware数组中取第一个函数开始执行,中间件函数中调用next方法就会去取下一个中间件函数继续执行。每个中间件函数执行完毕后都会返回一个promise对象。(ps:调用next方法并不是表示当前中间件函数执行完毕了,调用next之后仍可以继续执行其他代码)
参考:https://zhuanlan.zhihu.com/p/29455788
Compose 是一种基于 Promise 的流程控制方式,可以通过这种方式对异步流程同步化,解决之前的嵌套回调和 Promise 链式耦合。
4.node多线程怎么管理
Node.js 只支持单线程。但是可以开启多进程充分利用多核 CPU, 单个 Node.js 实例运行在单个线程中。 为了充分利用多核系统,有时需要启用一组 Node.js 进程去处理负载任务。可以使用node.js原生的cluster (集群)模块创建共享服务器端口的子进程,cluster 模块支持两种分发连接的方法。
第一种方法(也是除 Windows 外所有平台的默认方法)是循环法,由主进程负责监听端口,接收新连接后再将连接循环分发给工作进程,在分发中使用了一些内置技巧防止工作进程任务过载。
第二种方法是,主进程创建监听 socket 后发送给感兴趣的工作进程,由工作进程负责直接接收连接。
理论上第二种方法应该是效率最佳的。 但在实际情况下,由于操作系统调度机制的难以捉摸,会使分发变得不稳定。 可能会出现八个进程中有两个分担了 70% 的负载。 潜在问题: 因为每个进程的内存都是独立的,为了在多进程中共享数据,原来可能存储在内存中的数据,例如 token 等不能再存储在内存中,应该存储在 redis 等缓存中,以便保证不同的进程都可以访问该数据;
对应到egg的多线程模型
4.node路由是什么
node中的路由由自己的框架处理,通过分析url路径分发到相应控制器中,一个路由对应的是一个或多个负责请求调用的js文件,里面包括业务逻辑(拦截,捕获,处理)
路由是一组映射关系,分析URL将访问的内容映射到实际的action或者controller上。
5.Node的Event Loop 【重要】
6.介绍一下node中间件
中间件就是请求req和响应res之间的一个应用,请求浏览器向服务器发送一个请求后,服务器直接通过request定位属性的方式得到通过request携带过去的数据,就是用户输入的数据和浏览器本身的数据信息,这中间就一定有一个函数将这些数据分类做了处理,最后让request对象调用使用,这个处理函数就是我们所所得中间插件。比如生活中的租客和房主,中间需要一个中介来搭桥,这个中介就类似于中间件。一般来说,中间件用来封装底层细节,组织基础功能,分离基础设施和业务逻辑
7.数组去重的方法有哪些
参考: https://segmentfault.com/a/1190000016418021?utm_source=tag-newest
遍历数组,indexof过滤,再push
reduce方法
filter方法
利用集合Set元素不能重合,定义集合,解构后成新数组
let arr = [1,1,2,3,4,5,5,6];
+
+// 1. indexOf
+function newArr(array){
+ //一个新的数组
+ var ar = [];
+ //遍历当前数组
+ for(var i = 0; i < array.length; i++){
+ //如果临时数组里没有当前数组的当前值,则把当前值push到新数组里面
+ // 判断是否包含,返回角标
+ if (ar.indexOf(array[i]) == -1){
+ ar.push(array[i])
+ };
+ }
+ return ar;
+}
+let arr2 = newArr(arr);
+// 2. reduce 参考:https://www.runoob.com/jsref/jsref-reduce.html
+let arr2 = arr.reduce(function(ar,cur) {
+ // includes数组是否包含 true|false
+ if(!ar.includes(cur)) {
+ ar.push(cur)
+ }
+
+ return ar
+},[])
+// 3. filter
+let arr2 = arr.filter(function(item,index) {
+ // indexOf() 方法可返回某个指定的 字符串值 在字符串中首次出现的位置
+ return arr.indexOf(item) === index
+})
+// 4. Set
+let arr2 = [...new Set(arr)]
+
+
8.判断类型有哪些方法
参考:https://www.jb51.net/article/190286.htm
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
数据范围:两个数都满足−10≤n≤1000
进阶:空间复杂度O(1),时间复杂度O(1)
方案一: 利用自增
方案二: 利用位运算
+1 + 1 = 0 1 ^ 1 = 0 ##错误
+1 + 0 = 1 1 ^ 0 = 1 ##正确
+0 + 1 = 1 0 ^ 1 = 1 ##正确
+0 + 0 = 0 0 ^ 0 = 0 ##正确
+
+
+1 & 1 = 1 ##进位
+1 & 0 = 0 ##不进位
+0 & 1 = 0 ##不进位
+0 & 0 = 0 ##不进位
+
A(i)^B(i)
A(i)&B(i)
,进位需要加在计算位的前一位,所以左移1位,即A(i)&B(i)<<1
所以找出规律 A+B=A^B+(A&B)<<1
即:函数的第一个参数接受不进位的操作结果,第二个参数接受进位操作的结果
/**
+ * 【简单】不用加减乘除做加法
+ * - 利用自增
+ * @param num1
+ * @param num2
+ */
+function addOne(num1, num2) {
+ // 整数递增
+ if (num2 > 0) {
+ while (num2 > 0) {
+ num2--
+ num1++
+ }
+ }
+
+ // 负数递减
+ if (num2 < 0) {
+ while (num2 < 0) {
+ num2++
+ num1--
+ }
+ }
+ return num1
+}
+
+/**
+ * 【简单】不用加减乘除做加法
+ * - 利用位运算【递归】
+ * @param num1
+ * @param num2
+ */
+function addTwo(num1, num2) {
+ return num2 ? addTwo(num1 ^ num2, (num1 & num2) << 1) : num1
+}
+
+
+/**
+ * 【简单】不用加减乘除做加法
+ * - 利用位运算【循环】
+ * @param num1
+ * @param num2
+ * @returns {number}
+ */
+function addThree(num1, num2) {
+ let result = 0
+ let carry = 0
+ do {
+ // 不带进位的加法
+ result = num1 ^ num2
+ // 进位
+ carry = (num1 & num2) << 1
+ num1 = result
+ num2 = carry
+ } while (carry !== 0) // 进位不为0则继续执行加法处理进位
+ return result
+}
+
+console.log(addOne(1, 2))
+console.log(addTwo(3, 4))
+console.log(addThree(3, 4))
+
<<
,右移>>
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
\\n数据范围:两个数都满足−10≤n≤1000
","autoDesc":true}');export{e as data}; diff --git a/assets/ant-design-vue.html-03a7db18.js b/assets/ant-design-vue.html-03a7db18.js new file mode 100644 index 000000000..f4b696661 --- /dev/null +++ b/assets/ant-design-vue.html-03a7db18.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c as n}from"./app-f9d4ab81.js";const c={};function o(r,_){return t(),n("div")}const f=e(c,[["render",o],["__file","ant-design-vue.html.vue"]]);export{f as default}; diff --git a/assets/ant-design-vue.html-45df9141.js b/assets/ant-design-vue.html-45df9141.js new file mode 100644 index 000000000..2897b5510 --- /dev/null +++ b/assets/ant-design-vue.html-45df9141.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-bfd7d336","path":"/manuscripts/front-end/ui-framework/ant-design-vue.html","title":"Ant-Design-Vue","lang":"en-US","frontmatter":{"title":"Ant-Design-Vue","description":"","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/front-end/ui-framework/ant-design-vue.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"Ant-Design-Vue"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Ant-Design-Vue\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.02,"words":4},"filePathRelative":"manuscripts/front-end/ui-framework/ant-design-vue.md","localizedDate":"September 11, 2023","excerpt":"","autoDesc":true}');export{e as data}; diff --git a/assets/api-docs.html-136aa865.js b/assets/api-docs.html-136aa865.js new file mode 100644 index 000000000..8069d63d8 --- /dev/null +++ b/assets/api-docs.html-136aa865.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as a,c as l,a as e,b as t,d as n}from"./app-f9d4ab81.js";const h={},i=e("h1",{id:"技术文档",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#技术文档","aria-hidden":"true"},"#"),t(" 技术文档")],-1),c=e("h3",{id:"知识库",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#知识库","aria-hidden":"true"},"#"),t(" 知识库")],-1),d={href:"https://javaguide.cn",target:"_blank",rel:"noopener noreferrer"},_={href:"https://github.com/AobingJava/JavaFamily",target:"_blank",rel:"noopener noreferrer"},p={href:"https://www.processon.com/view/5e86b713e4b0bf3ebcf4e376",target:"_blank",rel:"noopener noreferrer"},u=e("h3",{id:"代码管理",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#代码管理","aria-hidden":"true"},"#"),t(" 代码管理")],-1),f={href:"https://git-scm.com/book/zh/v2",target:"_blank",rel:"noopener noreferrer"},g={href:"https://svnbook.red-bean.com/nightly/zh/index.html",target:"_blank",rel:"noopener noreferrer"},b=e("h3",{id:"代码规范",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#代码规范","aria-hidden":"true"},"#"),t(" 代码规范")],-1),m={href:"http://nodejs.cn/eslint/",target:"_blank",rel:"noopener noreferrer"},k=e("h3",{id:"前端",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#前端","aria-hidden":"true"},"#"),t(" 前端")],-1),w={href:"https://jquery.cuishifeng.cn",target:"_blank",rel:"noopener noreferrer"},v={href:"https://cn.vuejs.org/",target:"_blank",rel:"noopener noreferrer"},j={href:"https://reactjs.org/docs/getting-started.html",target:"_blank",rel:"noopener noreferrer"},x={href:"https://v2.vuepress.vuejs.org/zh",target:"_blank",rel:"noopener noreferrer"},z={href:"https://theme-hope.vuejs.press/zh/",target:"_blank",rel:"noopener noreferrer"},y=e("h4",{id:"ui框架",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ui框架","aria-hidden":"true"},"#"),t(" UI框架")],-1),q={href:"http://v4.iviewui.com/docs/introduce",target:"_blank",rel:"noopener noreferrer"},N={href:"https://element-plus.gitee.io/zh-CN/guide/installation.html",target:"_blank",rel:"noopener noreferrer"},J=e("h3",{id:"微信生态",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#微信生态","aria-hidden":"true"},"#"),t(" 微信生态")],-1),E={href:"https://developers.weixin.qq.com/miniprogram/dev/framework/",target:"_blank",rel:"noopener noreferrer"},C=e("li",null,null,-1),V=e("h3",{id:"服务端",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#服务端","aria-hidden":"true"},"#"),t(" 服务端")],-1),I={href:"https://blog.redis.com.cn/doc/index.html",target:"_blank",rel:"noopener noreferrer"},S=e("h4",{id:"语言",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#语言","aria-hidden":"true"},"#"),t(" 语言")],-1),G={href:"http://nodejs.cn/typescript/",target:"_blank",rel:"noopener noreferrer"},K={href:"http://nodejs.cn",target:"_blank",rel:"noopener noreferrer"},L={href:"https://studygolang.com/pkgdoc",target:"_blank",rel:"noopener noreferrer"},A=e("h4",{id:"框架",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#框架","aria-hidden":"true"},"#"),t(" 框架")],-1),B={href:"https://www.expressjs.com.cn",target:"_blank",rel:"noopener noreferrer"},D={href:"https://koa.bootcss.com",target:"_blank",rel:"noopener noreferrer"},F={href:"https://www.eggjs.org/zh-CN",target:"_blank",rel:"noopener noreferrer"},M={href:"https://nestjs.com",target:"_blank",rel:"noopener noreferrer"},Q={href:"https://docs.nestjs.cn/9/introduction",target:"_blank",rel:"noopener noreferrer"},R={href:"http://www.midwayjs.org",target:"_blank",rel:"noopener noreferrer"},T=e("h4",{id:"消息队列",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#消息队列","aria-hidden":"true"},"#"),t(" 消息队列")],-1),U={href:"https://www.rabbitmq.com/documentation.html",target:"_blank",rel:"noopener noreferrer"},H={href:"https://rocketmq.apache.org/docs/quickStart/01quickstart",target:"_blank",rel:"noopener noreferrer"},O={href:"https://kafka.apachecn.org/",target:"_blank",rel:"noopener noreferrer"},P=e("h4",{id:"容器相关",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#容器相关","aria-hidden":"true"},"#"),t(" 容器相关")],-1),W={href:"https://docs.docker.com/get-started",target:"_blank",rel:"noopener noreferrer"},X={href:"https://kubernetes.io/zh-cn/docs/home/",target:"_blank",rel:"noopener noreferrer"},Y=e("h4",{id:"elk相关",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#elk相关","aria-hidden":"true"},"#"),t(" ELK相关")],-1),Z={href:"https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html",target:"_blank",rel:"noopener noreferrer"},$=e("h4",{id:"ci-cd",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ci-cd","aria-hidden":"true"},"#"),t(" CI/CD")],-1),ee={href:"https://www.jenkins.io/zh/doc",target:"_blank",rel:"noopener noreferrer"},te={href:"https://docs.github.com/zh/actions",target:"_blank",rel:"noopener noreferrer"};function re(ne,oe){const r=s("ExternalLinkIcon");return a(),l("div",null,[i,c,e("ul",null,[e("li",null,[t("JavaGuide: "),e("a",d,[t("https://javaguide.cn"),n(r)])]),e("li",null,[t("JavaFamily: "),e("a",_,[t("https://github.com/AobingJava/JavaFamily"),n(r)])]),e("li",null,[t("Java面试考察: "),e("a",p,[t("https://www.processon.com/view/5e86b713e4b0bf3ebcf4e376"),n(r)])])]),u,e("ul",null,[e("li",null,[t("Git中文文档: "),e("a",f,[t("https://git-scm.com/book/zh/v2"),n(r)])]),e("li",null,[t("SVN中文文档: "),e("a",g,[t("https://svnbook.red-bean.com/nightly/zh/index.html"),n(r)])])]),b,e("ul",null,[e("li",null,[t("EsLint中文文档:"),e("a",m,[t("http://nodejs.cn/eslint/"),n(r)])])]),k,e("ul",null,[e("li",null,[t("JQuery中文文档:"),e("a",w,[t("https://jquery.cuishifeng.cn"),n(r)])]),e("li",null,[t("Vue中文文档:"),e("a",v,[t("https://cn.vuejs.org/"),n(r)])]),e("li",null,[t("React官方文档:"),e("a",j,[t("https://reactjs.org/docs/getting-started.html"),n(r)])]),e("li",null,[t("Vuepress:"),e("a",x,[t("https://v2.vuepress.vuejs.org/zh"),n(r)])]),e("li",null,[t("vuepress-theme-hope: "),e("a",z,[t("https://theme-hope.vuejs.press/zh/"),n(r)])])]),y,e("ul",null,[e("li",null,[t("View UI: "),e("a",q,[t("http://v4.iviewui.com/docs/introduce"),n(r)])]),e("li",null,[t("element-plus: "),e("a",N,[t("https://element-plus.gitee.io/zh-CN/guide/installation.html"),n(r)])])]),J,e("ul",null,[e("li",null,[t("微信小程序: "),e("a",E,[t("https://developers.weixin.qq.com/miniprogram/dev/framework/"),n(r)])]),C]),V,e("ul",null,[e("li",null,[t("Nginx: "),e("a",I,[t("https://blog.redis.com.cn/doc/index.html"),n(r)])])]),S,e("ul",null,[e("li",null,[t("TypeScript: "),e("a",G,[t("http://nodejs.cn/typescript/"),n(r)])]),e("li",null,[t("Node.js: "),e("a",K,[t("http://nodejs.cn"),n(r)])]),e("li",null,[t("Golang: "),e("a",L,[t("https://studygolang.com/pkgdoc"),n(r)])])]),A,e("ul",null,[e("li",null,[t("Express: "),e("a",B,[t("https://www.expressjs.com.cn"),n(r)])]),e("li",null,[t("Koa: "),e("a",D,[t("https://koa.bootcss.com"),n(r)])]),e("li",null,[t("Egg.js: "),e("a",F,[t("https://www.eggjs.org/zh-CN"),n(r)])]),e("li",null,[t("Nest.js官网: "),e("a",M,[t("https://nestjs.com"),n(r)])]),e("li",null,[t("Nest.js中文:"),e("a",Q,[t("https://docs.nestjs.cn/9/introduction"),n(r)])]),e("li",null,[t("Midway.js: "),e("a",R,[t("http://www.midwayjs.org"),n(r)])])]),T,e("ul",null,[e("li",null,[t("RabbitMQ: "),e("a",U,[t("https://www.rabbitmq.com/documentation.html"),n(r)])]),e("li",null,[t("RocketMQ: "),e("a",H,[t("https://rocketmq.apache.org/docs/quickStart/01quickstart"),n(r)])]),e("li",null,[t("Kafka: "),e("a",O,[t("https://kafka.apachecn.org/"),n(r)])])]),P,e("ul",null,[e("li",null,[t("Docker官方: "),e("a",W,[t("https://docs.docker.com/get-started"),n(r)])]),e("li",null,[t("Kubernetes中文: "),e("a",X,[t("https://kubernetes.io/zh-cn/docs/home/"),n(r)])])]),Y,e("ul",null,[e("li",null,[t("ElasticSearch : "),e("a",Z,[t("https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html"),n(r)])])]),$,e("ul",null,[e("li",null,[t("Jenkins: "),e("a",ee,[t("https://www.jenkins.io/zh/doc"),n(r)])]),e("li",null,[t("GitHub Actions中文: "),e("a",te,[t("https://docs.github.com/zh/actions"),n(r)])])])])}const le=o(h,[["render",re],["__file","api-docs.html.vue"]]);export{le as default}; diff --git a/assets/api-docs.html-798dd305.js b/assets/api-docs.html-798dd305.js new file mode 100644 index 000000000..b17c7dcc7 --- /dev/null +++ b/assets/api-docs.html-798dd305.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-6707cdf1","path":"/manuscripts/other/api-docs.html","title":"技术文档","lang":"en-US","frontmatter":{"description":"技术文档 知识库 JavaGuide: https://javaguide.cn JavaFamily: https://github.com/AobingJava/JavaFamily Java面试考察: https://www.processon.com/view/5e86b713e4b0bf3ebcf4e376","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/other/api-docs.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"技术文档"}],["meta",{"property":"og:description","content":"技术文档 知识库 JavaGuide: https://javaguide.cn JavaFamily: https://github.com/AobingJava/JavaFamily Java面试考察: https://www.processon.com/view/5e86b713e4b0bf3ebcf4e376"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"技术文档\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"知识库","slug":"知识库","link":"#知识库","children":[]},{"level":3,"title":"代码管理","slug":"代码管理","link":"#代码管理","children":[]},{"level":3,"title":"代码规范","slug":"代码规范","link":"#代码规范","children":[]},{"level":3,"title":"前端","slug":"前端","link":"#前端","children":[{"level":4,"title":"UI框架","slug":"ui框架","link":"#ui框架","children":[]}]},{"level":3,"title":"微信生态","slug":"微信生态","link":"#微信生态","children":[]},{"level":3,"title":"服务端","slug":"服务端","link":"#服务端","children":[{"level":4,"title":"语言","slug":"语言","link":"#语言","children":[]},{"level":4,"title":"框架","slug":"框架","link":"#框架","children":[]},{"level":4,"title":"消息队列","slug":"消息队列","link":"#消息队列","children":[]},{"level":4,"title":"容器相关","slug":"容器相关","link":"#容器相关","children":[]},{"level":4,"title":"ELK相关","slug":"elk相关","link":"#elk相关","children":[]},{"level":4,"title":"CI/CD","slug":"ci-cd","link":"#ci-cd","children":[]}]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.98,"words":195},"filePathRelative":"manuscripts/other/api-docs.md","localizedDate":"September 11, 2023","excerpt":"{const{slotScopeIds:K}=y;K&&(U=U?U.concat(K):K);const S=i(g),q=k(l(g),y,S,V,D,U,O);return q&&Ha(q)&&q.data==="]"?l(y.anchor=q):(js=!0,c(y.anchor=p("]"),S,q),q)},x=(g,y,V,D,U,O)=>{if(js=!0,y.el=null,O){const q=L(g);for(;;){const F=l(g);if(F&&F!==q)r(F);else break}}const K=l(g),S=i(g);return r(g),e(null,y,S,K,V,D,Ma(S),U),K},L=g=>{let y=0;for(;g;)if(g=l(g),g&&Ha(g)&&(g.data==="["&&y++,g.data==="]")){if(y===0)return l(g);y--}return g};return[u,m]}const Wn=Xr;function Pm(n){return Im(n,Rm)}function Im(n,s){const e=sl();e.__VUE__=!0;const{insert:a,remove:t,patchProp:l,createElement:i,createText:r,createComment:c,setText:p,setElementText:u,parentNode:m,nextSibling:v,setScopeId:k=gs,insertStaticContent:_}=n,x=(h,f,E,T=null,R=null,P=null,M=!1,$=null,B=!!f.dynamicChildren)=>{if(h===f)return;h&&!ie(h,f)&&(T=A(h),In(h,R,P,!0),h=null),f.patchFlag===-2&&(B=!1,f.dynamicChildren=null);const{type:I,ref:X,shapeFlag:G}=f;switch(I){case De:L(h,f,E,T);break;case es:g(h,f,E,T);break;case la:h==null&&y(f,E,T,M);break;case Un:z(h,f,E,T,R,P,M,$,B);break;default:G&1?U(h,f,E,T,R,P,M,$,B):G&6?Q(h,f,E,T,R,P,M,$,B):(G&64||G&128)&&I.process(h,f,E,T,R,P,M,$,B,N)}X!=null&&R&&tt(X,h&&h.ref,P,f||h,!f)},L=(h,f,E,T)=>{if(h==null)a(f.el=r(f.children),E,T);else{const R=f.el=h.el;f.children!==h.children&&p(R,f.children)}},g=(h,f,E,T)=>{h==null?a(f.el=c(f.children||""),E,T):f.el=h.el},y=(h,f,E,T)=>{[h.el,h.anchor]=_(h.children,f,E,T,h.el,h.anchor)},V=({el:h,anchor:f},E,T)=>{let R;for(;h&&h!==f;)R=v(h),a(h,E,T),h=R;a(f,E,T)},D=({el:h,anchor:f})=>{let E;for(;h&&h!==f;)E=v(h),t(h),h=E;t(f)},U=(h,f,E,T,R,P,M,$,B)=>{M=M||f.type==="svg",h==null?O(f,E,T,R,P,M,$,B):q(h,f,R,P,M,$,B)},O=(h,f,E,T,R,P,M,$)=>{let B,I;const{type:X,props:G,shapeFlag:Z,transition:nn,dirs:pn}=h;if(B=h.el=i(h.type,P,G&&G.is,G),Z&8?u(B,h.children):Z&16&&S(h.children,B,null,T,R,P&&X!=="foreignObject",M,$),pn&&xs(h,null,T,"created"),K(B,h,h.scopeId,M,T),G){for(const yn in G)yn!=="value"&&!aa(yn)&&l(B,yn,null,G[yn],P,h.children,T,R,Dn);"value"in G&&l(B,"value",null,G.value),(I=G.onVnodeBeforeMount)&&ls(I,T,h)}pn&&xs(h,null,T,"beforeMount");const xn=(!R||R&&!R.pendingBranch)&&nn&&!nn.persisted;xn&&nn.beforeEnter(B),a(B,f,E),((I=G&&G.onVnodeMounted)||xn||pn)&&Wn(()=>{I&&ls(I,T,h),xn&&nn.enter(B),pn&&xs(h,null,T,"mounted")},R)},K=(h,f,E,T,R)=>{if(E&&k(h,E),T)for(let P=0;P{for(let I=B;I {const $=f.el=h.el;let{patchFlag:B,dynamicChildren:I,dirs:X}=f;B|=h.patchFlag&16;const G=h.props||Tn,Z=f.props||Tn;let nn;E&&ae(E,!1),(nn=Z.onVnodeBeforeUpdate)&&ls(nn,E,f,h),X&&xs(f,h,E,"beforeUpdate"),E&&ae(E,!0);const pn=R&&f.type!=="foreignObject";if(I?F(h.dynamicChildren,I,$,E,T,pn,P):M||sn(h,f,$,null,E,T,pn,P,!1),B>0){if(B&16)on($,f,G,Z,E,T,R);else if(B&2&&G.class!==Z.class&&l($,"class",null,Z.class,R),B&4&&l($,"style",G.style,Z.style,R),B&8){const xn=f.dynamicProps;for(let yn=0;yn {nn&&ls(nn,E,f,h),X&&xs(f,h,E,"updated")},T)},F=(h,f,E,T,R,P,M)=>{for(let $=0;$ {if(E!==T){if(E!==Tn)for(const $ in E)!aa($)&&!($ in T)&&l(h,$,E[$],null,M,f.children,R,P,Dn);for(const $ in T){if(aa($))continue;const B=T[$],I=E[$];B!==I&&$!=="value"&&l(h,$,I,B,M,f.children,R,P,Dn)}"value"in T&&l(h,"value",E.value,T.value)}},z=(h,f,E,T,R,P,M,$,B)=>{const I=f.el=h?h.el:r(""),X=f.anchor=h?h.anchor:r("");let{patchFlag:G,dynamicChildren:Z,slotScopeIds:nn}=f;nn&&($=$?$.concat(nn):nn),h==null?(a(I,E,T),a(X,E,T),S(f.children,E,X,R,P,M,$,B)):G>0&&G&64&&Z&&h.dynamicChildren?(F(h.dynamicChildren,Z,E,R,P,M,$),(f.key!=null||R&&f===R.subTree)&&vc(h,f,!0)):sn(h,f,E,X,R,P,M,$,B)},Q=(h,f,E,T,R,P,M,$,B)=>{f.slotScopeIds=$,h==null?f.shapeFlag&512?R.ctx.activate(f,E,T,M,B):J(f,E,T,R,P,M,B):Rn(h,f,B)},J=(h,f,E,T,R,P,M)=>{const $=h.component=Hm(h,T,R);if(Ea(h)&&($.ctx.renderer=N),jm($),$.asyncDep){if(R&&R.registerDep($,cn),!h.el){const B=$.subTree=Pn(es);g(null,B,f,E)}return}cn($,h,f,E,R,P,M)},Rn=(h,f,E)=>{const T=f.component=h.component;if(nm(h,f,E))if(T.asyncDep&&!T.asyncResolved){gn(T,f,E);return}else T.next=f,Gd(T.update),T.update();else f.el=h.el,T.vnode=f},cn=(h,f,E,T,R,P,M)=>{const $=()=>{if(h.isMounted){let{next:X,bu:G,u:Z,parent:nn,vnode:pn}=h,xn=X,yn;ae(h,!1),X?(X.el=pn.el,gn(h,X,M)):X=pn,G&&Wa(G),(yn=X.props&&X.props.onVnodeBeforeUpdate)&&ls(yn,nn,X,pn),ae(h,!0);const Vn=Pt(h),ms=h.subTree;h.subTree=Vn,x(ms,Vn,m(ms.el),A(ms),h,R,P),X.el=Vn.el,xn===null&&sm(h,Vn.el),Z&&Wn(Z,R),(yn=X.props&&X.props.onVnodeUpdated)&&Wn(()=>ls(yn,nn,X,pn),R)}else{let X;const{el:G,props:Z}=f,{bm:nn,m:pn,parent:xn}=h,yn=Re(f);if(ae(h,!1),nn&&Wa(nn),!yn&&(X=Z&&Z.onVnodeBeforeMount)&&ls(X,xn,f),ae(h,!0),G&&kn){const Vn=()=>{h.subTree=Pt(h),kn(G,h.subTree,h,R,null)};yn?f.type.__asyncLoader().then(()=>!h.isUnmounted&&Vn()):Vn()}else{const Vn=h.subTree=Pt(h);x(null,Vn,E,T,h,R,P),f.el=Vn.el}if(pn&&Wn(pn,R),!yn&&(X=Z&&Z.onVnodeMounted)){const Vn=f;Wn(()=>ls(X,xn,Vn),R)}(f.shapeFlag&256||xn&&Re(xn.vnode)&&xn.vnode.shapeFlag&256)&&h.a&&Wn(h.a,R),h.isMounted=!0,f=E=T=null}},B=h.effect=new Nl($,()=>dt(I),h.scope),I=h.update=()=>B.run();I.id=h.uid,ae(h,!0),I()},gn=(h,f,E)=>{f.component=h;const T=h.vnode.props;h.vnode=f,h.next=null,Lm(h,f.props,T,E),Sm(h,f.children,E),je(),Xi(),Fe()},sn=(h,f,E,T,R,P,M,$,B=!1)=>{const I=h&&h.children,X=h?h.shapeFlag:0,G=f.children,{patchFlag:Z,shapeFlag:nn}=f;if(Z>0){if(Z&128){ws(I,G,E,T,R,P,M,$,B);return}else if(Z&256){ds(I,G,E,T,R,P,M,$,B);return}}nn&8?(X&16&&Dn(I,R,P),G!==I&&u(E,G)):X&16?nn&16?ws(I,G,E,T,R,P,M,$,B):Dn(I,R,P,!0):(X&8&&u(E,""),nn&16&&S(G,E,T,R,P,M,$,B))},ds=(h,f,E,T,R,P,M,$,B)=>{h=h||Le,f=f||Le;const I=h.length,X=f.length,G=Math.min(I,X);let Z;for(Z=0;Z X?Dn(h,R,P,!0,!1,G):S(f,E,T,R,P,M,$,B,G)},ws=(h,f,E,T,R,P,M,$,B)=>{let I=0;const X=f.length;let G=h.length-1,Z=X-1;for(;I<=G&&I<=Z;){const nn=h[I],pn=f[I]=B?Us(f[I]):ks(f[I]);if(ie(nn,pn))x(nn,pn,E,null,R,P,M,$,B);else break;I++}for(;I<=G&&I<=Z;){const nn=h[G],pn=f[Z]=B?Us(f[Z]):ks(f[Z]);if(ie(nn,pn))x(nn,pn,E,null,R,P,M,$,B);else break;G--,Z--}if(I>G){if(I<=Z){const nn=Z+1,pn=nn Z)for(;I<=G;)In(h[I],R,P,!0),I++;else{const nn=I,pn=I,xn=new Map;for(I=pn;I<=Z;I++){const Qn=f[I]=B?Us(f[I]):ks(f[I]);Qn.key!=null&&xn.set(Qn.key,I)}let yn,Vn=0;const ms=Z-pn+1;let fe=!1,Mi=0;const Ye=new Array(ms);for(I=0;I =ms){In(Qn,R,P,!0);continue}let Es;if(Qn.key!=null)Es=xn.get(Qn.key);else for(yn=pn;yn<=Z;yn++)if(Ye[yn-pn]===0&&ie(Qn,f[yn])){Es=yn;break}Es===void 0?In(Qn,R,P,!0):(Ye[Es-pn]=I+1,Es>=Mi?Mi=Es:fe=!0,x(Qn,f[Es],E,null,R,P,M,$,B),Vn++)}const Hi=fe?Cm(Ye):Le;for(yn=Hi.length-1,I=ms-1;I>=0;I--){const Qn=pn+I,Es=f[Qn],ji=Qn+1 {const{el:P,type:M,transition:$,children:B,shapeFlag:I}=h;if(I&6){Gn(h.component.subTree,f,E,T);return}if(I&128){h.suspense.move(f,E,T);return}if(I&64){M.move(h,f,E,N);return}if(M===Un){a(P,f,E);for(let G=0;G $.enter(P),R);else{const{leave:G,delayLeave:Z,afterLeave:nn}=$,pn=()=>a(P,f,E),xn=()=>{G(P,()=>{pn(),nn&&nn()})};Z?Z(P,pn,xn):xn()}else a(P,f,E)},In=(h,f,E,T=!1,R=!1)=>{const{type:P,props:M,ref:$,children:B,dynamicChildren:I,shapeFlag:X,patchFlag:G,dirs:Z}=h;if($!=null&&tt($,null,E,h,!0),X&256){f.ctx.deactivate(h);return}const nn=X&1&&Z,pn=!Re(h);let xn;if(pn&&(xn=M&&M.onVnodeBeforeUnmount)&&ls(xn,f,h),X&6)Ms(h.component,E,T);else{if(X&128){h.suspense.unmount(E,T);return}nn&&xs(h,null,f,"beforeUnmount"),X&64?h.type.remove(h,f,E,R,N,T):I&&(P!==Un||G>0&&G&64)?Dn(I,f,E,!1,!0):(P===Un&&G&384||!R&&X&16)&&Dn(B,f,E),T&&Ps(h)}(pn&&(xn=M&&M.onVnodeUnmounted)||nn)&&Wn(()=>{xn&&ls(xn,f,h),nn&&xs(h,null,f,"unmounted")},E)},Ps=h=>{const{type:f,el:E,anchor:T,transition:R}=h;if(f===Un){as(E,T);return}if(f===la){D(h);return}const P=()=>{t(E),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(h.shapeFlag&1&&R&&!R.persisted){const{leave:M,delayLeave:$}=R,B=()=>M(E,P);$?$(h.el,P,B):B()}else P()},as=(h,f)=>{let E;for(;h!==f;)E=v(h),t(h),h=E;t(f)},Ms=(h,f,E)=>{const{bum:T,scope:R,update:P,subTree:M,um:$}=h;T&&Wa(T),R.stop(),P&&(P.active=!1,In(M,h,f,E)),$&&Wn($,f),Wn(()=>{h.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},Dn=(h,f,E,T=!1,R=!1,P=0)=>{for(let M=P;M h.shapeFlag&6?A(h.component.subTree):h.shapeFlag&128?h.suspense.next():v(h.anchor||h.el),H=(h,f,E)=>{h==null?f._vnode&&In(f._vnode,null,null,!0):x(f._vnode||null,h,f,null,null,null,E),Xi(),nt(),f._vnode=h},N={p:x,um:In,m:Gn,r:Ps,mt:J,mc:S,pc:sn,pbc:F,n:A,o:n};let W,kn;return s&&([W,kn]=s(N)),{render:H,hydrate:W,createApp:Em(H,W)}}function ae({effect:n,update:s},e){n.allowRecurse=s.allowRecurse=e}function vc(n,s,e=!1){const a=n.children,t=s.children;if(Y(a)&&Y(t))for(let l=0;l >1,n[e[r]] 0&&(s[a]=e[l-1]),e[l]=a)}}for(l=e.length,i=e[l-1];l-- >0;)e[l]=i,i=s[i];return e}const Om=n=>n.__isTeleport,Un=Symbol.for("v-fgt"),De=Symbol.for("v-txt"),es=Symbol.for("v-cmt"),la=Symbol.for("v-stc"),ia=[];let fs=null;function kc(n=!1){ia.push(fs=n?null:[])}function Dm(){ia.pop(),fs=ia[ia.length-1]||null}let ba=1;function co(n){ba+=n}function bc(n){return n.dynamicChildren=ba>0?fs||Le:null,Dm(),ba>0&&fs&&fs.push(n),n}function J2(n,s,e,a,t,l){return bc(gc(n,s,e,a,t,l,!0))}function hc(n,s,e,a,t){return bc(Pn(n,s,e,a,t,!0))}function lt(n){return n?n.__v_isVNode===!0:!1}function ie(n,s){return n.type===s.type&&n.key===s.key}const bt="__vInternal",fc=({key:n})=>n??null,Ka=({ref:n,ref_key:s,ref_for:e})=>(typeof n=="number"&&(n=""+n),n!=null?tn(n)||Nn(n)||en(n)?{i:Hn,r:n,k:s,f:!!e}:n:null);function gc(n,s=null,e=null,a=0,t=null,l=n===Un?0:1,i=!1,r=!1){const c={__v_isVNode:!0,__v_skip:!0,type:n,props:s,key:s&&fc(s),ref:s&&Ka(s),scopeId:vt,slotScopeIds:null,children:e,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:a,dynamicProps:t,dynamicChildren:null,appContext:null,ctx:Hn};return r?(Zl(c,e),l&128&&n.normalize(c)):e&&(c.shapeFlag|=tn(e)?8:16),ba>0&&!i&&fs&&(c.patchFlag>0||l&6)&&c.patchFlag!==32&&fs.push(c),c}const Pn=Vm;function Vm(n,s=null,e=null,a=0,t=null,l=!1){if((!n||n===vm)&&(n=es),lt(n)){const r=Xs(n,s,!0);return e&&Zl(r,e),ba>0&&!l&&fs&&(r.shapeFlag&6?fs[fs.indexOf(n)]=r:fs.push(r)),r.patchFlag|=-2,r}if(Jm(n)&&(n=n.__vccOpts),s){s=$m(s);let{class:r,style:c}=s;r&&!tn(r)&&(s.class=Vl(r)),Ln(c)&&(Fr(c)&&!Y(c)&&(c=On({},c)),s.style=Dl(c))}const i=tn(n)?1:em(n)?128:Om(n)?64:Ln(n)?4:en(n)?2:0;return gc(n,s,e,a,t,i,l,!0)}function $m(n){return n?Fr(n)||bt in n?On({},n):n:null}function Xs(n,s,e=!1){const{props:a,ref:t,patchFlag:l,children:i}=n,r=s?Nm(a||{},s):a;return{__v_isVNode:!0,__v_skip:!0,type:n.type,props:r,key:r&&fc(r),ref:s&&s.ref?e&&t?Y(t)?t.concat(Ka(s)):[t,Ka(s)]:Ka(s):t,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:i,target:n.target,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:s&&n.type!==Un?l===-1?16:l|16:l,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:n.transition,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&Xs(n.ssContent),ssFallback:n.ssFallback&&Xs(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce}}function _c(n=" ",s=0){return Pn(De,null,n,s)}function G2(n,s){const e=Pn(la,null,n);return e.staticCount=s,e}function W2(n="",s=!1){return s?(kc(),hc(es,null,n)):Pn(es,null,n)}function ks(n){return n==null||typeof n=="boolean"?Pn(es):Y(n)?Pn(Un,null,n.slice()):typeof n=="object"?Us(n):Pn(De,null,String(n))}function Us(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:Xs(n)}function Zl(n,s){let e=0;const{shapeFlag:a}=n;if(s==null)s=null;else if(Y(s))e=16;else if(typeof s=="object")if(a&65){const t=s.default;t&&(t._c&&(t._d=!1),Zl(n,t()),t._c&&(t._d=!0));return}else{e=32;const t=s._;!t&&!(bt in s)?s._ctx=Hn:t===3&&Hn&&(Hn.slots._===1?s._=1:(s._=2,n.patchFlag|=1024))}else en(s)?(s={default:s,_ctx:Hn},e=32):(s=String(s),a&64?(e=16,s=[_c(s)]):e=8);n.children=s,n.shapeFlag|=e}function Nm(...n){const s={};for(let e=0;e
Mn||Hn;let Ql,ge,po="__VUE_INSTANCE_SETTERS__";(ge=sl()[po])||(ge=sl()[po]=[]),ge.push(n=>Mn=n),Ql=n=>{ge.length>1?ge.forEach(s=>s(n)):ge[0](n)};const Ve=n=>{Ql(n),n.scope.on()},pe=()=>{Mn&&Mn.scope.off(),Ql(null)};function yc(n){return n.vnode.shapeFlag&4}let $e=!1;function jm(n,s=!1){$e=s;const{props:e,children:a}=n.vnode,t=yc(n);xm(n,e,t,s),Am(n,a);const l=t?Fm(n,s):void 0;return $e=!1,l}function Fm(n,s){const e=n.type;n.accessCache=Object.create(null),n.proxy=zr(new Proxy(n.ctx,bm));const{setup:a}=e;if(a){const t=n.setupContext=a.length>1?qm(n):null;Ve(n),je();const l=Ks(a,n,0,[n.props,t]);if(Fe(),pe(),Lr(l)){if(l.then(pe,pe),s)return l.then(i=>{uo(n,i,s)}).catch(i=>{wa(i,n,0)});n.asyncDep=l}else uo(n,l,s)}else wc(n,s)}function uo(n,s,e){en(s)?n.type.__ssrInlineRender?n.ssrRender=s:n.render=s:Ln(s)&&(n.setupState=Ur(s)),wc(n,e)}let mo;function wc(n,s,e){const a=n.type;if(!n.render){if(!s&&mo&&!a.render){const t=a.template||Yl(n).template;if(t){const{isCustomElement:l,compilerOptions:i}=n.appContext.config,{delimiters:r,compilerOptions:c}=a,p=On(On({isCustomElement:l,delimiters:r},i),c);a.render=mo(t,p)}}n.render=a.render||gs}Ve(n),je(),hm(n),Fe(),pe()}function zm(n){return n.attrsProxy||(n.attrsProxy=new Proxy(n.attrs,{get(s,e){return Xn(n,"get","$attrs"),s[e]}}))}function qm(n){const s=e=>{n.exposed=e||{}};return{get attrs(){return zm(n)},slots:n.slots,emit:n.emit,expose:s}}function ht(n){if(n.exposed)return n.exposeProxy||(n.exposeProxy=new Proxy(Ur(zr(n.exposed)),{get(s,e){if(e in s)return s[e];if(e in ta)return ta[e](n)},has(s,e){return e in s||e in ta}}))}function Um(n,s=!0){return en(n)?n.displayName||n.name:n.name||s&&n.__name}function Jm(n){return en(n)&&"__vccOpts"in n}const w=(n,s)=>qd(n,s,$e);function o(n,s,e){const a=arguments.length;return a===2?Ln(s)&&!Y(s)?lt(s)?Pn(n,null,[s]):Pn(n,s):Pn(n,null,s):(a>3?e=Array.prototype.slice.call(arguments,2):a===3&<(e)&&(e=[e]),Pn(n,s,e))}const Gm=Symbol.for("v-scx"),Wm=()=>mn(Gm),Km="3.3.4",Ym="http://www.w3.org/2000/svg",oe=typeof document<"u"?document:null,vo=oe&&oe.createElement("template"),Xm={insert:(n,s,e)=>{s.insertBefore(n,e||null)},remove:n=>{const s=n.parentNode;s&&s.removeChild(n)},createElement:(n,s,e,a)=>{const t=s?oe.createElementNS(Ym,n):oe.createElement(n,e?{is:e}:void 0);return n==="select"&&a&&a.multiple!=null&&t.setAttribute("multiple",a.multiple),t},createText:n=>oe.createTextNode(n),createComment:n=>oe.createComment(n),setText:(n,s)=>{n.nodeValue=s},setElementText:(n,s)=>{n.textContent=s},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>oe.querySelector(n),setScopeId(n,s){n.setAttribute(s,"")},insertStaticContent(n,s,e,a,t,l){const i=e?e.previousSibling:s.lastChild;if(t&&(t===l||t.nextSibling))for(;s.insertBefore(t.cloneNode(!0),e),!(t===l||!(t=t.nextSibling)););else{vo.innerHTML=a?``:n;const r=vo.content;if(a){const c=r.firstChild;for(;c.firstChild;)r.appendChild(c.firstChild);r.removeChild(c)}s.insertBefore(r,e)}return[i?i.nextSibling:s.firstChild,e?e.previousSibling:s.lastChild]}};function Zm(n,s,e){const a=n._vtc;a&&(s=(s?[s,...a]:[...a]).join(" ")),s==null?n.removeAttribute("class"):e?n.setAttribute("class",s):n.className=s}function Qm(n,s,e){const a=n.style,t=tn(e);if(e&&!t){if(s&&!tn(s))for(const l in s)e[l]==null&&pl(a,l,"");for(const l in e)pl(a,l,e[l])}else{const l=a.display;t?s!==e&&(a.cssText=e):s&&n.removeAttribute("style"),"_vod"in n&&(a.display=l)}}const ko=/\s*!important$/;function pl(n,s,e){if(Y(e))e.forEach(a=>pl(n,s,a));else if(e==null&&(e=""),s.startsWith("--"))n.setProperty(s,e);else{const a=nv(n,s);ko.test(e)?n.setProperty(ue(a),e.replace(ko,""),"important"):n[a]=e}}const bo=["Webkit","Moz","ms"],Dt={};function nv(n,s){const e=Dt[s];if(e)return e;let a=ps(s);if(a!=="filter"&&a in n)return Dt[s]=a;a=_a(a);for(let t=0;t Vt||(iv.then(()=>Vt=0),Vt=Date.now());function rv(n,s){const e=a=>{if(!a._vts)a._vts=Date.now();else if(a._vts<=e.attached)return;rs(cv(a,e.value),s,5,[a])};return e.value=n,e.attached=ov(),e}function cv(n,s){if(Y(s)){const e=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{e.call(n),n._stopped=!0},s.map(a=>t=>!t._stopped&&a&&a(t))}else return s}const go=/^on[a-z]/,pv=(n,s,e,a,t=!1,l,i,r,c)=>{s==="class"?Zm(n,a,t):s==="style"?Qm(n,e,a):ga(s)?Pl(s)||tv(n,s,e,a,i):(s[0]==="."?(s=s.slice(1),!0):s[0]==="^"?(s=s.slice(1),!1):uv(n,s,a,t))?ev(n,s,a,l,i,r,c):(s==="true-value"?n._trueValue=a:s==="false-value"&&(n._falseValue=a),sv(n,s,a,t))};function uv(n,s,e,a){return a?!!(s==="innerHTML"||s==="textContent"||s in n&&go.test(s)&&en(e)):s==="spellcheck"||s==="draggable"||s==="translate"||s==="form"||s==="list"&&n.tagName==="INPUT"||s==="type"&&n.tagName==="TEXTAREA"||go.test(s)&&tn(e)?!1:s in n}const Fs="transition",Ze="animation",Zs=(n,{slots:s})=>o(lm,xc(n),s);Zs.displayName="Transition";const Ec={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},dv=Zs.props=On({},sc,Ec),te=(n,s=[])=>{Y(n)?n.forEach(e=>e(...s)):n&&n(...s)},_o=n=>n?Y(n)?n.some(s=>s.length>1):n.length>1:!1;function xc(n){const s={};for(const z in n)z in Ec||(s[z]=n[z]);if(n.css===!1)return s;const{name:e="v",type:a,duration:t,enterFromClass:l=`${e}-enter-from`,enterActiveClass:i=`${e}-enter-active`,enterToClass:r=`${e}-enter-to`,appearFromClass:c=l,appearActiveClass:p=i,appearToClass:u=r,leaveFromClass:m=`${e}-leave-from`,leaveActiveClass:v=`${e}-leave-active`,leaveToClass:k=`${e}-leave-to`}=n,_=mv(t),x=_&&_[0],L=_&&_[1],{onBeforeEnter:g,onEnter:y,onEnterCancelled:V,onLeave:D,onLeaveCancelled:U,onBeforeAppear:O=g,onAppear:K=y,onAppearCancelled:S=V}=s,q=(z,Q,J)=>{qs(z,Q?u:r),qs(z,Q?p:i),J&&J()},F=(z,Q)=>{z._isLeaving=!1,qs(z,m),qs(z,k),qs(z,v),Q&&Q()},on=z=>(Q,J)=>{const Rn=z?K:y,cn=()=>q(Q,z,J);te(Rn,[Q,cn]),yo(()=>{qs(Q,z?c:l),Cs(Q,z?u:r),_o(Rn)||wo(Q,a,x,cn)})};return On(s,{onBeforeEnter(z){te(g,[z]),Cs(z,l),Cs(z,i)},onBeforeAppear(z){te(O,[z]),Cs(z,c),Cs(z,p)},onEnter:on(!1),onAppear:on(!0),onLeave(z,Q){z._isLeaving=!0;const J=()=>F(z,Q);Cs(z,m),Tc(),Cs(z,v),yo(()=>{z._isLeaving&&(qs(z,m),Cs(z,k),_o(D)||wo(z,a,L,J))}),te(D,[z,J])},onEnterCancelled(z){q(z,!1),te(V,[z])},onAppearCancelled(z){q(z,!0),te(S,[z])},onLeaveCancelled(z){F(z),te(U,[z])}})}function mv(n){if(n==null)return null;if(Ln(n))return[$t(n.enter),$t(n.leave)];{const s=$t(n);return[s,s]}}function $t(n){return nd(n)}function Cs(n,s){s.split(/\s+/).forEach(e=>e&&n.classList.add(e)),(n._vtc||(n._vtc=new Set)).add(s)}function qs(n,s){s.split(/\s+/).forEach(a=>a&&n.classList.remove(a));const{_vtc:e}=n;e&&(e.delete(s),e.size||(n._vtc=void 0))}function yo(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let vv=0;function wo(n,s,e,a){const t=n._endId=++vv,l=()=>{t===n._endId&&a()};if(e)return setTimeout(l,e);const{type:i,timeout:r,propCount:c}=Lc(n,s);if(!i)return a();const p=i+"end";let u=0;const m=()=>{n.removeEventListener(p,v),l()},v=k=>{k.target===n&&++u>=c&&m()};setTimeout(()=>{u (e[_]||"").split(", "),t=a(`${Fs}Delay`),l=a(`${Fs}Duration`),i=Eo(t,l),r=a(`${Ze}Delay`),c=a(`${Ze}Duration`),p=Eo(r,c);let u=null,m=0,v=0;s===Fs?i>0&&(u=Fs,m=i,v=l.length):s===Ze?p>0&&(u=Ze,m=p,v=c.length):(m=Math.max(i,p),u=m>0?i>p?Fs:Ze:null,v=u?u===Fs?l.length:c.length:0);const k=u===Fs&&/\b(transform|all)(,|$)/.test(a(`${Fs}Property`).toString());return{type:u,timeout:m,propCount:v,hasTransform:k}}function Eo(n,s){for(;n.length xo(e)+xo(n[a])))}function xo(n){return Number(n.slice(0,-1).replace(",","."))*1e3}function Tc(){return document.body.offsetHeight}const Ac=new WeakMap,Sc=new WeakMap,Rc={name:"TransitionGroup",props:On({},dv,{tag:String,moveClass:String}),setup(n,{slots:s}){const e=ke(),a=nc();let t,l;return tc(()=>{if(!t.length)return;const i=n.moveClass||`${n.name||"v"}-move`;if(!gv(t[0].el,e.vnode.el,i))return;t.forEach(bv),t.forEach(hv);const r=t.filter(fv);Tc(),r.forEach(c=>{const p=c.el,u=p.style;Cs(p,i),u.transform=u.webkitTransform=u.transitionDuration="";const m=p._moveCb=v=>{v&&v.target!==p||(!v||/transform$/.test(v.propertyName))&&(p.removeEventListener("transitionend",m),p._moveCb=null,qs(p,i))};p.addEventListener("transitionend",m)})}),()=>{const i=dn(n),r=xc(i);let c=i.tag||Un;t=l,l=s.default?Gl(s.default()):[];for(let p=0;p delete n.mode;Rc.props;const Pc=Rc;function bv(n){const s=n.el;s._moveCb&&s._moveCb(),s._enterCb&&s._enterCb()}function hv(n){Sc.set(n,n.el.getBoundingClientRect())}function fv(n){const s=Ac.get(n),e=Sc.get(n),a=s.left-e.left,t=s.top-e.top;if(a||t){const l=n.el.style;return l.transform=l.webkitTransform=`translate(${a}px,${t}px)`,l.transitionDuration="0s",n}}function gv(n,s,e){const a=n.cloneNode();n._vtc&&n._vtc.forEach(i=>{i.split(/\s+/).forEach(r=>r&&a.classList.remove(r))}),e.split(/\s+/).forEach(i=>i&&a.classList.add(i)),a.style.display="none";const t=s.nodeType===1?s:s.parentNode;t.appendChild(a);const{hasTransform:l}=Lc(a);return t.removeChild(a),l}const Lo=n=>{const s=n.props["onUpdate:modelValue"]||!1;return Y(s)?e=>Wa(s,e):s};function _v(n){n.target.composing=!0}function To(n){const s=n.target;s.composing&&(s.composing=!1,s.dispatchEvent(new Event("input")))}const K2={created(n,{modifiers:{lazy:s,trim:e,number:a}},t){n._assign=Lo(t);const l=a||t.props&&t.props.type==="number";ye(n,s?"change":"input",i=>{if(i.target.composing)return;let r=n.value;e&&(r=r.trim()),l&&(r=nl(r)),n._assign(r)}),e&&ye(n,"change",()=>{n.value=n.value.trim()}),s||(ye(n,"compositionstart",_v),ye(n,"compositionend",To),ye(n,"change",To))},mounted(n,{value:s}){n.value=s??""},beforeUpdate(n,{value:s,modifiers:{lazy:e,trim:a,number:t}},l){if(n._assign=Lo(l),n.composing||document.activeElement===n&&n.type!=="range"&&(e||a&&n.value.trim()===s||(t||n.type==="number")&&nl(n.value)===s))return;const i=s??"";n.value!==i&&(n.value=i)}},yv=["ctrl","shift","alt","meta"],wv={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&n.button!==0,middle:n=>"button"in n&&n.button!==1,right:n=>"button"in n&&n.button!==2,exact:(n,s)=>yv.some(e=>n[`${e}Key`]&&!s.includes(e))},Y2=(n,s)=>(e,...a)=>{for(let t=0;t e=>{if(!("key"in e))return;const a=ue(e.key);if(s.some(t=>t===a||Ev[t]===a))return n(e)},Z2={beforeMount(n,{value:s},{transition:e}){n._vod=n.style.display==="none"?"":n.style.display,e&&s?e.beforeEnter(n):Qe(n,s)},mounted(n,{value:s},{transition:e}){e&&s&&e.enter(n)},updated(n,{value:s,oldValue:e},{transition:a}){!s!=!e&&(a?s?(a.beforeEnter(n),Qe(n,!0),a.enter(n)):a.leave(n,()=>{Qe(n,!1)}):Qe(n,s))},beforeUnmount(n,{value:s}){Qe(n,s)}};function Qe(n,s){n.style.display=s?n._vod:"none"}const xv=On({patchProp:pv},Xm);let Nt,Ao=!1;function Lv(){return Nt=Ao?Nt:Pm(xv),Ao=!0,Nt}const Tv=(...n)=>{const s=Lv().createApp(...n),{mount:e}=s;return s.mount=a=>{const t=Av(a);if(t)return e(t,!0,t instanceof SVGElement)},s};function Av(n){return tn(n)?document.querySelector(n):n}const Sv={"v-96f5eae0":()=>d(()=>import("./quick-start.html-569fc012.js"),[]).then(({data:n})=>n),"v-8daa1a0e":()=>d(()=>import("./index.html-8367af1c.js"),[]).then(({data:n})=>n),"v-fe8a3626":()=>d(()=>import("./good-idea.html-dbe18dee.js"),[]).then(({data:n})=>n),"v-1fda7368":()=>d(()=>import("./index.html-b927467e.js"),[]).then(({data:n})=>n),"v-5ab53f29":()=>d(()=>import("./index.html-1aeb9446.js"),[]).then(({data:n})=>n),"v-245c2313":()=>d(()=>import("./index.html-805297c7.js"),[]).then(({data:n})=>n),"v-b7b8ea24":()=>d(()=>import("./job-poster-bytedance.html-3bd23faf.js"),[]).then(({data:n})=>n),"v-51375ce0":()=>d(()=>import("./index.html-e3629607.js"),[]).then(({data:n})=>n),"v-9adcc5d4":()=>d(()=>import("./docker.html-cb343145.js"),[]).then(({data:n})=>n),"v-5ec11fca":()=>d(()=>import("./egg-grpc-client.html-6993c976.js"),[]).then(({data:n})=>n),"v-3be44f52":()=>d(()=>import("./egg-grpc-server.html-0d0cd8a5.js"),[]).then(({data:n})=>n),"v-f584fdd0":()=>d(()=>import("./grpc.html-2ccd1585.js"),[]).then(({data:n})=>n),"v-2886c41a":()=>d(()=>import("./node-grpc.html-c6ab410b.js"),[]).then(({data:n})=>n),"v-41fb3c7a":()=>d(()=>import("./index.html-f0fe060e.js"),[]).then(({data:n})=>n),"v-6707cdf1":()=>d(()=>import("./api-docs.html-798dd305.js"),[]).then(({data:n})=>n),"v-68331a78":()=>d(()=>import("./change-log.html-fe192501.js"),[]).then(({data:n})=>n),"v-66532444":()=>d(()=>import("./frequent-site-link.html-17b9206d.js"),[]).then(({data:n})=>n),"v-43fe13da":()=>d(()=>import("./index.html-90652a92.js"),[]).then(({data:n})=>n),"v-3651bc8e":()=>d(()=>import("./todo-list.html-3bd9a2db.js"),[]).then(({data:n})=>n),"v-67a998ee":()=>d(()=>import("./wechat-list.html-55400197.js"),[]).then(({data:n})=>n),"v-7ebffb01":()=>d(()=>import("./index.html-09a4c356.js"),[]).then(({data:n})=>n),"v-37edb9ba":()=>d(()=>import("./index.html-583a2ef3.js"),[]).then(({data:n})=>n),"v-68cc8c50":()=>d(()=>import("./question-collections.html-9381a778.js"),[]).then(({data:n})=>n),"v-7e4cd0f3":()=>d(()=>import("./index.html-5d7a3138.js"),[]).then(({data:n})=>n),"v-adce7ae8":()=>d(()=>import("./template.html-7e8db519.js"),[]).then(({data:n})=>n),"v-724309f3":()=>d(()=>import("./index.html-5e60f9be.js"),[]).then(({data:n})=>n),"v-c389164c":()=>d(()=>import("./MySQL面试.html-d44685ef.js"),[]).then(({data:n})=>n),"v-0c788a7c":()=>d(()=>import("./Nginx面试.html-40952189.js"),[]).then(({data:n})=>n),"v-23616894":()=>d(()=>import("./Node面试.html-b8f0c177.js"),[]).then(({data:n})=>n),"v-0fa1307e":()=>d(()=>import("./乐观锁与悲观锁.html-8793f369.js"),[]).then(({data:n})=>n),"v-131cc465":()=>d(()=>import("./前端常考.html-afff4695.js"),[]).then(({data:n})=>n),"v-2ca4c15e":()=>d(()=>import("./后端汇总.html-eb9e2714.js"),[]).then(({data:n})=>n),"v-5393c326":()=>d(()=>import("./接口幂等.html-9de26588.js"),[]).then(({data:n})=>n),"v-863526f4":()=>d(()=>import("./git-branch-rule.html-38b35066.js"),[]).then(({data:n})=>n),"v-61a9b9db":()=>d(()=>import("./git-commit-rule.html-5c50e16f.js"),[]).then(({data:n})=>n),"v-38a9e955":()=>d(()=>import("./git-info-reset.html-c020cbab.js"),[]).then(({data:n})=>n),"v-4feabcc0":()=>d(()=>import("./git.html-904ef50c.js"),[]).then(({data:n})=>n),"v-2b08f18d":()=>d(()=>import("./github-actions.html-8aeadcb0.js"),[]).then(({data:n})=>n),"v-de4f2bfc":()=>d(()=>import("./github-ci.html-55f00482.js"),[]).then(({data:n})=>n),"v-1c2923bd":()=>d(()=>import("./github.html-1626e030.js"),[]).then(({data:n})=>n),"v-3e5681dc":()=>d(()=>import("./jenkins.html-5022a158.js"),[]).then(({data:n})=>n),"v-5877be1a":()=>d(()=>import("./eslint.html-b484daaa.js"),[]).then(({data:n})=>n),"v-05aea191":()=>d(()=>import("./prettier.html-f390763e.js"),[]).then(({data:n})=>n),"v-72fb4949":()=>d(()=>import("./pnpm-style.html-02ea718d.js"),[]).then(({data:n})=>n),"v-8e4a794c":()=>d(()=>import("./turboRepo.html-53f48e8c.js"),[]).then(({data:n})=>n),"v-d18f6dca":()=>d(()=>import("./npm.html-e0d960e9.js"),[]).then(({data:n})=>n),"v-a0d69ade":()=>d(()=>import("./pnpm.html-3648e8fd.js"),[]).then(({data:n})=>n),"v-018e7351":()=>d(()=>import("./index.html-96f47a32.js"),[]).then(({data:n})=>n),"v-89bd2e5a":()=>d(()=>import("./upic.html-89a87a34.js"),[]).then(({data:n})=>n),"v-d44de036":()=>d(()=>import("./css.html-6c0c35e6.js"),[]).then(({data:n})=>n),"v-c89eaa82":()=>d(()=>import("./html.html-c1410d01.js"),[]).then(({data:n})=>n),"v-bd15cd06":()=>d(()=>import("./javascript.html-6b121ee4.js"),[]).then(({data:n})=>n),"v-0b7f3528":()=>d(()=>import("./index.html-b8bb9e4e.js"),[]).then(({data:n})=>n),"v-105fade2":()=>d(()=>import("./front-end-server.html-38e4fd83.js"),[]).then(({data:n})=>n),"v-1cd98e26":()=>d(()=>import("./static-nginx.html-e18ada2d.js"),[]).then(({data:n})=>n),"v-2e4d3a97":()=>d(()=>import("./index.html-9d83cb8a.js"),[]).then(({data:n})=>n),"v-bfd7d336":()=>d(()=>import("./ant-design-vue.html-45df9141.js"),[]).then(({data:n})=>n),"v-0f57d97d":()=>d(()=>import("./element-ui.html-a8d7b48b.js"),[]).then(({data:n})=>n),"v-c8c65136":()=>d(()=>import("./iview-design.html-d18fb9c2.js"),[]).then(({data:n})=>n),"v-2728f912":()=>d(()=>import("./layer-ui.html-7bf8aea8.js"),[]).then(({data:n})=>n),"v-77440280":()=>d(()=>import("./vant-ui.html-a416da85.js"),[]).then(({data:n})=>n),"v-6eba6584":()=>d(()=>import("./分布式消息中间件实践.html-8a5bf092.js"),[]).then(({data:n})=>n),"v-337a531d":()=>d(()=>import("./深入浅出的Node.js.html-e677563b.js"),[]).then(({data:n})=>n),"v-712babd4":()=>d(()=>import("./狼书.html-be5535ee.js"),[]).then(({data:n})=>n),"v-0bc3da9b":()=>d(()=>import("./good-love.html-ee5bd72c.js"),[]).then(({data:n})=>n),"v-702c6586":()=>d(()=>import("./hello-alone.html-6ec62737.js"),[]).then(({data:n})=>n),"v-faf27d94":()=>d(()=>import("./nginx-gzip.html-02853387.js"),[]).then(({data:n})=>n),"v-2b3b4795":()=>d(()=>import("./ssl-install.html-55a7d048.js"),[]).then(({data:n})=>n),"v-1ddc5b5e":()=>d(()=>import("./index.html-6decd21b.js"),[]).then(({data:n})=>n),"v-77e335b5":()=>d(()=>import("./docker-compose.html-4ad144cd.js"),[]).then(({data:n})=>n),"v-36092f4c":()=>d(()=>import("./docker.html-dea6691a.js"),[]).then(({data:n})=>n),"v-66785044":()=>d(()=>import("./dockerfile.html-e9baaba7.js"),[]).then(({data:n})=>n),"v-3f7ffa34":()=>d(()=>import("./egg-cluster.html-57340628.js"),[]).then(({data:n})=>n),"v-50afd69d":()=>d(()=>import("./install.html-13be9f4a.js"),[]).then(({data:n})=>n),"v-368ff623":()=>d(()=>import("./pm2.html-74fc03b2.js"),[]).then(({data:n})=>n),"v-b2470cec":()=>d(()=>import("./index.html-bebab147.js"),[]).then(({data:n})=>n),"v-84a3bd58":()=>d(()=>import("./index.html-42da5c26.js"),[]).then(({data:n})=>n),"v-edf2cb9e":()=>d(()=>import("./egg-learn.html-b021ccb9.js"),[]).then(({data:n})=>n),"v-00bd7854":()=>d(()=>import("./nest-learn.html-69da38de.js"),[]).then(({data:n})=>n),"v-d1341d06":()=>d(()=>import("./base-cmd.html-e738eac4.js"),[]).then(({data:n})=>n),"v-7cbebd4f":()=>d(()=>import("./curl.html-bafc125e.js"),[]).then(({data:n})=>n),"v-8d24e7a2":()=>d(()=>import("./package-manage.html-31cb1353.js"),[]).then(({data:n})=>n),"v-6d23ca9e":()=>d(()=>import("./index.html-0f4c03b8.js"),[]).then(({data:n})=>n),"v-0f464472":()=>d(()=>import("./shell.html-cd3eebf3.js"),[]).then(({data:n})=>n),"v-1fce2e03":()=>d(()=>import("./soft-install.html-c99ffe1f.js"),[]).then(({data:n})=>n),"v-6ce8c59d":()=>d(()=>import("./vim.html-839620f1.js"),[]).then(({data:n})=>n),"v-321d5bf6":()=>d(()=>import("./axios.html-0b0256eb.js"),[]).then(({data:n})=>n),"v-32675be7":()=>d(()=>import("./dayjs.html-a2daa990.js"),[]).then(({data:n})=>n),"v-a62ec21e":()=>d(()=>import("./lodash.html-59a69c20.js"),[]).then(({data:n})=>n),"v-228f7b88":()=>d(()=>import("./npm-package.html-d7bc0b5e.js"),[]).then(({data:n})=>n),"v-cb272cda":()=>d(()=>import("./index.html-2173b527.js"),[]).then(({data:n})=>n),"v-2af73bf7":()=>d(()=>import("./rxjs.html-22ed65d6.js"),[]).then(({data:n})=>n),"v-df98e434":()=>d(()=>import("./stream.html-823e88c6.js"),[]).then(({data:n})=>n),"v-42056f6c":()=>d(()=>import("./sequelize.html-44905d6c.js"),[]).then(({data:n})=>n),"v-4ba91591":()=>d(()=>import("./typeorm.html-e805c1de.js"),[]).then(({data:n})=>n),"v-6208f302":()=>d(()=>import("./简介.html-49d52bb7.js"),[]).then(({data:n})=>n),"v-44127608":()=>d(()=>import("./index.html-10255be0.js"),[]).then(({data:n})=>n),"v-19076523":()=>d(()=>import("./template.html-843d97da.js"),[]).then(({data:n})=>n),"v-b3bd129c":()=>d(()=>import("./index.html-ef06af2d.js"),[]).then(({data:n})=>n),"v-0e176937":()=>d(()=>import("./shell-1.html-0dc65f98.js"),[]).then(({data:n})=>n),"v-95ee7bea":()=>d(()=>import("./shell-10.html-0e545c09.js"),[]).then(({data:n})=>n),"v-9284caac":()=>d(()=>import("./shell-11.html-2c381b79.js"),[]).then(({data:n})=>n),"v-8f1b196e":()=>d(()=>import("./shell-12.html-375e758a.js"),[]).then(({data:n})=>n),"v-8bb16830":()=>d(()=>import("./shell-13.html-9fd7ce0f.js"),[]).then(({data:n})=>n),"v-8847b6f2":()=>d(()=>import("./shell-14.html-89532a47.js"),[]).then(({data:n})=>n),"v-84de05b4":()=>d(()=>import("./shell-15.html-7aa47c06.js"),[]).then(({data:n})=>n),"v-81745476":()=>d(()=>import("./shell-16.html-8775783a.js"),[]).then(({data:n})=>n),"v-7e0aa338":()=>d(()=>import("./shell-17.html-0f6240ed.js"),[]).then(({data:n})=>n),"v-7aa0f1fa":()=>d(()=>import("./shell-18.html-99205c45.js"),[]).then(({data:n})=>n),"v-773740bc":()=>d(()=>import("./shell-19.html-3724da76.js"),[]).then(({data:n})=>n),"v-0fcc41d6":()=>d(()=>import("./shell-2.html-d8ff40bb.js"),[]).then(({data:n})=>n),"v-2c220568":()=>d(()=>import("./shell-20.html-dc3c84a2.js"),[]).then(({data:n})=>n),"v-28b8542a":()=>d(()=>import("./shell-21.html-44e1b649.js"),[]).then(({data:n})=>n),"v-254ea2ec":()=>d(()=>import("./shell-22.html-22d9b813.js"),[]).then(({data:n})=>n),"v-21e4f1ae":()=>d(()=>import("./shell-23.html-c9b1b4c5.js"),[]).then(({data:n})=>n),"v-1e7b4070":()=>d(()=>import("./shell-24.html-a2f77d27.js"),[]).then(({data:n})=>n),"v-1b118f32":()=>d(()=>import("./shell-25.html-42ce46f4.js"),[]).then(({data:n})=>n),"v-17a7ddf4":()=>d(()=>import("./shell-26.html-f0a02293.js"),[]).then(({data:n})=>n),"v-143e2cb6":()=>d(()=>import("./shell-27.html-74f0c99d.js"),[]).then(({data:n})=>n),"v-10d47b78":()=>d(()=>import("./shell-28.html-9f631a5b.js"),[]).then(({data:n})=>n),"v-0d6aca3a":()=>d(()=>import("./shell-29.html-6ff7a70d.js"),[]).then(({data:n})=>n),"v-11811a75":()=>d(()=>import("./shell-3.html-09e34ca7.js"),[]).then(({data:n})=>n),"v-1ed5388d":()=>d(()=>import("./shell-30.html-d09eec1d.js"),[]).then(({data:n})=>n),"v-208a112c":()=>d(()=>import("./shell-31.html-42edc261.js"),[]).then(({data:n})=>n),"v-223ee9cb":()=>d(()=>import("./shell-32.html-7d205250.js"),[]).then(({data:n})=>n),"v-23f3c26a":()=>d(()=>import("./shell-33.html-395d527f.js"),[]).then(({data:n})=>n),"v-25a89b09":()=>d(()=>import("./shell-34.html-fc6eb6fc.js"),[]).then(({data:n})=>n),"v-1335f314":()=>d(()=>import("./shell-4.html-29f93383.js"),[]).then(({data:n})=>n),"v-14eacbb3":()=>d(()=>import("./shell-5.html-c1a8d9d4.js"),[]).then(({data:n})=>n),"v-169fa452":()=>d(()=>import("./shell-6.html-a1190940.js"),[]).then(({data:n})=>n),"v-18547cf1":()=>d(()=>import("./shell-7.html-fa8c3747.js"),[]).then(({data:n})=>n),"v-1a095590":()=>d(()=>import("./shell-8.html-437f80e1.js"),[]).then(({data:n})=>n),"v-1bbe2e2f":()=>d(()=>import("./shell-9.html-393bd296.js"),[]).then(({data:n})=>n),"v-e987b23c":()=>d(()=>import("./index.html-ddbd9cd4.js"),[]).then(({data:n})=>n),"v-5fe2b729":()=>d(()=>import("./index.html-fc43529f.js"),[]).then(({data:n})=>n),"v-0740dd64":()=>d(()=>import("./index.html-14414b93.js"),[]).then(({data:n})=>n),"v-2147c891":()=>d(()=>import("./index.html-f9cd323f.js"),[]).then(({data:n})=>n),"v-4925092a":()=>d(()=>import("./index.html-a37110ff.js"),[]).then(({data:n})=>n),"v-17a45ad4":()=>d(()=>import("./let和const.html-59958a8c.js"),[]).then(({data:n})=>n),"v-64346614":()=>d(()=>import("./index.html-de52aeaf.js"),[]).then(({data:n})=>n),"v-e4c3ad56":()=>d(()=>import("./函数.html-3917bb53.js"),[]).then(({data:n})=>n),"v-263820b9":()=>d(()=>import("./字符串.html-174a5561.js"),[]).then(({data:n})=>n),"v-db21235a":()=>d(()=>import("./对象.html-842f5cc3.js"),[]).then(({data:n})=>n),"v-18b4418f":()=>d(()=>import("./数值.html-d5da5558.js"),[]).then(({data:n})=>n),"v-15a2788c":()=>d(()=>import("./数组.html-802d291c.js"),[]).then(({data:n})=>n),"v-7ea4c614":()=>d(()=>import("./正则表达式.html-508c81f9.js"),[]).then(({data:n})=>n),"v-40612808":()=>d(()=>import("./深拷贝与浅拷贝.html-d48a313b.js"),[]).then(({data:n})=>n),"v-2d55b1dc":()=>d(()=>import("./简介.html-5cc05cb5.js"),[]).then(({data:n})=>n),"v-6df302e4":()=>d(()=>import("./解构赋值.html-a626e4cb.js"),[]).then(({data:n})=>n),"v-15143d2c":()=>d(()=>import("./install.html-1bd2d3d3.js"),[]).then(({data:n})=>n),"v-7aa4655e":()=>d(()=>import("./index.html-dfe8e5d0.js"),[]).then(({data:n})=>n),"v-bd34682e":()=>d(()=>import("./test.html-042b0f13.js"),[]).then(({data:n})=>n),"v-fbe848b6":()=>d(()=>import("./index.html-33142cf8.js"),[]).then(({data:n})=>n),"v-2acb2095":()=>d(()=>import("./base-install.html-4412c42b.js"),[]).then(({data:n})=>n),"v-5b2ae744":()=>d(()=>import("./cluster.html-60d8d47e.js"),[]).then(({data:n})=>n),"v-42b4f5ea":()=>d(()=>import("./key-rule.html-567f3f05.js"),[]).then(({data:n})=>n),"v-36537eb0":()=>d(()=>import("./master-slave.html-28f743b4.js"),[]).then(({data:n})=>n),"v-c523f0a0":()=>d(()=>import("./sentinel.html-04ac4f01.js"),[]).then(({data:n})=>n),"v-5dac4b12":()=>d(()=>import("./use-rule.html-621c4fd3.js"),[]).then(({data:n})=>n),"v-5c441046":()=>d(()=>import("./egg-mysql.html-c3d32762.js"),[]).then(({data:n})=>n),"v-5082f2a4":()=>d(()=>import("./egg-redis.html-7d7d8ddd.js"),[]).then(({data:n})=>n),"v-075b34f0":()=>d(()=>import("./egg-sequelize.html-1f66c380.js"),[]).then(({data:n})=>n),"v-4eedbd46":()=>d(()=>import("./egg-validate.html-18d1d132.js"),[]).then(({data:n})=>n),"v-0c84d01e":()=>d(()=>import("./index.html-7997929c.js"),[]).then(({data:n})=>n),"v-6f1f243b":()=>d(()=>import("./中间件.html-8b5286e2.js"),[]).then(({data:n})=>n),"v-b01a9e80":()=>d(()=>import("./定时任务.html-336bfb5e.js"),[]).then(({data:n})=>n),"v-22cc5ba8":()=>d(()=>import("./常用配置.html-1436e55a.js"),[]).then(({data:n})=>n),"v-1c3b5ad9":()=>d(()=>import("./快速入门.html-34acb7ac.js"),[]).then(({data:n})=>n),"v-66f02412":()=>d(()=>import("./控制器和服务.html-b620bf5b.js"),[]).then(({data:n})=>n),"v-5f391e2f":()=>d(()=>import("./框架对象.html-d2168319.js"),[]).then(({data:n})=>n),"v-5dd46965":()=>d(()=>import("./框架拓展.html-54c6ecbb.js"),[]).then(({data:n})=>n),"v-484db8a9":()=>d(()=>import("./目录结构.html-991daf37.js"),[]).then(({data:n})=>n),"v-643d11c8":()=>d(()=>import("./简介.html-c8a0638c.js"),[]).then(({data:n})=>n),"v-04319492":()=>d(()=>import("./路由的使用.html-c5405cf5.js"),[]).then(({data:n})=>n),"v-3f070329":()=>d(()=>import("./配置和运行环境.html-e49b08c4.js"),[]).then(({data:n})=>n),"v-58417e36":()=>d(()=>import("./express-learn.html-13bd4e77.js"),[]).then(({data:n})=>n),"v-c9b292ea":()=>d(()=>import("./koa-learn.html-97e111de.js"),[]).then(({data:n})=>n),"v-7237d542":()=>d(()=>import("./fibonacci.html-45d9f3df.js"),[]).then(({data:n})=>n),"v-a4f4a22c":()=>d(()=>import("./jumpFloor.html-720a3997.js"),[]).then(({data:n})=>n),"v-514f140c":()=>d(()=>import("./1.reverseList.html-c33938d6.js"),[]).then(({data:n})=>n),"v-6d17e385":()=>d(()=>import("./getNumberOfK.html-d8acafa9.js"),[]).then(({data:n})=>n),"v-80f530c8":()=>d(()=>import("./minNumberInRotateArray.html-028dee3b.js"),[]).then(({data:n})=>n),"v-7d1c5970":()=>d(()=>import("./findNumsAppearOnce.html-31357ee8.js"),[]).then(({data:n})=>n),"v-36b0a716":()=>d(()=>import("./numberOf1.html-a35b98b2.js"),[]).then(({data:n})=>n),"v-46e87e3b":()=>d(()=>import("./add.html-db6cf360.js"),[]).then(({data:n})=>n),"v-408052c6":()=>d(()=>import("./isContinuous.html-5d2d08f3.js"),[]).then(({data:n})=>n),"v-8d1f691a":()=>d(()=>import("./strToInt.html-16da9ece.js"),[]).then(({data:n})=>n),"v-23bb3fa4":()=>d(()=>import("./power.html-703efb1f.js"),[]).then(({data:n})=>n),"v-f828f4c8":()=>d(()=>import("./fibonacci.html-e5f71aa0.js"),[]).then(({data:n})=>n),"v-f878e6ce":()=>d(()=>import("./findGreatestSumOfSubArray.html-81a6ece9.js"),[]).then(({data:n})=>n),"v-21008b84":()=>d(()=>import("./getUglyNumber.html-c9533641.js"),[]).then(({data:n})=>n),"v-818d4178":()=>d(()=>import("./jumpFloor.html-3f84da1b.js"),[]).then(({data:n})=>n),"v-31e41b64":()=>d(()=>import("./jumpFloorII.html-6399cb45.js"),[]).then(({data:n})=>n),"v-fad10828":()=>d(()=>import("./multiply.html-bb62ff09.js"),[]).then(({data:n})=>n),"v-da9706a2":()=>d(()=>import("./rectCover.html-fb855aa7.js"),[]).then(({data:n})=>n),"v-3ddceec7":()=>d(()=>import("./findContinuousSequence.html-b2eb8a19.js"),[]).then(({data:n})=>n),"v-2b83729c":()=>d(()=>import("./findNumbersWithSum.html-9f397863.js"),[]).then(({data:n})=>n),"v-001558dd":()=>d(()=>import("./leftRotateString.html-0e207bf4.js"),[]).then(({data:n})=>n),"v-48d2fa9d":()=>d(()=>import("./reverseSentence.html-95febe1a.js"),[]).then(({data:n})=>n),"v-2a7d8e0f":()=>d(()=>import("./printMinNumber.html-e8b35dac.js"),[]).then(({data:n})=>n),"v-0adb62df":()=>d(()=>import("./reOrderArray.html-935a91e3.js"),[]).then(({data:n})=>n),"v-6496e807":()=>d(()=>import("./lastRemaining.html-01de9ed1.js"),[]).then(({data:n})=>n),"v-5abf406c":()=>d(()=>import("./moreThanHalfNum.html-106dee40.js"),[]).then(({data:n})=>n),"v-633062b6":()=>d(()=>import("./numberOf1Between1AndN.html-dcb3428a.js"),[]).then(({data:n})=>n),"v-62756918":()=>d(()=>import("./duplicate.html-07dd3524.js"),[]).then(({data:n})=>n),"v-28981616":()=>d(()=>import("./find.html-bf1f1048.js"),[]).then(({data:n})=>n),"v-51637169":()=>d(()=>import("./firstNotRepeatingChar.html-eaae66ad.js"),[]).then(({data:n})=>n),"v-30383696":()=>d(()=>import("./printMatrix.html-d535ce52.js"),[]).then(({data:n})=>n),"v-5a9d2abd":()=>d(()=>import("./replaceSpace.html-72a153e8.js"),[]).then(({data:n})=>n),"v-49a1d07f":()=>d(()=>import("./firstAppearingOnce.html-244a04ee.js"),[]).then(({data:n})=>n),"v-2e660d84":()=>d(()=>import("./getLeastNumbers.html-74cf835a.js"),[]).then(({data:n})=>n),"v-c80ef512":()=>d(()=>import("./getMinInJSStack.html-325a322b.js"),[]).then(({data:n})=>n),"v-7d68c18a":()=>d(()=>import("./insertAndGetMedian.html-9d2f0d4a.js"),[]).then(({data:n})=>n),"v-12af7de3":()=>d(()=>import("./maxInWindows.html-f3671f5c.js"),[]).then(({data:n})=>n),"v-6e6c7962":()=>d(()=>import("./stackToQueue.html-4a9bf468.js"),[]).then(({data:n})=>n),"v-0d5a8f2e":()=>d(()=>import("./findPath.html-337a8ca1.js"),[]).then(({data:n})=>n),"v-6eaf0302":()=>d(()=>import("./getNext.html-307f4831.js"),[]).then(({data:n})=>n),"v-d29ebf7a":()=>d(()=>import("./hasSubtree.html-32d68b2a.js"),[]).then(({data:n})=>n),"v-27179433":()=>d(()=>import("./isSymmetrical.html-b0ca8954.js"),[]).then(({data:n})=>n),"v-c092e642":()=>d(()=>import("./ktheNode.html-76b4ffdb.js"),[]).then(({data:n})=>n),"v-6d601248":()=>d(()=>import("./mirror.html-b2070219.js"),[]).then(({data:n})=>n),"v-254d82be":()=>d(()=>import("./print.html-7e0b46e8.js"),[]).then(({data:n})=>n),"v-a2a13430":()=>d(()=>import("./reConstructBinaryTree.html-d6066df8.js"),[]).then(({data:n})=>n),"v-7b707b69":()=>d(()=>import("./cutRope.html-819796ee.js"),[]).then(({data:n})=>n),"v-78d02c75":()=>d(()=>import("./maxProfit.html-e65b460d.js"),[]).then(({data:n})=>n),"v-228935c6":()=>d(()=>import("./deleteDuplication.html-de958614.js"),[]).then(({data:n})=>n),"v-3e52c1fa":()=>d(()=>import("./entryNodeOfLoop.html-1035fdbc.js"),[]).then(({data:n})=>n),"v-712af885":()=>d(()=>import("./findFirstCommonNode.html-51fb394b.js"),[]).then(({data:n})=>n),"v-b3e01b50":()=>d(()=>import("./findKthToTail.html-3802f9e8.js"),[]).then(({data:n})=>n),"v-20b0bf31":()=>d(()=>import("./merge.html-df194541.js"),[]).then(({data:n})=>n),"v-9115502e":()=>d(()=>import("./printListFromTailToHead.html-60b05e56.js"),[]).then(({data:n})=>n),"v-2260fc6e":()=>d(()=>import("./reverseList.html-7107486f.js"),[]).then(({data:n})=>n),"v-3706649a":()=>d(()=>import("./404.html-8efd2c8b.js"),[]).then(({data:n})=>n),"v-5bc93818":()=>d(()=>import("./index.html-0034b9bd.js"),[]).then(({data:n})=>n),"v-744d024e":()=>d(()=>import("./index.html-2ec0b466.js"),[]).then(({data:n})=>n),"v-e52c881c":()=>d(()=>import("./index.html-7b1e9fd9.js"),[]).then(({data:n})=>n),"v-154dc4c4":()=>d(()=>import("./index.html-7d842343.js"),[]).then(({data:n})=>n),"v-01560935":()=>d(()=>import("./index.html-e644a9bd.js"),[]).then(({data:n})=>n),"v-2352c540":()=>d(()=>import("./index.html-29ed8689.js"),[]).then(({data:n})=>n)},Rv=JSON.parse('{"base":"/JavaScriptCollection/","lang":"en-US","title":"凡是过往、皆为序章","description":"一本有趣的JavaScript合集","head":[["link",{"rel":"icon","href":"/fight_favicon.ico"}],["script",{"type":"text/javascript","src":"/_vercel/insights/script.js"}],["script",{},"\\n var _hmt = _hmt || [];\\n (function() {\\n var hm = document.createElement(\\"script\\");\\n hm.src = \\"https://hm.baidu.com/hm.js?613c9d7af9e1c9a7f9eef6a55aa2399d\\";\\n var s = document.getElementsByTagName(\\"script\\")[0];\\n s.parentNode.insertBefore(hm, s);\\n })();"],["link",{"rel":"icon","href":"/JavaScriptCollection/favicon.ico"}]],"locales":{}}');var Pv=([n,s,e])=>n==="meta"&&s.name?`${n}.${s.name}`:["title","base"].includes(n)?n:n==="template"&&s.id?`${n}.${s.id}`:JSON.stringify([n,s,e]),Iv=n=>{const s=new Set,e=[];return n.forEach(a=>{const t=Pv(a);s.has(t)||(s.add(t),e.push(a))}),e},Ic=n=>n[n.length-1]==="/"||n.endsWith(".html")?n:`${n}/`,Cv=n=>n.startsWith("ftp://"),Bs=n=>/^(https?:)?\/\//.test(n),Ov=/.md((\?|#).*)?$/,it=(n,s="/")=>!!(Bs(n)||Cv(n)||n.startsWith("/")&&!n.startsWith(s)&&!Ov.test(n)),Cc=n=>/^mailto:/.test(n),Dv=n=>/^tel:/.test(n),ni=n=>Object.prototype.toString.call(n)==="[object Object]",si=n=>n[n.length-1]==="/"?n.slice(0,-1):n,Oc=n=>n[0]==="/"?n.slice(1):n,Vv=(n,s)=>{const e=Object.keys(n).sort((a,t)=>{const l=t.split("/").length-a.split("/").length;return l!==0?l:t.length-a.length});for(const a of e)if(s.startsWith(a))return a;return"/"};const Dc={"v-96f5eae0":b(()=>d(()=>import("./quick-start.html-0f1a23c9.js"),["assets/quick-start.html-0f1a23c9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8daa1a0e":b(()=>d(()=>import("./index.html-b13fb963.js"),["assets/index.html-b13fb963.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-fe8a3626":b(()=>d(()=>import("./good-idea.html-2eb99091.js"),["assets/good-idea.html-2eb99091.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1fda7368":b(()=>d(()=>import("./index.html-4dd8186b.js"),["assets/index.html-4dd8186b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5ab53f29":b(()=>d(()=>import("./index.html-26184662.js"),["assets/index.html-26184662.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-245c2313":b(()=>d(()=>import("./index.html-2330ab8d.js"),["assets/index.html-2330ab8d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b7b8ea24":b(()=>d(()=>import("./job-poster-bytedance.html-55234ff5.js"),["assets/job-poster-bytedance.html-55234ff5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-51375ce0":b(()=>d(()=>import("./index.html-d842b066.js"),["assets/index.html-d842b066.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9adcc5d4":b(()=>d(()=>import("./docker.html-e919fa59.js"),["assets/docker.html-e919fa59.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5ec11fca":b(()=>d(()=>import("./egg-grpc-client.html-82d381a2.js"),["assets/egg-grpc-client.html-82d381a2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3be44f52":b(()=>d(()=>import("./egg-grpc-server.html-8315f8d9.js"),["assets/egg-grpc-server.html-8315f8d9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f584fdd0":b(()=>d(()=>import("./grpc.html-d64533a1.js"),["assets/grpc.html-d64533a1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2886c41a":b(()=>d(()=>import("./node-grpc.html-5ebd7258.js"),["assets/node-grpc.html-5ebd7258.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-41fb3c7a":b(()=>d(()=>import("./index.html-23911f50.js"),["assets/index.html-23911f50.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6707cdf1":b(()=>d(()=>import("./api-docs.html-136aa865.js"),["assets/api-docs.html-136aa865.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-68331a78":b(()=>d(()=>import("./change-log.html-0dd318a7.js"),["assets/change-log.html-0dd318a7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-66532444":b(()=>d(()=>import("./frequent-site-link.html-b666c744.js"),["assets/frequent-site-link.html-b666c744.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-43fe13da":b(()=>d(()=>import("./index.html-d6132820.js"),["assets/index.html-d6132820.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3651bc8e":b(()=>d(()=>import("./todo-list.html-2d9c897a.js"),["assets/todo-list.html-2d9c897a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-67a998ee":b(()=>d(()=>import("./wechat-list.html-f7ebe62c.js"),["assets/wechat-list.html-f7ebe62c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7ebffb01":b(()=>d(()=>import("./index.html-7bc154df.js"),["assets/index.html-7bc154df.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-37edb9ba":b(()=>d(()=>import("./index.html-0f1f4846.js"),["assets/index.html-0f1f4846.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-68cc8c50":b(()=>d(()=>import("./question-collections.html-01f2bc4d.js"),["assets/question-collections.html-01f2bc4d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7e4cd0f3":b(()=>d(()=>import("./index.html-5fc7fc9a.js"),["assets/index.html-5fc7fc9a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-adce7ae8":b(()=>d(()=>import("./template.html-3bd1d541.js"),["assets/template.html-3bd1d541.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-724309f3":b(()=>d(()=>import("./index.html-04b6c9cb.js"),["assets/index.html-04b6c9cb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c389164c":b(()=>d(()=>import("./MySQL面试.html-05ccad71.js"),["assets/MySQL面试.html-05ccad71.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0c788a7c":b(()=>d(()=>import("./Nginx面试.html-75825388.js"),["assets/Nginx面试.html-75825388.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-23616894":b(()=>d(()=>import("./Node面试.html-bbc89e3b.js"),["assets/Node面试.html-bbc89e3b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0fa1307e":b(()=>d(()=>import("./乐观锁与悲观锁.html-43857ca3.js"),["assets/乐观锁与悲观锁.html-43857ca3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-131cc465":b(()=>d(()=>import("./前端常考.html-b100d15f.js"),["assets/前端常考.html-b100d15f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2ca4c15e":b(()=>d(()=>import("./后端汇总.html-4a7b6ef1.js"),["assets/后端汇总.html-4a7b6ef1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5393c326":b(()=>d(()=>import("./接口幂等.html-d8b64b22.js"),["assets/接口幂等.html-d8b64b22.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-863526f4":b(()=>d(()=>import("./git-branch-rule.html-28b8ef4f.js"),["assets/git-branch-rule.html-28b8ef4f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-61a9b9db":b(()=>d(()=>import("./git-commit-rule.html-f94f7df8.js"),["assets/git-commit-rule.html-f94f7df8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-38a9e955":b(()=>d(()=>import("./git-info-reset.html-f7bab08e.js"),["assets/git-info-reset.html-f7bab08e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4feabcc0":b(()=>d(()=>import("./git.html-088d9cfa.js"),["assets/git.html-088d9cfa.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2b08f18d":b(()=>d(()=>import("./github-actions.html-1d9b6397.js"),["assets/github-actions.html-1d9b6397.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-de4f2bfc":b(()=>d(()=>import("./github-ci.html-02f57c27.js"),["assets/github-ci.html-02f57c27.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1c2923bd":b(()=>d(()=>import("./github.html-acf6b90c.js"),["assets/github.html-acf6b90c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3e5681dc":b(()=>d(()=>import("./jenkins.html-8bf81702.js"),["assets/jenkins.html-8bf81702.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5877be1a":b(()=>d(()=>import("./eslint.html-03ec914b.js"),["assets/eslint.html-03ec914b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-05aea191":b(()=>d(()=>import("./prettier.html-9ec3d469.js"),["assets/prettier.html-9ec3d469.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-72fb4949":b(()=>d(()=>import("./pnpm-style.html-8a06af66.js"),["assets/pnpm-style.html-8a06af66.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8e4a794c":b(()=>d(()=>import("./turboRepo.html-127ebbda.js"),["assets/turboRepo.html-127ebbda.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d18f6dca":b(()=>d(()=>import("./npm.html-56bbeb69.js"),["assets/npm.html-56bbeb69.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a0d69ade":b(()=>d(()=>import("./pnpm.html-82884d81.js"),["assets/pnpm.html-82884d81.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-018e7351":b(()=>d(()=>import("./index.html-8a54bf3e.js"),["assets/index.html-8a54bf3e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-89bd2e5a":b(()=>d(()=>import("./upic.html-151b0c95.js"),["assets/upic.html-151b0c95.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d44de036":b(()=>d(()=>import("./css.html-42f9d2e1.js"),["assets/css.html-42f9d2e1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c89eaa82":b(()=>d(()=>import("./html.html-98e7e9fd.js"),["assets/html.html-98e7e9fd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-bd15cd06":b(()=>d(()=>import("./javascript.html-e7f1b2cf.js"),["assets/javascript.html-e7f1b2cf.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0b7f3528":b(()=>d(()=>import("./index.html-2918296f.js"),["assets/index.html-2918296f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-105fade2":b(()=>d(()=>import("./front-end-server.html-fd7c6978.js"),["assets/front-end-server.html-fd7c6978.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1cd98e26":b(()=>d(()=>import("./static-nginx.html-78160e72.js"),["assets/static-nginx.html-78160e72.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2e4d3a97":b(()=>d(()=>import("./index.html-73ecc4ac.js"),["assets/index.html-73ecc4ac.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-bfd7d336":b(()=>d(()=>import("./ant-design-vue.html-03a7db18.js"),["assets/ant-design-vue.html-03a7db18.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0f57d97d":b(()=>d(()=>import("./element-ui.html-f77f1507.js"),["assets/element-ui.html-f77f1507.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c8c65136":b(()=>d(()=>import("./iview-design.html-74a3bc02.js"),["assets/iview-design.html-74a3bc02.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2728f912":b(()=>d(()=>import("./layer-ui.html-0b7e6f68.js"),["assets/layer-ui.html-0b7e6f68.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-77440280":b(()=>d(()=>import("./vant-ui.html-867c41c3.js"),["assets/vant-ui.html-867c41c3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6eba6584":b(()=>d(()=>import("./分布式消息中间件实践.html-d52ebebd.js"),["assets/分布式消息中间件实践.html-d52ebebd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-337a531d":b(()=>d(()=>import("./深入浅出的Node.js.html-a7e3375a.js"),["assets/深入浅出的Node.js.html-a7e3375a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-712babd4":b(()=>d(()=>import("./狼书.html-83a67ba4.js"),["assets/狼书.html-83a67ba4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0bc3da9b":b(()=>d(()=>import("./good-love.html-9beccc87.js"),["assets/good-love.html-9beccc87.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-702c6586":b(()=>d(()=>import("./hello-alone.html-3aedae63.js"),["assets/hello-alone.html-3aedae63.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-faf27d94":b(()=>d(()=>import("./nginx-gzip.html-2ed9fe92.js"),["assets/nginx-gzip.html-2ed9fe92.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2b3b4795":b(()=>d(()=>import("./ssl-install.html-5fea8177.js"),["assets/ssl-install.html-5fea8177.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1ddc5b5e":b(()=>d(()=>import("./index.html-c6202b43.js"),["assets/index.html-c6202b43.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-77e335b5":b(()=>d(()=>import("./docker-compose.html-4ce6906d.js"),["assets/docker-compose.html-4ce6906d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-36092f4c":b(()=>d(()=>import("./docker.html-d8983fe1.js"),["assets/docker.html-d8983fe1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-66785044":b(()=>d(()=>import("./dockerfile.html-b23d6650.js"),["assets/dockerfile.html-b23d6650.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3f7ffa34":b(()=>d(()=>import("./egg-cluster.html-1a91a6a5.js"),["assets/egg-cluster.html-1a91a6a5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-50afd69d":b(()=>d(()=>import("./install.html-6d57f021.js"),["assets/install.html-6d57f021.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-368ff623":b(()=>d(()=>import("./pm2.html-279d4f56.js"),["assets/pm2.html-279d4f56.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b2470cec":b(()=>d(()=>import("./index.html-9d74c747.js"),["assets/index.html-9d74c747.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-84a3bd58":b(()=>d(()=>import("./index.html-247c9e18.js"),["assets/index.html-247c9e18.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-edf2cb9e":b(()=>d(()=>import("./egg-learn.html-2b6ef891.js"),["assets/egg-learn.html-2b6ef891.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-00bd7854":b(()=>d(()=>import("./nest-learn.html-72ee02b7.js"),["assets/nest-learn.html-72ee02b7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d1341d06":b(()=>d(()=>import("./base-cmd.html-af6edd77.js"),["assets/base-cmd.html-af6edd77.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7cbebd4f":b(()=>d(()=>import("./curl.html-36e1cb32.js"),["assets/curl.html-36e1cb32.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8d24e7a2":b(()=>d(()=>import("./package-manage.html-b38740db.js"),["assets/package-manage.html-b38740db.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6d23ca9e":b(()=>d(()=>import("./index.html-90facfa7.js"),["assets/index.html-90facfa7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0f464472":b(()=>d(()=>import("./shell.html-5d203da4.js"),["assets/shell.html-5d203da4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1fce2e03":b(()=>d(()=>import("./soft-install.html-90a06bb8.js"),["assets/soft-install.html-90a06bb8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6ce8c59d":b(()=>d(()=>import("./vim.html-9d9b38ea.js"),["assets/vim.html-9d9b38ea.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-321d5bf6":b(()=>d(()=>import("./axios.html-7a858571.js"),["assets/axios.html-7a858571.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-32675be7":b(()=>d(()=>import("./dayjs.html-a74bfd84.js"),["assets/dayjs.html-a74bfd84.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a62ec21e":b(()=>d(()=>import("./lodash.html-e3d60000.js"),["assets/lodash.html-e3d60000.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-228f7b88":b(()=>d(()=>import("./npm-package.html-51fae0db.js"),["assets/npm-package.html-51fae0db.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-cb272cda":b(()=>d(()=>import("./index.html-b7fb825d.js"),["assets/index.html-b7fb825d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2af73bf7":b(()=>d(()=>import("./rxjs.html-e60e7888.js"),["assets/rxjs.html-e60e7888.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-df98e434":b(()=>d(()=>import("./stream.html-2ddbc0a5.js"),["assets/stream.html-2ddbc0a5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-42056f6c":b(()=>d(()=>import("./sequelize.html-347ca9a3.js"),["assets/sequelize.html-347ca9a3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4ba91591":b(()=>d(()=>import("./typeorm.html-75f4e461.js"),["assets/typeorm.html-75f4e461.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6208f302":b(()=>d(()=>import("./简介.html-9c34cf75.js"),["assets/简介.html-9c34cf75.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-44127608":b(()=>d(()=>import("./index.html-fe249bee.js"),["assets/index.html-fe249bee.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-19076523":b(()=>d(()=>import("./template.html-b216b9c4.js"),["assets/template.html-b216b9c4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b3bd129c":b(()=>d(()=>import("./index.html-449d1e5f.js"),["assets/index.html-449d1e5f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0e176937":b(()=>d(()=>import("./shell-1.html-a0d4f96b.js"),["assets/shell-1.html-a0d4f96b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-95ee7bea":b(()=>d(()=>import("./shell-10.html-7a27f9f3.js"),["assets/shell-10.html-7a27f9f3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9284caac":b(()=>d(()=>import("./shell-11.html-b03481ad.js"),["assets/shell-11.html-b03481ad.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8f1b196e":b(()=>d(()=>import("./shell-12.html-be5aecf6.js"),["assets/shell-12.html-be5aecf6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8bb16830":b(()=>d(()=>import("./shell-13.html-47ceb7a8.js"),["assets/shell-13.html-47ceb7a8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8847b6f2":b(()=>d(()=>import("./shell-14.html-5b095a70.js"),["assets/shell-14.html-5b095a70.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-84de05b4":b(()=>d(()=>import("./shell-15.html-a92bba34.js"),["assets/shell-15.html-a92bba34.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-81745476":b(()=>d(()=>import("./shell-16.html-7f62b69b.js"),["assets/shell-16.html-7f62b69b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7e0aa338":b(()=>d(()=>import("./shell-17.html-fa4c13c2.js"),["assets/shell-17.html-fa4c13c2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7aa0f1fa":b(()=>d(()=>import("./shell-18.html-322f2abf.js"),["assets/shell-18.html-322f2abf.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-773740bc":b(()=>d(()=>import("./shell-19.html-c5acadb6.js"),["assets/shell-19.html-c5acadb6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0fcc41d6":b(()=>d(()=>import("./shell-2.html-d0e04529.js"),["assets/shell-2.html-d0e04529.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2c220568":b(()=>d(()=>import("./shell-20.html-756d3bbd.js"),["assets/shell-20.html-756d3bbd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-28b8542a":b(()=>d(()=>import("./shell-21.html-f65d7092.js"),["assets/shell-21.html-f65d7092.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-254ea2ec":b(()=>d(()=>import("./shell-22.html-f4480d9f.js"),["assets/shell-22.html-f4480d9f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-21e4f1ae":b(()=>d(()=>import("./shell-23.html-4013116e.js"),["assets/shell-23.html-4013116e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1e7b4070":b(()=>d(()=>import("./shell-24.html-8dab5edf.js"),["assets/shell-24.html-8dab5edf.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1b118f32":b(()=>d(()=>import("./shell-25.html-89de3949.js"),["assets/shell-25.html-89de3949.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-17a7ddf4":b(()=>d(()=>import("./shell-26.html-d705837b.js"),["assets/shell-26.html-d705837b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-143e2cb6":b(()=>d(()=>import("./shell-27.html-0e43d661.js"),["assets/shell-27.html-0e43d661.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-10d47b78":b(()=>d(()=>import("./shell-28.html-bb67424c.js"),["assets/shell-28.html-bb67424c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0d6aca3a":b(()=>d(()=>import("./shell-29.html-71ef13fc.js"),["assets/shell-29.html-71ef13fc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-11811a75":b(()=>d(()=>import("./shell-3.html-30edd0ae.js"),["assets/shell-3.html-30edd0ae.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1ed5388d":b(()=>d(()=>import("./shell-30.html-0f6c0ea1.js"),["assets/shell-30.html-0f6c0ea1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-208a112c":b(()=>d(()=>import("./shell-31.html-e213b1ff.js"),["assets/shell-31.html-e213b1ff.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-223ee9cb":b(()=>d(()=>import("./shell-32.html-dd9dacf9.js"),["assets/shell-32.html-dd9dacf9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-23f3c26a":b(()=>d(()=>import("./shell-33.html-6fabd3a4.js"),["assets/shell-33.html-6fabd3a4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-25a89b09":b(()=>d(()=>import("./shell-34.html-d15a359e.js"),["assets/shell-34.html-d15a359e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1335f314":b(()=>d(()=>import("./shell-4.html-66a8686a.js"),["assets/shell-4.html-66a8686a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-14eacbb3":b(()=>d(()=>import("./shell-5.html-4154ede9.js"),["assets/shell-5.html-4154ede9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-169fa452":b(()=>d(()=>import("./shell-6.html-e30cc300.js"),["assets/shell-6.html-e30cc300.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-18547cf1":b(()=>d(()=>import("./shell-7.html-05f4f1c2.js"),["assets/shell-7.html-05f4f1c2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1a095590":b(()=>d(()=>import("./shell-8.html-a37bf97e.js"),["assets/shell-8.html-a37bf97e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1bbe2e2f":b(()=>d(()=>import("./shell-9.html-3f1e3b83.js"),["assets/shell-9.html-3f1e3b83.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-e987b23c":b(()=>d(()=>import("./index.html-e221e302.js"),["assets/index.html-e221e302.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5fe2b729":b(()=>d(()=>import("./index.html-59450f30.js"),["assets/index.html-59450f30.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0740dd64":b(()=>d(()=>import("./index.html-7d6be295.js"),["assets/index.html-7d6be295.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2147c891":b(()=>d(()=>import("./index.html-ca634db7.js"),["assets/index.html-ca634db7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4925092a":b(()=>d(()=>import("./index.html-4831cb89.js"),["assets/index.html-4831cb89.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-17a45ad4":b(()=>d(()=>import("./let和const.html-878a4981.js"),["assets/let和const.html-878a4981.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-64346614":b(()=>d(()=>import("./index.html-4a2950d6.js"),["assets/index.html-4a2950d6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-e4c3ad56":b(()=>d(()=>import("./函数.html-3786214e.js"),["assets/函数.html-3786214e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-263820b9":b(()=>d(()=>import("./字符串.html-5d9819a2.js"),["assets/字符串.html-5d9819a2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-db21235a":b(()=>d(()=>import("./对象.html-624a83cc.js"),["assets/对象.html-624a83cc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-18b4418f":b(()=>d(()=>import("./数值.html-8fc890d4.js"),["assets/数值.html-8fc890d4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-15a2788c":b(()=>d(()=>import("./数组.html-f971ee74.js"),["assets/数组.html-f971ee74.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7ea4c614":b(()=>d(()=>import("./正则表达式.html-fccf32c2.js"),["assets/正则表达式.html-fccf32c2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-40612808":b(()=>d(()=>import("./深拷贝与浅拷贝.html-253a736c.js"),["assets/深拷贝与浅拷贝.html-253a736c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2d55b1dc":b(()=>d(()=>import("./简介.html-73d4e961.js"),["assets/简介.html-73d4e961.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6df302e4":b(()=>d(()=>import("./解构赋值.html-d2e5d266.js"),["assets/解构赋值.html-d2e5d266.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-15143d2c":b(()=>d(()=>import("./install.html-69e5b3cb.js"),["assets/install.html-69e5b3cb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7aa4655e":b(()=>d(()=>import("./index.html-55e902fb.js"),["assets/index.html-55e902fb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-bd34682e":b(()=>d(()=>import("./test.html-71947536.js"),["assets/test.html-71947536.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-fbe848b6":b(()=>d(()=>import("./index.html-463399be.js"),["assets/index.html-463399be.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2acb2095":b(()=>d(()=>import("./base-install.html-c93bbd8b.js"),["assets/base-install.html-c93bbd8b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5b2ae744":b(()=>d(()=>import("./cluster.html-2922986c.js"),["assets/cluster.html-2922986c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-42b4f5ea":b(()=>d(()=>import("./key-rule.html-61584a60.js"),["assets/key-rule.html-61584a60.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-36537eb0":b(()=>d(()=>import("./master-slave.html-06bdc367.js"),["assets/master-slave.html-06bdc367.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c523f0a0":b(()=>d(()=>import("./sentinel.html-62c16de0.js"),["assets/sentinel.html-62c16de0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5dac4b12":b(()=>d(()=>import("./use-rule.html-c8cdeffb.js"),["assets/use-rule.html-c8cdeffb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5c441046":b(()=>d(()=>import("./egg-mysql.html-59c49808.js"),["assets/egg-mysql.html-59c49808.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5082f2a4":b(()=>d(()=>import("./egg-redis.html-edd01b2c.js"),["assets/egg-redis.html-edd01b2c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-075b34f0":b(()=>d(()=>import("./egg-sequelize.html-4477c769.js"),["assets/egg-sequelize.html-4477c769.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4eedbd46":b(()=>d(()=>import("./egg-validate.html-bd3cbc83.js"),["assets/egg-validate.html-bd3cbc83.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0c84d01e":b(()=>d(()=>import("./index.html-10fcd6b0.js"),["assets/index.html-10fcd6b0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6f1f243b":b(()=>d(()=>import("./中间件.html-36d75785.js"),["assets/中间件.html-36d75785.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b01a9e80":b(()=>d(()=>import("./定时任务.html-b3305c2c.js"),["assets/定时任务.html-b3305c2c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-22cc5ba8":b(()=>d(()=>import("./常用配置.html-e6c63b83.js"),["assets/常用配置.html-e6c63b83.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1c3b5ad9":b(()=>d(()=>import("./快速入门.html-9aa3d920.js"),["assets/快速入门.html-9aa3d920.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-66f02412":b(()=>d(()=>import("./控制器和服务.html-b25b393a.js"),["assets/控制器和服务.html-b25b393a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5f391e2f":b(()=>d(()=>import("./框架对象.html-0f5fef86.js"),["assets/框架对象.html-0f5fef86.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5dd46965":b(()=>d(()=>import("./框架拓展.html-4b75e158.js"),["assets/框架拓展.html-4b75e158.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-484db8a9":b(()=>d(()=>import("./目录结构.html-a3a9ce07.js"),["assets/目录结构.html-a3a9ce07.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-643d11c8":b(()=>d(()=>import("./简介.html-b7e1804b.js"),["assets/简介.html-b7e1804b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-04319492":b(()=>d(()=>import("./路由的使用.html-207d8e3e.js"),["assets/路由的使用.html-207d8e3e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3f070329":b(()=>d(()=>import("./配置和运行环境.html-40cca317.js"),["assets/配置和运行环境.html-40cca317.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-58417e36":b(()=>d(()=>import("./express-learn.html-b4a85f29.js"),["assets/express-learn.html-b4a85f29.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c9b292ea":b(()=>d(()=>import("./koa-learn.html-19989026.js"),["assets/koa-learn.html-19989026.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7237d542":b(()=>d(()=>import("./fibonacci.html-85d517d6.js"),["assets/fibonacci.html-85d517d6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a4f4a22c":b(()=>d(()=>import("./jumpFloor.html-e553f6ed.js"),["assets/jumpFloor.html-e553f6ed.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-514f140c":b(()=>d(()=>import("./1.reverseList.html-e367050d.js"),["assets/1.reverseList.html-e367050d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6d17e385":b(()=>d(()=>import("./getNumberOfK.html-deb39db8.js"),["assets/getNumberOfK.html-deb39db8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-80f530c8":b(()=>d(()=>import("./minNumberInRotateArray.html-1179b28c.js"),["assets/minNumberInRotateArray.html-1179b28c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7d1c5970":b(()=>d(()=>import("./findNumsAppearOnce.html-b7fd2bcf.js"),["assets/findNumsAppearOnce.html-b7fd2bcf.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-36b0a716":b(()=>d(()=>import("./numberOf1.html-d0992eea.js"),["assets/numberOf1.html-d0992eea.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-46e87e3b":b(()=>d(()=>import("./add.html-03eff864.js"),["assets/add.html-03eff864.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-408052c6":b(()=>d(()=>import("./isContinuous.html-fd1e6e80.js"),["assets/isContinuous.html-fd1e6e80.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8d1f691a":b(()=>d(()=>import("./strToInt.html-5f482c0e.js"),["assets/strToInt.html-5f482c0e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-23bb3fa4":b(()=>d(()=>import("./power.html-bee4bfcb.js"),["assets/power.html-bee4bfcb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f828f4c8":b(()=>d(()=>import("./fibonacci.html-b9b9f6c5.js"),["assets/fibonacci.html-b9b9f6c5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f878e6ce":b(()=>d(()=>import("./findGreatestSumOfSubArray.html-f892492a.js"),["assets/findGreatestSumOfSubArray.html-f892492a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-21008b84":b(()=>d(()=>import("./getUglyNumber.html-71380f84.js"),["assets/getUglyNumber.html-71380f84.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-818d4178":b(()=>d(()=>import("./jumpFloor.html-118d953a.js"),["assets/jumpFloor.html-118d953a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-31e41b64":b(()=>d(()=>import("./jumpFloorII.html-e72cb396.js"),["assets/jumpFloorII.html-e72cb396.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-fad10828":b(()=>d(()=>import("./multiply.html-4a835060.js"),["assets/multiply.html-4a835060.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-da9706a2":b(()=>d(()=>import("./rectCover.html-621faca4.js"),["assets/rectCover.html-621faca4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3ddceec7":b(()=>d(()=>import("./findContinuousSequence.html-f597b7a0.js"),["assets/findContinuousSequence.html-f597b7a0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2b83729c":b(()=>d(()=>import("./findNumbersWithSum.html-71071a95.js"),["assets/findNumbersWithSum.html-71071a95.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-001558dd":b(()=>d(()=>import("./leftRotateString.html-b042505a.js"),["assets/leftRotateString.html-b042505a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-48d2fa9d":b(()=>d(()=>import("./reverseSentence.html-89147a26.js"),["assets/reverseSentence.html-89147a26.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2a7d8e0f":b(()=>d(()=>import("./printMinNumber.html-aa01cd40.js"),["assets/printMinNumber.html-aa01cd40.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0adb62df":b(()=>d(()=>import("./reOrderArray.html-2a85f3cc.js"),["assets/reOrderArray.html-2a85f3cc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6496e807":b(()=>d(()=>import("./lastRemaining.html-51e53499.js"),["assets/lastRemaining.html-51e53499.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5abf406c":b(()=>d(()=>import("./moreThanHalfNum.html-65673d2d.js"),["assets/moreThanHalfNum.html-65673d2d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-633062b6":b(()=>d(()=>import("./numberOf1Between1AndN.html-9fef0706.js"),["assets/numberOf1Between1AndN.html-9fef0706.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-62756918":b(()=>d(()=>import("./duplicate.html-8e60fd9a.js"),["assets/duplicate.html-8e60fd9a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-28981616":b(()=>d(()=>import("./find.html-1c15b166.js"),["assets/find.html-1c15b166.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-51637169":b(()=>d(()=>import("./firstNotRepeatingChar.html-ff2fff22.js"),["assets/firstNotRepeatingChar.html-ff2fff22.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-30383696":b(()=>d(()=>import("./printMatrix.html-2523bfc8.js"),["assets/printMatrix.html-2523bfc8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5a9d2abd":b(()=>d(()=>import("./replaceSpace.html-fec156c7.js"),["assets/replaceSpace.html-fec156c7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-49a1d07f":b(()=>d(()=>import("./firstAppearingOnce.html-450a0d8a.js"),["assets/firstAppearingOnce.html-450a0d8a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2e660d84":b(()=>d(()=>import("./getLeastNumbers.html-b5b377c7.js"),["assets/getLeastNumbers.html-b5b377c7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c80ef512":b(()=>d(()=>import("./getMinInJSStack.html-87f911fc.js"),["assets/getMinInJSStack.html-87f911fc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7d68c18a":b(()=>d(()=>import("./insertAndGetMedian.html-34f7d5e1.js"),["assets/insertAndGetMedian.html-34f7d5e1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-12af7de3":b(()=>d(()=>import("./maxInWindows.html-80120122.js"),["assets/maxInWindows.html-80120122.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6e6c7962":b(()=>d(()=>import("./stackToQueue.html-91a88353.js"),["assets/stackToQueue.html-91a88353.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0d5a8f2e":b(()=>d(()=>import("./findPath.html-54e81340.js"),["assets/findPath.html-54e81340.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6eaf0302":b(()=>d(()=>import("./getNext.html-089414d8.js"),["assets/getNext.html-089414d8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d29ebf7a":b(()=>d(()=>import("./hasSubtree.html-c7d912b5.js"),["assets/hasSubtree.html-c7d912b5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-27179433":b(()=>d(()=>import("./isSymmetrical.html-30e5b71a.js"),["assets/isSymmetrical.html-30e5b71a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c092e642":b(()=>d(()=>import("./ktheNode.html-4aa32639.js"),["assets/ktheNode.html-4aa32639.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6d601248":b(()=>d(()=>import("./mirror.html-8369960f.js"),["assets/mirror.html-8369960f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-254d82be":b(()=>d(()=>import("./print.html-1cd35538.js"),["assets/print.html-1cd35538.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a2a13430":b(()=>d(()=>import("./reConstructBinaryTree.html-526ffb3f.js"),["assets/reConstructBinaryTree.html-526ffb3f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7b707b69":b(()=>d(()=>import("./cutRope.html-3a5ab66a.js"),["assets/cutRope.html-3a5ab66a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-78d02c75":b(()=>d(()=>import("./maxProfit.html-9920e0f9.js"),["assets/maxProfit.html-9920e0f9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-228935c6":b(()=>d(()=>import("./deleteDuplication.html-effdbc72.js"),["assets/deleteDuplication.html-effdbc72.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3e52c1fa":b(()=>d(()=>import("./entryNodeOfLoop.html-9c88b0ab.js"),["assets/entryNodeOfLoop.html-9c88b0ab.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-712af885":b(()=>d(()=>import("./findFirstCommonNode.html-58dafd81.js"),["assets/findFirstCommonNode.html-58dafd81.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b3e01b50":b(()=>d(()=>import("./findKthToTail.html-3157096f.js"),["assets/findKthToTail.html-3157096f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-20b0bf31":b(()=>d(()=>import("./merge.html-985b26e0.js"),["assets/merge.html-985b26e0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9115502e":b(()=>d(()=>import("./printListFromTailToHead.html-c0573bdd.js"),["assets/printListFromTailToHead.html-c0573bdd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2260fc6e":b(()=>d(()=>import("./reverseList.html-b5a537c9.js"),["assets/reverseList.html-b5a537c9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3706649a":b(()=>d(()=>import("./404.html-48e882d1.js"),["assets/404.html-48e882d1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5bc93818":b(()=>d(()=>import("./index.html-6d61d01d.js"),["assets/index.html-6d61d01d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-744d024e":b(()=>d(()=>import("./index.html-15bb9319.js"),["assets/index.html-15bb9319.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-e52c881c":b(()=>d(()=>import("./index.html-39f5d6c5.js"),["assets/index.html-39f5d6c5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-154dc4c4":b(()=>d(()=>import("./index.html-ec77ead0.js"),["assets/index.html-ec77ead0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-01560935":b(()=>d(()=>import("./index.html-2de2e4fa.js"),["assets/index.html-2de2e4fa.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2352c540":b(()=>d(()=>import("./index.html-d801628c.js"),["assets/index.html-d801628c.js","assets/plugin-vue_export-helper-c27b6911.js"]))};var $v=Symbol(""),Vc=Symbol(""),Nv=de({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),vn=()=>{const n=mn(Vc);if(!n)throw new Error("pageData() is called without provider.");return n},$c=Symbol(""),En=()=>{const n=mn($c);if(!n)throw new Error("usePageFrontmatter() is called without provider.");return n},Nc=Symbol(""),Bv=()=>{const n=mn(Nc);if(!n)throw new Error("usePageHead() is called without provider.");return n},Mv=Symbol(""),Bc=Symbol(""),ei=()=>{const n=mn(Bc);if(!n)throw new Error("usePageLang() is called without provider.");return n},Mc=Symbol(""),Hv=()=>{const n=mn(Mc);if(!n)throw new Error("usePageLayout() is called without provider.");return n},jv=j(Sv),ai=Symbol(""),Rs=()=>{const n=mn(ai);if(!n)throw new Error("useRouteLocale() is called without provider.");return n},Ee=j(Rv),Fv=()=>Ee,Hc=Symbol(""),qe=()=>{const n=mn(Hc);if(!n)throw new Error("useSiteLocaleData() is called without provider.");return n},zv=Symbol(""),qv="Layout",Uv="NotFound",Os=ya({resolveLayouts:n=>n.reduce((s,e)=>({...s,...e.layouts}),{}),resolvePageData:async n=>{const s=jv.value[n];return await(s==null?void 0:s())??Nv},resolvePageFrontmatter:n=>n.frontmatter,resolvePageHead:(n,s,e)=>{const a=tn(s.description)?s.description:e.description,t=[...Y(s.head)?s.head:[],...e.head,["title",{},n],["meta",{name:"description",content:a}]];return Iv(t)},resolvePageHeadTitle:(n,s)=>[n.title,s.title].filter(e=>!!e).join(" | "),resolvePageLang:(n,s)=>n.lang||s.lang||"en-US",resolvePageLayout:(n,s)=>{let e;if(n.path){const a=n.frontmatter.layout;tn(a)?e=a:e=qv}else e=Uv;return s[e]},resolveRouteLocale:(n,s)=>Vv(n,s),resolveSiteLocaleData:(n,s)=>({...n,...n.locales[s]})}),ft=C({name:"ClientOnly",setup(n,s){const e=j(!1);return rn(()=>{e.value=!0}),()=>{var a,t;return e.value?(t=(a=s.slots).default)==null?void 0:t.call(a):null}}}),ti=C({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(n){const s=vn(),e=w(()=>Dc[n.pageKey||s.value.key]);return()=>e.value?o(e.value):o("div","404 Not Found")}}),ys=(n={})=>n,Sn=n=>Bs(n)?n:`/JavaScriptCollection/${Oc(n)}`;const Jv={};/*! + * vue-router v4.2.4 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const we=typeof window<"u";function Gv(n){return n.__esModule||n[Symbol.toStringTag]==="Module"}const _n=Object.assign;function Bt(n,s){const e={};for(const a in s){const t=s[a];e[a]=_s(t)?t.map(n):n(t)}return e}const oa=()=>{},_s=Array.isArray,Wv=/\/$/,Kv=n=>n.replace(Wv,"");function Mt(n,s,e="/"){let a,t={},l="",i="";const r=s.indexOf("#");let c=s.indexOf("?");return r =0&&(c=-1),c>-1&&(a=s.slice(0,c),l=s.slice(c+1,r>-1?r:s.length),t=n(l)),r>-1&&(a=a||s.slice(0,r),i=s.slice(r,s.length)),a=Qv(a??s,e),{fullPath:a+(l&&"?")+l+i,path:a,query:t,hash:i}}function Yv(n,s){const e=s.query?n(s.query):"";return s.path+(e&&"?")+e+(s.hash||"")}function So(n,s){return!s||!n.toLowerCase().startsWith(s.toLowerCase())?n:n.slice(s.length)||"/"}function Xv(n,s,e){const a=s.matched.length-1,t=e.matched.length-1;return a>-1&&a===t&&Ne(s.matched[a],e.matched[t])&&jc(s.params,e.params)&&n(s.query)===n(e.query)&&s.hash===e.hash}function Ne(n,s){return(n.aliasOf||n)===(s.aliasOf||s)}function jc(n,s){if(Object.keys(n).length!==Object.keys(s).length)return!1;for(const e in n)if(!Zv(n[e],s[e]))return!1;return!0}function Zv(n,s){return _s(n)?Ro(n,s):_s(s)?Ro(s,n):n===s}function Ro(n,s){return _s(s)?n.length===s.length&&n.every((e,a)=>e===s[a]):n.length===1&&n[0]===s}function Qv(n,s){if(n.startsWith("/"))return n;if(!n)return s;const e=s.split("/"),a=n.split("/"),t=a[a.length-1];(t===".."||t===".")&&a.push("");let l=e.length-1,i,r;for(i=0;i 1&&l--;else break;return e.slice(0,l).join("/")+"/"+a.slice(i-(i===a.length?1:0)).join("/")}var ha;(function(n){n.pop="pop",n.push="push"})(ha||(ha={}));var ra;(function(n){n.back="back",n.forward="forward",n.unknown=""})(ra||(ra={}));function nk(n){if(!n)if(we){const s=document.querySelector("base");n=s&&s.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),Kv(n)}const sk=/^[^#]+#/;function ek(n,s){return n.replace(sk,"#")+s}function ak(n,s){const e=document.documentElement.getBoundingClientRect(),a=n.getBoundingClientRect();return{behavior:s.behavior,left:a.left-e.left-(s.left||0),top:a.top-e.top-(s.top||0)}}const gt=()=>({left:window.pageXOffset,top:window.pageYOffset});function tk(n){let s;if("el"in n){const e=n.el,a=typeof e=="string"&&e.startsWith("#"),t=typeof e=="string"?a?document.getElementById(e.slice(1)):document.querySelector(e):e;if(!t)return;s=ak(t,n)}else s=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(s):window.scrollTo(s.left!=null?s.left:window.pageXOffset,s.top!=null?s.top:window.pageYOffset)}function Po(n,s){return(history.state?history.state.position-s:-1)+n}const ul=new Map;function lk(n,s){ul.set(n,s)}function ik(n){const s=ul.get(n);return ul.delete(n),s}let ok=()=>location.protocol+"//"+location.host;function Fc(n,s){const{pathname:e,search:a,hash:t}=s,l=n.indexOf("#");if(l>-1){let r=t.includes(n.slice(l))?n.slice(l).length:1,c=t.slice(r);return c[0]!=="/"&&(c="/"+c),So(c,"")}return So(e,n)+a+t}function rk(n,s,e,a){let t=[],l=[],i=null;const r=({state:v})=>{const k=Fc(n,location),_=e.value,x=s.value;let L=0;if(v){if(e.value=k,s.value=v,i&&i===_){i=null;return}L=x?v.position-x.position:0}else a(k);t.forEach(g=>{g(e.value,_,{delta:L,type:ha.pop,direction:L?L>0?ra.forward:ra.back:ra.unknown})})};function c(){i=e.value}function p(v){t.push(v);const k=()=>{const _=t.indexOf(v);_>-1&&t.splice(_,1)};return l.push(k),k}function u(){const{history:v}=window;v.state&&v.replaceState(_n({},v.state,{scroll:gt()}),"")}function m(){for(const v of l)v();l=[],window.removeEventListener("popstate",r),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",r),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:p,destroy:m}}function Io(n,s,e,a=!1,t=!1){return{back:n,current:s,forward:e,replaced:a,position:window.history.length,scroll:t?gt():null}}function ck(n){const{history:s,location:e}=window,a={value:Fc(n,e)},t={value:s.state};t.value||l(a.value,{back:null,current:a.value,forward:null,position:s.length-1,replaced:!0,scroll:null},!0);function l(c,p,u){const m=n.indexOf("#"),v=m>-1?(e.host&&document.querySelector("base")?n:n.slice(m))+c:ok()+n+c;try{s[u?"replaceState":"pushState"](p,"",v),t.value=p}catch(k){console.error(k),e[u?"replace":"assign"](v)}}function i(c,p){const u=_n({},s.state,Io(t.value.back,c,t.value.forward,!0),p,{position:t.value.position});l(c,u,!0),a.value=c}function r(c,p){const u=_n({},t.value,s.state,{forward:c,scroll:gt()});l(u.current,u,!0);const m=_n({},Io(a.value,c,null),{position:u.position+1},p);l(c,m,!1),a.value=c}return{location:a,state:t,push:r,replace:i}}function pk(n){n=nk(n);const s=ck(n),e=rk(n,s.state,s.location,s.replace);function a(l,i=!0){i||e.pauseListeners(),history.go(l)}const t=_n({location:"",base:n,go:a,createHref:ek.bind(null,n)},s,e);return Object.defineProperty(t,"location",{enumerable:!0,get:()=>s.location.value}),Object.defineProperty(t,"state",{enumerable:!0,get:()=>s.state.value}),t}function uk(n){return typeof n=="string"||n&&typeof n=="object"}function zc(n){return typeof n=="string"||typeof n=="symbol"}const Ds={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},qc=Symbol("");var Co;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(Co||(Co={}));function Be(n,s){return _n(new Error,{type:n,[qc]:!0},s)}function Is(n,s){return n instanceof Error&&qc in n&&(s==null||!!(n.type&s))}const Oo="[^/]+?",dk={sensitive:!1,strict:!1,start:!0,end:!0},mk=/[.+*?^${}()[\]/\\]/g;function vk(n,s){const e=_n({},dk,s),a=[];let t=e.start?"^":"";const l=[];for(const p of n){const u=p.length?[]:[90];e.strict&&!p.length&&(t+="/");for(let m=0;m s.length?s.length===1&&s[0]===40+40?1:-1:0}function bk(n,s){let e=0;const a=n.score,t=s.score;for(;e 0&&s[s.length-1]<0}const hk={type:0,value:""},fk=/[a-zA-Z0-9_]/;function gk(n){if(!n)return[[]];if(n==="/")return[[hk]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function s(k){throw new Error(`ERR (${e})/"${p}": ${k}`)}let e=0,a=e;const t=[];let l;function i(){l&&t.push(l),l=[]}let r=0,c,p="",u="";function m(){p&&(e===0?l.push({type:0,value:p}):e===1||e===2||e===3?(l.length>1&&(c==="*"||c==="+")&&s(`A repeatable param (${p}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:p,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):s("Invalid state to consume buffer"),p="")}function v(){p+=c}for(;r {i(y)}:oa}function i(u){if(zc(u)){const m=a.get(u);m&&(a.delete(u),e.splice(e.indexOf(m),1),m.children.forEach(i),m.alias.forEach(i))}else{const m=e.indexOf(u);m>-1&&(e.splice(m,1),u.record.name&&a.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function r(){return e}function c(u){let m=0;for(;m =0&&(u.record.path!==e[m].record.path||!Uc(u,e[m]));)m++;e.splice(m,0,u),u.record.name&&!$o(u)&&a.set(u.record.name,u)}function p(u,m){let v,k={},_,x;if("name"in u&&u.name){if(v=a.get(u.name),!v)throw Be(1,{location:u});x=v.record.name,k=_n(Vo(m.params,v.keys.filter(y=>!y.optional).map(y=>y.name)),u.params&&Vo(u.params,v.keys.map(y=>y.name))),_=v.stringify(k)}else if("path"in u)_=u.path,v=e.find(y=>y.re.test(_)),v&&(k=v.parse(_),x=v.record.name);else{if(v=m.name?a.get(m.name):e.find(y=>y.re.test(m.path)),!v)throw Be(1,{location:u,currentLocation:m});x=v.record.name,k=_n({},m.params,u.params),_=v.stringify(k)}const L=[];let g=v;for(;g;)L.unshift(g.record),g=g.parent;return{name:x,path:_,params:k,matched:L,meta:xk(L)}}return n.forEach(u=>l(u)),{addRoute:l,resolve:p,removeRoute:i,getRoutes:r,getRecordMatcher:t}}function Vo(n,s){const e={};for(const a of s)a in n&&(e[a]=n[a]);return e}function wk(n){return{path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:void 0,beforeEnter:n.beforeEnter,props:Ek(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}}}function Ek(n){const s={},e=n.props||!1;if("component"in n)s.default=e;else for(const a in n.components)s[a]=typeof e=="object"?e[a]:e;return s}function $o(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function xk(n){return n.reduce((s,e)=>_n(s,e.meta),{})}function No(n,s){const e={};for(const a in n)e[a]=a in s?s[a]:n[a];return e}function Uc(n,s){return s.children.some(e=>e===n||Uc(n,e))}const Jc=/#/g,Lk=/&/g,Tk=/\//g,Ak=/=/g,Sk=/\?/g,Gc=/\+/g,Rk=/%5B/g,Pk=/%5D/g,Wc=/%5E/g,Ik=/%60/g,Kc=/%7B/g,Ck=/%7C/g,Yc=/%7D/g,Ok=/%20/g;function li(n){return encodeURI(""+n).replace(Ck,"|").replace(Rk,"[").replace(Pk,"]")}function Dk(n){return li(n).replace(Kc,"{").replace(Yc,"}").replace(Wc,"^")}function dl(n){return li(n).replace(Gc,"%2B").replace(Ok,"+").replace(Jc,"%23").replace(Lk,"%26").replace(Ik,"`").replace(Kc,"{").replace(Yc,"}").replace(Wc,"^")}function Vk(n){return dl(n).replace(Ak,"%3D")}function $k(n){return li(n).replace(Jc,"%23").replace(Sk,"%3F")}function Nk(n){return n==null?"":$k(n).replace(Tk,"%2F")}function ot(n){try{return decodeURIComponent(""+n)}catch{}return""+n}function Bk(n){const s={};if(n===""||n==="?")return s;const a=(n[0]==="?"?n.slice(1):n).split("&");for(let t=0;t l&&dl(l)):[a&&dl(a)]).forEach(l=>{l!==void 0&&(s+=(s.length?"&":"")+e,l!=null&&(s+="="+l))})}return s}function Mk(n){const s={};for(const e in n){const a=n[e];a!==void 0&&(s[e]=_s(a)?a.map(t=>t==null?null:""+t):a==null?a:""+a)}return s}const Hk=Symbol(""),Mo=Symbol(""),_t=Symbol(""),ii=Symbol(""),ml=Symbol("");function na(){let n=[];function s(a){return n.push(a),()=>{const t=n.indexOf(a);t>-1&&n.splice(t,1)}}function e(){n=[]}return{add:s,list:()=>n.slice(),reset:e}}function Js(n,s,e,a,t){const l=a&&(a.enterCallbacks[t]=a.enterCallbacks[t]||[]);return()=>new Promise((i,r)=>{const c=m=>{m===!1?r(Be(4,{from:e,to:s})):m instanceof Error?r(m):uk(m)?r(Be(2,{from:s,to:m})):(l&&a.enterCallbacks[t]===l&&typeof m=="function"&&l.push(m),i())},p=n.call(a&&a.instances[t],s,e,c);let u=Promise.resolve(p);n.length<3&&(u=u.then(c)),u.catch(m=>r(m))})}function Ht(n,s,e,a){const t=[];for(const l of n)for(const i in l.components){let r=l.components[i];if(!(s!=="beforeRouteEnter"&&!l.instances[i]))if(jk(r)){const p=(r.__vccOpts||r)[s];p&&t.push(Js(p,e,a,l,i))}else{let c=r();t.push(()=>c.then(p=>{if(!p)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${l.path}"`));const u=Gv(p)?p.default:p;l.components[i]=u;const v=(u.__vccOpts||u)[s];return v&&Js(v,e,a,l,i)()}))}}return t}function jk(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function vl(n){const s=mn(_t),e=mn(ii),a=w(()=>s.resolve(hs(n.to))),t=w(()=>{const{matched:c}=a.value,{length:p}=c,u=c[p-1],m=e.matched;if(!u||!m.length)return-1;const v=m.findIndex(Ne.bind(null,u));if(v>-1)return v;const k=Ho(c[p-2]);return p>1&&Ho(u)===k&&m[m.length-1].path!==k?m.findIndex(Ne.bind(null,c[p-2])):v}),l=w(()=>t.value>-1&&Uk(e.params,a.value.params)),i=w(()=>t.value>-1&&t.value===e.matched.length-1&&jc(e.params,a.value.params));function r(c={}){return qk(c)?s[hs(n.replace)?"replace":"push"](hs(n.to)).catch(oa):Promise.resolve()}return{route:a,href:w(()=>a.value.href),isActive:l,isExactActive:i,navigate:r}}const Fk=C({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:vl,setup(n,{slots:s}){const e=ya(vl(n)),{options:a}=mn(_t),t=w(()=>({[jo(n.activeClass,a.linkActiveClass,"router-link-active")]:e.isActive,[jo(n.exactActiveClass,a.linkExactActiveClass,"router-link-exact-active")]:e.isExactActive}));return()=>{const l=s.default&&s.default(e);return n.custom?l:o("a",{"aria-current":e.isExactActive?n.ariaCurrentValue:null,href:e.href,onClick:e.navigate,class:t.value},l)}}}),zk=Fk;function qk(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const s=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(s))return}return n.preventDefault&&n.preventDefault(),!0}}function Uk(n,s){for(const e in s){const a=s[e],t=n[e];if(typeof a=="string"){if(a!==t)return!1}else if(!_s(t)||t.length!==a.length||a.some((l,i)=>l!==t[i]))return!1}return!0}function Ho(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const jo=(n,s,e)=>n??s??e,Jk=C({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:s,slots:e}){const a=mn(ml),t=w(()=>n.route||a.value),l=mn(Mo,0),i=w(()=>{let p=hs(l);const{matched:u}=t.value;let m;for(;(m=u[p])&&!m.components;)p++;return p}),r=w(()=>t.value.matched[i.value]);cs(Mo,w(()=>i.value+1)),cs(Hk,r),cs(ml,t);const c=j();return ln(()=>[c.value,r.value,n.name],([p,u,m],[v,k,_])=>{u&&(u.instances[m]=p,k&&k!==u&&p&&p===v&&(u.leaveGuards.size||(u.leaveGuards=k.leaveGuards),u.updateGuards.size||(u.updateGuards=k.updateGuards))),p&&u&&(!k||!Ne(u,k)||!v)&&(u.enterCallbacks[m]||[]).forEach(x=>x(p))},{flush:"post"}),()=>{const p=t.value,u=n.name,m=r.value,v=m&&m.components[u];if(!v)return Fo(e.default,{Component:v,route:p});const k=m.props[u],_=k?k===!0?p.params:typeof k=="function"?k(p):k:null,L=o(v,_n({},_,s,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(m.instances[u]=null)},ref:c}));return Fo(e.default,{Component:L,route:p})||L}}});function Fo(n,s){if(!n)return null;const e=n(s);return e.length===1?e[0]:e}const Xc=Jk;function Gk(n){const s=yk(n.routes,n),e=n.parseQuery||Bk,a=n.stringifyQuery||Bo,t=n.history,l=na(),i=na(),r=na(),c=Bn(Ds);let p=Ds;we&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Bt.bind(null,A=>""+A),m=Bt.bind(null,Nk),v=Bt.bind(null,ot);function k(A,H){let N,W;return zc(A)?(N=s.getRecordMatcher(A),W=H):W=A,s.addRoute(W,N)}function _(A){const H=s.getRecordMatcher(A);H&&s.removeRoute(H)}function x(){return s.getRoutes().map(A=>A.record)}function L(A){return!!s.getRecordMatcher(A)}function g(A,H){if(H=_n({},H||c.value),typeof A=="string"){const E=Mt(e,A,H.path),T=s.resolve({path:E.path},H),R=t.createHref(E.fullPath);return _n(E,T,{params:v(T.params),hash:ot(E.hash),redirectedFrom:void 0,href:R})}let N;if("path"in A)N=_n({},A,{path:Mt(e,A.path,H.path).path});else{const E=_n({},A.params);for(const T in E)E[T]==null&&delete E[T];N=_n({},A,{params:m(E)}),H.params=m(H.params)}const W=s.resolve(N,H),kn=A.hash||"";W.params=u(v(W.params));const h=Yv(a,_n({},A,{hash:Dk(kn),path:W.path})),f=t.createHref(h);return _n({fullPath:h,hash:kn,query:a===Bo?Mk(A.query):A.query||{}},W,{redirectedFrom:void 0,href:f})}function y(A){return typeof A=="string"?Mt(e,A,c.value.path):_n({},A)}function V(A,H){if(p!==A)return Be(8,{from:H,to:A})}function D(A){return K(A)}function U(A){return D(_n(y(A),{replace:!0}))}function O(A){const H=A.matched[A.matched.length-1];if(H&&H.redirect){const{redirect:N}=H;let W=typeof N=="function"?N(A):N;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=y(W):{path:W},W.params={}),_n({query:A.query,hash:A.hash,params:"path"in W?{}:A.params},W)}}function K(A,H){const N=p=g(A),W=c.value,kn=A.state,h=A.force,f=A.replace===!0,E=O(N);if(E)return K(_n(y(E),{state:typeof E=="object"?_n({},kn,E.state):kn,force:h,replace:f}),H||N);const T=N;T.redirectedFrom=H;let R;return!h&&Xv(a,W,N)&&(R=Be(16,{to:T,from:W}),Gn(W,W,!0,!1)),(R?Promise.resolve(R):F(T,W)).catch(P=>Is(P)?Is(P,2)?P:ws(P):sn(P,T,W)).then(P=>{if(P){if(Is(P,2))return K(_n({replace:f},y(P.to),{state:typeof P.to=="object"?_n({},kn,P.to.state):kn,force:h}),H||T)}else P=z(T,W,!0,f,kn);return on(T,W,P),P})}function S(A,H){const N=V(A,H);return N?Promise.reject(N):Promise.resolve()}function q(A){const H=as.values().next().value;return H&&typeof H.runWithContext=="function"?H.runWithContext(A):A()}function F(A,H){let N;const[W,kn,h]=Wk(A,H);N=Ht(W.reverse(),"beforeRouteLeave",A,H);for(const E of W)E.leaveGuards.forEach(T=>{N.push(Js(T,A,H))});const f=S.bind(null,A,H);return N.push(f),Dn(N).then(()=>{N=[];for(const E of l.list())N.push(Js(E,A,H));return N.push(f),Dn(N)}).then(()=>{N=Ht(kn,"beforeRouteUpdate",A,H);for(const E of kn)E.updateGuards.forEach(T=>{N.push(Js(T,A,H))});return N.push(f),Dn(N)}).then(()=>{N=[];for(const E of h)if(E.beforeEnter)if(_s(E.beforeEnter))for(const T of E.beforeEnter)N.push(Js(T,A,H));else N.push(Js(E.beforeEnter,A,H));return N.push(f),Dn(N)}).then(()=>(A.matched.forEach(E=>E.enterCallbacks={}),N=Ht(h,"beforeRouteEnter",A,H),N.push(f),Dn(N))).then(()=>{N=[];for(const E of i.list())N.push(Js(E,A,H));return N.push(f),Dn(N)}).catch(E=>Is(E,8)?E:Promise.reject(E))}function on(A,H,N){r.list().forEach(W=>q(()=>W(A,H,N)))}function z(A,H,N,W,kn){const h=V(A,H);if(h)return h;const f=H===Ds,E=we?history.state:{};N&&(W||f?t.replace(A.fullPath,_n({scroll:f&&E&&E.scroll},kn)):t.push(A.fullPath,kn)),c.value=A,Gn(A,H,N,f),ws()}let Q;function J(){Q||(Q=t.listen((A,H,N)=>{if(!Ms.listening)return;const W=g(A),kn=O(W);if(kn){K(_n(kn,{replace:!0}),W).catch(oa);return}p=W;const h=c.value;we&&lk(Po(h.fullPath,N.delta),gt()),F(W,h).catch(f=>Is(f,12)?f:Is(f,2)?(K(f.to,W).then(E=>{Is(E,20)&&!N.delta&&N.type===ha.pop&&t.go(-1,!1)}).catch(oa),Promise.reject()):(N.delta&&t.go(-N.delta,!1),sn(f,W,h))).then(f=>{f=f||z(W,h,!1),f&&(N.delta&&!Is(f,8)?t.go(-N.delta,!1):N.type===ha.pop&&Is(f,20)&&t.go(-1,!1)),on(W,h,f)}).catch(oa)}))}let Rn=na(),cn=na(),gn;function sn(A,H,N){ws(A);const W=cn.list();return W.length?W.forEach(kn=>kn(A,H,N)):console.error(A),Promise.reject(A)}function ds(){return gn&&c.value!==Ds?Promise.resolve():new Promise((A,H)=>{Rn.add([A,H])})}function ws(A){return gn||(gn=!A,J(),Rn.list().forEach(([H,N])=>A?N(A):H()),Rn.reset()),A}function Gn(A,H,N,W){const{scrollBehavior:kn}=n;if(!we||!kn)return Promise.resolve();const h=!N&&ik(Po(A.fullPath,0))||(W||!N)&&history.state&&history.state.scroll||null;return me().then(()=>kn(A,H,h)).then(f=>f&&tk(f)).catch(f=>sn(f,A,H))}const In=A=>t.go(A);let Ps;const as=new Set,Ms={currentRoute:c,listening:!0,addRoute:k,removeRoute:_,hasRoute:L,getRoutes:x,resolve:g,options:n,push:D,replace:U,go:In,back:()=>In(-1),forward:()=>In(1),beforeEach:l.add,beforeResolve:i.add,afterEach:r.add,onError:cn.add,isReady:ds,install(A){const H=this;A.component("RouterLink",zk),A.component("RouterView",Xc),A.config.globalProperties.$router=H,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>hs(c)}),we&&!Ps&&c.value===Ds&&(Ps=!0,D(t.location).catch(kn=>{}));const N={};for(const kn in Ds)Object.defineProperty(N,kn,{get:()=>c.value[kn],enumerable:!0});A.provide(_t,H),A.provide(ii,jr(N)),A.provide(ml,c);const W=A.unmount;as.add(A),A.unmount=function(){as.delete(A),as.size<1&&(p=Ds,Q&&Q(),Q=null,c.value=Ds,Ps=!1,gn=!1),W()}}};function Dn(A){return A.reduce((H,N)=>H.then(()=>q(N)),Promise.resolve())}return Ms}function Wk(n,s){const e=[],a=[],t=[],l=Math.max(s.matched.length,n.matched.length);for(let i=0;i Ne(p,r))?a.push(r):e.push(r));const c=n.matched[i];c&&(s.matched.find(p=>Ne(p,c))||t.push(c))}return[e,a,t]}function Fn(){return mn(_t)}function us(){return mn(ii)}var Jn=Uint8Array,xe=Uint16Array,Kk=Int32Array,Zc=new Jn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Qc=new Jn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Yk=new Jn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),np=function(n,s){for(var e=new xe(31),a=0;a<31;++a)e[a]=s+=1< >1|(An&21845)<<1;zs=(zs&52428)>>2|(zs&13107)<<2,zs=(zs&61680)>>4|(zs&3855)<<4,kl[An]=((zs&65280)>>8|(zs&255)<<8)>>1}var ca=function(n,s,e){for(var a=n.length,t=0,l=new xe(s);t>c]=p}else for(r=new xe(a),t=0;t>15-n[t]);return r},xa=new Jn(288);for(var An=0;An<144;++An)xa[An]=8;for(var An=144;An<256;++An)xa[An]=9;for(var An=256;An<280;++An)xa[An]=7;for(var An=280;An<288;++An)xa[An]=8;var ap=new Jn(32);for(var An=0;An<32;++An)ap[An]=5;var n1=ca(xa,9,1),s1=ca(ap,5,1),jt=function(n){for(var s=n[0],e=1;e s&&(s=n[e]);return s},vs=function(n,s,e){var a=s/8|0;return(n[a]|n[a+1]<<8)>>(s&7)&e},Ft=function(n,s){var e=s/8|0;return(n[e]|n[e+1]<<8|n[e+2]<<16)>>(s&7)},e1=function(n){return(n+7)/8|0},oi=function(n,s,e){(s==null||s<0)&&(s=0),(e==null||e>n.length)&&(e=n.length);var a=new Jn(e-s);return a.set(n.subarray(s,e)),a},a1=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],is=function(n,s,e){var a=new Error(s||a1[n]);if(a.code=n,Error.captureStackTrace&&Error.captureStackTrace(a,is),!e)throw a;return a},t1=function(n,s,e,a){var t=n.length,l=a?a.length:0;if(!t||s.f&&!s.l)return e||new Jn(0);var i=!e||s.i!=2,r=s.i;e||(e=new Jn(t*3));var c=function(W){var kn=e.length;if(W>kn){var h=new Jn(Math.max(kn*2,W));h.set(e),e=h}},p=s.f||0,u=s.p||0,m=s.b||0,v=s.l,k=s.d,_=s.m,x=s.n,L=t*8;do{if(!v){p=vs(n,u,1);var g=vs(n,u+1,3);if(u+=3,g)if(g==1)v=n1,k=s1,_=9,x=5;else if(g==2){var U=vs(n,u,31)+257,O=vs(n,u+10,15)+4,K=U+vs(n,u+5,31)+1;u+=14;for(var S=new Jn(K),q=new Jn(19),F=0;F >4;if(y<16)S[F++]=y;else{var Rn=0,cn=0;for(y==16?(cn=3+vs(n,u,3),u+=2,Rn=S[F-1]):y==17?(cn=3+vs(n,u,7),u+=3):y==18&&(cn=11+vs(n,u,127),u+=7);cn--;)S[F++]=Rn}}var gn=S.subarray(0,U),sn=S.subarray(U);_=jt(gn),x=jt(sn),v=ca(gn,_,1),k=ca(sn,x,1)}else is(1);else{var y=e1(u)+4,V=n[y-4]|n[y-3]<<8,D=y+V;if(D>t){r&&is(0);break}i&&c(m+V),e.set(n.subarray(y,D),m),s.b=m+=V,s.p=u=D*8,s.f=p;continue}if(u>L){r&&is(0);break}}i&&c(m+131072);for(var ds=(1<<_)-1,ws=(1< >4;if(u+=Rn&15,u>L){r&&is(0);break}if(Rn||is(2),In<256)e[m++]=In;else if(In==256){Gn=u,v=null;break}else{var Ps=In-254;if(In>264){var F=In-257,as=Zc[F];Ps=vs(n,u,(1< >4;Ms||is(3),u+=Ms&15;var sn=Qk[Dn];if(Dn>3){var as=Qc[Dn];sn+=Ft(n,u)&(1< L){r&&is(0);break}i&&c(m+131072);var A=m+Ps;if(m >4>7||(n[0]<<8|n[1])%31)&&is(6,"invalid zlib data"),(n[1]>>5&1)==+!s&&is(6,"invalid zlib data: "+(n[1]&32?"need":"unexpected")+" dictionary"),(n[1]>>3&4)+2};function o1(n,s){return t1(n.subarray(i1(n,s&&s.dictionary),-4),{i:2},s&&s.out,s&&s.dictionary)}var zo=typeof TextEncoder<"u"&&new TextEncoder,bl=typeof TextDecoder<"u"&&new TextDecoder,r1=0;try{bl.decode(l1,{stream:!0}),r1=1}catch{}var c1=function(n){for(var s="",e=0;;){var a=n[e++],t=(a>127)+(a>223)+(a>239);if(e+t>n.length)return{s,r:oi(n,e-1)};t?t==3?(a=((a&15)<<18|(n[e++]&63)<<12|(n[e++]&63)<<6|n[e++]&63)-65536,s+=String.fromCharCode(55296|a>>10,56320|a&1023)):t&1?s+=String.fromCharCode((a&31)<<6|n[e++]&63):s+=String.fromCharCode((a&15)<<12|(n[e++]&63)<<6|n[e++]&63):s+=String.fromCharCode(a)}};function p1(n,s){if(s){for(var e=new Jn(n.length),a=0;a >1)),i=0,r=function(u){l[i++]=u},a=0;a l.length){var c=new Jn(i+8+(t-a<<1));c.set(l),l=c}var p=n.charCodeAt(a);p<128||s?r(p):p<2048?(r(192|p>>6),r(128|p&63)):p>55295&&p<57344?(p=65536+(p&1047552)|n.charCodeAt(++a)&1023,r(240|p>>18),r(128|p>>12&63),r(128|p>>6&63),r(128|p&63)):(r(224|p>>12),r(128|p>>6&63),r(128|p&63))}return oi(l,0,i)}function u1(n,s){if(s){for(var e="",a=0;a {var a;return o("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${n}-icon`],viewBox:"0 0 1024 1024",fill:s,"aria-label":`${n} icon`},(a=e.default)==null?void 0:a.call(e))};an.displayName="IconBase";const Ue=({size:n=48,stroke:s=4,wrapper:e=!0,height:a=2*n})=>{const t=o("svg",{xmlns:"http://www.w3.org/2000/svg",width:n,height:n,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[o("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),o("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":s,"stroke-linecap":"round"},[o("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),o("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return e?o("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${a}px`},t):t};Ue.displayName="LoadingIcon";const tp=(n,{slots:s})=>{var e;return(e=s.default)==null?void 0:e.call(s)},d1=n=>/\b(?:Android|iPhone)/i.test(n),m1=n=>/version\/([\w.]+) .*(mobile ?safari|safari)/i.test(n),lp=n=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(s=>s.test(n)),v1=n=>[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i].some(s=>s.test(n)),k1=n=>[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i].some(s=>s.test(n)),ri=(n="")=>{if(n){if(typeof n=="number")return new Date(n);const s=Date.parse(n.toString());if(!Number.isNaN(s))return new Date(s)}return null},yt=(n,s)=>{let e=1;for(let a=0;a >6;return e+=e<<3,e^=e>>11,e%s},ci=Array.isArray,b1=n=>typeof n=="function",h1=n=>typeof n=="string";var f1=n=>n.startsWith("ftp://"),wt=n=>/^(https?:)?\/\//.test(n),g1=/.md((\?|#).*)?$/,_1=(n,s="/")=>!!(wt(n)||f1(n)||n.startsWith("/")&&!n.startsWith(s)&&!g1.test(n)),Pe=n=>Object.prototype.toString.call(n)==="[object Object]";function y1(){const n=j(!1);return ke()&&rn(()=>{n.value=!0}),n}function w1(n){return y1(),w(()=>!!n())}const E1=n=>typeof n=="function",Ts=n=>typeof n=="string",ne=(n,s)=>Ts(n)&&n.startsWith(s),x1=(n,s)=>Ts(n)&&n.endsWith(s),be=Object.entries,L1=Object.fromEntries,As=Object.keys,qo=(n,...s)=>{if(s.length===0)return n;const e=s.shift()||null;return e&&be(e).forEach(([a,t])=>{a==="__proto__"||a==="constructor"||(Pe(n[a])&&Pe(t)?qo(n[a],t):ci(t)?n[a]=[...t]:Pe(t)?n[a]={...t}:n[a]=e[a])}),qo(n,...s)},T1=n=>(n.endsWith(".md")&&(n=`${n.slice(0,-3)}.html`),!n.endsWith("/")&&!n.endsWith(".html")&&(n=`${n}.html`),n=n.replace(/(^|\/)(?:README|index).html$/i,"$1"),n),ip=n=>{const[s,e=""]=n.split("#");return s?`${T1(s)}${e?`#${e}`:""}`:n},Uo=n=>Pe(n)&&Ts(n.name),fa=(n,s=!1)=>n?ci(n)?n.map(e=>Ts(e)?{name:e}:Uo(e)?e:null).filter(e=>e!==null):Ts(n)?[{name:n}]:Uo(n)?[n]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${s?"":"| false"} | undefined\`, but got`,n),[]):[],op=(n,s)=>{if(n){if(ci(n)&&n.every(Ts))return n;if(Ts(n))return[n];console.error(`Expect ${s||"value"} to be \`string[] | string | undefined\`, but got`,n)}return[]},rp=n=>op(n,"category"),cp=n=>op(n,"tag"),Je=n=>ne(n,"/");let A1=class{constructor(){Xe(this,"containerElement");Xe(this,"messageElements",{});const s="message-container",e=document.getElementById(s);e?this.containerElement=e:(this.containerElement=document.createElement("div"),this.containerElement.id=s,document.body.appendChild(this.containerElement))}pop(s,e=2e3){const a=document.createElement("div"),t=Date.now();return a.className="message move-in",a.innerHTML=s,this.containerElement.appendChild(a),this.messageElements[t]=a,e>0&&setTimeout(()=>{this.close(t)},e),t}close(s){if(s){const e=this.messageElements[s];e.classList.remove("move-in"),e.classList.add("move-out"),e.addEventListener("animationend",()=>{e.remove(),delete this.messageElements[s]})}else As(this.messageElements).forEach(e=>this.close(Number(e)))}destroy(){document.body.removeChild(this.containerElement)}};const pp=/#.*$/u,S1=n=>{const s=pp.exec(n);return s?s[0]:""},Jo=n=>decodeURI(n).replace(pp,"").replace(/(index)?\.(md|html)$/,""),pi=(n,s)=>{if(s===void 0)return!1;const e=Jo(n.path),a=Jo(s),t=S1(s);return t?t===n.hash&&(!a||e===a):e===a};let R1=class{constructor(){Xe(this,"containerElement");Xe(this,"popupElements",{});const s="popup-container",e=document.getElementById(s);e?this.containerElement=e:(this.containerElement=document.createElement("div"),this.containerElement.id=s,document.body.appendChild(this.containerElement))}emit(s,e){const a=document.createElement("div"),t=document.createElement("div"),l=Date.now();return this.containerElement.appendChild(a),this.popupElements[l]=a,a.className="popup-wrapper appear",a.appendChild(t),a.addEventListener("click",()=>this.close(l)),t.className="popup-container",t.innerHTML=s,typeof e=="number"&&setTimeout(()=>{this.close(l)},e),l}close(s){if(s){const e=this.popupElements[s];e.classList.replace("appear","disappear"),e.children[0].addEventListener("animationend",()=>{e.remove(),delete this.popupElements[s]})}else As(this.popupElements).forEach(e=>this.close(Number(e)))}destroy(){document.body.removeChild(this.containerElement)}};const P1=n=>{const s=atob(n);return u1(o1(p1(s,!0)))},I1=n=>wt(n)?n:`https://github.com/${n}`,up=n=>!wt(n)||/github\.com/.test(n)?"GitHub":/bitbucket\.org/.test(n)?"Bitbucket":/gitlab\.com/.test(n)?"GitLab":/gitee\.com/.test(n)?"Gitee":null,Me=(n,...s)=>{const e=n.resolve(...s),a=e.matched[e.matched.length-1];if(!(a!=null&&a.redirect))return e;const{redirect:t}=a,l=b1(t)?t(e):t,i=h1(l)?{path:l}:l;return Me(n,{hash:e.hash,query:e.query,params:e.params,...i})},C1=n=>{if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget){const s=n.currentTarget.getAttribute("target");if(s!=null&&s.match(/\b_blank\b/i))return}return n.preventDefault(),!0}},O1=()=>{const{availWidth:n,availHeight:s}=screen,{screenLeft:e,screenTop:a,innerWidth:t,innerHeight:l}=window,i=Math.max(n/2,600),r=Math.max(s/2,400);return{width:i,height:r,left:e+t/2-i/2,top:a+l/2-r/2}},D1=(n,s="_blank",e=["resizable","status"])=>{var a,t;const{width:l,height:i,left:r,top:c}=O1();(t=(a=window.open(n,s,`width=${l},height=${i},left=${r},top=${c},${e.join(",")}`))==null?void 0:a.focus)==null||t.call(a)},zn=({to:n="",class:s="",...e},{slots:a})=>{var t;const l=Fn(),i=(r={})=>C1(r)?l.push(n).catch():Promise.resolve();return o("a",{...e,class:["vp-link",s],href:Sn(ip(n)),onClick:i},(t=a.default)==null?void 0:t.call(a))};zn.displayName="VPLink";const dp=()=>o(an,{name:"github"},()=>o("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));dp.displayName="GitHubIcon";const mp=()=>o(an,{name:"gitlab"},()=>o("path",{d:"M229.333 78.688C223.52 62 199.895 62 193.895 78.688L87.958 406.438h247.5c-.188 0-106.125-327.75-106.125-327.75zM33.77 571.438c-4.875 15 .563 31.687 13.313 41.25l464.812 345L87.77 406.438zm301.5-165 176.813 551.25 176.812-551.25zm655.125 165-54-165-424.312 551.25 464.812-345c12.938-9.563 18.188-26.25 13.5-41.25zM830.27 78.688c-5.812-16.688-29.437-16.688-35.437 0l-106.125 327.75h247.5z"}));mp.displayName="GitLabIcon";const vp=()=>o(an,{name:"gitee"},()=>o("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));vp.displayName="GiteeIcon";const kp=()=>o(an,{name:"bitbucket"},()=>o("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));kp.displayName="BitbucketIcon";const bp=()=>o(an,{name:"source"},()=>o("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));bp.displayName="SourceIcon";const $n=(n,s)=>{const e=s?s._instance:ke();return Pe(e==null?void 0:e.appContext.components)&&(n in e.appContext.components||ps(n)in e.appContext.components||_a(ps(n))in e.appContext.components)},V1=()=>w1(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),hp=()=>{const n=V1();return w(()=>n.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},se=n=>{const s=Rs();return w(()=>n[s.value])};var $1=C({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(n){const s=w(()=>{const a=["font-icon icon"],t=`${n.icon}`;return a.push(t),a}),e=w(()=>{const a={};return n.color&&(a.color=n.color),n.size&&(a["font-size"]=Number.isNaN(Number(n.size))?n.size:`${n.size}px`),As(a).length?a:null});return()=>n.icon?o("span",{key:n.icon,class:s.value,style:e.value}):null}});const Gs=n=>Bs(n)?n:Sn(n);var N1=C({name:"AudioPlayer",props:{options:{type:Object,default:()=>({})},src:{type:String,required:!0},title:{type:String,default:""},type:{type:String,default:""},poster:{type:String,default:""},width:{type:[String,Number],default:"100%"},loop:Boolean},setup(n){let s=null;const e=Bn(),a=w(()=>({hideYouTubeDOMError:!0,...n.options}));return rn(async()=>{const{default:t}=await d(()=>import("./plyr.min-d2156373.js"),[]);s=new t(e.value,a.value)}),Wl(()=>{try{s==null||s.destroy()}catch{}}),()=>o("div",{class:"vp-audio-player",style:{width:n.width}},[o("a",{class:"sr-only",href:Gs(n.src),innerHTML:n.title||"An audio"}),n.poster?o("img",{class:"vp-audio-player-poster",src:Gs(n.poster),"no-view":""}):null,o("div",{class:"vp-audio-player-info"},[n.title?o("div",{class:"vp-audio-player-title",innerHTML:n.title}):null,o("audio",{ref:e,crossorigin:"anonymous",preload:"metadata",controls:"",...n.loop?{loop:""}:{}},o("source",{src:Gs(n.src),type:n.type}))])])}});const fp=({type:n="info",text:s="",vertical:e,color:a},{slots:t})=>{var l;return o("span",{class:["vp-badge",n,{diy:a}],style:{verticalAlign:e??!1,backgroundColor:a??!1}},((l=t.default)==null?void 0:l.call(t))||s)};fp.displayName="Badge";const ui="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture";function Go(n,s){var e;const a=Bn();return Zr(()=>{a.value=n()},{...s,flush:(e=s==null?void 0:s.flush)!=null?e:"sync"}),de(a)}function B1(n,s){let e,a,t;const l=j(!0),i=()=>{l.value=!0,t()};ln(n,i,{flush:"sync"});const r=typeof s=="function"?s:s.get,c=typeof s=="function"?void 0:s.set,p=Jr((u,m)=>(a=u,t=m,{get(){return l.value&&(e=r(),l.value=!1),a(),e},set(v){c==null||c(v)}}));return Object.isExtensible(p)&&(p.trigger=i),p}function Ge(n){return Pr()?(cd(n),!0):!1}function Kn(n){return typeof n=="function"?n():hs(n)}const La=typeof window<"u"&&typeof document<"u",M1=Object.prototype.toString,H1=n=>M1.call(n)==="[object Object]",Qs=()=>{},hl=j1();function j1(){var n;return La&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function di(n,s){function e(...a){return new Promise((t,l)=>{Promise.resolve(n(()=>s.apply(this,a),{fn:s,thisArg:this,args:a})).then(t).catch(l)})}return e}const gp=n=>n();function F1(n,s={}){let e,a,t=Qs;const l=r=>{clearTimeout(r),t(),t=Qs};return r=>{const c=Kn(n),p=Kn(s.maxWait);return e&&l(e),c<=0||p!==void 0&&p<=0?(a&&(l(a),a=null),Promise.resolve(r())):new Promise((u,m)=>{t=s.rejectOnCancel?m:u,p&&!a&&(a=setTimeout(()=>{e&&l(e),a=null,u(r())},p)),e=setTimeout(()=>{a&&l(a),a=null,u(r())},c)})}}function z1(n,s=!0,e=!0,a=!1){let t=0,l,i=!0,r=Qs,c;const p=()=>{l&&(clearTimeout(l),l=void 0,r(),r=Qs)};return m=>{const v=Kn(n),k=Date.now()-t,_=()=>c=m();return p(),v<=0?(t=Date.now(),_()):(k>v&&(e||!i)?(t=Date.now(),_()):s&&(c=new Promise((x,L)=>{r=a?L:x,l=setTimeout(()=>{t=Date.now(),i=!0,x(_()),p()},Math.max(0,v-k))})),!e&&!l&&(l=setTimeout(()=>i=!0,v)),i=!1,c)}}function q1(n=gp){const s=j(!0);function e(){s.value=!1}function a(){s.value=!0}const t=(...l)=>{s.value&&n(...l)};return{isActive:de(s),pause:e,resume:a,eventFilter:t}}function U1(...n){if(n.length!==1)return ze(...n);const s=n[0];return typeof s=="function"?de(Jr(()=>({get:s,set:Qs}))):j(s)}function J1(n,s=200,e={}){return di(F1(s,e),n)}function G1(n,s=200,e=!1,a=!0,t=!1){return di(z1(s,e,a,t),n)}function W1(n,s,e={}){const{eventFilter:a=gp,...t}=e;return ln(n,di(a,s),t)}function K1(n,s,e={}){const{eventFilter:a,...t}=e,{eventFilter:l,pause:i,resume:r,isActive:c}=q1(a);return{stop:W1(n,s,{...t,eventFilter:l}),pause:i,resume:r,isActive:c}}function Y1(n,s=!0){ke()?rn(n):s?n():me(n)}function X1(n,s,e={}){const{immediate:a=!0}=e,t=j(!1);let l=null;function i(){l&&(clearTimeout(l),l=null)}function r(){t.value=!1,i()}function c(...p){i(),t.value=!0,l=setTimeout(()=>{t.value=!1,l=null,n(...p)},Kn(s))}return a&&(t.value=!0,La&&c()),Ge(r),{isPending:de(t),start:c,stop:r}}function Wo(n=!1,s={}){const{truthyValue:e=!0,falsyValue:a=!1}=s,t=Nn(n),l=j(n);function i(r){if(arguments.length)return l.value=r,l.value;{const c=Kn(e);return l.value=l.value===c?Kn(a):c,l.value}}return t?i:[l,i]}function os(n){var s;const e=Kn(n);return(s=e==null?void 0:e.$el)!=null?s:e}const Ss=La?window:void 0,Z1=La?window.document:void 0,Q1=La?window.navigator:void 0;function Cn(...n){let s,e,a,t;if(typeof n[0]=="string"||Array.isArray(n[0])?([e,a,t]=n,s=Ss):[s,e,a,t]=n,!s)return Qs;Array.isArray(e)||(e=[e]),Array.isArray(a)||(a=[a]);const l=[],i=()=>{l.forEach(u=>u()),l.length=0},r=(u,m,v,k)=>(u.addEventListener(m,v,k),()=>u.removeEventListener(m,v,k)),c=ln(()=>[os(s),Kn(t)],([u,m])=>{if(i(),!u)return;const v=H1(m)?{...m}:m;l.push(...e.flatMap(k=>a.map(_=>r(u,k,_,v))))},{immediate:!0,flush:"post"}),p=()=>{c(),i()};return Ge(p),p}let Ko=!1;function _p(n,s,e={}){const{window:a=Ss,ignore:t=[],capture:l=!0,detectIframe:i=!1}=e;if(!a)return;hl&&!Ko&&(Ko=!0,Array.from(a.document.body.children).forEach(v=>v.addEventListener("click",Qs)),a.document.documentElement.addEventListener("click",Qs));let r=!0;const c=v=>t.some(k=>{if(typeof k=="string")return Array.from(a.document.querySelectorAll(k)).some(_=>_===v.target||v.composedPath().includes(_));{const _=os(k);return _&&(v.target===_||v.composedPath().includes(_))}}),u=[Cn(a,"click",v=>{const k=os(n);if(!(!k||k===v.target||v.composedPath().includes(k))){if(v.detail===0&&(r=!c(v)),!r){r=!0;return}s(v)}},{passive:!0,capture:l}),Cn(a,"pointerdown",v=>{const k=os(n);k&&(r=!v.composedPath().includes(k)&&!c(v))},{passive:!0}),i&&Cn(a,"blur",v=>{setTimeout(()=>{var k;const _=os(n);((k=a.document.activeElement)==null?void 0:k.tagName)==="IFRAME"&&!(_!=null&&_.contains(a.document.activeElement))&&s(v)},0)})].filter(Boolean);return()=>u.forEach(v=>v())}function n0(){const n=j(!1);return ke()&&rn(()=>{n.value=!0}),n}function Et(n){const s=n0();return w(()=>(s.value,!!n()))}function yp(n,s={}){const{window:e=Ss}=s,a=Et(()=>e&&"matchMedia"in e&&typeof e.matchMedia=="function");let t;const l=j(!1),i=p=>{l.value=p.matches},r=()=>{t&&("removeEventListener"in t?t.removeEventListener("change",i):t.removeListener(i))},c=Zr(()=>{a.value&&(r(),t=e.matchMedia(Kn(n)),"addEventListener"in t?t.addEventListener("change",i):t.addListener(i),l.value=t.matches)});return Ge(()=>{c(),r(),t=void 0}),l}function s0(n={}){const{navigator:s=Q1,read:e=!1,source:a,copiedDuring:t=1500,legacy:l=!1}=n,i=Et(()=>s&&"clipboard"in s),r=w(()=>i.value||l),c=j(""),p=j(!1),u=X1(()=>p.value=!1,t);function m(){i.value?s.clipboard.readText().then(x=>{c.value=x}):c.value=_()}r.value&&e&&Cn(["copy","cut"],m);async function v(x=Kn(a)){r.value&&x!=null&&(i.value?await s.clipboard.writeText(x):k(x),c.value=x,p.value=!0,u.start())}function k(x){const L=document.createElement("textarea");L.value=x??"",L.style.position="absolute",L.style.opacity="0",document.body.appendChild(L),L.select(),document.execCommand("copy"),L.remove()}function _(){var x,L,g;return(g=(L=(x=document==null?void 0:document.getSelection)==null?void 0:x.call(document))==null?void 0:L.toString())!=null?g:""}return{isSupported:r,text:c,copied:p,copy:v}}const ja=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Fa="__vueuse_ssr_handlers__",e0=a0();function a0(){return Fa in ja||(ja[Fa]=ja[Fa]||{}),ja[Fa]}function t0(n,s){return e0[n]||s}function l0(n){return n==null?"any":n instanceof Set?"set":n instanceof Map?"map":n instanceof Date?"date":typeof n=="boolean"?"boolean":typeof n=="string"?"string":typeof n=="object"?"object":Number.isNaN(n)?"any":"number"}const i0={boolean:{read:n=>n==="true",write:n=>String(n)},object:{read:n=>JSON.parse(n),write:n=>JSON.stringify(n)},number:{read:n=>Number.parseFloat(n),write:n=>String(n)},any:{read:n=>n,write:n=>String(n)},string:{read:n=>n,write:n=>String(n)},map:{read:n=>new Map(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n.entries()))},set:{read:n=>new Set(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n))},date:{read:n=>new Date(n),write:n=>n.toISOString()}},Yo="vueuse-storage";function xt(n,s,e,a={}){var t;const{flush:l="pre",deep:i=!0,listenToStorageChanges:r=!0,writeDefaults:c=!0,mergeDefaults:p=!1,shallow:u,window:m=Ss,eventFilter:v,onError:k=S=>{console.error(S)}}=a,_=(u?Bn:j)(s);if(!e)try{e=t0("getDefaultStorage",()=>{var S;return(S=Ss)==null?void 0:S.localStorage})()}catch(S){k(S)}if(!e)return _;const x=Kn(s),L=l0(x),g=(t=a.serializer)!=null?t:i0[L],{pause:y,resume:V}=K1(_,()=>D(_.value),{flush:l,deep:i,eventFilter:v});return m&&r&&(Cn(m,"storage",K),Cn(m,Yo,O)),K(),_;function D(S){try{if(S==null)e.removeItem(n);else{const q=g.write(S),F=e.getItem(n);F!==q&&(e.setItem(n,q),m&&m.dispatchEvent(new CustomEvent(Yo,{detail:{key:n,oldValue:F,newValue:q,storageArea:e}})))}}catch(q){k(q)}}function U(S){const q=S?S.newValue:e.getItem(n);if(q==null)return c&&x!==null&&e.setItem(n,g.write(x)),x;if(!S&&p){const F=g.read(q);return typeof p=="function"?p(F,x):L==="object"&&!Array.isArray(F)?{...x,...F}:F}else return typeof q!="string"?q:g.read(q)}function O(S){K(S.detail)}function K(S){if(!(S&&S.storageArea!==e)){if(S&&S.key==null){_.value=x;return}if(!(S&&S.key!==n)){y();try{(S==null?void 0:S.newValue)!==g.write(_.value)&&(_.value=U(S))}catch(q){k(q)}finally{S?me(V):V()}}}}}function o0(n){return yp("(prefers-color-scheme: dark)",n)}function r0(n,s,e={}){const{window:a=Ss,...t}=e;let l;const i=Et(()=>a&&"ResizeObserver"in a),r=()=>{l&&(l.disconnect(),l=void 0)},c=w(()=>Array.isArray(n)?n.map(m=>os(m)):[os(n)]),p=ln(c,m=>{if(r(),i.value&&a){l=new ResizeObserver(s);for(const v of m)v&&l.observe(v,t)}},{immediate:!0,flush:"post",deep:!0}),u=()=>{r(),p()};return Ge(u),{isSupported:i,stop:u}}function c0(n,s={width:0,height:0},e={}){const{window:a=Ss,box:t="content-box"}=e,l=w(()=>{var c,p;return(p=(c=os(n))==null?void 0:c.namespaceURI)==null?void 0:p.includes("svg")}),i=j(s.width),r=j(s.height);return r0(n,([c])=>{const p=t==="border-box"?c.borderBoxSize:t==="content-box"?c.contentBoxSize:c.devicePixelContentBoxSize;if(a&&l.value){const u=os(n);if(u){const m=a.getComputedStyle(u);i.value=Number.parseFloat(m.width),r.value=Number.parseFloat(m.height)}}else if(p){const u=Array.isArray(p)?p:[p];i.value=u.reduce((m,{inlineSize:v})=>m+v,0),r.value=u.reduce((m,{blockSize:v})=>m+v,0)}else i.value=c.contentRect.width,r.value=c.contentRect.height},e),ln(()=>os(n),c=>{i.value=c?s.width:0,r.value=c?s.height:0}),{width:i,height:r}}const Xo=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function mi(n,s={}){const{document:e=Z1,autoExit:a=!1}=s,t=w(()=>{var g;return(g=os(n))!=null?g:e==null?void 0:e.querySelector("html")}),l=j(!1),i=w(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(g=>e&&g in e||t.value&&g in t.value)),r=w(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(g=>e&&g in e||t.value&&g in t.value)),c=w(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(g=>e&&g in e||t.value&&g in t.value)),p=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(g=>e&&g in e),u=Et(()=>t.value&&e&&i.value!==void 0&&r.value!==void 0&&c.value!==void 0),m=()=>p?(e==null?void 0:e[p])===t.value:!1,v=()=>{if(c.value){if(e&&e[c.value]!=null)return e[c.value];{const g=t.value;if((g==null?void 0:g[c.value])!=null)return!!g[c.value]}}return!1};async function k(){if(!(!u.value||!l.value)){if(r.value)if((e==null?void 0:e[r.value])!=null)await e[r.value]();else{const g=t.value;(g==null?void 0:g[r.value])!=null&&await g[r.value]()}l.value=!1}}async function _(){if(!u.value||l.value)return;v()&&await k();const g=t.value;i.value&&(g==null?void 0:g[i.value])!=null&&(await g[i.value](),l.value=!0)}async function x(){await(l.value?k():_())}const L=()=>{const g=v();(!g||g&&m())&&(l.value=g)};return Cn(e,Xo,L,!1),Cn(()=>os(t),Xo,L,!1),a&&Ge(k),{isSupported:u,isFullscreen:l,enter:_,exit:k,toggle:x}}function zt(n){return typeof Window<"u"&&n instanceof Window?n.document.documentElement:typeof Document<"u"&&n instanceof Document?n.documentElement:n}function s4(n,s,e={}){const{window:a=Ss}=e;return xt(n,s,a==null?void 0:a.localStorage,e)}function wp(n){const s=window.getComputedStyle(n);if(s.overflowX==="scroll"||s.overflowY==="scroll"||s.overflowX==="auto"&&n.clientWidth 1?!0:(s.preventDefault&&s.preventDefault(),!1)}function vi(n,s=!1){const e=j(s);let a=null,t;ln(U1(n),r=>{const c=zt(Kn(r));if(c){const p=c;t=p.style.overflow,e.value&&(p.style.overflow="hidden")}},{immediate:!0});const l=()=>{const r=zt(Kn(n));!r||e.value||(hl&&(a=Cn(r,"touchmove",c=>{p0(c)},{passive:!1})),r.style.overflow="hidden",e.value=!0)},i=()=>{const r=zt(Kn(n));!r||!e.value||(hl&&(a==null||a()),r.style.overflow=t,e.value=!1)};return Ge(i),w({get(){return e.value},set(r){r?l():i()}})}function u0({window:n=Ss}={}){if(!n)return{x:j(0),y:j(0)};const s=j(n.scrollX),e=j(n.scrollY);return Cn(n,"scroll",()=>{s.value=n.scrollX,e.value=n.scrollY},{capture:!1,passive:!0}),{x:s,y:e}}function d0(n={}){const{window:s=Ss,initialWidth:e=Number.POSITIVE_INFINITY,initialHeight:a=Number.POSITIVE_INFINITY,listenOrientation:t=!0,includeScrollbar:l=!0}=n,i=j(e),r=j(a),c=()=>{s&&(l?(i.value=s.innerWidth,r.value=s.innerHeight):(i.value=s.document.documentElement.clientWidth,r.value=s.document.documentElement.clientHeight))};if(c(),Y1(c),Cn("resize",c,{passive:!0}),t){const p=yp("(orientation: portrait)");ln(p,()=>c())}return{width:i,height:r}}const Zo=n=>tn(n)?n:`${n}px`,We=(n,s=0)=>{const e=Bn(),a=w(()=>Zo(hs(n.width)||"100%")),t=j("auto"),l=c=>{if(tn(c)){const[p,u]=c.split(":"),m=Number(p)/Number(u);if(!Number.isNaN(m))return m}return typeof c=="number"?c:16/9},i=c=>{const p=hs(n.height),u=l(hs(n.ratio));return p?Zo(p):`${Number(c)/u+hs(s)}px`},r=()=>{e.value&&(t.value=i(e.value.clientWidth))};return rn(()=>{r(),Nn(s)&&ln(s,()=>r()),Cn("orientationchange",()=>r()),Cn("resize",()=>r())}),{el:e,width:a,height:t}},Qo="https://player.bilibili.com/player.html";var m0=C({name:"BiliBili",props:{bvid:{type:String,default:""},aid:{type:String,default:""},cid:{type:String,default:""},title:{type:String,default:"A BiliBili video"},page:{type:[String,Number],default:1},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},autoplay:Boolean},setup(n){const{el:s,width:e,height:a}=We(n),t=j(!1),l=w(()=>{const{aid:i,bvid:r,cid:c,autoplay:p,time:u,page:m}=n;return i&&c?`${Qo}?aid=${i}&cid=${c}&t=${u}&autoplay=${p?1:0}&page=${m}`:r?`${Qo}?bvid=${r}&t=${u}&autoplay=${p?1:0}`:null});return()=>l.value?[o("div",{class:"bilibili-desc"},o("a",{class:"sr-only",href:l.value},n.title)),o("iframe",{ref:s,src:l.value,title:n.title,class:"bilibili-iframe",allow:ui,style:{width:e.value,height:t.value?a.value:0},onLoad:()=>{t.value=!0}}),t.value?null:o(Ue)]:[]}});const nr="https://codepen.io",v0=n=>{let s="";for(const e in n)e!=="prefill"&&e!=="open"&&(s!==""&&(s+="&"),s+=e+"="+encodeURIComponent(n[e]));return s},Ep=n=>{const s=n.preview==="true"?"embed/preview":"embed";if("prefill"in n)return[nr,s,"prefill"].join("/");let e=n["slug-hash"];if(!e)throw new Error("slug-hash is required");return n.token&&(e+="/"+n.token),[nr,n.user||"anon",s,e+"?"+v0(n)].join("/").replace(/\/\//g,"//")},fl=(n,s)=>{const e=document.createElement(n);for(const a in s)Object.prototype.hasOwnProperty.call(s,a)&&e.setAttribute(a,s[a].toString());return e},k0=n=>{const s=fl("form",{class:"code-pen-embed-form",style:"display: none;",method:"post",action:Ep(n),target:n.name||""});for(const e in n)e!=="prefill"&&s.append(fl("input",{type:"hidden",name:e,value:n[e].toString()}));return s},b0=n=>{const{height:s=300,class:e="",name:a="CodePen Embed"}=n,t={class:`cp_embed_iframe ${e}`,src:Ep(n),allowfullscreen:"",allowpaymentrequest:"",allowTransparency:"",frameborder:0,width:"100%",height:s,name:a,scrolling:"no",style:"width: 100%; overflow: hidden; display: block;",title:n["pen-title"]||a};return"prefill"in n||(t.loading="lazy"),n["slug-hash"]&&(t.id=`code-pen-embed-${n["slug-hash"].replace("/","_")}`),fl("iframe",t)},h0=(n,s)=>{if(n.parentNode){const e=document.createElement("div");return e.className="code-pen-embed-wrapper",e.append(s),n.parentNode.replaceChild(e,n),e}return n.append(s),n};let f0=1;const sr=(n,s)=>{const e=typeof s=="string"?document.querySelector(s):s instanceof HTMLElement?s:null;n.user||(n.user="anon"),n.name||(n.name=e?`code-pen-api-${f0++}`:"_blank");const a=document.createDocumentFragment();let t=null;"prefill"in n&&(n.data=JSON.stringify(n.prefill||"{}"),t=k0(n),a.append(t)),e?(a.append(b0(n)),h0(e,a)):document.body.appendChild(a),t&&t.submit()};var g0=C({name:"CodePen",props:{link:{type:String,default:""},user:{type:String,default:""},slugHash:{type:String,default:""},title:{type:String,default:""},height:{type:[String,Number],default:380},theme:{type:String,default:"default"},defaultTab:{type:Array,default:()=>["result"]},status:{type:String,default:"preview"}},setup(n){const s=()=>{const l=/(?:^(?:https?:)?\/\/codepen.io\/|^\/|^)(.*?)\/(?:pen|embed)\/(.*?)\/?$/.exec(n.link);return{user:l==null?void 0:l[1],slugHash:l==null?void 0:l[2]}},e=w(()=>s().user||n.user),a=w(()=>s().slugHash||n.slugHash),t=w(()=>({user:e.value,"slug-hash":a.value,"theme-id":n.theme,"default-tab":n.defaultTab.join(","),"pen-title":n.title,height:n.height,preview:n.status==="preview"?"true":""}));return rn(()=>{n.status!=="clicktorun"&&sr(t.value,`.codepen-${a.value}`)}),()=>o("div",{class:["codepen-wrapper",`codepen-${a.value}`]},[n.status==="clicktorun"?o("button",{type:"button",class:"codepen-button",onClick:()=>{sr(t.value,`.codepen-${a.value}`)}},"Run Code"):null,o("span",["See the Pen ",o("a",{href:n.link},[n.title])," by ",o("a",{href:`https://codepen.io/${e.value}`},[e.value])," on ",o("a",{href:"https://codepen.io"},["CodePen"]),"."])])}});const qt=n=>{console.error("[PDF]: "+n)},_0=n=>{for(;n.firstChild;)n.removeChild(n.firstChild)},y0=n=>n==="string"?document.querySelector(n):n instanceof HTMLElement?n:document.body,w0=n=>{let s="";return n&&(s+=be(n).map(([e,a])=>e==="noToolbar"?`toolbar=${a?0:1}`:`${encodeURIComponent(e)}=${encodeURIComponent(a)}`).join("&"),s&&(s=`#${s.slice(0,s.length-1)}`)),s},E0=(n,s,e,a,t)=>{_0(s);let l=e;n==="pdfjs"&&(l=`${`${Ic(Sn(null))}web/viewer.html`}?file=${encodeURIComponent(e)}${w0(a)}`);const i=n==="pdfjs"||n==="iframe"?"iframe":"embed",r=document.createElement(i);return r.className="pdf-viewer",r.type="application/pdf",r.title=t,r.src=l,r instanceof HTMLIFrameElement&&(r.allow="fullscreen"),s.classList.add("pdf-viewer-container"),s.appendChild(r),s.getElementsByTagName(i)[0]},x0=(n,s=null,{title:e,hint:a,options:t={}})=>{var l,i;if(typeof window>"u"||!((l=window==null?void 0:window.navigator)!=null&&l.userAgent))return null;const{navigator:r}=window,{userAgent:c}=r,p=window.Promise!==void 0,u=lp(c)||d1(c),m=!u&&m1(c),v=!u&&/firefox/i.test(c)&&c.split("rv:").length>1?parseInt(c.split("rv:")[1].split(".")[0],10)>18:!1,k=!u&&(p||v);if(!tn(n))return qt("URL is not valid"),null;const _=y0(s);if(!_)return qt("Target element cannot be determined"),null;const x=e||((i=/\/([^/]+).pdf/.exec(n))==null?void 0:i[1])||"PDF Viewer";return k||!u?E0(m?"iframe":"embed",_,n,t,x):(_.innerHTML=a.replace(/\[url\]/g,n),qt("This browser does not support embedded PDFs"),null)};var L0=C({name:"PDF",props:{url:{type:String,required:!0},title:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},page:{type:[String,Number],default:1},noToolbar:Boolean,zoom:{type:[String,Number],default:100}},setup(n){const{el:s,width:e,height:a}=We(n),t=se({"/":{hint:" This browser does not support embedding PDFs. Please download the PDF to view it: Download PDF
"}});return rn(()=>{x0(Gs(n.url),s.value,{title:n.title,hint:t.value.hint,options:{page:n.page,noToolbar:n.noToolbar,zoom:n.zoom}})}),()=>o("div",{class:"pdf-viewer-wrapper",ref:s,style:{width:e.value,height:a.value}})}});var T0=C({name:"Replit",props:{link:{type:String,default:""},user:{type:String,default:""},repl:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},theme:{type:String,default:"light"},file:{type:String,default:()=>null},plain:Boolean,text:{type:String,default:"Open on Replit"}},setup(n){const{el:s,width:e,height:a}=We(n),t=j(!1),l=w(()=>{var i;if(n.link){const r=new URL(n.link);return n.plain?r.searchParams.delete("embed"):r.searchParams.set("embed","true"),r.toString()}return n.user&&n.repl?`https://replit.com/@${n.user}/${n.repl}${n.plain?"":"?embed=true"}${(i=n.file)!=null&&i.length?`#${n.file}`:""}`:null});return()=>l.value?o("div",{class:"replit-wrapper"},n.plain?o("button",{type:"button",class:"replit-button",onClick:()=>{window.open(l.value,"_blank")}},n.text):[o("iframe",{ref:s,class:"replit-iframe",src:l.value,style:{width:e.value,height:t.value?a.value:0},onLoad:()=>{t.value=!0}}),t.value?null:o(Ue)]):null}});const A0=500,S0=20,R0=300,P0="https://stackblitz.com",er=["angular-cli","create-react-app","html","javascript","node","polymer","typescript","vue"],I0=["project","search","ports","settings"],C0=["light","dark"],O0=["editor","preview"],ar={clickToLoad:n=>_e("ctl",n),devToolsHeight:n=>tr("devtoolsheight",n),forceEmbedLayout:n=>_e("embed",n),hideDevTools:n=>_e("hidedevtools",n),hideExplorer:n=>_e("hideExplorer",n),hideNavigation:n=>_e("hideNavigation",n),openFile:n=>lr("file",n),showSidebar:n=>D0("showSidebar",n),sidebarView:n=>Ut("sidebarView",n,I0),startScript:n=>lr("startScript",n),terminalHeight:n=>tr("terminalHeight",n),theme:n=>Ut("theme",n,C0),view:n=>Ut("view",n,O0),zenMode:n=>_e("zenMode",n)};function xp(n={}){const s=Object.entries(n).map(([e,a])=>a!=null&&ar.hasOwnProperty(e)?ar[e](a):"").filter(Boolean);return s.length?`?${s.join("&")}`:""}function _e(n,s){return s===!0?`${n}=1`:""}function D0(n,s){return typeof s=="boolean"?`${n}=${s?"1":"0"}`:""}function tr(n,s){if(typeof s=="number"&&!Number.isNaN(s)){const e=Math.min(100,Math.max(0,s));return`${n}=${encodeURIComponent(Math.round(e))}`}return""}function Ut(n,s="",e=[]){return e.includes(s)?`${n}=${encodeURIComponent(s)}`:""}function lr(n,s){return(Array.isArray(s)?s:[s]).filter(a=>typeof a=="string"&&a.trim()!=="").map(a=>`${n}=${encodeURIComponent(a)}`).join("&")}function Lp(){return Math.random().toString(36).slice(2,6)+Math.random().toString(36).slice(2,6)}function ki(n,s){return`${Tp(s)}${n}${xp(s)}`}function bi(n,s){const e={forceEmbedLayout:!0};return s&&typeof s=="object"&&Object.assign(e,s),`${Tp(e)}${n}${xp(e)}`}function Tp(n={}){return(typeof n.origin=="string"?n.origin:P0).replace(/\/$/,"")}function hi(n,s,e){if(!s||!n||!n.parentNode)throw new Error("Invalid Element");n.id&&(s.id=n.id),n.className&&(s.className=n.className),V0(s,e),n.replaceWith(s)}function fi(n){if(typeof n=="string"){const s=document.getElementById(n);if(!s)throw new Error(`Could not find element with id '${n}'`);return s}else if(n instanceof HTMLElement)return n;throw new Error(`Invalid element: ${n}`)}function gi(n){return n&&n.newWindow===!1?"_self":"_blank"}function V0(n,s={}){const e=Object.hasOwnProperty.call(s,"height")?`${s.height}`:`${R0}`,a=Object.hasOwnProperty.call(s,"width")?`${s.width}`:void 0;n.setAttribute("height",e),a?n.setAttribute("width",a):n.setAttribute("style","width:100%;")}class $0{constructor(s){this.pending={},this.port=s,this.port.onmessage=this.messageListener.bind(this)}request({type:s,payload:e}){return new Promise((a,t)=>{const l=Lp();this.pending[l]={resolve:a,reject:t},this.port.postMessage({type:s,payload:{...e,__reqid:l}})})}messageListener(s){var r;if(typeof((r=s.data.payload)==null?void 0:r.__reqid)!="string")return;const{type:e,payload:a}=s.data,{__reqid:t,__success:l,__error:i}=a;this.pending[t]&&(l?this.pending[t].resolve(this.cleanResult(a)):this.pending[t].reject(i?`${e}: ${i}`:e),delete this.pending[t])}cleanResult(s){const e={...s};return delete e.__reqid,delete e.__success,delete e.__error,Object.keys(e).length?e:null}}class N0{constructor(s,e){this.editor={openFile:a=>this._rdc.request({type:"SDK_OPEN_FILE",payload:{path:a}}),setCurrentFile:a=>this._rdc.request({type:"SDK_SET_CURRENT_FILE",payload:{path:a}}),setTheme:a=>this._rdc.request({type:"SDK_SET_UI_THEME",payload:{theme:a}}),setView:a=>this._rdc.request({type:"SDK_SET_UI_VIEW",payload:{view:a}}),showSidebar:(a=!0)=>this._rdc.request({type:"SDK_TOGGLE_SIDEBAR",payload:{visible:a}})},this.preview={origin:"",getUrl:()=>this._rdc.request({type:"SDK_GET_PREVIEW_URL",payload:{}}).then(a=>(a==null?void 0:a.url)??null),setUrl:(a="/")=>{if(typeof a!="string"||!a.startsWith("/"))throw new Error(`Invalid argument: expected a path starting with '/', got '${a}'`);return this._rdc.request({type:"SDK_SET_PREVIEW_URL",payload:{path:a}})}},this._rdc=new $0(s),Object.defineProperty(this.preview,"origin",{value:typeof e.previewOrigin=="string"?e.previewOrigin:null,writable:!1})}applyFsDiff(s){const e=a=>a!==null&&typeof a=="object";if(!e(s)||!e(s.create))throw new Error("Invalid diff object: expected diff.create to be an object.");if(!Array.isArray(s.destroy))throw new Error("Invalid diff object: expected diff.destroy to be an array.");return this._rdc.request({type:"SDK_APPLY_FS_DIFF",payload:s})}getDependencies(){return this._rdc.request({type:"SDK_GET_DEPS_SNAPSHOT",payload:{}})}getFsSnapshot(){return this._rdc.request({type:"SDK_GET_FS_SNAPSHOT",payload:{}})}}const Ya=[];class B0{constructor(s){this.id=Lp(),this.element=s,this.pending=new Promise((e,a)=>{const t=({data:p,ports:u})=>{(p==null?void 0:p.action)==="SDK_INIT_SUCCESS"&&p.id===this.id&&(this.vm=new N0(u[0],p.payload),e(this.vm),i())},l=()=>{var p;(p=this.element.contentWindow)==null||p.postMessage({action:"SDK_INIT",id:this.id},"*")};function i(){window.clearInterval(c),window.removeEventListener("message",t)}window.addEventListener("message",t),l();let r=0;const c=window.setInterval(()=>{if(this.vm){i();return}if(r>=S0){i(),a("Timeout: Unable to establish a connection with the StackBlitz VM"),Ya.forEach((p,u)=>{p.id===this.id&&Ya.splice(u,1)});return}r++,l()},A0)}),Ya.push(this)}}const M0=n=>{const s=n instanceof Element?"element":"id";return Ya.find(e=>e[s]===n)??null};function H0(n,s){const e=document.createElement("input");return e.type="hidden",e.name=n,e.value=s,e}function j0(n){return n.replace(/\[/g,"%5B").replace(/\]/g,"%5D")}function Ap({template:n,title:s,description:e,dependencies:a,files:t,settings:l}){if(!er.includes(n)){const p=er.map(u=>`'${u}'`).join(", ");console.warn(`Unsupported project.template: must be one of ${p}`)}const i=[],r=(p,u,m="")=>{i.push(H0(p,typeof u=="string"?u:m))};r("project[title]",s),typeof e=="string"&&e.length>0&&r("project[description]",e),r("project[template]",n,"javascript"),a&&(n==="node"?console.warn("Invalid project.dependencies: dependencies must be provided as a 'package.json' file when using the 'node' template."):r("project[dependencies]",JSON.stringify(a))),l&&r("project[settings]",JSON.stringify(l)),Object.entries(t).forEach(([p,u])=>{r(`project[files][${j0(p)}]`,u)});const c=document.createElement("form");return c.method="POST",c.setAttribute("style","display:none!important;"),c.append(...i),c}function F0(n,s){const e=Ap(n);return e.action=bi("/run",s),e.id="sb_run",` + ++ + ${e.outerHTML} + 凡是过往、皆为序章 + + + + + + + + + + diff --git a/assets/strToInt.html-16da9ece.js b/assets/strToInt.html-16da9ece.js new file mode 100644 index 000000000..cfd88384f --- /dev/null +++ b/assets/strToInt.html-16da9ece.js @@ -0,0 +1 @@ +const n=JSON.parse(`{"key":"v-8d1f691a","path":"/manuscripts/solo-algorithm/sword-point/%E5%85%B6%E4%BB%96%E7%9B%B8%E5%85%B3/strToInt.html","title":"算法相关文档格式模版","lang":"en-US","frontmatter":{"description":"算法相关文档格式模版 题目链接 牛客网 欢迎讨论 题目描述 思路 代码实现 /** * 【较难】把字符串转换成整数 * @param str * @returns {number|number|number} */ function StrToInt(str) { if (!str) return 0 let bool = false; const firstLetter = str[0] if (firstLetter === '-') bool = true if (firstLetter === '-' || firstLetter === '+') str = str.substring(1) const n = Number(str) if (n === 0) return 0 return bool ? -n : n }","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/solo-algorithm/sword-point/%E5%85%B6%E4%BB%96%E7%9B%B8%E5%85%B3/strToInt.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"算法相关文档格式模版"}],["meta",{"property":"og:description","content":"算法相关文档格式模版 题目链接 牛客网 欢迎讨论 题目描述 思路 代码实现 /** * 【较难】把字符串转换成整数 * @param str * @returns {number|number|number} */ function StrToInt(str) { if (!str) return 0 let bool = false; const firstLetter = str[0] if (firstLetter === '-') bool = true if (firstLetter === '-' || firstLetter === '+') str = str.substring(1) const n = Number(str) if (n === 0) return 0 return bool ? -n : n }"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"算法相关文档格式模版\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"题目链接","slug":"题目链接","link":"#题目链接","children":[]},{"level":3,"title":"题目描述","slug":"题目描述","link":"#题目描述","children":[]},{"level":3,"title":"思路","slug":"思路","link":"#思路","children":[]},{"level":3,"title":"代码实现","slug":"代码实现","link":"#代码实现","children":[]},{"level":3,"title":"一些建议","slug":"一些建议","link":"#一些建议","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.24,"words":47},"filePathRelative":"manuscripts/solo-algorithm/sword-point/其他相关/strToInt.md","localizedDate":"September 11, 2023","excerpt":"算法相关文档格式模版
\\n题目链接
\\n\\n题目描述
\\n思路
\\n代码实现
\\n","autoDesc":true}`);export{n as data}; diff --git a/assets/strToInt.html-5f482c0e.js b/assets/strToInt.html-5f482c0e.js new file mode 100644 index 000000000..832d0d373 --- /dev/null +++ b/assets/strToInt.html-5f482c0e.js @@ -0,0 +1,15 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{o as s,c as a,f as e}from"./app-f9d4ab81.js";const t={},p=e(`/**\\n * 【较难】把字符串转换成整数\\n * @param str\\n * @returns {number|number|number}\\n */\\nfunction StrToInt(str) {\\n if (!str) return 0\\n let bool = false; const firstLetter = str[0]\\n if (firstLetter === '-') bool = true\\n if (firstLetter === '-' || firstLetter === '+') str = str.substring(1)\\n const n = Number(str)\\n if (n === 0) return 0\\n return bool ? -n : n\\n}\\n
算法相关文档格式模版
题目链接
题目描述
思路
代码实现
/** + * 【较难】把字符串转换成整数 + * @param str + * @returns {number|number|number} + */ +function StrToInt(str) { + if (!str) return 0 + let bool = false; const firstLetter = str[0] + if (firstLetter === '-') bool = true + if (firstLetter === '-' || firstLetter === '+') str = str.substring(1) + const n = Number(str) + if (n === 0) return 0 + return bool ? -n : n +} +
`,8),o=[p];function r(c,l){return s(),a("div",null,o)}const d=n(t,[["render",r],["__file","strToInt.html.vue"]]);export{d as default}; diff --git a/assets/stream.html-2ddbc0a5.js b/assets/stream.html-2ddbc0a5.js new file mode 100644 index 000000000..e2340b9d8 --- /dev/null +++ b/assets/stream.html-2ddbc0a5.js @@ -0,0 +1,40 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{o as s,c as a,f as t}from"./app-f9d4ab81.js";const p={},e=t(` 一些建议
node核心模块 stream
1.什么是stream流
流(Stream),是一个数据传输手段,是端到端信息交换的一种方式,而且是有顺序、逐块读取数据、处理内容。常见使用场景http传输大文件,本地文件读取。
2.node中流的基本类型
- Readable - 可读操作。
- Writable - 可写操作。
- Duplex - 可读可写操作.
- Transform - 操作被写入数据,然后读出结果。
常用事件:
- data - 当有数据可读时触发。
- end - 没有更多的数据可读时触发。
- error - 在接收和写入过程中发生错误时触发。
- finish - 所有数据已被写入到底层系统时触发。
3.使用express框架简单搭一个 http传输流
首先需要创建两个文件 input.txt 、output.txt
功能:读取input.txt中文件流式发送到服务端,服务端解析到output.txt
依赖
"dependencies": { + "@types/axios": "^0.14.0", + "axios": "^1.2.2", + "express": "^4.18.2", + }, + "devDependencies": { + "@types/express": "^4.17.15", + "@types/node": "^18.11.18", + } +
服务端
import express from "express"; +import fs, { read } from 'fs'; +const app=express() + +app.post('/',(req, res) => { // node中req res本身也是流 + const writerStream = fs.createWriteStream('./output.txt'); + req.pipe(writerStream) // 管道传输 + req.on('end', () => { + res.write('结束'); + res.end(); + }); +}) + +app.listen(8081) +
客户端发送请求
`,16),o=[e];function c(i,l){return s(),a("div",null,o)}const d=n(p,[["render",c],["__file","stream.html.vue"]]);export{d as default}; diff --git a/assets/stream.html-823e88c6.js b/assets/stream.html-823e88c6.js new file mode 100644 index 000000000..63efab7fa --- /dev/null +++ b/assets/stream.html-823e88c6.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-df98e434","path":"/manuscripts/server-end/node-learn/stream.html","title":"node核心模块 stream","lang":"en-US","frontmatter":{"description":"node核心模块 stream 1.什么是stream流 流(Stream),是一个数据传输手段,是端到端信息交换的一种方式,而且是有顺序、逐块读取数据、处理内容。常见使用场景http传输大文件,本地文件读取。 2.node中流的基本类型 Readable - 可读操作。 Writable - 可写操作。 Duplex - 可读可写操作. Transform - 操作被写入数据,然后读出结果。","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/server-end/node-learn/stream.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"node核心模块 stream"}],["meta",{"property":"og:description","content":"node核心模块 stream 1.什么是stream流 流(Stream),是一个数据传输手段,是端到端信息交换的一种方式,而且是有顺序、逐块读取数据、处理内容。常见使用场景http传输大文件,本地文件读取。 2.node中流的基本类型 Readable - 可读操作。 Writable - 可写操作。 Duplex - 可读可写操作. Transform - 操作被写入数据,然后读出结果。"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"node核心模块 stream\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"1.什么是stream流","slug":"_1-什么是stream流","link":"#_1-什么是stream流","children":[]},{"level":3,"title":"2.node中流的基本类型","slug":"_2-node中流的基本类型","link":"#_2-node中流的基本类型","children":[]},{"level":3,"title":"3.使用express框架简单搭一个 http传输流","slug":"_3-使用express框架简单搭一个-http传输流","link":"#_3-使用express框架简单搭一个-http传输流","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":1.63,"words":326},"filePathRelative":"manuscripts/server-end/node-learn/stream.md","localizedDate":"September 11, 2023","excerpt":"import axios from "axios"; +import fs from 'fs' + +const file = fs.createReadStream('./input.txt'); +const url= "http://localhost:8081/" + +axios({ + method:'post', + data:file, + url:url, + headers: { + 'Content-Type': 'application/octet-stream', + }, +}).then(res=>{ + console.log(res.data) +}) +
node核心模块 stream
\\n1.什么是stream流
\\n流(Stream),是一个数据传输手段,是端到端信息交换的一种方式,而且是有顺序、逐块读取数据、处理内容。常见使用场景http传输大文件,本地文件读取。
\\n2.node中流的基本类型
\\n\\n
","autoDesc":true}');export{e as data}; diff --git a/assets/style-42c5f31e.css b/assets/style-42c5f31e.css new file mode 100644 index 000000000..b7aacd729 --- /dev/null +++ b/assets/style-42c5f31e.css @@ -0,0 +1,7 @@ +@charset "UTF-8";html[data-theme=dark]{--text-color: #9e9e9e;--bg-color: #0d1117;--bg-color-secondary: #161b22;--bg-color-tertiary: #21262c;--border-color: #30363d;--box-shadow: #282a32;--card-shadow: rgba(0, 0, 0, .3);--black: #fff;--dark-grey: #999;--light-grey: #666;--white: #000;--grey3: #bbb;--grey12: #333;--grey14: #111;--bg-color-light: #161b22;--bg-color-back: #0d1117;--bg-color-float: #161b22;--bg-color-blur: rgba(13, 17, 23, .9);--bg-color-float-blur: rgba(22, 27, 34, .9);--text-color-light: #a8a8a8;--text-color-lighter: #b1b1b1;--text-color-bright: #c5c5c5;--border-color-light: #2e333a;--border-color-dark: #394048}:root{--theme-color: #2196f3;--text-color: #2c3e50;--bg-color: #fff;--bg-color-secondary: #f8f8f8;--bg-color-tertiary: #efeef4;--border-color: #eaecef;--box-shadow: #f0f1f2;--card-shadow: rgba(0, 0, 0, .15);--black: #000;--dark-grey: #666;--light-grey: #999;--white: #fff;--grey3: #333;--grey12: #bbb;--grey14: #eee;--navbar-height: 3.75rem;--navbar-horizontal-padding: 1.5rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 20rem;--sidebar-mobile-width: 16rem;--content-width: 75rem;--home-page-width: 80rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--line-numbers-width: 2.5rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--bg-color-light: #fff;--bg-color-back: #f8f8f8;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #3a5169;--text-color-lighter: #476582;--text-color-bright: #6a8bad;--border-color-light: #eceef1;--border-color-dark: #cfd4db;--theme-color-dark: #0d89ec;--theme-color-light: #37a1f4;--theme-color-mask: rgba(33, 150, 243, .15)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:4px;border-radius:var(--plyr-control-radius,4px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-menu-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:4px solid #0000;border-top-color:#ffffffe6;border:var(--plyr-menu-arrow-size,4px) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid #0000;border:var(--plyr-menu-item-arrow-size,4px) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2px);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:#0000}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#fff;background:var(--plyr-tooltip-background,#fff);border-radius:5px;border-radius:var(--plyr-tooltip-radius,5px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translate(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:120px;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc((var(--plyr-range-track-height, 5px)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:#0000}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:#ffffff40;background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:#c1c8d199;background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:5px;height:var(--plyr-range-track-height,5px);position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;width:var(--plyr-progress-marker-width,3px);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);max-width:90px;min-width:60px;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:#c1c8d199;color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));border-radius:inherit;height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:#ffffff40;color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:3px;z-index:3}.plyr__preview-thumb{background-color:#fff;background-color:var(--plyr-tooltip-background,#fff);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:7px;border-radius:calc(var(--plyr-menu-radius, 8px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px #00000026;content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:7px;border-bottom-left-radius:calc(var(--plyr-menu-radius, 8px) - 1px);border-bottom-right-radius:7px;border-bottom-right-radius:calc(var(--plyr-menu-radius, 8px) - 1px);bottom:0;left:0;line-height:1.1;padding:20px 6px 6px;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;-o-object-fit:contain;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}.vp-audio-player{--plyr-audio-controls-background: var(--vp-bg);--plyr-audio-control-color: var(--vp-c);--plyr-color-main: var(--vp-tc);position:relative;display:flex;align-items:center;margin-top:.375rem;padding:.5rem;border-radius:.5rem;box-shadow:2px 2px 10px 0 var(--card-shadow)}@media print{.vp-audio-player{display:none}}.vp-audio-player-poster{width:4rem;height:4rem}.vp-audio-player-info{flex:1}.vp-audio-player-title{padding:.5rem 1rem .25rem;font-weight:500;font-size:1.125rem;line-height:1.5}.vp-audio-player audio{display:block}@media print{.vp-audio-player audio{display:none}}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}@media print{.bilibili-desc a{display:block}}.bilibili-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.bilibili-iframe{display:none}}.codepen-wrapper{margin:1rem auto;padding:1rem;border:1px solid var(--vp-brc);text-align:center;transition:background var(--vp-ct),border var(--vp-ct)}.codepen-wrapper .codepen-button{display:block;margin:16px auto;padding:8px 16px;border:1px solid var(--vp-tc);border-radius:4px;background:transparent;color:var(--vp-tc);font-size:16px;cursor:pointer;transition:background var(--vp-ct),border var(--vp-ct),color var(--vp-ct)}.codepen-wrapper .codepen-button:hover{background:var(--vp-tcl);color:var(--vp-bg)}iframe[src*="codepen.io"]{border:none}.pdf-viewer-wrapper{position:relative;overflow:hidden;border-radius:8px}.pdf-viewer{width:100%;height:100%}.replit-wrapper{margin:8px 0;border:none;text-align:center}.replit-wrapper .replit-button{border-width:0;background:transparent;cursor:pointer;display:inline-block;margin:0 auto;padding:.5rem 1rem;border-radius:.5rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:600;font-size:18;line-height:1.5;transition:background .3s ease,color .3s ease}.replit-wrapper .replit-button:hover{background:var(--vp-tc);color:var(--white, #fff)}.replit-iframe{border:none;border-radius:8px}.stackblitz-container{margin:8px 0;border-radius:8px;text-align:center}.stackblitz-button{border-width:0;background:transparent;cursor:pointer;margin:0 auto;padding:.5rem 1rem;border-radius:.5rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:600;font-size:18;line-height:1.5;transition:background var(--vp-ct),color var(--vp-ct)}.stackblitz-button:hover{background:var(--vp-tc);color:var(--white)}.vp-video-player{--plyr-audio-controls-background: var(--vp-bg);--plyr-audio-control-color: var(--vp-c);--plyr-color-main: var(--vp-tc);position:relative;margin-top:5px;border-radius:6px;background:rgba(0,0,0,.15)}@media print{.vp-video-player{display:none}}.vp-video-player video{display:block;width:100%;height:100%}@media print{.vp-video-player video{display:none}}@media print{.youtube-desc a{display:block}}.youtube-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.youtube-iframe{display:none}}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}@keyframes popup-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes popup-disappear{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}#popup-container .popup-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.2)}#popup-container .popup-wrapper.appear .popup-container{animation:popup-appear .3s ease-in-out}#popup-container .popup-wrapper.disappear .popup-container{animation:popup-disappear .3s ease-in-out;animation-fill-mode:forwards}.vp-share-button{border-width:0;background:transparent;cursor:pointer;display:inline-block;padding:.25em}.vp-share-icon{width:2em;height:2em;color:#fff;transition:transform var(--vp-tt)}.vp-share-icon.plain{width:1.5em;height:1.5em;color:var(--dark-grey)}.vp-share-icon.plain :hover{color:var(--vp-tc)}.vp-share-icon:not(.plain):hover{transform:scale(1.1)}.vp-share-icon.colorful{width:1.5em;height:1.5em;padding:.25em;border-radius:50%}.vp-share-icon svg{display:block;width:100%;height:100%;fill:currentcolor}@media print{.xi-gua-desc a{display:block}}.xi-gua-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.xi-gua-iframe{display:none}}.vp-back-to-top-button{border-width:0;background:transparent;cursor:pointer;position:fixed!important;right:16px;bottom:64px;z-index:100;width:48px;height:48px;padding:8px;border-radius:50%;background:var(--vp-bg);color:var(--vp-tc);box-shadow:2px 2px 10px 4px var(--card-shadow);transition:background var(--vp-ct),color var(--vp-ct),box-shadow var(--vp-ct)}@media (max-width: 719px){.vp-back-to-top-button{width:36px;height:36px}}@media print{.vp-back-to-top-button{display:none}}html[dir=rtl] .vp-back-to-top-button{right:unset;left:16px}.vp-back-to-top-button:hover{color:var(--vp-tcl)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;border-radius:50%;fill:currentcolor}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}@media (max-width: 719px){.vp-scroll-progress{width:40px;height:40px}}.vp-scroll-progress circle{opacity:.9;fill:none;stroke:var(--vp-tc);transform:rotate(-90deg);transform-origin:50% 50%;r:22;stroke-dasharray:0% 314.1593%;stroke-width:3px}@media (max-width: 719px){.vp-scroll-progress circle{r:18}}.fade-enter-active,.fade-leave-active{transition:opacity var(--vp-ct)}.fade-enter-from,.fade-leave-to{opacity:0}:root{--notice-width: 250px}.notice-fade-enter-active,.notice-fade-leave-active{transition:opacity .5s}.notice-fade-enter,.notice-fade-leave-to{opacity:0}.vp-notice-mask{position:fixed;top:0;left:0;z-index:1499;width:100vw;height:100vh;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media print{.vp-notice-mask{display:none}}.vp-notice-wrapper{position:fixed;top:80px;right:20px;z-index:1500;overflow:hidden;width:var(--notice-width);border-radius:8px;background:var(--vp-bg);box-shadow:0 2px 6px 0 var(--card-shadow)}@media print{.vp-notice-wrapper{display:none}}html[dir=rtl] .vp-notice-wrapper:not(.fullscreen){right:unset;left:20px}.vp-notice-wrapper.fullscreen{top:50vh;right:50vw;left:unset;transform:translate(50%,-50%)}.vp-notice-title{position:relative;margin:0;padding:8px 12px;background:var(--vp-tc);color:var(--white);font-weight:500;text-align:start}.vp-notice-title .close-icon{vertical-align:middle;float:right;width:1em;height:1em;margin:auto;padding:4px;border-radius:50%;background-color:#0003;color:var(--white);cursor:pointer}html[dir=rtl] .vp-notice-title .close-icon{float:left}.vp-notice-title .close-icon:hover{background-color:#0000004d}.vp-notice-content{margin:1rem .75rem;font-size:14px;line-height:1.5}.vp-notice-footer{padding-bottom:8px;text-align:center}.vp-notice-footer-action{display:inline-block;margin:4px;padding:8px 12px;border:none;border-radius:8px;background-color:var(--vp-bglt);color:var(--vp-c);cursor:pointer}.vp-notice-footer-action:hover{background-color:var(--vp-bgl)}.vp-notice-footer-action.primary{background-color:var(--vp-tc);color:var(--white)}.vp-notice-footer-action.primary:hover{background-color:var(--vp-tcl)}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}:root{--copy-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--copied-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}div[class*=language-]>button.copy-code-button{border-width:0;background:transparent;position:absolute;outline:none;cursor:pointer}@media print{div[class*=language-]>button.copy-code-button{display:none}}div[class*=language-]>button.copy-code-button .copy-icon{background:currentcolor;-webkit-mask-image:var(--copy-icon);mask-image:var(--copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}div[class*=language-]>button.copy-code-button:not(.fancy){border-width:0;background:transparent;cursor:pointer;position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-radius:.5rem;opacity:0;transition:opacity .4s}div[class*=language-]>button.copy-code-button:not(.fancy):hover,div[class*=language-]>button.copy-code-button:not(.fancy).copied{background:var(--code-hl-bg-color, rgba(0, 0, 0, .66))}div[class*=language-]>button.copy-code-button:not(.fancy):focus,div[class*=language-]>button.copy-code-button:not(.fancy).copied{opacity:1}div[class*=language-]>button.copy-code-button:not(.fancy).copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--code-hl-bg-color, rgba(0, 0, 0, .66));color:var(--code-ln-color, #9e9e9e);font-weight:500;line-height:1.25rem;white-space:nowrap}div[class*=language-]>button.copy-code-button:not(.fancy) .copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;color:var(--code-ln-color, #9e9e9e);font-size:1.25rem}div[class*=language-]>button.copy-code-button.fancy{right:-14px;bottom:-14px;z-index:5;width:2rem;height:2rem;padding:7px 8px;border-radius:50%;background:#339af0;color:#fff}@media (max-width: 419px){div[class*=language-]>button.copy-code-button.fancy{right:0;bottom:0;width:28px;height:28px;border-radius:50% 10% 0}}div[class*=language-]>button.copy-code-button.fancy:hover{background:#228be6}div[class*=language-]>button.copy-code-button.fancy .copy-icon{width:100%;height:100%;color:#fff;font-size:1.25rem}@media (max-width: 419px){div[class*=language-]>button.copy-code-button.fancy .copy-icon{position:relative;top:2px;left:2px}}div[class*=language-]>button.copy-code-button.copied .copy-icon{-webkit-mask-image:var(--copied-icon);mask-image:var(--copied-icon)}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover>button.copy-code-button:not(.fancy){opacity:1}.vp-code-tabs-nav{overflow-x:auto;margin:.85rem 0 -.85rem;padding:0;border-radius:6px 6px 0 0;background:var(--code-tabs-nav-bg-color, #3a404c);list-style:none;white-space:nowrap;transition:background var(--vp-ct)}@media print{.vp-code-tabs-nav{display:none}}@media (max-width: 419px){.vp-code-tabs-nav{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.vp-code-tab-nav{border-width:0;position:relative;min-width:3rem;margin:0;padding:6px 12px;border-radius:6px 6px 0 0;background:transparent;color:var(--code-tabs-nav-text-color, #eee);font-weight:600;font-size:.85em;line-height:1.4;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.vp-code-tab-nav:hover{background:var(--code-tabs-nav-hover-color, #434a57)}.vp-code-tab-nav:before,.vp-code-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:6px;height:6px}.vp-code-tab-nav:before{right:100%}.vp-code-tab-nav:after{left:100%}.vp-code-tab-nav.active{background:var(--code-bg-color, #282c34)}.vp-code-tab-nav.active:before{background:radial-gradient(12px at left top,transparent 50%,var(--code-bg-color, #282c34) 50%)}.vp-code-tab-nav.active:after{background:radial-gradient(12px at right top,transparent 50%,var(--code-bg-color, #282c34) 50%)}.vp-code-tab-nav:first-child:before{display:none}.vp-code-tab{display:none}.vp-code-tab.active{display:block}.vp-code-tab div[class*=language-]{border-top-left-radius:0;border-top-right-radius:0}@media (max-width: 419px){.vp-code-tab div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}@media print{.vp-code-tab div[class*=language-] code{white-space:pre-wrap}}.code-group-nav{display:flex;margin:.85rem 0 -.85rem;padding:0;border-radius:6px 6px 0 0;background:var(--code-tabs-nav-bg-color, #3a404c);list-style:none;transition:background var(--vp-ct)}@media (max-width: 419px){.code-group-nav{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.code-group-nav-tab{border-width:0;position:relative;min-width:3rem;margin:0;padding:6px 10px;border-radius:6px 6px 0 0;background:transparent;color:var(--code-tabs-nav-text-color, #eee);font-weight:600;font-size:.85em;line-height:1.4;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.code-group-nav-tab:hover{background:var(--code-tabs-nav-hover-color, #434a57)}.code-group-nav-tab:before,.code-group-nav-tab:after{content:" ";position:absolute;bottom:0;z-index:1;width:6px;height:6px}.code-group-nav-tab:before{right:100%}.code-group-nav-tab:after{left:100%}.code-group-nav-tab.active{background:var(--code-bg-color, #282c34)}.code-group-nav-tab.active:before{background:radial-gradient(12px at left top,transparent 50%,var(--code-bg-color, #282c34) 50%)}.code-group-nav-tab.active:after{background:radial-gradient(12px at right top,transparent 50%,var(--code-bg-color, #282c34) 50%)}.code-group-nav-tab:first-child:before{display:none}.code-group-item{display:none}.code-group-item.active{display:block}.code-group-item div[class*=language-]{border-top-left-radius:0;border-top-right-radius:0}:root{--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--danger-title-color: #4b1113;--danger-bg-color: #ffebec;--danger-border-color: #e13238;--danger-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--danger-title-color: #ffebec;--danger-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.danger{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.danger{margin-inline:-.75rem}}.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.danger .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.danger .hint-container-title{padding-inline-start:0}}.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.danger .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);left:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.danger .hint-container-title:before{display:none}}html[dir=rtl] .hint-container.info .hint-container-title:before,html[dir=rtl] .hint-container.note .hint-container-title:before,html[dir=rtl] .hint-container.tip .hint-container-title:before,html[dir=rtl] .hint-container.warning .hint-container-title:before,html[dir=rtl] .hint-container.danger .hint-container-title:before{right:0;left:unset}.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.danger p{line-height:1.5}.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.danger a{color:var(--vp-tc)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.danger{border-color:var(--danger-border-color);background:var(--danger-bg-color)}.hint-container.danger>.hint-container-title{color:var(--danger-title-color)}.hint-container.danger>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.danger code{background:var(--danger-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1.6em 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media print{.hint-container.details{display:none}}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-top:1.5rem;padding-bottom:1.5rem;padding-inline-start:4rem;padding-inline-end:1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker,.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);left:1.5rem;width:1.5rem;height:1.5rem}@media print{.hint-container.details summary:before,.hint-container.details summary:after{display:block}}html[dir=rtl] .hint-container.details summary:before,html[dir=rtl] .hint-container.details summary:after{right:1.5rem;left:unset}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}.theme-hope-content figure{position:relative;display:flex;flex-direction:column;width:auto;margin:1rem auto;text-align:center;transition:transform var(--vp-tt)}.theme-hope-content figure img{overflow:hidden;margin:0 auto;border-radius:8px}.theme-hope-content figure img[tabindex]:hover,.theme-hope-content figure img[tabindex]:focus{box-shadow:2px 2px 10px 0 var(--card-shadow)}@media print{.theme-hope-content figure>a[href^="http://"]:after,.theme-hope-content figure>a[href^="https://"]:after{content:""}}.theme-hope-content figure>a .external-link-icon{display:none}.theme-hope-content figure figcaption{display:inline-block;margin:6px auto;font-size:.8rem}html[data-theme=light] img[data-mode=darkmode-only],html[data-theme=dark] img[data-mode=lightmode-only]{display:none!important}/*! +* reveal.js 4.5.0 +* https://revealjs.com +* MIT licensed +* +* Copyright (C) 2011-2023 Hakim El Hattab, https://hakim.se +*/.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .fragment{transition:all .2s ease}.reveal .fragment:not(.custom){opacity:0;visibility:hidden;will-change:opacity}.reveal .fragment.visible{opacity:1;visibility:inherit}.reveal .fragment.disabled{transition:none}.reveal .fragment.grow{opacity:1;visibility:inherit}.reveal .fragment.grow.visible{transform:scale(1.3)}.reveal .fragment.shrink{opacity:1;visibility:inherit}.reveal .fragment.shrink.visible{transform:scale(.7)}.reveal .fragment.zoom-in{transform:scale(.1)}.reveal .fragment.zoom-in.visible{transform:none}.reveal .fragment.fade-out{opacity:1;visibility:inherit}.reveal .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.strike{opacity:1;visibility:inherit}.reveal .fragment.strike.visible{text-decoration:line-through}.reveal .fragment.fade-up{transform:translateY(40px)}.reveal .fragment.fade-up.visible{transform:translate(0)}.reveal .fragment.fade-down{transform:translateY(-40px)}.reveal .fragment.fade-down.visible{transform:translate(0)}.reveal .fragment.fade-right{transform:translate(-40px)}.reveal .fragment.fade-right.visible{transform:translate(0)}.reveal .fragment.fade-left{transform:translate(40px)}.reveal .fragment.fade-left.visible{transform:translate(0)}.reveal .fragment.current-visible,.reveal .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .fragment.current-visible.current-fragment,.reveal .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.fade-in-then-semi-out.current-fragment,.reveal .fragment.highlight-blue,.reveal .fragment.highlight-current-blue,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .fragment.highlight-red.visible{color:#ff2c2d}.reveal .fragment.highlight-green.visible{color:#17ff2e}.reveal .fragment.highlight-blue.visible{color:#1b91ff}.reveal .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(10px)}30%{transform:translate(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(-10px)}30%{transform:translate(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translate(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translate(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translate(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translate(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.8em;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:-.3em;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:#0003;color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:#0006;padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.future>section,.reveal .slides>section.past,.reveal .slides>section.past>section,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translateZ(0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translateZ(0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:#0000;transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translateY(-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translateY(100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.9);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,.5);transform:translateZ(-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.reveal .jump-to-slide{position:absolute;top:15px;left:15px;z-index:30;font-size:32px;-webkit-tap-highlight-color:transparent}.reveal .jump-to-slide-input{background:0 0;padding:8px;font-size:inherit;color:currentColor;border:0}.reveal .jump-to-slide-input::placeholder{color:currentColor;opacity:.5}.reveal.has-dark-background .jump-to-slide-input{color:#fff}.reveal.has-light-background .jump-to-slide-input{color:#222}.reveal .jump-to-slide-input:focus{outline:0}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}html.print-pdf *{-webkit-print-color-adjust:exact}html.print-pdf{width:100%;height:100%;overflow:visible}html.print-pdf body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.print-pdf .nestedarrow,html.print-pdf .reveal .controls,html.print-pdf .reveal .playback,html.print-pdf .reveal .progress,html.print-pdf .reveal.overview,html.print-pdf .state-background{display:none!important}html.print-pdf .reveal pre code{overflow:hidden!important;font-family:Courier,Courier New,monospace!important}html.print-pdf .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.print-pdf .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.print-pdf .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.print-pdf .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.print-pdf .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.print-pdf .reveal img{box-shadow:none}html.print-pdf .reveal .backgrounds{display:none}html.print-pdf .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.print-pdf .reveal.show-notes{max-width:none;max-height:none}html.print-pdf .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.print-pdf .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.print-pdf .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px}html.print-pdf .aria-status{display:none}@media print{html:not(.print-pdf){overflow:visible;width:auto;height:auto}html:not(.print-pdf) body{margin:0;padding:0;overflow:visible}html:not(.print-pdf) .reveal{background:#fff;font-size:20pt}html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .reveal .state-background{display:none!important}html:not(.print-pdf) .reveal li,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td{font-size:20pt!important;color:#000}html:not(.print-pdf) .reveal h1,html:not(.print-pdf) .reveal h2,html:not(.print-pdf) .reveal h3,html:not(.print-pdf) .reveal h4,html:not(.print-pdf) .reveal h5,html:not(.print-pdf) .reveal h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) .reveal h1{font-size:28pt!important}html:not(.print-pdf) .reveal h2{font-size:24pt!important}html:not(.print-pdf) .reveal h3{font-size:22pt!important}html:not(.print-pdf) .reveal h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) .reveal h5{font-size:21pt!important}html:not(.print-pdf) .reveal h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal .slides section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal .slides section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal .r-fit-text{white-space:normal!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}.reveal[data-theme=auto] .hljs-comment,.reveal[data-theme=auto] .hljs-quote,.reveal[data-theme=white] .hljs-comment,.reveal[data-theme=white] .hljs-quote,.reveal[data-theme=beige] .hljs-comment,.reveal[data-theme=beige] .hljs-quote,.reveal[data-theme=sky] .hljs-comment,.reveal[data-theme=sky] .hljs-quote,.reveal[data-theme=serif] .hljs-comment,.reveal[data-theme=serif] .hljs-quote,.reveal[data-theme=simple] .hljs-comment,.reveal[data-theme=simple] .hljs-quote,.reveal[data-theme=solarized] .hljs-comment,.reveal[data-theme=solarized] .hljs-quote{color:#8e908c}.reveal[data-theme=auto] .hljs-deletion,.reveal[data-theme=auto] .hljs-name,.reveal[data-theme=auto] .hljs-regexp,.reveal[data-theme=auto] .hljs-selector-class,.reveal[data-theme=auto] .hljs-selector-id,.reveal[data-theme=auto] .hljs-tag,.reveal[data-theme=auto] .hljs-template-variable,.reveal[data-theme=auto] .hljs-variable,.reveal[data-theme=white] .hljs-deletion,.reveal[data-theme=white] .hljs-name,.reveal[data-theme=white] .hljs-regexp,.reveal[data-theme=white] .hljs-selector-class,.reveal[data-theme=white] .hljs-selector-id,.reveal[data-theme=white] .hljs-tag,.reveal[data-theme=white] .hljs-template-variable,.reveal[data-theme=white] .hljs-variable,.reveal[data-theme=beige] .hljs-deletion,.reveal[data-theme=beige] .hljs-name,.reveal[data-theme=beige] .hljs-regexp,.reveal[data-theme=beige] .hljs-selector-class,.reveal[data-theme=beige] .hljs-selector-id,.reveal[data-theme=beige] .hljs-tag,.reveal[data-theme=beige] .hljs-template-variable,.reveal[data-theme=beige] .hljs-variable,.reveal[data-theme=sky] .hljs-deletion,.reveal[data-theme=sky] .hljs-name,.reveal[data-theme=sky] .hljs-regexp,.reveal[data-theme=sky] .hljs-selector-class,.reveal[data-theme=sky] .hljs-selector-id,.reveal[data-theme=sky] .hljs-tag,.reveal[data-theme=sky] .hljs-template-variable,.reveal[data-theme=sky] .hljs-variable,.reveal[data-theme=serif] .hljs-deletion,.reveal[data-theme=serif] .hljs-name,.reveal[data-theme=serif] .hljs-regexp,.reveal[data-theme=serif] .hljs-selector-class,.reveal[data-theme=serif] .hljs-selector-id,.reveal[data-theme=serif] .hljs-tag,.reveal[data-theme=serif] .hljs-template-variable,.reveal[data-theme=serif] .hljs-variable,.reveal[data-theme=simple] .hljs-deletion,.reveal[data-theme=simple] .hljs-name,.reveal[data-theme=simple] .hljs-regexp,.reveal[data-theme=simple] .hljs-selector-class,.reveal[data-theme=simple] .hljs-selector-id,.reveal[data-theme=simple] .hljs-tag,.reveal[data-theme=simple] .hljs-template-variable,.reveal[data-theme=simple] .hljs-variable,.reveal[data-theme=solarized] .hljs-deletion,.reveal[data-theme=solarized] .hljs-name,.reveal[data-theme=solarized] .hljs-regexp,.reveal[data-theme=solarized] .hljs-selector-class,.reveal[data-theme=solarized] .hljs-selector-id,.reveal[data-theme=solarized] .hljs-tag,.reveal[data-theme=solarized] .hljs-template-variable,.reveal[data-theme=solarized] .hljs-variable{color:#c82829}.reveal[data-theme=auto] .hljs-built_in,.reveal[data-theme=auto] .hljs-builtin-name,.reveal[data-theme=auto] .hljs-link,.reveal[data-theme=auto] .hljs-literal,.reveal[data-theme=auto] .hljs-meta,.reveal[data-theme=auto] .hljs-number,.reveal[data-theme=auto] .hljs-params,.reveal[data-theme=auto] .hljs-type,.reveal[data-theme=white] .hljs-built_in,.reveal[data-theme=white] .hljs-builtin-name,.reveal[data-theme=white] .hljs-link,.reveal[data-theme=white] .hljs-literal,.reveal[data-theme=white] .hljs-meta,.reveal[data-theme=white] .hljs-number,.reveal[data-theme=white] .hljs-params,.reveal[data-theme=white] .hljs-type,.reveal[data-theme=beige] .hljs-built_in,.reveal[data-theme=beige] .hljs-builtin-name,.reveal[data-theme=beige] .hljs-link,.reveal[data-theme=beige] .hljs-literal,.reveal[data-theme=beige] .hljs-meta,.reveal[data-theme=beige] .hljs-number,.reveal[data-theme=beige] .hljs-params,.reveal[data-theme=beige] .hljs-type,.reveal[data-theme=sky] .hljs-built_in,.reveal[data-theme=sky] .hljs-builtin-name,.reveal[data-theme=sky] .hljs-link,.reveal[data-theme=sky] .hljs-literal,.reveal[data-theme=sky] .hljs-meta,.reveal[data-theme=sky] .hljs-number,.reveal[data-theme=sky] .hljs-params,.reveal[data-theme=sky] .hljs-type,.reveal[data-theme=serif] .hljs-built_in,.reveal[data-theme=serif] .hljs-builtin-name,.reveal[data-theme=serif] .hljs-link,.reveal[data-theme=serif] .hljs-literal,.reveal[data-theme=serif] .hljs-meta,.reveal[data-theme=serif] .hljs-number,.reveal[data-theme=serif] .hljs-params,.reveal[data-theme=serif] .hljs-type,.reveal[data-theme=simple] .hljs-built_in,.reveal[data-theme=simple] .hljs-builtin-name,.reveal[data-theme=simple] .hljs-link,.reveal[data-theme=simple] .hljs-literal,.reveal[data-theme=simple] .hljs-meta,.reveal[data-theme=simple] .hljs-number,.reveal[data-theme=simple] .hljs-params,.reveal[data-theme=simple] .hljs-type,.reveal[data-theme=solarized] .hljs-built_in,.reveal[data-theme=solarized] .hljs-builtin-name,.reveal[data-theme=solarized] .hljs-link,.reveal[data-theme=solarized] .hljs-literal,.reveal[data-theme=solarized] .hljs-meta,.reveal[data-theme=solarized] .hljs-number,.reveal[data-theme=solarized] .hljs-params,.reveal[data-theme=solarized] .hljs-type{color:#f5871f}.reveal[data-theme=auto] .hljs-attribute,.reveal[data-theme=white] .hljs-attribute,.reveal[data-theme=beige] .hljs-attribute,.reveal[data-theme=sky] .hljs-attribute,.reveal[data-theme=serif] .hljs-attribute,.reveal[data-theme=simple] .hljs-attribute,.reveal[data-theme=solarized] .hljs-attribute{color:#eab700}.reveal[data-theme=auto] .hljs-addition,.reveal[data-theme=auto] .hljs-bullet,.reveal[data-theme=auto] .hljs-string,.reveal[data-theme=auto] .hljs-symbol,.reveal[data-theme=white] .hljs-addition,.reveal[data-theme=white] .hljs-bullet,.reveal[data-theme=white] .hljs-string,.reveal[data-theme=white] .hljs-symbol,.reveal[data-theme=beige] .hljs-addition,.reveal[data-theme=beige] .hljs-bullet,.reveal[data-theme=beige] .hljs-string,.reveal[data-theme=beige] .hljs-symbol,.reveal[data-theme=sky] .hljs-addition,.reveal[data-theme=sky] .hljs-bullet,.reveal[data-theme=sky] .hljs-string,.reveal[data-theme=sky] .hljs-symbol,.reveal[data-theme=serif] .hljs-addition,.reveal[data-theme=serif] .hljs-bullet,.reveal[data-theme=serif] .hljs-string,.reveal[data-theme=serif] .hljs-symbol,.reveal[data-theme=simple] .hljs-addition,.reveal[data-theme=simple] .hljs-bullet,.reveal[data-theme=simple] .hljs-string,.reveal[data-theme=simple] .hljs-symbol,.reveal[data-theme=solarized] .hljs-addition,.reveal[data-theme=solarized] .hljs-bullet,.reveal[data-theme=solarized] .hljs-string,.reveal[data-theme=solarized] .hljs-symbol{color:#718c00}.reveal[data-theme=auto] .hljs-section,.reveal[data-theme=auto] .hljs-title,.reveal[data-theme=white] .hljs-section,.reveal[data-theme=white] .hljs-title,.reveal[data-theme=beige] .hljs-section,.reveal[data-theme=beige] .hljs-title,.reveal[data-theme=sky] .hljs-section,.reveal[data-theme=sky] .hljs-title,.reveal[data-theme=serif] .hljs-section,.reveal[data-theme=serif] .hljs-title,.reveal[data-theme=simple] .hljs-section,.reveal[data-theme=simple] .hljs-title,.reveal[data-theme=solarized] .hljs-section,.reveal[data-theme=solarized] .hljs-title{color:#4271ae}.reveal[data-theme=auto] .hljs-keyword,.reveal[data-theme=auto] .hljs-selector-tag,.reveal[data-theme=white] .hljs-keyword,.reveal[data-theme=white] .hljs-selector-tag,.reveal[data-theme=beige] .hljs-keyword,.reveal[data-theme=beige] .hljs-selector-tag,.reveal[data-theme=sky] .hljs-keyword,.reveal[data-theme=sky] .hljs-selector-tag,.reveal[data-theme=serif] .hljs-keyword,.reveal[data-theme=serif] .hljs-selector-tag,.reveal[data-theme=simple] .hljs-keyword,.reveal[data-theme=simple] .hljs-selector-tag,.reveal[data-theme=solarized] .hljs-keyword,.reveal[data-theme=solarized] .hljs-selector-tag{color:#8959a8}.reveal[data-theme=auto] .hljs,.reveal[data-theme=white] .hljs,.reveal[data-theme=beige] .hljs,.reveal[data-theme=sky] .hljs,.reveal[data-theme=serif] .hljs,.reveal[data-theme=simple] .hljs,.reveal[data-theme=solarized] .hljs{display:block;overflow-x:auto;padding:.5em;background:#fff;color:#4d4d4c}.reveal[data-theme=auto] .hljs-emphasis,.reveal[data-theme=white] .hljs-emphasis,.reveal[data-theme=beige] .hljs-emphasis,.reveal[data-theme=sky] .hljs-emphasis,.reveal[data-theme=serif] .hljs-emphasis,.reveal[data-theme=simple] .hljs-emphasis,.reveal[data-theme=solarized] .hljs-emphasis{font-style:italic}.reveal[data-theme=auto] .hljs-strong,.reveal[data-theme=white] .hljs-strong,.reveal[data-theme=beige] .hljs-strong,.reveal[data-theme=sky] .hljs-strong,.reveal[data-theme=serif] .hljs-strong,.reveal[data-theme=simple] .hljs-strong,.reveal[data-theme=solarized] .hljs-strong{font-weight:700}html[data-theme=dark] .reveal[data-theme=auto] .hljs-comment,html[data-theme=dark] .reveal[data-theme=auto] .hljs-quote,html[data-theme=dark] .reveal[data-theme=black] .hljs-comment,html[data-theme=dark] .reveal[data-theme=black] .hljs-quote,html[data-theme=dark] .reveal[data-theme=league] .hljs-comment,html[data-theme=dark] .reveal[data-theme=league] .hljs-quote,html[data-theme=dark] .reveal[data-theme=night] .hljs-comment,html[data-theme=dark] .reveal[data-theme=night] .hljs-quote,html[data-theme=dark] .reveal[data-theme=blood] .hljs-comment,html[data-theme=dark] .reveal[data-theme=blood] .hljs-quote,html[data-theme=dark] .reveal[data-theme=moon] .hljs-comment,html[data-theme=dark] .reveal[data-theme=moon] .hljs-quote{color:#b6b18b}html[data-theme=dark] .reveal[data-theme=auto] .hljs-deletion,html[data-theme=dark] .reveal[data-theme=auto] .hljs-name,html[data-theme=dark] .reveal[data-theme=auto] .hljs-regexp,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-class,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-id,html[data-theme=dark] .reveal[data-theme=auto] .hljs-tag,html[data-theme=dark] .reveal[data-theme=auto] .hljs-template-variable,html[data-theme=dark] .reveal[data-theme=auto] .hljs-variable,html[data-theme=dark] .reveal[data-theme=black] .hljs-deletion,html[data-theme=dark] .reveal[data-theme=black] .hljs-name,html[data-theme=dark] .reveal[data-theme=black] .hljs-regexp,html[data-theme=dark] .reveal[data-theme=black] .hljs-selector-class,html[data-theme=dark] .reveal[data-theme=black] .hljs-selector-id,html[data-theme=dark] .reveal[data-theme=black] .hljs-tag,html[data-theme=dark] .reveal[data-theme=black] .hljs-template-variable,html[data-theme=dark] .reveal[data-theme=black] .hljs-variable,html[data-theme=dark] .reveal[data-theme=league] .hljs-deletion,html[data-theme=dark] .reveal[data-theme=league] .hljs-name,html[data-theme=dark] .reveal[data-theme=league] .hljs-regexp,html[data-theme=dark] .reveal[data-theme=league] .hljs-selector-class,html[data-theme=dark] .reveal[data-theme=league] .hljs-selector-id,html[data-theme=dark] .reveal[data-theme=league] .hljs-tag,html[data-theme=dark] .reveal[data-theme=league] .hljs-template-variable,html[data-theme=dark] .reveal[data-theme=league] .hljs-variable,html[data-theme=dark] .reveal[data-theme=night] .hljs-deletion,html[data-theme=dark] .reveal[data-theme=night] .hljs-name,html[data-theme=dark] .reveal[data-theme=night] .hljs-regexp,html[data-theme=dark] .reveal[data-theme=night] .hljs-selector-class,html[data-theme=dark] .reveal[data-theme=night] .hljs-selector-id,html[data-theme=dark] .reveal[data-theme=night] .hljs-tag,html[data-theme=dark] .reveal[data-theme=night] .hljs-template-variable,html[data-theme=dark] .reveal[data-theme=night] .hljs-variable,html[data-theme=dark] .reveal[data-theme=blood] .hljs-deletion,html[data-theme=dark] .reveal[data-theme=blood] .hljs-name,html[data-theme=dark] .reveal[data-theme=blood] .hljs-regexp,html[data-theme=dark] .reveal[data-theme=blood] .hljs-selector-class,html[data-theme=dark] .reveal[data-theme=blood] .hljs-selector-id,html[data-theme=dark] .reveal[data-theme=blood] .hljs-tag,html[data-theme=dark] .reveal[data-theme=blood] .hljs-template-variable,html[data-theme=dark] .reveal[data-theme=blood] .hljs-variable,html[data-theme=dark] .reveal[data-theme=moon] .hljs-deletion,html[data-theme=dark] .reveal[data-theme=moon] .hljs-name,html[data-theme=dark] .reveal[data-theme=moon] .hljs-regexp,html[data-theme=dark] .reveal[data-theme=moon] .hljs-selector-class,html[data-theme=dark] .reveal[data-theme=moon] .hljs-selector-id,html[data-theme=dark] .reveal[data-theme=moon] .hljs-tag,html[data-theme=dark] .reveal[data-theme=moon] .hljs-template-variable,html[data-theme=dark] .reveal[data-theme=moon] .hljs-variable{color:#eb3c54}html[data-theme=dark] .reveal[data-theme=auto] .hljs-built_in,html[data-theme=dark] .reveal[data-theme=auto] .hljs-builtin-name,html[data-theme=dark] .reveal[data-theme=auto] .hljs-link,html[data-theme=dark] .reveal[data-theme=auto] .hljs-literal,html[data-theme=dark] .reveal[data-theme=auto] .hljs-meta,html[data-theme=dark] .reveal[data-theme=auto] .hljs-number,html[data-theme=dark] .reveal[data-theme=auto] .hljs-params,html[data-theme=dark] .reveal[data-theme=auto] .hljs-type,html[data-theme=dark] .reveal[data-theme=black] .hljs-built_in,html[data-theme=dark] .reveal[data-theme=black] .hljs-builtin-name,html[data-theme=dark] .reveal[data-theme=black] .hljs-link,html[data-theme=dark] .reveal[data-theme=black] .hljs-literal,html[data-theme=dark] .reveal[data-theme=black] .hljs-meta,html[data-theme=dark] .reveal[data-theme=black] .hljs-number,html[data-theme=dark] .reveal[data-theme=black] .hljs-params,html[data-theme=dark] .reveal[data-theme=black] .hljs-type,html[data-theme=dark] .reveal[data-theme=league] .hljs-built_in,html[data-theme=dark] .reveal[data-theme=league] .hljs-builtin-name,html[data-theme=dark] .reveal[data-theme=league] .hljs-link,html[data-theme=dark] .reveal[data-theme=league] .hljs-literal,html[data-theme=dark] .reveal[data-theme=league] .hljs-meta,html[data-theme=dark] .reveal[data-theme=league] .hljs-number,html[data-theme=dark] .reveal[data-theme=league] .hljs-params,html[data-theme=dark] .reveal[data-theme=league] .hljs-type,html[data-theme=dark] .reveal[data-theme=night] .hljs-built_in,html[data-theme=dark] .reveal[data-theme=night] .hljs-builtin-name,html[data-theme=dark] .reveal[data-theme=night] .hljs-link,html[data-theme=dark] .reveal[data-theme=night] .hljs-literal,html[data-theme=dark] .reveal[data-theme=night] .hljs-meta,html[data-theme=dark] .reveal[data-theme=night] .hljs-number,html[data-theme=dark] .reveal[data-theme=night] .hljs-params,html[data-theme=dark] .reveal[data-theme=night] .hljs-type,html[data-theme=dark] .reveal[data-theme=blood] .hljs-built_in,html[data-theme=dark] .reveal[data-theme=blood] .hljs-builtin-name,html[data-theme=dark] .reveal[data-theme=blood] .hljs-link,html[data-theme=dark] .reveal[data-theme=blood] .hljs-literal,html[data-theme=dark] .reveal[data-theme=blood] .hljs-meta,html[data-theme=dark] .reveal[data-theme=blood] .hljs-number,html[data-theme=dark] .reveal[data-theme=blood] .hljs-params,html[data-theme=dark] .reveal[data-theme=blood] .hljs-type,html[data-theme=dark] .reveal[data-theme=moon] .hljs-built_in,html[data-theme=dark] .reveal[data-theme=moon] .hljs-builtin-name,html[data-theme=dark] .reveal[data-theme=moon] .hljs-link,html[data-theme=dark] .reveal[data-theme=moon] .hljs-literal,html[data-theme=dark] .reveal[data-theme=moon] .hljs-meta,html[data-theme=dark] .reveal[data-theme=moon] .hljs-number,html[data-theme=dark] .reveal[data-theme=moon] .hljs-params,html[data-theme=dark] .reveal[data-theme=moon] .hljs-type{color:#e7ce56}html[data-theme=dark] .reveal[data-theme=auto] .hljs-attribute,html[data-theme=dark] .reveal[data-theme=black] .hljs-attribute,html[data-theme=dark] .reveal[data-theme=league] .hljs-attribute,html[data-theme=dark] .reveal[data-theme=night] .hljs-attribute,html[data-theme=dark] .reveal[data-theme=blood] .hljs-attribute,html[data-theme=dark] .reveal[data-theme=moon] .hljs-attribute{color:#ee7c2b}html[data-theme=dark] .reveal[data-theme=auto] .hljs-addition,html[data-theme=dark] .reveal[data-theme=auto] .hljs-bullet,html[data-theme=dark] .reveal[data-theme=auto] .hljs-string,html[data-theme=dark] .reveal[data-theme=auto] .hljs-symbol,html[data-theme=dark] .reveal[data-theme=black] .hljs-addition,html[data-theme=dark] .reveal[data-theme=black] .hljs-bullet,html[data-theme=dark] .reveal[data-theme=black] .hljs-string,html[data-theme=dark] .reveal[data-theme=black] .hljs-symbol,html[data-theme=dark] .reveal[data-theme=league] .hljs-addition,html[data-theme=dark] .reveal[data-theme=league] .hljs-bullet,html[data-theme=dark] .reveal[data-theme=league] .hljs-string,html[data-theme=dark] .reveal[data-theme=league] .hljs-symbol,html[data-theme=dark] .reveal[data-theme=night] .hljs-addition,html[data-theme=dark] .reveal[data-theme=night] .hljs-bullet,html[data-theme=dark] .reveal[data-theme=night] .hljs-string,html[data-theme=dark] .reveal[data-theme=night] .hljs-symbol,html[data-theme=dark] .reveal[data-theme=blood] .hljs-addition,html[data-theme=dark] .reveal[data-theme=blood] .hljs-bullet,html[data-theme=dark] .reveal[data-theme=blood] .hljs-string,html[data-theme=dark] .reveal[data-theme=blood] .hljs-symbol,html[data-theme=dark] .reveal[data-theme=moon] .hljs-addition,html[data-theme=dark] .reveal[data-theme=moon] .hljs-bullet,html[data-theme=dark] .reveal[data-theme=moon] .hljs-string,html[data-theme=dark] .reveal[data-theme=moon] .hljs-symbol{color:#4fb4d7}html[data-theme=dark] .reveal[data-theme=auto] .hljs-section,html[data-theme=dark] .reveal[data-theme=auto] .hljs-title,html[data-theme=dark] .reveal[data-theme=black] .hljs-section,html[data-theme=dark] .reveal[data-theme=black] .hljs-title,html[data-theme=dark] .reveal[data-theme=league] .hljs-section,html[data-theme=dark] .reveal[data-theme=league] .hljs-title,html[data-theme=dark] .reveal[data-theme=night] .hljs-section,html[data-theme=dark] .reveal[data-theme=night] .hljs-title,html[data-theme=dark] .reveal[data-theme=blood] .hljs-section,html[data-theme=dark] .reveal[data-theme=blood] .hljs-title,html[data-theme=dark] .reveal[data-theme=moon] .hljs-section,html[data-theme=dark] .reveal[data-theme=moon] .hljs-title{color:#78bb65}html[data-theme=dark] .reveal[data-theme=auto] .hljs-keyword,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-tag,html[data-theme=dark] .reveal[data-theme=black] .hljs-keyword,html[data-theme=dark] .reveal[data-theme=black] .hljs-selector-tag,html[data-theme=dark] .reveal[data-theme=league] .hljs-keyword,html[data-theme=dark] .reveal[data-theme=league] .hljs-selector-tag,html[data-theme=dark] .reveal[data-theme=night] .hljs-keyword,html[data-theme=dark] .reveal[data-theme=night] .hljs-selector-tag,html[data-theme=dark] .reveal[data-theme=blood] .hljs-keyword,html[data-theme=dark] .reveal[data-theme=blood] .hljs-selector-tag,html[data-theme=dark] .reveal[data-theme=moon] .hljs-keyword,html[data-theme=dark] .reveal[data-theme=moon] .hljs-selector-tag{color:#b45ea4}html[data-theme=dark] .reveal[data-theme=auto] .hljs,html[data-theme=dark] .reveal[data-theme=black] .hljs,html[data-theme=dark] .reveal[data-theme=league] .hljs,html[data-theme=dark] .reveal[data-theme=night] .hljs,html[data-theme=dark] .reveal[data-theme=blood] .hljs,html[data-theme=dark] .reveal[data-theme=moon] .hljs{display:block;overflow-x:auto;padding:.5em;background:#1c1d21;color:#c0c5ce}html[data-theme=dark] .reveal[data-theme=auto] .hljs-emphasis,html[data-theme=dark] .reveal[data-theme=black] .hljs-emphasis,html[data-theme=dark] .reveal[data-theme=league] .hljs-emphasis,html[data-theme=dark] .reveal[data-theme=night] .hljs-emphasis,html[data-theme=dark] .reveal[data-theme=blood] .hljs-emphasis,html[data-theme=dark] .reveal[data-theme=moon] .hljs-emphasis{font-style:italic}html[data-theme=dark] .reveal[data-theme=auto] .hljs-strong,html[data-theme=dark] .reveal[data-theme=black] .hljs-strong,html[data-theme=dark] .reveal[data-theme=league] .hljs-strong,html[data-theme=dark] .reveal[data-theme=night] .hljs-strong,html[data-theme=dark] .reveal[data-theme=blood] .hljs-strong,html[data-theme=dark] .reveal[data-theme=moon] .hljs-strong{font-weight:700}.reveal pre.code-wrapper{margin:var(--r-block-margin) auto;padding:0;background:transparent}.reveal pre.code-wrapper code{color:inherit}@font-face{font-weight:400;font-style:italic;font-family:Lato;src:local("Lato Italic"),local("Lato-Italic"),url(https://fonts.gstatic.com/s/lato/v17/S6u8w4BMUTPHjxsAUi-qJCY.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:400;font-style:italic;font-family:Lato;src:local("Lato Italic"),local("Lato-Italic"),url(https://fonts.gstatic.com/s/lato/v17/S6u8w4BMUTPHjxsAXC-q.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-style:italic;font-family:Lato;src:local("Lato Bold Italic"),local("Lato-BoldItalic"),url(https://fonts.gstatic.com/s/lato/v17/S6u_w4BMUTPHjxsI5wq_FQft1dw.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:italic;font-family:Lato;src:local("Lato Bold Italic"),local("Lato-BoldItalic"),url(https://fonts.gstatic.com/s/lato/v17/S6u_w4BMUTPHjxsI5wq_Gwft.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:400;font-style:normal;font-family:Lato;src:local("Lato Regular"),local("Lato-Regular"),url(https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjxAwXjeu.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:400;font-style:normal;font-family:Lato;src:local("Lato Regular"),local("Lato-Regular"),url(https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-style:normal;font-family:Lato;src:local("Lato Bold"),local("Lato-Bold"),url(https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwaPGR_p.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:normal;font-family:Lato;src:local("Lato Bold"),local("Lato-Bold"),url(https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.reveal[data-theme=beige]{--r-background-color: #f7f3de;--r-main-font: Lato, sans-serif;--r-main-font-size: 40px;--r-main-color: #333;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: League Gothic, impact, sans-serif;--r-heading-color: #333;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: normal;--r-heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 20px 20px rgba(0, 0, 0, .15);--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #42affa;--r-link-color-hover: #68bffb;--r-selection-background-color: rgba(79, 64, 28, .99);--r-selection-color: #fff;--r-viewport-color: radial-gradient(center, circle farthest-corner, rgb(255, 255, 255) 0%, rgb(247, 242, 211) 100%)}.reveal[data-theme=beige] section.has-dark-background,.reveal[data-theme=beige] section.has-dark-background h1,.reveal[data-theme=beige] section.has-dark-background h2,.reveal[data-theme=beige] section.has-dark-background h3,.reveal[data-theme=beige] section.has-dark-background h4,.reveal[data-theme=beige] section.has-dark-background h5,.reveal[data-theme=beige] section.has-dark-background h6{color:#fff}.reveal[data-theme=black]{--r-background-color: #191919;--r-main-font: Source Sans Pro, helvetica, sans-serif;--r-main-font-size: 42px;--r-main-color: #fff;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Source Sans Pro, helvetica, sans-serif;--r-heading-color: #fff;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #42affa;--r-link-color-hover: #5ebbfb;--r-selection-background-color: #71c3fb;--r-selection-color: #fff;--r-viewport-color: #191919}.reveal[data-theme=black] section.has-light-background,.reveal[data-theme=black] section.has-light-background h1,.reveal[data-theme=black] section.has-light-background h2,.reveal[data-theme=black] section.has-light-background h3,.reveal[data-theme=black] section.has-light-background h4,.reveal[data-theme=black] section.has-light-background h5,.reveal[data-theme=black] section.has-light-background h6{color:#222}html[data-theme=dark] .reveal[data-theme=auto]{--r-background-color: #191919;--r-main-font: Source Sans Pro, helvetica, sans-serif;--r-main-font-size: 42px;--r-main-color: #fff;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Source Sans Pro, helvetica, sans-serif;--r-heading-color: #fff;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #42affa;--r-link-color-hover: #5ebbfb;--r-selection-background-color: #71c3fb;--r-selection-color: #fff;--r-viewport-color: #191919}@font-face{font-weight:300;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyCN4Ffgg.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:300;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyLN4Ffgg.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:300;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyDN4Ffgg.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-weight:300;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyMN4Ffgg.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-weight:300;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyBN4Ffgg.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:300;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyPN4E.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyCN4Ffgg.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:700;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyLN4Ffgg.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:700;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyDN4Ffgg.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-weight:700;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyMN4Ffgg.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-weight:700;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyBN4Ffgg.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:italic;font-family:Ubuntu;src:local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyPN4E.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:300;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjvWyNL4U.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:300;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjtGyNL4U.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:300;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjvGyNL4U.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-weight:300;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1Czjs2yNL4U.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-weight:300;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjvmyNL4U.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:300;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjsGyN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:700;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:700;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-weight:700;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-weight:700;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:normal;font-family:Ubuntu;src:local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjsGyN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.reveal[data-theme=blood]{--r-background-color: #222;--r-main-font: ubuntu, sans-serif;--r-main-font-size: 40px;--r-main-color: #eee;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: ubuntu, sans-serif;--r-heading-color: #eee;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: 2px 2px 2px #222;--r-heading-font-weight: normal;--r-heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 20px 20px rgba(0, 0, 0, .15);--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #a23;--r-link-color-hover: #d63347;--r-selection-background-color: #a23;--r-selection-color: #fff;--r-viewport-color: #222}.reveal[data-theme=blood] section.has-light-background,.reveal[data-theme=blood] section.has-light-background h1,.reveal[data-theme=blood] section.has-light-background h2,.reveal[data-theme=blood] section.has-light-background h3,.reveal[data-theme=blood] section.has-light-background h4,.reveal[data-theme=blood] section.has-light-background h5,.reveal[data-theme=blood] section.has-light-background h6{color:#222}.reveal[data-theme=blood] h1,.reveal[data-theme=blood] h2,.reveal[data-theme=blood] h3,.reveal[data-theme=blood] h4,.reveal[data-theme=blood] h5,.reveal[data-theme=blood] h6{font-weight:700}.reveal[data-theme=blood] p{font-weight:300;text-shadow:1px 1px #222}.reveal[data-theme=blood] p code{display:inline-block;border-radius:7px;background:#23241f}.reveal[data-theme=blood] section.has-light-background p,.reveal[data-theme=blood] section.has-light-background h1,.reveal[data-theme=blood] section.has-light-background h2,.reveal[data-theme=blood] section.has-light-background h3,.reveal[data-theme=blood] section.has-light-background h4{text-shadow:none}.reveal[data-theme=league]{--r-background-color: #2b2b2b;--r-main-font: Lato, sans-serif;--r-main-font-size: 40px;--r-main-color: #eee;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: League Gothic, impact, sans-serif;--r-heading-color: #eee;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: 0 0 6px rgba(0, 0, 0, .2);--r-heading-font-weight: normal;--r-heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 20px 20px rgba(0, 0, 0, .15);--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #13daec;--r-link-color-hover: #42e1f0;--r-selection-background-color: #ff5e99;--r-selection-color: #fff;--r-viewport-color: radial-gradient(center, circle farthest-corner, rgb(85, 90, 95) 0%, rgb(28, 30, 32) 100%)}.reveal[data-theme=league] section.has-light-background,.reveal[data-theme=league] section.has-light-background h1,.reveal[data-theme=league] section.has-light-background h2,.reveal[data-theme=league] section.has-light-background h3,.reveal[data-theme=league] section.has-light-background h4,.reveal[data-theme=league] section.has-light-background h5,.reveal[data-theme=league] section.has-light-background h6{color:#222}.reveal[data-theme=moon]{--r-background-color: #002b36;--r-main-font: Lato, sans-serif;--r-main-font-size: 40px;--r-main-color: #93a1a1;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: League Gothic, impact, sans-serif;--r-heading-color: #eee8d5;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: normal;--r-heading1-text-shadow: none;--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #268bd2;--r-link-color-hover: #4ea3df;--r-selection-background-color: #d33682;--r-selection-color: #fff;--r-viewport-color: #002b36}.reveal[data-theme=moon] section.has-light-background,.reveal[data-theme=moon] section.has-light-background h1,.reveal[data-theme=moon] section.has-light-background h2,.reveal[data-theme=moon] section.has-light-background h3,.reveal[data-theme=moon] section.has-light-background h4,.reveal[data-theme=moon] section.has-light-background h5,.reveal[data-theme=moon] section.has-light-background h6{color:#222}@font-face{font-weight:700;font-style:normal;font-family:Montserrat;src:local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3gTD_u50.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:700;font-style:normal;font-family:Montserrat;src:local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3g3D_u50.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:700;font-style:normal;font-family:Montserrat;src:local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3gbD_u50.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-weight:700;font-style:normal;font-family:Montserrat;src:local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3gfD_u50.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:normal;font-family:Montserrat;src:local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3gnD_g.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:400;font-style:italic;font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:400;font-style:italic;font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:400;font-style:italic;font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-weight:400;font-style:italic;font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-weight:400;font-style:italic;font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-weight:400;font-style:italic;font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:400;font-style:italic;font-family:Open Sans;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-style:italic;font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:700;font-style:italic;font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:700;font-style:italic;font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-weight:700;font-style:italic;font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-weight:700;font-style:italic;font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-weight:700;font-style:italic;font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:italic;font-family:Open Sans;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:400;font-style:normal;font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:400;font-style:normal;font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:400;font-style:normal;font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-weight:400;font-style:normal;font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-weight:400;font-style:normal;font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-weight:400;font-style:normal;font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFW50bbck.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:400;font-style:normal;font-family:Open Sans;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFVZ0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-style:normal;font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-weight:700;font-style:normal;font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-weight:700;font-style:normal;font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-weight:700;font-style:normal;font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-weight:700;font-style:normal;font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-weight:700;font-style:normal;font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:normal;font-family:Open Sans;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.reveal[data-theme=night]{--r-background-color: #111;--r-main-font: Open Sans, sans-serif;--r-main-font-size: 40px;--r-main-color: #eee;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Montserrat, impact, sans-serif;--r-heading-color: #eee;--r-heading-line-height: 1.2;--r-heading-letter-spacing: -.03em;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: normal;--r-heading1-text-shadow: none;--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #e7ad52;--r-link-color-hover: #ecbd75;--r-selection-background-color: #e7ad52;--r-selection-color: #fff;--r-viewport-color: #111}.reveal[data-theme=night] section.has-light-background,.reveal[data-theme=night] section.has-light-background h1,.reveal[data-theme=night] section.has-light-background h2,.reveal[data-theme=night] section.has-light-background h3,.reveal[data-theme=night] section.has-light-background h4,.reveal[data-theme=night] section.has-light-background h5,.reveal[data-theme=night] section.has-light-background h6{color:#222}.reveal[data-theme=serif]{--r-background-color: #f0f1eb;--r-main-font: Palatino Linotype, Book Antiqua, palatino, freeserif, serif;--r-main-font-size: 40px;--r-main-color: #000;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Palatino Linotype, Book Antiqua, palatino, freeserif, serif;--r-heading-color: #383d3d;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: normal;--r-heading1-text-shadow: none;--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #51483d;--r-link-color-hover: #7b6d5d;--r-selection-background-color: #26351c;--r-selection-color: #fff;--r-viewport-color: #f0f1eb}.reveal[data-theme=serif] section.has-dark-background,.reveal[data-theme=serif] section.has-dark-background h1,.reveal[data-theme=serif] section.has-dark-background h2,.reveal[data-theme=serif] section.has-dark-background h3,.reveal[data-theme=serif] section.has-dark-background h4,.reveal[data-theme=serif] section.has-dark-background h5,.reveal[data-theme=serif] section.has-dark-background h6{color:#fff}.reveal[data-theme=serif] a{line-height:1.3em}@font-face{font-weight:400;font-style:normal;font-family:News Cycle;src:local("News Cycle"),local("NewsCycle"),url(https://fonts.gstatic.com/s/newscycle/v17/CSR64z1Qlv-GDxkbKVQ_fO4KTet_.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:400;font-style:normal;font-family:News Cycle;src:local("News Cycle"),local("NewsCycle"),url(https://fonts.gstatic.com/s/newscycle/v17/CSR64z1Qlv-GDxkbKVQ_fOAKTQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-style:normal;font-family:News Cycle;src:local("News Cycle Bold"),local("NewsCycle-Bold"),url(https://fonts.gstatic.com/s/newscycle/v17/CSR54z1Qlv-GDxkbKVQ_dFsvWNpeudwk.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:normal;font-family:News Cycle;src:local("News Cycle Bold"),local("NewsCycle-Bold"),url(https://fonts.gstatic.com/s/newscycle/v17/CSR54z1Qlv-GDxkbKVQ_dFsvWNReuQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.reveal[data-theme=simple]{--r-background-color: #fff;--r-main-font: Lato, sans-serif;--r-main-font-size: 40px;--r-main-color: #000;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: News Cycle, impact, sans-serif;--r-heading-color: #000;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: normal;--r-heading1-text-shadow: none;--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #00008b;--r-link-color-hover: #0000d5;--r-selection-background-color: rgba(0, 0, 0, .99);--r-selection-color: #fff;--r-viewport-color: #fff}.reveal[data-theme=simple] section.has-dark-background,.reveal[data-theme=simple] section.has-dark-background h1,.reveal[data-theme=simple] section.has-dark-background h2,.reveal[data-theme=simple] section.has-dark-background h3,.reveal[data-theme=simple] section.has-dark-background h4,.reveal[data-theme=simple] section.has-dark-background h5,.reveal[data-theme=simple] section.has-dark-background h6{color:#fff}@font-face{font-weight:400;font-style:normal;font-family:Quicksand;src:url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-weight:400;font-style:normal;font-family:Quicksand;src:url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:400;font-style:normal;font-family:Quicksand;src:url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-style:normal;font-family:Quicksand;src:url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-weight:700;font-style:normal;font-family:Quicksand;src:url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-style:normal;font-family:Quicksand;src:url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.reveal[data-theme=sky]{--r-background-color: #f7fbfc;--r-main-font: Open Sans, sans-serif;--r-main-font-size: 40px;--r-main-color: #333;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Quicksand, sans-serif;--r-heading-color: #333;--r-heading-line-height: 1.2;--r-heading-letter-spacing: -.08em;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: normal;--r-heading1-text-shadow: none;--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #3b759e;--r-link-color-hover: #5493bf;--r-selection-background-color: #134674;--r-selection-color: #fff;--r-viewport-color: radial-gradient(center, circle farthest-corner, #f7fbfc 0%, #add9e4 100%)}.reveal[data-theme=sky] section.has-dark-background,.reveal[data-theme=sky] section.has-dark-background h1,.reveal[data-theme=sky] section.has-dark-background h2,.reveal[data-theme=sky] section.has-dark-background h3,.reveal[data-theme=sky] section.has-dark-background h4,.reveal[data-theme=sky] section.has-dark-background h5,.reveal[data-theme=sky] section.has-dark-background h6{color:#fff}.reveal[data-theme=sky] a{line-height:1.3em}.reveal[data-theme=solarized]{--r-background-color: #fdf6e3;--r-main-font: Lato, sans-serif;--r-main-font-size: 40px;--r-main-color: #657b83;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: League Gothic, impact, sans-serif;--r-heading-color: #586e75;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: normal;--r-heading1-text-shadow: none;--r-heading1-size: 3.77em;--r-heading2-size: 2.11em;--r-heading3-size: 1.55em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #268bd2;--r-link-color-hover: #4ea3df;--r-selection-background-color: #d33682;--r-selection-color: #fff;--r-viewport-color: #fdf6e3}.reveal[data-theme=white]{--r-background-color: #fff;--r-main-font: Source Sans Pro, helvetica, sans-serif;--r-main-font-size: 42px;--r-main-color: #222;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Source Sans Pro, helvetica, sans-serif;--r-heading-color: #222;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #2a76dd;--r-link-color-hover: #4a8be2;--r-selection-background-color: #5f98e6;--r-selection-color: #fff;--r-viewport-color: #fff}.reveal[data-theme=white] section.has-dark-background,.reveal[data-theme=white] section.has-dark-background h1,.reveal[data-theme=white] section.has-dark-background h2,.reveal[data-theme=white] section.has-dark-background h3,.reveal[data-theme=white] section.has-dark-background h4,.reveal[data-theme=white] section.has-dark-background h5,.reveal[data-theme=white] section.has-dark-background h6{color:#fff}html[data-theme=light] .reveal[data-theme=auto]{--r-background-color: #fff;--r-main-font: Source Sans Pro, helvetica, sans-serif;--r-main-font-size: 42px;--r-main-color: #222;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Source Sans Pro, helvetica, sans-serif;--r-heading-color: #222;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #2a76dd;--r-link-color-hover: #4a8be2;--r-selection-background-color: #5f98e6;--r-selection-color: #fff;--r-viewport-color: #fff}.reveal-viewport{background-color:var(--r-background-color)}.reveal{font-weight:400;color:var(--r-main-color);font-size:var(--r-main-font-size);font-family:var(--r-main-font)}.reveal p{line-height:1.3}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:700}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;margin:0 0 0 1em;text-align:start}.reveal ol{list-style-type:decimal}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal dt{font-weight:700}.reveal dd{margin-left:40px}.reveal blockquote{position:relative;display:block;width:70%;padding:5px;background:rgba(255,255,255,.05);box-shadow:0 0 2px #0003;font-style:italic}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{position:relative;display:block;width:90%;padding:0;box-shadow:0 5px 15px #00000026;font-size:.55em;line-height:1.2em;text-align:left;word-wrap:break-word}.reveal code{text-transform:none}.reveal pre code{display:block;overflow:auto;max-height:400px;padding:5px;word-wrap:normal}.reveal a{text-decoration:none;transition:color .15s ease}.reveal a:hover{border:none;text-shadow:none}.reveal table{margin:auto;border-spacing:0;border-collapse:collapse}.reveal th{font-weight:700}.reveal th,.reveal td{padding:.2em .5em;border-bottom:1px solid;text-align:left}.reveal th[align=center],.reveal td[align=center]{text-align:center}.reveal th[align=right],.reveal td[align=right]{text-align:right}.reveal tbody tr:last-child th,.reveal tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;vertical-align:top;font-size:.6em;line-height:1.2em}.reveal small *{vertical-align:top}@media print{.reveal .backgrounds{background-color:var(--r-background-color)}}.reveal ::-moz-selection{background:var(--r-selection-background-color);color:var(--r-selection-color);text-shadow:none}.reveal ::selection{background:var(--r-selection-background-color);color:var(--r-selection-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{font-weight:inherit;line-height:1.3}.reveal h1{font-size:var(--r-heading1-size);text-shadow:var(--r-heading1-text-shadow)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal p{margin:var(--r-block-margin) 0}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-weight:var(--r-heading-font-weight);font-family:var(--r-heading-font);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal blockquote{margin:var(--r-block-margin) auto}.reveal pre{margin:var(--r-block-margin) auto;font-family:var(--r-code-font)}.reveal code{font-family:var(--r-code-font)}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color)}.reveal a:hover{color:var(--r-link-color-hover)}.reveal .roll span:after{background:var(--r-link-color-dark);color:#fff}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px #00000026}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px #0000008c}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:rgba(0,0,0,.2);color:var(--r-link-color)}.reveal table.hljs-ln{display:table;width:100%}.reveal table.hljs-ln tr{border:none}.reveal table.hljs-ln tr:nth-child(2n){background:inherit!important}.reveal table.hljs-ln td{border:none}.vp-reveal{position:relative;width:100%;height:400px;min-height:400px}@media print{.vp-reveal{page-break-inside:avoid}}@media (max-width: 419px){.vp-reveal{width:calc(100% + 3rem);min-height:300px;margin:0 -1.5rem}}.reveal-loading{position:absolute;top:0;right:0;left:0;color:var(--vp-tc)}@font-face{font-weight:400;font-style:normal;font-family:League Gothic;src:url(/JavaScriptCollection/assets/league-gothic-8802c66a.eot);src:url(/JavaScriptCollection/assets/league-gothic-8802c66a.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/league-gothic-5eef6df8.woff) format("woff"),url(/JavaScriptCollection/assets/league-gothic-38fcc721.ttf) format("truetype")}@font-face{font-weight:400;font-style:normal;font-family:Source Sans Pro;src:url(/JavaScriptCollection/assets/source-sans-pro-regular-dce8869d.eot);src:url(/JavaScriptCollection/assets/source-sans-pro-regular-dce8869d.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/source-sans-pro-regular-d4eaa48b.woff) format("woff"),url(/JavaScriptCollection/assets/source-sans-pro-regular-c1865d89.ttf) format("truetype")}@font-face{font-weight:400;font-style:italic;font-family:Source Sans Pro;src:url(/JavaScriptCollection/assets/source-sans-pro-italic-ad4b0799.eot);src:url(/JavaScriptCollection/assets/source-sans-pro-italic-ad4b0799.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/source-sans-pro-italic-05d3615f.woff) format("woff"),url(/JavaScriptCollection/assets/source-sans-pro-italic-d13268af.ttf) format("truetype")}@font-face{font-weight:600;font-style:normal;font-family:Source Sans Pro;src:url(/JavaScriptCollection/assets/source-sans-pro-semibold-ebb8918d.eot);src:url(/JavaScriptCollection/assets/source-sans-pro-semibold-ebb8918d.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/source-sans-pro-semibold-b0abd273.woff) format("woff"),url(/JavaScriptCollection/assets/source-sans-pro-semibold-a53e2723.ttf) format("truetype")}@font-face{font-weight:600;font-style:italic;font-family:Source Sans Pro;src:url(/JavaScriptCollection/assets/source-sans-pro-semibolditalic-dfe0b47a.eot);src:url(/JavaScriptCollection/assets/source-sans-pro-semibolditalic-dfe0b47a.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/source-sans-pro-semibolditalic-7225cacc.woff) format("woff"),url(/JavaScriptCollection/assets/source-sans-pro-semibolditalic-e8ec22b6.ttf) format("truetype")}.vp-playground{overflow:hidden;margin-top:1rem;margin-bottom:1rem;border:1px solid var(--vp-brc);border-radius:6px}@media print{.vp-playground{display:none!important}}.vp-playground-header{display:flex;flex-flow:row wrap;padding:8px 10px;border-bottom:1px solid var(--vp-brc);background:var(--playground-header-bg-color, #eee);font-weight:500;transition:background var(--vp-ct),border-color var(--vp-ct)}.vp-playground-title{flex:1;overflow:hidden;font-size:1.25rem;text-overflow:ellipsis;white-space:nowrap}.vp-playground-actions{display:flex;align-items:center}.vp-playground-action{display:inline-flex;margin-inline-start:10px}.vp-playground-action .icon{width:1.5rem;height:1.5rem;fill:#777}.vp-playground-action:hover .icon{fill:var(--vp-tc)}.vp-playground-container{position:relative;overflow:hidden;background:var(--vp-bg);transition:background var(--vp-ct)}@media print{.vp-playground-container{page-break-inside:avoid}}.vp-playground-container iframe{display:block;width:100%;height:100%;min-height:400px;border:none;resize:vertical}:root{--tab-bg-color: var(--vp-bg);--tab-nav-text-color: var(--vp-c);--tab-nav-bg-color: #e0e0e0;--tab-nav-hover-color: #eee}html[data-theme=dark]{--tab-nav-bg-color: #34343f;--tab-nav-hover-color: #2d2d38}.vp-tabs{margin:1.5rem 0;border:2px solid var(--vp-brc);border-radius:8px}@media (max-width: 419px){.theme-hope-content>.vp-tabs{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.vp-tabs-nav{overflow-x:auto;margin:0;padding:0;border-radius:8px 8px 0 0;background:var(--tab-nav-bg-color);list-style:none;white-space:nowrap;transition:background var(--vp-ct)}@media print{.vp-tabs-nav{display:none}}@media (max-width: 419px){.vp-tabs-nav{border-radius:0}}.vp-tab-nav{border-width:0;position:relative;min-width:4rem;margin:0;padding:.5em 1em;border-radius:8px 8px 0 0;background:transparent;color:var(--tab-nav-text-color);font-weight:600;font-size:.85em;line-height:1.75;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.vp-tab-nav:hover{background:var(--tab-nav-hover-color)}.vp-tab-nav:before,.vp-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:8px;height:8px}.vp-tab-nav:before{right:100%}.vp-tab-nav:after{left:100%}.vp-tab-nav.active{background:var(--tab-bg-color)}.vp-tab-nav.active:before{background:radial-gradient(16px at left top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav.active:after{background:radial-gradient(16px at right top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav:first-child:before{display:none}.vp-tab{display:none;padding:1rem .75rem;background:var(--tab-bg-color);transition:background var(--vp-ct)}.vp-tab.active{display:block}.task-list-container{padding-inline-start:0;list-style-position:inside}.task-list-container .task-list-container{padding-inline-start:1.5em}.task-list-item{list-style:none}.task-list-item-checkbox{position:relative;width:0;margin-inline-end:1.5em;cursor:pointer}.task-list-item-checkbox:after{content:" ";position:absolute;top:0;display:inline-block;box-sizing:border-box;width:1em;height:1em;padding-inline-start:0;border:1px solid #ddd;border-radius:2px;background:#fff;text-align:center;visibility:visible;transition:background var(--vp-ct),border-color var(--vp-ct)}@media print{.task-list-item-checkbox:after{border-color:var(--vp-c)}}html[data-theme=dark] .task-list-item-checkbox:after{border-color:#666;background:#333}.task-list-item-checkbox:checked:after{content:"";border-color:var(--vp-tc);background:var(--vp-tc)}@media print{.task-list-item-checkbox:checked:after{border-color:var(--vp-c);background:transparent}}html[data-theme=dark] .task-list-item-checkbox:checked:after{border-color:var(--vp-tc);background:var(--vp-tc)}.task-list-item-checkbox:checked:before{content:"";position:absolute;top:.1em;left:.4em;z-index:1;width:.2em;height:.5em;border:solid var(--white);border-width:0 .15em .15em 0;transform:rotate(45deg)}@media print{.task-list-item-checkbox:checked:before{border-color:var(--vp-c)}}html[dir=rtl] .task-list-item-checkbox:checked:before{right:.4em;left:unset}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:100vw;height:100vh}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:#fff;transition:width var(--vp-tt),color var(--vp-ct)}.photo-swipe-bullet.active{width:30px;background:var(--vp-tc)}@keyframes message-move-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes message-move-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}#message-container{position:fixed;top:calc(var(--navbar-height, 3.6rem) + 1rem);right:0;left:0;z-index:75;text-align:center}#message-container .message{display:inline-block;padding:8px 10px;border-radius:3px;background:var(--vp-bg);color:var(--vp-c);box-shadow:0 0 10px 0 var(--box-shadow, #f0f1f2);font-size:14px}#message-container .message.move-in{animation:message-move-in .3s ease-in-out}#message-container .message.move-out{animation:message-move-out .3s ease-in-out;animation-fill-mode:forwards}#message-container .message svg{position:relative;bottom:-.125em;margin-inline-end:5px}.vp-article-wrapper{position:relative;box-sizing:border-box;width:100%;margin:0 auto 1.25rem;text-align:start;overflow-wrap:break-word}@media (max-width: 959px){.vp-article-wrapper{margin:0 auto 1rem}}.vp-article-wrapper:last-child{margin-bottom:0}.vp-article-item{display:block;padding:.75rem 1.25rem;border-radius:.4rem;background:var(--bg-color-float);color:inherit;box-shadow:0 1px 3px 1px var(--card-shadow);transition:background var(--color-transition),box-shadow var(--color-transition)}@media (max-width: 959px){.vp-article-item{padding:.75rem 1rem}}@media (max-width: 419px){.vp-article-item{border-radius:0}}.vp-article-item:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.vp-article-item .sticky-icon{position:absolute;top:0;right:0;width:1.5rem;height:1.5rem;color:var(--theme-color)}html[dir=rtl] .vp-article-item .sticky-icon{right:unset;left:0}.vp-article-item .page-info>span{display:flex;flex-shrink:0;align-items:center;margin-inline-end:.5em;line-height:1.8}.vp-article-item .page-info>span:after{--balloon-font-size: 8px;padding:.3em .6em!important}.vp-article-hr{margin-block-start:.375em;margin-block-end:.375em}.vp-article-title{position:relative;display:inline-block;color:var(--text-color);font-size:1.25rem;font-family:var(--font-family-heading);line-height:1.6;cursor:pointer}.vp-article-title:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--theme-color);visibility:hidden;transition:transform .3s ease-in-out;transform:scaleX(0)}.vp-article-title:hover{cursor:pointer}.vp-article-title:hover:after{visibility:visible;transform:scaleX(1)}.vp-article-title a{color:inherit;font-weight:600}.vp-article-title .lock-icon,.vp-article-title .slides-icon{position:relative;bottom:-.125em;display:inline-block;vertical-align:baseline;width:1em;height:1em;margin-inline-end:.25em;color:var(--theme-color)}.vp-article-title>span{word-break:break-word}.vp-article-cover{width:calc(100% + 2.5rem);margin:-.75rem -1.25rem .75rem;border-top-left-radius:.4rem;border-top-right-radius:.4rem}@media (max-width: 959px){.vp-article-cover{width:calc(100% + 2rem);margin:-.75rem -1rem .75rem}}@media (max-width: 419px){.vp-article-cover{border-radius:0}}.vp-article-excerpt{overflow:hidden;line-height:1.6;cursor:default}@media (max-width: 959px){.vp-article-excerpt{font-size:15px}}@media (max-width: 419px){.vp-article-excerpt{font-size:14px}}.vp-article-excerpt h1{display:none}.vp-article-excerpt h2{font-size:1.4em}.vp-article-excerpt h3{font-size:1.2em}.vp-article-excerpt h1,.vp-article-excerpt h2,.vp-article-excerpt h3,.vp-article-excerpt h4,.vp-article-excerpt h5,.vp-article-excerpt h6{margin-top:.5em;margin-bottom:.5em}.vp-article-excerpt h1+p{margin-top:.5em}.vp-article-excerpt p:first-child{margin-top:.5em}.vp-article-excerpt p:last-child{margin-bottom:.5em}.vp-article-excerpt div[class*=language-]{overflow-x:auto;overflow-y:hidden}.vp-article-excerpt div[class*=language-] pre{margin:.85rem 0;line-height:1.375}.vp-article-excerpt div[class*=language-] pre code{padding:0;background:transparent}.vp-article-excerpt div[class*=language-].line-numbers-mode .line-numbers{padding:.85rem 0}.vp-article-excerpt .code-demo-wrapper,.vp-article-excerpt .external-link-icon,.vp-article-excerpt .footnote-anchor{display:none}.vp-article-excerpt section.footnotes{display:none}.vp-article-excerpt img{max-width:100%}.vp-article-excerpt figure{display:flex;flex-direction:column;width:auto;margin:1rem auto;text-align:center;transition:transform var(--transform-transition)}.vp-article-excerpt figure img{overflow:hidden;margin:0 auto;border-radius:8px}.vp-article-excerpt figure figcaption{display:inline-block;margin:6px auto;font-size:.8rem}.vp-article-excerpt figure figcaption:only-child{display:none}.vp-article-list{margin-top:calc(-.5rem - var(--navbar-height));padding-top:calc(var(--navbar-height) + .5rem);text-align:center}.vp-article-list:first-child{margin-top:calc(0rem - var(--navbar-height))}.vp-article-list .empty{max-width:560px;margin:0 auto;text-align:center}.vp-article-type-wrapper{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding-inline-start:0;list-style:none;font-weight:600;font-size:18px}@media (max-width: 419px){.vp-article-type-wrapper{font-size:16px}}.vp-article-type{position:relative;vertical-align:middle;margin:.3em .8em;line-height:1.2;cursor:pointer}.vp-article-type:after{content:" ";position:absolute;right:50%;bottom:-6px;left:50%;height:2px;border-radius:1px;background:var(--theme-color);visibility:hidden;transition:left .2s ease-in-out,right .2s ease-in-out}.vp-article-type a{display:inline-block;color:inherit;transition:all .3s ease-in-out}.vp-article-type.active{position:relative}.vp-article-type.active a{color:var(--theme-color);transform:scale(1.1)}.vp-article-type:hover:after,.vp-article-type.active:after{right:calc(50% - 8px);left:calc(50% - 8px);visibility:visible}.vp-blog-hero{position:relative;display:flex;flex-direction:column;justify-content:center;height:450px;margin-bottom:1rem;color:#eee;font-family:var(--font-family-heading)}@media (max-width: 719px){.vp-blog-hero{height:350px}}@media (max-width: 419px){.vp-blog-hero{margin:0 0 1rem}}.vp-blog-hero.no-bg{color:var(--text-color)}.vp-blog-hero>:not(.vp-blog-mask){position:relative;z-index:2}.vp-blog-hero .slide-down-button{border-width:0;background:transparent;cursor:pointer;position:absolute;bottom:0;left:calc(50vw - 30px);display:none;width:60px;height:60px;padding:10px}.vp-blog-hero .slide-down-button .icon{width:30px;margin:-15px 0;animation-name:bounce-down;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate}.vp-blog-hero .slide-down-button .icon:first-child{color:#ffffff26}.vp-blog-hero .slide-down-button .icon:nth-child(2){color:#ffffff80}.vp-blog-hero.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-blog-hero.fullscreen .vp-blog-mask{background-position-y:top!important}.vp-blog-hero.fullscreen .slide-down-button{display:block}.vp-blog-mask{position:absolute;top:0;right:0;bottom:0;left:0}.vp-blog-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;background:var(--light-grey);opacity:.2}.vp-blog-mask.light{display:block}html[data-theme=dark] .vp-blog-mask.light,.vp-blog-mask.dark{display:none}html[data-theme=dark] .vp-blog-mask.dark{display:block}.vp-blog-hero-title{margin:.5rem auto;font-weight:700;font-size:2rem}@media (min-width: 1440px){.vp-blog-hero-title{font-size:2.25rem}}@media (max-width: 719px){.vp-blog-hero-title{font-size:1.75rem}}.vp-blog-hero-image{display:block;max-width:100%;max-height:15rem;margin:1.5rem auto}@media (max-width: 719px){.vp-blog-hero-image{max-height:12rem}}.vp-blog-hero-image.light{display:block}html[data-theme=dark] .vp-blog-hero-image.light,.vp-blog-hero-image.dark{display:none}html[data-theme=dark] .vp-blog-hero-image.dark{display:block}.vp-blog-hero-image+.vp-blog-hero-title{margin:0 auto}.vp-blog-hero-description{margin:1.2rem auto 0;font-size:1.5rem}@media (max-width: 719px){.vp-blog-hero-description{font-size:1.25rem}}@keyframes bounce-down{0%{transform:translateY(-5px)}to{transform:translateY(5px)}}.vp-blogger-info{padding:.5rem;font-family:var(--font-family-heading);overflow-wrap:break-word}.vp-page .vp-blogger-info{background:var(--bg-color-float);transition:background var(--color-transition)}.vp-sidebar .vp-blogger-info.mobile{display:none}@media (max-width: 719px){.vp-sidebar .vp-blogger-info.mobile{display:block}}.vp-sidebar .vp-blogger-info.mobile+hr{display:none}@media (max-width: 719px){.vp-sidebar .vp-blogger-info.mobile+hr{display:block;margin-top:1rem}}.vp-blogger{padding:.5rem;text-align:center}.vp-blogger-avatar{width:8rem;height:8rem;margin:0 auto}.vp-blogger-avatar.round{border-radius:50%}.vp-blogger-name{margin:1rem auto;font-size:22px}.vp-blogger-description{margin:1rem auto;font-size:14px}.vp-blog-counts{display:flex;width:80%;margin:0 auto 1rem}.vp-blog-count{display:block;width:25%;color:inherit;font-size:13px;text-align:center;cursor:pointer;transition:color var(--color-transition)}.vp-blog-count:hover{color:var(--theme-color)}.vp-blog-count .count{position:relative;margin-bottom:.5rem;font-weight:600;font-size:20px}.vp-category-list{position:relative;z-index:2;padding-inline-start:0;list-style:none;font-size:14px}.vp-category{display:inline-block;vertical-align:middle;overflow:hidden;margin:.3rem .6rem .8rem;padding:.4rem .8rem;border-radius:.25rem;color:var(--dark-grey);box-shadow:0 1px 4px 0 var(--card-shadow);word-break:break-word;cursor:pointer;transition:background var(--color-transition),color var(--color-transition)}@media (max-width: 419px){.vp-category{font-size:.9rem}}.vp-category a{color:inherit}.vp-category .count{display:inline-block;min-width:1rem;height:1.2rem;margin-inline-start:.2em;padding:0 .1rem;border-radius:.6rem;color:var(--white);font-size:.7rem;line-height:1.2rem;text-align:center}.vp-category0{background:#fde5e7;color:#ba111f}html[data-theme=dark] .vp-category0{background:#340509;color:#ec2f3e}.vp-category0:hover{background:#f9bec3}html[data-theme=dark] .vp-category0:hover{background:#53080e}.vp-category0.active{background:#cf1322;color:#fff}html[data-theme=dark] .vp-category0.active{background:#a60f1b;color:var(--bg-color)}.vp-category0.active .count{background:var(--bg-color);color:#cf1322}.vp-category0 .count{background:#cf1322}.vp-category1{background:#ffeee8;color:#f54205}html[data-theme=dark] .vp-category1{background:#441201;color:#fb7649}.vp-category1:hover{background:#fed4c6}html[data-theme=dark] .vp-category1:hover{background:#6d1d02}.vp-category1.active{background:#fa541c;color:#fff}html[data-theme=dark] .vp-category1.active{background:#da3a05;color:var(--bg-color)}.vp-category1.active .count{background:var(--bg-color);color:#fa541c}.vp-category1 .count{background:#fa541c}.vp-category2{background:#fef5e7;color:#e08e0b}html[data-theme=dark] .vp-category2{background:#3e2703;color:#f5b041}.vp-category2:hover{background:#fce6c4}html[data-theme=dark] .vp-category2:hover{background:#633f05}.vp-category2.active{background:#f39c12;color:#fff}html[data-theme=dark] .vp-category2.active{background:#c77e0a;color:var(--bg-color)}.vp-category2.active .count{background:var(--bg-color);color:#f39c12}.vp-category2 .count{background:#f39c12}.vp-category3{background:#eafaf1;color:#29b866}html[data-theme=dark] .vp-category3{background:#0c331c;color:#55d98d}.vp-category3:hover{background:#caf3db}html[data-theme=dark] .vp-category3:hover{background:#12522d}.vp-category3.active{background:#2ecc71;color:#fff}html[data-theme=dark] .vp-category3.active{background:#25a35a;color:var(--bg-color)}.vp-category3.active .count{background:var(--bg-color);color:#2ecc71}.vp-category3 .count{background:#2ecc71}.vp-category4{background:#e6f9ee;color:#219552}html[data-theme=dark] .vp-category4{background:#092917;color:#36d278}.vp-category4:hover{background:#c0f1d5}html[data-theme=dark] .vp-category4:hover{background:#0f4224}.vp-category4.active{background:#25a55b;color:#fff}html[data-theme=dark] .vp-category4.active{background:#1e8449;color:var(--bg-color)}.vp-category4.active .count{background:var(--bg-color);color:#25a55b}.vp-category4 .count{background:#25a55b}.vp-category5{background:#e1fcfc;color:#0e9595}html[data-theme=dark] .vp-category5{background:#042929;color:#16e1e1}.vp-category5:hover{background:#b4f8f8}html[data-theme=dark] .vp-category5:hover{background:#064242}.vp-category5.active{background:#10a5a5;color:#fff}html[data-theme=dark] .vp-category5.active{background:#0d8484;color:var(--bg-color)}.vp-category5.active .count{background:var(--bg-color);color:#10a5a5}.vp-category5 .count{background:#10a5a5}.vp-category6{background:#e4f0fe;color:#0862c3}html[data-theme=dark] .vp-category6{background:#021b36;color:#2589f6}.vp-category6:hover{background:#bbdafc}html[data-theme=dark] .vp-category6:hover{background:#042c57}.vp-category6.active{background:#096dd9;color:#fff}html[data-theme=dark] .vp-category6.active{background:#0757ae;color:var(--bg-color)}.vp-category6.active .count{background:var(--bg-color);color:#096dd9}.vp-category6 .count{background:#096dd9}.vp-category7{background:#f7f1fd;color:#9851e4}html[data-theme=dark] .vp-category7{background:#2a0b4b;color:#bb8ced}.vp-category7:hover{background:#eadbfa}html[data-theme=dark] .vp-category7:hover{background:#431277}.vp-category7.active{background:#aa6fe9;color:#fff}html[data-theme=dark] .vp-category7.active{background:#8733e0;color:var(--bg-color)}.vp-category7.active .count{background:var(--bg-color);color:#aa6fe9}.vp-category7 .count{background:#aa6fe9}.vp-category8{background:#fdeaf5;color:#e81689}html[data-theme=dark] .vp-category8{background:#400626;color:#ef59ab}.vp-category8:hover{background:#facbe5}html[data-theme=dark] .vp-category8:hover{background:#670a3d}.vp-category8.active{background:#eb2f96;color:#fff}html[data-theme=dark] .vp-category8.active{background:#ce147a;color:var(--bg-color)}.vp-category8.active .count{background:var(--bg-color);color:#eb2f96}.vp-category8 .count{background:#eb2f96}html[data-theme=dark] .empty-icon g.people{opacity:.8}html[data-theme=dark] .empty-icon g:not(.people){filter:invert(80%)}.vp-page.vp-blog .vp-blog-home{flex:1;width:0;max-width:780px}.vp-page.vp-blog .theme-hope-content:empty{padding:0}.vp-blog-infos{margin:8px auto;padding:8px 16px}.vp-page .vp-blog-infos{border-radius:6px;background:var(--bg-color-float);box-shadow:0 1px 3px 1px var(--card-shadow);transition:background var(--color-transition),box-shadow var(--color-transition)}.vp-page .vp-blog-infos:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.vp-blog-infos .timeline-list-wrapper .content{max-height:60vh}.vp-blog-type-switcher{display:flex;justify-content:center;margin-bottom:8px}.vp-blog-type-button{border-width:0;background:transparent;cursor:pointer;width:44px;height:44px;margin:0 8px;padding:4px;color:var(--grey3);transition:color var(--color-transition)}.vp-blog-type-button:focus{outline:none}.vp-blog-type-button .icon-wrapper{width:20px;height:20px;padding:8px;border-radius:50%;background:rgba(127,127,127,.15);transition:background var(--color-transition)}html[data-theme=dark] .vp-blog-type-button .icon-wrapper{background:rgba(255,255,255,.15)}.vp-blog-type-button .icon-wrapper:hover{cursor:pointer}.vp-blog-type-button .icon-wrapper.active{background:var(--theme-color-light)}html[data-theme=dark] .vp-blog-type-button .icon-wrapper.active{background:var(--theme-color-dark)}.vp-blog-type-button .icon{width:100%;height:100%}.vp-sidebar.hide-icon .vp-blog-type-button .icon{display:block!important}.vp-sticky-article-wrapper,.vp-category-wrapper,.vp-tag-wrapper{padding:8px 0}.vp-sticky-article-wrapper .title,.vp-category-wrapper .title,.vp-tag-wrapper .title{cursor:pointer}.vp-sticky-article-wrapper .title .icon,.vp-category-wrapper .title .icon,.vp-tag-wrapper .title .icon{position:relative;bottom:-.125rem;width:16px;height:16px;margin:0 6px}.vp-sticky-article-wrapper .title .num,.vp-category-wrapper .title .num,.vp-tag-wrapper .title .num{position:relative;margin:0 2px;font-size:22px;font-family:var(--font-family-heading)}.vp-sticky-articles{overflow-y:auto;max-height:80vh;margin:8px auto;line-height:1.5}.vp-sticky-article{padding:12px 8px 4px;border-bottom:1px dashed var(--grey);transition:border-color var(--color-transition),color var(--color-transition)}.vp-sticky-article a{color:inherit}.vp-sticky-article:hover{cursor:pointer}.vp-sticky-article:hover a{color:var(--theme-color)}.vp-category-wrapper .category-list-wrapper,.vp-tag-wrapper .tag-list-wrapper{overflow-y:auto;max-height:80vh;margin:8px auto}.vp-sidebar .vp-blog-info-wrapper .vp-blogger-info{display:none}.vp-page .vp-blog-info-wrapper{position:sticky;top:calc(var(--navbar-height) + .75rem);flex:0 0 300px;box-sizing:border-box;width:300px;height:auto;margin-top:.75rem;margin-bottom:.75rem;margin-inline-start:1rem;transition:all .3s}@media (max-width: 719px){.vp-page .vp-blog-info-wrapper{display:none}}.vp-page .vp-blog-info-wrapper .vp-blogger-info{margin-bottom:16px;padding:8px 0;border-radius:8px;box-shadow:0 1px 3px 1px var(--card-shadow)}.vp-page .vp-blog-info-wrapper .vp-blogger-info:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.theme-container .vp-page.vp-blog{display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding-top:var(--navbar-height);padding-bottom:2rem;background:var(--bg-color-back);transition:background var(--color-transition)}@media (min-width: 1440px){.theme-container.has-toc .vp-page.vp-blog{padding-inline-end:0}}.blog-page-wrapper{display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box;width:100%;margin:0 auto;padding:0 2rem}@media (max-width: 959px){.blog-page-wrapper{padding:0 1rem}}@media (max-width: 419px){.blog-page-wrapper{padding:0}}.vp-blog-main{flex:1;width:0;max-width:780px}.vp-pagination{margin:1.25rem 0 .75rem;font-weight:600;font-size:15px;line-height:2}.vp-pagination-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vp-pagination-number{display:flex;align-items:stretch;overflow:hidden;height:30px;margin:0 .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-pagination-number div{position:relative;padding:0 .5rem;background:var(--bg-color);color:var(--theme-color);cursor:pointer}.vp-pagination-number div:before{content:" ";position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--border-color)}html[dir=rtl] .vp-pagination-number div:before{right:0;left:unset}.vp-pagination-number div:first-child:before{background:transparent}.vp-pagination-number div:hover{color:var(--theme-color-light)}.vp-pagination-number div.active{background:var(--theme-color);color:var(--white)}.vp-pagination-number div.active:before{background:var(--theme-color)}.vp-pagination-number div.active+div:before{background:var(--theme-color)}.vp-pagination-number div.prev,.vp-pagination-number div.next{font-size:13px;line-height:30px}.vp-pagination-number div.active,.vp-pagination-number div.ellipsis{cursor:default}.vp-pagination-nav{display:flex;align-items:center;justify-content:center;margin:.5rem}.vp-pagination-nav input{width:3.5rem;margin:6px 5px;border:1px solid var(--border-color);border-radius:.25em;background:var(--bg-color);color:var(--text-color);outline:none;line-height:2;text-align:center}.vp-pagination-button{overflow:hidden;padding:0 .75em;border:1px solid var(--border-color);border-radius:.25em;background:var(--bg-color);color:var(--theme-color);outline:none;font-weight:600;font-size:15px;line-height:2;cursor:pointer}.vp-pagination-button:hover{color:var(--theme-color-light)}.vp-project-panel{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-content:stretch;align-items:stretch;justify-content:flex-start;margin-bottom:12px}.vp-project-card{position:relative;width:calc(33% - 40px);margin:6px 8px;padding:12px;border-radius:8px;background:var(--bg-color-float);transition:background var(--color-transition),transform var(--transform-transition)}@media (max-width: 959px){.vp-project-card{width:calc(50% - 40px)}}@media (min-width: 1440px){.vp-project-card{width:calc(25% - 40px)}}.vp-project-card:hover{cursor:pointer;transform:scale(.98)}.vp-project-card .icon{position:relative;z-index:2;float:right;width:20px;height:20px}html[dir=rtl] .vp-project-card .icon{float:left}.vp-project-card.project0{background:#fde5e7}.vp-project-card.project0:hover{background:#f9bec3}html[data-theme=dark] .vp-project-card.project0{background:#340509}html[data-theme=dark] .vp-project-card.project0:hover{background:#53080e}.vp-project-card.project1{background:#ffeee8}.vp-project-card.project1:hover{background:#fed4c6}html[data-theme=dark] .vp-project-card.project1{background:#441201}html[data-theme=dark] .vp-project-card.project1:hover{background:#6d1d02}.vp-project-card.project2{background:#fef5e7}.vp-project-card.project2:hover{background:#fce6c4}html[data-theme=dark] .vp-project-card.project2{background:#3e2703}html[data-theme=dark] .vp-project-card.project2:hover{background:#633f05}.vp-project-card.project3{background:#eafaf1}.vp-project-card.project3:hover{background:#caf3db}html[data-theme=dark] .vp-project-card.project3{background:#0c331c}html[data-theme=dark] .vp-project-card.project3:hover{background:#12522d}.vp-project-card.project4{background:#e6f9ee}.vp-project-card.project4:hover{background:#c0f1d5}html[data-theme=dark] .vp-project-card.project4{background:#092917}html[data-theme=dark] .vp-project-card.project4:hover{background:#0f4224}.vp-project-card.project5{background:#e1fcfc}.vp-project-card.project5:hover{background:#b4f8f8}html[data-theme=dark] .vp-project-card.project5{background:#042929}html[data-theme=dark] .vp-project-card.project5:hover{background:#064242}.vp-project-card.project6{background:#e4f0fe}.vp-project-card.project6:hover{background:#bbdafc}html[data-theme=dark] .vp-project-card.project6{background:#021b36}html[data-theme=dark] .vp-project-card.project6:hover{background:#042c57}.vp-project-card.project7{background:#f7f1fd}.vp-project-card.project7:hover{background:#eadbfa}html[data-theme=dark] .vp-project-card.project7{background:#2a0b4b}html[data-theme=dark] .vp-project-card.project7:hover{background:#431277}.vp-project-card.project8{background:#fdeaf5}.vp-project-card.project8:hover{background:#facbe5}html[data-theme=dark] .vp-project-card.project8{background:#400626}html[data-theme=dark] .vp-project-card.project8:hover{background:#670a3d}.vp-project-name{position:relative;z-index:2;color:var(--grey3);font-weight:500;font-size:16px;transition:color var(--color-transition)}.vp-project-desc{position:relative;z-index:2;margin:6px 0;color:var(--dark-grey);font-size:13px}.vp-project-image{position:relative;z-index:2;float:right;width:40px;height:40px}html[dir=rtl] .vp-project-image{float:left}.vp-social-medias{display:flex;flex-wrap:wrap;justify-content:center;margin:8px auto}.vp-social-media{width:26px;height:26px;margin:4px;transition:transform .18s ease-out .18s;transform:scale(1)}.vp-social-media:hover{cursor:pointer;transform:scale(1.2)}.vp-social-media:after{--balloon-font-size: 8px;padding:.3em .6em}.vp-social-media .icon{width:100%;height:100%}.tag-list-wrapper{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-start;padding-inline-start:0;list-style:none}.tag-list-wrapper a{color:inherit}.tag-list-wrapper .tag{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:24px;margin:4px 6px;padding:3px 8px;border-radius:8px;color:var(--white);box-shadow:0 1px 6px 0 var(--box-shadow);font-size:12px;text-align:center;word-break:break-word;cursor:pointer;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--color-transition)}.tag-list-wrapper .tag:hover{cursor:pointer}.tag-list-wrapper .tag.active{transform:scale(1.1)}.tag-list-wrapper .tag-num{margin-inline-start:.5em}.tag-list-wrapper .tag0{background:#e91526}.tag-list-wrapper .tag0:hover,.tag-list-wrapper .tag0.active,html[data-theme=dark] .tag-list-wrapper .tag0{background:#c51220}html[data-theme=dark] .tag-list-wrapper .tag0:hover,html[data-theme=dark] .tag-list-wrapper .tag0.active{background:#e91526}.tag-list-wrapper .tag1{background:#fb6533}.tag-list-wrapper .tag1:hover,.tag-list-wrapper .tag1.active,html[data-theme=dark] .tag-list-wrapper .tag1{background:#fa4a0e}html[data-theme=dark] .tag-list-wrapper .tag1:hover,html[data-theme=dark] .tag-list-wrapper .tag1.active{background:#fb6533}.tag-list-wrapper .tag2{background:#f4a62a}.tag-list-wrapper .tag2:hover,.tag-list-wrapper .tag2.active,html[data-theme=dark] .tag-list-wrapper .tag2{background:#ec950c}html[data-theme=dark] .tag-list-wrapper .tag2:hover,html[data-theme=dark] .tag-list-wrapper .tag2.active{background:#f4a62a}.tag-list-wrapper .tag3{background:#40d47f}.tag-list-wrapper .tag3:hover,.tag-list-wrapper .tag3.active,html[data-theme=dark] .tag-list-wrapper .tag3{background:#2cc26b}html[data-theme=dark] .tag-list-wrapper .tag3:hover,html[data-theme=dark] .tag-list-wrapper .tag3.active{background:#40d47f}.tag-list-wrapper .tag4{background:#2bbe69}.tag-list-wrapper .tag4:hover,.tag-list-wrapper .tag4.active,html[data-theme=dark] .tag-list-wrapper .tag4{background:#239d56}html[data-theme=dark] .tag-list-wrapper .tag4:hover,html[data-theme=dark] .tag-list-wrapper .tag4.active{background:#2bbe69}.tag-list-wrapper .tag5{background:#13c3c3}.tag-list-wrapper .tag5:hover,.tag-list-wrapper .tag5.active,html[data-theme=dark] .tag-list-wrapper .tag5{background:#0f9d9d}html[data-theme=dark] .tag-list-wrapper .tag5:hover,html[data-theme=dark] .tag-list-wrapper .tag5.active{background:#13c3c3}.tag-list-wrapper .tag6{background:#0a7bf4}.tag-list-wrapper .tag6:hover,.tag-list-wrapper .tag6.active,html[data-theme=dark] .tag-list-wrapper .tag6{background:#0968ce}html[data-theme=dark] .tag-list-wrapper .tag6:hover,html[data-theme=dark] .tag-list-wrapper .tag6.active{background:#0a7bf4}.tag-list-wrapper .tag7{background:#b37deb}.tag-list-wrapper .tag7:hover,.tag-list-wrapper .tag7.active,html[data-theme=dark] .tag-list-wrapper .tag7{background:#a160e7}html[data-theme=dark] .tag-list-wrapper .tag7:hover,html[data-theme=dark] .tag-list-wrapper .tag7.active{background:#b37deb}.tag-list-wrapper .tag8{background:#ed44a1}.tag-list-wrapper .tag8:hover,.tag-list-wrapper .tag8.active,html[data-theme=dark] .tag-list-wrapper .tag8{background:#ea2290}html[data-theme=dark] .tag-list-wrapper .tag8:hover,html[data-theme=dark] .tag-list-wrapper .tag8.active{background:#ed44a1}.timeline-wrapper{--dot-color: #fff;--dot-bar-color: #eaecef;--dot-border-color: #ddd;max-width:740px;margin:0 auto;padding:40px 0}@media (max-width: 719px){.timeline-wrapper{margin:0 1.2rem}}html[data-theme=dark] .timeline-wrapper{--dot-color: #444;--dot-bar-color: #333;--dot-border-color: #555}.timeline-wrapper #toc{right:0;left:unset;min-width:0}html[dir=rtl] .timeline-wrapper #toc{right:unset;left:0}.timeline-wrapper .toc-wrapper{position:relative;z-index:10}.timeline-wrapper .timeline-content{position:relative;box-sizing:border-box;padding-inline-start:76px;list-style:none}.timeline-wrapper .timeline-content:after{content:" ";position:absolute;top:14px;left:64px;z-index:-1;width:4px;height:calc(100% - 38px);margin-inline-end:-2px;background:var(--dot-bar-color);transition:background var(--color-transition)}html[dir=rtl] .timeline-wrapper .timeline-content:after{right:64px;left:unset}.timeline-wrapper .motto{position:relative;color:var(--text-color);font-size:18px;transition:color var(--color-transition)}@media (min-width: 1280px){.timeline-wrapper .motto{font-size:20px}}.timeline-wrapper .motto:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);left:-10px;width:8px;height:8px}html[dir=rtl] .timeline-wrapper .motto:before{right:-10px;left:unset}.timeline-wrapper .timeline-year-title{margin-top:calc(3rem - var(--navbar-height));margin-bottom:.5rem;padding-top:var(--navbar-height);color:var(--text-color);font-weight:700;font-size:26px;font-family:var(--font-family-heading);transition:color var(--color-transition)}.timeline-wrapper .timeline-year-title span{position:relative}.timeline-wrapper .timeline-year-title span:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);left:-10px;width:8px;height:8px}html[dir=rtl] .timeline-wrapper .timeline-year-title span:before{right:-10px;left:unset}.timeline-wrapper .timeline-year-wrapper{padding-inline-start:0!important}.timeline-wrapper .timeline-date{position:absolute;right:calc(100% + 24px);width:50px;font-size:14px;line-height:30px;text-align:end}html[dir=rtl] .timeline-wrapper .timeline-date{right:unset;left:calc(100% + 24px)}.timeline-wrapper .timeline-date:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);right:-19px;width:6px;height:6px}html[dir=rtl] .timeline-wrapper .timeline-date:before{right:unset;left:-19px}.timeline-wrapper .timeline-title{position:relative;display:block;color:inherit;font-size:16px;line-height:30px;transition:color var(--color-transition),font-size var(--transform-transition)}.timeline-wrapper .timeline-item{position:relative;z-index:3;display:flex;padding:30px 0 10px;border-bottom:1px dashed var(--border-color);list-style:none;transition:border-color var(--color-transition)}.timeline-wrapper .timeline-item:hover{cursor:pointer}.timeline-wrapper .timeline-item:hover .timeline-date{font-size:16px;transition:border-color var(--color-transition),color var(--color-transition),font-size var(--transform-transition)}.timeline-wrapper .timeline-item:hover .timeline-date:before{border-color:var(--theme-color);background:var(--bg-color-secondary)}.timeline-wrapper .timeline-item:hover .timeline-title{color:var(--theme-color);font-size:18px}.timeline-list-wrapper{--dot-color: #fff;--dot-bar-color: #eaecef;--dot-border-color: #ddd;padding:8px 0}html[data-theme=dark] .timeline-list-wrapper{--dot-color: #444;--dot-bar-color: #333;--dot-border-color: #555}.timeline-list-wrapper .timeline-list-title{cursor:pointer}.timeline-list-wrapper .timeline-list-title .icon{position:relative;bottom:-.125rem;width:16px;height:16px;margin:0 6px}.timeline-list-wrapper .timeline-list-title .num{position:relative;margin:0 2px;font-size:22px}.timeline-list-wrapper .timeline-content{overflow-y:auto;max-height:80vh}.timeline-list-wrapper .timeline-content::-webkit-scrollbar-track-piece{background:transparent}.timeline-list-wrapper .timeline-list{position:relative;box-sizing:border-box;margin:0 8px;list-style:none}.timeline-list-wrapper .timeline-list:after{content:" ";position:absolute;top:14px;left:0;z-index:-1;width:4px;height:calc(100% - 14px);margin-inline-start:-2px;background:var(--dot-bar-color);transition:background var(--color-transition)}html[dir=rtl] .timeline-list-wrapper .timeline-list:after{right:0;left:unset}.timeline-list-wrapper .timeline-year{position:relative;margin:20px 0 0;color:var(--text-color);font-weight:700;font-size:20px}.timeline-list-wrapper .timeline-year:before{content:" ";position:absolute;z-index:2;border:1px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);top:50%;left:-20px;width:8px;height:8px;margin-top:-4px;margin-inline-start:-4px}html[dir=rtl] .timeline-list-wrapper .timeline-year:before{right:-20px;left:unset}.timeline-list-wrapper .timeline-year-wrapper{padding-inline-start:0!important}.timeline-list-wrapper .timeline-date{display:inline-block;vertical-align:bottom;width:36px;font-size:12px;line-height:32px;transition:color var(--color-transition)}.timeline-list-wrapper .timeline-date:before{content:" ";position:absolute;z-index:2;border:1px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);top:24px;left:-19px;width:6px;height:6px;margin-inline-start:-4px}html[dir=rtl] .timeline-list-wrapper .timeline-date:before{right:-19px;left:unset}.timeline-list-wrapper .timeline-title{color:inherit;font-size:14px;line-height:32px;cursor:pointer;transition:color var(--color-transition)}.timeline-list-wrapper .timeline-item{position:relative;display:flex;padding:12px 0 4px;border-bottom:1px dashed var(--border-color);list-style:none;transition:border-color var(--color-transition)}.timeline-list-wrapper .timeline-item:hover .timeline-date{color:var(--theme-color)}.timeline-list-wrapper .timeline-item:hover .timeline-date:before{border-color:var(--dot-color);background:var(--theme-color)}.timeline-list-wrapper .timeline-item:hover .timeline-title{color:var(--theme-color)}.vp-reveal-page .vp-reveal{min-width:100vw;min-height:100vh}.vp-reveal-page .menu-button{left:2rem;z-index:50;vertical-align:middle;transition:transform .2s ease-in-out}.vp-reveal-page .menu-button:before{content:" ";margin-top:.125em}.vp-reveal-page .menu-button:after{content:" ";margin-bottom:.125em}.vp-reveal-page .menu-button .icon{margin:.2em 0}.vp-reveal-page .menu-button:before,.vp-reveal-page .menu-button:after,.vp-reveal-page .menu-button .icon{display:block;width:100%;height:.2em;border-radius:.05em;background:var(--white);transition:transform .2s ease-in-out}.vp-reveal-page .back-button{left:2rem;z-index:49;opacity:0;fill:var(--white);transition:left .2s ease-out,opacity .2s ease-out}.vp-reveal-page .home-button{left:2rem;z-index:48;opacity:0;fill:var(--white);transition:left .2s ease-out,opacity .2s ease-out}.vp-reveal-page .menu-button,.vp-reveal-page .back-button,.vp-reveal-page .home-button{border-width:0;background:transparent;cursor:pointer;position:fixed;bottom:2rem;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:50%;background:rgba(127,127,127,.35);color:var(--white);outline:none}.vp-reveal-page .menu-button:hover,.vp-reveal-page .back-button:hover,.vp-reveal-page .home-button:hover{background:var(--vp-tc)}.vp-reveal-page .active .menu-button:before{transform:translateY(.4em) rotate(135deg)}.vp-reveal-page .active .menu-button .icon{transform:scale(0)}.vp-reveal-page .active .menu-button:after{transform:translateY(-.4em) rotate(-135deg)}.vp-reveal-page .active .back-button{left:4.5rem;opacity:1}.vp-reveal-page .active .home-button{left:7rem;opacity:1}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur)}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-hl-bg-color: var(--code-highlight-line-color);--code-ln-color: var(--code-line-color);--code-ln-wrapper-width: var(--line-numbers-width);--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-line-color);--sidebar-space: var(--sidebar-width)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)), 100vw )}}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--vp-tc);--docsearch-text-color: var(--vp-c);--docsearch-highlight-color: var(--vp-tc);--docsearch-muted-color: var(--light-grey);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--vp-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-tc);--docsearch-hit-color: var(--vp-cl);--docsearch-hit-active-color: var(--vp-bg);--docsearch-hit-background: var(--vp-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--vp-bg)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--vp-c);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}#nprogress{--nprogress-color: var(--vp-tc)}.search-box{--search-bg-color: var(--vp-bg);--search-accent-color: var(--vp-tc);--search-text-color: var(--vp-c);--search-border-color: var(--border-color);--search-item-text-color: var(--vp-clt);--search-item-focus-bg-color: var(--bg-color-secondary)}.external-link-icon{--external-link-icon-color: var(--light-grey)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:rgba(127,127,127,.12);font-size:.85em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{float:left;margin-top:.125em;margin-inline-start:-.87em;padding-inline-end:.23em;font-size:.85em;opacity:0;transition:opacity .2s}@media print{a.header-anchor{display:none!important}}a.header-anchor:hover{text-decoration:none}a.header-anchor:focus-visible{opacity:1}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(2n){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{direction:ltr}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,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) format("truetype")}html,body{background:var(--bg-color);transition:background var(--color-transition)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono);transition:background var(--color-transition),color var(--color-transition)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666;transition:border-color var(--color-transition),color var(--color-transition)}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2{border-color:var(--border-color);transition:border-bottom-color var(--color-transition)}hr{border-color:var(--border-color);transition:border-top-color var(--color-transition)}tr:nth-child(2n){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:2.5rem;padding-inline-end:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline-start:1.5rem;padding-inline-end:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--light-grey);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--light-grey)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;left:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:left var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}html[dir=rtl] .toggle-sidebar-wrapper{right:var(--sidebar-space);left:unset}.toggle-sidebar-wrapper:hover{background:rgba(127,127,127,.05);cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline-start:0;padding-inline-end:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{left:0}html[dir=rtl] .theme-container.sidebar-collapsed .toggle-sidebar-wrapper{right:0;left:unset}.theme-container.no-sidebar .vp-page{padding-inline-start:0;padding-inline-end:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light{display:none}html[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--text-color-lighter);text-align:center}.vp-feature-bg+.vp-feature{color:#222}html[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light{display:none}html[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;align-content:stretch;align-items:stretch;justify-content:center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color);transition:border-color var(--color-transition)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item .icon{display:inline-block;width:1.1em;margin-inline-end:.5rem;color:var(--theme-color);font-weight:400;font-size:1.1em}.vp-feature-item:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transform:translate(-2px,-2px);transform:scale(1.05)}.vp-feature-bg+.vp-feature .vp-feature-item:hover{background-color:transparent}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--font-family)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-top:.75rem;padding-bottom:.75rem;padding-inline-start:calc(var(--sidebar-space) + 2rem);padding-inline-end:2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--dark-grey);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline-start:auto;margin-inline-end:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline-start:2.5rem;padding-inline-end:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline-start:1.5em;padding-inline-end:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}html[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}html[data-theme=dark] .vp-hero-image.dark{display:block}#main-title{margin:.5rem 0;background:linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#7e21f3 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--font-family);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){#main-title{margin:0}}@media (max-width: 959px){#main-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){#main-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){#main-title{margin:0 auto;font-size:2rem}}.vp-description,.vp-actions{margin:1.8rem 0}@media (max-width: 719px){.vp-description,.vp-actions{margin:1.5rem 0}}@media (max-width: 959px){.vp-description,.vp-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){.vp-description,.vp-actions{margin:1.2rem 0}}.vp-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){.vp-description{font-size:1.4rem}}@media (max-width: 419px){.vp-description{font-size:1.2rem}}.vp-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--bg-color-secondary);color:var(--text-color);font-size:1.2rem;text-align:center;transition:color var(--color-transition),color var(--color-transition),transform var(--transform-transition)}@media (max-width: 719px){.vp-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-action{font-size:1rem}}@media print{.vp-action{text-decoration:none}}.vp-action:hover{background:var(--bg-color-tertiary)}.vp-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-action:active{transform:scale(.96)}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(2n) .vp-highlight{flex-direction:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem;color:#222}@media (max-width: 719px){.vp-highlight{display:block;padding-inline-start:1.5rem;padding-inline-end:1.5rem;text-align:center}}html[data-theme=dark] .vp-highlight{color:#eee}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light{display:none}html[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light{display:none}html[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlight-item-wrapper{padding:.5em .5em .5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer}.vp-highlight-item-wrapper:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transition:transform var(--transform-transition);transform:translate(-2px,-2px)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover{background-color:transparent}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--font-family)}.vp-highlight-title .icon{margin-inline-end:.25em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home .theme-hope-content{padding-bottom:1.5rem!important}.vp-project-home .theme-hope-content:empty{padding:0!important}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background .1s ease}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;min-height:2rem;margin-top:0;padding-top:.5rem;padding-bottom:.5rem;padding-inline-start:2rem;padding-inline-end:2rem;border-top:1px solid var(--border-color);transition:border-top var(--color-transition)}@media (max-width: 959px){.vp-page-nav{padding-inline-start:1rem;padding-inline-end:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .nav-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .nav-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .nav-link .hint{color:var(--light-grey);font-size:.875rem;line-height:2}.vp-page-nav .nav-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .nav-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .nav-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .nav-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:2.5rem;padding-inline-end:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline-start:1.5rem;padding-inline-end:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline-start:0!important;padding-inline-end:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{-o-object-fit:cover;object-fit:cover;width:calc(100% + 2rem);max-height:25vh;margin-left:-2rem}@media (max-width: 719px){.page-cover{width:100%;margin:0;border-radius:0}}@media (min-width: 1440px){.page-cover{width:calc(100% - 2rem);margin:0 1rem;border-radius:.5rem}}.page-cover .sidebar-collapsed{width:100%;margin-left:0}.vp-skip-link{top:.25rem;left:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;-webkit-clip-path:none;clip-path:none}.theme-hope-content pre{overflow:auto;margin:.85rem 0;padding:1rem;border-radius:6px;line-height:1.375}.theme-hope-content pre code{padding:0;border-radius:0;background:transparent!important;color:var(--code-color);font-family:var(--font-family-mono);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;transition:color var(--color-transition);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media print{.theme-hope-content pre code{white-space:pre-wrap}}.theme-hope-content .line-number{font-family:var(--font-family-mono)}div[class*=language-]{position:relative;border-radius:6px;background:var(--code-bg-color);transition:background var(--color-transition)}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-ext);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem;transition:color var(--color-transition)}div[class*=language-] pre{position:relative;z-index:1}div[class*=language-] .highlight-lines{position:absolute;top:0;left:0;width:100%;padding-top:1rem;line-height:1.375;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-] .highlight-line{background:var(--code-highlight-line-color);transition:background var(--color-transition)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;z-index:2;width:var(--line-numbers-width);height:100%;border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px;transition:border-color var(--color-transition)}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-line:before{content:" ";position:absolute;top:0;left:0;z-index:3;display:block;width:var(--line-numbers-width);height:100%}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--line-numbers-width);padding-left:.5rem}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0;padding-left:1rem}}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;left:0;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);line-height:1.375;counter-reset:line-number;text-align:center;transition:color var(--color-transition);transform:translateY(1px)}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:4;height:1.375em;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);font-size:.85em;counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light] #app{--code-color: #383a42;--code-line-color: rgba(56, 58, 66, .67);--code-bg-color: #ecf4fa;--code-border-color: #c3def3;--code-highlight-line-color: #d8e9f6}html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection{background:#e5e5e6;color:inherit}html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection{background:#e5e5e6;color:inherit}html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata{color:#a0a1a7}html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity{color:#383a42}html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule{color:#b76b01}html[data-theme=light] .token.keyword{color:#a626a4}html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important{color:#e45649}html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation{color:#50a14f}html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function{color:#4078f2}html[data-theme=light] .token.url{color:#0184bc}html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css{color:#383a42}html[data-theme=light] .language-css .token.selector{color:#e45649}html[data-theme=light] .language-css .token.property{color:#383a42}html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function{color:#0184bc}html[data-theme=light] .language-css .token.url>.token.string.url{color:#50a14f}html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator{color:#a626a4}html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}html[data-theme=light] .language-json .token.operator{color:#383a42}html[data-theme=light] .language-json .token.null.keyword{color:#b76b01}html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string{color:#383a42}html[data-theme=light] .language-markdown .token.url>.token.content{color:#4078f2}html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url{color:#0184bc}html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}html[data-theme=light] .language-markdown .token.code-snippet{color:#50a14f}html[data-theme=light] .language-markdown .token.bold .token.content{color:#b76b01}html[data-theme=light] .language-markdown .token.italic .token.content{color:#a626a4}html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation{color:#e45649}html[data-theme=light] .token.bold{font-weight:700}html[data-theme=light] .token.comment,html[data-theme=light] .token.italic{font-style:italic}html[data-theme=light] .token.entity{cursor:help}html[data-theme=light] .token.namespace{opacity:.8}html[data-theme=dark] #app{--code-color: #abb2bf;--code-line-color: rgba(171, 178, 191, .67);--code-bg-color: #282c34;--code-border-color: #343e51;--code-highlight-line-color: #2f3542}html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:0 1px rgba(0,0,0,.3);-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media print{html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:none}}html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata{color:#5c6370}html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity{color:#abb2bf}html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule{color:#d19a66}html[data-theme=dark] .token.keyword{color:#c678dd}html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important{color:#e06c75}html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation{color:#98c379}html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function{color:#61afef}html[data-theme=dark] .token.url{color:#56b6c2}html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}html[data-theme=dark] .language-css .token.selector{color:#e06c75}html[data-theme=dark] .language-css .token.property{color:#abb2bf}html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function{color:#56b6c2}html[data-theme=dark] .language-css .token.url>.token.string.url{color:#98c379}html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator{color:#c678dd}html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}html[data-theme=dark] .language-json .token.operator{color:#abb2bf}html[data-theme=dark] .language-json .token.null.keyword{color:#d19a66}html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}html[data-theme=dark] .language-markdown .token.url>.token.content{color:#61afef}html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url{color:#56b6c2}html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}html[data-theme=dark] .language-markdown .token.code-snippet{color:#98c379}html[data-theme=dark] .language-markdown .token.bold .token.content{color:#d19a66}html[data-theme=dark] .language-markdown .token.italic .token.content{color:#c678dd}html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation{color:#e06c75}html[data-theme=dark] .token.bold{font-weight:700}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic{font-style:italic}html[data-theme=dark] .token.entity{cursor:help}html[data-theme=dark] .token.namespace{opacity:.8}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline-start:0!important;padding-inline-end:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:hover{text-decoration:underline}.theme-hope-content img{max-width:100%}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:rgba(0,0,0,.1)}}html[dir=rtl] a.header-anchor{float:right}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:rgba(0,0,0,.1)}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable>span:hover{color:var(--theme-color);cursor:pointer}.page-category-item.category0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.category0{background:#340509;color:#ba111f}.page-category-item.category0:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.category0:hover{background:#53080e}.page-category-item.category1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.category1{background:#441201;color:#f54205}.page-category-item.category1:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.category1:hover{background:#6d1d02}.page-category-item.category2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.category2{background:#3e2703;color:#e08e0b}.page-category-item.category2:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.category2:hover{background:#633f05}.page-category-item.category3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.category3{background:#0c331c;color:#29b866}.page-category-item.category3:hover{background:#caf3db}html[data-theme=dark] .page-category-item.category3:hover{background:#12522d}.page-category-item.category4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.category4{background:#092917;color:#219552}.page-category-item.category4:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.category4:hover{background:#0f4224}.page-category-item.category5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.category5{background:#042929;color:#0e9595}.page-category-item.category5:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.category5:hover{background:#064242}.page-category-item.category6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.category6{background:#021b36;color:#0862c3}.page-category-item.category6:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.category6:hover{background:#042c57}.page-category-item.category7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.category7{background:#2a0b4b;color:#9851e4}.page-category-item.category7:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.category7:hover{background:#431277}.page-category-item.category8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.category8{background:#400626;color:#e81689}.page-category-item.category8:hover{background:#facbe5}html[data-theme=dark] .page-category-item.category8:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--dark-grey);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-content:stretch;align-items:center;justify-content:flex-start;color:var(--dark-grey);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.page-meta{max-width:var(--content-width, 740px);margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:2.5rem;padding-inline-end:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.page-meta{padding-inline-start:1.5rem;padding-inline-end:1.5rem}}@media print{.page-meta{max-width:unset}}@media print{.page-meta{margin:0!important;padding-inline-start:0!important;padding-inline-end:0!important}}@media (max-width: 719px){.page-meta{display:block}}.page-meta .meta-item{flex-grow:1}.page-meta .meta-item .label{font-weight:500}.page-meta .meta-item .label:not(a){color:var(--text-color-lighter)}.page-meta .meta-item .info{color:var(--dark-grey);font-weight:400}.page-meta .git-info{text-align:end}.page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.page-meta .edit-link{display:none}}.page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.page-meta .update-time,.page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.page-meta .update-time,.page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable:hover{cursor:pointer}.page-tag-item.tag0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.tag0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.tag0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.tag0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.tag1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.tag1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.tag1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.tag1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.tag2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.tag2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.tag2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.tag2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.tag3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.tag3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.tag3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.tag3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.tag4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.tag4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.tag4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.tag4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.tag5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.tag5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.tag5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.tag5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.tag6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.tag6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.tag6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.tag6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.tag7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.tag7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.tag7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.tag7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.tag8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.tag8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.tag8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.tag8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}.toc-place-holder{margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:2.5rem;padding-inline-end:2.5rem;position:sticky;top:calc(var(--navbar-height) + 2rem);z-index:99;max-width:var(--content-width, 740px)}@media (max-width: 959px){.toc-place-holder{padding-inline-start:1.5rem;padding-inline-end:1.5rem}}@media print{.toc-place-holder{max-width:unset}}.toc-place-holder+.theme-hope-content:not(.custom){padding-top:0}#toc{position:absolute;left:calc(100% + 1rem);display:none;min-width:10rem;max-width:15rem}@media (min-width: 1440px){.has-toc #toc{display:block}}@media print{#toc{display:none!important}}html[dir=rtl] #toc{right:calc(100% + 1rem);left:unset}#toc .toc-header{margin-bottom:.75rem;margin-inline-start:.5rem;font-weight:600;font-size:.875rem}#toc .toc-wrapper{position:relative;overflow-x:hidden;overflow-y:auto;max-height:75vh;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;scroll-behavior:smooth}#toc .toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}#toc .toc-wrapper::-webkit-scrollbar{width:3px}#toc .toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] #toc .toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}#toc .toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;left:0;z-index:-1;width:2px;background:var(--border-color)}html[dir=rtl] #toc .toc-wrapper:before{right:0;left:unset}#toc .toc-list{position:relative;margin:0;padding:0}#toc .toc-marker{content:" ";position:absolute;top:0;left:0;z-index:2;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--vp-tt)}html[dir=rtl] #toc .toc-marker{right:0;left:unset}#toc .toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--light-grey);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}#toc .toc-link.level2{padding-inline-start:0px;font-size:14px}#toc .toc-link.level3{padding-inline-start:8px;font-size:13px}#toc .toc-link.level4{padding-inline-start:16px;font-size:12px}#toc .toc-link.level5{padding-inline-start:24px;font-size:11px}#toc .toc-link.level6{padding-inline-start:32px;font-size:10px}#toc .toc-item{position:relative;box-sizing:border-box;height:1.7rem;padding:0 .5rem;list-style:none;line-height:1.7rem}#toc .toc-item:hover>.toc-link{color:var(--theme-color)}#toc .toc-item.active>.toc-link{color:var(--theme-color);font-weight:700}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--dark-grey);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.dropdown-wrapper .dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(90deg)}.dropdown-wrapper ul{margin:0;padding:0;list-style-type:none}.dropdown-wrapper .nav-dropdown{position:absolute;top:100%;right:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}html[dir=rtl] .dropdown-wrapper .nav-dropdown{right:unset;left:0}.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.dropdown-wrapper .nav-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--dark-grey);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active{color:var(--theme-color)}.dropdown-wrapper .dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.dropdown-wrapper .dropdown-subitem-wrapper{padding:0 0 .25rem}.dropdown-wrapper .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle{padding-top:0}.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper{padding-bottom:0}.nav-screen-dropdown-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--dark-grey);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active{color:var(--text-color)}.nav-screen-dropdown-title .title{flex:1}.nav-screen-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s}html[data-theme=dark] .nav-screen-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.nav-screen-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.down{transform:rotate(-180deg)}.nav-screen-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.start{transform:rotate(90deg)}.nav-screen-dropdown{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.nav-screen-dropdown.hide{height:0;margin:0;transform:scaleY(0)}.nav-screen-dropdown .nav-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active{color:var(--theme-color)}.nav-screen-dropdown .nav-link .icon{font-size:1em}.nav-screen-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.nav-screen-dropdown .dropdown-subtitle{margin:0;padding-inline-start:.25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.nav-screen-dropdown .dropdown-subtitle .nav-link{padding:0}.nav-screen-dropdown .dropdown-subitem-wrapper{margin:0;padding:0;list-style:none}.nav-screen-dropdown .dropdown-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem;transition:border-bottom-color var(--color-transition)}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--dark-grey);font-weight:400}.nav-screen-links .nav-link:hover{color:var(--text-color)}.nav-screen-links .nav-link.active{color:var(--theme-color)}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}#nav-screen{position:fixed;top:var(--navbar-height);right:0;bottom:0;left:0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color);transition:background .5s}@media (max-width: 719px){#nav-screen{display:block}}#nav-screen.fade-enter-active,#nav-screen.fade-leave-active{transition:opacity .25s}#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}#nav-screen.fade-enter-from,#nav-screen.fade-leave-to{opacity:0}#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}#nav-screen .icon{margin-inline-end:.25em}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-navbar .vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-navbar .nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .nav-item:first-child{margin-inline-start:0}.vp-navbar .nav-item:last-child{margin-inline-end:0}.vp-navbar .nav-item>.nav-link{color:var(--dark-grey)}.vp-navbar .nav-item>.nav-link:after{content:" ";position:absolute;right:50%;bottom:0;left:50%;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:left .2s ease-in-out,right .2s ease-in-out}.vp-navbar .nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .nav-item>.nav-link:hover:after,.vp-navbar .nav-item>.nav-link.active:after{right:0;left:0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;top:0;right:0;left:0;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform ease-in-out .3s,background var(--color-transition),box-shadow var(--color-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .nav-link{padding:0 .25rem;color:var(--dark-grey)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar.hide-icon .vp-nav-links .icon{display:none!important}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-navbar .vp-repo{margin:0!important}.vp-navbar .vp-repo-link{display:inline-block;margin:auto;padding:6px;color:var(--dark-grey);line-height:1}.vp-navbar .vp-repo-link:hover,.vp-navbar .vp-repo-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--dark-grey);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--dark-grey);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.appearance-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--dark-grey);cursor:pointer;transition:color var(--color-transition)}#appearance-switch:hover{color:var(--theme-color)}#appearance-switch .icon{width:1.25rem;height:1.25rem}.outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--dark-grey)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;right:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}html[dir=rtl] .outlook-dropdown{right:unset;left:0}.outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}#theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark]{background:#2196f3}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--dark-grey);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--dark-grey)}.vp-sidebar-heading{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-heading.open{color:inherit}.vp-sidebar-heading.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-heading.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-heading.clickable.exact a{color:inherit}.vp-sidebar-heading .icon{margin-inline-end:.25em}.vp-sidebar-heading .vp-sidebar-title{flex:1}.vp-sidebar-heading .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-heading .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-heading .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-heading .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.end,.vp-sidebar-heading .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-heading{outline:none;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:pointer}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link .icon{margin-inline-end:.25em}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-sub-headers .vp-sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-inline-start:none}.vp-sidebar-sub-headers .vp-sidebar-link.active{background:transparent;font-weight:500}.vp-sidebar-group:not(.collapsible) .vp-sidebar-heading:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-heading{font-size:1em}.vp-sidebar-group .vp-sidebar-link{padding-inline-start:1.25rem}.vp-sidebar-links,.vp-sidebar-links ul{margin:0;padding:0}.vp-sidebar-links ul.vp-sidebar-sub-headers{padding-inline-start:.75rem;font-size:.95em}@media (min-width: 1440px){.has-toc .vp-sidebar-links ul.vp-sidebar-sub-headers{display:none}}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:background var(--color-transition),box-shadow var(--color-transition),padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}html[dir=rtl] .vp-sidebar{right:0;left:unset}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;left:0;z-index:9;width:100vw;height:100vh;background:rgba(0,0,0,.15)}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}.sidebar{position:fixed;top:0;bottom:0;left:0;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:15px;transition:background var(--color-transition),box-shadow var(--color-transition),padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}.search-pro-button{border-width:0;background:transparent;display:inline-flex;align-items:center;box-sizing:content-box;height:1.25rem;margin-inline:1rem 0;margin-top:0;margin-bottom:0;padding:.5rem;border:0;border:1px solid var(--vp-bgl);border-radius:1rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:500;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}@media print{.search-pro-button{display:none}}@media (max-width: 959px){.search-pro-button{border-radius:50%}}.search-pro-button:hover{border:1px solid var(--vp-tc);background-color:var(--vp-bglt);color:var(--vp-clt)}.search-pro-button .search-icon{width:1.25rem;height:1.25rem}.search-pro-placeholder{margin-inline:.25rem;font-size:1rem}@media (max-width: 959px){.search-pro-placeholder{display:none}}.search-pro-key-hints{font-size:.75rem}@media (max-width: 959px){.search-pro-key-hints{display:none}}.search-pro-key{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25rem;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);line-height:1;letter-spacing:-.1em;transition:background var(--vp-ct),color var(--vp-ct),border var(--vp-ct) box-shadow var(--vp-ct)}@keyframes search-pro-fade-in{0%{opacity:.2}to{opacity:1}}.search-pro-modal-wrapper{position:fixed;top:0;left:0;z-index:997;display:flex;align-items:center;justify-content:center;overflow:auto;width:100vw;height:100vh;cursor:default}.search-pro-mask{position:fixed;top:0;left:0;z-index:998;width:100vw;height:100vh;animation:.25s search-pro-fade-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-pro-modal{position:absolute;z-index:999;display:flex;flex-direction:column;width:calc(100% - 6rem);max-width:50em;border-radius:10px;background:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct);animation:.15s pwa-opened}@media (max-width: 1280px){.search-pro-modal{animation:.25s pwa-mobile}}@media (max-width: 719px){.search-pro-modal{width:100vw;max-width:unset;height:100vh}}.search-pro-box{display:flex;margin:1rem}.search-pro-box form{position:relative;display:flex;flex:1}.search-pro-box label{position:absolute;top:calc(50% - .75rem);left:.5rem;color:var(--vp-tc)}html[dir=rtl] .search-pro-box label{right:.5rem;left:unset}.search-pro-box label .search-icon{width:1.5rem;height:1.5rem}.search-pro-clear-button{border-width:0;background:transparent;cursor:pointer;position:absolute;top:calc(50% - 10px);right:.75rem;padding:0;color:var(--vp-tc)}html[dir=rtl] .search-pro-clear-button{right:.75rem;left:unset}.search-pro-clear-button:hover{border-radius:50%;background-color:#0000001a}.search-pro-close-button{border-width:0;background:transparent;cursor:pointer;display:none;margin-inline-start:.5rem;margin-inline-end:-.5rem;padding:.5rem;color:var(--grey3);font-size:1rem}@media (max-width: 719px){.search-pro-close-button{display:block}}.search-pro-input{flex:1;width:0;margin:0;padding-top:.25rem;padding-bottom:.25rem;padding-inline-start:2.5rem;padding-inline-end:2rem;border:0;border:2px solid var(--vp-tc);border-radius:8px;background:var(--vp-bg);color:var(--vp-c);outline:none;font-size:1.25rem;line-height:2.5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-pro-input::-webkit-search-cancel-button{display:none}.search-pro-suggestions{position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:20;overflow:visible;overflow-y:auto;max-height:50vh;margin:0;padding:0;border-radius:.5rem;background-color:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);list-style:none;line-height:1.5}.search-pro-suggestion{padding:.25rem 1rem;border-top:1px solid var(--vp-brc);cursor:pointer}.search-pro-suggestion:first-child{border-top:none}.search-pro-suggestion.active,.search-pro-suggestion:hover{background-color:var(--vp-bglt)}.search-pro-auto-complete{display:none;float:right;margin:0 .5rem;padding:4px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);font-size:12px;line-height:1}.search-pro-suggestion.active .search-pro-auto-complete{display:block}.search-pro-result-wrapper{flex-grow:1;overflow-y:auto;min-height:40vh;max-height:calc(80vh - 10rem);padding:0 1rem}@media (max-width: 719px){.search-pro-result-wrapper{min-height:unset;max-height:unset}}.search-pro-result-wrapper.loading,.search-pro-result-wrapper.empty{display:flex;align-items:center;justify-content:center;padding:1.5rem;font-weight:600;font-size:22px;text-align:center}.search-pro-hints{margin-top:1rem;padding:.75rem .5rem;box-shadow:0 -1px 4px 0 var(--card-shadow);line-height:1}.search-pro-hint{display:inline-flex;align-items:center;margin:0 .5rem}.search-pro-hint kbd{margin:0 .5rem;padding:2px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow)}.search-pro-hint kbd+kbd{margin-inline-start:-.25rem}.search-pro-hint svg{display:block;width:15px;height:15px}.split-pane[data-v-b004c5a4]{display:flex;height:100%;position:relative}.split-pane.dragging[data-v-b004c5a4]{cursor:ew-resize}.dragging .left[data-v-b004c5a4],.dragging .right[data-v-b004c5a4]{pointer-events:none}.left[data-v-b004c5a4],.right[data-v-b004c5a4]{position:relative;height:100%}.left[data-v-b004c5a4]{border-right:1px solid var(--border)}.dragger[data-v-b004c5a4]{position:absolute;z-index:3;top:0;bottom:0;right:-5px;width:10px;cursor:ew-resize}.toggler[data-v-b004c5a4]{display:none;z-index:3;font-family:var(--font-code);color:var(--text-light);position:absolute;left:50%;bottom:20px;background-color:var(--bg);padding:8px 12px;border-radius:8px;transform:translate(-50%);box-shadow:0 3px 8px #00000040}.dark .toggler[data-v-b004c5a4]{background-color:var(--bg)}@media (min-width: 721px){.split-pane.vertical[data-v-b004c5a4]{display:block}.split-pane.vertical.dragging[data-v-b004c5a4]{cursor:ns-resize}.vertical .dragger[data-v-b004c5a4]{top:auto;height:10px;width:100%;left:0;right:0;bottom:-5px;cursor:ns-resize}.vertical .left[data-v-b004c5a4],.vertical .right[data-v-b004c5a4]{width:100%}.vertical .left[data-v-b004c5a4]{border-right:none;border-bottom:1px solid var(--border)}}@media (max-width: 720px){.left[data-v-b004c5a4],.right[data-v-b004c5a4]{width:100%!important;height:100%!important}.dragger[data-v-b004c5a4]{display:none}.split-pane .toggler[data-v-b004c5a4]{display:block}.split-pane .right[data-v-b004c5a4]{display:none}.split-pane.show-output .right[data-v-b004c5a4]{display:block}.split-pane.show-output .left[data-v-b004c5a4]{display:none}}.msg.err[data-v-3057e65b]{--color: #f56c6c;--bg-color: #fef0f0}.dark .msg.err[data-v-3057e65b]{--bg-color: #2b1d1d}.msg.warn[data-v-3057e65b]{--color: #e6a23c;--bg-color: #fdf6ec}.dark .msg.warn[data-v-3057e65b]{--bg-color: #292218}pre[data-v-3057e65b]{margin:0;padding:12px 20px;overflow:auto}.msg[data-v-3057e65b]{position:absolute;bottom:0;left:8px;right:8px;z-index:10;border:2px solid transparent;border-radius:6px;font-family:var(--font-code);white-space:pre-wrap;margin-bottom:8px;max-height:calc(100% - 300px);min-height:40px;display:flex;align-items:stretch;color:var(--color);border-color:var(--color);background-color:var(--bg-color)}.dismiss[data-v-3057e65b]{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:18px;border-radius:9px;text-align:center;display:block;font-size:9px;padding:0;color:var(--bg-color);background-color:var(--color)}@media (max-width: 720px){.dismiss[data-v-3057e65b]{top:-9px;right:-9px}.msg[data-v-3057e65b]{bottom:50px}}.fade-enter-active[data-v-3057e65b],.fade-leave-active[data-v-3057e65b]{transition:all .15s ease-out}.fade-enter-from[data-v-3057e65b],.fade-leave-to[data-v-3057e65b]{opacity:0;transform:translateY(10px)}.iframe-container[data-v-b9352b63],.iframe-container[data-v-b9352b63] iframe{width:100%;height:100%;border:none;background-color:#fff}.output-container[data-v-f221f6e0]{height:calc(100% - var(--header-height));overflow:hidden;position:relative}.tab-buttons[data-v-f221f6e0]{box-sizing:border-box;border-bottom:1px solid var(--border);background-color:var(--bg);height:var(--header-height);overflow:hidden}.tab-buttons button[data-v-f221f6e0]{padding:0;box-sizing:border-box}.tab-buttons span[data-v-f221f6e0]{font-size:13px;font-family:var(--font-code);text-transform:uppercase;color:var(--text-light);display:inline-block;padding:8px 16px 6px;line-height:20px}button.active[data-v-f221f6e0]{color:var(--color-branding-dark);border-bottom:3px solid var(--color-branding-dark)}.file-selector[data-v-f661725b]{display:flex;box-sizing:border-box;border-bottom:1px solid var(--border);background-color:var(--bg);overflow-y:hidden;overflow-x:auto;white-space:nowrap;position:relative;height:var(--header-height)}.file-selector[data-v-f661725b]::-webkit-scrollbar{height:1px}.file-selector[data-v-f661725b]::-webkit-scrollbar-track{background-color:var(--border)}.file-selector[data-v-f661725b]::-webkit-scrollbar-thumb{background-color:var(--color-branding)}.file-selector.has-import-map .add[data-v-f661725b]{margin-right:10px}.file[data-v-f661725b]{display:inline-block;font-size:13px;font-family:var(--font-code);cursor:pointer;color:var(--text-light);box-sizing:border-box}.file.active[data-v-f661725b]{color:var(--color-branding);border-bottom:3px solid var(--color-branding);cursor:text}.file span[data-v-f661725b]{display:inline-block;padding:8px 10px 6px;line-height:20px}.file.pending input[data-v-f661725b]{width:90px;height:30px;line-height:30px;outline:none;border:1px solid var(--border);border-radius:4px;padding:0 0 0 10px;margin-top:2px;margin-left:6px;font-family:var(--font-code);font-size:12px}.file .remove[data-v-f661725b]{display:inline-block;vertical-align:middle;line-height:12px;cursor:pointer;padding-left:0}.add[data-v-f661725b]{font-size:18px;font-family:var(--font-code);color:#999;vertical-align:middle;margin-left:6px;position:relative;top:-1px}.add[data-v-f661725b]:hover{color:var(--color-branding)}.icon[data-v-f661725b]{margin-top:-1px}.import-map-wrapper[data-v-f661725b]{position:sticky;margin-left:auto;top:0;right:0;padding-left:30px;background-color:var(--bg);background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 25%)}.dark .import-map-wrapper[data-v-f661725b]{background:linear-gradient(90deg,rgba(26,26,26,0) 0%,rgba(26,26,26,1) 25%)}.wrapper[data-v-70b24951]{position:absolute;bottom:8px;right:15px;z-index:11;display:flex;align-items:center;background-color:var(--bg);color:var(--text-light);cursor:pointer;padding:4px 8px;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle[data-v-70b24951]{display:inline-block;margin-left:4px;width:32px;height:18px;border-radius:12px;position:relative;background-color:var(--border)}.indicator[data-v-70b24951]{font-size:12px;background-color:var(--text-light);width:14px;height:14px;border-radius:50%;transition:transform ease-in-out .2s;position:absolute;left:2px;top:2px;color:var(--bg);text-align:center}.active .indicator[data-v-70b24951]{background-color:var(--color-branding);transform:translate(14px);color:#fff}.editor-container[data-v-3500c8e7]{height:calc(100% - var(--header-height));overflow:hidden;position:relative}.vue-repl[data-v-f0baea56]{--bg: #fff;--bg-soft: #f8f8f8;--border: #ddd;--text-light: #888;--font-code: Menlo, Monaco, Consolas, "Courier New", monospace;--color-branding: #42b883;--color-branding-dark: #416f9c;--header-height: 38px;height:100%;margin:0;overflow:hidden;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-soft)}.dark .vue-repl[data-v-f0baea56]{--bg: #1a1a1a;--bg-soft: #242424;--border: #383838;--text-light: #aaa;--color-branding: #42d392;--color-branding-dark: #89ddff}[data-v-f0baea56] button{border:none;outline:none;cursor:pointer;margin:0;background-color:transparent}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background)}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-mouse-cursor-text{cursor:text}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .lines-content .core-guide-indent{box-shadow:1px 0 0 0 var(--vscode-editorIndentGuide-background) inset}.monaco-editor .lines-content .core-guide-indent-active{box-shadow:1px 0 0 0 var(--vscode-editorIndentGuide-activeBackground, --vscode-editorIndentGuide-background) inset}.mtkcontrol{color:#fff!important;background:rgb(150,0,0)!important}.mtkoverflow{background-color:var(--vscode-button-background, --vscode-editor-background);color:var(--vscode-button-foreground, --vscode-editor-foreground);border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{-moz-user-select:text;user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{-moz-user-select:initial;user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:white}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}:root{--vscode-sash-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:cyan}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:rgba(255,255,255,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:rgba(0,0,0,0)}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:rgba(171,171,171,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, --vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, --vscode-diffEditor-insertedLineBackground, --vscode-diffEditor-insertedTextBackground)}.monaco-editor .char-delete,.monaco-diff-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, --vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, --vscode-diffEditor-removedLineBackground, --vscode-diffEditor-removedTextBackground)}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;-moz-user-select:none;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}@font-face{font-family:codicon;font-display:block;src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI3T0Y9AAABjAAAAGBjbWFwdZ40LQAACJQAABjeZ2x5Zl2Xvs4AACTMAADg3GhlYWRYl6BTAAAA4AAAADZoaGVhAlsC1QAAALwAAAAkaG10ePIP//wAAAHsAAAGqGxvY2FykTvAAAAhdAAAA1ZtYXhwAssBgQAAARgAAAAgbmFtZZP2uUoAAQWoAAAB+HBvc3TJSpWMAAEHoAAAF1UAAQAAASwAAAAAASz////+AS4AAQAAAAAAAAAAAAAAAAAAAaoAAQAAAAEAAMjfukxfDzz1AAsBLAAAAAB8JbCAAAAAAHwlsID////9AS4BLQAAAAgAAgAAAAAAAAABAAABqgF1ABcAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQBKwGQAAUAAAC+ANIAAAAqAL4A0gAAAJAADgBNAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOpg7BEBLAAAABsBRwADAAAAAQAAAAAAAAAAAAAAAAACAAAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLP//ASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLP//ASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAAAAABQAAAAMAAAAsAAAABAAABNYAAQAAAAAD0AADAAEAAAAsAAMACgAABNYABAOkAAAAEAAQAAMAAOqI6ozqx+rJ6wnrTuwR//8AAOpg6orqj+rJ6szrC+tQ//8AAAAAAAAAAAAAAAAAAAABABAAYABkANQA1AFOAdQAAAADAOEBMgEvAKoBIAF2AQ8BUQD6AVYASgGfAUUBTgFNAIkANAEZAH4AwADuAD8BdABzABYBnQCTAIABLAEIAP8BAAGHALoAngCuAYEBYQCDAXIBWgFpAWcBWwFqAXEBbAFlALABYAFuAAIABAAFAAoACwAMAA0ADgAPABAAEgAaABwAHQAeAFYAVwBYAFkAXABdACEAIgAjACQAJQAoACoAKwAsAC0ALgAvADAAMQAyADMAOgA3ADsAPAA9AD4AQABBAEMARABFAEcATwBQAFEAUgBhAGMAZQBoAGwAbgBvAHAAcQByAHQAdQB2AHcAeAB5AHoAewB8AH0AfwCBAIQAhwCIAIsAjACNAI4AjwCQAJEAkgCUAJYAlwCYAJkAmgCbAJ0AnwCgAKEAjACiAKMApACrAKwArwCxALUAtgC5ALsAvAC9AL4AxADFAMYAxwDIAMkAygDLAOAA4gDjAOYA6QDqAOsA7ADwAPEA9AD1APYA+QD7APwA/QD+AQIBAwEGAQcBCgELAREBFQEWARcBGAEaARsBHAEdAR4BHwEkASUBJgEnASgBKQEqASsBLQEuATABMQEzATQBNQE2ATcBOAE5AT4BPwFAAUEBQgFEAUkBSgFLAUwBTwFQAVMBVAFVAVcBWAFcAV0BXgFfAWIBYwFkAWYBaAFrAW0BbwF4AXkBggGDAYQBhQGGAYgBiQGKAYsBjAGQAZIBkwGUAZcBmAGZAZsBnAGgAaEBogGjAaQBqAGpAOQA5QDnAOgAWgBbAGoAOABrAF4BcABpAG0AZwBVACYAJwD3AIUAigC3AZEAAQAXAF8A3wEJATsBcwETAK0BSAFHAQ0BWQEUASIAVAGaAEIA+ACGALIA7wEFASMAKQESAQwANQA2AEYBdQGVAY8BjQGOAKYBOgE8AQQAZgGlAacBpgF7AXwBfQF+AX8BgAF6ABEATgEOAJUBngBkAMIAzgDNAMwATQBMAEsAFADDAKUApwBTAGIBPQCcAGAAFQCzALQBEAAfACAA7QATAZYBAQDeAM8A0ADVANMA1ADXANgA2gDcAN0A0gDRAXcAvwEhAIIABgAHAAgACQDbANYA2QAbALgA8wDyADkAGQAYAEkAqACpAUMASAFGAVIAwQAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAUCAAAAAAAAAGqAADqYAAA6mAAAAADAADqYQAA6mEAAADhAADqYgAA6mIAAAEyAADqYwAA6mMAAAEvAADqZAAA6mQAAACqAADqZQAA6mUAAAEgAADqZgAA6mYAAAF2AADqZwAA6mcAAAEPAADqaAAA6mgAAAFRAADqaQAA6mkAAAD6AADqagAA6moAAAFWAADqawAA6msAAABKAADqbAAA6mwAAAGfAADqbQAA6m0AAAFFAADqbgAA6m4AAAFOAADqbwAA6m8AAAFNAADqcAAA6nAAAACJAADqcQAA6nEAAAA0AADqcgAA6nIAAAEZAADqcwAA6nMAAAB+AADqdAAA6nQAAADAAADqdQAA6nUAAADuAADqdgAA6nYAAAA/AADqdwAA6ncAAAF0AADqeAAA6ngAAABzAADqeQAA6nkAAAAWAADqegAA6noAAAGdAADqewAA6nsAAACTAADqfAAA6nwAAACAAADqfQAA6n0AAAEsAADqfgAA6n4AAAEIAADqfwAA6n8AAAD/AADqgAAA6oAAAAEAAADqgQAA6oEAAAGHAADqggAA6oIAAAC6AADqgwAA6oMAAACeAADqhAAA6oQAAACuAADqhQAA6oUAAAGBAADqhgAA6oYAAAFhAADqhwAA6ocAAACDAADqiAAA6ogAAAFyAADqigAA6ooAAAFaAADqiwAA6osAAAFpAADqjAAA6owAAAFnAADqjwAA6o8AAAFbAADqkAAA6pAAAAFqAADqkQAA6pEAAAFxAADqkgAA6pIAAAFsAADqkwAA6pMAAAFlAADqlAAA6pQAAACwAADqlQAA6pUAAAFgAADqlgAA6pYAAAFuAADqlwAA6pcAAAACAADqmAAA6pgAAAAEAADqmQAA6pkAAAAFAADqmgAA6poAAAAKAADqmwAA6psAAAALAADqnAAA6pwAAAAMAADqnQAA6p0AAAANAADqngAA6p4AAAAOAADqnwAA6p8AAAAPAADqoAAA6qAAAAAQAADqoQAA6qEAAAASAADqogAA6qIAAAAaAADqowAA6qMAAAAcAADqpAAA6qQAAAAdAADqpQAA6qUAAAAeAADqpgAA6qYAAABWAADqpwAA6qcAAABXAADqqAAA6qgAAABYAADqqQAA6qkAAABZAADqqgAA6qoAAABcAADqqwAA6qsAAABdAADqrAAA6qwAAAAhAADqrQAA6q0AAAAiAADqrgAA6q4AAAAjAADqrwAA6q8AAAAkAADqsAAA6rAAAAAlAADqsQAA6rEAAAAoAADqsgAA6rIAAAAqAADqswAA6rMAAAArAADqtAAA6rQAAAAsAADqtQAA6rUAAAAtAADqtgAA6rYAAAAuAADqtwAA6rcAAAAvAADquAAA6rgAAAAwAADquQAA6rkAAAAxAADqugAA6roAAAAyAADquwAA6rsAAAAzAADqvAAA6rwAAAA6AADqvQAA6r0AAAA3AADqvgAA6r4AAAA7AADqvwAA6r8AAAA8AADqwAAA6sAAAAA9AADqwQAA6sEAAAA+AADqwgAA6sIAAABAAADqwwAA6sMAAABBAADqxAAA6sQAAABDAADqxQAA6sUAAABEAADqxgAA6sYAAABFAADqxwAA6scAAABHAADqyQAA6skAAABPAADqzAAA6swAAABQAADqzQAA6s0AAABRAADqzgAA6s4AAABSAADqzwAA6s8AAABhAADq0AAA6tAAAABjAADq0QAA6tEAAABlAADq0gAA6tIAAABoAADq0wAA6tMAAABsAADq1AAA6tQAAABuAADq1QAA6tUAAABvAADq1gAA6tYAAABwAADq1wAA6tcAAABxAADq2AAA6tgAAAByAADq2QAA6tkAAAB0AADq2gAA6toAAAB1AADq2wAA6tsAAAB2AADq3AAA6twAAAB3AADq3QAA6t0AAAB4AADq3gAA6t4AAAB5AADq3wAA6t8AAAB6AADq4AAA6uAAAAB7AADq4QAA6uEAAAB8AADq4gAA6uIAAAB9AADq4wAA6uMAAAB/AADq5AAA6uQAAACBAADq5QAA6uUAAACEAADq5gAA6uYAAACHAADq5wAA6ucAAACIAADq6AAA6ugAAACLAADq6QAA6ukAAACMAADq6gAA6uoAAACNAADq6wAA6usAAACOAADq7AAA6uwAAACPAADq7QAA6u0AAACQAADq7gAA6u4AAACRAADq7wAA6u8AAACSAADq8AAA6vAAAACUAADq8QAA6vEAAACWAADq8gAA6vIAAACXAADq8wAA6vMAAACYAADq9AAA6vQAAACZAADq9QAA6vUAAACaAADq9gAA6vYAAACbAADq9wAA6vcAAACdAADq+AAA6vgAAACfAADq+QAA6vkAAACgAADq+gAA6voAAAChAADq+wAA6vsAAACMAADq/AAA6vwAAACiAADq/QAA6v0AAACjAADq/gAA6v4AAACkAADq/wAA6v8AAACrAADrAAAA6wAAAACsAADrAQAA6wEAAACvAADrAgAA6wIAAACxAADrAwAA6wMAAAC1AADrBAAA6wQAAAC2AADrBQAA6wUAAAC5AADrBgAA6wYAAAC7AADrBwAA6wcAAAC8AADrCAAA6wgAAAC9AADrCQAA6wkAAAC+AADrCwAA6wsAAADEAADrDAAA6wwAAADFAADrDQAA6w0AAADGAADrDgAA6w4AAADHAADrDwAA6w8AAADIAADrEAAA6xAAAADJAADrEQAA6xEAAADKAADrEgAA6xIAAADLAADrEwAA6xMAAADgAADrFAAA6xQAAADiAADrFQAA6xUAAADjAADrFgAA6xYAAADmAADrFwAA6xcAAADpAADrGAAA6xgAAADqAADrGQAA6xkAAADrAADrGgAA6xoAAADsAADrGwAA6xsAAADwAADrHAAA6xwAAADxAADrHQAA6x0AAAD0AADrHgAA6x4AAAD1AADrHwAA6x8AAAD2AADrIAAA6yAAAAD5AADrIQAA6yEAAAD7AADrIgAA6yIAAAD8AADrIwAA6yMAAAD9AADrJAAA6yQAAAD+AADrJQAA6yUAAAECAADrJgAA6yYAAAEDAADrJwAA6ycAAAEGAADrKAAA6ygAAAEHAADrKQAA6ykAAAEKAADrKgAA6yoAAAELAADrKwAA6ysAAAERAADrLAAA6ywAAAEVAADrLQAA6y0AAAEWAADrLgAA6y4AAAEXAADrLwAA6y8AAAEYAADrMAAA6zAAAAEaAADrMQAA6zEAAAEbAADrMgAA6zIAAAEcAADrMwAA6zMAAAEdAADrNAAA6zQAAAEeAADrNQAA6zUAAAEfAADrNgAA6zYAAAEkAADrNwAA6zcAAAElAADrOAAA6zgAAAEmAADrOQAA6zkAAAEnAADrOgAA6zoAAAEoAADrOwAA6zsAAAEpAADrPAAA6zwAAAEqAADrPQAA6z0AAAErAADrPgAA6z4AAAEtAADrPwAA6z8AAAEuAADrQAAA60AAAAEwAADrQQAA60EAAAExAADrQgAA60IAAAEzAADrQwAA60MAAAE0AADrRAAA60QAAAE1AADrRQAA60UAAAE2AADrRgAA60YAAAE3AADrRwAA60cAAAE4AADrSAAA60gAAAE5AADrSQAA60kAAAE+AADrSgAA60oAAAE/AADrSwAA60sAAAFAAADrTAAA60wAAAFBAADrTQAA600AAAFCAADrTgAA604AAAFEAADrUAAA61AAAAFJAADrUQAA61EAAAFKAADrUgAA61IAAAFLAADrUwAA61MAAAFMAADrVAAA61QAAAFPAADrVQAA61UAAAFQAADrVgAA61YAAAFTAADrVwAA61cAAAFUAADrWAAA61gAAAFVAADrWQAA61kAAAFXAADrWgAA61oAAAFYAADrWwAA61sAAAFcAADrXAAA61wAAAFdAADrXQAA610AAAFeAADrXgAA614AAAFfAADrXwAA618AAAFiAADrYAAA62AAAAFjAADrYQAA62EAAAFkAADrYgAA62IAAAFmAADrYwAA62MAAAFoAADrZAAA62QAAAFrAADrZQAA62UAAAFtAADrZgAA62YAAAFvAADrZwAA62cAAAF4AADraAAA62gAAAF5AADraQAA62kAAAGCAADragAA62oAAAGDAADrawAA62sAAAGEAADrbAAA62wAAAGFAADrbQAA620AAAGGAADrbgAA624AAAGIAADrbwAA628AAAGJAADrcAAA63AAAAGKAADrcQAA63EAAAGLAADrcgAA63IAAAGMAADrcwAA63MAAAGQAADrdAAA63QAAAGSAADrdQAA63UAAAGTAADrdgAA63YAAAGUAADrdwAA63cAAAGXAADreAAA63gAAAGYAADreQAA63kAAAGZAADregAA63oAAAGbAADrewAA63sAAAGcAADrfAAA63wAAAGgAADrfQAA630AAAGhAADrfgAA634AAAGiAADrfwAA638AAAGjAADrgAAA64AAAAGkAADrgQAA64EAAAGoAADrggAA64IAAAGpAADrgwAA64MAAADkAADrhAAA64QAAADlAADrhQAA64UAAADnAADrhgAA64YAAADoAADrhwAA64cAAABaAADriAAA64gAAABbAADriQAA64kAAABqAADrigAA64oAAAA4AADriwAA64sAAABrAADrjAAA64wAAABeAADrjQAA640AAAFwAADrjgAA644AAABpAADrjwAA648AAABtAADrkAAA65AAAABnAADrkQAA65EAAABVAADrkgAA65IAAAAmAADrkwAA65MAAAAnAADrlAAA65QAAAD3AADrlQAA65UAAACFAADrlgAA65YAAACKAADrlwAA65cAAAC3AADrmAAA65gAAAGRAADrmQAA65kAAAABAADrmgAA65oAAAAXAADrmwAA65sAAABfAADrnAAA65wAAADfAADrnQAA650AAAEJAADrngAA654AAAE7AADrnwAA658AAAFzAADroAAA66AAAAETAADroQAA66EAAACtAADrogAA66IAAAFIAADrowAA66MAAAFHAADrpAAA66QAAAENAADrpQAA66UAAAFZAADrpgAA66YAAAEUAADrpwAA66cAAAEiAADrqAAA66gAAABUAADrqQAA66kAAAGaAADrqgAA66oAAABCAADrqwAA66sAAAD4AADrrAAA66wAAACGAADrrQAA660AAACyAADrrgAA664AAADvAADrrwAA668AAAEFAADrsAAA67AAAAEjAADrsQAA67EAAAApAADrsgAA67IAAAESAADrswAA67MAAAEMAADrtAAA67QAAAA1AADrtQAA67UAAAA2AADrtgAA67YAAABGAADrtwAA67cAAAF1AADruAAA67gAAAGVAADruQAA67kAAAGPAADrugAA67oAAAGNAADruwAA67sAAAGOAADrvAAA67wAAACmAADrvQAA670AAAE6AADrvgAA674AAAE8AADrvwAA678AAAEEAADrwAAA68AAAABmAADrwQAA68EAAAGlAADrwgAA68IAAAGnAADrwwAA68MAAAGmAADrxAAA68QAAAF7AADrxQAA68UAAAF8AADrxgAA68YAAAF9AADrxwAA68cAAAF+AADryAAA68gAAAF/AADryQAA68kAAAGAAADrygAA68oAAAF6AADrywAA68sAAAARAADrzAAA68wAAABOAADrzQAA680AAAEOAADrzgAA684AAACVAADrzwAA688AAAGeAADr0AAA69AAAABkAADr0QAA69EAAADCAADr0gAA69IAAADOAADr0wAA69MAAADNAADr1AAA69QAAADMAADr1QAA69UAAABNAADr1gAA69YAAABMAADr1wAA69cAAABLAADr2AAA69gAAAAUAADr2QAA69kAAADDAADr2gAA69oAAAClAADr2wAA69sAAACnAADr3AAA69wAAABTAADr3QAA690AAABiAADr3gAA694AAAE9AADr3wAA698AAACcAADr4AAA6+AAAABgAADr4QAA6+EAAAAVAADr4gAA6+IAAACzAADr4wAA6+MAAAC0AADr5AAA6+QAAAEQAADr5QAA6+UAAAAfAADr5gAA6+YAAAAgAADr5wAA6+cAAADtAADr6AAA6+gAAAATAADr6QAA6+kAAAGWAADr6gAA6+oAAAEBAADr6wAA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AAAAAAAAAAAAAAAAAAAAAAAAAAABqgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AjgCOQI6AjsCPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwAHYWNjb3VudBRhY3RpdmF0ZS1icmVha3BvaW50cwNhZGQHYXJjaGl2ZQphcnJvdy1ib3RoEWFycm93LWNpcmNsZS1kb3duEWFycm93LWNpcmNsZS1sZWZ0EmFycm93LWNpcmNsZS1yaWdodA9hcnJvdy1jaXJjbGUtdXAKYXJyb3ctZG93bgphcnJvdy1sZWZ0C2Fycm93LXJpZ2h0EGFycm93LXNtYWxsLWRvd24QYXJyb3ctc21hbGwtbGVmdBFhcnJvdy1zbWFsbC1yaWdodA5hcnJvdy1zbWFsbC11cAphcnJvdy1zd2FwCGFycm93LXVwDGF6dXJlLWRldm9wcwVhenVyZQtiZWFrZXItc3RvcAZiZWFrZXIIYmVsbC1kb3QOYmVsbC1zbGFzaC1kb3QKYmVsbC1zbGFzaARiZWxsBWJsYW5rBGJvbGQEYm9vawhib29rbWFyawticmFja2V0LWRvdA1icmFja2V0LWVycm9yCWJyaWVmY2FzZQlicm9hZGNhc3QHYnJvd3NlcgNidWcIY2FsZW5kYXINY2FsbC1pbmNvbWluZw1jYWxsLW91dGdvaW5nDmNhc2Utc2Vuc2l0aXZlCWNoZWNrLWFsbAVjaGVjawljaGVja2xpc3QMY2hldnJvbi1kb3duDGNoZXZyb24tbGVmdA1jaGV2cm9uLXJpZ2h0CmNoZXZyb24tdXAMY2hyb21lLWNsb3NlD2Nocm9tZS1tYXhpbWl6ZQ9jaHJvbWUtbWluaW1pemUOY2hyb21lLXJlc3RvcmUNY2lyY2xlLWZpbGxlZBNjaXJjbGUtbGFyZ2UtZmlsbGVkDGNpcmNsZS1sYXJnZQxjaXJjbGUtc2xhc2gTY2lyY2xlLXNtYWxsLWZpbGxlZAxjaXJjbGUtc21hbGwGY2lyY2xlDWNpcmN1aXQtYm9hcmQJY2xlYXItYWxsBmNsaXBweQljbG9zZS1hbGwFY2xvc2UOY2xvdWQtZG93bmxvYWQMY2xvdWQtdXBsb2FkBWNsb3VkBGNvZGUMY29sbGFwc2UtYWxsCmNvbG9yLW1vZGUHY29tYmluZRJjb21tZW50LWRpc2N1c3Npb24NY29tbWVudC1kcmFmdBJjb21tZW50LXVucmVzb2x2ZWQHY29tbWVudA5jb21wYXNzLWFjdGl2ZQtjb21wYXNzLWRvdAdjb21wYXNzBGNvcHkLY3JlZGl0LWNhcmQEZGFzaAlkYXNoYm9hcmQIZGF0YWJhc2UJZGVidWctYWxsD2RlYnVnLWFsdC1zbWFsbAlkZWJ1Zy1hbHQnZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC11bnZlcmlmaWVkHGRlYnVnLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwgZGVidWctYnJlYWtwb2ludC1kYXRhLXVudmVyaWZpZWQVZGVidWctYnJlYWtwb2ludC1kYXRhJGRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tdW52ZXJpZmllZBlkZWJ1Zy1icmVha3BvaW50LWZ1bmN0aW9uH2RlYnVnLWJyZWFrcG9pbnQtbG9nLXVudmVyaWZpZWQUZGVidWctYnJlYWtwb2ludC1sb2ccZGVidWctYnJlYWtwb2ludC11bnN1cHBvcnRlZA1kZWJ1Zy1jb25zb2xlFGRlYnVnLWNvbnRpbnVlLXNtYWxsDmRlYnVnLWNvbnRpbnVlDmRlYnVnLWNvdmVyYWdlEGRlYnVnLWRpc2Nvbm5lY3QSZGVidWctbGluZS1ieS1saW5lC2RlYnVnLXBhdXNlC2RlYnVnLXJlcnVuE2RlYnVnLXJlc3RhcnQtZnJhbWUNZGVidWctcmVzdGFydBZkZWJ1Zy1yZXZlcnNlLWNvbnRpbnVlF2RlYnVnLXN0YWNrZnJhbWUtYWN0aXZlEGRlYnVnLXN0YWNrZnJhbWULZGVidWctc3RhcnQPZGVidWctc3RlcC1iYWNrD2RlYnVnLXN0ZXAtaW50bw5kZWJ1Zy1zdGVwLW91dA9kZWJ1Zy1zdGVwLW92ZXIKZGVidWctc3RvcAVkZWJ1ZxBkZXNrdG9wLWRvd25sb2FkE2RldmljZS1jYW1lcmEtdmlkZW8NZGV2aWNlLWNhbWVyYQ1kZXZpY2UtbW9iaWxlCmRpZmYtYWRkZWQMZGlmZi1pZ25vcmVkDWRpZmYtbW9kaWZpZWQMZGlmZi1yZW1vdmVkDGRpZmYtcmVuYW1lZARkaWZmB2Rpc2NhcmQEZWRpdA1lZGl0b3ItbGF5b3V0CGVsbGlwc2lzDGVtcHR5LXdpbmRvdwtlcnJvci1zbWFsbAVlcnJvcgdleGNsdWRlCmV4cGFuZC1hbGwGZXhwb3J0CmV4dGVuc2lvbnMKZXllLWNsb3NlZANleWUIZmVlZGJhY2sLZmlsZS1iaW5hcnkJZmlsZS1jb2RlCmZpbGUtbWVkaWEIZmlsZS1wZGYOZmlsZS1zdWJtb2R1bGUWZmlsZS1zeW1saW5rLWRpcmVjdG9yeRFmaWxlLXN5bWxpbmstZmlsZQhmaWxlLXppcARmaWxlBWZpbGVzDWZpbHRlci1maWxsZWQGZmlsdGVyBWZsYW1lCWZvbGQtZG93bgdmb2xkLXVwBGZvbGQNZm9sZGVyLWFjdGl2ZQ5mb2xkZXItbGlicmFyeQ1mb2xkZXItb3BlbmVkBmZvbGRlcgRnZWFyBGdpZnQLZ2lzdC1zZWNyZXQKZ2l0LWNvbW1pdAtnaXQtY29tcGFyZQlnaXQtbWVyZ2UXZ2l0LXB1bGwtcmVxdWVzdC1jbG9zZWQXZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUWZ2l0LXB1bGwtcmVxdWVzdC1kcmFmdB5naXQtcHVsbC1yZXF1ZXN0LWdvLXRvLWNoYW5nZXMcZ2l0LXB1bGwtcmVxdWVzdC1uZXctY2hhbmdlcxBnaXQtcHVsbC1yZXF1ZXN0DWdpdGh1Yi1hY3Rpb24KZ2l0aHViLWFsdA9naXRodWItaW52ZXJ0ZWQGZ2l0aHViBWdsb2JlCmdvLXRvLWZpbGUHZ3JhYmJlcgpncmFwaC1sZWZ0CmdyYXBoLWxpbmUNZ3JhcGgtc2NhdHRlcgVncmFwaAdncmlwcGVyEWdyb3VwLWJ5LXJlZi10eXBlDGhlYXJ0LWZpbGxlZAVoZWFydAdoaXN0b3J5BGhvbWUPaG9yaXpvbnRhbC1ydWxlBWh1Ym90BWluYm94BmluZGVudARpbmZvBmluc2VydAdpbnNwZWN0C2lzc3VlLWRyYWZ0Dmlzc3VlLXJlb3BlbmVkBmlzc3VlcwZpdGFsaWMGamVyc2V5BGpzb24Oa2ViYWItdmVydGljYWwDa2V5A2xhdw1sYXllcnMtYWN0aXZlCmxheWVycy1kb3QGbGF5ZXJzF2xheW91dC1hY3Rpdml0eWJhci1sZWZ0GGxheW91dC1hY3Rpdml0eWJhci1yaWdodA9sYXlvdXQtY2VudGVyZWQObGF5b3V0LW1lbnViYXITbGF5b3V0LXBhbmVsLWNlbnRlchRsYXlvdXQtcGFuZWwtanVzdGlmeRFsYXlvdXQtcGFuZWwtbGVmdBBsYXlvdXQtcGFuZWwtb2ZmEmxheW91dC1wYW5lbC1yaWdodAxsYXlvdXQtcGFuZWwXbGF5b3V0LXNpZGViYXItbGVmdC1vZmYTbGF5b3V0LXNpZGViYXItbGVmdBhsYXlvdXQtc2lkZWJhci1yaWdodC1vZmYUbGF5b3V0LXNpZGViYXItcmlnaHQQbGF5b3V0LXN0YXR1c2JhcgZsYXlvdXQHbGlicmFyeRFsaWdodGJ1bGItYXV0b2ZpeAlsaWdodGJ1bGINbGluay1leHRlcm5hbARsaW5rC2xpc3QtZmlsdGVyCWxpc3QtZmxhdAxsaXN0LW9yZGVyZWQObGlzdC1zZWxlY3Rpb24JbGlzdC10cmVlDmxpc3QtdW5vcmRlcmVkCmxpdmUtc2hhcmUHbG9hZGluZwhsb2NhdGlvbgpsb2NrLXNtYWxsBGxvY2sGbWFnbmV0CW1haWwtcmVhZARtYWlsCm1hcC1maWxsZWQDbWFwCG1hcmtkb3duCW1lZ2FwaG9uZQdtZW50aW9uBG1lbnUFbWVyZ2UJbWlsZXN0b25lBm1pcnJvcgxtb3J0YXItYm9hcmQEbW92ZRBtdWx0aXBsZS13aW5kb3dzBG11dGUIbmV3LWZpbGUKbmV3LWZvbGRlcgduZXdsaW5lCm5vLW5ld2xpbmUEbm90ZRFub3RlYm9vay10ZW1wbGF0ZQhub3RlYm9vawhvY3RvZmFjZQxvcGVuLXByZXZpZXcMb3JnYW5pemF0aW9uBm91dHB1dAdwYWNrYWdlCHBhaW50Y2FuC3Bhc3MtZmlsbGVkBHBhc3MKcGVyc29uLWFkZAZwZXJzb24JcGllLWNoYXJ0A3BpbgxwaW5uZWQtZGlydHkGcGlubmVkC3BsYXktY2lyY2xlBHBsYXkEcGx1Zw1wcmVzZXJ2ZS1jYXNlB3ByZXZpZXcQcHJpbWl0aXZlLXNxdWFyZQdwcm9qZWN0BXB1bHNlCHF1ZXN0aW9uBXF1b3RlC3JhZGlvLXRvd2VyCXJlYWN0aW9ucwtyZWNvcmQta2V5cwxyZWNvcmQtc21hbGwGcmVjb3JkBHJlZG8KcmVmZXJlbmNlcwdyZWZyZXNoBXJlZ2V4D3JlbW90ZS1leHBsb3JlcgZyZW1vdGUGcmVtb3ZlC3JlcGxhY2UtYWxsB3JlcGxhY2UFcmVwbHkKcmVwby1jbG9uZQ9yZXBvLWZvcmNlLXB1c2gLcmVwby1mb3JrZWQJcmVwby1wdWxsCXJlcG8tcHVzaARyZXBvBnJlcG9ydA9yZXF1ZXN0LWNoYW5nZXMGcm9ja2V0EnJvb3QtZm9sZGVyLW9wZW5lZAtyb290LWZvbGRlcgNyc3MEcnVieQlydW4tYWJvdmUHcnVuLWFsbAlydW4tYmVsb3cKcnVuLWVycm9ycwhzYXZlLWFsbAdzYXZlLWFzBHNhdmULc2NyZWVuLWZ1bGwNc2NyZWVuLW5vcm1hbAxzZWFyY2gtZnV6enkLc2VhcmNoLXN0b3AGc2VhcmNoBHNlbmQSc2VydmVyLWVudmlyb25tZW50DnNlcnZlci1wcm9jZXNzBnNlcnZlcg1zZXR0aW5ncy1nZWFyCHNldHRpbmdzBnNoaWVsZAdzaWduLWluCHNpZ24tb3V0BnNtaWxleQ9zb3J0LXByZWNlZGVuY2UOc291cmNlLWNvbnRyb2wHc3BhcmtsZRBzcGxpdC1ob3Jpem9udGFsDnNwbGl0LXZlcnRpY2FsCHNxdWlycmVsCnN0YXItZW1wdHkJc3Rhci1mdWxsCXN0YXItaGFsZgtzdG9wLWNpcmNsZQxzeW1ib2wtYXJyYXkOc3ltYm9sLWJvb2xlYW4Mc3ltYm9sLWNsYXNzDHN5bWJvbC1jb2xvcg9zeW1ib2wtY29uc3RhbnQSc3ltYm9sLWVudW0tbWVtYmVyC3N5bWJvbC1lbnVtDHN5bWJvbC1ldmVudAxzeW1ib2wtZmllbGQLc3ltYm9sLWZpbGUQc3ltYm9sLWludGVyZmFjZQpzeW1ib2wta2V5DnN5bWJvbC1rZXl3b3JkDXN5bWJvbC1tZXRob2QLc3ltYm9sLW1pc2MQc3ltYm9sLW5hbWVzcGFjZQ5zeW1ib2wtbnVtZXJpYw9zeW1ib2wtb3BlcmF0b3IQc3ltYm9sLXBhcmFtZXRlcg9zeW1ib2wtcHJvcGVydHkMc3ltYm9sLXJ1bGVyDnN5bWJvbC1zbmlwcGV0DXN5bWJvbC1zdHJpbmcQc3ltYm9sLXN0cnVjdHVyZQ9zeW1ib2wtdmFyaWFibGUMc3luYy1pZ25vcmVkBHN5bmMFdGFibGUDdGFnBnRhcmdldAh0YXNrbGlzdAl0ZWxlc2NvcGUNdGVybWluYWwtYmFzaAx0ZXJtaW5hbC1jbWQPdGVybWluYWwtZGViaWFuDnRlcm1pbmFsLWxpbnV4E3Rlcm1pbmFsLXBvd2Vyc2hlbGwNdGVybWluYWwtdG11eA90ZXJtaW5hbC11YnVudHUIdGVybWluYWwJdGV4dC1zaXplCnRocmVlLWJhcnMKdGh1bWJzZG93bgh0aHVtYnN1cAV0b29scwV0cmFzaA10cmlhbmdsZS1kb3duDXRyaWFuZ2xlLWxlZnQOdHJpYW5nbGUtcmlnaHQLdHJpYW5nbGUtdXAHdHdpdHRlchJ0eXBlLWhpZXJhcmNoeS1zdWIUdHlwZS1oaWVyYXJjaHktc3VwZXIOdHlwZS1oaWVyYXJjaHkGdW5mb2xkE3VuZ3JvdXAtYnktcmVmLXR5cGUGdW5sb2NrBnVubXV0ZQp1bnZlcmlmaWVkDnZhcmlhYmxlLWdyb3VwD3ZlcmlmaWVkLWZpbGxlZAh2ZXJpZmllZAh2ZXJzaW9ucwl2bS1hY3RpdmUKdm0tY29ubmVjdAp2bS1vdXRsaW5lCnZtLXJ1bm5pbmcCdm0Ed2FuZAd3YXJuaW5nBXdhdGNoCndoaXRlc3BhY2UKd2hvbGUtd29yZAZ3aW5kb3cJd29yZC13cmFwEXdvcmtzcGFjZS10cnVzdGVkEXdvcmtzcGFjZS11bmtub3duE3dvcmtzcGFjZS11bnRydXN0ZWQHem9vbS1pbgh6b29tLW91dAAAAAAA) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-user-select:none;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.action-widget{font-size:13px;border-radius:0;min-width:160px;max-width:500px;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{-moz-user-select:none;user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-pickerGroup-foreground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action.option-disabled .codicon{opacity:.4}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{-moz-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px;position:absolute;left:8px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,#ff0000 0%,#ffff00 17%,#00ff00 33%,#00ffff 50%,#0000ff 67%,#ff00ff 83%,#ff0000 100%)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:rgba(255,255,255,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:rgba(255,255,255,.44)}99%{background:transparent}}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-hover{cursor:default;position:absolute;overflow:hidden;-moz-user-select:text;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:500px;word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:pre-wrap}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;-moz-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;-moz-user-select:text;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.preferences-editor .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info,.preferences-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .custom-actions .action-item:nth-child(2) a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:""}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .sticky-line{color:var(--vscode-editorLineNumber-foreground);overflow:hidden;white-space:nowrap;display:inline-block}.monaco-editor .sticky-line-number{text-align:right;float:left}.monaco-editor .sticky-line-root{background-color:inherit;overflow:hidden;white-space:nowrap;width:100%}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-root:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;-moz-user-select:text;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%)}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.monaco-progress-container{width:100%;height:5px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:5px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px}.quick-input-header .quick-input-description{margin:4px 2px}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-progress.monaco-progress-container,.quick-input-progress.monaco-progress-container .progress-bit{height:2px}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.diff-hidden-lines:not(.dragging) .bottom:hover,.diff-hidden-lines .top.dragging,.diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent;cursor:ns-resize}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.CodeMirror-dialog{position:absolute;left:0;right:0;background:inherit;z-index:15;padding:.1em .8em;overflow:hidden;color:inherit}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:none;background:transparent;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}.CodeMirror{color:var(--symbols);--symbols: #777;--base: #545281;--comment: hsl(210, 25%, 60%);--keyword: #af4ab1;--variable: var(--base);--function: #c25205;--string: #2ba46d;--number: #c25205;--tags: #dd0000;--brackets: var(--comment);--qualifier: #ff6032;--important: var(--string);--attribute: #9c3eda;--property: #6182b8;--selected-bg: #d7d4f0;--selected-bg-non-focus: #d9d9d9;--cursor: #000;direction:ltr;font-family:var(--font-code);height:auto}.dark .CodeMirror{color:var(--symbols);--symbols: #89ddff;--base: #a6accd;--comment: #6d6d6d;--keyword: #89ddff;--string: #c3e88d;--variable: #82aaff;--number: #f78c6c;--tags: #f07178;--brackets: var(--symbols);--property: #f07178;--attribute: #c792ea;--cursor: #fff;--selected-bg: rgba(255, 255, 255, .1);--selected-bg-non-focus: rgba(255, 255, 255, .15)}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid var(--border);background-color:transparent;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:var(--comment);white-space:nowrap;opacity:.6}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-foldmarker{color:#414141;text-shadow:#ff9966 1px 1px 2px,#ff9966 -1px -1px 2px,#ff9966 1px -1px 2px,#ff9966 -1px 1px 2px;font-family:arial;line-height:.3;cursor:pointer}.CodeMirror-foldgutter{width:.7em}.CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded{cursor:pointer}.CodeMirror-foldgutter-open:after,.CodeMirror-foldgutter-folded:after{content:">";font-size:.8em;opacity:.8;transition:transform .2s;display:inline-block;top:-.1em;position:relative;transform:rotate(90deg)}.CodeMirror-foldgutter-folded:after{transform:none}.CodeMirror-cursor{border-left:1px solid var(--cursor);border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:#14ff1480;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default.CodeMirror{background-color:transparent}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-atom,.cm-s-default .cm-def,.cm-s-default .cm-variable-2,.cm-s-default .cm-variable-3,.cm-s-default .cm-punctuation{color:var(--base)}.cm-s-default .cm-property{color:var(--property)}.cm-s-default .cm-hr,.cm-s-default .cm-comment{color:var(--comment)}.cm-s-default .cm-attribute{color:var(--attribute)}.cm-s-default .cm-keyword{color:var(--keyword)}.cm-s-default .cm-variable{color:var(--variable)}.cm-s-default .cm-tag{color:var(--tags)}.cm-s-default .cm-bracket{color:var(--brackets)}.cm-s-default .cm-number{color:var(--number)}.cm-s-default .cm-string,.cm-s-default .cm-string-2{color:var(--string)}.cm-s-default .cm-type{color:#ffd000}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:var(--qualifier)}.cm-s-default .cm-builtin{color:#7539ff}.cm-s-default .cm-link{color:var(--flash)}.cm-s-default .cm-error,.cm-invalidchar{color:#ff008c}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;font-variant-ligatures:contextual}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:var(--selected-bg-non-focus)}.CodeMirror-focused .CodeMirror-selected{background:var(--selected-bg)}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:var(--selected-bg)}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:var(--selected-bg)}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{background-color:var(--bg)}.editor{position:relative;height:100%;width:100%;overflow:hidden}.CodeMirror{font-family:var(--font-code);line-height:1.5;height:100%}:root{--playground-header-bg-color: #eee}html[data-theme=dark]{--playground-header-bg-color: #333}html[data-theme=dark] .vue-repl{--bg: #1a1a1a;--bg-soft: #242424;--border: #383838;--text-light: #aaa;--color-branding: #42d392;--color-branding-dark: #89ddff}html[data-theme=dark] .vue-repl .import-map-wrapper{background:linear-gradient(90deg,rgba(26,26,26,0) 0%,rgb(26,26,26) 25%)!important}html[data-theme=dark] .vue-repl .CodeMirror{--symbols: #89ddff;--base: #a6accd;--comment: #6d6d6d;--keyword: #89ddff;--string: #c3e88d;--variable: #82aaff;--number: #f78c6c;--tags: #f07178;--brackets: var(--symbols);--property: #f07178;--attribute: #c792ea;--cursor: #fff;--selected-bg: rgb(255 255 255 / 10%);--selected-bg-non-focus: rgb(255 255 255 / 15%);color:var(--symbols)}.vue-playground-wrapper{overflow:hidden;margin-top:1rem;margin-bottom:1rem;border:1px solid var(--vp-brc);border-radius:6px}.vue-playground-wrapper .header{padding:.5rem .75rem;border-bottom:1px solid var(--vp-brc);background:var(--playground-header-bg-color, #eee);font-weight:500;font-size:1.1rem;line-height:1.5;overflow-wrap:break-word;transition:background var(--vp-ct) border-color var(--vp-ct)}.vue-playground-wrapper .preview-loading{color:var(--vp-tc)}.vue-playground-wrapper .source-container{display:none}.vue-playground-wrapper .source-container.show{display:block}.vue-playground-wrapper .repl-container{position:relative;overflow:hidden;height:auto;background:var(--vp-bg);transition:background var(--vp-ct)}@media print{.vue-playground-wrapper .repl-container{page-break-inside:avoid}}.vue-playground-wrapper .repl-container .vue-repl{height:300px}.theme-hope-content .vue-playground-wrapper .repl-container pre,.theme-hope-content .vue-playground-wrapper .repl-container pre[class*=language-]{margin:0;padding:0;border-radius:0}.search-pro-result-wrapper{scrollbar-color:var(--vp-tc) var(--vp-brc);scrollbar-width:thin}@media (max-width: 419px){.search-pro-result-wrapper{font-size:14px}}.search-pro-result-wrapper::-webkit-scrollbar{width:6px;height:6px}.search-pro-result-wrapper::-webkit-scrollbar-track-piece{border-radius:6px;background:rgba(0,0,0,.1)}.search-pro-result-wrapper::-webkit-scrollbar-thumb{border-radius:6px;background:var(--vp-tc)}.search-pro-result-wrapper::-webkit-scrollbar-thumb:active{background:var(--vp-tcl)}.search-pro-result-wrapper mark{border-radius:.25em;line-height:1}.search-pro-result-list{margin:0;padding:0}.search-pro-result-list-item{display:block;list-style:none}.search-pro-result-title{position:sticky;top:-2px;z-index:10;margin:-4px;margin-bottom:.25rem;padding:4px;background:var(--vp-bg);color:var(--vp-tc);font-weight:600;font-size:.85em;line-height:2rem;text-indent:.5em}.search-pro-result-item.active .search-pro-result-title{color:var(--vp-tc)}.search-pro-result-type{display:block;width:1rem;height:1rem;margin-inline-start:-.5rem;padding:.5rem;color:var(--vp-tc)}.search-pro-remove-icon{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;height:1.5rem;padding:0;border-radius:50%;color:var(--vp-tc);font-size:1rem}.search-pro-remove-icon svg{width:1.5rem;height:1.5rem}.search-pro-remove-icon:hover{background:rgba(128,128,128,.3)}.search-pro-result-content{display:flex;flex-grow:1;flex-direction:column;align-items:stretch;justify-content:center;line-height:1.5}.search-pro-result-content .content-header{margin-bottom:.25rem;border-bottom:1px solid var(--vp-brcd);font-size:.9em}.search-pro-result-item{display:flex;align-items:center;margin:.5rem 0;padding:.5rem .75rem;border-radius:.25rem;background:var(--vp-bgl);color:inherit;box-shadow:0 1px 3px 0 var(--card-shadow);font-weight:400;white-space:pre-wrap;word-wrap:break-word}.search-pro-result-item strong{color:var(--vp-tc)}.search-pro-result-item:hover,.search-pro-result-item.active{background-color:var(--vp-tcl);color:var(--white);cursor:pointer}.search-pro-result-item:hover .search-pro-result-type,.search-pro-result-item:hover .search-pro-remove-icon,.search-pro-result-item:hover strong,.search-pro-result-item.active .search-pro-result-type,.search-pro-result-item.active .search-pro-remove-icon,.search-pro-result-item.active strong{color:var(--white)} diff --git a/assets/subjective-down-2d7f88d6.png b/assets/subjective-down-2d7f88d6.png new file mode 100644 index 000000000..5d41847ba Binary files /dev/null and b/assets/subjective-down-2d7f88d6.png differ diff --git a/assets/template.html-3bd1d541.js b/assets/template.html-3bd1d541.js new file mode 100644 index 000000000..f34936d84 --- /dev/null +++ b/assets/template.html-3bd1d541.js @@ -0,0 +1 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{o as e,c as r,f as d}from"./app-f9d4ab81.js";const i={},h=d('- Readable - 可读操作。
\\n- Writable - 可写操作。
\\n- Duplex - 可读可写操作.
\\n- Transform - 操作被写入数据,然后读出结果。
\\n算法相关文档格式模版
题目链接
题目描述
思路
代码实现
File not found
',8),t=[h];function n(s,c){return e(),r("div",null,t)}const u=a(i,[["render",n],["__file","template.html.vue"]]);export{u as default}; diff --git a/assets/template.html-7e8db519.js b/assets/template.html-7e8db519.js new file mode 100644 index 000000000..b80591a07 --- /dev/null +++ b/assets/template.html-7e8db519.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-adce7ae8","path":"/manuscripts/solo-algorithm/template.html","title":"算法相关文档格式模版","lang":"en-US","frontmatter":{"description":"算法相关文档格式模版 题目链接 牛客网 欢迎讨论 题目描述 思路 代码实现 File not found","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/solo-algorithm/template.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"算法相关文档格式模版"}],["meta",{"property":"og:description","content":"算法相关文档格式模版 题目链接 牛客网 欢迎讨论 题目描述 思路 代码实现 File not found"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"算法相关文档格式模版\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"题目链接","slug":"题目链接","link":"#题目链接","children":[]},{"level":3,"title":"题目描述","slug":"题目描述","link":"#题目描述","children":[]},{"level":3,"title":"思路","slug":"思路","link":"#思路","children":[]},{"level":3,"title":"代码实现","slug":"代码实现","link":"#代码实现","children":[]},{"level":3,"title":"一些建议","slug":"一些建议","link":"#一些建议","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.24,"words":48},"filePathRelative":"manuscripts/solo-algorithm/template.md","localizedDate":"September 11, 2023","excerpt":" 一些建议
算法相关文档格式模版
\\n题目链接
\\n\\n题目描述
\\n思路
\\n代码实现
\\n","autoDesc":true}');export{e as data}; diff --git a/assets/template.html-843d97da.js b/assets/template.html-843d97da.js new file mode 100644 index 000000000..32b34720e --- /dev/null +++ b/assets/template.html-843d97da.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-19076523","path":"/manuscripts/solo-algorithm/interview-101/template.html","title":"算法相关文档格式模版","lang":"en-US","frontmatter":{"description":"算法相关文档格式模版 题目链接 牛客网 欢迎讨论 题目描述 思路 代码实现 /* function ListNode(x){ this.val = x; this.next = null; } */ function reverseList(pHead) { // write code here } module.exports = { reverseList }","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/solo-algorithm/interview-101/template.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"算法相关文档格式模版"}],["meta",{"property":"og:description","content":"算法相关文档格式模版 题目链接 牛客网 欢迎讨论 题目描述 思路 代码实现 /* function ListNode(x){ this.val = x; this.next = null; } */ function reverseList(pHead) { // write code here } module.exports = { reverseList }"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"算法相关文档格式模版\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"题目链接","slug":"题目链接","link":"#题目链接","children":[]},{"level":3,"title":"题目描述","slug":"题目描述","link":"#题目描述","children":[]},{"level":3,"title":"思路","slug":"思路","link":"#思路","children":[]},{"level":3,"title":"代码实现","slug":"代码实现","link":"#代码实现","children":[]},{"level":3,"title":"一些建议","slug":"一些建议","link":"#一些建议","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.2,"words":40},"filePathRelative":"manuscripts/solo-algorithm/interview-101/template.md","localizedDate":"September 11, 2023","excerpt":"File not found
算法相关文档格式模版
\\n题目链接
\\n\\n题目描述
\\n思路
\\n代码实现
\\n","autoDesc":true}');export{e as data}; diff --git a/assets/template.html-b216b9c4.js b/assets/template.html-b216b9c4.js new file mode 100644 index 000000000..443f67780 --- /dev/null +++ b/assets/template.html-b216b9c4.js @@ -0,0 +1,11 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{o as e,c as n,f as s}from"./app-f9d4ab81.js";const i={},t=s(`/* function ListNode(x){\\n this.val = x;\\n this.next = null;\\n} */\\nfunction reverseList(pHead) {\\n // write code here\\n}\\nmodule.exports = {\\n reverseList\\n}\\n
算法相关文档格式模版
题目链接
题目描述
思路
代码实现
/* function ListNode(x){ + this.val = x; + this.next = null; +} */ +function reverseList(pHead) { + // write code here +} +module.exports = { + reverseList +} +
`,8),r=[t];function c(d,l){return e(),n("div",null,r)}const h=a(i,[["render",c],["__file","template.html.vue"]]);export{h as default}; diff --git a/assets/test.html-042b0f13.js b/assets/test.html-042b0f13.js new file mode 100644 index 000000000..e1116d639 --- /dev/null +++ b/assets/test.html-042b0f13.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-bd34682e","path":"/manuscripts/server-end/database/mysql/test.html","title":"","lang":"en-US","frontmatter":{"description":"MySQL整理 参考:https://juejin.cn/post/6850037271233331208#comment sql解析:https://juejin.cn/post/6850037271233331208#heading-52 基础架构 由外向里,逐步深入 连接层:完成一些类似于连接处理、授权认证、及相关的安全方案,引入了线程池的概念 服务层:完成大部分的核心服务功能, 包括查询解析、分析、优化、缓存、以及所有的内置函数,所有跨存储引擎的功能也都在这一层实现,包括触发器、存储过程、视图等 引擎层:存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信 存储层:将数据存储在运行于该设备的文件系统之上,并完成与存储引擎的交互","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/server-end/database/mysql/test.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:description","content":"MySQL整理 参考:https://juejin.cn/post/6850037271233331208#comment sql解析:https://juejin.cn/post/6850037271233331208#heading-52 基础架构 由外向里,逐步深入 连接层:完成一些类似于连接处理、授权认证、及相关的安全方案,引入了线程池的概念 服务层:完成大部分的核心服务功能, 包括查询解析、分析、优化、缓存、以及所有的内置函数,所有跨存储引擎的功能也都在这一层实现,包括触发器、存储过程、视图等 引擎层:存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信 存储层:将数据存储在运行于该设备的文件系统之上,并完成与存储引擎的交互"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"MySQL整理","slug":"mysql整理","link":"#mysql整理","children":[{"level":3,"title":"基础架构","slug":"基础架构","link":"#基础架构","children":[]},{"level":3,"title":"存储引擎","slug":"存储引擎","link":"#存储引擎","children":[{"level":4,"title":"查看存储引擎","slug":"查看存储引擎","link":"#查看存储引擎","children":[]}]},{"level":3,"title":"数据类型","slug":"数据类型","link":"#数据类型","children":[]},{"level":3,"title":"索引(单独重点来)","slug":"索引-单独重点来","link":"#索引-单独重点来","children":[]},{"level":3,"title":"事务","slug":"事务","link":"#事务","children":[{"level":4,"title":"基本要素(ACID)","slug":"基本要素-acid","link":"#基本要素-acid","children":[]}]},{"level":3,"title":"事务隔离级别","slug":"事务隔离级别","link":"#事务隔离级别","children":[{"level":4,"title":"MVCC 多版本并发控制","slug":"mvcc-多版本并发控制","link":"#mvcc-多版本并发控制","children":[]}]},{"level":3,"title":"事务的实现","slug":"事务的实现","link":"#事务的实现","children":[]},{"level":3,"title":"MySQL锁机制","slug":"mysql锁机制","link":"#mysql锁机制","children":[{"level":4,"title":"锁的分类","slug":"锁的分类","link":"#锁的分类","children":[]}]},{"level":3,"title":"MyISAM 表锁","slug":"myisam-表锁","link":"#myisam-表锁","children":[]},{"level":3,"title":"InnoDB 行锁","slug":"innodb-行锁","link":"#innodb-行锁","children":[{"level":4,"title":"加锁机制","slug":"加锁机制","link":"#加锁机制","children":[]},{"level":4,"title":"锁模式(InnoDB有三种行锁的算法)","slug":"锁模式-innodb有三种行锁的算法","link":"#锁模式-innodb有三种行锁的算法","children":[]},{"level":4,"title":"死锁","slug":"死锁","link":"#死锁","children":[]}]},{"level":3,"title":"MySQL分区","slug":"mysql分区","link":"#mysql分区","children":[]},{"level":3,"title":"MySQL分表","slug":"mysql分表","link":"#mysql分表","children":[]},{"level":3,"title":"MySQL分库","slug":"mysql分库","link":"#mysql分库","children":[]},{"level":3,"title":"主从复制","slug":"主从复制","link":"#主从复制","children":[{"level":4,"title":"复制的基本原则","slug":"复制的基本原则","link":"#复制的基本原则","children":[]}]},{"level":3,"title":"三个范式","slug":"三个范式","link":"#三个范式","children":[]},{"level":3,"title":"百万级别或以上的数据如何删除","slug":"百万级别或以上的数据如何删除","link":"#百万级别或以上的数据如何删除","children":[]}]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":42.46,"words":8492},"filePathRelative":"manuscripts/server-end/database/mysql/test.md","localizedDate":"September 11, 2023","excerpt":" 一些建议
MySQL整理
\\n\\n\\n参考:https://juejin.cn/post/6850037271233331208#comment
\\nsql解析:https://juejin.cn/post/6850037271233331208#heading-52
\\n基础架构
\\n\\n\\n由外向里,逐步深入
\\n\\n
","autoDesc":true}');export{e as data}; diff --git a/assets/test.html-71947536.js b/assets/test.html-71947536.js new file mode 100644 index 000000000..1386d9dcb --- /dev/null +++ b/assets/test.html-71947536.js @@ -0,0 +1,34 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{o,c as t,f as i}from"./app-f9d4ab81.js";const r={},l=i(`- 连接层:完成一些类似于连接处理、授权认证、及相关的安全方案,引入了线程池的概念
\\n- 服务层:完成大部分的核心服务功能, 包括查询解析、分析、优化、缓存、以及所有的内置函数,所有跨存储引擎的功能也都在这一层实现,包括触发器、存储过程、视图等
\\n- 引擎层:存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信
\\n- 存储层:将数据存储在运行于该设备的文件系统之上,并完成与存储引擎的交互
\\nMySQL整理
参考:https://juejin.cn/post/6850037271233331208#comment
sql解析:https://juejin.cn/post/6850037271233331208#heading-52
基础架构
由外向里,逐步深入
- 连接层:完成一些类似于连接处理、授权认证、及相关的安全方案,引入了线程池的概念
- 服务层:完成大部分的核心服务功能, 包括查询解析、分析、优化、缓存、以及所有的内置函数,所有跨存储引擎的功能也都在这一层实现,包括触发器、存储过程、视图等
- 引擎层:存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信
- 存储层:将数据存储在运行于该设备的文件系统之上,并完成与存储引擎的交互
存储引擎
- InnoDB 【MySQL 默认的存储引擎,支持事务、行级锁定和外键】
- MyISAM【不支持事务,不支持外键】
- Memory
- NDB
- ......
不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能
一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能
查看存储引擎
-- 查看支持的存储引擎 +SHOW ENGINES + +-- 查看默认存储引擎 +SHOW VARIABLES LIKE 'storage_engine' + +--查看具体某一个表所使用的存储引擎,这个默认存储引擎被修改了! +show create table tablename + +--准确查看某个数据库中的某一表所使用的存储引擎 +show table status like 'tablename' +show table status from database where name="tablename" +
InnoDB 是聚簇索引,MyISAM 是非聚簇索引。聚簇索引的文件存放在主键索引的叶子节点上,因此 InnoDB 必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,其他索引也都会很大。而 MyISAM 是非聚集索引,数据文件是分离的,索引保存的是数据文件的指针。主键索引和辅助索引是独立的。
- MyISAM表会把自增主键的最大ID 记录到数据文件中,重启MySQL自增主键的最大ID也不会丢失
- InnoDB 表只是把自增主键的最大ID记录到内存中,所以重启数据库或对表进行OPTION操作,都会导致最大ID丢失。
数据类型
- 整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
- 浮点数类型:FLOAT、DOUBLE、DECIMAL
- 字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
- 日期类型:Date、DateTime、TimeStamp、Time、Year
- 其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等
BLOB和TEXT有什么区别? 字符串类型是:SET、BLOB、ENUM、CHAR、TEXT、VARCHAR
- BLOB是一个二进制对象,可以容纳可变数量的数据。有四种类型的BLOB:TINYBLOB、BLOB、MEDIUMBLO和 LONGBLOB
- TEXT是一个不区分大小写的BLOB。四种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。
- BLOB 保存二进制数据,TEXT 保存字符数据。
索引(单独重点来)
索引(Index)是帮助MySQL高效获取数据的数据结构,所以说索引的本质是:数据结构
索引本身也很大,不可能全部存储在内存中,一般以索引文件的形式存储在磁盘上
优点
- 提高数据检索效率,降低数据库IO成本
- 降低数据排序的成本,降低CPU的消耗
缺点
- 索引也是一张表,保存了主键和索引字段,并指向实体表的记录,所以也需要占用内存
- 虽然索引大大提高了查询速度,同时却会降低更新表的速度,【更新表的时候需要更新索引】
事务
主要用于处理操作量大,复杂度高的数据
基本要素(ACID)
- A (Atomicity) 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样
- C (Consistency) 一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏
- I (Isolation)隔离性:一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰【加锁实现】
- D (Durability) 持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚
并发事务处理带来的问题
- 更新丢失(Lost Update): 事务A和事务B选择同一行,然后基于最初选定的值更新该行时,由于两个事务都不知道彼此的存在,就会发生丢失更新问题
- 脏读(Dirty Reads):事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据
- 不可重复读(Non-Repeatable Reads):事务 A 多次读取同一数据,事务B在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果不一致。
- 幻读(Phantom Reads):幻读与不可重复读类似。它发生在一个事务A读取了几行数据,接着另一个并发事务B插入了一些数据时。在随后的查询中,事务A就会发现多了一些原本不存在的记录,就好像发生了幻觉一样,所以称为幻读。
幻读和不可重复读的区别:
- 不可重复读的重点是修改:在同一事务中,同样的条件,第一次读的数据和第二次读的数据不一样。(因为中间有其他事务提交了修改)
- 幻读的重点在于新增或者删除:在同一事务中,同样的条件,第一次和第二次读出来的记录数不一样。(因为中间有其他事务提交了插入/删除)
并发事务处理带来的问题的解决办法:
- “更新丢失”通常是应该完全避免的。但防止更新丢失,并不能单靠数据库事务控制器来解决,需要应用程序对要更新的数据加必要的锁来解决,因此,防止更新丢失应该是应用的责任。
- “脏读” 、 “不可重复读”和“幻读” ,其实都是数据库读一致性问题,必须由数据库提供一定的事务隔离机制来解决:
- 一种是加锁:在读取数据前,对其加锁,阻止其他事务对数据进行修改。
- 另一种是数据多版本并发控制(MultiVersion Concurrency Control,简称 MVCC 或 MCC),也称为多版本数据库:不用加任何锁, 通过一定机制生成一个数据请求时间点的一致性数据快照 (Snapshot), 并用这个快照来提供一定级别 (语句级或事务级) 的一致性读取。从用户的角度来看,好象是数据库可以提供同一数据的多个版本。
事务隔离级别
数据库事务的隔离级别有4种,由低到高分别为
- READ-UNCOMMITTED(读未提交): 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。
- READ-COMMITTED(读已提交): 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。
- REPEATABLE-READ(可重复读): 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。
- SERIALIZABLE(可串行化): 最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。
简单来说,Serializable可串行化会在读取的每一行数据上都加锁,所以可能导致大量的超时和锁争用问题。这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。
数据库的事务隔离越严格,并发副作用越小,但付出的代价就越大,并发性就越差,因为事务隔离实质上就是使事务在一定程度上“串行化”进行,这显然与“并发”是矛盾的
MySQL InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ(可重读)。我们可以通过
SELECT @@tx_isolation;
命令来查看,MySQL 8.0 该命令改为SELECT @@transaction_isolation;
与 SQL 标准不同的地方在于InnoDB 存储引擎在 **REPEATABLE-READ(可重读)**事务隔离级别下使用的是
Next-Key Lock
算法,因此可以避免幻读的产生,这与其他数据库系统(如 SQL Server)是不同的。所以说InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ(可重读)已经可以完全保证事务的隔离性要求,即达到了 SQL标准的 SERIALIZABLE(可串行化)隔离级别,而且保留了比较好的并发性能。数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性。InnoDB是一个支持行锁的存储引擎,锁的类型有:
- 共享锁(S)
- 排他锁(X)
- 意向共享(IS)
- 意向排他(IX)
对应行锁的三种算法:
- Record Lock:单个行记录上的锁。
- Gap Lock:间隙锁,锁定一个范围,但不包括记录本身。GAP锁的目的,是为了防止同一事务的两次当前读,出现幻读的情况。
- Next-Key Lock:1+2,锁定一个范围,并且锁定记录本身。对于行的查询,都是采用该方法,主要目的是解决幻读的问题。
为了提供更好的并发,InnoDB提供了非锁定读:不需要等待访问行上的锁释放,读取行的一个快照。该方法是通过InnoDB的一个特性:MVCC来实现的。
MVCC 多版本并发控制
- 乐观(optimistic)并发控制
- 悲观(pressimistic)并发控制
MVCC 是行级锁的一个变种,但它在很多情况下避免了加锁操作,因此开销更低。虽然实现机制有所不同,但大都实现了非阻塞的读操作,写操作也只是锁定必要的行
MVCC 的实现是通过保存数据在某个时间点的快照来实现的。也就是说不管需要执行多长时间,每个事物看到的数据都是一致的。
InnoDB 的 MVCC,是通过在每行记录后面保存两个隐藏的列来实现。这两个列,一个保存了行的创建时间,一个保存行的过期时间(删除时间)。当然存储的并不是真实的时间,而是系统版本号(system version number)。每开始一个新的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较。
保存这两个额外系统版本号,使大多数操作都不用加锁。使数据操作简单,性能很好,并且也能保证只会读取到符合要求的行。不足之处是每行记录都需要额外的存储空间,需要做更多的行检查工作和一些额外的维护工作。
MVCC 只在 COMMITTED READ(读提交)和REPEATABLE READ(可重复读)两种隔离级别下工作。
事务的实现
事务的实现就是如何实现ACID特性
MySQL 中支持事务的存储引擎有 InnoDB 和 NDB
事务的隔离性是通过锁实现,而事务的原子性、一致性和持久性则是通过事务日志实现
- redo log(重做日志) 实现持久化和原子性
- undo log(回滚日志) 实现一致性
MySQL日志分类
参考:https://www.cnblogs.com/myseries/p/10728533.html
- 错误日志:记录出错信息,也记录一些警告信息或者正确的信息。
- 查询日志:记录所有对数据库请求的信息,不论这些请求是否得到了正确的执行。
- 慢查询日志:设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询的日志文件中。
- 二进制日志:记录对数据库执行更改的所有操作。
- 中继日志:中继日志也是二进制日志,用来给slave 库恢复
- 事务日志:重做日志redo和回滚日志undo 【redo和undo都属于处理事务的日志类型】
事务日志均可以视为一种恢复操作,redo_log是恢复提交事务修改的页操作,而undo_log是回滚行记录到特定版本;redo_log是物理日志,记录页的物理修改操作,而undo_log是逻辑日志
redo 重做日志 【实现持久性和一致性】 + 作用:确保事务的持久性,防止在发生故障,脏页未写入磁盘。重启数据库会进行redo log执行重做,到达事务一致性 + +undo 回滚日志 【实现原子性】 + 作用:保证数据的原子性,记录事务发生之前的数据的一个版本,用于回滚。 + innodb事务的可重复读和读取已提交 隔离级别就是通过mvcc+undo实现 + +errorlog 错误日志 + 作用:Mysql本身启动、停止、运行期间发生的错误信息 + +slow query log 慢查询日志 + 作用:记录执行时间过长的sql,时间阈值可以配置,只记录执行成功 + +binlog 二进制日志 + 作用:用于主从复制,实现主从同步 + +relay log 中继日志 + 作用:用于数据库主从同步,将主库发送来的binlog先保存在本地,然后从库进行回放 + +general log 普通日志 + 作用:记录数据库操作明细,默认关闭,开启会降低数据库性能 +
MySQL锁机制
锁是计算机协调多个进程或线程并发访问某一资源的机制,是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则
锁的分类
从对数据操作的类型分类:
- 读锁(共享锁):针对同一份数据,多个读操作可以同时进行,不会互相影响
- 写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁
从对数据操作的粒度分类:
为了尽可能提高数据库的并发度,每次锁定的数据范围越小越好,但需要在高并发响应和系统性能两方面进行平衡
表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低(MyISAM 和 MEMORY 存储引擎采用的是表级锁);
行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高(InnoDB 存储引擎既支持行级锁也支持表级锁,但默认情况下是采用行级锁);
页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
适用:从锁的角度来说,表级锁更适合于以查询为主,只有少量按索引条件更新数据的应用
而行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有并发查询的应用
存储引擎 行锁 表锁 页锁 MyISAM √ BDB √ √ InnoDB √ √ Memory √ MyISAM 表锁
MyISAM 的表锁有两种模式:
- 表共享读锁 (Table Read Lock):不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求;
- 表独占写锁 (Table Write Lock):会阻塞其他用户对同一表的读和写操作;
MyISAM 表的读操作与写操作之间,以及写操作之间是串行的。当一个线程获得对一个表的写锁后, 只有持有锁的线程可以对表进行更新操作。 其他线程的读、 写操作都会等待,直到锁被释放为止。
默认情况下,写锁比读锁具有更高的优先级:当一个锁释放时,这个锁会优先给写锁队列中等候的获取锁请求,然后再给读锁队列中等候的获取锁请求。
InnoDB 行锁
InnoDB 实现了以下两种类型的行锁:
- 共享锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。
- 排他锁(X):允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁和排他写锁。
为了允许行锁和表锁共存,实现多粒度锁机制,InnoDB 还有两种内部使用的意向锁(Intention Locks),这两种意向锁都是表锁:
- 意向共享锁(IS):事务打算给数据行加行共享锁,事务在给一个数据行加共享锁前必须先取得该表的 IS 锁。
- 意向排他锁(IX):事务打算给数据行加行排他锁,事务在给一个数据行加排他锁前必须先取得该表的 IX 锁。
索引失效会导致行锁变表锁。比如 vchar 查询不写单引号的情况。
加锁机制
乐观锁与悲观锁是两种并发控制的思想,可用于解决丢失更新问题
乐观锁会“乐观地”假定大概率不会发生并发更新冲突,访问、处理数据过程中不加锁,只在更新数据时再根据版本号或时间戳判断是否有冲突,有则处理,无则提交事务。用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式
悲观锁会“悲观地”假定大概率会发生并发更新冲突,访问、处理数据前就加排他锁,在整个数据处理过程中锁定数据,事务提交或回滚后才释放锁。另外与乐观锁相对应的,悲观锁是由数据库自己实现了的,要用的时候,我们直接调用数据库的相关语句就可以了。
锁模式(InnoDB有三种行锁的算法)
- 记录锁(Record Locks)
- 间隙锁(Gap Locks)
- 临键锁(Next-key Locks)【解决幻读问题】
记录锁(Record Locks): 单个行记录上的锁。对索引项加锁,锁定符合条件的行。其他事务不能修改和删除加锁项;
间隙锁(Gap Locks): 当我们使用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁。对于键值在条件范围内但并不存在的记录,叫做“间隙”。
InnoDB 也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁。
对索引项之间的“间隙”加锁,锁定记录的范围(对第一条记录前的间隙或最后一条将记录后的间隙加锁),不包含索引项本身。其他事务不能在锁范围内插入数据,这样就防止了别的事务新增幻影行。
间隙锁基于非唯一索引,它锁定一段范围内的索引记录。间隙锁基于下面将会提到的
Next-Key Locking
算法,请务必牢记:使用间隙锁锁住的是一个区间,而不仅仅是这个区间中的每一条数据。GAP锁的目的,是为了防止同一事务的两次当前读,出现幻读的情况
临键锁(Next-key Locks): 临键锁,是记录锁与间隙锁的组合,它的封锁范围,既包含索引记录,又包含索引区间。(临键锁的主要目的,也是为了避免幻读(Phantom Read)。如果把事务的隔离级别降级为RC,临键锁则也会失效。)
Next-Key 可以理解为一种特殊的间隙锁,也可以理解为一种特殊的算法。【通过临建锁可以解决幻读的问题】。 每个数据行上的非唯一索引列上都会存在一把临键锁,当某个事务持有该数据行的临键锁时,会锁住一段左开右闭区间的数据。
需要强调的一点是,
InnoDB
中行级锁是基于索引实现的,临键锁只与非唯一索引列有关,在唯一索引列(包括主键列)上不存在临键锁。
- 对于行的查询,都是采用该方法,主要目的是解决幻读的问题。
select for update有什么含义,会锁表还是锁行还是其他
for update 仅适用于InnoDB,且必须在事务块(BEGIN/COMMIT)中才能生效。在进行事务操作时,通过“for update”语句,MySQL会对查询结果集中每行数据都添加排他锁,其他线程对该记录的更新与删除操作都会阻塞。排他锁包含行锁、表锁。
InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁!
死锁
死锁产生:
- 死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方占用的资源,从而导致恶性循环
- 当事务试图以不同的顺序锁定资源时,就可能产生死锁。多个事务同时锁定同一个资源时也可能会产生死锁
- 锁的行为和顺序和存储引擎相关。以同样的顺序执行语句,有些存储引擎会产生死锁有些不会——死锁有双重原因:真正的数据冲突;存储引擎的实现方式。
检测死锁:数据库系统实现了各种死锁检测和死锁超时的机制。InnoDB存储引擎能检测到死锁的循环依赖并立即返回一个错误。
死锁恢复:死锁发生以后,只有部分或完全回滚其中一个事务,才能打破死锁,InnoDB目前处理死锁的方法是,将持有最少行级排他锁的事务进行回滚。所以事务型应用程序在设计时必须考虑如何处理死锁,多数情况下只需要重新执行因死锁回滚的事务即可。
外部锁的死锁检测:发生死锁后,InnoDB 一般都能自动检测到,并使一个事务释放锁并回退,另一个事务获得锁,继续完成事务。但在涉及外部锁,或涉及表锁的情况下,InnoDB 并不能完全自动检测到死锁, 这需要通过设置锁等待超时参数 innodb_lock_wait_timeout 来解决
死锁影响性能:死锁会影响性能而不是会产生严重错误,因为InnoDB会自动检测死锁状况并回滚其中一个受影响的事务。在高并发系统上,当许多线程等待同一个锁时,死锁检测可能导致速度变慢。 有时当发生死锁时,禁用死锁检测(使用innodb_deadlock_detect配置选项)可能会更有效,这时可以依赖
innodb_lock_wait_timeout
设置进行事务回滚。MyISAM避免死锁:
- 在自动加锁的情况下,MyISAM 总是一次获得 SQL 语句所需要的全部锁,所以 MyISAM 表不会出现死锁。
InnoDB避免死锁:
- 为了在单个InnoDB表上执行多个并发写入操作时避免死锁,可以在事务开始时通过为预期要修改的每个元祖(行)使用
SELECT ... FOR UPDATE
语句来获取必要的锁,即使这些行的更改语句是在之后才执行的。- 在事务中,如果要更新记录,应该直接申请足够级别的锁,即排他锁,而不应先申请共享锁、更新时再申请排他锁,因为这时候当用户再申请排他锁时,其他事务可能又已经获得了相同记录的共享锁,从而造成锁冲突,甚至死锁
- 如果事务需要修改或锁定多个表,则应在每个事务中以相同的顺序使用加锁语句。 在应用中,如果不同的程序会并发存取多个表,应尽量约定以相同的顺序来访问表,这样可以大大降低产生死锁的机会
- 通过
SELECT ... LOCK IN SHARE MODE
获取行的读锁后,如果当前事务再需要对该记录进行更新操作,则很有可能造成死锁。- 改变事务隔离级别
如果出现死锁,可以用
show engine innodb status;
命令来确定最后一个死锁产生的原因。返回结果中包括死锁相关事务的详细信息,如引发死锁的 SQL 语句,事务已经获得的锁,正在等待什么锁,以及被回滚的事务等。据此可以分析死锁产生的原因和改进措施。MySQL分区
一般情况下我们创建的表对应一组存储文件,使用
MyISAM
存储引擎时是一个.MYI
和.MYD
文件,使用Innodb
存储引擎时是一个.ibd
和.frm
(表结构)文件。当数据量较大时(一般千万条记录级别以上),MySQL的性能就会开始下降,这时我们就需要将数据分散到多组存储文件,保证其单个文件的执行效率
分区类型及操作
- pange分区
- list分区
- hash分区
- key分区
RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。mysql将会根据指定的拆分策略,,把数据放在不同的表文件上。相当于在文件上,被拆成了小块.但是,对外给客户的感觉还是一张表,透明的。
按照 range 来分,就是每个库一段连续的数据,这个一般是按比如时间范围来的,比如交易表啊,销售表啊等,可以根据年月来存放数据。可能会产生热点问题,大量的流量都打在最新的数据上了。
range 来分,好处在于说,扩容的时候很简单。
LIST分区:类似于按RANGE分区,每个分区必须明确定义。它们的主要区别在于,LIST分区中每个分区的定义和选择是基于某列的值从属于一个值列表集中的一个值,而RANGE分区是从属于一个连续区间值的集合。
HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。
hash 分发,好处在于说,可以平均分配每个库的数据量和请求压力;坏处在于说扩容起来比较麻烦,会有一个数据迁移的过程,之前的数据需要重新计算 hash 值重新分配到不同的库或表
KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数。必须有一列或多列包含整数值。
MySQL分表
垂直拆分
垂直分表,通常是按照业务功能的使用频次,把主要的、热门的字段放在一起做为主要表。然后把不常用的,按照各自的业务属性进行聚集,拆分到不同的次要表中;主要表和次要表的关系一般都是一对一的。【一般是用主键作为约束】
水平拆分(数据分片)
单表的容量不超过500W,否则建议水平拆分。是把一个表复制成同样表结构的不同表,然后把数据按照一定的规则划分,分别存储到这些表中,从而保证单表的容量不会太大,提升性能;当然这些结构一样的表,可以放在一个或多个数据库中。
水平分割的几种方法:
- 使用MD5哈希,做法是对UID进行md5加密,然后取前几位(我们这里取前两位),然后就可以将不同的UID哈希到不同的用户表(user_xx)中了。
- 还可根据时间放入不同的表,比如:article_201601,article_201602。
- 按热度拆分,高点击率的词条生成各自的一张表,低热度的词条都放在一张大表里,待低热度的词条达到一定的贴数后,再把低热度的表单独拆分成一张表。
- 根据ID的值放入对应的表,第一个表user_0000,第二个100万的用户数据放在第二 个表user_0001中,随用户增加,直接添加用户表就行了。
MySQL分库
为什么要分库?
数据库集群环境后都是多台 slave,基本满足了读取操作; 但是写入或者说大数据、频繁的写入操作对master性能影响就比较大,这个时候,单库并不能解决大规模并发写入的问题,所以就会考虑分库。
分库是什么?
一个库里表太多了,导致了海量数据,系统性能下降,把原本存储于一个库的表拆分存储到多个库上, 通常是将表按照功能模块、关系密切程度划分出来,部署到不同库上。
优点:
- 减少增量数据写入时的锁对查询的影响
- 由于单表数量下降,常见的查询操作由于减少了需要扫描的记录,使得单表单次查询所需的检索行数变少,减少了磁盘IO,时延变短
微服务下,数据库本来就是分库的
主从复制
master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;
salve 将 master 的 binary log events 拷贝到它的中继日志(relay log);
slave 重做中继日志中的事件,将改变应用到自己的数据库中。MySQL 复制是异步且是串行化的。
复制的基本原则
- 每个 slave只有一个 master
- 每个 salve只能有一个唯一的服务器 ID【mysql_id唯一性】
- 每个master可以有多个salve
三个范式
- 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。
- 第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。
- 第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如 果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系: 关键字段 → 非关键字段 x → 非关键字段y
百万级别或以上的数据如何删除
关于索引:由于索引需要额外的维护成本,因为索引文件是单独存在的文件,所以当我们对数据的增加,修改,删除,都会产生额外的对索引文件的操作,这些操作需要消耗额外的IO,会降低增/改/删的执行效率。所以,在我们删除数据库百万级别数据的时候,查询MySQL官方手册得知删除数据的速度和创建的索引数量是成正比的。
- 所以我们想要删除百万数据的时候可以先删除索引(此时大概耗时三分多钟)
- 然后删除其中无用数据(此过程需要不到两分钟)
- 删除完成后重新创建索引(此时数据较少了)创建索引也非常快,约十分钟左右。
- 与之前的直接删除绝对是要快速很多,更别说万一删除中断,一切删除会回滚。那更是坑了
先删除索引--->再删除无用数据----> 对留下来的数据重新简历索引,避免索引丢失
`,154),s=[l];function e(a,d){return o(),t("div",null,s)}const p=n(r,[["render",e],["__file","test.html.vue"]]);export{p as default}; diff --git a/assets/todo-list.html-2d9c897a.js b/assets/todo-list.html-2d9c897a.js new file mode 100644 index 000000000..802b5dd22 --- /dev/null +++ b/assets/todo-list.html-2d9c897a.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c as s,f as a}from"./app-f9d4ab81.js";const l={},i=a('文章更新
新功能
',3),c=[i];function d(o,r){return t(),s("div",null,c)}const n=e(l,[["render",d],["__file","todo-list.html.vue"]]);export{n as default}; diff --git a/assets/todo-list.html-3bd9a2db.js b/assets/todo-list.html-3bd9a2db.js new file mode 100644 index 000000000..cf603d3e6 --- /dev/null +++ b/assets/todo-list.html-3bd9a2db.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-3651bc8e","path":"/manuscripts/other/todo-list.html","title":"Todo计划","lang":"en-US","frontmatter":{"title":"Todo计划","description":"文章更新 新功能 仓库支持Eslint自动化校验 脚本优化,支持CI钩子 支持Vercel平台部署","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/other/todo-list.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"Todo计划"}],["meta",{"property":"og:description","content":"文章更新 新功能 仓库支持Eslint自动化校验 脚本优化,支持CI钩子 支持Vercel平台部署"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Todo计划\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"文章更新","slug":"文章更新","link":"#文章更新","children":[]},{"level":3,"title":"新功能","slug":"新功能","link":"#新功能","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.27,"words":54},"filePathRelative":"manuscripts/other/todo-list.md","localizedDate":"September 11, 2023","excerpt":"
文章更新
\\n新功能
\\n\\n\\n\\n\\n
","autoDesc":true}');export{t as data}; diff --git a/assets/turboRepo.html-127ebbda.js b/assets/turboRepo.html-127ebbda.js new file mode 100644 index 000000000..2716979b1 --- /dev/null +++ b/assets/turboRepo.html-127ebbda.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{r as n,o as r,c as i,a as e,b as a,d as c,f as l}from"./app-f9d4ab81.js";const d={},s=l('
turbo
支持在yarn
和npm
上使用,但在使用pnpm
目前支持:
- macOS darwin 64-bit (Intel), ARM 64-bit (Apple Silicon)
- Linux 64-bit, ARM 64-bit
- Windows 64-bit, ARM 64-bit
安装
参考资料
',4),p={href:"https://turbo.build/repo/docs/installing",target:"_blank",rel:"noopener noreferrer"};function u(_,b){const o=n("ExternalLinkIcon");return r(),i("div",null,[s,e("ul",null,[e("li",null,[e("a",p,[a("https://turbo.build/repo/docs/installing"),c(o)])])])])}const f=t(d,[["render",u],["__file","turboRepo.html.vue"]]);export{f as default}; diff --git a/assets/turboRepo.html-53f48e8c.js b/assets/turboRepo.html-53f48e8c.js new file mode 100644 index 000000000..88d101a19 --- /dev/null +++ b/assets/turboRepo.html-53f48e8c.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-8e4a794c","path":"/manuscripts/develop-skill/monorepo/turboRepo.html","title":"TurboRepo","lang":"en-US","frontmatter":{"title":"TurboRepo","description":"turbo支持在yarn和npm上使用,但在使用pnpm目前支持: macOS darwin 64-bit (Intel), ARM 64-bit (Apple Silicon) Linux 64-bit, ARM 64-bit Windows 64-bit, ARM 64-bit 安装 参考资料 https://turbo.build/repo/docs/installing","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/develop-skill/monorepo/turboRepo.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"TurboRepo"}],["meta",{"property":"og:description","content":"turbo支持在yarn和npm上使用,但在使用pnpm目前支持: macOS darwin 64-bit (Intel), ARM 64-bit (Apple Silicon) Linux 64-bit, ARM 64-bit Windows 64-bit, ARM 64-bit 安装 参考资料 https://turbo.build/repo/docs/installing"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"TurboRepo\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"安装","slug":"安装","link":"#安装","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.26,"words":51},"filePathRelative":"manuscripts/develop-skill/monorepo/turboRepo.md","localizedDate":"September 11, 2023","excerpt":"\\n
turbo
支持在yarn
和npm
上使用,但在使用pnpm
目前支持:\\n
\\n- macOS darwin 64-bit (Intel), ARM 64-bit (Apple Silicon)
\\n- Linux 64-bit, ARM 64-bit
\\n- Windows 64-bit, ARM 64-bit
\\n安装
\\n参考资料
\\n","autoDesc":true}');export{t as data}; diff --git a/assets/typeorm.html-75f4e461.js b/assets/typeorm.html-75f4e461.js new file mode 100644 index 000000000..4e8b5bbd6 --- /dev/null +++ b/assets/typeorm.html-75f4e461.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as r,c as o,a as e,b as a}from"./app-f9d4ab81.js";const c={},s=e("h1",{id:"typeorm",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#typeorm","aria-hidden":"true"},"#"),a(" TypeOrm")],-1),n=[s];function _(d,m){return r(),o("div",null,n)}const l=t(c,[["render",_],["__file","typeorm.html.vue"]]);export{l as default}; diff --git a/assets/typeorm.html-e805c1de.js b/assets/typeorm.html-e805c1de.js new file mode 100644 index 000000000..4c570b006 --- /dev/null +++ b/assets/typeorm.html-e805c1de.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-4ba91591","path":"/manuscripts/server-end/orm/typeorm.html","title":"TypeOrm","lang":"en-US","frontmatter":{"description":"TypeOrm","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/server-end/orm/typeorm.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"TypeOrm"}],["meta",{"property":"og:description","content":"TypeOrm"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"TypeOrm\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.01,"words":1},"filePathRelative":"manuscripts/server-end/orm/typeorm.md","localizedDate":"September 11, 2023","excerpt":"TypeOrm
\\n","autoDesc":true}');export{e as data}; diff --git a/assets/upic.html-151b0c95.js b/assets/upic.html-151b0c95.js new file mode 100644 index 000000000..1feb36ceb --- /dev/null +++ b/assets/upic.html-151b0c95.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as c,c as t}from"./app-f9d4ab81.js";const o={};function r(_,n){return c(),t("div")}const f=e(o,[["render",r],["__file","upic.html.vue"]]);export{f as default}; diff --git a/assets/upic.html-89a87a34.js b/assets/upic.html-89a87a34.js new file mode 100644 index 000000000..bb96d7cae --- /dev/null +++ b/assets/upic.html-89a87a34.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-89bd2e5a","path":"/manuscripts/develop-skill/software-install/upic.html","title":"","lang":"en-US","frontmatter":{"description":"","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/develop-skill/software-install/upic.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0,"words":0},"filePathRelative":"manuscripts/develop-skill/software-install/upic.md","localizedDate":"September 11, 2023","excerpt":"","autoDesc":true}');export{e as data}; diff --git a/assets/use-rule.html-621c4fd3.js b/assets/use-rule.html-621c4fd3.js new file mode 100644 index 000000000..9d18b47df --- /dev/null +++ b/assets/use-rule.html-621c4fd3.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-5dac4b12","path":"/manuscripts/server-end/database/redis/use-rule.html","title":"使用规范","lang":"en-US","frontmatter":{"description":"使用规范 在项目中,redis属于高频使用,遇到了各种各样的redis问题,针对自身情况梳理了一个redis使用规范。 Key的设计 禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符) 建议风格一致 建议同时大驼峰、同时小驼峰或者下划线;是项目级别的统一 key不能太长也不能太短,键名越长越占资源,太短可读性太差 key 单词与单词之间以冒号 :分开。市面上的redis可视化工具,:比较容易进行下级选择 redis使用的时候注意命名空间,一个项目一个命名空间,项目内业务不同命名空间也不同。","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/server-end/database/redis/use-rule.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"使用规范"}],["meta",{"property":"og:description","content":"使用规范 在项目中,redis属于高频使用,遇到了各种各样的redis问题,针对自身情况梳理了一个redis使用规范。 Key的设计 禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符) 建议风格一致 建议同时大驼峰、同时小驼峰或者下划线;是项目级别的统一 key不能太长也不能太短,键名越长越占资源,太短可读性太差 key 单词与单词之间以冒号 :分开。市面上的redis可视化工具,:比较容易进行下级选择 redis使用的时候注意命名空间,一个项目一个命名空间,项目内业务不同命名空间也不同。"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"使用规范\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"Key的设计","slug":"key的设计","link":"#key的设计","children":[]},{"level":3,"title":"value设计","slug":"value设计","link":"#value设计","children":[{"level":4,"title":"数据按需存储","slug":"数据按需存储","link":"#数据按需存储","children":[]}]},{"level":3,"title":"命令使用","slug":"命令使用","link":"#命令使用","children":[]},{"level":3,"title":"项目实战","slug":"项目实战","link":"#项目实战","children":[{"level":4,"title":"查询使用","slug":"查询使用","link":"#查询使用","children":[]}]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":5.24,"words":1047},"filePathRelative":"manuscripts/server-end/database/redis/use-rule.md","localizedDate":"September 11, 2023","excerpt":"使用规范
\\n在项目中,redis属于高频使用,遇到了各种各样的redis问题,针对自身情况梳理了一个redis使用规范。
\\nKey的设计
\\n\\n
","autoDesc":true}');export{e as data}; diff --git a/assets/use-rule.html-c8cdeffb.js b/assets/use-rule.html-c8cdeffb.js new file mode 100644 index 000000000..8b9cfabf4 --- /dev/null +++ b/assets/use-rule.html-c8cdeffb.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as l,c as i,f as a}from"./app-f9d4ab81.js";const r={},s=a('- \\n
\\n禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符)
\\n- \\n
\\n建议风格一致 建议同时大驼峰、同时小驼峰或者下划线;是项目级别的统一
\\n- \\n
\\nkey不能太长也不能太短,键名越长越占资源,太短可读性太差
\\n- \\n
\\nkey 单词与单词之间以冒号
\\n:
分开。市面上的redis可视化工具,:
比较容易进行下级选择- \\n
\\nredis使用的时候注意命名空间,一个项目一个命名空间,项目内业务不同命名空间也不同。
\\n使用规范
在项目中,redis属于高频使用,遇到了各种各样的redis问题,针对自身情况梳理了一个redis使用规范。
Key的设计
禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符)
建议风格一致 建议同时大驼峰、同时小驼峰或者下划线;是项目级别的统一
key不能太长也不能太短,键名越长越占资源,太短可读性太差
key 单词与单词之间以冒号
:
分开。市面上的redis可视化工具,:
比较容易进行下级选择redis使用的时候注意命名空间,一个项目一个命名空间,项目内业务不同命名空间也不同。
一般情况下:
- 第一段放置项目名或缩写 如 project
- 第二段把表名转换为key前缀 如, user:
- 第三段放置用于区分区key的字段,对应mysql中的主键的列名,如userid
- 第四段放置主键值,如18,16
结合起来 PRO:USER:UID:18 就很清晰
value设计
拒绝大key操作,禁用超过10K的string大key(虽然redis支持512MB大小的string),如果1mb的key每秒重复写入10次,就会导致写入网络IO达10MB。
设计key时使用合适的数据类型(在资源利用和性能之间作平衡)。例如:将一个普通字符串弄成hash类型进行存储这是不合理的
控制key的生命周期,例如:key设置为永不过期是不合理的,也不建议过期时间全部一样,避免key大面积失效,mysql被打满
控制value长度。例如string类型,如果value为'8个字节的长整型'则内部使用int类型,如果value为'小于等于39个字节的字符串'则内部使用embstr类型,如果value为'大于39个字节的字符串'则内部使用raw类型。这样能很好的利用redis的性能。
数据按需存储
不需要的数据千万不要存储在redis,只会浪费内存空间
命令使用
- 禁止使用keys、flushall、hmgetall等命令
为防止业务研发的误操作,通常可以在交付redis实例之前将默认命令rename掉;而真正需要删除或者遍历key时可以使用scan家族命令
- 慎用hgetall、lrange、smembers、zrange等命令
除非业务场景需要,尽量不要使用这些命令。如果没有控制好会导致操作量过大,形成阻塞。
项目实战
- 项目redis使用问题
当前的使用方式是,每个接入的应用要配置核心项目的redis配置。这样是不合理的,核心项目的redis应该只能在核心项目中使用,对外应该是提供api接口或者rpc进行访问。
- 注意key的过期时间设置
在报名等高峰期的时候,key值设置过短容易造成缓存穿透,导致大量请求直接打到mysql数据库。
- 提防缓存穿透
空值也应该被缓存,经常使用会只给有数据的结果进行缓存,结果导致空数据无法缓存,相同查询直接每次都到达数据库,所以
- 不建议将redis做为消息队列
如没有非常特殊的需求,严禁将 Redis 当作消息队列使用。redis 当作消息队列使用,会有容量、网络、效率、功能方面的多种问题。 如需要消息队列,可使用高吞吐的 Kafka 或者高可靠的 RocketMQ,nsq,(花园同步有时间前后要求,且量不大才使用的)。
查询使用
线上Redis禁止使用Keys正则匹配操作
',28),d=[s];function o(t,u){return l(),i("div",null,d)}const n=e(r,[["render",o],["__file","use-rule.html.vue"]]);export{n as default}; diff --git a/assets/utils-a5e1dbae-143be013.js b/assets/utils-a5e1dbae-143be013.js new file mode 100644 index 000000000..23e9266e5 --- /dev/null +++ b/assets/utils-a5e1dbae-143be013.js @@ -0,0 +1 @@ +var pr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dr(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var k=Uint8Array,G=Uint16Array,xr=Int32Array,lr=new k([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),or=new k([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),yr=new k([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ar=function(r,a){for(var e=new G(31),n=0;n<31;++n)e[n]=a+=1<redis是单线程处理,在线上Key数量较多时,操作效率极低【时间复杂度为O(N)】,该命令一旦执行会严重阻塞线上其它命令的正常请求,而且在高QPS情况下会直接造成redis服务崩溃!如果有类似需求,可以使用scan命令代替。
>1|(y&21845)<<1;$=($&52428)>>2|($&13107)<<2,$=($&61680)>>4|($&3855)<<4,Cr[y]=(($&65280)>>8|($&255)<<8)>>1}var Q=function(r,a,e){for(var n=r.length,f=0,l=new G(a);f >w]=u}else for(t=new G(n),f=0;f >15-r[f]);return t},_=new k(288);for(var y=0;y<144;++y)_[y]=8;for(var y=144;y<256;++y)_[y]=9;for(var y=256;y<280;++y)_[y]=7;for(var y=280;y<288;++y)_[y]=8;var vr=new k(32);for(var y=0;y<32;++y)vr[y]=5;var Rr=Q(_,9,0),Wr=Q(_,9,1),jr=Q(vr,5,0),Hr=Q(vr,5,1),cr=function(r){for(var a=r[0],e=1;e a&&(a=r[e]);return a},J=function(r,a,e){var n=a/8|0;return(r[n]|r[n+1]<<8)>>(a&7)&e},wr=function(r,a){var e=a/8|0;return(r[e]|r[e+1]<<8|r[e+2]<<16)>>(a&7)},Fr=function(r){return(r+7)/8|0},ir=function(r,a,e){(a==null||a<0)&&(a=0),(e==null||e>r.length)&&(e=r.length);var n=new k(e-a);return n.set(r.subarray(a,e)),n},Jr=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],W=function(r,a,e){var n=new Error(a||Jr[r]);if(n.code=r,Error.captureStackTrace&&Error.captureStackTrace(n,W),!e)throw n;return n},Kr=function(r,a,e,n){var f=r.length,l=n?n.length:0;if(!f||a.f&&!a.l)return e||new k(0);var o=!e||a.i!=2,t=a.i;e||(e=new k(f*3));var w=function(rr){var ar=e.length;if(rr>ar){var er=new k(Math.max(ar*2,rr));er.set(e),e=er}},u=a.f||0,v=a.p||0,i=a.b||0,M=a.l,b=a.d,z=a.m,C=a.n,P=f*8;do{if(!M){u=J(r,v,1);var j=J(r,v+1,3);if(v+=3,j)if(j==1)M=Wr,b=Hr,z=9,C=5;else if(j==2){var E=J(r,v,31)+257,q=J(r,v+10,15)+4,A=E+J(r,v+5,31)+1;v+=14;for(var c=new k(A),h=new k(19),g=0;g >4;if(x<16)c[g++]=x;else{var S=0,I=0;for(x==16?(I=3+J(r,v,3),v+=2,S=c[g-1]):x==17?(I=3+J(r,v,7),v+=3):x==18&&(I=11+J(r,v,127),v+=7);I--;)c[g++]=S}}var F=c.subarray(0,E),s=c.subarray(E);z=cr(F),C=cr(s),M=Q(F,z,1),b=Q(s,C,1)}else W(1);else{var x=Fr(v)+4,H=r[x-4]|r[x-3]<<8,U=x+H;if(U>f){t&&W(0);break}o&&w(i+H),e.set(r.subarray(x,U),i),a.b=i+=H,a.p=v=U*8,a.f=u;continue}if(v>P){t&&W(0);break}}o&&w(i+131072);for(var K=(1<>4;if(v+=S&15,v>P){t&&W(0);break}if(S||W(2),R<256)e[i++]=R;else if(R==256){D=v,M=null;break}else{var X=R-254;if(R>264){var g=R-257,m=lr[g];X=J(r,v,(1< >4;T||W(3),v+=T&15;var s=Pr[N];if(N>3){var m=or[N];s+=wr(r,v)&(1< P){t&&W(0);break}o&&w(i+131072);var L=i+X;if(i >8},nr=function(r,a,e){e<<=a&7;var n=a/8|0;r[n]|=e,r[n+1]|=e>>8,r[n+2]|=e>>16},gr=function(r,a){for(var e=[],n=0;nM&&(M=l[n].s);var b=new G(M+1),z=Mr(e[v-1],b,0);if(z>a){var n=0,C=0,P=z-a,j=1< a)C+=j-(1<
>=P;C>0;){var H=l[n].s;b[H]=0&&C;--n){var U=l[n].s;b[U]==a&&(--b[U],++C)}z=a}return{t:new k(b),l:z}},Mr=function(r,a,e){return r.s==-1?Math.max(Mr(r.l,a,e+1),Mr(r.r,a,e+1)):a[r.s]=e},kr=function(r){for(var a=r.length;a&&!r[--a];);for(var e=new G(++a),n=0,f=r[0],l=1,o=function(w){e[n++]=w},t=1;t<=a;++t)if(r[t]==f&&t!=a)++l;else{if(!f&&l>2){for(;l>138;l-=138)o(32754);l>2&&(o(l>10?l-11<<5|28690:l-3<<5|12305),l=0)}else if(l>3){for(o(f),--l;l>6;l-=6)o(8304);l>2&&(o(l-3<<5|8208),l=0)}for(;l--;)o(f);l=1,f=r[t]}return{c:e.subarray(0,n),n:a}},fr=function(r,a){for(var e=0,n=0;n >8,r[f+2]=r[f]^255,r[f+3]=r[f+1]^255;for(var l=0;l 4&&!g[yr[O-1]];--O);var Z=u+5<<3,B=fr(f,_)+fr(l,vr)+o,S=fr(f,M)+fr(l,C)+o+14+3*O+fr(A,g)+2*A[16]+3*A[17]+7*A[18];if(w>=0&&Z<=B&&Z<=S)return Or(a,v,r.subarray(w,w+u));var I,F,s,K;if(Y(a,v,1+(S15&&(Y(a,v,X[c]>>5&127),v+=X[c]>>12)}}else I=Rr,F=_,s=jr,K=vr;for(var c=0;c 255){var m=T>>18&31;nr(a,v,I[m+257]),v+=F[m+257],m>7&&(Y(a,v,T>>23&31),v+=lr[m]);var N=T&31;nr(a,v,s[N]),v+=K[N],N>3&&(nr(a,v,T>>5&8191),v+=or[N])}else nr(a,v,I[T]),v+=F[T]}return nr(a,v,I[256]),v+F[256]},Nr=new xr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ir=new k(0),Qr=function(r,a,e,n,f,l){var o=l.z||r.length,t=new k(n+o+5*(1+Math.ceil(o/7e3))+f),w=t.subarray(n,t.length-f),u=l.l,v=(l.r||0)&7;if(a){v&&(w[0]=l.r>>3);for(var i=Nr[a-1],M=i>>13,b=i&8191,z=(1< 7e3||g>24576)&&(I>423||!u)){v=Sr(r,w,0,U,E,q,c,g,O,h-O,v),g=A=c=0,O=h;for(var F=0;F<286;++F)E[F]=0;for(var F=0;F<30;++F)q[F]=0}var s=2,K=0,d=b,D=B-S&32767;if(I>2&&Z==H(h-D))for(var R=Math.min(M,I)-1,X=Math.min(32767,h),m=Math.min(258,I);D<=X&&--d&&B!=S;){if(r[h+s]==r[h+s-D]){for(var T=0;T s){if(s=T,K=D,T>R)break;for(var N=Math.min(D,T-2),L=0,F=0;F L&&(L=rr,S=p)}}}B=S,S=C[B],D+=B-S&32767}if(K){U[g++]=268435456|sr[s]<<18|Tr[K];var ar=sr[s]&31,er=Tr[K]&31;c+=lr[ar]+or[er],++E[257+ar],++q[er],V=h+s,++A}else U[g++]=r[h],++E[r[h]]}}for(h=Math.max(h,V);h =o&&(w[v/8|0]=u,ur=o),v=Or(w,v+1,r.subarray(h,ur))}l.i=o}return ir(t,0,n+Fr(v)+f)},qr=function(){var r=1,a=0;return{p:function(e){for(var n=r,f=a,l=e.length|0,o=0;o!=l;){for(var t=Math.min(o+2655,l);o >16),f=(f&65535)+15*(f>>16)}r=n,a=f},d:function(){return r%=65521,a%=65521,(r&255)<<24|(r&65280)<<8|(a&255)<<8|a>>8}}},Vr=function(r,a,e,n,f){if(!f&&(f={l:1},a.dictionary)){var l=a.dictionary.subarray(-32768),o=new k(l.length+r.length);o.set(l),o.set(r,l.length),r=o,f.w=l.length}return Qr(r,a.level==null?6:a.level,a.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):12+a.mem,e,n,f)},Br=function(r,a,e){for(;e;++a)r[a]=e,e>>>=8},Xr=function(r,a){var e=a.level,n=e==0?0:e<6?1:e==9?3:2;if(r[0]=120,r[1]=n<<6|(a.dictionary&&32),r[1]|=31-(r[0]<<8|r[1])%31,a.dictionary){var f=qr();f.p(a.dictionary),Br(r,2,f.d())}},Yr=function(r,a){return((r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31)&&W(6,"invalid zlib data"),(r[1]>>5&1)==+!a&&W(6,"invalid zlib data: "+(r[1]&32?"need":"unexpected")+" dictionary"),(r[1]>>3&4)+2};function Zr(r,a){a||(a={});var e=qr();e.p(r);var n=Vr(r,a,a.dictionary?6:2,4);return Xr(n,a),Br(n,n.length-4,e.d()),n}function $r(r,a){return Kr(r.subarray(Yr(r,a&&a.dictionary),-4),{i:2},a&&a.out,a&&a.dictionary)}var zr=typeof TextEncoder<"u"&&new TextEncoder,br=typeof TextDecoder<"u"&&new TextDecoder,_r=0;try{br.decode(Ir,{stream:!0}),_r=1}catch{}var Lr=function(r){for(var a="",e=0;;){var n=r[e++],f=(n>127)+(n>223)+(n>239);if(e+f>r.length)return{s:a,r:ir(r,e-1)};f?f==3?(n=((n&15)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,a+=String.fromCharCode(55296|n>>10,56320|n&1023)):f&1?a+=String.fromCharCode((n&31)<<6|r[e++]&63):a+=String.fromCharCode((n&15)<<12|(r[e++]&63)<<6|r[e++]&63):a+=String.fromCharCode(n)}};function Dr(r,a){if(a){for(var e=new k(r.length),n=0;n >1)),o=0,t=function(v){l[o++]=v},n=0;n l.length){var w=new k(o+8+(f-n<<1));w.set(l),l=w}var u=r.charCodeAt(n);u<128||a?t(u):u<2048?(t(192|u>>6),t(128|u&63)):u>55295&&u<57344?(u=65536+(u&1047552)|r.charCodeAt(++n)&1023,t(240|u>>18),t(128|u>>12&63),t(128|u>>6&63),t(128|u&63)):(t(224|u>>12),t(128|u>>6&63),t(128|u&63))}return ir(l,0,o)}function Gr(r,a){if(a){for(var e="",n=0;n {e&&clearTimeout(e),e=setTimeout(()=>{r(...n)},a)}}function aa(r){const a=Dr(r),e=Zr(a,{level:9}),n=Gr(e,!0);return btoa(n)}function ea(r){const a=atob(r);if(a.startsWith("xÚ")){const e=Dr(a,!0),n=$r(e);return Gr(n)}return decodeURIComponent(escape(a))}export{ea as a,pr as c,ra as d,dr as g,aa as u}; diff --git a/assets/vant-ui.html-867c41c3.js b/assets/vant-ui.html-867c41c3.js new file mode 100644 index 000000000..6db0446dc --- /dev/null +++ b/assets/vant-ui.html-867c41c3.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c}from"./app-f9d4ab81.js";const o={};function r(n,_){return t(),c("div")}const f=e(o,[["render",r],["__file","vant-ui.html.vue"]]);export{f as default}; diff --git a/assets/vant-ui.html-a416da85.js b/assets/vant-ui.html-a416da85.js new file mode 100644 index 000000000..630acc42c --- /dev/null +++ b/assets/vant-ui.html-a416da85.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-77440280","path":"/manuscripts/front-end/ui-framework/vant-ui.html","title":"VAnt-UI","lang":"en-US","frontmatter":{"title":"VAnt-UI","description":"","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/front-end/ui-framework/vant-ui.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"VAnt-UI"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"VAnt-UI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.02,"words":3},"filePathRelative":"manuscripts/front-end/ui-framework/vant-ui.md","localizedDate":"September 11, 2023","excerpt":"","autoDesc":true}');export{t as data}; diff --git a/assets/vim-53b51753.gif b/assets/vim-53b51753.gif new file mode 100644 index 000000000..7caed810b Binary files /dev/null and b/assets/vim-53b51753.gif differ diff --git a/assets/vim.html-839620f1.js b/assets/vim.html-839620f1.js new file mode 100644 index 000000000..eba5633ad --- /dev/null +++ b/assets/vim.html-839620f1.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-6ce8c59d","path":"/manuscripts/server-end/linux/vim.html","title":"Linux vi/vim","lang":"en-US","frontmatter":{"description":"Linux vi/vim 命令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容; 编辑模式(Insert mode):按下 \\"i\\" 等按键之后进入,可以对文本进行编辑; 指令列模式(Bottom-line mode):按下 \\":\\" 按键之后进入,用于保存退出等操作。 在指令列模式下,离开或者保存文件常用命令: :w\\t写入磁盘 :w!\\t当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关 :q\\t离开 :q!\\t强制离开不保存 :wq\\t写入磁盘后离开 :wq!\\t强制写入磁盘后离开","head":[["meta",{"property":"og:url","content":"https://408.142vip.cn/JavaScriptCollection/manuscripts/server-end/linux/vim.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"Linux vi/vim"}],["meta",{"property":"og:description","content":"Linux vi/vim 命令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容; 编辑模式(Insert mode):按下 \\"i\\" 等按键之后进入,可以对文本进行编辑; 指令列模式(Bottom-line mode):按下 \\":\\" 按键之后进入,用于保存退出等操作。 在指令列模式下,离开或者保存文件常用命令: :w\\t写入磁盘 :w!\\t当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关 :q\\t离开 :q!\\t强制离开不保存 :wq\\t写入磁盘后离开 :wq!\\t强制写入磁盘后离开"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://408.142vip.cn/JavaScriptCollection/"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"name":"twitter:card","content":"summary_large_image"}],["meta",{"name":"twitter:image:alt","content":"Linux vi/vim"}],["meta",{"property":"article:author","content":"公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Linux vi/vim\\",\\"image\\":[\\"https://408.142vip.cn/JavaScriptCollection/\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":3,"title":"命令模式","slug":"命令模式","link":"#命令模式","children":[]},{"level":3,"title":"输入模式","slug":"输入模式","link":"#输入模式","children":[]},{"level":3,"title":"指令列模式","slug":"指令列模式","link":"#指令列模式","children":[]},{"level":3,"title":"常用命令操作","slug":"常用命令操作","link":"#常用命令操作","children":[{"level":4,"title":"退出","slug":"退出","link":"#退出","children":[]},{"level":4,"title":"移动","slug":"移动","link":"#移动","children":[]},{"level":4,"title":"搜索","slug":"搜索","link":"#搜索","children":[]},{"level":4,"title":"插入","slug":"插入","link":"#插入","children":[]},{"level":4,"title":"删除或剪切","slug":"删除或剪切","link":"#删除或剪切","children":[]},{"level":4,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}]}],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":5.13,"words":1025},"filePathRelative":"manuscripts/server-end/linux/vim.md","localizedDate":"September 11, 2023","excerpt":" Linux vi/vim
\\n\\n\\n
\\n- 命令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容;
\\n- 编辑模式(Insert mode):按下 \\"i\\" 等按键之后进入,可以对文本进行编辑;
\\n- 指令列模式(Bottom-line mode):按下 \\":\\" 按键之后进入,用于保存退出等操作。
\\n在指令列模式下,离开或者保存文件常用命令:
\\n\\n
","autoDesc":true}');export{e as data}; diff --git a/assets/vim.html-9d9b38ea.js b/assets/vim.html-9d9b38ea.js new file mode 100644 index 000000000..918480022 --- /dev/null +++ b/assets/vim.html-9d9b38ea.js @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-c27b6911.js";import{r as c,o as a,c as r,a as e,b as o,d,f as n}from"./app-f9d4ab81.js";const t="/JavaScriptCollection/assets/vim-53b51753.gif",h={},u=n('- \\n
:w
\\t写入磁盘- \\n
:w!
\\t当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关- \\n
:q
\\t离开- \\n
:q!
\\t强制离开不保存- \\n
:wq
\\t写入磁盘后离开- \\n
:wq!
\\t强制写入磁盘后离开Linux vi/vim
- 命令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容;
- 编辑模式(Insert mode):按下 "i" 等按键之后进入,可以对文本进行编辑;
- 指令列模式(Bottom-line mode):按下 ":" 按键之后进入,用于保存退出等操作。
在指令列模式下,离开或者保存文件常用命令:
:w
写入磁盘:w!
当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关:q
离开:q!
强制离开不保存:wq
写入磁盘后离开:wq!
强制写入磁盘后离开命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下
i
,并不会输入一个字符,i被当作了一个命令。以下是常用的几个命令:
i
切换到输入模式,以输入字符。x
删除当前光标所在处的字符。:
切换到底线命令模式,以在最底一行输入命令。 若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及
Shift
组合,输入字符ENTER
回车键,换行BACK SPACE
退格键,删除光标前一个字符DEL
删除键,删除光标后一个字符HOME/END
移动光标到行首/行尾Page Up/Page Down
上/下翻页Insert
切换光标为输入/替换模式,光标将变成竖线/下划线ESC
退出输入模式,切换到命令模式指令列模式
在输入模式模式下按下
:
(英文冒号)就能进入。指令列模式可以输入单个或多个字符的命令,可用的命令非常多。
在指令列模式中,基本的命令有(已经省略了冒号):
q
退出程序w
保存文件按
ESC
键可随时退出指令列模式。常用命令操作
退出
:wq!
强制保存退出:wq
保存退出:x
作用和:wq 一样ZZ
作用和:wq一样,(注意Z是大写的,并且不是在命令模式):q
退出:q!
强制退出移动
h
在当前行向左移动一个字符j
移动到下一行k
移动到上一行l
在当前行向右移动一个字符Ctrl +f
向前滚动一页Ctrl +b
向后滚动一页:n
将光标定位到第n行:$
将光标定位到最后一行0
将光标定位到本行的行首$
将光标定位到本行的行尾G
将光标定位到本文章的最后一行,与:$
功能相同。搜索
/
后面跟要查找的东西,在文件中向前搜索?
后面跟要查找的东西,在文件中向后搜索n
向前重复搜索N
向后重复搜索插入
i
在当前位置的字符前面进入插入模式I
在当前行的开头进行插入a
在当前位置的字符后面进入插入模式A
在当前行的结尾进行插入o
在当前行下面打开一个新行进行插入O
在当前行上面打开一个新行进行插入删除或剪切
dd
删除当前行dw
删除一个单词x
删除一个字符nx
删除n个字符dG
删除当前光标到文件末尾的所有内容。d0
删除当前光标到本行行首的所有内容d$
删除当前光标到本行行尾的所有内容:1,100d
删除1~100:100d
删除第100行:1,100 mo $
将1~100行的内容移动到最后一行。',33),s={href:"https://github.com/vim/vim",target:"_blank",rel:"noopener noreferrer"},p={href:"https://www.runoob.com/linux/linux-vim.html",target:"_blank",rel:"noopener noreferrer"},m={href:"https://zhuanlan.zhihu.com/p/61515833",target:"_blank",rel:"noopener noreferrer"};function f(x,_){const i=c("ExternalLinkIcon");return a(),r("div",null,[u,e("ul",null,[e("li",null,[e("a",s,[o("https://github.com/vim/vim"),d(i)])]),e("li",null,[e("a",p,[o("https://www.runoob.com/linux/linux-vim.html"),d(i)])]),e("li",null,[e("a",m,[o("https://zhuanlan.zhihu.com/p/61515833"),d(i)])])])])}const w=l(h,[["render",f],["__file","vim.html.vue"]]);export{w as default}; diff --git a/assets/vue-repl-39409c5a.js b/assets/vue-repl-39409c5a.js new file mode 100644 index 000000000..853cd612e --- /dev/null +++ b/assets/vue-repl-39409c5a.js @@ -0,0 +1,1007 @@ +import{M as e9,N as t5,P as r9,x as W0,_ as mG,g as Lg,Q as Mm,i as a_,k as gG,G as hG,o as qc,c as Vl,S as aP,T as t9,a as tc,d as Cm,U as oP,e as Sg,V as Tv,W as kh,t as SS,w as Uk,j as _x,X as n5,Y as n9,$ as i5,a0 as lT,a1 as Tg,a2 as vG,a3 as i9,a4 as Pc,a5 as yG,a6 as a5,a7 as bG,a8 as a9,a9 as o9}from"./app-f9d4ab81.js";import{c as P_,a as SG,u as xG,g as TG,d as DG}from"./utils-a5e1dbae-143be013.js";var gp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function s9(i){if(i.__esModule)return i;var t=i.default;if(typeof t=="function"){var n=function a(){return this instanceof a?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(i).forEach(function(a){var c=Object.getOwnPropertyDescriptor(i,a);Object.defineProperty(n,a,c.get?c:{enumerable:!0,get:function(){return i[a]}})}),n}function Xl(i,t){const n=Object.create(null),a=i.split(",");for(let c=0;c 参考资料
!!n[c.toLowerCase()]:c=>!!n[c]}const EG=Object.freeze({}),o5=()=>{},HS=()=>!1,CG=/^on[^a-z]/,u9=i=>CG.test(i),Lm=Object.assign,kG=Object.prototype.hasOwnProperty,fT=(i,t)=>kG.call(i,t),zf=Array.isArray,AG=i=>sP(i)==="[object Map]",PG=i=>sP(i)==="[object Set]",c9=i=>typeof i=="function",_s=i=>typeof i=="string",Wv=i=>typeof i=="symbol",Wm=i=>i!==null&&typeof i=="object",l9=Object.prototype.toString,sP=i=>l9.call(i),wG=i=>sP(i)==="[object Object]",s5=Xl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),uP=Xl("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),pT=i=>{const t=Object.create(null);return n=>t[n]||(t[n]=i(n))},IG=/-(\w)/g,ad=pT(i=>i.replace(IG,(t,n)=>n?n.toUpperCase():"")),NG=/\B([A-Z])/g,f9=pT(i=>i.replace(NG,"-$1").toLowerCase()),wg=pT(i=>i.charAt(0).toUpperCase()+i.slice(1)),OG=pT(i=>i?`on${wg(i)}`:""),MG=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function Dv(i){return MG.test(i)?`__props.${i}`:`__props[${JSON.stringify(i)}]`}const Ud={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"HYDRATE_EVENTS",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},LG={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},FG="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console",p9=Xl(FG),u5=2;function Qh(i,t=0,n=i.length){let a=i.split(/(\r?\n)/);const c=a.filter((D,h)=>h%2===1);a=a.filter((D,h)=>h%2===0);let p=0;const _=[];for(let D=0;D =t){for(let h=D-u5;h<=D+u5||n>p;h++){if(h<0||h>=a.length)continue;const e=h+1;_.push(`${e}${" ".repeat(Math.max(3-String(e).length,0))}| ${a[h]}`);const u=a[h].length,x=c[h]&&c[h].length||0;if(h===D){const q=t-(p-(u+x)),s=Math.max(1,n>p?u-q:n-t);_.push(" | "+" ".repeat(q)+"^".repeat(s))}else if(h>D){if(n>p){const q=Math.max(Math.min(n-p,u),1);_.push(" | "+"^".repeat(q))}p+=u+x}}break}return _.join(` +`)}function _9(i){if(zf(i)){const t={};for(let n=0;n {if(n){const a=n.split(BG);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function UG(i){let t="";if(!i||_s(i))return t;for(const n in i){const a=i[n],c=n.startsWith("--")?n:f9(n);(_s(a)||typeof a=="number")&&(t+=`${c}:${a};`)}return t}function m9(i){let t="";if(_s(i))t=i;else if(zf(i))for(let n=0;n /="'\u0009\u000a\u000c\u0020]/,tk={};function GG(i){if(tk.hasOwnProperty(i))return tk[i];const t=HG.test(i);return t&&console.error(`unsafe attribute name: ${i}`),tk[i]=!t}const QG={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},YG=Xl("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),XG=Xl("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan"),KG=/["'&<>]/;function Fd(i){const t=""+i,n=KG.exec(t);if(!n)return t;let a="",c,p,_=0;for(p=n.index;p _s(i)?i:i==null?"":zf(i)||Wm(i)&&(i.toString===l9||!c9(i.toString))?JSON.stringify(i,v9,2):String(i),v9=(i,t)=>t&&t.__v_isRef?v9(i,t.value):AG(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[a,c])=>(n[`${a} =>`]=c,n),{})}:PG(t)?{[`Set(${t.size})`]:[...t.values()]}:Wm(t)&&!zf(t)&&!wG(t)?String(t):t;function lP(i){throw i}function y9(i){console.warn(`[Vue warn] ${i.message}`)}function xs(i,t,n,a){const c=(n||ZG)[i]+(a||""),p=new SyntaxError(String(c));return p.code=i,p.loc=t,p}const ZG={0:"Illegal comment.",1:"CDATA section is allowed only in XML context.",2:"Duplicate attribute.",3:"End tag cannot have attributes.",4:"Illegal '/' in tags.",5:"Unexpected EOF in tag.",6:"Unexpected EOF in CDATA section.",7:"Unexpected EOF in comment.",8:"Unexpected EOF in script.",9:"Unexpected EOF in tag.",10:"Incorrectly closed comment.",11:"Incorrectly opened comment.",12:"Illegal tag name. Use '<' to print '<'.",13:"Attribute value was expected.",14:"End tag name was expected.",15:"Whitespace was expected.",16:"Unexpected '=0;){const e=_[D];e&&e.type===9&&(h+=e.branches.length)}return()=>{if(p)a.codegenNode=U5(c,h,n);else{const e=fK(a.codegenNode);e.alternate=U5(c,h+a.branches.length-1,n)}}}));function ZP(i,t,n,a){if(t.name!=="else"&&(!t.exp||!t.exp.content.trim())){const c=t.exp?t.exp.loc:i.loc;n.onError(xs(28,t.loc)),t.exp=ea("true",!1,c)}if(n.prefixIdentifiers&&t.exp&&(t.exp=Wf(t.exp,n)),t.name==="if"){const c=j5(i,t),p={type:9,loc:i.loc,branches:[c]};if(n.replaceNode(p),a)return a(p,c,!0)}else{const c=n.parent.children,p=[];let _=c.indexOf(i);for(;_-->=-1;){const D=c[_];if(D&&D.type===3){n.removeNode(D),p.unshift(D);continue}if(D&&D.type===2&&!D.content.trim().length){n.removeNode(D);continue}if(D&&D.type===9){t.name==="else-if"&&D.branches[D.branches.length-1].condition===void 0&&n.onError(xs(30,i.loc)),n.removeNode();const h=j5(i,t);p.length&&!(n.parent&&n.parent.type===1&&nd(n.parent.tag,"transition"))&&(h.children=[...p,...h.children]);{const u=h.userKey;u&&D.branches.forEach(({userKey:x})=>{lK(x,u)&&n.onError(xs(29,h.userKey.loc))})}D.branches.push(h);const e=a&&a(D,h,!1);Gv(h,n),e&&e(),n.currentNode=null}else n.onError(xs(30,i.loc));break}}}function j5(i,t){const n=i.tagType===3;return{type:10,loc:i.loc,condition:t.name==="else"?void 0:t.exp,children:n&&!Cl(i,"for")?i.children:[i],userKey:xp(i,"key"),isTemplateIf:n}}function U5(i,t,n){return i.condition?Ng(i.condition,J5(i,t,n),so(n.helper(Vv),['"v-if"',"true"])):J5(i,t,n)}function J5(i,t,n){const{helper:a}=n,c=Rs("key",ea(`${t}`,!1,Vu,2)),{children:p}=i,_=p[0];if(p.length!==1||_.type!==1)if(p.length===1&&_.type===11){const h=_.codegenNode;return Q0(h,c,n),h}else{let h=64,e=Ud[64];return!i.isTemplateIf&&p.filter(u=>u.type!==3).length===1&&(h|=2048,e+=`, ${Ud[2048]}`),Pv(n,a(Ev),Sp([c]),p,h+` /* ${e} */`,void 0,void 0,!0,!1,!1,i.loc)}else{const h=_.codegenNode,e=iM(h);return e.type===13&&CT(e,n),Q0(e,c,n),h}}function lK(i,t){if(!i||i.type!==t.type)return!1;if(i.type===6){if(i.value.content!==t.value.content)return!1}else{const n=i.exp,a=t.exp;if(n.type!==a.type||n.type!==4||n.isStatic!==a.isStatic||n.content!==a.content)return!1}return!0}function fK(i){for(;;)if(i.type===19)if(i.alternate.type===19)i=i.alternate;else return i;else i.type===20&&(i=i.value)}const pK=M2("for",(i,t,n)=>{const{helper:a,removeHelper:c}=n;return ew(i,t,n,p=>{const _=so(a(vT),[p.source]),D=Iv(i),h=Cl(i,"memo"),e=xp(i,"key"),u=e&&(e.type===6?ea(e.value.content,!0):e.exp),x=e?Rs("key",u):null;D&&(h&&(h.exp=Wf(h.exp,n)),x&&e.type!==6&&(x.value=Wf(x.value,n)));const q=p.source.type===4&&p.source.constType>0,s=q?64:e?128:256;return p.codegenNode=Pv(n,a(Ev),void 0,_,s+` /* ${Ud[s]} */`,void 0,void 0,!0,!q,!1,i.loc),()=>{let ce;const{children:P}=p;D&&i.children.some(E=>{if(E.type===1){const te=xp(E,"key");if(te)return n.onError(xs(33,te.loc)),!0}});const j=P.length!==1||P[0].type!==1,T=Nv(i)?i:D&&i.children.length===1&&Nv(i.children[0])?i.children[0]:null;if(T?(ce=T.codegenNode,D&&x&&Q0(ce,x,n)):j?ce=Pv(n,a(Ev),x?Sp([x]):void 0,i.children,`64 /* ${Ud[64]} */`,void 0,void 0,!0,void 0,!1):(ce=P[0].codegenNode,D&&x&&Q0(ce,x,n),ce.isBlock!==!q&&(ce.isBlock?(c(Ig),c(Kh(n.inSSR,ce.isComponent))):c(Xh(n.inSSR,ce.isComponent))),ce.isBlock=!q,ce.isBlock?(a(Ig),a(Kh(n.inSSR,ce.isComponent))):a(Xh(n.inSSR,ce.isComponent))),h){const E=l_(Z0(p.parseResult,[ea("_cached")]));E.body=I2([$l(["const _memo = (",h.exp,")"]),$l(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(gP)}(_cached, _memo)) return _cached`]),$l(["const _item = ",ce]),ea("_item.memo = _memo"),ea("return _item")]),_.arguments.push(E,ea("_cache"),ea(String(n.cached++)))}else _.arguments.push(l_(Z0(p.parseResult),ce,!0))}})});function ew(i,t,n,a){if(!t.exp){n.onError(xs(31,t.loc));return}const c=rw(t.exp,n);if(!c){n.onError(xs(32,t.loc));return}const{addIdentifiers:p,removeIdentifiers:_,scopes:D}=n,{source:h,value:e,key:u,index:x}=c,q={type:11,loc:t.loc,source:h,valueAlias:e,keyAlias:u,objectIndexAlias:x,parseResult:c,children:Iv(i)?i.children:[i]};n.replaceNode(q),D.vFor++,n.prefixIdentifiers&&(e&&p(e),u&&p(u),x&&p(x));const s=a&&a(q);return()=>{D.vFor--,n.prefixIdentifiers&&(e&&_(e),u&&_(u),x&&_(x)),s&&s()}}const _K=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,q5=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,dK=/^\(|\)$/g;function rw(i,t){const n=i.loc,a=i.content,c=a.match(_K);if(!c)return;const[,p,_]=c,D={source:ES(n,_.trim(),a.indexOf(_,p.length)),value:void 0,key:void 0,index:void 0};t.prefixIdentifiers&&(D.source=Wf(D.source,t));let h=p.trim().replace(dK,"").trim();const e=p.indexOf(h),u=h.match(q5);if(u){h=h.replace(q5,"").trim();const x=u[1].trim();let q;if(x&&(q=a.indexOf(x,e+h.length),D.key=ES(n,x,q),t.prefixIdentifiers&&(D.key=Wf(D.key,t,!0))),u[2]){const s=u[2].trim();s&&(D.index=ES(n,s,a.indexOf(s,D.key?q+x.length:e+h.length)),t.prefixIdentifiers&&(D.index=Wf(D.index,t,!0)))}}return h&&(D.value=ES(n,h,e),t.prefixIdentifiers&&(D.value=Wf(D.value,t,!0))),D}function ES(i,t,n){return ea(t,!1,jP(i,n,t.length))}function Z0({value:i,key:t,index:n},a=[]){return mK([i,t,n,...a])}function mK(i){let t=i.length;for(;t--&&!i[t];);return i.slice(0,t+1).map((n,a)=>n||ea("_".repeat(a+1),!1))}const W5=ea("undefined",!1),tw=(i,t)=>{if(i.type===1&&(i.tagType===1||i.tagType===3)){const n=Cl(i,"slot");if(n){const a=n.exp;return t.prefixIdentifiers&&a&&t.addIdentifiers(a),t.scopes.vSlot++,()=>{t.prefixIdentifiers&&a&&t.removeIdentifiers(a),t.scopes.vSlot--}}}},nw=(i,t)=>{let n;if(Iv(i)&&i.props.some(UP)&&(n=Cl(i,"for"))){const a=n.parseResult=rw(n.exp,t);if(a){const{value:c,key:p,index:_}=a,{addIdentifiers:D,removeIdentifiers:h}=t;return c&&D(c),p&&D(p),_&&D(_),()=>{c&&h(c),p&&h(p),_&&h(_)}}}},gK=(i,t,n)=>l_(i,t,!1,!0,t.length?t[0].loc:n);function e2(i,t,n=gK){t.helper(DT);const{children:a,loc:c}=i,p=[],_=[];let D=t.scopes.vSlot>0||t.scopes.vFor>0;!t.ssr&&t.prefixIdentifiers&&(D=vp(i,t.identifiers));const h=Cl(i,"slot",!0);if(h){const{arg:j,exp:T}=h;j&&!Hl(j)&&(D=!0),p.push(Rs(j||ea("default",!0),n(T,a,c)))}let e=!1,u=!1;const x=[],q=new Set;let s=0;for(let j=0;j {const te=n(T,E,c);return Rs("default",te)};e?x.length&&x.some(T=>kM(T))&&(u?t.onError(xs(39,x[0].loc)):p.push(j(void 0,x))):p.push(j(void 0,a))}const ce=D?2:ex(i.children)?3:1;let P=Sp(p.concat(Rs("_",ea(ce+` /* ${LG[ce]} */`,!1))),c);return _.length&&(P=so(t.helper(mP),[P,a1(_)])),{slots:P,hasDynamicSlots:D}}function CS(i,t,n){const a=[Rs("name",i),Rs("fn",t)];return n!=null&&a.push(Rs("key",ea(String(n),!0))),Sp(a)}function ex(i){for(let t=0;t function(){if(i=t.currentNode,!(i.type===1&&(i.tagType===0||i.tagType===1)))return;const{tag:a,props:c}=i,p=i.tagType===1;let _=p?qT(i,t):`"${a}"`;const D=Wm(_)&&_.callee===Cv;let h,e,u,x=0,q,s,ce,P=D||_===jh||_===zv||!p&&(a==="svg"||a==="foreignObject");if(c.length>0){const j=Zv(i,t,void 0,p,D);h=j.props,x=j.patchFlag,s=j.dynamicPropNames;const T=j.directives;ce=T&&T.length?a1(T.map(E=>iw(E,t))):void 0,j.shouldUseBlock&&(P=!0)}if(i.children.length>0)if(_===z0&&(P=!0,x|=1024,i.children.length>1&&t.onError(xs(46,{start:i.children[0].loc.start,end:i.children[i.children.length-1].loc.end,source:""}))),p&&_!==jh&&_!==z0){const{slots:T,hasDynamicSlots:E}=e2(i,t);e=T,E&&(x|=1024)}else if(i.children.length===1&&_!==jh){const T=i.children[0],E=T.type,te=E===5||E===8;te&&t_(T,t)===0&&(x|=1),te||E===2?e=T:e=i.children}else e=i.children;if(x!==0){if(x<0)u=x+` /* ${Ud[x]} */`;else{const j=Object.keys(Ud).map(Number).filter(T=>T>0&&x&T).map(T=>Ud[T]).join(", ");u=x+` /* ${j} */`}s&&s.length&&(q=vK(s))}i.codegenNode=Pv(t,_,h,e,u,q,ce,!!P,!1,p,i.loc)};function qT(i,t,n=!1){let{tag:a}=i;const c=rA(a),p=xp(i,"is");if(p)if(c){const h=p.type===6?p.value&&ea(p.value.content,!0):p.exp;if(h)return so(t.helper(Cv),[h])}else p.type===6&&p.value.content.startsWith("vue:")&&(a=p.value.content.slice(4));const _=!c&&Cl(i,"is");if(_&&_.exp)return t.onWarn(xs(52,_.loc)),so(t.helper(Cv),[_.exp]);const D=RP(a)||t.isBuiltInComponent(a);if(D)return n||t.helper(D),D;{const h=eA(a,t);if(h)return h;const e=a.indexOf(".");if(e>0){const u=eA(a.slice(0,e),t);if(u)return u+a.slice(e)}}return t.selfName&&wg(ad(a))===t.selfName?(t.helper(V0),t.components.add(a+"__self"),Y0(a,"component")):(t.helper(V0),t.components.add(a),Y0(a,"component"))}function eA(i,t){const n=t.bindingMetadata;if(!n||n.__isScriptSetup===!1)return;const a=ad(i),c=wg(a),p=h=>{if(n[i]===h)return i;if(n[a]===h)return a;if(n[c]===h)return c},_=p("setup-const")||p("setup-reactive-const")||p("literal-const");if(_)return t.inline?_:`$setup[${JSON.stringify(_)}]`;const D=p("setup-let")||p("setup-ref")||p("setup-maybe-ref");if(D)return t.inline?`${t.helperString(Av)}(${D})`:`$setup[${JSON.stringify(D)}]`}function Zv(i,t,n=i.props,a,c,p=!1){const{tag:_,loc:D,children:h}=i;let e=[];const u=[],x=[],q=h.length>0;let s=!1,ce=0,P=!1,j=!1,T=!1,E=!1,te=!1,se=!1;const oe=[],y=z=>{e.length&&(u.push(Sp(z5(e),D)),e=[]),z&&u.push(z)},N=({key:z,value:Q})=>{if(Hl(z)){const O=z.content,K=u9(O);if(K&&(!a||c)&&O.toLowerCase()!=="onclick"&&O!=="onUpdate:modelValue"&&!s5(O)&&(E=!0),K&&s5(O)&&(se=!0),Q.type===20||(Q.type===4||Q.type===8)&&t_(Q,t)>0)return;O==="ref"?P=!0:O==="class"?j=!0:O==="style"?T=!0:O!=="key"&&!oe.includes(O)&&oe.push(O),a&&(O==="class"||O==="style")&&!oe.includes(O)&&oe.push(O)}else te=!0};for(let z=0;z 0&&e.push(Rs(ea("ref_for",!0),ea("true"))),b&&t.inline)){const F=t.bindingMetadata[b.content];(F==="setup-let"||F==="setup-ref"||F==="setup-maybe-ref")&&(X=!1,e.push(Rs(ea("ref_key",!0),ea(b.content,!0,b.loc))))}if(K==="is"&&(rA(_)||b&&b.content.startsWith("vue:")))continue;e.push(Rs(ea(K,!0,jP(O,0,K.length)),ea(b?b.content:"",X,b?b.loc:O)))}else{const{name:O,arg:K,exp:b,loc:X}=Q,F=O==="bind",ee=O==="on";if(O==="slot"){a||t.onError(xs(40,X));continue}if(O==="once"||O==="memo"||O==="is"||F&&Pm(K,"is")&&rA(_)||ee&&p)continue;if((F&&Pm(K,"key")||ee&&q&&Pm(K,"vue:before-update"))&&(s=!0),F&&Pm(K,"ref")&&t.scopes.vFor>0&&e.push(Rs(ea("ref_for",!0),ea("true"))),!K&&(F||ee)){te=!0,b?F?(y(),u.push(b)):y({type:14,loc:X,callee:t.helper(ST),arguments:a?[b]:[b,"true"]}):t.onError(xs(F?34:35,X));continue}const ne=t.directiveTransforms[O];if(ne){const{props:Se,needRuntime:Z}=ne(Q,i,t);!p&&Se.forEach(N),ee&&K&&!Hl(K)?y(Sp(Se,D)):e.push(...Se),Z&&(x.push(Q),Wv(Z)&&AM.set(Q,Z))}else uP(O)||(x.push(Q),q&&(s=!0))}}let L;if(u.length?(y(),u.length>1?L=so(t.helper(Yh),u,D):L=u[0]):e.length&&(L=Sp(z5(e),D)),te?ce|=16:(j&&!a&&(ce|=2),T&&!a&&(ce|=4),oe.length&&(ce|=8),E&&(ce|=32)),!s&&(ce===0||ce===32)&&(P||se||x.length>0)&&(ce|=512),!t.inSSR&&L)switch(L.type){case 15:let z=-1,Q=-1,O=!1;for(let X=0;X Rs(_,p)),c))}return a1(n,i.loc)}function vK(i){let t="[";for(let n=0,a=i.length;n{if(Nv(i)){const{children:n,loc:a}=i,{slotName:c,slotProps:p}=aw(i,t),_=[t.prefixIdentifiers?"_ctx.$slots":"$slots",c,"{}","undefined","true"];let D=2;p&&(_[2]=p,D=3),n.length&&(_[3]=l_([],n,!1,!1,a),D=4),t.scopeId&&!t.slotted&&(D=5),_.splice(D),i.codegenNode=so(t.helper(dP),_,a)}};function aw(i,t){let n='"default"',a;const c=[];for(let p=0;p 0){const{props:p,directives:_}=Zv(i,t,c,!1,!1);a=p,_.length&&t.onError(xs(36,_[0].loc))}return{slotName:n,slotProps:a}}const bK=/^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,WT=(i,t,n,a)=>{const{loc:c,modifiers:p,arg:_}=i;!i.exp&&!p.length&&n.onError(xs(35,c));let D;if(_.type===4)if(_.isStatic){let x=_.content;x.startsWith("vnode")&&n.onWarn(xs(51,_.loc)),x.startsWith("vue:")&&(x=`vnode-${x.slice(4)}`);const q=t.tagType!==0||x.startsWith("vnode")||!/[A-Z]/.test(x)?OG(ad(x)):`on:${x}`;D=ea(q,!0,_.loc)}else D=$l([`${n.helperString(mx)}(`,_,")"]);else D=_,D.children.unshift(`${n.helperString(mx)}(`),D.children.push(")");let h=i.exp;h&&!h.content.trim()&&(h=void 0);let e=n.cacheHandlers&&!h&&!n.inVOnce;if(h){const x=BP(h.content,n),q=!(x||bK.test(h.content)),s=h.content.includes(";");n.prefixIdentifiers&&(q&&n.addIdentifiers("$event"),h=i.exp=Wf(h,n,!1,s),q&&n.removeIdentifiers("$event"),e=n.cacheHandlers&&!n.inVOnce&&!(h.type===4&&h.constType>0)&&!(x&&t.tagType===1)&&!vp(h,n.identifiers),e&&x&&(h.type===4?h.content=`${h.content} && ${h.content}(...args)`:h.children=[...h.children," && ",...h.children,"(...args)"])),(q||e&&x)&&(h=$l([`${q?n.isTS?"($event: any)":"$event":`${n.isTS?` +//@ts-ignore +`:""}(...args)`} => ${s?"{":"("}`,h,s?"}":")"]))}let u={props:[Rs(D,h||ea("() => {}",!1,c))]};return a&&(u=a(u)),e&&(u.props[0].value=n.cache(u.props[0].value)),u.props.forEach(x=>x.key.isHandlerKey=!0),u},ow=(i,t,n)=>{const{exp:a,modifiers:c,loc:p}=i,_=i.arg;return _.type!==4?(_.children.unshift("("),_.children.push(') || ""')):_.isStatic||(_.content=`${_.content} || ""`),c.includes("camel")&&(_.type===4?_.isStatic?_.content=ad(_.content):_.content=`${n.helperString(dx)}(${_.content})`:(_.children.unshift(`${n.helperString(dx)}(`),_.children.push(")"))),n.inSSR||(c.includes("prop")&&V5(_,"."),c.includes("attr")&&V5(_,"^")),!a||a.type===4&&!a.content.trim()?(n.onError(xs(34,p)),{props:[Rs(_,ea("",!0,p))]}):{props:[Rs(_,a)]}},V5=(i,t)=>{i.type===4?i.isStatic?i.content=t+i.content:i.content=`\`${t}\${${i.content}}\``:(i.children.unshift(`'${t}' + (`),i.children.push(")"))},SK=(i,t)=>{if(i.type===0||i.type===1||i.type===11||i.type===10)return()=>{const n=i.children;let a,c=!1;for(let p=0;p p.type===7&&!t.directiveTransforms[p.name]))))for(let p=0;p {if(i.type===1&&Cl(i,"once",!0))return $5.has(i)||t.inVOnce||t.inSSR?void 0:($5.add(i),t.inVOnce=!0,t.helper($0),()=>{t.inVOnce=!1;const n=t.currentNode;n.codegenNode&&(n.codegenNode=t.cache(n.codegenNode,!0))})},zT=(i,t,n)=>{const{exp:a,arg:c}=i;if(!a)return n.onError(xs(41,i.loc)),d0();const p=a.loc.source,_=a.type===4?a.content:p,D=n.bindingMetadata[p];if(D==="props"||D==="props-aliased")return n.onError(xs(44,a.loc)),d0();const h=n.inline&&(D==="setup-let"||D==="setup-ref"||D==="setup-maybe-ref");if(!_.trim()||!BP(_,n)&&!h)return n.onError(xs(42,a.loc)),d0();if(n.prefixIdentifiers&&Og(_)&&n.identifiers[_])return n.onError(xs(43,a.loc)),d0();const e=c||ea("modelValue",!0),u=c?Hl(c)?`onUpdate:${ad(c.content)}`:$l(['"onUpdate:" + ',c]):"onUpdate:modelValue";let x;const q=n.isTS?"($event: any)":"$event";if(h)if(D==="setup-ref")x=$l([`${q} => ((`,ea(p,!1,a.loc),").value = $event)"]);else{const ce=D==="setup-let"?`${p} = $event`:"null";x=$l([`${q} => (${n.helperString(H0)}(${p}) ? (`,ea(p,!1,a.loc),`).value = $event : ${ce})`])}else x=$l([`${q} => ((`,a,") = $event)"]);const s=[Rs(e,i.exp),Rs(u,x)];if(n.prefixIdentifiers&&!n.inVOnce&&n.cacheHandlers&&!vp(a,n.identifiers)&&(s[1].value=n.cache(s[1].value)),i.modifiers.length&&t.tagType===1){const ce=i.modifiers.map(j=>(Og(j)?j:JSON.stringify(j))+": true").join(", "),P=c?Hl(c)?`${c.content}Modifiers`:$l([c,' + "Modifiers"']):"modelModifiers";s.push(Rs(P,ea(`{ ${ce} }`,!1,i.loc,2)))}return d0(s)};function d0(i=[]){return{props:i}}const H5=new WeakSet,TK=(i,t)=>{if(i.type===1){const n=Cl(i,"memo");return!n||H5.has(i)?void 0:(H5.add(i),()=>{const a=i.codegenNode||t.currentNode.codegenNode;a&&a.type===13&&(i.tagType!==1&&CT(a,t),i.codegenNode=so(t.helper(ET),[n.exp,l_(void 0,a),"_cache",String(t.cached++)]))})}};function sw(i){return[[xK,cK,TK,pK,...i?[nw,KP]:[],yK,PM,tw,SK],{on:WT,bind:ow,model:zT}]}function wM(i,t={}){const n=t.onError||lP,a=t.mode==="module",c=t.prefixIdentifiers===!0||a;!c&&t.cacheHandlers&&n(xs(49)),t.scopeId&&!a&&n(xs(50));const p=_s(i)?NT(i,t):i,[_,D]=sw(c);if(t.isTS){const{expressionPlugins:h}=t;(!h||!h.includes("typescript"))&&(t.expressionPlugins=[...h||[],"typescript"])}return MT(p,Lm({},t,{prefixIdentifiers:c,nodeTransforms:[..._,...t.nodeTransforms||[]],directiveTransforms:Lm({},D,t.directiveTransforms||{})})),YP(p,Lm({},t,{prefixIdentifiers:c}))}const M0=()=>({props:[]}),uw=Symbol("vModelRadio"),cw=Symbol("vModelCheckbox"),lw=Symbol("vModelText"),fw=Symbol("vModelSelect"),wx=Symbol("vModelDynamic"),pw=Symbol("vOnModifiersGuard"),_w=Symbol("vOnKeysGuard"),dw=Symbol("vShow"),ey=Symbol("Transition"),R2=Symbol("TransitionGroup");hP({[uw]:"vModelRadio",[cw]:"vModelCheckbox",[lw]:"vModelText",[fw]:"vModelSelect",[wx]:"vModelDynamic",[pw]:"withModifiers",[_w]:"withKeys",[dw]:"vShow",[ey]:"Transition",[R2]:"TransitionGroup"});var G5={GT:">",gt:">",LT:"<",lt:"<","ac;":"∾","af;":"",AMP:"&",amp:"&","ap;":"≈","DD;":"ⅅ","dd;":"ⅆ",deg:"°","ee;":"ⅇ","eg;":"⪚","el;":"⪙",ETH:"Ð",eth:"ð","gE;":"≧","ge;":"≥","Gg;":"⋙","gg;":"≫","gl;":"≷","GT;":">","Gt;":"≫","gt;":">","ic;":"","ii;":"ⅈ","Im;":"ℑ","in;":"∈","it;":"","lE;":"≦","le;":"≤","lg;":"≶","Ll;":"⋘","ll;":"≪","LT;":"<","Lt;":"≪","lt;":"<","mp;":"∓","Mu;":"Μ","mu;":"μ","ne;":"≠","ni;":"∋",not:"¬","Nu;":"Ν","nu;":"ν","Or;":"⩔","or;":"∨","oS;":"Ⓢ","Pi;":"Π","pi;":"π","pm;":"±","Pr;":"⪻","pr;":"≺","Re;":"ℜ",REG:"®",reg:"®","rx;":"℞","Sc;":"⪼","sc;":"≻",shy:"",uml:"¨","wp;":"℘","wr;":"≀","Xi;":"Ξ","xi;":"ξ",yen:"¥","acd;":"∿","acE;":"∾̳","Acy;":"А","acy;":"а","Afr;":"𝔄","afr;":"𝔞","AMP;":"&","amp;":"&","And;":"⩓","and;":"∧","ang;":"∠","apE;":"⩰","ape;":"≊","ast;":"*",Auml:"Ä",auml:"ä","Bcy;":"Б","bcy;":"б","Bfr;":"𝔅","bfr;":"𝔟","bne;":"=⃥","bot;":"⊥","Cap;":"⋒","cap;":"∩",cent:"¢","Cfr;":"ℭ","cfr;":"𝔠","Chi;":"Χ","chi;":"χ","cir;":"○",COPY:"©",copy:"©","Cup;":"⋓","cup;":"∪","Dcy;":"Д","dcy;":"д","deg;":"°","Del;":"∇","Dfr;":"𝔇","dfr;":"𝔡","die;":"¨","div;":"÷","Dot;":"¨","dot;":"˙","Ecy;":"Э","ecy;":"э","Efr;":"𝔈","efr;":"𝔢","egs;":"⪖","ell;":"ℓ","els;":"⪕","ENG;":"Ŋ","eng;":"ŋ","Eta;":"Η","eta;":"η","ETH;":"Ð","eth;":"ð",Euml:"Ë",euml:"ë","Fcy;":"Ф","fcy;":"ф","Ffr;":"𝔉","ffr;":"𝔣","gap;":"⪆","Gcy;":"Г","gcy;":"г","gEl;":"⪌","gel;":"⋛","geq;":"≥","ges;":"⩾","Gfr;":"𝔊","gfr;":"𝔤","ggg;":"⋙","gla;":"⪥","glE;":"⪒","glj;":"⪤","gnE;":"≩","gne;":"⪈","Hat;":"^","Hfr;":"ℌ","hfr;":"𝔥","Icy;":"И","icy;":"и","iff;":"⇔","Ifr;":"ℑ","ifr;":"𝔦","Int;":"∬","int;":"∫",Iuml:"Ï",iuml:"ï","Jcy;":"Й","jcy;":"й","Jfr;":"𝔍","jfr;":"𝔧","Kcy;":"К","kcy;":"к","Kfr;":"𝔎","kfr;":"𝔨","lap;":"⪅","lat;":"⪫","Lcy;":"Л","lcy;":"л","lEg;":"⪋","leg;":"⋚","leq;":"≤","les;":"⩽","Lfr;":"𝔏","lfr;":"𝔩","lgE;":"⪑","lnE;":"≨","lne;":"⪇","loz;":"◊","lrm;":"","Lsh;":"↰","lsh;":"↰",macr:"¯","Map;":"⤅","map;":"↦","Mcy;":"М","mcy;":"м","Mfr;":"𝔐","mfr;":"𝔪","mho;":"℧","mid;":"∣","nap;":"≉",nbsp:" ","Ncy;":"Н","ncy;":"н","Nfr;":"𝔑","nfr;":"𝔫","ngE;":"≧̸","nge;":"≱","nGg;":"⋙̸","nGt;":"≫⃒","ngt;":"≯","nis;":"⋼","niv;":"∋","nlE;":"≦̸","nle;":"≰","nLl;":"⋘̸","nLt;":"≪⃒","nlt;":"≮","Not;":"⫬","not;":"¬","npr;":"⊀","nsc;":"⊁","num;":"#","Ocy;":"О","ocy;":"о","Ofr;":"𝔒","ofr;":"𝔬","ogt;":"⧁","ohm;":"Ω","olt;":"⧀","ord;":"⩝",ordf:"ª",ordm:"º","orv;":"⩛",Ouml:"Ö",ouml:"ö","par;":"∥",para:"¶","Pcy;":"П","pcy;":"п","Pfr;":"𝔓","pfr;":"𝔭","Phi;":"Φ","phi;":"φ","piv;":"ϖ","prE;":"⪳","pre;":"⪯","Psi;":"Ψ","psi;":"ψ","Qfr;":"𝔔","qfr;":"𝔮",QUOT:'"',quot:'"',"Rcy;":"Р","rcy;":"р","REG;":"®","reg;":"®","Rfr;":"ℜ","rfr;":"𝔯","Rho;":"Ρ","rho;":"ρ","rlm;":"","Rsh;":"↱","rsh;":"↱","scE;":"⪴","sce;":"⪰","Scy;":"С","scy;":"с",sect:"§","Sfr;":"𝔖","sfr;":"𝔰","shy;":"","sim;":"∼","smt;":"⪪","sol;":"/","squ;":"□","Sub;":"⋐","sub;":"⊂","Sum;":"∑","sum;":"∑","Sup;":"⋑","sup;":"⊃",sup1:"¹",sup2:"²",sup3:"³","Tab;":" ","Tau;":"Τ","tau;":"τ","Tcy;":"Т","tcy;":"т","Tfr;":"𝔗","tfr;":"𝔱","top;":"⊤","Ucy;":"У","ucy;":"у","Ufr;":"𝔘","ufr;":"𝔲","uml;":"¨",Uuml:"Ü",uuml:"ü","Vcy;":"В","vcy;":"в","Vee;":"⋁","vee;":"∨","Vfr;":"𝔙","vfr;":"𝔳","Wfr;":"𝔚","wfr;":"𝔴","Xfr;":"𝔛","xfr;":"𝔵","Ycy;":"Ы","ycy;":"ы","yen;":"¥","Yfr;":"𝔜","yfr;":"𝔶",yuml:"ÿ","Zcy;":"З","zcy;":"з","Zfr;":"ℨ","zfr;":"𝔷","zwj;":"",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ","andd;":"⩜","andv;":"⩚","ange;":"⦤","Aopf;":"𝔸","aopf;":"𝕒","apid;":"≋","apos;":"'",Aring:"Å",aring:"å","Ascr;":"𝒜","ascr;":"𝒶","Auml;":"Ä","auml;":"ä","Barv;":"⫧","bbrk;":"⎵","Beta;":"Β","beta;":"β","beth;":"ℶ","bNot;":"⫭","bnot;":"⌐","Bopf;":"𝔹","bopf;":"𝕓","boxH;":"═","boxh;":"─","boxV;":"║","boxv;":"│","Bscr;":"ℬ","bscr;":"𝒷","bsim;":"∽","bsol;":"\\","bull;":"•","bump;":"≎","caps;":"∩︀","Cdot;":"Ċ","cdot;":"ċ",cedil:"¸","cent;":"¢","CHcy;":"Ч","chcy;":"ч","circ;":"ˆ","cirE;":"⧃","cire;":"≗","comp;":"∁","cong;":"≅","Copf;":"ℂ","copf;":"𝕔","COPY;":"©","copy;":"©","Cscr;":"𝒞","cscr;":"𝒸","csub;":"⫏","csup;":"⫐","cups;":"∪︀","Darr;":"↡","dArr;":"⇓","darr;":"↓","dash;":"‐","dHar;":"⥥","diam;":"⋄","DJcy;":"Ђ","djcy;":"ђ","Dopf;":"𝔻","dopf;":"𝕕","Dscr;":"𝒟","dscr;":"𝒹","DScy;":"Ѕ","dscy;":"ѕ","dsol;":"⧶","dtri;":"▿","DZcy;":"Џ","dzcy;":"џ","ecir;":"≖",Ecirc:"Ê",ecirc:"ê","Edot;":"Ė","eDot;":"≑","edot;":"ė","emsp;":" ","ensp;":" ","Eopf;":"𝔼","eopf;":"𝕖","epar;":"⋕","epsi;":"ε","Escr;":"ℰ","escr;":"ℯ","Esim;":"⩳","esim;":"≂","Euml;":"Ë","euml;":"ë","euro;":"€","excl;":"!","flat;":"♭","fnof;":"ƒ","Fopf;":"𝔽","fopf;":"𝕗","fork;":"⋔","Fscr;":"ℱ","fscr;":"𝒻","Gdot;":"Ġ","gdot;":"ġ","geqq;":"≧","gesl;":"⋛︀","GJcy;":"Ѓ","gjcy;":"ѓ","gnap;":"⪊","gneq;":"⪈","Gopf;":"𝔾","gopf;":"𝕘","Gscr;":"𝒢","gscr;":"ℊ","gsim;":"≳","gtcc;":"⪧","gvnE;":"≩︀","half;":"½","hArr;":"⇔","harr;":"↔","hbar;":"ℏ","Hopf;":"ℍ","hopf;":"𝕙","Hscr;":"ℋ","hscr;":"𝒽",Icirc:"Î",icirc:"î","Idot;":"İ","IEcy;":"Е","iecy;":"е",iexcl:"¡","imof;":"⊷","IOcy;":"Ё","iocy;":"ё","Iopf;":"𝕀","iopf;":"𝕚","Iota;":"Ι","iota;":"ι","Iscr;":"ℐ","iscr;":"𝒾","isin;":"∈","Iuml;":"Ï","iuml;":"ï","Jopf;":"𝕁","jopf;":"𝕛","Jscr;":"𝒥","jscr;":"𝒿","KHcy;":"Х","khcy;":"х","KJcy;":"Ќ","kjcy;":"ќ","Kopf;":"𝕂","kopf;":"𝕜","Kscr;":"𝒦","kscr;":"𝓀","Lang;":"⟪","lang;":"⟨",laquo:"«","Larr;":"↞","lArr;":"⇐","larr;":"←","late;":"⪭","lcub;":"{","ldca;":"⤶","ldsh;":"↲","leqq;":"≦","lesg;":"⋚︀","lHar;":"⥢","LJcy;":"Љ","ljcy;":"љ","lnap;":"⪉","lneq;":"⪇","Lopf;":"𝕃","lopf;":"𝕝","lozf;":"⧫","lpar;":"(","Lscr;":"ℒ","lscr;":"𝓁","lsim;":"≲","lsqb;":"[","ltcc;":"⪦","ltri;":"◃","lvnE;":"≨︀","macr;":"¯","male;":"♂","malt;":"✠",micro:"µ","mlcp;":"⫛","mldr;":"…","Mopf;":"𝕄","mopf;":"𝕞","Mscr;":"ℳ","mscr;":"𝓂","nang;":"∠⃒","napE;":"⩰̸","nbsp;":" ","ncap;":"⩃","ncup;":"⩂","ngeq;":"≱","nges;":"⩾̸","ngtr;":"≯","nGtv;":"≫̸","nisd;":"⋺","NJcy;":"Њ","njcy;":"њ","nldr;":"‥","nleq;":"≰","nles;":"⩽̸","nLtv;":"≪̸","nmid;":"∤","Nopf;":"ℕ","nopf;":"𝕟","npar;":"∦","npre;":"⪯̸","nsce;":"⪰̸","Nscr;":"𝒩","nscr;":"𝓃","nsim;":"≁","nsub;":"⊄","nsup;":"⊅","ntgl;":"≹","ntlg;":"≸","nvap;":"≍⃒","nvge;":"≥⃒","nvgt;":">⃒","nvle;":"≤⃒","nvlt;":"<⃒","oast;":"⊛","ocir;":"⊚",Ocirc:"Ô",ocirc:"ô","odiv;":"⨸","odot;":"⊙","ogon;":"˛","oint;":"∮","omid;":"⦶","Oopf;":"𝕆","oopf;":"𝕠","opar;":"⦷","ordf;":"ª","ordm;":"º","oror;":"⩖","Oscr;":"𝒪","oscr;":"ℴ","osol;":"⊘","Ouml;":"Ö","ouml;":"ö","para;":"¶","part;":"∂","perp;":"⊥","phiv;":"ϕ","plus;":"+","Popf;":"ℙ","popf;":"𝕡",pound:"£","prap;":"⪷","prec;":"≺","prnE;":"⪵","prod;":"∏","prop;":"∝","Pscr;":"𝒫","pscr;":"𝓅","qint;":"⨌","Qopf;":"ℚ","qopf;":"𝕢","Qscr;":"𝒬","qscr;":"𝓆","QUOT;":'"',"quot;":'"',"race;":"∽̱","Rang;":"⟫","rang;":"⟩",raquo:"»","Rarr;":"↠","rArr;":"⇒","rarr;":"→","rcub;":"}","rdca;":"⤷","rdsh;":"↳","real;":"ℜ","rect;":"▭","rHar;":"⥤","rhov;":"ϱ","ring;":"˚","Ropf;":"ℝ","ropf;":"𝕣","rpar;":")","Rscr;":"ℛ","rscr;":"𝓇","rsqb;":"]","rtri;":"▹","scap;":"⪸","scnE;":"⪶","sdot;":"⋅","sect;":"§","semi;":";","sext;":"✶","SHcy;":"Ш","shcy;":"ш","sime;":"≃","simg;":"⪞","siml;":"⪝","smid;":"∣","smte;":"⪬","solb;":"⧄","Sopf;":"𝕊","sopf;":"𝕤","spar;":"∥","Sqrt;":"√","squf;":"▪","Sscr;":"𝒮","sscr;":"𝓈","Star;":"⋆","star;":"☆","subE;":"⫅","sube;":"⊆","succ;":"≻","sung;":"♪","sup1;":"¹","sup2;":"²","sup3;":"³","supE;":"⫆","supe;":"⊇",szlig:"ß","tbrk;":"⎴","tdot;":"⃛",THORN:"Þ",thorn:"þ",times:"×","tint;":"∭","toea;":"⤨","Topf;":"𝕋","topf;":"𝕥","tosa;":"⤩","trie;":"≜","Tscr;":"𝒯","tscr;":"𝓉","TScy;":"Ц","tscy;":"ц","Uarr;":"↟","uArr;":"⇑","uarr;":"↑",Ucirc:"Û",ucirc:"û","uHar;":"⥣","Uopf;":"𝕌","uopf;":"𝕦","Upsi;":"ϒ","upsi;":"υ","Uscr;":"𝒰","uscr;":"𝓊","utri;":"▵","Uuml;":"Ü","uuml;":"ü","vArr;":"⇕","varr;":"↕","Vbar;":"⫫","vBar;":"⫨","Vert;":"‖","vert;":"|","Vopf;":"𝕍","vopf;":"𝕧","Vscr;":"𝒱","vscr;":"𝓋","Wopf;":"𝕎","wopf;":"𝕨","Wscr;":"𝒲","wscr;":"𝓌","xcap;":"⋂","xcup;":"⋃","xmap;":"⟼","xnis;":"⋻","Xopf;":"𝕏","xopf;":"𝕩","Xscr;":"𝒳","xscr;":"𝓍","xvee;":"⋁","YAcy;":"Я","yacy;":"я","YIcy;":"Ї","yicy;":"ї","Yopf;":"𝕐","yopf;":"𝕪","Yscr;":"𝒴","yscr;":"𝓎","YUcy;":"Ю","yucy;":"ю","Yuml;":"Ÿ","yuml;":"ÿ","Zdot;":"Ż","zdot;":"ż","Zeta;":"Ζ","zeta;":"ζ","ZHcy;":"Ж","zhcy;":"ж","Zopf;":"ℤ","zopf;":"𝕫","Zscr;":"𝒵","zscr;":"𝓏","zwnj;":"",Aacute:"Á",aacute:"á","Acirc;":"Â","acirc;":"â","acute;":"´","AElig;":"Æ","aelig;":"æ",Agrave:"À",agrave:"à","aleph;":"ℵ","Alpha;":"Α","alpha;":"α","Amacr;":"Ā","amacr;":"ā","amalg;":"⨿","angle;":"∠","angrt;":"∟","angst;":"Å","Aogon;":"Ą","aogon;":"ą","Aring;":"Å","aring;":"å","asymp;":"≈",Atilde:"Ã",atilde:"ã","awint;":"⨑","bcong;":"≌","bdquo;":"„","bepsi;":"϶","blank;":"␣","blk12;":"▒","blk14;":"░","blk34;":"▓","block;":"█","boxDL;":"╗","boxDl;":"╖","boxdL;":"╕","boxdl;":"┐","boxDR;":"╔","boxDr;":"╓","boxdR;":"╒","boxdr;":"┌","boxHD;":"╦","boxHd;":"╤","boxhD;":"╥","boxhd;":"┬","boxHU;":"╩","boxHu;":"╧","boxhU;":"╨","boxhu;":"┴","boxUL;":"╝","boxUl;":"╜","boxuL;":"╛","boxul;":"┘","boxUR;":"╚","boxUr;":"╙","boxuR;":"╘","boxur;":"└","boxVH;":"╬","boxVh;":"╫","boxvH;":"╪","boxvh;":"┼","boxVL;":"╣","boxVl;":"╢","boxvL;":"╡","boxvl;":"┤","boxVR;":"╠","boxVr;":"╟","boxvR;":"╞","boxvr;":"├","Breve;":"˘","breve;":"˘",brvbar:"¦","bsemi;":"⁏","bsime;":"⋍","bsolb;":"⧅","bumpE;":"⪮","bumpe;":"≏","caret;":"⁁","caron;":"ˇ","ccaps;":"⩍",Ccedil:"Ç",ccedil:"ç","Ccirc;":"Ĉ","ccirc;":"ĉ","ccups;":"⩌","cedil;":"¸","check;":"✓","clubs;":"♣","Colon;":"∷","colon;":":","comma;":",","crarr;":"↵","Cross;":"⨯","cross;":"✗","csube;":"⫑","csupe;":"⫒","ctdot;":"⋯","cuepr;":"⋞","cuesc;":"⋟","cupor;":"⩅",curren:"¤","cuvee;":"⋎","cuwed;":"⋏","cwint;":"∱","Dashv;":"⫤","dashv;":"⊣","dblac;":"˝","ddarr;":"⇊","Delta;":"Δ","delta;":"δ","dharl;":"⇃","dharr;":"⇂","diams;":"♦","disin;":"⋲",divide:"÷","doteq;":"≐","dtdot;":"⋱","dtrif;":"▾","duarr;":"⇵","duhar;":"⥯",Eacute:"É",eacute:"é","Ecirc;":"Ê","ecirc;":"ê","eDDot;":"⩷","efDot;":"≒",Egrave:"È",egrave:"è","Emacr;":"Ē","emacr;":"ē","empty;":"∅","Eogon;":"Ę","eogon;":"ę","eplus;":"⩱","epsiv;":"ϵ","eqsim;":"≂","Equal;":"⩵","equiv;":"≡","erarr;":"⥱","erDot;":"≓","esdot;":"≐","exist;":"∃","fflig;":"ff","filig;":"fi","fjlig;":"fj","fllig;":"fl","fltns;":"▱","forkv;":"⫙",frac12:"½",frac14:"¼",frac34:"¾","frasl;":"⁄","frown;":"⌢","Gamma;":"Γ","gamma;":"γ","Gcirc;":"Ĝ","gcirc;":"ĝ","gescc;":"⪩","gimel;":"ℷ","gneqq;":"≩","gnsim;":"⋧","grave;":"`","gsime;":"⪎","gsiml;":"⪐","gtcir;":"⩺","gtdot;":"⋗","Hacek;":"ˇ","harrw;":"↭","Hcirc;":"Ĥ","hcirc;":"ĥ","hoarr;":"⇿",Iacute:"Í",iacute:"í","Icirc;":"Î","icirc;":"î","iexcl;":"¡",Igrave:"Ì",igrave:"ì","iiint;":"∭","iiota;":"℩","IJlig;":"IJ","ijlig;":"ij","Imacr;":"Ī","imacr;":"ī","image;":"ℑ","imath;":"ı","imped;":"Ƶ","infin;":"∞","Iogon;":"Į","iogon;":"į","iprod;":"⨼",iquest:"¿","isinE;":"⋹","isins;":"⋴","isinv;":"∈","Iukcy;":"І","iukcy;":"і","Jcirc;":"Ĵ","jcirc;":"ĵ","jmath;":"ȷ","Jukcy;":"Є","jukcy;":"є","Kappa;":"Κ","kappa;":"κ","lAarr;":"⇚","langd;":"⦑","laquo;":"«","larrb;":"⇤","lates;":"⪭︀","lBarr;":"⤎","lbarr;":"⤌","lbbrk;":"❲","lbrke;":"⦋","lceil;":"⌈","ldquo;":"“","lescc;":"⪨","lhard;":"↽","lharu;":"↼","lhblk;":"▄","llarr;":"⇇","lltri;":"◺","lneqq;":"≨","lnsim;":"⋦","loang;":"⟬","loarr;":"⇽","lobrk;":"⟦","lopar;":"⦅","lrarr;":"⇆","lrhar;":"⇋","lrtri;":"⊿","lsime;":"⪍","lsimg;":"⪏","lsquo;":"‘","ltcir;":"⩹","ltdot;":"⋖","ltrie;":"⊴","ltrif;":"◂","mdash;":"—","mDDot;":"∺","micro;":"µ",middot:"·","minus;":"−","mumap;":"⊸","nabla;":"∇","napid;":"≋̸","napos;":"ʼn","natur;":"♮","nbump;":"≎̸","ncong;":"≇","ndash;":"–","neArr;":"⇗","nearr;":"↗","nedot;":"≐̸","nesim;":"≂̸","ngeqq;":"≧̸","ngsim;":"≵","nhArr;":"⇎","nharr;":"↮","nhpar;":"⫲","nlArr;":"⇍","nlarr;":"↚","nleqq;":"≦̸","nless;":"≮","nlsim;":"≴","nltri;":"⋪","notin;":"∉","notni;":"∌","npart;":"∂̸","nprec;":"⊀","nrArr;":"⇏","nrarr;":"↛","nrtri;":"⋫","nsime;":"≄","nsmid;":"∤","nspar;":"∦","nsubE;":"⫅̸","nsube;":"⊈","nsucc;":"⊁","nsupE;":"⫆̸","nsupe;":"⊉",Ntilde:"Ñ",ntilde:"ñ","numsp;":" ","nvsim;":"∼⃒","nwArr;":"⇖","nwarr;":"↖",Oacute:"Ó",oacute:"ó","Ocirc;":"Ô","ocirc;":"ô","odash;":"⊝","OElig;":"Œ","oelig;":"œ","ofcir;":"⦿",Ograve:"Ò",ograve:"ò","ohbar;":"⦵","olarr;":"↺","olcir;":"⦾","oline;":"‾","Omacr;":"Ō","omacr;":"ō","Omega;":"Ω","omega;":"ω","operp;":"⦹","oplus;":"⊕","orarr;":"↻","order;":"ℴ",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ","ovbar;":"⌽","parsl;":"⫽","phone;":"☎","plusb;":"⊞","pluse;":"⩲",plusmn:"±","pound;":"£","prcue;":"≼","Prime;":"″","prime;":"′","prnap;":"⪹","prsim;":"≾","quest;":"?","rAarr;":"⇛","radic;":"√","rangd;":"⦒","range;":"⦥","raquo;":"»","rarrb;":"⇥","rarrc;":"⤳","rarrw;":"↝","ratio;":"∶","RBarr;":"⤐","rBarr;":"⤏","rbarr;":"⤍","rbbrk;":"❳","rbrke;":"⦌","rceil;":"⌉","rdquo;":"”","reals;":"ℝ","rhard;":"⇁","rharu;":"⇀","rlarr;":"⇄","rlhar;":"⇌","rnmid;":"⫮","roang;":"⟭","roarr;":"⇾","robrk;":"⟧","ropar;":"⦆","rrarr;":"⇉","rsquo;":"’","rtrie;":"⊵","rtrif;":"▸","sbquo;":"‚","sccue;":"≽","Scirc;":"Ŝ","scirc;":"ŝ","scnap;":"⪺","scsim;":"≿","sdotb;":"⊡","sdote;":"⩦","seArr;":"⇘","searr;":"↘","setmn;":"∖","sharp;":"♯","Sigma;":"Σ","sigma;":"σ","simeq;":"≃","simgE;":"⪠","simlE;":"⪟","simne;":"≆","slarr;":"←","smile;":"⌣","smtes;":"⪬︀","sqcap;":"⊓","sqcup;":"⊔","sqsub;":"⊏","sqsup;":"⊐","srarr;":"→","starf;":"★","strns;":"¯","subnE;":"⫋","subne;":"⊊","supnE;":"⫌","supne;":"⊋","swArr;":"⇙","swarr;":"↙","szlig;":"ß","Theta;":"Θ","theta;":"θ","thkap;":"≈","THORN;":"Þ","thorn;":"þ","Tilde;":"∼","tilde;":"˜","times;":"×","TRADE;":"™","trade;":"™","trisb;":"⧍","TSHcy;":"Ћ","tshcy;":"ћ","twixt;":"≬",Uacute:"Ú",uacute:"ú","Ubrcy;":"Ў","ubrcy;":"ў","Ucirc;":"Û","ucirc;":"û","udarr;":"⇅","udhar;":"⥮",Ugrave:"Ù",ugrave:"ù","uharl;":"↿","uharr;":"↾","uhblk;":"▀","ultri;":"◸","Umacr;":"Ū","umacr;":"ū","Union;":"⋃","Uogon;":"Ų","uogon;":"ų","uplus;":"⊎","upsih;":"ϒ","UpTee;":"⊥","Uring;":"Ů","uring;":"ů","urtri;":"◹","utdot;":"⋰","utrif;":"▴","uuarr;":"⇈","varpi;":"ϖ","vBarv;":"⫩","VDash;":"⊫","Vdash;":"⊩","vDash;":"⊨","vdash;":"⊢","veeeq;":"≚","vltri;":"⊲","vnsub;":"⊂⃒","vnsup;":"⊃⃒","vprop;":"∝","vrtri;":"⊳","Wcirc;":"Ŵ","wcirc;":"ŵ","Wedge;":"⋀","wedge;":"∧","xcirc;":"◯","xdtri;":"▽","xhArr;":"⟺","xharr;":"⟷","xlArr;":"⟸","xlarr;":"⟵","xodot;":"⨀","xrArr;":"⟹","xrarr;":"⟶","xutri;":"△",Yacute:"Ý",yacute:"ý","Ycirc;":"Ŷ","ycirc;":"ŷ","Aacute;":"Á","aacute;":"á","Abreve;":"Ă","abreve;":"ă","Agrave;":"À","agrave;":"à","andand;":"⩕","angmsd;":"∡","angsph;":"∢","apacir;":"⩯","approx;":"≈","Assign;":"≔","Atilde;":"Ã","atilde;":"ã","barvee;":"⊽","Barwed;":"⌆","barwed;":"⌅","becaus;":"∵","bernou;":"ℬ","bigcap;":"⋂","bigcup;":"⋃","bigvee;":"⋁","bkarow;":"⤍","bottom;":"⊥","bowtie;":"⋈","boxbox;":"⧉","bprime;":"‵","brvbar;":"¦","bullet;":"•","Bumpeq;":"≎","bumpeq;":"≏","Cacute;":"Ć","cacute;":"ć","capand;":"⩄","capcap;":"⩋","capcup;":"⩇","capdot;":"⩀","Ccaron;":"Č","ccaron;":"č","Ccedil;":"Ç","ccedil;":"ç","circeq;":"≗","cirmid;":"⫯","Colone;":"⩴","colone;":"≔","commat;":"@","compfn;":"∘","Conint;":"∯","conint;":"∮","coprod;":"∐","copysr;":"℗","cularr;":"↶","CupCap;":"≍","cupcap;":"⩆","cupcup;":"⩊","cupdot;":"⊍","curarr;":"↷","curren;":"¤","cylcty;":"⌭","Dagger;":"‡","dagger;":"†","daleth;":"ℸ","Dcaron;":"Ď","dcaron;":"ď","dfisht;":"⥿","divide;":"÷","divonx;":"⋇","dlcorn;":"⌞","dlcrop;":"⌍","dollar;":"$","DotDot;":"⃜","drcorn;":"⌟","drcrop;":"⌌","Dstrok;":"Đ","dstrok;":"đ","Eacute;":"É","eacute;":"é","easter;":"⩮","Ecaron;":"Ě","ecaron;":"ě","ecolon;":"≕","Egrave;":"È","egrave;":"è","egsdot;":"⪘","elsdot;":"⪗","emptyv;":"∅","emsp13;":" ","emsp14;":" ","eparsl;":"⧣","eqcirc;":"≖","equals;":"=","equest;":"≟","Exists;":"∃","female;":"♀","ffilig;":"ffi","ffllig;":"ffl","ForAll;":"∀","forall;":"∀","frac12;":"½","frac13;":"⅓","frac14;":"¼","frac15;":"⅕","frac16;":"⅙","frac18;":"⅛","frac23;":"⅔","frac25;":"⅖","frac34;":"¾","frac35;":"⅗","frac38;":"⅜","frac45;":"⅘","frac56;":"⅚","frac58;":"⅝","frac78;":"⅞","gacute;":"ǵ","Gammad;":"Ϝ","gammad;":"ϝ","Gbreve;":"Ğ","gbreve;":"ğ","Gcedil;":"Ģ","gesdot;":"⪀","gesles;":"⪔","gtlPar;":"⦕","gtrarr;":"⥸","gtrdot;":"⋗","gtrsim;":"≳","hairsp;":" ","hamilt;":"ℋ","HARDcy;":"Ъ","hardcy;":"ъ","hearts;":"♥","hellip;":"…","hercon;":"⊹","homtht;":"∻","horbar;":"―","hslash;":"ℏ","Hstrok;":"Ħ","hstrok;":"ħ","hybull;":"⁃","hyphen;":"‐","Iacute;":"Í","iacute;":"í","Igrave;":"Ì","igrave;":"ì","iiiint;":"⨌","iinfin;":"⧜","incare;":"℅","inodot;":"ı","intcal;":"⊺","iquest;":"¿","isinsv;":"⋳","Itilde;":"Ĩ","itilde;":"ĩ","Jsercy;":"Ј","jsercy;":"ј","kappav;":"ϰ","Kcedil;":"Ķ","kcedil;":"ķ","kgreen;":"ĸ","Lacute;":"Ĺ","lacute;":"ĺ","lagran;":"ℒ","Lambda;":"Λ","lambda;":"λ","langle;":"⟨","larrfs;":"⤝","larrhk;":"↩","larrlp;":"↫","larrpl;":"⤹","larrtl;":"↢","lAtail;":"⤛","latail;":"⤙","lbrace;":"{","lbrack;":"[","Lcaron;":"Ľ","lcaron;":"ľ","Lcedil;":"Ļ","lcedil;":"ļ","ldquor;":"„","lesdot;":"⩿","lesges;":"⪓","lfisht;":"⥼","lfloor;":"⌊","lharul;":"⥪","llhard;":"⥫","Lmidot;":"Ŀ","lmidot;":"ŀ","lmoust;":"⎰","loplus;":"⨭","lowast;":"∗","lowbar;":"_","lparlt;":"⦓","lrhard;":"⥭","lsaquo;":"‹","lsquor;":"‚","Lstrok;":"Ł","lstrok;":"ł","lthree;":"⋋","ltimes;":"⋉","ltlarr;":"⥶","ltrPar;":"⦖","mapsto;":"↦","marker;":"▮","mcomma;":"⨩","midast;":"*","midcir;":"⫰","middot;":"·","minusb;":"⊟","minusd;":"∸","mnplus;":"∓","models;":"⊧","mstpos;":"∾","Nacute;":"Ń","nacute;":"ń","nbumpe;":"≏̸","Ncaron;":"Ň","ncaron;":"ň","Ncedil;":"Ņ","ncedil;":"ņ","nearhk;":"⤤","nequiv;":"≢","nesear;":"⤨","nexist;":"∄","nltrie;":"⋬","notinE;":"⋹̸","nparsl;":"⫽⃥","nprcue;":"⋠","nrarrc;":"⤳̸","nrarrw;":"↝̸","nrtrie;":"⋭","nsccue;":"⋡","nsimeq;":"≄","Ntilde;":"Ñ","ntilde;":"ñ","numero;":"№","nVDash;":"⊯","nVdash;":"⊮","nvDash;":"⊭","nvdash;":"⊬","nvHarr;":"⤄","nvlArr;":"⤂","nvrArr;":"⤃","nwarhk;":"⤣","nwnear;":"⤧","Oacute;":"Ó","oacute;":"ó","Odblac;":"Ő","odblac;":"ő","odsold;":"⦼","Ograve;":"Ò","ograve;":"ò","ominus;":"⊖","origof;":"⊶","Oslash;":"Ø","oslash;":"ø","Otilde;":"Õ","otilde;":"õ","Otimes;":"⨷","otimes;":"⊗","parsim;":"⫳","percnt;":"%","period;":".","permil;":"‰","phmmat;":"ℳ","planck;":"ℏ","plankv;":"ℏ","plusdo;":"∔","plusdu;":"⨥","plusmn;":"±","preceq;":"⪯","primes;":"ℙ","prnsim;":"⋨","propto;":"∝","prurel;":"⊰","puncsp;":" ","qprime;":"⁗","Racute;":"Ŕ","racute;":"ŕ","rangle;":"⟩","rarrap;":"⥵","rarrfs;":"⤞","rarrhk;":"↪","rarrlp;":"↬","rarrpl;":"⥅","Rarrtl;":"⤖","rarrtl;":"↣","rAtail;":"⤜","ratail;":"⤚","rbrace;":"}","rbrack;":"]","Rcaron;":"Ř","rcaron;":"ř","Rcedil;":"Ŗ","rcedil;":"ŗ","rdquor;":"”","rfisht;":"⥽","rfloor;":"⌋","rharul;":"⥬","rmoust;":"⎱","roplus;":"⨮","rpargt;":"⦔","rsaquo;":"›","rsquor;":"’","rthree;":"⋌","rtimes;":"⋊","Sacute;":"Ś","sacute;":"ś","Scaron;":"Š","scaron;":"š","Scedil;":"Ş","scedil;":"ş","scnsim;":"⋩","searhk;":"⤥","seswar;":"⤩","sfrown;":"⌢","SHCHcy;":"Щ","shchcy;":"щ","sigmaf;":"ς","sigmav;":"ς","simdot;":"⩪","smashp;":"⨳","SOFTcy;":"Ь","softcy;":"ь","solbar;":"⌿","spades;":"♠","sqcaps;":"⊓︀","sqcups;":"⊔︀","sqsube;":"⊑","sqsupe;":"⊒","Square;":"□","square;":"□","squarf;":"▪","ssetmn;":"∖","ssmile;":"⌣","sstarf;":"⋆","subdot;":"⪽","Subset;":"⋐","subset;":"⊂","subsim;":"⫇","subsub;":"⫕","subsup;":"⫓","succeq;":"⪰","supdot;":"⪾","Supset;":"⋑","supset;":"⊃","supsim;":"⫈","supsub;":"⫔","supsup;":"⫖","swarhk;":"⤦","swnwar;":"⤪","target;":"⌖","Tcaron;":"Ť","tcaron;":"ť","Tcedil;":"Ţ","tcedil;":"ţ","telrec;":"⌕","there4;":"∴","thetav;":"ϑ","thinsp;":" ","thksim;":"∼","timesb;":"⊠","timesd;":"⨰","topbot;":"⌶","topcir;":"⫱","tprime;":"‴","tridot;":"◬","Tstrok;":"Ŧ","tstrok;":"ŧ","Uacute;":"Ú","uacute;":"ú","Ubreve;":"Ŭ","ubreve;":"ŭ","Udblac;":"Ű","udblac;":"ű","ufisht;":"⥾","Ugrave;":"Ù","ugrave;":"ù","ulcorn;":"⌜","ulcrop;":"⌏","urcorn;":"⌝","urcrop;":"⌎","Utilde;":"Ũ","utilde;":"ũ","vangrt;":"⦜","varphi;":"ϕ","varrho;":"ϱ","Vdashl;":"⫦","veebar;":"⊻","vellip;":"⋮","Verbar;":"‖","verbar;":"|","vsubnE;":"⫋︀","vsubne;":"⊊︀","vsupnE;":"⫌︀","vsupne;":"⊋︀","Vvdash;":"⊪","wedbar;":"⩟","wedgeq;":"≙","weierp;":"℘","wreath;":"≀","xoplus;":"⨁","xotime;":"⨂","xsqcup;":"⨆","xuplus;":"⨄","xwedge;":"⋀","Yacute;":"Ý","yacute;":"ý","Zacute;":"Ź","zacute;":"ź","Zcaron;":"Ž","zcaron;":"ž","zeetrf;":"ℨ","alefsym;":"ℵ","angrtvb;":"⊾","angzarr;":"⍼","asympeq;":"≍","backsim;":"∽","Because;":"∵","because;":"∵","bemptyv;":"⦰","between;":"≬","bigcirc;":"◯","bigodot;":"⨀","bigstar;":"★","bnequiv;":"≡⃥","boxplus;":"⊞","Cayleys;":"ℭ","Cconint;":"∰","ccupssm;":"⩐","Cedilla;":"¸","cemptyv;":"⦲","cirscir;":"⧂","coloneq;":"≔","congdot;":"⩭","cudarrl;":"⤸","cudarrr;":"⤵","cularrp;":"⤽","curarrm;":"⤼","dbkarow;":"⤏","ddagger;":"‡","ddotseq;":"⩷","demptyv;":"⦱","Diamond;":"⋄","diamond;":"⋄","digamma;":"ϝ","dotplus;":"∔","DownTee;":"⊤","dwangle;":"⦦","Element;":"∈","Epsilon;":"Ε","epsilon;":"ε","eqcolon;":"≕","equivDD;":"⩸","gesdoto;":"⪂","gtquest;":"⩼","gtrless;":"≷","harrcir;":"⥈","Implies;":"⇒","intprod;":"⨼","isindot;":"⋵","larrbfs;":"⤟","larrsim;":"⥳","lbrksld;":"⦏","lbrkslu;":"⦍","ldrdhar;":"⥧","LeftTee;":"⊣","lesdoto;":"⪁","lessdot;":"⋖","lessgtr;":"≶","lesssim;":"≲","lotimes;":"⨴","lozenge;":"◊","ltquest;":"⩻","luruhar;":"⥦","maltese;":"✠","minusdu;":"⨪","napprox;":"≉","natural;":"♮","nearrow;":"↗","NewLine;":` +`,"nexists;":"∄","NoBreak;":"","notinva;":"∉","notinvb;":"⋷","notinvc;":"⋶","NotLess;":"≮","notniva;":"∌","notnivb;":"⋾","notnivc;":"⋽","npolint;":"⨔","npreceq;":"⪯̸","nsqsube;":"⋢","nsqsupe;":"⋣","nsubset;":"⊂⃒","nsucceq;":"⪰̸","nsupset;":"⊃⃒","nvinfin;":"⧞","nvltrie;":"⊴⃒","nvrtrie;":"⊵⃒","nwarrow;":"↖","olcross;":"⦻","Omicron;":"Ο","omicron;":"ο","orderof;":"ℴ","orslope;":"⩗","OverBar;":"‾","pertenk;":"‱","planckh;":"ℎ","pluscir;":"⨢","plussim;":"⨦","plustwo;":"⨧","precsim;":"≾","Product;":"∏","quatint;":"⨖","questeq;":"≟","rarrbfs;":"⤠","rarrsim;":"⥴","rbrksld;":"⦎","rbrkslu;":"⦐","rdldhar;":"⥩","realine;":"ℛ","rotimes;":"⨵","ruluhar;":"⥨","searrow;":"↘","simplus;":"⨤","simrarr;":"⥲","subedot;":"⫃","submult;":"⫁","subplus;":"⪿","subrarr;":"⥹","succsim;":"≿","supdsub;":"⫘","supedot;":"⫄","suphsol;":"⟉","suphsub;":"⫗","suplarr;":"⥻","supmult;":"⫂","supplus;":"⫀","swarrow;":"↙","topfork;":"⫚","triplus;":"⨹","tritime;":"⨻","UpArrow;":"↑","Uparrow;":"⇑","uparrow;":"↑","Upsilon;":"Υ","upsilon;":"υ","uwangle;":"⦧","vzigzag;":"⦚","zigrarr;":"⇝","andslope;":"⩘","angmsdaa;":"⦨","angmsdab;":"⦩","angmsdac;":"⦪","angmsdad;":"⦫","angmsdae;":"⦬","angmsdaf;":"⦭","angmsdag;":"⦮","angmsdah;":"⦯","angrtvbd;":"⦝","approxeq;":"≊","awconint;":"∳","backcong;":"≌","barwedge;":"⌅","bbrktbrk;":"⎶","bigoplus;":"⨁","bigsqcup;":"⨆","biguplus;":"⨄","bigwedge;":"⋀","boxminus;":"⊟","boxtimes;":"⊠","bsolhsub;":"⟈","capbrcup;":"⩉","circledR;":"®","circledS;":"Ⓢ","cirfnint;":"⨐","clubsuit;":"♣","cupbrcap;":"⩈","curlyvee;":"⋎","cwconint;":"∲","DDotrahd;":"⤑","doteqdot;":"≑","DotEqual;":"≐","dotminus;":"∸","drbkarow;":"⤐","dzigrarr;":"⟿","elinters;":"⏧","emptyset;":"∅","eqvparsl;":"⧥","fpartint;":"⨍","geqslant;":"⩾","gesdotol;":"⪄","gnapprox;":"⪊","hksearow;":"⤥","hkswarow;":"⤦","imagline;":"ℐ","imagpart;":"ℑ","infintie;":"⧝","integers;":"ℤ","Integral;":"∫","intercal;":"⊺","intlarhk;":"⨗","laemptyv;":"⦴","ldrushar;":"⥋","leqslant;":"⩽","lesdotor;":"⪃","LessLess;":"⪡","llcorner;":"⌞","lnapprox;":"⪉","lrcorner;":"⌟","lurdshar;":"⥊","mapstoup;":"↥","multimap;":"⊸","naturals;":"ℕ","ncongdot;":"⩭̸","NotEqual;":"≠","notindot;":"⋵̸","NotTilde;":"≁","otimesas;":"⨶","parallel;":"∥","PartialD;":"∂","plusacir;":"⨣","pointint;":"⨕","Precedes;":"≺","precneqq;":"⪵","precnsim;":"⋨","profalar;":"⌮","profline;":"⌒","profsurf;":"⌓","raemptyv;":"⦳","realpart;":"ℜ","RightTee;":"⊢","rppolint;":"⨒","rtriltri;":"⧎","scpolint;":"⨓","setminus;":"∖","shortmid;":"∣","smeparsl;":"⧤","sqsubset;":"⊏","sqsupset;":"⊐","subseteq;":"⊆","Succeeds;":"≻","succneqq;":"⪶","succnsim;":"⋩","SuchThat;":"∋","Superset;":"⊃","supseteq;":"⊇","thetasym;":"ϑ","thicksim;":"∼","timesbar;":"⨱","triangle;":"▵","triminus;":"⨺","trpezium;":"⏢","Uarrocir;":"⥉","ulcorner;":"⌜","UnderBar;":"_","urcorner;":"⌝","varkappa;":"ϰ","varsigma;":"ς","vartheta;":"ϑ","backprime;":"‵","backsimeq;":"⋍","Backslash;":"∖","bigotimes;":"⨂","CenterDot;":"·","centerdot;":"·","checkmark;":"✓","CircleDot;":"⊙","complexes;":"ℂ","Congruent;":"≡","Coproduct;":"∐","dotsquare;":"⊡","DoubleDot;":"¨","DownArrow;":"↓","Downarrow;":"⇓","downarrow;":"↓","DownBreve;":"̑","gtrapprox;":"⪆","gtreqless;":"⋛","gvertneqq;":"≩︀","heartsuit;":"♥","HumpEqual;":"≏","LeftArrow;":"←","Leftarrow;":"⇐","leftarrow;":"←","LeftFloor;":"⌊","lesseqgtr;":"⋚","LessTilde;":"≲","lvertneqq;":"≨︀","Mellintrf;":"ℳ","MinusPlus;":"∓","ngeqslant;":"⩾̸","nleqslant;":"⩽̸","NotCupCap;":"≭","NotExists;":"∄","NotSubset;":"⊂⃒","nparallel;":"∦","nshortmid;":"∤","nsubseteq;":"⊈","nsupseteq;":"⊉","OverBrace;":"⏞","pitchfork;":"⋔","PlusMinus;":"±","rationals;":"ℚ","spadesuit;":"♠","subseteqq;":"⫅","subsetneq;":"⊊","supseteqq;":"⫆","supsetneq;":"⊋","Therefore;":"∴","therefore;":"∴","ThinSpace;":" ","triangleq;":"≜","TripleDot;":"⃛","UnionPlus;":"⊎","varpropto;":"∝","Bernoullis;":"ℬ","circledast;":"⊛","CirclePlus;":"⊕","complement;":"∁","curlywedge;":"⋏","eqslantgtr;":"⪖","EqualTilde;":"≂","Fouriertrf;":"ℱ","gtreqqless;":"⪌","ImaginaryI;":"ⅈ","Laplacetrf;":"ℒ","LeftVector;":"↼","lessapprox;":"⪅","lesseqqgtr;":"⪋","Lleftarrow;":"⇚","lmoustache;":"⎰","longmapsto;":"⟼","mapstodown;":"↧","mapstoleft;":"↤","nLeftarrow;":"⇍","nleftarrow;":"↚","NotElement;":"∉","NotGreater;":"≯","nsubseteqq;":"⫅̸","nsupseteqq;":"⫆̸","precapprox;":"⪷","Proportion;":"∷","RightArrow;":"→","Rightarrow;":"⇒","rightarrow;":"→","RightFloor;":"⌋","rmoustache;":"⎱","sqsubseteq;":"⊑","sqsupseteq;":"⊒","subsetneqq;":"⫋","succapprox;":"⪸","supsetneqq;":"⫌","ThickSpace;":" ","TildeEqual;":"≃","TildeTilde;":"≈","UnderBrace;":"⏟","UpArrowBar;":"⤒","UpTeeArrow;":"↥","upuparrows;":"⇈","varepsilon;":"ϵ","varnothing;":"∅","backepsilon;":"϶","blacksquare;":"▪","circledcirc;":"⊚","circleddash;":"⊝","CircleMinus;":"⊖","CircleTimes;":"⊗","curlyeqprec;":"⋞","curlyeqsucc;":"⋟","diamondsuit;":"♦","eqslantless;":"⪕","Equilibrium;":"⇌","expectation;":"ℰ","GreaterLess;":"≷","LeftCeiling;":"⌈","LessGreater;":"≶","MediumSpace;":" ","NotLessLess;":"≪̸","NotPrecedes;":"⊀","NotSucceeds;":"⊁","NotSuperset;":"⊃⃒","nRightarrow;":"⇏","nrightarrow;":"↛","OverBracket;":"⎴","preccurlyeq;":"≼","precnapprox;":"⪹","quaternions;":"ℍ","RightVector;":"⇀","Rrightarrow;":"⇛","RuleDelayed;":"⧴","SmallCircle;":"∘","SquareUnion;":"⊔","straightphi;":"ϕ","SubsetEqual;":"⊆","succcurlyeq;":"≽","succnapprox;":"⪺","thickapprox;":"≈","UpDownArrow;":"↕","Updownarrow;":"⇕","updownarrow;":"↕","VerticalBar;":"∣","blacklozenge;":"⧫","DownArrowBar;":"⤓","DownTeeArrow;":"↧","ExponentialE;":"ⅇ","exponentiale;":"ⅇ","GreaterEqual;":"≥","GreaterTilde;":"≳","HilbertSpace;":"ℋ","HumpDownHump;":"≎","Intersection;":"⋂","LeftArrowBar;":"⇤","LeftTeeArrow;":"↤","LeftTriangle;":"⊲","LeftUpVector;":"↿","NotCongruent;":"≢","NotHumpEqual;":"≏̸","NotLessEqual;":"≰","NotLessTilde;":"≴","Proportional;":"∝","RightCeiling;":"⌉","risingdotseq;":"≓","RoundImplies;":"⥰","ShortUpArrow;":"↑","SquareSubset;":"⊏","triangledown;":"▿","triangleleft;":"◃","UnderBracket;":"⎵","varsubsetneq;":"⊊︀","varsupsetneq;":"⊋︀","VerticalLine;":"|","ApplyFunction;":"","bigtriangleup;":"△","blacktriangle;":"▴","DifferentialD;":"ⅆ","divideontimes;":"⋇","DoubleLeftTee;":"⫤","DoubleUpArrow;":"⇑","fallingdotseq;":"≒","hookleftarrow;":"↩","leftarrowtail;":"↢","leftharpoonup;":"↼","LeftTeeVector;":"⥚","LeftVectorBar;":"⥒","LessFullEqual;":"≦","LongLeftArrow;":"⟵","Longleftarrow;":"⟸","longleftarrow;":"⟵","looparrowleft;":"↫","measuredangle;":"∡","NotEqualTilde;":"≂̸","NotTildeEqual;":"≄","NotTildeTilde;":"≉","ntriangleleft;":"⋪","Poincareplane;":"ℌ","PrecedesEqual;":"⪯","PrecedesTilde;":"≾","RightArrowBar;":"⇥","RightTeeArrow;":"↦","RightTriangle;":"⊳","RightUpVector;":"↾","shortparallel;":"∥","smallsetminus;":"∖","SucceedsEqual;":"⪰","SucceedsTilde;":"≿","SupersetEqual;":"⊇","triangleright;":"▹","UpEquilibrium;":"⥮","upharpoonleft;":"↿","varsubsetneqq;":"⫋︀","varsupsetneqq;":"⫌︀","VerticalTilde;":"≀","VeryThinSpace;":" ","curvearrowleft;":"↶","DiacriticalDot;":"˙","doublebarwedge;":"⌆","DoubleRightTee;":"⊨","downdownarrows;":"⇊","DownLeftVector;":"↽","GreaterGreater;":"⪢","hookrightarrow;":"↪","HorizontalLine;":"─","InvisibleComma;":"","InvisibleTimes;":"","LeftDownVector;":"⇃","leftleftarrows;":"⇇","LeftRightArrow;":"↔","Leftrightarrow;":"⇔","leftrightarrow;":"↔","leftthreetimes;":"⋋","LessSlantEqual;":"⩽","LongRightArrow;":"⟶","Longrightarrow;":"⟹","longrightarrow;":"⟶","looparrowright;":"↬","LowerLeftArrow;":"↙","NestedLessLess;":"≪","NotGreaterLess;":"≹","NotLessGreater;":"≸","NotSubsetEqual;":"⊈","NotVerticalBar;":"∤","nshortparallel;":"∦","ntriangleright;":"⋫","OpenCurlyQuote;":"‘","ReverseElement;":"∋","rightarrowtail;":"↣","rightharpoonup;":"⇀","RightTeeVector;":"⥛","RightVectorBar;":"⥓","ShortDownArrow;":"↓","ShortLeftArrow;":"←","SquareSuperset;":"⊐","TildeFullEqual;":"≅","trianglelefteq;":"⊴","upharpoonright;":"↾","UpperLeftArrow;":"↖","ZeroWidthSpace;":"","bigtriangledown;":"▽","circlearrowleft;":"↺","CloseCurlyQuote;":"’","ContourIntegral;":"∮","curvearrowright;":"↷","DoubleDownArrow;":"⇓","DoubleLeftArrow;":"⇐","downharpoonleft;":"⇃","DownRightVector;":"⇁","leftharpoondown;":"↽","leftrightarrows;":"⇆","LeftRightVector;":"⥎","LeftTriangleBar;":"⧏","LeftUpTeeVector;":"⥠","LeftUpVectorBar;":"⥘","LowerRightArrow;":"↘","nLeftrightarrow;":"⇎","nleftrightarrow;":"↮","NotGreaterEqual;":"≱","NotGreaterTilde;":"≵","NotHumpDownHump;":"≎̸","NotLeftTriangle;":"⋪","NotSquareSubset;":"⊏̸","ntrianglelefteq;":"⋬","OverParenthesis;":"⏜","RightDownVector;":"⇂","rightleftarrows;":"⇄","rightsquigarrow;":"↝","rightthreetimes;":"⋌","ShortRightArrow;":"→","straightepsilon;":"ϵ","trianglerighteq;":"⊵","UpperRightArrow;":"↗","vartriangleleft;":"⊲","circlearrowright;":"↻","DiacriticalAcute;":"´","DiacriticalGrave;":"`","DiacriticalTilde;":"˜","DoubleRightArrow;":"⇒","DownArrowUpArrow;":"⇵","downharpoonright;":"⇂","EmptySmallSquare;":"◻","GreaterEqualLess;":"⋛","GreaterFullEqual;":"≧","LeftAngleBracket;":"⟨","LeftUpDownVector;":"⥑","LessEqualGreater;":"⋚","NonBreakingSpace;":" ","NotPrecedesEqual;":"⪯̸","NotRightTriangle;":"⋫","NotSucceedsEqual;":"⪰̸","NotSucceedsTilde;":"≿̸","NotSupersetEqual;":"⊉","ntrianglerighteq;":"⋭","rightharpoondown;":"⇁","rightrightarrows;":"⇉","RightTriangleBar;":"⧐","RightUpTeeVector;":"⥜","RightUpVectorBar;":"⥔","twoheadleftarrow;":"↞","UnderParenthesis;":"⏝","UpArrowDownArrow;":"⇅","vartriangleright;":"⊳","blacktriangledown;":"▾","blacktriangleleft;":"◂","DoubleUpDownArrow;":"⇕","DoubleVerticalBar;":"∥","DownLeftTeeVector;":"⥞","DownLeftVectorBar;":"⥖","FilledSmallSquare;":"◼","GreaterSlantEqual;":"⩾","LeftDoubleBracket;":"⟦","LeftDownTeeVector;":"⥡","LeftDownVectorBar;":"⥙","leftrightharpoons;":"⇋","LeftTriangleEqual;":"⊴","NegativeThinSpace;":"","NotGreaterGreater;":"≫̸","NotLessSlantEqual;":"⩽̸","NotNestedLessLess;":"⪡̸","NotReverseElement;":"∌","NotSquareSuperset;":"⊐̸","NotTildeFullEqual;":"≇","RightAngleBracket;":"⟩","rightleftharpoons;":"⇌","RightUpDownVector;":"⥏","SquareSubsetEqual;":"⊑","twoheadrightarrow;":"↠","VerticalSeparator;":"❘","blacktriangleright;":"▸","DownRightTeeVector;":"⥟","DownRightVectorBar;":"⥗","LongLeftRightArrow;":"⟷","Longleftrightarrow;":"⟺","longleftrightarrow;":"⟷","NegativeThickSpace;":"","NotLeftTriangleBar;":"⧏̸","PrecedesSlantEqual;":"≼","ReverseEquilibrium;":"⇋","RightDoubleBracket;":"⟧","RightDownTeeVector;":"⥝","RightDownVectorBar;":"⥕","RightTriangleEqual;":"⊵","SquareIntersection;":"⊓","SucceedsSlantEqual;":"≽","DoubleLongLeftArrow;":"⟸","DownLeftRightVector;":"⥐","LeftArrowRightArrow;":"⇆","leftrightsquigarrow;":"↭","NegativeMediumSpace;":"","NotGreaterFullEqual;":"≧̸","NotRightTriangleBar;":"⧐̸","RightArrowLeftArrow;":"⇄","SquareSupersetEqual;":"⊒","CapitalDifferentialD;":"ⅅ","DoubleLeftRightArrow;":"⇔","DoubleLongRightArrow;":"⟹","EmptyVerySmallSquare;":"▫","NestedGreaterGreater;":"≫","NotDoubleVerticalBar;":"∦","NotGreaterSlantEqual;":"⩾̸","NotLeftTriangleEqual;":"⋬","NotSquareSubsetEqual;":"⋢","OpenCurlyDoubleQuote;":"“","ReverseUpEquilibrium;":"⥯","CloseCurlyDoubleQuote;":"”","DoubleContourIntegral;":"∯","FilledVerySmallSquare;":"▪","NegativeVeryThinSpace;":"","NotPrecedesSlantEqual;":"⋠","NotRightTriangleEqual;":"⋭","NotSucceedsSlantEqual;":"⋡","DiacriticalDoubleAcute;":"˝","NotSquareSupersetEqual;":"⋣","NotNestedGreaterGreater;":"⪢̸","ClockwiseContourIntegral;":"∲","DoubleLongLeftRightArrow;":"⟺","CounterClockwiseContourIntegral;":"∳"};let fk;const DK=(i,t)=>{let n=0;const a=i.length;let c="";function p(_){n+=_,i=i.slice(_)}for(;n=a){const D=a-n;c+=i.slice(0,D),p(D);break}if(c+=i.slice(0,_.index),p(_.index),_[0]==="&"){let D="",h;if(/[0-9a-z]/i.test(i[1])){fk||(fk=Object.keys(G5).reduce((e,u)=>Math.max(e,u.length),0));for(let e=fk;!h&&e>0;--e)D=i.slice(1,1+e),h=G5[D];if(h){const e=D.endsWith(";");t&&!e&&/[=a-z0-9]/i.test(i[D.length+1]||"")?(c+="&"+D,p(1+D.length)):(c+=h,p(1+D.length))}else c+="&"+D,p(1+D.length)}else c+="&",p(1)}else{const D=_[0]==="",e=(D?/^([0-9a-f]+);?/i:/^([0-9]+);?/).exec(i);if(!e)c+=_[0],p(_[0].length);else{let u=Number.parseInt(e[1],D?16:10);u===0||u>1114111||u>=55296&&u<=57343?u=65533:u>=64976&&u<=65007||(u&65534)===65534||(u>=1&&u<=8||u===11||u>=13&&u<=31||u>=127&&u<=159)&&(u=EK[u]||u),c+=String.fromCodePoint(u),p(e[0].length)}}}return c},EK={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},CK=Xl("style,iframe,script,noscript",!0),Mv={isVoidTag:g9,isNativeTag:i=>zG(i)||VG(i),isPreTag:i=>i==="pre",decodeEntities:DK,isBuiltInComponent:i=>{if(nd(i,"Transition"))return ey;if(nd(i,"TransitionGroup"))return R2},getNamespace(i,t){let n=t?t.ns:0;if(t&&n===2)if(t.tag==="annotation-xml"){if(i==="svg")return 1;t.props.some(a=>a.type===6&&a.name==="encoding"&&a.value!=null&&(a.value.content==="text/html"||a.value.content==="application/xhtml+xml"))&&(n=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&i!=="mglyph"&&i!=="malignmark"&&(n=0);else t&&n===1&&(t.tag==="foreignObject"||t.tag==="desc"||t.tag==="title")&&(n=0);if(n===0){if(i==="svg")return 1;if(i==="math")return 2}return n},getTextMode({tag:i,ns:t}){if(t===0){if(i==="textarea"||i==="title")return 1;if(CK(i))return 2}return 0}},mw=i=>{i.type===1&&i.props.forEach((t,n)=>{t.type===6&&t.name==="style"&&t.value&&(i.props[n]={type:7,name:"bind",arg:ea("style",!0,t.loc),exp:kK(t.value.content,t.loc),modifiers:[],loc:t.loc})})},kK=(i,t)=>{const n=d9(i);return ea(JSON.stringify(n),!1,t,3)};function mf(i,t){return xs(i,t,AK)}const AK={53:"v-html is missing expression.",54:"v-html will override element children.",55:"v-text is missing expression.",56:"v-text will override element children.",57:"v-model can only be used on ,