From f9d2c5db7a070a7b4cf17e25026f970b17012bcb Mon Sep 17 00:00:00 2001 From: nineya <361654768@qq.com> Date: Tue, 21 Mar 2023 10:49:35 +0800 Subject: [PATCH] chore(init): init --- .eslintignore | 1 + .eslintrc.js | 23 + .github/ISSUE_TEMPLATE/bug_report.yml | 58 + .github/ISSUE_TEMPLATE/config.yml | 5 + .github/ISSUE_TEMPLATE/feature_request.yml | 41 + .gitignore | 5 + .npmignore | 5 + .npmrc | 2 + 404.ftl | 2 + 500.ftl | 2 + LICENSE | 21 + README.md | 117 + archives.ftl | 40 + categories.ftl | 39 + category.ftl | 20 + gulpfile.js | 149 + index.ftl | 15 + journals.ftl | 47 + links.ftl | 71 + mail_template/mail_notice.ftl | 59 + mail_template/mail_reply.ftl | 60 + package.json | 54 + photos.ftl | 22 + post.ftl | 5 + post_literature.ftl | 5 + preview.png | Bin 0 -> 2741601 bytes screenshot.png | Bin 0 -> 17262 bytes search.ftl | 14 + settings.yaml | 1885 ++ sheet.ftl | 5 + sheet_literature.ftl | 5 + source/css/cursor/breeze.min.css | 1 + source/css/dshare.min.css | 1 + source/css/mew-custom.min.css | 1 + source/css/post.min.css | 1 + source/css/style.min.css | 1 + source/css/theme.min.css | 1 + source/cursor/breeze/Arrow.cur | Bin 0 -> 4286 bytes source/cursor/breeze/Cross.cur | Bin 0 -> 4286 bytes source/cursor/breeze/Hand.cur | Bin 0 -> 4286 bytes source/cursor/breeze/Handwriting.cur | Bin 0 -> 4286 bytes source/cursor/breeze/Help.cur | Bin 0 -> 4286 bytes source/cursor/breeze/IBeam.cur | Bin 0 -> 4286 bytes source/cursor/breeze/NO.cur | Bin 0 -> 4286 bytes source/cursor/breeze/SizeAll.cur | Bin 0 -> 4286 bytes source/cursor/breeze/SizeNESW.cur | Bin 0 -> 4286 bytes source/cursor/breeze/SizeNS.cur | Bin 0 -> 4286 bytes source/cursor/breeze/SizeNWSE.cur | Bin 0 -> 4286 bytes source/cursor/breeze/SizeWE.cur | Bin 0 -> 4286 bytes source/cursor/breeze/UpArrow.cur | Bin 0 -> 4286 bytes source/font/WenCang.woff2 | Bin 0 -> 890344 bytes source/font/dshare.woff2 | Bin 0 -> 2748 bytes source/img/avatar.svg | 2 + source/img/wordline.webp | Bin 0 -> 106 bytes source/js/autoload.min.js | 1 + source/js/btoc.min.js | 1 + source/js/common.min.js | 1 + source/js/cursor/click/firework.min.js | 1 + source/js/cursor/click/granule.min.js | 1 + source/js/cursor/move/bubbleCursor.min.js | 1 + source/js/cursor/move/emojiCursor.min.js | 1 + source/js/cursor/move/fairyDustCursor.min.js | 1 + .../js/cursor/move/followingDotCursor.min.js | 1 + source/js/cursor/move/ghostCursor.min.js | 1 + source/js/cursor/move/snowflakeCursor.min.js | 1 + .../js/cursor/move/springyEmojiCursor.min.js | 1 + source/js/cursor/move/trailingCursor.min.js | 1 + source/js/dprogress.min.js | 1 + source/js/dshare.min.js | 1 + source/js/dshare.min.js.LICENSE.txt | 0 source/js/effects/circleMagic.min.js | 1 + source/js/effects/sakura.min.js | 1 + source/js/effects/universe.min.js | 1 + source/js/journals.min.js | 1 + source/js/mew-custom.min.js | 15 + source/js/photos.min.js | 1 + source/js/pjax.min.js | 1 + source/js/post.min.js | 1 + source/js/settings.min.js | 1 + source/js/spark-input.min.js | 1 + source/js/sw.min.js | 1 + source/js/utils.min.js | 1 + source/lib/aplayer@1.10.1/APlayer.min.css | 3 + source/lib/aplayer@1.10.1/APlayer.min.css.map | 1 + source/lib/aplayer@1.10.1/APlayer.min.js | 2 + source/lib/aplayer@1.10.1/APlayer.min.js.map | 1 + source/lib/clipboard@2.0.10/clipboard.min.js | 7 + .../fancybox@5.3.7/jquery.fancybox.min.css | 1 + .../lib/fancybox@5.3.7/jquery.fancybox.min.js | 4 + source/lib/font-awesome@4.7.0/HELP-US-OUT.txt | Bin 0 -> 8192 bytes .../font-awesome@4.7.0/css/font-awesome.css | 2337 +++ .../css/font-awesome.min.css | 4 + .../font-awesome@4.7.0/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../fonts/fontawesome-webfont.svg | 2671 +++ .../fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../lib/font-awesome@4.7.0/less/animated.less | 34 + .../less/bordered-pulled.less | 25 + source/lib/font-awesome@4.7.0/less/core.less | 12 + .../font-awesome@4.7.0/less/fixed-width.less | 6 + .../font-awesome@4.7.0/less/font-awesome.less | 18 + source/lib/font-awesome@4.7.0/less/icons.less | 789 + .../lib/font-awesome@4.7.0/less/larger.less | 13 + source/lib/font-awesome@4.7.0/less/list.less | 19 + .../lib/font-awesome@4.7.0/less/mixins.less | 60 + source/lib/font-awesome@4.7.0/less/path.less | 15 + .../less/rotated-flipped.less | 20 + .../less/screen-reader.less | 5 + .../lib/font-awesome@4.7.0/less/stacked.less | 20 + .../font-awesome@4.7.0/less/variables.less | 800 + .../font-awesome@4.7.0/scss/_animated.scss | 34 + .../scss/_bordered-pulled.scss | 25 + source/lib/font-awesome@4.7.0/scss/_core.scss | 12 + .../font-awesome@4.7.0/scss/_fixed-width.scss | 6 + .../lib/font-awesome@4.7.0/scss/_icons.scss | 789 + .../lib/font-awesome@4.7.0/scss/_larger.scss | 13 + source/lib/font-awesome@4.7.0/scss/_list.scss | 19 + .../lib/font-awesome@4.7.0/scss/_mixins.scss | 60 + source/lib/font-awesome@4.7.0/scss/_path.scss | 15 + .../scss/_rotated-flipped.scss | 20 + .../scss/_screen-reader.scss | 5 + .../lib/font-awesome@4.7.0/scss/_stacked.scss | 20 + .../font-awesome@4.7.0/scss/_variables.scss | 800 + .../font-awesome@4.7.0/scss/font-awesome.scss | 18 + .../lib/halo-comment@1.1.2/assets/emoji/a.png | Bin 0 -> 1685 bytes .../halo-comment@1.1.2/assets/emoji/aixin.png | Bin 0 -> 1062 bytes .../assets/emoji/anzhongguancha.png | Bin 0 -> 1496 bytes .../assets/emoji/aoteman.png | Bin 0 -> 2519 bytes .../halo-comment@1.1.2/assets/emoji/aowu.png | Bin 0 -> 6511 bytes .../assets/emoji/bianbian.png | Bin 0 -> 1338 bytes .../halo-comment@1.1.2/assets/emoji/bishi.png | Bin 0 -> 1736 bytes .../assets/emoji/bugaoxing.png | Bin 0 -> 1469 bytes .../halo-comment@1.1.2/assets/emoji/butin.png | Bin 0 -> 2889 bytes .../assets/emoji/caigou.png | Bin 0 -> 3141 bytes .../assets/emoji/caihong.png | Bin 0 -> 1904 bytes .../assets/emoji/chabei.png | Bin 0 -> 1706 bytes .../assets/emoji/chigua.png | Bin 0 -> 1971 bytes .../assets/emoji/damuzhi.png | Bin 0 -> 1696 bytes .../assets/emoji/dangao.png | Bin 0 -> 1872 bytes .../assets/emoji/dengpao.png | Bin 0 -> 1837 bytes .../assets/emoji/ganfan.png | Bin 0 -> 3149 bytes .../halo-comment@1.1.2/assets/emoji/guai.png | Bin 0 -> 1714 bytes .../halo-comment@1.1.2/assets/emoji/haha.png | Bin 0 -> 1627 bytes .../halo-comment@1.1.2/assets/emoji/haha2.png | Bin 0 -> 1807 bytes .../halo-comment@1.1.2/assets/emoji/han.png | Bin 0 -> 1713 bytes .../halo-comment@1.1.2/assets/emoji/hehe.png | Bin 0 -> 1504 bytes .../assets/emoji/heiheihei.png | Bin 0 -> 1969 bytes .../assets/emoji/heitoudengyan.png | Bin 0 -> 1251 bytes .../assets/emoji/heitougaoxing.png | Bin 0 -> 1273 bytes .../assets/emoji/heixian.png | Bin 0 -> 1741 bytes .../halo-comment@1.1.2/assets/emoji/hejiu.png | Bin 0 -> 2077 bytes .../assets/emoji/honglingjin.png | Bin 0 -> 1313 bytes .../halo-comment@1.1.2/assets/emoji/hu.png | Bin 0 -> 1658 bytes .../halo-comment@1.1.2/assets/emoji/huaji.png | Bin 0 -> 1688 bytes .../assets/emoji/huanhu.png | Bin 0 -> 1835 bytes .../assets/emoji/huaxin.png | Bin 0 -> 1881 bytes .../assets/emoji/jingku.png | Bin 0 -> 1906 bytes .../assets/emoji/jingya.png | Bin 0 -> 1718 bytes .../assets/emoji/jinzhang.png | Bin 0 -> 1724 bytes .../assets/emoji/kaixin.png | Bin 0 -> 1556 bytes .../assets/emoji/kejianzhongguancha.png | Bin 0 -> 1635 bytes .../halo-comment@1.1.2/assets/emoji/ku.png | Bin 0 -> 1791 bytes .../assets/emoji/kuanhan.png | Bin 0 -> 1845 bytes .../assets/emoji/kunchenggou.png | Bin 0 -> 2079 bytes .../assets/emoji/landeli.png | Bin 0 -> 1607 bytes .../halo-comment@1.1.2/assets/emoji/laohu.png | Bin 0 -> 7015 bytes .../halo-comment@1.1.2/assets/emoji/lazhu.png | Bin 0 -> 1696 bytes .../halo-comment@1.1.2/assets/emoji/lei.png | Bin 0 -> 1933 bytes .../halo-comment@1.1.2/assets/emoji/len.png | Bin 0 -> 1647 bytes .../halo-comment@1.1.2/assets/emoji/liwu.png | Bin 0 -> 2091 bytes .../assets/emoji/meigui.png | Bin 0 -> 1647 bytes .../assets/emoji/mianqiang.png | Bin 0 -> 1786 bytes .../assets/emoji/nidongde.png | Bin 0 -> 1635 bytes .../halo-comment@1.1.2/assets/emoji/nu.png | Bin 0 -> 1692 bytes .../halo-comment@1.1.2/assets/emoji/ok.png | Bin 0 -> 1730 bytes .../halo-comment@1.1.2/assets/emoji/pen.png | Bin 0 -> 1800 bytes .../halo-comment@1.1.2/assets/emoji/pu.png | Bin 0 -> 2099 bytes .../halo-comment@1.1.2/assets/emoji/qian.png | Bin 0 -> 1781 bytes .../assets/emoji/qianbi.png | Bin 0 -> 2051 bytes .../halo-comment@1.1.2/assets/emoji/shafa.png | Bin 0 -> 1360 bytes .../assets/emoji/shengli.png | Bin 0 -> 1751 bytes .../assets/emoji/shengqi.png | Bin 0 -> 2027 bytes .../assets/emoji/shouzhi.png | Bin 0 -> 1686 bytes .../assets/emoji/shuijiao.png | Bin 0 -> 1598 bytes .../assets/emoji/suanshuang.png | Bin 0 -> 1830 bytes .../assets/emoji/taikaixin.png | Bin 0 -> 1882 bytes .../assets/emoji/taiyang.png | Bin 0 -> 1611 bytes .../assets/emoji/tanshou.png | Bin 0 -> 1754 bytes .../halo-comment@1.1.2/assets/emoji/tu.png | Bin 0 -> 1850 bytes .../assets/emoji/tuosai.png | Bin 0 -> 1829 bytes .../assets/emoji/turanxingfen.png | Bin 0 -> 1851 bytes .../halo-comment@1.1.2/assets/emoji/tushe.png | Bin 0 -> 1733 bytes .../halo-comment@1.1.2/assets/emoji/wabi.png | Bin 0 -> 1717 bytes .../assets/emoji/wangyuanjing.png | Bin 0 -> 2982 bytes .../halo-comment@1.1.2/assets/emoji/weiqu.png | Bin 0 -> 1660 bytes .../assets/emoji/weiweiyixiao.png | Bin 0 -> 1715 bytes .../halo-comment@1.1.2/assets/emoji/what.png | Bin 0 -> 1705 bytes .../assets/emoji/wuzuixiao.png | Bin 0 -> 1791 bytes .../assets/emoji/xiangjiao.png | Bin 0 -> 1820 bytes .../assets/emoji/xiaoguai.png | Bin 0 -> 1495 bytes .../assets/emoji/xiaohonglian.png | Bin 0 -> 1727 bytes .../assets/emoji/xiaoniao.png | Bin 0 -> 1869 bytes .../assets/emoji/xiaoyan.png | Bin 0 -> 1862 bytes .../halo-comment@1.1.2/assets/emoji/xili.png | Bin 0 -> 1596 bytes .../assets/emoji/xingxingyueliang.png | Bin 0 -> 1394 bytes .../assets/emoji/xinsui.png | Bin 0 -> 1459 bytes .../assets/emoji/yamiedie.png | Bin 0 -> 1751 bytes .../assets/emoji/yanhua.png | Bin 0 -> 5067 bytes .../assets/emoji/yaowan.png | Bin 0 -> 1223 bytes .../halo-comment@1.1.2/assets/emoji/yi.png | Bin 0 -> 1746 bytes .../assets/emoji/yingxiang.png | Bin 0 -> 1492 bytes .../assets/emoji/yinyue.png | Bin 0 -> 1427 bytes .../halo-comment@1.1.2/assets/emoji/yiwen.png | Bin 0 -> 1653 bytes .../assets/emoji/zhayao.png | Bin 0 -> 1862 bytes .../assets/emoji/zhenbang.png | Bin 0 -> 1821 bytes .../halo-comment@1.1.2/assets/img/avatar.svg | 2 + .../halo-comment@1.1.2/assets/img/loading.svg | 65 + .../halo-comment@1.1.2/halo-comment.min.js | 13 + source/lib/highlightjs@11.5.1/LICENSE | 29 + source/lib/highlightjs@11.5.1/README.md | 45 + source/lib/highlightjs@11.5.1/es/core.js | 2561 +++ source/lib/highlightjs@11.5.1/es/core.min.js | 304 + source/lib/highlightjs@11.5.1/es/highlight.js | 12419 +++++++++++ .../highlightjs@11.5.1/es/highlight.min.js | 1174 ++ .../highlightjs@11.5.1/es/languages/1c.min.js | 24 + .../es/languages/abnf.min.js | 12 + .../es/languages/accesslog.min.js | 13 + .../es/languages/actionscript.min.js | 17 + .../es/languages/ada.min.js | 26 + .../es/languages/angelscript.min.js | 21 + .../es/languages/apache.min.js | 14 + .../es/languages/applescript.min.js | 18 + .../es/languages/arcade.min.js | 28 + .../es/languages/arduino.min.js | 54 + .../es/languages/armasm.min.js | 17 + .../es/languages/asciidoc.min.js | 35 + .../es/languages/aspectj.min.js | 30 + .../es/languages/autohotkey.min.js | 13 + .../es/languages/autoit.min.js | 21 + .../es/languages/avrasm.min.js | 12 + .../es/languages/awk.min.js | 11 + .../es/languages/axapta.min.js | 10 + .../es/languages/bash.min.js | 20 + .../es/languages/basic.min.js | 9 + .../es/languages/bnf.min.js | 6 + .../es/languages/brainfuck.min.js | 8 + .../highlightjs@11.5.1/es/languages/c.min.js | 41 + .../es/languages/cal.min.js | 15 + .../es/languages/capnproto.min.js | 11 + .../es/languages/ceylon.min.js | 15 + .../es/languages/clean.min.js | 8 + .../es/languages/clojure-repl.min.js | 4 + .../es/languages/clojure.min.js | 25 + .../es/languages/cmake.min.js | 7 + .../es/languages/coffeescript.min.js | 28 + .../es/languages/coq.min.js | 7 + .../es/languages/cos.min.js | 15 + .../es/languages/cpp.min.js | 46 + .../es/languages/crmsh.min.js | 19 + .../es/languages/crystal.min.js | 48 + .../es/languages/csharp.min.js | 47 + .../es/languages/csp.min.js | 6 + .../es/languages/css.min.js | 31 + .../highlightjs@11.5.1/es/languages/d.min.js | 20 + .../es/languages/dart.min.js | 22 + .../es/languages/delphi.min.js | 17 + .../es/languages/diff.min.js | 9 + .../es/languages/django.min.js | 13 + .../es/languages/dns.min.js | 11 + .../es/languages/dockerfile.min.js | 8 + .../es/languages/dos.min.js | 13 + .../es/languages/dsconfig.min.js | 9 + .../es/languages/dts.min.js | 22 + .../es/languages/dust.min.js | 8 + .../es/languages/ebnf.min.js | 7 + .../es/languages/elixir.min.js | 34 + .../es/languages/elm.min.js | 18 + .../es/languages/erb.min.js | 5 + .../es/languages/erlang-repl.min.js | 13 + .../es/languages/erlang.min.js | 27 + .../es/languages/excel.min.js | 10 + .../es/languages/fix.min.js | 7 + .../es/languages/flix.min.js | 10 + .../es/languages/fortran.min.js | 16 + .../es/languages/fsharp.min.js | 47 + .../es/languages/gams.min.js | 28 + .../es/languages/gauss.min.js | 36 + .../es/languages/gcode.min.js | 17 + .../es/languages/gherkin.min.js | 9 + .../es/languages/glsl.min.js | 8 + .../es/languages/gml.min.js | 11 + .../highlightjs@11.5.1/es/languages/go.min.js | 14 + .../es/languages/golo.min.js | 6 + .../es/languages/gradle.min.js | 6 + .../es/languages/graphql.min.js | 12 + .../es/languages/groovy.min.js | 21 + .../es/languages/haml.min.js | 18 + .../es/languages/handlebars.min.js | 29 + .../es/languages/haskell.min.js | 29 + .../es/languages/haxe.min.js | 27 + .../es/languages/hsp.min.js | 14 + .../es/languages/http.min.js | 14 + .../highlightjs@11.5.1/es/languages/hy.min.js | 15 + .../es/languages/inform7.min.js | 10 + .../es/languages/ini.min.js | 16 + .../es/languages/irpf90.min.js | 15 + .../es/languages/isbl.min.js | 25 + .../es/languages/java.min.js | 38 + .../es/languages/javascript.min.js | 77 + .../es/languages/jboss-cli.min.js | 10 + .../es/languages/json.min.js | 7 + .../es/languages/julia-repl.min.js | 4 + .../es/languages/julia.min.js | 18 + .../es/languages/kotlin.min.js | 45 + .../es/languages/lasso.min.js | 29 + .../es/languages/latex.min.js | 34 + .../es/languages/ldif.min.js | 5 + .../es/languages/leaf.min.js | 8 + .../es/languages/less.min.js | 43 + .../es/languages/lisp.min.js | 16 + .../es/languages/livecodeserver.min.js | 21 + .../es/languages/livescript.min.js | 35 + .../es/languages/llvm.min.js | 15 + .../es/languages/lsl.min.js | 19 + .../es/languages/lua.min.js | 14 + .../es/languages/makefile.min.js | 14 + .../es/languages/markdown.min.js | 31 + .../es/languages/mathematica.min.js | 21 + .../es/languages/matlab.min.js | 15 + .../es/languages/maxima.min.js | 12 + .../es/languages/mel.min.js | 8 + .../es/languages/mercury.min.js | 16 + .../es/languages/mipsasm.min.js | 15 + .../es/languages/mizar.min.js | 4 + .../es/languages/mojolicious.min.js | 6 + .../es/languages/monkey.min.js | 17 + .../es/languages/moonscript.min.js | 23 + .../es/languages/n1ql.min.js | 13 + .../es/languages/nestedtext.min.js | 9 + .../es/languages/nginx.min.js | 21 + .../es/languages/nim.min.js | 15 + .../es/languages/nix.min.js | 11 + .../es/languages/node-repl.min.js | 5 + .../es/languages/nsis.min.js | 23 + .../es/languages/objectivec.min.js | 23 + .../es/languages/ocaml.min.js | 14 + .../es/languages/openscad.min.js | 15 + .../es/languages/oxygene.min.js | 13 + .../es/languages/parser3.min.js | 10 + .../es/languages/perl.min.js | 36 + .../highlightjs@11.5.1/es/languages/pf.min.js | 9 + .../es/languages/pgsql.min.js | 69 + .../es/languages/php-template.min.js | 8 + .../es/languages/php.min.js | 56 + .../es/languages/plaintext.min.js | 3 + .../es/languages/pony.min.js | 12 + .../es/languages/powershell.min.js | 40 + .../es/languages/processing.min.js | 18 + .../es/languages/profile.min.js | 9 + .../es/languages/prolog.min.js | 11 + .../es/languages/properties.min.js | 11 + .../es/languages/protobuf.min.js | 11 + .../es/languages/puppet.min.js | 18 + .../es/languages/purebasic.min.js | 11 + .../es/languages/python-repl.min.js | 5 + .../es/languages/python.min.js | 41 + .../highlightjs@11.5.1/es/languages/q.min.js | 8 + .../es/languages/qml.min.js | 29 + .../highlightjs@11.5.1/es/languages/r.min.js | 26 + .../es/languages/reasonml.min.js | 43 + .../es/languages/rib.min.js | 6 + .../es/languages/roboconf.min.js | 13 + .../es/languages/routeros.min.js | 22 + .../es/languages/rsl.min.js | 11 + .../es/languages/ruby.min.js | 51 + .../es/languages/ruleslanguage.min.js | 9 + .../es/languages/rust.min.js | 29 + .../es/languages/sas.min.js | 17 + .../es/languages/scala.min.js | 25 + .../es/languages/scheme.min.js | 19 + .../es/languages/scilab.min.js | 13 + .../es/languages/scss.min.js | 33 + .../es/languages/shell.min.js | 5 + .../es/languages/smali.min.js | 13 + .../es/languages/smalltalk.min.js | 11 + .../es/languages/sml.min.js | 14 + .../es/languages/sqf.min.js | 17 + .../es/languages/sql.min.js | 17 + .../es/languages/stan.min.js | 28 + .../es/languages/stata.min.js | 11 + .../es/languages/step21.min.js | 10 + .../es/languages/stylus.min.js | 36 + .../es/languages/subunit.min.js | 10 + .../es/languages/swift.min.js | 60 + .../es/languages/taggerscript.min.js | 7 + .../es/languages/tap.min.js | 7 + .../es/languages/tcl.min.js | 15 + .../es/languages/thrift.min.js | 12 + .../highlightjs@11.5.1/es/languages/tp.min.js | 19 + .../es/languages/twig.min.js | 18 + .../es/languages/typescript.min.js | 92 + .../es/languages/vala.min.js | 9 + .../es/languages/vbnet.min.js | 25 + .../es/languages/vbscript-html.min.js | 4 + .../es/languages/vbscript.min.js | 10 + .../es/languages/verilog.min.js | 17 + .../es/languages/vhdl.min.js | 14 + .../es/languages/vim.min.js | 12 + .../es/languages/wasm.min.js | 15 + .../es/languages/wren.min.js | 30 + .../es/languages/x86asm.min.js | 18 + .../highlightjs@11.5.1/es/languages/xl.min.js | 15 + .../es/languages/xml.min.js | 29 + .../es/languages/xquery.min.js | 33 + .../es/languages/yaml.min.js | 25 + .../es/languages/zephir.min.js | 18 + source/lib/highlightjs@11.5.1/es/package.json | 1 + source/lib/highlightjs@11.5.1/highlight.js | 12425 +++++++++++ .../lib/highlightjs@11.5.1/highlight.min.js | 1173 ++ .../highlightjs@11.5.1/languages/1c.min.js | 24 + .../highlightjs@11.5.1/languages/abnf.min.js | 11 + .../languages/accesslog.min.js | 13 + .../languages/actionscript.min.js | 17 + .../highlightjs@11.5.1/languages/ada.min.js | 26 + .../languages/angelscript.min.js | 21 + .../languages/apache.min.js | 14 + .../languages/applescript.min.js | 19 + .../languages/arcade.min.js | 27 + .../languages/arduino.min.js | 54 + .../languages/armasm.min.js | 17 + .../languages/asciidoc.min.js | 35 + .../languages/aspectj.min.js | 31 + .../languages/autohotkey.min.js | 14 + .../languages/autoit.min.js | 21 + .../languages/avrasm.min.js | 12 + .../highlightjs@11.5.1/languages/awk.min.js | 11 + .../languages/axapta.min.js | 11 + .../highlightjs@11.5.1/languages/bash.min.js | 20 + .../highlightjs@11.5.1/languages/basic.min.js | 10 + .../highlightjs@11.5.1/languages/bnf.min.js | 6 + .../languages/brainfuck.min.js | 8 + .../lib/highlightjs@11.5.1/languages/c.min.js | 41 + .../highlightjs@11.5.1/languages/cal.min.js | 15 + .../languages/capnproto.min.js | 11 + .../languages/ceylon.min.js | 15 + .../highlightjs@11.5.1/languages/clean.min.js | 8 + .../languages/clojure-repl.min.js | 4 + .../languages/clojure.min.js | 25 + .../highlightjs@11.5.1/languages/cmake.min.js | 7 + .../languages/coffeescript.min.js | 29 + .../highlightjs@11.5.1/languages/coq.min.js | 7 + .../highlightjs@11.5.1/languages/cos.min.js | 15 + .../highlightjs@11.5.1/languages/cpp.min.js | 47 + .../highlightjs@11.5.1/languages/crmsh.min.js | 19 + .../languages/crystal.min.js | 48 + .../languages/csharp.min.js | 47 + .../highlightjs@11.5.1/languages/csp.min.js | 7 + .../highlightjs@11.5.1/languages/css.min.js | 31 + .../lib/highlightjs@11.5.1/languages/d.min.js | 20 + .../highlightjs@11.5.1/languages/dart.min.js | 22 + .../languages/delphi.min.js | 17 + .../highlightjs@11.5.1/languages/diff.min.js | 9 + .../languages/django.min.js | 13 + .../highlightjs@11.5.1/languages/dns.min.js | 11 + .../languages/dockerfile.min.js | 8 + .../highlightjs@11.5.1/languages/dos.min.js | 12 + .../languages/dsconfig.min.js | 9 + .../highlightjs@11.5.1/languages/dts.min.js | 22 + .../highlightjs@11.5.1/languages/dust.min.js | 8 + .../highlightjs@11.5.1/languages/ebnf.min.js | 7 + .../languages/elixir.min.js | 34 + .../highlightjs@11.5.1/languages/elm.min.js | 18 + .../highlightjs@11.5.1/languages/erb.min.js | 5 + .../languages/erlang-repl.min.js | 13 + .../languages/erlang.min.js | 27 + .../highlightjs@11.5.1/languages/excel.min.js | 10 + .../highlightjs@11.5.1/languages/fix.min.js | 7 + .../highlightjs@11.5.1/languages/flix.min.js | 10 + .../languages/fortran.min.js | 16 + .../languages/fsharp.min.js | 47 + .../highlightjs@11.5.1/languages/gams.min.js | 28 + .../highlightjs@11.5.1/languages/gauss.min.js | 36 + .../highlightjs@11.5.1/languages/gcode.min.js | 16 + .../languages/gherkin.min.js | 8 + .../highlightjs@11.5.1/languages/glsl.min.js | 8 + .../highlightjs@11.5.1/languages/gml.min.js | 11 + .../highlightjs@11.5.1/languages/go.min.js | 14 + .../highlightjs@11.5.1/languages/golo.min.js | 6 + .../languages/gradle.min.js | 5 + .../languages/graphql.min.js | 12 + .../languages/groovy.min.js | 21 + .../highlightjs@11.5.1/languages/haml.min.js | 18 + .../languages/handlebars.min.js | 29 + .../languages/haskell.min.js | 29 + .../highlightjs@11.5.1/languages/haxe.min.js | 26 + .../highlightjs@11.5.1/languages/hsp.min.js | 14 + .../highlightjs@11.5.1/languages/http.min.js | 14 + .../highlightjs@11.5.1/languages/hy.min.js | 16 + .../languages/inform7.min.js | 11 + .../highlightjs@11.5.1/languages/ini.min.js | 15 + .../languages/irpf90.min.js | 15 + .../highlightjs@11.5.1/languages/isbl.min.js | 25 + .../highlightjs@11.5.1/languages/java.min.js | 38 + .../languages/javascript.min.js | 77 + .../languages/jboss-cli.min.js | 10 + .../highlightjs@11.5.1/languages/json.min.js | 7 + .../languages/julia-repl.min.js | 5 + .../highlightjs@11.5.1/languages/julia.min.js | 18 + .../languages/kotlin.min.js | 45 + .../highlightjs@11.5.1/languages/lasso.min.js | 29 + .../highlightjs@11.5.1/languages/latex.min.js | 33 + .../highlightjs@11.5.1/languages/ldif.min.js | 5 + .../highlightjs@11.5.1/languages/leaf.min.js | 8 + .../highlightjs@11.5.1/languages/less.min.js | 43 + .../highlightjs@11.5.1/languages/lisp.min.js | 17 + .../languages/livecodeserver.min.js | 21 + .../languages/livescript.min.js | 35 + .../highlightjs@11.5.1/languages/llvm.min.js | 15 + .../highlightjs@11.5.1/languages/lsl.min.js | 19 + .../highlightjs@11.5.1/languages/lua.min.js | 15 + .../languages/makefile.min.js | 14 + .../languages/markdown.min.js | 31 + .../languages/mathematica.min.js | 21 + .../languages/matlab.min.js | 15 + .../languages/maxima.min.js | 12 + .../highlightjs@11.5.1/languages/mel.min.js | 8 + .../languages/mercury.min.js | 16 + .../languages/mipsasm.min.js | 15 + .../highlightjs@11.5.1/languages/mizar.min.js | 4 + .../languages/mojolicious.min.js | 6 + .../languages/monkey.min.js | 17 + .../languages/moonscript.min.js | 23 + .../highlightjs@11.5.1/languages/n1ql.min.js | 13 + .../languages/nestedtext.min.js | 9 + .../highlightjs@11.5.1/languages/nginx.min.js | 21 + .../highlightjs@11.5.1/languages/nim.min.js | 15 + .../highlightjs@11.5.1/languages/nix.min.js | 12 + .../languages/node-repl.min.js | 5 + .../highlightjs@11.5.1/languages/nsis.min.js | 23 + .../languages/objectivec.min.js | 23 + .../highlightjs@11.5.1/languages/ocaml.min.js | 14 + .../languages/openscad.min.js | 15 + .../languages/oxygene.min.js | 13 + .../languages/parser3.min.js | 10 + .../highlightjs@11.5.1/languages/perl.min.js | 36 + .../highlightjs@11.5.1/languages/pf.min.js | 10 + .../highlightjs@11.5.1/languages/pgsql.min.js | 69 + .../languages/php-template.min.js | 8 + .../highlightjs@11.5.1/languages/php.min.js | 56 + .../languages/plaintext.min.js | 4 + .../highlightjs@11.5.1/languages/pony.min.js | 12 + .../languages/powershell.min.js | 39 + .../languages/processing.min.js | 18 + .../languages/profile.min.js | 9 + .../languages/prolog.min.js | 11 + .../languages/properties.min.js | 11 + .../languages/protobuf.min.js | 11 + .../languages/puppet.min.js | 18 + .../languages/purebasic.min.js | 11 + .../languages/python-repl.min.js | 5 + .../languages/python.min.js | 41 + .../lib/highlightjs@11.5.1/languages/q.min.js | 8 + .../highlightjs@11.5.1/languages/qml.min.js | 29 + .../lib/highlightjs@11.5.1/languages/r.min.js | 26 + .../languages/reasonml.min.js | 43 + .../highlightjs@11.5.1/languages/rib.min.js | 6 + .../languages/roboconf.min.js | 12 + .../languages/routeros.min.js | 22 + .../highlightjs@11.5.1/languages/rsl.min.js | 11 + .../highlightjs@11.5.1/languages/ruby.min.js | 51 + .../languages/ruleslanguage.min.js | 9 + .../highlightjs@11.5.1/languages/rust.min.js | 29 + .../highlightjs@11.5.1/languages/sas.min.js | 18 + .../highlightjs@11.5.1/languages/scala.min.js | 25 + .../languages/scheme.min.js | 19 + .../languages/scilab.min.js | 13 + .../highlightjs@11.5.1/languages/scss.min.js | 33 + .../highlightjs@11.5.1/languages/shell.min.js | 5 + .../highlightjs@11.5.1/languages/smali.min.js | 13 + .../languages/smalltalk.min.js | 11 + .../highlightjs@11.5.1/languages/sml.min.js | 14 + .../highlightjs@11.5.1/languages/sqf.min.js | 17 + .../highlightjs@11.5.1/languages/sql.min.js | 17 + .../highlightjs@11.5.1/languages/stan.min.js | 28 + .../highlightjs@11.5.1/languages/stata.min.js | 11 + .../languages/step21.min.js | 10 + .../languages/stylus.min.js | 36 + .../languages/subunit.min.js | 9 + .../highlightjs@11.5.1/languages/swift.min.js | 60 + .../languages/taggerscript.min.js | 8 + .../highlightjs@11.5.1/languages/tap.min.js | 7 + .../highlightjs@11.5.1/languages/tcl.min.js | 15 + .../languages/thrift.min.js | 12 + .../highlightjs@11.5.1/languages/tp.min.js | 19 + .../highlightjs@11.5.1/languages/twig.min.js | 18 + .../languages/typescript.min.js | 93 + .../highlightjs@11.5.1/languages/vala.min.js | 9 + .../highlightjs@11.5.1/languages/vbnet.min.js | 25 + .../languages/vbscript-html.min.js | 4 + .../languages/vbscript.min.js | 10 + .../languages/verilog.min.js | 17 + .../highlightjs@11.5.1/languages/vhdl.min.js | 14 + .../highlightjs@11.5.1/languages/vim.min.js | 12 + .../highlightjs@11.5.1/languages/wasm.min.js | 14 + .../highlightjs@11.5.1/languages/wren.min.js | 30 + .../languages/x86asm.min.js | 19 + .../highlightjs@11.5.1/languages/xl.min.js | 15 + .../highlightjs@11.5.1/languages/xml.min.js | 29 + .../languages/xquery.min.js | 32 + .../highlightjs@11.5.1/languages/yaml.min.js | 25 + .../languages/zephir.min.js | 18 + source/lib/highlightjs@11.5.1/package.json | 92 + .../styles/a11y-dark.min.css | 7 + .../styles/a11y-light.min.css | 7 + .../highlightjs@11.5.1/styles/agate.min.css | 20 + .../styles/an-old-hope.min.css | 9 + .../styles/androidstudio.min.css | 1 + .../styles/arduino-light.min.css | 1 + .../highlightjs@11.5.1/styles/arta.min.css | 1 + .../highlightjs@11.5.1/styles/ascetic.min.css | 1 + .../styles/atom-one-dark-reasonable.min.css | 1 + .../styles/atom-one-dark.min.css | 1 + .../styles/atom-one-light.min.css | 1 + .../styles/base16/3024.min.css | 7 + .../styles/base16/apathy.min.css | 7 + .../styles/base16/apprentice.min.css | 7 + .../styles/base16/ashes.min.css | 7 + .../styles/base16/atelier-cave-light.min.css | 7 + .../styles/base16/atelier-cave.min.css | 7 + .../styles/base16/atelier-dune-light.min.css | 7 + .../styles/base16/atelier-dune.min.css | 7 + .../base16/atelier-estuary-light.min.css | 7 + .../styles/base16/atelier-estuary.min.css | 7 + .../base16/atelier-forest-light.min.css | 7 + .../styles/base16/atelier-forest.min.css | 7 + .../styles/base16/atelier-heath-light.min.css | 7 + .../styles/base16/atelier-heath.min.css | 7 + .../base16/atelier-lakeside-light.min.css | 7 + .../styles/base16/atelier-lakeside.min.css | 7 + .../base16/atelier-plateau-light.min.css | 7 + .../styles/base16/atelier-plateau.min.css | 7 + .../base16/atelier-savanna-light.min.css | 7 + .../styles/base16/atelier-savanna.min.css | 7 + .../base16/atelier-seaside-light.min.css | 7 + .../styles/base16/atelier-seaside.min.css | 7 + .../base16/atelier-sulphurpool-light.min.css | 7 + .../styles/base16/atelier-sulphurpool.min.css | 7 + .../styles/base16/atlas.min.css | 7 + .../styles/base16/bespin.min.css | 7 + .../styles/base16/black-metal-bathory.min.css | 7 + .../styles/base16/black-metal-burzum.min.css | 7 + .../base16/black-metal-dark-funeral.min.css | 7 + .../base16/black-metal-gorgoroth.min.css | 7 + .../base16/black-metal-immortal.min.css | 7 + .../styles/base16/black-metal-khold.min.css | 7 + .../styles/base16/black-metal-marduk.min.css | 7 + .../styles/base16/black-metal-mayhem.min.css | 7 + .../styles/base16/black-metal-nile.min.css | 7 + .../styles/base16/black-metal-venom.min.css | 7 + .../styles/base16/black-metal.min.css | 7 + .../styles/base16/brewer.min.css | 7 + .../styles/base16/bright.min.css | 7 + .../styles/base16/brogrammer.min.css | 7 + .../styles/base16/brush-trees-dark.min.css | 7 + .../styles/base16/brush-trees.min.css | 7 + .../styles/base16/chalk.min.css | 7 + .../styles/base16/circus.min.css | 7 + .../styles/base16/classic-dark.min.css | 7 + .../styles/base16/classic-light.min.css | 7 + .../styles/base16/codeschool.min.css | 7 + .../styles/base16/colors.min.css | 7 + .../styles/base16/cupcake.min.css | 7 + .../styles/base16/cupertino.min.css | 7 + .../styles/base16/danqing.min.css | 7 + .../styles/base16/darcula.min.css | 7 + .../styles/base16/dark-violet.min.css | 7 + .../styles/base16/darkmoss.min.css | 7 + .../styles/base16/darktooth.min.css | 7 + .../styles/base16/decaf.min.css | 7 + .../styles/base16/default-dark.min.css | 7 + .../styles/base16/default-light.min.css | 7 + .../styles/base16/dirtysea.min.css | 7 + .../styles/base16/dracula.min.css | 7 + .../styles/base16/edge-dark.min.css | 7 + .../styles/base16/edge-light.min.css | 7 + .../styles/base16/eighties.min.css | 7 + .../styles/base16/embers.min.css | 7 + .../styles/base16/equilibrium-dark.min.css | 7 + .../base16/equilibrium-gray-dark.min.css | 7 + .../base16/equilibrium-gray-light.min.css | 7 + .../styles/base16/equilibrium-light.min.css | 7 + .../styles/base16/espresso.min.css | 7 + .../styles/base16/eva-dim.min.css | 7 + .../styles/base16/eva.min.css | 7 + .../styles/base16/flat.min.css | 7 + .../styles/base16/framer.min.css | 7 + .../styles/base16/fruit-soda.min.css | 7 + .../styles/base16/gigavolt.min.css | 7 + .../styles/base16/github.min.css | 7 + .../styles/base16/google-dark.min.css | 7 + .../styles/base16/google-light.min.css | 7 + .../styles/base16/grayscale-dark.min.css | 7 + .../styles/base16/grayscale-light.min.css | 7 + .../styles/base16/green-screen.min.css | 7 + .../styles/base16/gruvbox-dark-hard.min.css | 7 + .../styles/base16/gruvbox-dark-medium.min.css | 7 + .../styles/base16/gruvbox-dark-pale.min.css | 7 + .../styles/base16/gruvbox-dark-soft.min.css | 7 + .../styles/base16/gruvbox-light-hard.min.css | 7 + .../base16/gruvbox-light-medium.min.css | 7 + .../styles/base16/gruvbox-light-soft.min.css | 7 + .../styles/base16/hardcore.min.css | 7 + .../styles/base16/harmonic16-dark.min.css | 7 + .../styles/base16/harmonic16-light.min.css | 7 + .../styles/base16/heetch-dark.min.css | 7 + .../styles/base16/heetch-light.min.css | 7 + .../styles/base16/helios.min.css | 7 + .../styles/base16/hopscotch.min.css | 7 + .../styles/base16/horizon-dark.min.css | 7 + .../styles/base16/horizon-light.min.css | 7 + .../styles/base16/humanoid-dark.min.css | 7 + .../styles/base16/humanoid-light.min.css | 7 + .../styles/base16/ia-dark.min.css | 7 + .../styles/base16/ia-light.min.css | 7 + .../styles/base16/icy-dark.min.css | 7 + .../styles/base16/ir-black.min.css | 7 + .../styles/base16/isotope.min.css | 7 + .../styles/base16/kimber.min.css | 7 + .../styles/base16/london-tube.min.css | 7 + .../styles/base16/macintosh.min.css | 7 + .../styles/base16/marrakesh.min.css | 7 + .../styles/base16/materia.min.css | 7 + .../styles/base16/material-darker.min.css | 7 + .../styles/base16/material-lighter.min.css | 7 + .../styles/base16/material-palenight.min.css | 7 + .../styles/base16/material-vivid.min.css | 7 + .../styles/base16/material.min.css | 7 + .../styles/base16/mellow-purple.min.css | 7 + .../styles/base16/mexico-light.min.css | 7 + .../styles/base16/mocha.min.css | 7 + .../styles/base16/monokai.min.css | 7 + .../styles/base16/nebula.min.css | 7 + .../styles/base16/nord.min.css | 7 + .../styles/base16/nova.min.css | 7 + .../styles/base16/ocean.min.css | 7 + .../styles/base16/oceanicnext.min.css | 7 + .../styles/base16/one-light.min.css | 7 + .../styles/base16/onedark.min.css | 7 + .../styles/base16/outrun-dark.min.css | 7 + .../styles/base16/papercolor-dark.min.css | 7 + .../styles/base16/papercolor-light.min.css | 7 + .../styles/base16/paraiso.min.css | 7 + .../styles/base16/pasque.min.css | 7 + .../styles/base16/phd.min.css | 7 + .../styles/base16/pico.min.css | 7 + .../styles/base16/pop.min.css | 7 + .../styles/base16/porple.min.css | 7 + .../styles/base16/qualia.min.css | 7 + .../styles/base16/railscasts.min.css | 7 + .../styles/base16/rebecca.min.css | 7 + .../styles/base16/ros-pine-dawn.min.css | 7 + .../styles/base16/ros-pine-moon.min.css | 7 + .../styles/base16/ros-pine.min.css | 7 + .../styles/base16/sagelight.min.css | 7 + .../styles/base16/sandcastle.min.css | 7 + .../styles/base16/seti-ui.min.css | 7 + .../styles/base16/shapeshifter.min.css | 7 + .../styles/base16/silk-dark.min.css | 7 + .../styles/base16/silk-light.min.css | 7 + .../styles/base16/snazzy.min.css | 7 + .../styles/base16/solar-flare-light.min.css | 7 + .../styles/base16/solar-flare.min.css | 7 + .../styles/base16/solarized-dark.min.css | 7 + .../styles/base16/solarized-light.min.css | 7 + .../styles/base16/spacemacs.min.css | 7 + .../styles/base16/summercamp.min.css | 7 + .../styles/base16/summerfruit-dark.min.css | 7 + .../styles/base16/summerfruit-light.min.css | 7 + .../synth-midnight-terminal-dark.min.css | 7 + .../synth-midnight-terminal-light.min.css | 7 + .../styles/base16/tango.min.css | 7 + .../styles/base16/tender.min.css | 7 + .../styles/base16/tomorrow-night.min.css | 7 + .../styles/base16/tomorrow.min.css | 7 + .../styles/base16/twilight.min.css | 7 + .../styles/base16/unikitty-dark.min.css | 7 + .../styles/base16/unikitty-light.min.css | 7 + .../styles/base16/vulcan.min.css | 7 + .../styles/base16/windows-10-light.min.css | 7 + .../styles/base16/windows-10.min.css | 7 + .../styles/base16/windows-95-light.min.css | 7 + .../styles/base16/windows-95.min.css | 7 + .../windows-high-contrast-light.min.css | 7 + .../base16/windows-high-contrast.min.css | 7 + .../styles/base16/windows-nt-light.min.css | 7 + .../styles/base16/windows-nt.min.css | 7 + .../styles/base16/woodland.min.css | 7 + .../styles/base16/xcode-dusk.min.css | 7 + .../styles/base16/zenburn.min.css | 7 + .../styles/brown-paper.min.css | 1 + .../styles/brown-papersq.png | Bin 0 -> 18198 bytes .../styles/codepen-embed.min.css | 1 + .../styles/color-brewer.min.css | 1 + .../highlightjs@11.5.1/styles/dark.min.css | 1 + .../highlightjs@11.5.1/styles/default.min.css | 9 + .../styles/devibeans.min.css | 7 + .../highlightjs@11.5.1/styles/docco.min.css | 1 + .../lib/highlightjs@11.5.1/styles/far.min.css | 1 + .../highlightjs@11.5.1/styles/felipec.min.css | 7 + .../styles/foundation.min.css | 1 + .../styles/github-dark-dimmed.min.css | 9 + .../styles/github-dark.min.css | 10 + .../highlightjs@11.5.1/styles/github.min.css | 10 + .../lib/highlightjs@11.5.1/styles/gml.min.css | 1 + .../styles/googlecode.min.css | 1 + .../styles/gradient-dark.min.css | 1 + .../styles/gradient-light.min.css | 1 + .../styles/grayscale.min.css | 1 + .../highlightjs@11.5.1/styles/hybrid.min.css | 1 + .../highlightjs@11.5.1/styles/idea.min.css | 1 + .../styles/intellij-light.min.css | 1 + .../styles/ir-black.min.css | 1 + .../styles/isbl-editor-dark.min.css | 1 + .../styles/isbl-editor-light.min.css | 1 + .../styles/kimbie-dark.min.css | 1 + .../styles/kimbie-light.min.css | 1 + .../styles/lightfair.min.css | 1 + .../highlightjs@11.5.1/styles/lioshi.min.css | 1 + .../highlightjs@11.5.1/styles/magula.min.css | 1 + .../styles/mono-blue.min.css | 1 + .../styles/monokai-sublime.min.css | 1 + .../highlightjs@11.5.1/styles/monokai.min.css | 1 + .../styles/night-owl.min.css | 1 + .../styles/nnfx-dark.min.css | 10 + .../styles/nnfx-light.min.css | 10 + .../highlightjs@11.5.1/styles/nord.min.css | 1 + .../styles/obsidian.min.css | 1 + .../styles/paraiso-dark.min.css | 1 + .../styles/paraiso-light.min.css | 1 + .../highlightjs@11.5.1/styles/pojoaque.jpg | Bin 0 -> 1186 bytes .../styles/pojoaque.min.css | 1 + .../styles/purebasic.min.css | 1 + .../styles/qtcreator-dark.min.css | 1 + .../styles/qtcreator-light.min.css | 1 + .../highlightjs@11.5.1/styles/rainbow.min.css | 1 + .../styles/routeros.min.css | 1 + .../styles/school-book.min.css | 1 + .../styles/shades-of-purple.min.css | 1 + .../highlightjs@11.5.1/styles/srcery.min.css | 1 + .../styles/stackoverflow-dark.min.css | 13 + .../styles/stackoverflow-light.min.css | 13 + .../styles/sunburst.min.css | 1 + .../styles/tokyo-night-dark.min.css | 8 + .../styles/tokyo-night-light.min.css | 8 + .../styles/tomorrow-night-blue.min.css | 1 + .../styles/tomorrow-night-bright.min.css | 1 + .../lib/highlightjs@11.5.1/styles/vs.min.css | 1 + .../highlightjs@11.5.1/styles/vs2015.min.css | 1 + .../highlightjs@11.5.1/styles/xcode.min.css | 1 + .../highlightjs@11.5.1/styles/xt256.min.css | 1 + source/lib/jquery-pjax@2.0.1/jquery.pjax.js | 903 + .../lib/jquery-pjax@2.0.1/jquery.pjax.min.js | 2 + .../jquery-pjax@2.0.1/jquery.pjax.min.js.map | 1 + source/lib/jquery@3.5.1/jquery.min.js | 2 + .../jquery.justifiedGallery.min.js | 8 + source/lib/katex@0.12.0/README.md | 91 + .../lib/katex@0.12.0/contrib/auto-render.js | 350 + .../katex@0.12.0/contrib/auto-render.min.js | 1 + .../lib/katex@0.12.0/contrib/auto-render.mjs | 226 + source/lib/katex@0.12.0/contrib/copy-tex.css | 14 + source/lib/katex@0.12.0/contrib/copy-tex.js | 213 + .../lib/katex@0.12.0/contrib/copy-tex.min.css | 1 + .../lib/katex@0.12.0/contrib/copy-tex.min.js | 1 + source/lib/katex@0.12.0/contrib/copy-tex.mjs | 85 + .../contrib/mathtex-script-type.js | 137 + .../contrib/mathtex-script-type.min.js | 1 + .../contrib/mathtex-script-type.mjs | 24 + source/lib/katex@0.12.0/contrib/mhchem.js | 3241 +++ source/lib/katex@0.12.0/contrib/mhchem.min.js | 1 + source/lib/katex@0.12.0/contrib/mhchem.mjs | 3109 +++ .../contrib/render-a11y-string.js | 870 + .../contrib/render-a11y-string.min.js | 1 + .../contrib/render-a11y-string.mjs | 753 + .../katex@0.12.0/fonts/KaTeX_AMS-Regular.ttf | Bin 0 -> 70936 bytes .../katex@0.12.0/fonts/KaTeX_AMS-Regular.woff | Bin 0 -> 36912 bytes .../fonts/KaTeX_AMS-Regular.woff2 | Bin 0 -> 31136 bytes .../fonts/KaTeX_Caligraphic-Bold.ttf | Bin 0 -> 15416 bytes .../fonts/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 9376 bytes .../fonts/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 8392 bytes .../fonts/KaTeX_Caligraphic-Regular.ttf | Bin 0 -> 14908 bytes .../fonts/KaTeX_Caligraphic-Regular.woff | Bin 0 -> 9148 bytes .../fonts/KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 8248 bytes .../katex@0.12.0/fonts/KaTeX_Fraktur-Bold.ttf | Bin 0 -> 24400 bytes .../fonts/KaTeX_Fraktur-Bold.woff | Bin 0 -> 16208 bytes .../fonts/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 13912 bytes .../fonts/KaTeX_Fraktur-Regular.ttf | Bin 0 -> 23904 bytes .../fonts/KaTeX_Fraktur-Regular.woff | Bin 0 -> 15880 bytes .../fonts/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 13668 bytes .../katex@0.12.0/fonts/KaTeX_Main-Bold.ttf | Bin 0 -> 59972 bytes .../katex@0.12.0/fonts/KaTeX_Main-Bold.woff | Bin 0 -> 35056 bytes .../katex@0.12.0/fonts/KaTeX_Main-Bold.woff2 | Bin 0 -> 29932 bytes .../fonts/KaTeX_Main-BoldItalic.ttf | Bin 0 -> 42872 bytes .../fonts/KaTeX_Main-BoldItalic.woff | Bin 0 -> 24500 bytes .../fonts/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 21244 bytes .../katex@0.12.0/fonts/KaTeX_Main-Italic.ttf | Bin 0 -> 46028 bytes .../katex@0.12.0/fonts/KaTeX_Main-Italic.woff | Bin 0 -> 25352 bytes .../fonts/KaTeX_Main-Italic.woff2 | Bin 0 -> 22076 bytes .../katex@0.12.0/fonts/KaTeX_Main-Regular.ttf | Bin 0 -> 68880 bytes .../fonts/KaTeX_Main-Regular.woff | Bin 0 -> 37856 bytes .../fonts/KaTeX_Main-Regular.woff2 | Bin 0 -> 32312 bytes .../fonts/KaTeX_Math-BoldItalic.ttf | Bin 0 -> 42300 bytes .../fonts/KaTeX_Math-BoldItalic.woff | Bin 0 -> 23980 bytes .../fonts/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 21192 bytes .../katex@0.12.0/fonts/KaTeX_Math-Italic.ttf | Bin 0 -> 44484 bytes .../katex@0.12.0/fonts/KaTeX_Math-Italic.woff | Bin 0 -> 24668 bytes .../fonts/KaTeX_Math-Italic.woff2 | Bin 0 -> 21668 bytes .../fonts/KaTeX_SansSerif-Bold.ttf | Bin 0 -> 32588 bytes .../fonts/KaTeX_SansSerif-Bold.woff | Bin 0 -> 17988 bytes .../fonts/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 15296 bytes .../fonts/KaTeX_SansSerif-Italic.ttf | Bin 0 -> 29860 bytes .../fonts/KaTeX_SansSerif-Italic.woff | Bin 0 -> 17044 bytes .../fonts/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 14484 bytes .../fonts/KaTeX_SansSerif-Regular.ttf | Bin 0 -> 28708 bytes .../fonts/KaTeX_SansSerif-Regular.woff | Bin 0 -> 15712 bytes .../fonts/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 13300 bytes .../fonts/KaTeX_Script-Regular.ttf | Bin 0 -> 23520 bytes .../fonts/KaTeX_Script-Regular.woff | Bin 0 -> 12992 bytes .../fonts/KaTeX_Script-Regular.woff2 | Bin 0 -> 11792 bytes .../fonts/KaTeX_Size1-Regular.ttf | Bin 0 -> 11932 bytes .../fonts/KaTeX_Size1-Regular.woff | Bin 0 -> 6300 bytes .../fonts/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5332 bytes .../fonts/KaTeX_Size2-Regular.ttf | Bin 0 -> 11080 bytes .../fonts/KaTeX_Size2-Regular.woff | Bin 0 -> 6012 bytes .../fonts/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5080 bytes .../fonts/KaTeX_Size3-Regular.ttf | Bin 0 -> 7028 bytes .../fonts/KaTeX_Size3-Regular.woff | Bin 0 -> 4148 bytes .../fonts/KaTeX_Size3-Regular.woff2 | Bin 0 -> 3400 bytes .../fonts/KaTeX_Size4-Regular.ttf | Bin 0 -> 10008 bytes .../fonts/KaTeX_Size4-Regular.woff | Bin 0 -> 5820 bytes .../fonts/KaTeX_Size4-Regular.woff2 | Bin 0 -> 4720 bytes .../fonts/KaTeX_Typewriter-Regular.ttf | Bin 0 -> 34560 bytes .../fonts/KaTeX_Typewriter-Regular.woff | Bin 0 -> 19700 bytes .../fonts/KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 16868 bytes source/lib/katex@0.12.0/katex.css | 1035 + source/lib/katex@0.12.0/katex.js | 17308 ++++++++++++++++ source/lib/katex@0.12.0/katex.min.css | 1 + source/lib/katex@0.12.0/katex.min.js | 1 + source/lib/katex@0.12.0/katex.mjs | 16911 +++++++++++++++ .../live2d@1.0.1/flat-ui-icons-regular.eot | Bin 0 -> 25912 bytes .../live2d@1.0.1/flat-ui-icons-regular.svg | 126 + .../live2d@1.0.1/flat-ui-icons-regular.ttf | Bin 0 -> 25708 bytes .../live2d@1.0.1/flat-ui-icons-regular.woff | Bin 0 -> 17844 bytes source/lib/live2d@1.0.1/live2d.min.js | 1 + source/lib/live2d@1.0.1/waifu-tips.json | 96 + source/lib/live2d@1.0.1/waifu-tips.min.js | 1 + source/lib/live2d@1.0.1/waifu.min.css | 1 + source/lib/meting@2.0.1/Meting.min.js | 1 + source/lib/qmsg/qmsg.min.css | 1 + source/lib/qmsg/qmsg.min.js | 1 + source/lib/swiper@8.4.6/swiper-bundle.css | 648 + source/lib/swiper@8.4.6/swiper-bundle.js | 10702 ++++++++++ source/lib/swiper@8.4.6/swiper-bundle.js.map | 1 + source/lib/swiper@8.4.6/swiper-bundle.min.css | 13 + source/lib/swiper@8.4.6/swiper-bundle.min.js | 14 + .../lib/swiper@8.4.6/swiper-bundle.min.js.map | 1 + source/lib/vue@2.6.10/vue.min.js | 6 + src/css/cursor/breeze.less | 20 + src/css/dshare.less | 361 + src/css/mew-custom.less | 894 + src/css/post.less | 396 + src/css/style.less | 4893 +++++ src/css/theme.less | 107 + src/js/autoload.js | 36 + src/js/btoc.js | 202 + src/js/common.js | 519 + src/js/cursor/click/firework.js | 155 + src/js/cursor/click/granule.js | 344 + src/js/cursor/move/bubbleCursor.js | 151 + src/js/cursor/move/emojiCursor.js | 192 + src/js/cursor/move/fairyDustCursor.js | 189 + src/js/cursor/move/followingDotCursor.js | 94 + src/js/cursor/move/ghostCursor.js | 132 + src/js/cursor/move/snowflakeCursor.js | 183 + src/js/cursor/move/springyEmojiCursor.js | 243 + src/js/cursor/move/trailingCursor.js | 126 + src/js/dprogress.js | 160 + src/js/dshare.js | 191 + src/js/effects/circleMagic.js | 138 + src/js/effects/sakura.js | 153 + src/js/effects/universe.js | 153 + src/js/journals.js | 58 + src/js/mew-custom.js | 459 + src/js/photos.js | 149 + src/js/pjax.js | 224 + src/js/post.js | 190 + src/js/settings.js | 109 + src/js/spark-input.js | 76 + src/js/sw.js | 317 + src/js/utils.js | 383 + src/patch.js | 63 + tag.ftl | 20 + tags.ftl | 27 + template/common/actions.ftl | 16 + template/common/banner.ftl | 18 + template/common/config.ftl | 187 + template/common/footer.ftl | 54 + template/common/head.ftl | 75 + template/common/navbar.ftl | 210 + template/common/scripts.ftl | 59 + template/common/widget.ftl | 21 + template/errorpage.ftl | 29 + template/layout.ftl | 24 + template/layout_default.ftl | 32 + template/layout_pjax.ftl | 14 + template/main/admire.ftl | 30 + template/main/article.ftl | 105 + template/main/article_list.ftl | 260 + template/main/article_literature.ftl | 105 + template/main/comment.ftl | 24 + template/main/copyright.ftl | 25 + template/main/pagination.ftl | 21 + template/widget/ad_piece.ftl | 19 + template/widget/categories.ftl | 45 + template/widget/links.ftl | 33 + template/widget/love.ftl | 33 + template/widget/music.ftl | 15 + template/widget/notice.ftl | 8 + template/widget/profile.ftl | 99 + template/widget/recent_comments.ftl | 30 + template/widget/recent_posts.ftl | 21 + template/widget/tagcloud.ftl | 24 + template/widget/tags.ftl | 22 + template/widget/toc.ftl | 7 + theme.yaml | 37 + 1036 files changed, 121410 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .gitignore create mode 100644 .npmignore create mode 100644 .npmrc create mode 100644 404.ftl create mode 100644 500.ftl create mode 100644 LICENSE create mode 100644 README.md create mode 100644 archives.ftl create mode 100644 categories.ftl create mode 100644 category.ftl create mode 100644 gulpfile.js create mode 100644 index.ftl create mode 100644 journals.ftl create mode 100644 links.ftl create mode 100644 mail_template/mail_notice.ftl create mode 100644 mail_template/mail_reply.ftl create mode 100644 package.json create mode 100644 photos.ftl create mode 100644 post.ftl create mode 100644 post_literature.ftl create mode 100644 preview.png create mode 100644 screenshot.png create mode 100644 search.ftl create mode 100644 settings.yaml create mode 100644 sheet.ftl create mode 100644 sheet_literature.ftl create mode 100644 source/css/cursor/breeze.min.css create mode 100644 source/css/dshare.min.css create mode 100644 source/css/mew-custom.min.css create mode 100644 source/css/post.min.css create mode 100644 source/css/style.min.css create mode 100644 source/css/theme.min.css create mode 100644 source/cursor/breeze/Arrow.cur create mode 100644 source/cursor/breeze/Cross.cur create mode 100644 source/cursor/breeze/Hand.cur create mode 100644 source/cursor/breeze/Handwriting.cur create mode 100644 source/cursor/breeze/Help.cur create mode 100644 source/cursor/breeze/IBeam.cur create mode 100644 source/cursor/breeze/NO.cur create mode 100644 source/cursor/breeze/SizeAll.cur create mode 100644 source/cursor/breeze/SizeNESW.cur create mode 100644 source/cursor/breeze/SizeNS.cur create mode 100644 source/cursor/breeze/SizeNWSE.cur create mode 100644 source/cursor/breeze/SizeWE.cur create mode 100644 source/cursor/breeze/UpArrow.cur create mode 100644 source/font/WenCang.woff2 create mode 100644 source/font/dshare.woff2 create mode 100644 source/img/avatar.svg create mode 100644 source/img/wordline.webp create mode 100644 source/js/autoload.min.js create mode 100644 source/js/btoc.min.js create mode 100644 source/js/common.min.js create mode 100644 source/js/cursor/click/firework.min.js create mode 100644 source/js/cursor/click/granule.min.js create mode 100644 source/js/cursor/move/bubbleCursor.min.js create mode 100644 source/js/cursor/move/emojiCursor.min.js create mode 100644 source/js/cursor/move/fairyDustCursor.min.js create mode 100644 source/js/cursor/move/followingDotCursor.min.js create mode 100644 source/js/cursor/move/ghostCursor.min.js create mode 100644 source/js/cursor/move/snowflakeCursor.min.js create mode 100644 source/js/cursor/move/springyEmojiCursor.min.js create mode 100644 source/js/cursor/move/trailingCursor.min.js create mode 100644 source/js/dprogress.min.js create mode 100644 source/js/dshare.min.js create mode 100644 source/js/dshare.min.js.LICENSE.txt create mode 100644 source/js/effects/circleMagic.min.js create mode 100644 source/js/effects/sakura.min.js create mode 100644 source/js/effects/universe.min.js create mode 100644 source/js/journals.min.js create mode 100644 source/js/mew-custom.min.js create mode 100644 source/js/photos.min.js create mode 100644 source/js/pjax.min.js create mode 100644 source/js/post.min.js create mode 100644 source/js/settings.min.js create mode 100644 source/js/spark-input.min.js create mode 100644 source/js/sw.min.js create mode 100644 source/js/utils.min.js create mode 100644 source/lib/aplayer@1.10.1/APlayer.min.css create mode 100644 source/lib/aplayer@1.10.1/APlayer.min.css.map create mode 100644 source/lib/aplayer@1.10.1/APlayer.min.js create mode 100644 source/lib/aplayer@1.10.1/APlayer.min.js.map create mode 100644 source/lib/clipboard@2.0.10/clipboard.min.js create mode 100644 source/lib/fancybox@5.3.7/jquery.fancybox.min.css create mode 100644 source/lib/fancybox@5.3.7/jquery.fancybox.min.js create mode 100644 source/lib/font-awesome@4.7.0/HELP-US-OUT.txt create mode 100644 source/lib/font-awesome@4.7.0/css/font-awesome.css create mode 100644 source/lib/font-awesome@4.7.0/css/font-awesome.min.css create mode 100644 source/lib/font-awesome@4.7.0/fonts/FontAwesome.otf create mode 100644 source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.eot create mode 100644 source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.svg create mode 100644 source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.ttf create mode 100644 source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.woff create mode 100644 source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.woff2 create mode 100644 source/lib/font-awesome@4.7.0/less/animated.less create mode 100644 source/lib/font-awesome@4.7.0/less/bordered-pulled.less create mode 100644 source/lib/font-awesome@4.7.0/less/core.less create mode 100644 source/lib/font-awesome@4.7.0/less/fixed-width.less create mode 100644 source/lib/font-awesome@4.7.0/less/font-awesome.less create mode 100644 source/lib/font-awesome@4.7.0/less/icons.less create mode 100644 source/lib/font-awesome@4.7.0/less/larger.less create mode 100644 source/lib/font-awesome@4.7.0/less/list.less create mode 100644 source/lib/font-awesome@4.7.0/less/mixins.less create mode 100644 source/lib/font-awesome@4.7.0/less/path.less create mode 100644 source/lib/font-awesome@4.7.0/less/rotated-flipped.less create mode 100644 source/lib/font-awesome@4.7.0/less/screen-reader.less create mode 100644 source/lib/font-awesome@4.7.0/less/stacked.less create mode 100644 source/lib/font-awesome@4.7.0/less/variables.less create mode 100644 source/lib/font-awesome@4.7.0/scss/_animated.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_bordered-pulled.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_core.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_fixed-width.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_icons.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_larger.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_list.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_mixins.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_path.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_rotated-flipped.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_screen-reader.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_stacked.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/_variables.scss create mode 100644 source/lib/font-awesome@4.7.0/scss/font-awesome.scss create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/a.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/aixin.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/anzhongguancha.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/aoteman.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/aowu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/bianbian.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/bishi.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/bugaoxing.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/butin.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/caigou.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/caihong.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/chabei.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/chigua.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/damuzhi.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/dangao.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/dengpao.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/ganfan.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/guai.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/haha.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/haha2.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/han.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/hehe.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/heiheihei.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/heitoudengyan.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/heitougaoxing.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/heixian.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/hejiu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/honglingjin.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/hu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/huaji.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/huanhu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/huaxin.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/jingku.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/jingya.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/jinzhang.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/kaixin.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/kejianzhongguancha.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/ku.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/kuanhan.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/kunchenggou.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/landeli.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/laohu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/lazhu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/lei.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/len.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/liwu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/meigui.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/mianqiang.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/nidongde.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/nu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/ok.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/pen.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/pu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/qian.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/qianbi.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/shafa.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/shengli.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/shengqi.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/shouzhi.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/shuijiao.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/suanshuang.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/taikaixin.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/taiyang.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/tanshou.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/tu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/tuosai.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/turanxingfen.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/tushe.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/wabi.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/wangyuanjing.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/weiqu.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/weiweiyixiao.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/what.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/wuzuixiao.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/xiangjiao.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/xiaoguai.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/xiaohonglian.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/xiaoniao.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/xiaoyan.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/xili.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/xingxingyueliang.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/xinsui.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/yamiedie.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/yanhua.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/yaowan.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/yi.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/yingxiang.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/yinyue.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/yiwen.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/zhayao.png create mode 100644 source/lib/halo-comment@1.1.2/assets/emoji/zhenbang.png create mode 100644 source/lib/halo-comment@1.1.2/assets/img/avatar.svg create mode 100644 source/lib/halo-comment@1.1.2/assets/img/loading.svg create mode 100644 source/lib/halo-comment@1.1.2/halo-comment.min.js create mode 100644 source/lib/highlightjs@11.5.1/LICENSE create mode 100644 source/lib/highlightjs@11.5.1/README.md create mode 100644 source/lib/highlightjs@11.5.1/es/core.js create mode 100644 source/lib/highlightjs@11.5.1/es/core.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/highlight.js create mode 100644 source/lib/highlightjs@11.5.1/es/highlight.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/1c.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/abnf.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/accesslog.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/actionscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/ada.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/angelscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/apache.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/applescript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/arcade.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/arduino.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/armasm.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/asciidoc.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/aspectj.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/autohotkey.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/autoit.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/avrasm.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/awk.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/axapta.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/bash.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/basic.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/bnf.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/brainfuck.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/c.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/cal.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/capnproto.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/ceylon.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/clean.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/clojure-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/clojure.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/cmake.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/coffeescript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/coq.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/cos.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/cpp.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/crmsh.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/crystal.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/csharp.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/csp.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/css.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/d.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/dart.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/delphi.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/diff.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/django.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/dns.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/dockerfile.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/dos.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/dsconfig.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/dts.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/dust.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/ebnf.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/elixir.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/elm.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/erb.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/erlang-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/erlang.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/excel.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/fix.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/flix.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/fortran.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/fsharp.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/gams.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/gauss.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/gcode.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/gherkin.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/glsl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/gml.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/go.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/golo.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/gradle.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/graphql.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/groovy.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/haml.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/handlebars.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/haskell.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/haxe.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/hsp.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/http.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/hy.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/inform7.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/ini.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/irpf90.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/isbl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/java.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/javascript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/jboss-cli.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/json.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/julia-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/julia.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/kotlin.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/lasso.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/latex.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/ldif.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/leaf.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/less.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/lisp.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/livecodeserver.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/livescript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/llvm.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/lsl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/lua.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/makefile.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/markdown.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/mathematica.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/matlab.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/maxima.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/mel.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/mercury.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/mipsasm.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/mizar.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/mojolicious.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/monkey.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/moonscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/n1ql.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/nestedtext.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/nginx.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/nim.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/nix.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/node-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/nsis.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/objectivec.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/ocaml.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/openscad.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/oxygene.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/parser3.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/perl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/pf.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/pgsql.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/php-template.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/php.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/plaintext.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/pony.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/powershell.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/processing.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/profile.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/prolog.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/properties.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/protobuf.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/puppet.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/purebasic.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/python-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/python.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/q.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/qml.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/r.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/reasonml.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/rib.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/roboconf.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/routeros.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/rsl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/ruby.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/ruleslanguage.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/rust.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/sas.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/scala.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/scheme.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/scilab.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/scss.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/shell.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/smali.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/smalltalk.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/sml.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/sqf.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/sql.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/stan.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/stata.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/step21.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/stylus.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/subunit.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/swift.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/taggerscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/tap.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/tcl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/thrift.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/tp.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/twig.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/typescript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/vala.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/vbnet.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/vbscript-html.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/vbscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/verilog.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/vhdl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/vim.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/wasm.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/wren.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/x86asm.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/xl.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/xml.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/xquery.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/yaml.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/languages/zephir.min.js create mode 100644 source/lib/highlightjs@11.5.1/es/package.json create mode 100644 source/lib/highlightjs@11.5.1/highlight.js create mode 100644 source/lib/highlightjs@11.5.1/highlight.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/1c.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/abnf.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/accesslog.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/actionscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/ada.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/angelscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/apache.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/applescript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/arcade.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/arduino.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/armasm.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/asciidoc.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/aspectj.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/autohotkey.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/autoit.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/avrasm.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/awk.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/axapta.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/bash.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/basic.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/bnf.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/brainfuck.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/c.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/cal.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/capnproto.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/ceylon.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/clean.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/clojure-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/clojure.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/cmake.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/coffeescript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/coq.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/cos.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/cpp.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/crmsh.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/crystal.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/csharp.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/csp.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/css.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/d.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/dart.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/delphi.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/diff.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/django.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/dns.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/dockerfile.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/dos.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/dsconfig.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/dts.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/dust.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/ebnf.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/elixir.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/elm.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/erb.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/erlang-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/erlang.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/excel.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/fix.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/flix.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/fortran.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/fsharp.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/gams.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/gauss.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/gcode.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/gherkin.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/glsl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/gml.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/go.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/golo.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/gradle.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/graphql.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/groovy.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/haml.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/handlebars.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/haskell.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/haxe.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/hsp.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/http.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/hy.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/inform7.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/ini.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/irpf90.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/isbl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/java.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/javascript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/jboss-cli.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/json.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/julia-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/julia.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/kotlin.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/lasso.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/latex.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/ldif.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/leaf.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/less.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/lisp.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/livecodeserver.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/livescript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/llvm.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/lsl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/lua.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/makefile.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/markdown.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/mathematica.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/matlab.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/maxima.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/mel.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/mercury.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/mipsasm.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/mizar.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/mojolicious.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/monkey.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/moonscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/n1ql.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/nestedtext.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/nginx.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/nim.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/nix.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/node-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/nsis.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/objectivec.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/ocaml.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/openscad.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/oxygene.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/parser3.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/perl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/pf.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/pgsql.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/php-template.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/php.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/plaintext.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/pony.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/powershell.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/processing.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/profile.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/prolog.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/properties.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/protobuf.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/puppet.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/purebasic.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/python-repl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/python.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/q.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/qml.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/r.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/reasonml.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/rib.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/roboconf.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/routeros.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/rsl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/ruby.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/ruleslanguage.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/rust.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/sas.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/scala.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/scheme.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/scilab.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/scss.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/shell.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/smali.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/smalltalk.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/sml.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/sqf.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/sql.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/stan.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/stata.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/step21.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/stylus.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/subunit.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/swift.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/taggerscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/tap.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/tcl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/thrift.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/tp.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/twig.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/typescript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/vala.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/vbnet.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/vbscript-html.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/vbscript.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/verilog.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/vhdl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/vim.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/wasm.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/wren.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/x86asm.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/xl.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/xml.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/xquery.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/yaml.min.js create mode 100644 source/lib/highlightjs@11.5.1/languages/zephir.min.js create mode 100644 source/lib/highlightjs@11.5.1/package.json create mode 100644 source/lib/highlightjs@11.5.1/styles/a11y-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/a11y-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/agate.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/an-old-hope.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/androidstudio.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/arduino-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/arta.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/ascetic.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/atom-one-dark-reasonable.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/atom-one-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/atom-one-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/3024.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/apathy.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/apprentice.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/ashes.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-cave-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-cave.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-dune-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-dune.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-estuary-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-estuary.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-forest-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-forest.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-heath-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-heath.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-lakeside-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-lakeside.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-plateau-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-plateau.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-savanna-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-savanna.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-seaside-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-seaside.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-sulphurpool-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atelier-sulphurpool.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/atlas.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/bespin.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-bathory.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-burzum.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-dark-funeral.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-gorgoroth.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-immortal.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-khold.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-marduk.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-mayhem.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-nile.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal-venom.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/black-metal.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/brewer.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/bright.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/brogrammer.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/brush-trees-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/brush-trees.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/chalk.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/circus.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/classic-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/classic-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/codeschool.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/colors.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/cupcake.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/cupertino.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/danqing.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/darcula.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/dark-violet.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/darkmoss.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/darktooth.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/decaf.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/default-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/default-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/dirtysea.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/dracula.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/edge-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/edge-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/eighties.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/embers.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/equilibrium-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/equilibrium-gray-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/equilibrium-gray-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/equilibrium-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/espresso.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/eva-dim.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/eva.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/flat.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/framer.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/fruit-soda.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/gigavolt.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/github.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/google-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/google-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/grayscale-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/grayscale-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/green-screen.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/gruvbox-dark-hard.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/gruvbox-dark-medium.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/gruvbox-dark-pale.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/gruvbox-dark-soft.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/gruvbox-light-hard.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/gruvbox-light-medium.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/gruvbox-light-soft.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/hardcore.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/harmonic16-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/harmonic16-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/heetch-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/heetch-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/helios.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/hopscotch.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/horizon-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/horizon-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/humanoid-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/humanoid-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/ia-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/ia-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/icy-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/ir-black.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/isotope.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/kimber.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/london-tube.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/macintosh.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/marrakesh.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/materia.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/material-darker.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/material-lighter.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/material-palenight.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/material-vivid.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/material.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/mellow-purple.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/mexico-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/mocha.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/monokai.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/nebula.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/nord.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/nova.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/ocean.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/oceanicnext.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/one-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/onedark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/outrun-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/papercolor-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/papercolor-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/paraiso.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/pasque.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/phd.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/pico.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/pop.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/porple.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/qualia.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/railscasts.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/rebecca.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/ros-pine-dawn.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/ros-pine-moon.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/ros-pine.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/sagelight.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/sandcastle.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/seti-ui.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/shapeshifter.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/silk-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/silk-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/snazzy.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/solar-flare-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/solar-flare.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/solarized-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/solarized-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/spacemacs.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/summercamp.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/summerfruit-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/summerfruit-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/synth-midnight-terminal-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/synth-midnight-terminal-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/tango.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/tender.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/tomorrow-night.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/tomorrow.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/twilight.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/unikitty-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/unikitty-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/vulcan.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/windows-10-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/windows-10.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/windows-95-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/windows-95.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/windows-high-contrast-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/windows-high-contrast.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/windows-nt-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/windows-nt.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/woodland.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/xcode-dusk.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/base16/zenburn.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/brown-paper.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/brown-papersq.png create mode 100644 source/lib/highlightjs@11.5.1/styles/codepen-embed.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/color-brewer.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/default.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/devibeans.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/docco.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/far.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/felipec.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/foundation.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/github-dark-dimmed.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/github-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/github.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/gml.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/googlecode.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/gradient-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/gradient-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/grayscale.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/hybrid.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/idea.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/intellij-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/ir-black.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/isbl-editor-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/isbl-editor-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/kimbie-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/kimbie-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/lightfair.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/lioshi.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/magula.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/mono-blue.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/monokai-sublime.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/monokai.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/night-owl.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/nnfx-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/nnfx-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/nord.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/obsidian.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/paraiso-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/paraiso-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/pojoaque.jpg create mode 100644 source/lib/highlightjs@11.5.1/styles/pojoaque.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/purebasic.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/qtcreator-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/qtcreator-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/rainbow.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/routeros.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/school-book.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/shades-of-purple.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/srcery.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/stackoverflow-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/stackoverflow-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/sunburst.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/tokyo-night-dark.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/tokyo-night-light.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/tomorrow-night-blue.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/tomorrow-night-bright.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/vs.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/vs2015.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/xcode.min.css create mode 100644 source/lib/highlightjs@11.5.1/styles/xt256.min.css create mode 100644 source/lib/jquery-pjax@2.0.1/jquery.pjax.js create mode 100644 source/lib/jquery-pjax@2.0.1/jquery.pjax.min.js create mode 100644 source/lib/jquery-pjax@2.0.1/jquery.pjax.min.js.map create mode 100644 source/lib/jquery@3.5.1/jquery.min.js create mode 100644 source/lib/justifiedGallery@3.8.1/jquery.justifiedGallery.min.js create mode 100644 source/lib/katex@0.12.0/README.md create mode 100644 source/lib/katex@0.12.0/contrib/auto-render.js create mode 100644 source/lib/katex@0.12.0/contrib/auto-render.min.js create mode 100644 source/lib/katex@0.12.0/contrib/auto-render.mjs create mode 100644 source/lib/katex@0.12.0/contrib/copy-tex.css create mode 100644 source/lib/katex@0.12.0/contrib/copy-tex.js create mode 100644 source/lib/katex@0.12.0/contrib/copy-tex.min.css create mode 100644 source/lib/katex@0.12.0/contrib/copy-tex.min.js create mode 100644 source/lib/katex@0.12.0/contrib/copy-tex.mjs create mode 100644 source/lib/katex@0.12.0/contrib/mathtex-script-type.js create mode 100644 source/lib/katex@0.12.0/contrib/mathtex-script-type.min.js create mode 100644 source/lib/katex@0.12.0/contrib/mathtex-script-type.mjs create mode 100644 source/lib/katex@0.12.0/contrib/mhchem.js create mode 100644 source/lib/katex@0.12.0/contrib/mhchem.min.js create mode 100644 source/lib/katex@0.12.0/contrib/mhchem.mjs create mode 100644 source/lib/katex@0.12.0/contrib/render-a11y-string.js create mode 100644 source/lib/katex@0.12.0/contrib/render-a11y-string.min.js create mode 100644 source/lib/katex@0.12.0/contrib/render-a11y-string.mjs create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Bold.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Bold.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Bold.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Bold.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Bold.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Bold.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-BoldItalic.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-BoldItalic.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-BoldItalic.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Italic.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Italic.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Italic.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Main-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Math-BoldItalic.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Math-BoldItalic.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Math-BoldItalic.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Math-Italic.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Math-Italic.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Math-Italic.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Bold.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Bold.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Bold.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Italic.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Italic.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Italic.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Script-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Script-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Script-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size1-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size1-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size1-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size3-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size3-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size3-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size4-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size4-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Size4-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Typewriter-Regular.ttf create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Typewriter-Regular.woff create mode 100644 source/lib/katex@0.12.0/fonts/KaTeX_Typewriter-Regular.woff2 create mode 100644 source/lib/katex@0.12.0/katex.css create mode 100644 source/lib/katex@0.12.0/katex.js create mode 100644 source/lib/katex@0.12.0/katex.min.css create mode 100644 source/lib/katex@0.12.0/katex.min.js create mode 100644 source/lib/katex@0.12.0/katex.mjs create mode 100644 source/lib/live2d@1.0.1/flat-ui-icons-regular.eot create mode 100644 source/lib/live2d@1.0.1/flat-ui-icons-regular.svg create mode 100644 source/lib/live2d@1.0.1/flat-ui-icons-regular.ttf create mode 100644 source/lib/live2d@1.0.1/flat-ui-icons-regular.woff create mode 100644 source/lib/live2d@1.0.1/live2d.min.js create mode 100644 source/lib/live2d@1.0.1/waifu-tips.json create mode 100644 source/lib/live2d@1.0.1/waifu-tips.min.js create mode 100644 source/lib/live2d@1.0.1/waifu.min.css create mode 100644 source/lib/meting@2.0.1/Meting.min.js create mode 100644 source/lib/qmsg/qmsg.min.css create mode 100644 source/lib/qmsg/qmsg.min.js create mode 100644 source/lib/swiper@8.4.6/swiper-bundle.css create mode 100644 source/lib/swiper@8.4.6/swiper-bundle.js create mode 100644 source/lib/swiper@8.4.6/swiper-bundle.js.map create mode 100644 source/lib/swiper@8.4.6/swiper-bundle.min.css create mode 100644 source/lib/swiper@8.4.6/swiper-bundle.min.js create mode 100644 source/lib/swiper@8.4.6/swiper-bundle.min.js.map create mode 100644 source/lib/vue@2.6.10/vue.min.js create mode 100644 src/css/cursor/breeze.less create mode 100644 src/css/dshare.less create mode 100644 src/css/mew-custom.less create mode 100644 src/css/post.less create mode 100644 src/css/style.less create mode 100644 src/css/theme.less create mode 100644 src/js/autoload.js create mode 100644 src/js/btoc.js create mode 100644 src/js/common.js create mode 100644 src/js/cursor/click/firework.js create mode 100644 src/js/cursor/click/granule.js create mode 100644 src/js/cursor/move/bubbleCursor.js create mode 100644 src/js/cursor/move/emojiCursor.js create mode 100644 src/js/cursor/move/fairyDustCursor.js create mode 100644 src/js/cursor/move/followingDotCursor.js create mode 100644 src/js/cursor/move/ghostCursor.js create mode 100644 src/js/cursor/move/snowflakeCursor.js create mode 100644 src/js/cursor/move/springyEmojiCursor.js create mode 100644 src/js/cursor/move/trailingCursor.js create mode 100644 src/js/dprogress.js create mode 100644 src/js/dshare.js create mode 100644 src/js/effects/circleMagic.js create mode 100644 src/js/effects/sakura.js create mode 100644 src/js/effects/universe.js create mode 100644 src/js/journals.js create mode 100644 src/js/mew-custom.js create mode 100644 src/js/photos.js create mode 100644 src/js/pjax.js create mode 100644 src/js/post.js create mode 100644 src/js/settings.js create mode 100644 src/js/spark-input.js create mode 100644 src/js/sw.js create mode 100644 src/js/utils.js create mode 100644 src/patch.js create mode 100644 tag.ftl create mode 100644 tags.ftl create mode 100644 template/common/actions.ftl create mode 100644 template/common/banner.ftl create mode 100644 template/common/config.ftl create mode 100644 template/common/footer.ftl create mode 100644 template/common/head.ftl create mode 100644 template/common/navbar.ftl create mode 100644 template/common/scripts.ftl create mode 100644 template/common/widget.ftl create mode 100644 template/errorpage.ftl create mode 100644 template/layout.ftl create mode 100644 template/layout_default.ftl create mode 100644 template/layout_pjax.ftl create mode 100644 template/main/admire.ftl create mode 100644 template/main/article.ftl create mode 100644 template/main/article_list.ftl create mode 100644 template/main/article_literature.ftl create mode 100644 template/main/comment.ftl create mode 100644 template/main/copyright.ftl create mode 100644 template/main/pagination.ftl create mode 100644 template/widget/ad_piece.ftl create mode 100644 template/widget/categories.ftl create mode 100644 template/widget/links.ftl create mode 100644 template/widget/love.ftl create mode 100644 template/widget/music.ftl create mode 100644 template/widget/notice.ftl create mode 100644 template/widget/profile.ftl create mode 100644 template/widget/recent_comments.ftl create mode 100644 template/widget/recent_posts.ftl create mode 100644 template/widget/tagcloud.ftl create mode 100644 template/widget/tags.ftl create mode 100644 template/widget/toc.ftl create mode 100644 theme.yaml diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..56f0bce --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +source/ \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..a3df97d --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,23 @@ +module.exports = { + 'env': { + 'browser': true, + 'es2021': true + }, + 'extends': 'eslint:recommended', + 'overrides': [], + 'parserOptions': { + 'ecmaVersion': 'latest', + 'sourceType': 'module' + }, + 'rules': { + 'indent': ['error', 2], + 'linebreak-style': ['error', 'unix'], + 'quotes': ['error', 'single'], + 'semi': ['error', 'never'], + 'no-undef': ['off'], + 'no-unused-vars': ['off'], + 'no-useless-escape': ['off'], + 'no-mixed-spaces-and-tabs': ['off'], + 'no-inner-declarations': ['off'] + } +} diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..bd56382 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,58 @@ +name: BUG 提交 +description: 提交 Bug 反馈 +title: 'bug:' +labels: [bug] +body: + - type: markdown + id: preface + attributes: + value: | + 感谢你花时间填写此错误报告!在开始之前,我们非常推荐阅读一遍[《开源最佳实践》](https://github.com/LinuxSuRen/open-source-best-practice),这会在很大程度上提高我们彼此的效率。 + - type: markdown + id: environment + attributes: + value: "## 环境信息" + - type: input + id: halo-version + validations: + required: false + attributes: + label: "是什么 Halo 版本出现了此问题?" + description: "可以在管理后台的关于页面中找到。" + - type: input + id: dream-version + validations: + required: false + attributes: + label: "使用的 Dream 版本是多少?" + description: "可以在主题 `theme.yaml` 文件中找到。" + - type: input + id: site-url + attributes: + label: "在线博客地址" + description: "如果可以的话,请提供你的博客地址。这可能会帮助我们更好的定位问题。" + placeholder: "ex. https://blog.nineya.com" + validations: + required: false + - type: markdown + id: details + attributes: + value: "## 详细信息" + - type: textarea + id: what-happened + attributes: + label: "BUG 内容" + description: "较详细的描述 BUG 导致了什么问题。" + validations: + required: true + - type: textarea + id: logs + attributes: + label: "相关 Console 日志输出" + description: "浏览器界面按 `F12` 进入开发者工具,请复制并粘贴任何相关的控制台日志输出。 这将自动格式化为代码,因此无需反引号。" + render: shell + - type: textarea + id: additional-information + attributes: + label: "附加信息" + description: "如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。" diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..e1c0cef --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: 加入主题交流群 + url: https://qm.qq.com/cgi-bin/qm/qr?k=X7p7Bs21cgtkQ0dRfzmBsuWqNNQc10hn&jump_from=webapi + about: 如果问题描述起来较于复杂,欢迎加入 Dream 主题交流群进行提问。 diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..01e469a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,41 @@ +name: 新特性建议 +description: 提交新特性建议 +title: 'feat:' +body: + - type: markdown + id: preface + attributes: + value: "你好!感谢你为 Dream 提交新特性建议。在开始之前,我们非常推荐阅读一遍[《开源最佳实践》](https://github.com/LinuxSuRen/open-source-best-practice),这会在很大程度上提高我们彼此的效率。" + - type: markdown + id: environment + attributes: + value: "## 环境信息" + - type: input + id: halo-version + validations: + required: false + attributes: + label: "你当前使用的 Halo 版本" + description: "可以在管理后台的关于页面中找到。" + - type: input + id: dream-version + validations: + required: false + attributes: + label: "你当前使用的 Dream 版本" + description: "可以在主题 `theme.yaml` 文件中找到。" + - type: markdown + id: details + attributes: + value: "## 详细信息" + - type: textarea + id: description + attributes: + label: "描述一下此特性" + validations: + required: true + - type: textarea + id: additional-information + attributes: + label: "附加信息" + description: "如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df1f00d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.iml +.idea/ +node_modules/ +dist/ +package-lock.json \ No newline at end of file diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..f2f3183 --- /dev/null +++ b/.npmignore @@ -0,0 +1,5 @@ +/node_modules/* +/.idea/* +/.git/* +/.github/* +/dist \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..fef68b9 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +shamefully-hoist=true +registry=https://registry.npmjs.org diff --git a/404.ftl b/404.ftl new file mode 100644 index 0000000..cd4297f --- /dev/null +++ b/404.ftl @@ -0,0 +1,2 @@ +<#include "template/errorpage.ftl"> +<@errorpage "找不到网页","无法找到该文章或分类,可能已被删除,去首页看看吧。","${status!}","${error!}","${message!}" /> \ No newline at end of file diff --git a/500.ftl b/500.ftl new file mode 100644 index 0000000..5dc1fad --- /dev/null +++ b/500.ftl @@ -0,0 +1,2 @@ +<#include "template/errorpage.ftl"> +<@errorpage "服务器繁忙","围观群众太过热情,服务器繁忙,请稍后访问。","${status!}","${error!}","${message!}" /> \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..acd08dc --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 Nineya + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..4295c68 --- /dev/null +++ b/README.md @@ -0,0 +1,117 @@ +

+halo-theme-dream +

+

halo-theme-dream

+ +

+releases +license +downloads +size +commits +donate +

+ + +## 一、预览 + +![玖涯博客](https://cdn.jsdelivr.net/gh/nineya/halo-theme-dream@master/preview.png) + +预览:[主题预览](https://github.com/nineya/halo-theme-dream/discussions/72) +> 如果你有计划长期使用 `Dream` 主题,也来[这里](https://github.com/nineya/halo-theme-dream/discussions/72)留下你的博客链接吧。 + + + +## 二、说明 + +梦之城,童话梦境,动漫类型博客主题。 + +关于主题使用上的一些问题可以参见 [主题使用手册-基础篇](https://blog.nineya.com/archives/94.html) + +如果还有疑问,欢迎加入 Dream 主题交流群:638168592 + +欢迎参与主题开发的一些问题探讨 + +## 三、版本适配关系 + +| 主题版本 | 适配Halo版本 | 测试用Halo版本 | +| ----------- | --------------------------- | -------------- | +| 1.x | 1.4.x及以下(不保证适配性) | 1.4.8 | +| 2.0.0-2.0.1 | 1.4.x | 1.4.8 | +| 2.0.2+ | 1.5.x | 1.5.3 | + +> 主题未在配置要求中对 Halo 最低版本限制得太死,但 Halo 不同版本开发接口略有不同,在不适配的版本中无法保证完全兼容。 +> +> 相对来说,测试用的 Halo 版本具有最好的适配性,是主题推荐的 `Halo` 版本。 + + + +## 四、安装 & 更新 + +### 4.1 安装包安装 & 更新 + +1. 进入主题 `Release` 界面:https://github.com/nineya/halo-theme-dream/releases 下载主题压缩包 `halo-theme-dream.zip` 压缩包文件; +2. 进入博客后台管理 `外观->主题->安装->本地上传`,选择下载的 `halo-theme-dream.zip` 安装包进行上传; +3. 等待安装完成; +4. 更新主题时同样前往主题 `Release` 界面下载主题安装包,然后通过 `外观->主题->Dream->更多->从主题包更新` 方法上传安装包进行更新。 + + + +### 4.2 在线安装 & 更新 + +1. 复制主题仓库地址 `https://github.com/nineya/halo-theme-dream.git` + +2. 进入博客后台管理 `外观->主题->安装->远程下载`,黏贴仓库地址进行安装; +3. 等待安装完成; +4. 在线更新主题时,通过 ``外观->主题->Dream->更多->在线更新` 方法进行更新。 + +> 在线安装 & 更新的方式不推荐: +> +> 1. 因为由于 `GitHub` 的网络问题,很大几率会安装& 更新失败; +> 2. 主题是经过源码编译的,直接从仓库下载包含了主题的源码以及开发所需的相关文件,这些文件并不是安装主题所需要的。 + + + +### 4.3 安装配置邮件模板 + +配置邮件模板需要登录服务器添加模板文件,并重启 `Halo`。 + +1. 登录服务器,按步骤执行如下命令: +```bash +# 创建邮件模板目录 +mkdir -r ~/.halo/templates/common/mail_template/ +cd ~/.halo/templates/common/mail_template/ + +# 创建mail_notice.ftl文件 +vi mail_notice.ftl +## 文件内容如下(只需这一行即可): +<#include "../../themes/dream/mail_template/mail_notice.ftl"> + +# 创建mail_reply.ftl文件 +vi mail_reply.ftl +## 文件内容如下(只需这一行即可): +<#include "../../themes/dream/mail_template/mail_reply.ftl" +``` + +2. 重启 `Halo` + +## 五、参与主题开发 + +> 推荐使用 IDEA 进行主题开发,能够比较好的支持 FreeMarker。 + +1. 开发环境准备 + - 安装 `nodejs` 版本需要在 `15+`; + - 主题目录下执行 `npm i` 安装依赖; + +2. npm 命令 + - `npm run build` 执行主题打包操作,主题将被打包为压缩包文件存放在 `dist/` 目录下,同时 `source` 目录下的文件也将被更新。 + - `npm run build --devel` 开发模式进行主题打包,`js` 和 `css` 不会被做压缩和混淆处理,方便排查问题。 + - `npm run cdn --tag=$version` 创建 `FreeCDN` 清单文件,必须指定 `tag` 参数,值为本地代码将发布到 `GitHub` 仓库的版本标签。 + - `npm run release --tag=$version` 发布模式执行主题打包操作,将自动更新主题中的版本号,并使用这个版本标签重新创建 `FreeCDN` 清单文件。 + + +## 六、打赏项目 + +感谢您对本项目的喜爱,您的打赏是对本项目最好的支持!本项目所有打赏收益将全部投入到支付宝公益项目,捐赠记录在[关于我的](https://blog.nineya.com/about)中可见,一起为公益事业加油。 + +![打赏项目](https://blog.nineya.com/upload/2022/08/funding.png) diff --git a/archives.ftl b/archives.ftl new file mode 100644 index 0000000..41d04d2 --- /dev/null +++ b/archives.ftl @@ -0,0 +1,40 @@ +<#include "template/layout.ftl"> +<@layout title="归档 - ${blog_title!}" canonical="${archives_url!}"> + <#if (archives)?? && archives?size gt 0> + <#list archives as archive> +
+
${archive.year?c}
+
+ <#list archive.posts as post> +
+ <#if post.thumbnail?? && post.thumbnail!=''> + + ${post.title!} + + +
+ + ${post.title!} + <#if post.categories?? && post.categories?size gt 0> +

+ <#list post.categories as category> + ${category.name!}  + +

+ +
+
+ +
+
+ + <#include "template/main/pagination.ftl"> + <@pagination method="archives" datas=posts display="${settings.page_number!5}" /> + <#else> +
+ + 还没有发表过文章,回主页看看吧 +
+ + \ No newline at end of file diff --git a/categories.ftl b/categories.ftl new file mode 100644 index 0000000..ac2613b --- /dev/null +++ b/categories.ftl @@ -0,0 +1,39 @@ +<#include "template/layout.ftl"> +<#macro categoriesTree categories> + <#list categories as category> +
  • + + ${category.name} + ${postCounts[category.id?c]!} + + <#if category.children?? && category.children?size gt 0> + + +
  • + + +<@layout title="分类 - ${blog_title!}" canonical="${categories_url!}"> + <#assign postCounts = {}> + <@categoryTag method="list"> + <#list categories as category> + <#assign postCounts += {category.id: category.postCount}> + + + <@categoryTag method="tree"> + <#if categories?? && categories?size gt 0> +
    +
    文章分类
    + +
    + <#else> +
    + + 还没有创建过分类,回主页看看吧 +
    + + + \ No newline at end of file diff --git a/category.ftl b/category.ftl new file mode 100644 index 0000000..30f3ca4 --- /dev/null +++ b/category.ftl @@ -0,0 +1,20 @@ +<#include "template/layout.ftl"> +<@layout title="分类:${category.name!} - ${blog_title!}" canonical="${category.fullPath!}"> + <#if (posts.content)?? && posts.content?size gt 0> +
    + +
    + <#include "template/main/article_list.ftl"> + <@article_list posts.content/> + <#include "template/main/pagination.ftl"> + <@pagination method="categoryPosts" datas=posts slug="${category.slug!}" display="${settings.page_number!5}" /> + <#else> +
    + + 该分类下没有文章,回主页看看吧 +
    + + diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..9ba3e65 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,149 @@ +const {src, dest, task, series, parallel} = require('gulp') +const webpack = require('webpack-stream') +const less = require('gulp-less') +const autoprefix = require('gulp-autoprefixer') +const uglify = require('gulp-uglify') +const minifyCSS = require('gulp-csso') +const zip = require('gulp-zip') +const rename = require('gulp-rename') +const clean = require('gulp-clean') +const path = require('path') +const execSync = require('child_process').execSync +const fs = require('fs') +const resolve = (name) => path.resolve(__dirname, name) +const cssPath = './source/css' +const jsPath = './source/js' +const distPath = './dist' +const devModel = process.env.npm_config_devel +const version = process.env.npm_config_tag + +if (devModel) { + console.log('> 开发模式') +} +version && console.log(`> 发布版本:${version}`) + +task('clean', () => { + return src([cssPath, jsPath, distPath], { + read: false, + allowEmpty: true, + }).pipe( + clean({ + force: true, + }) + ) +}) + +task('version', (done) => { + if (version == null) { + console.log('[Version] No \'--tag\' parameters are specified') + done() + return + } + const themePath = 'theme.yaml' + const layoutPath = 'template/layout.ftl' + const packagePath = 'package.json' + const themeData = fs.readFileSync(themePath, 'utf8') + .replace(/^version:\s+[^\s]+$/m, 'version: ' + version) + fs.writeFileSync(themePath, themeData) + fs.writeFileSync(layoutPath, fs.readFileSync(layoutPath, 'utf8') + .replace(/#global\s+theme_version\s*="[^\s]+"/, `#global theme_version="${version}"`)) + let packageData = fs.readFileSync(packagePath, 'utf8') + .replace(/"version":\s*"[^"]+"/, `"version": "${version}"`) + fs.writeFileSync(packagePath, packageData) + done() +}) + +task('css', () => { + const ignoreFiles = [].map((file) => `./src/css/${file}.less`) + + let gw = src('./src/css/**/*.less', { + ignore: ignoreFiles, + }) + .pipe(less()) + .pipe( + autoprefix({ + overrideBrowserslist: ['> 2%', 'last 2 versions', 'not ie 6-9'], + cascade: false, + }) + ) + if (!devModel) { + gw = gw.pipe(minifyCSS()) + } + + return gw.pipe( + rename({ + suffix: '.min', + }) + ).pipe(dest(cssPath)) +}) + +task('js', () => { + const readFile = (prefix, dir, ignoreFiles) => { + let result = {} + let files = fs.readdirSync(dir, 'utf-8') + files.forEach((file) => { + let filePath = path.join(dir, file) + let states = fs.statSync(filePath) + if (states.isDirectory()) { + Object.assign(result, readFile(path.join(prefix, file), filePath, ignoreFiles)) + } else if (ignoreFiles.length + ? /\.js$/.test(file) && !ignoreFiles.includes(path.join(prefix, file)) + : /\.js$/.test(file)) { + const fileName = file.replace(/.js$/, '') + result[path.join(prefix, fileName)] = resolve(filePath) + } + }) + return result + } + const getEntryData = () => { + return readFile('', './src/js', []) + } + + return webpack({ + mode: devModel ? 'development' : 'production', + entry: getEntryData(), + module: { + rules: [ + { + test: /\.js$/, + loader: 'babel-loader', + include: resolve('source'), + exclude: resolve('node_modules'), + options: { + presets: ['@babel/preset-env'], + plugins: ['@babel/plugin-transform-runtime'], + }, + }, + ], + }, + stats: 'errors-only', + output: { + filename: '[name].min.js', + }, + }) + .pipe(uglify()) + .pipe(dest(jsPath)) +}) + +task('zip', () => { + const target = ['./source/**', './template/**', './mail_template/**', './*.ftl', './*.yaml', 'README.md', 'screenshot.png', 'LICENSE'] + return src(target, {base: '.'}) + .pipe(zip('halo-theme-dream.zip')) + .pipe(dest(distPath)) +}) + +task('publish', (done) => { + // 需要将tag标签内容置为 latest + process.env.npm_config_tag = 'latest' + console.log(execSync('npm publish').toString()) + done() +}) + +// 默认模式 +task('default', series('clean', parallel('css', 'js'), 'zip')) + +// release模式,需要使用--tag参数指定版本号 +task('release', series('clean', 'version', parallel('css', 'js'), 'zip')) + +// push模式,需要使用--tag参数指定版本号 +task('push', series('clean', 'version', parallel('css', 'js'), 'zip', 'publish')) diff --git a/index.ftl b/index.ftl new file mode 100644 index 0000000..155c1c5 --- /dev/null +++ b/index.ftl @@ -0,0 +1,15 @@ +<#include "template/layout.ftl"> +<#global is_first_index=(posts.number == 0) > +<@layout title="${blog_title!}" canonical="${blog_url!}"> + <#if posts.content?? && posts.content?size gt 0> + <#include "template/main/article_list.ftl"> + <@article_list posts.content/> + <#include "template/main/pagination.ftl"> + <@pagination method="index" datas=posts display="${settings.page_number!5}" /> + <#else> +
    + + 还没有发表过文章 +
    + + \ No newline at end of file diff --git a/journals.ftl b/journals.ftl new file mode 100644 index 0000000..35d545a --- /dev/null +++ b/journals.ftl @@ -0,0 +1,47 @@ +<#include "template/layout.ftl"> +<@layout title="动态 - ${blog_title!}" canonical="${journals_url!}"> + <#if journals.content?? && journals.content?size gt 0> + <#list journals.content as journal> +
    +

    + + ${journal.createTime?string('yyyy年MM月dd日 HH:mm:ss')} +

    +
    +
    ${journal.content}
    +
    +
    + + + + + <#if settings.enable_journals_comment!true> + + <#if journal.commentCount==0>评论<#else>${journal.commentCount} + + + <#if enable_share> + + + + +
    + <#if settings.enable_journals_comment!true> +
    + <#include "template/main/comment.ftl"> + <@comment journal.id?c, "journal" /> +
    + +
    + + <#include "template/main/pagination.ftl"> + <@pagination method="journals" datas=journals display="${settings.page_number!5}" /> + <#else> +
    + + 还没有发表过动态,回主页看看吧 +
    + + \ No newline at end of file diff --git a/links.ftl b/links.ftl new file mode 100644 index 0000000..f0612e7 --- /dev/null +++ b/links.ftl @@ -0,0 +1,71 @@ +<#include "template/layout.ftl"> +<@layout title="友链 - ${blog_title!}" canonical="${links_url!}"> +
    + <#if settings.links_thumbnail?? && settings.links_thumbnail!=''> +
    +
    + +
    +

    友情链接 - ${user.nickname!}的小伙伴们

    +
    + <@linkTag method="listTeams"> + <#assign defaultAvatar= (settings.links_default_avatar?? && settings.links_default_avatar!='')?string(settings.links_default_avatar!, static + "/source/img/avatar.svg") /> + <#list teams as item> + + + + <#if (settings.show_exchange_info!true) || (settings.links_info?? && settings.links_info != '')> +
    + + <#if settings.show_exchange_info!true> + 申请友链的方法: + <#assign bloggerAvatar= (settings.links_blogger_avatar?? && settings.links_blogger_avatar!='')?string(settings.links_blogger_avatar!, user.avatar!) /> + + +
    ${settings.links_info!}
    +
    +
    +
    + <#if settings.link_comment_id?? && settings.link_comment_id!='' && settings.enable_comment!true> +
    +

    评论

    + <#include "template/main/comment.ftl"> + <@comment settings.link_comment_id, "sheet" /> +
    + + \ No newline at end of file diff --git a/mail_template/mail_notice.ftl b/mail_template/mail_notice.ftl new file mode 100644 index 0000000..131b14c --- /dev/null +++ b/mail_template/mail_notice.ftl @@ -0,0 +1,59 @@ +<#assign emojis={'呵呵':'hehe','哈哈':'haha','吐舌':'tushe','啊':'a','酷':'ku','怒':'nu','开心':'kaixin','汗':'han','泪':'lei','黑线':'heixian','鄙视':'bishi','不高兴':'bugaoxing','真棒':'zhenbang','钱':'qian','疑问':'yiwen','阴险':'yingxiang','吐':'tu','咦':'yi','委屈':'weiqu','花心':'huaxin','呼~':'hu','笑眼':'xiaoyan','冷':'len','太开心':'taikaixin','滑稽':'huaji','勉强':'mianqiang','狂汗':'kuanhan','乖':'guai','睡觉':'shuijiao','惊哭':'jingku','生气':'shengqi','惊讶':'jingya','喷':'pen','突然兴奋':'turanxingfen','挖鼻':'wabi','摊手':'tanshou','捂嘴笑':'wuzuixiao','喝酒':'hejiu','犀利':'xili','懒得理':'landeli','炸药':'zhayao','吃瓜':'chigua','小乖':'xiaoguai','你懂的':'nidongde','嘿嘿嘿':'heiheihei','欢呼':'huanhu','笑尿':'xiaoniao','酸爽':'suanshuang','紧张':'jinzhang','暗中观察':'anzhongguancha','小红脸':'xiaohonglian','呀咩爹':'yamiedie','微微一笑':'weiweiyixiao','what':'what','托腮':'tuosai','噗':'pu','困成狗':'kunchenggou','柯基暗中观察':'kejianzhongguancha','菜狗':'caigou','老虎':'laohu','嗷呜':'aowu','奥特曼':'aoteman','黑头高兴':'heitougaoxing','黑头瞪眼':'heitoudengyan','望远镜':'wangyuanjing','不听':'butin','干饭':'ganfan','大拇指':'damuzhi','胜利':'shengli','haha':'haha2','OK':'ok','红领巾':'honglingjin','爱心':'aixin','心碎':'xinsui','玫瑰':'meigui','礼物':'liwu','烟花':'yanhua','彩虹':'caihong','太阳':'taiyang','星星月亮':'xingxingyueliang','蛋糕':'dangao','茶杯':'chabei','香蕉':'xiangjiao','便便':'bianbian','药丸':'yaowan','钱币':'qianbi','蜡烛':'lazhu','沙发':'shafa','音乐':'yinyue','灯泡':'dengpao','手纸':'shouzhi'}> +<#list emojis?keys as key> + <#assign content=content?replace('\\[/${key}\\]','','ri')> + +
    + +
    +
    +

    + 您的博客有新的评论啦! + +

    + + +
    +
    +
    \ No newline at end of file diff --git a/mail_template/mail_reply.ftl b/mail_template/mail_reply.ftl new file mode 100644 index 0000000..3b46145 --- /dev/null +++ b/mail_template/mail_reply.ftl @@ -0,0 +1,60 @@ +<#assign emojis={'呵呵':'hehe','哈哈':'haha','吐舌':'tushe','啊':'a','酷':'ku','怒':'nu','开心':'kaixin','汗':'han','泪':'lei','黑线':'heixian','鄙视':'bishi','不高兴':'bugaoxing','真棒':'zhenbang','钱':'qian','疑问':'yiwen','阴险':'yingxiang','吐':'tu','咦':'yi','委屈':'weiqu','花心':'huaxin','呼~':'hu','笑眼':'xiaoyan','冷':'len','太开心':'taikaixin','滑稽':'huaji','勉强':'mianqiang','狂汗':'kuanhan','乖':'guai','睡觉':'shuijiao','惊哭':'jingku','生气':'shengqi','惊讶':'jingya','喷':'pen','突然兴奋':'turanxingfen','挖鼻':'wabi','摊手':'tanshou','捂嘴笑':'wuzuixiao','喝酒':'hejiu','犀利':'xili','懒得理':'landeli','炸药':'zhayao','吃瓜':'chigua','小乖':'xiaoguai','你懂的':'nidongde','嘿嘿嘿':'heiheihei','欢呼':'huanhu','笑尿':'xiaoniao','酸爽':'suanshuang','紧张':'jinzhang','暗中观察':'anzhongguancha','小红脸':'xiaohonglian','呀咩爹':'yamiedie','微微一笑':'weiweiyixiao','what':'what','托腮':'tuosai','噗':'pu','困成狗':'kunchenggou','柯基暗中观察':'kejianzhongguancha','菜狗':'caigou','老虎':'laohu','嗷呜':'aowu','奥特曼':'aoteman','黑头高兴':'heitougaoxing','黑头瞪眼':'heitoudengyan','望远镜':'wangyuanjing','不听':'butin','干饭':'ganfan','大拇指':'damuzhi','胜利':'shengli','haha':'haha2','OK':'ok','红领巾':'honglingjin','爱心':'aixin','心碎':'xinsui','玫瑰':'meigui','礼物':'liwu','烟花':'yanhua','彩虹':'caihong','太阳':'taiyang','星星月亮':'xingxingyueliang','蛋糕':'dangao','茶杯':'chabei','香蕉':'xiangjiao','便便':'bianbian','药丸':'yaowan','钱币':'qianbi','蜡烛':'lazhu','沙发':'shafa','音乐':'yinyue','灯泡':'dengpao','手纸':'shouzhi'}> +<#list emojis?keys as key> + <#assign baseContent=baseContent?replace('\\[/${key}\\]','','ri')> + <#assign replyContent=replyContent?replace('\\[/${key}\\]','','ri')> + +
    + +
    +
    +

    + Dear, 您在 ${blog_title!} 上的评论有新的回复啦! + +

    + + +
    +
    +
    \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..71ad51b --- /dev/null +++ b/package.json @@ -0,0 +1,54 @@ +{ + "name": "halo-theme-dream2.0", + "version": "0.0.1", + "description": "梦之城,童话梦境,动漫类型博客主题。", + "main": "index.js", + "author": "nineya", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "release": "eslint **/*.js && gulp release", + "push": "eslint **/*.js && gulp push", + "build": "eslint **/*.js && gulp", + "lint": "eslint **/*.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/nineya/halo-theme-dream.git" + }, + "keywords": [ + "halo", + "dream", + "nineya", + "halo-theme", + "halo-theme-dream" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/nineya/halo-theme-dream/issues" + }, + "homepage": "https://github.com/nineya/halo-theme-dream#readme", + "devDependencies": { + "@babel/core": "^7.15.5", + "@babel/plugin-transform-runtime": "^7.15.0", + "@babel/preset-env": "^7.15.6", + "babel-eslint": "^10.1.0", + "babel-loader": "^8.2.3", + "eslint": "^7.32.0", + "gulp": "^4.0.2", + "gulp-autoprefixer": "^8.0.0", + "gulp-babel": "^8.0.0", + "gulp-clean": "^0.4.0", + "gulp-csso": "^4.0.1", + "gulp-gzip": "^1.4.2", + "gulp-less": "^5.0.0", + "gulp-rename": "^2.0.0", + "gulp-uglify": "^3.0.2", + "gulp-zip": "^5.1.0", + "webpack": "^5.68.0", + "webpack-stream": "^7.0.0" + }, + "dependencies": { + "html2canvas": "^1.4.1", + "qrcode": "^1.5.1" + } +} diff --git a/photos.ftl b/photos.ftl new file mode 100644 index 0000000..9a8985d --- /dev/null +++ b/photos.ftl @@ -0,0 +1,22 @@ +<#include "template/layout.ftl"> +<@layout title="相册 - ${blog_title!}" canonical="${photos_url!}"> + <#if (photos.content)?? && photos.content?size gt 0> +
    +
    我的相册
    + +
    + + <#else> +
    + + 还没有上传过相册,回主页看看吧 +
    + + \ No newline at end of file diff --git a/post.ftl b/post.ftl new file mode 100644 index 0000000..f966c04 --- /dev/null +++ b/post.ftl @@ -0,0 +1,5 @@ +<#include "template/layout.ftl"> +<#include "template/main/article.ftl"> +<@layout title="${post.title!} - ${blog_title!}" canonical="${post.fullPath!}"> + <@article post,"post" /> + \ No newline at end of file diff --git a/post_literature.ftl b/post_literature.ftl new file mode 100644 index 0000000..f675780 --- /dev/null +++ b/post_literature.ftl @@ -0,0 +1,5 @@ +<#include "template/layout.ftl"> +<#include "template/main/article_literature.ftl"> +<@layout title="${post.title!} - ${blog_title!}" canonical="${post.fullPath!}"> + <@articleLiterature post,"post" /> + \ No newline at end of file diff --git a/preview.png b/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..b34da0db5e3e2a0cc4ce2353f61000115dc1a9b3 GIT binary patch literal 2741601 zcmV)VK(D`vP)oKT$001BWNklt-3ZjCwwWQiwlpyGbg7izkqWGy;T2Oo; zAQU1HYXt`ImtPD?Y;c{{{Jz?9P?gl?Pu?E zp33QS*4%sD_ch13#&!L#mvN0T=RMcGuK(I!{~K4&$Fm2XJ@D*-XAeAk;MoJu9(eY^ zvj?6%@a%zS4?KI|*#plWc=o`v2cA9f?15(wJbU0H^1$`0SFbAS&71q1o13evdrsfn z-``wckM{ffYmS_RXSTn&zrGpt{h7Y8-L5zHZ*Hz1m$}Q|>8iTVG1Xp0{*beDU0+?_ z-@mz5+4cPun8f-yL+c3p!PC~)dRCNaHv5xg0Bb^RKF^`+{yhEX{1w>^|<}@J90Z~>uoN9r98K?UyhMdDs{$;jK{`)tt zv7z3WJdxQK+0;7D8Zlj!24oi`QX|`DN6b0JIoe;mc+mkO8AF*zV@@Id_3JxOr3?SO zEorCy-y#+l-JgxQ5z%N`C{@#N94#u7cU0Zgt7a@_0_HF1_l9zZMW;7XAZobCt*=D z>JTmQ=Kj^)9dp3xgE_k`uixCier-pqQ?gY#UC+Ow7s*t@*JXy)xh@{)JTx z^rBzwP>FBwrvj_gylOlBwJ}l@0l=5HvzdB2SAQFp& zwO;Ab1;g#_ZQ8Z5&ET0e^Qe1zAbto>YFa$6oUWmExWd{3t3T3eod;q$XuH7$IfiH6 zPS14;=FE}cxi=A}3FDU5;u4yaaNMC%Zeh>%CII6M_E)!Tu-?33`*ZifCtkt_8=~rsNoVM2KXT)Uh54qQ$&bK$1R`V} zu7>pUZ>C#L-r|Q*H&lJ{)$X6kgY5c*HH-bPN|&E^{(}Y~Yxe8gmoLGz<<*=KvG{=> zG?2p-y1%lFW%l*e4sCSb2!$YNSAWZ?kZ_O*&v0uEB#B68`5g-vjj|bK(ucRs?hJ)g zCSBraKEHX58$w7Q}Of9a%YgaT+Mzpp|g#ksCD`|?OKdS9Ldj`?@-_oGsJ7JWgq%{ z#MC?-V>8!~q~66pYok2ILU#_j{B3^=9caT>Ot(94S-kw<1Jn4edDUPIY$FLa8+Uu3 z>Cf9gdwf^^d}vHff#k!CJNdcR5#sx3?B0dvsj<)Parw#T&d2Hhoj&T4mFD0%)wprNgN;je<7{?T8&`jbC- z^TR)H&$oQl{lE4P-roj;8^LA#o>(XPv7)>KMU+ds1vKPHVk_23&X(L4?IY3a=;f^8 z^i;kr011Y=WZ#3A00?1oV(9IL1&aqb5lPYPqNVs0>w*77&xJuA^it4uYZlHqIcXr` zYXLa?koFnuiH&MayK-;=26%6IjU94o@CtnSMIdB090odY%(NauS8NGg6V)YqMwEs> zj*s=CaIS=UE=w!SoNLYy_^ z`wy5DiY_JR23$lGiF*{ znInF6g~375&z*wn+uU>}!fwQspuw;mu|`)16hmoPy|}H1y+Bp+h5-#h*c(-{c~pUH z2hP9_bNXT7M58#32nS6JwR&OO3Loit?~S9FcAB%;J`W%;R-_(!7-hZKo2t~w6>PFs zv#Lw`uDl`0)rb7zi#x@pjOtM4+O&C-dR)w-%$Qc~v_-3uA)*Vd;p1q0M^CZop8ibm zxf$UqY;EaSyY|iKleFwHB9>lx%P^{`(8D^qb0t#~wJ{txg_>YWM3;Kot}X6v*?n>o z;aF6XhZT=5n6!fNikl#k&oKc<;RbYho%aH*wJY^`*r*$(y`>pb@E7fKto%mJqjk76 zr`VF25-S$}@Fxn%ZO1zBLT}cZHsUd2L5^sa{uy|ZhoffN>n&^rjoj0Tdf>Vj`I${O zw_WdYBh}k>Ubex6A8=lB)p?y5J@CWCAH4&^g|C)BXsk!C5nqcU{xSch$oc_8TrA~#p$gI9WLQ|1_O2nyPdOZ&9L_xf;e zc}QRK5Cv{Tkr(`j#$|YtG90HSzPXh~pYzDiQpc*15he&txp`+Sn&H*j93z*+MP0pO z9?5e)c03;)Evg1wjsEaD^Kd0aTC|A#ELxL^q;Wue!5fBWa9X7JN$w7*wwq<)hw#q4 z)66?EP^k&dov?cY{yI0}ooJpU^Oc9*yopCCnN8FpvEkwDLlDf&M5?dSttXjZ;*OC> zsknxac_3nrptMVw+y&3a3>N5N$(Wn6)+bUCsld{+mU0fNw&OByI(rhukzchgz+{wG zG@~X4?pWofGXr3$^TQ)&d;x6N+@aT-DT~%W#tA;%8Gg;u4l7q*^=?LEZ4Twf8J?}U zobBQap~`G~Y#H>tHqoNjsjJqs`hlBSR$wp~`;OgcK&|$7rpJ1XML~^NpiQ4g1r8Sh z$86^;S?6^JgtKoPj!ix`5$d-N-RvFlB_aj_&vmpnm?m8e@%)(Y(7EYcW``wz%&X9! zhwa0MX8w%D*>BCLMEw5E?Tu?LV@~|r*vu)>z!pCY`A_Eg^k@08!YCwX*l>&~RYxQ? z2*us?m9Or9^lJSu@-XvyjV%~Q!|DmInlnH`Z!%K{OmRFOei=PljY)N9M=?Z5MGl^b ze@7a}2)$khKjqA#PcylsA71g;2k+Lm%qnxBb2*cJ%cXc=szqdm8KWbYT0>BXDBIDc zp9^95vz|QU%zU_Px5jGwY;UZSCpyAJl(PmX%Rx|Xrotv!`*i~p2ksl&yV{Oq0t z2ws|P?H@)@JQNTDzvh|`*;u|9j?DO0vNqnZ!3LH5y=EcXtTV%J%g>A`4QKs>d}!vU z{GAj@Z{?&$P9JIkkc@YZ(Oxmxdyn?HE^rzQ_|u+2heW=lH%ozFX|xGVhLBmr4?m zowKustohiQnYqSYn$O+6y2+Z$kj5p`J@nd7K7j$IHJ72sIv7C*?TR*P4#jKHwPomv z{L(?3yA)jm*f8 zI#s#g@jpDZi=ijGGAepi>E^ZO^M*Q@Ij!D;8yLhtlQ@ypx2UDnE06&|8Y&kVNq|GaYl4yaO~Cg z97n8apKa!$hu#3WyY_aC`j8Xr)hxL1AN2H9A~`THkh&pKhWK(#vZ^I9_LaVfEiIV~ z=`8ayExWLE&}_bWpe7Q5O8y%!I`h<(#>6LvVK`Tr>S4SssexKe)Oc=%Cvl>7$(Mb^ zD8i;*1-~1;`~$y_?A`e68PBtD!xxjLeD1l5fBMt*$`2svERZ4w4>#*QSai9eKwM-R zwL17q(~5F0z%nc8(TBN#f{6Mm;+1*BGdp@oAEGTc;8ITXEx%)-j^?=-;!g+;b71p3xz8!foX~*a*@+5Gk zZ)N4@Vr{h!GdB>mY~dtz)y7C*m@t(K_c-<(yQC{k-$p1e7|K|mM7I`l3^{n3!H3L` zCwm?h{37ljMT|zip&;o%u96|i*wjpCW|K-H_M`#T0L>7w&7ZR) zM?xj*u*=c>+7Z(#Rb6Qso13bTcmoG|;006Om(>2o{gDndY+HR z{EZx5d+S+Ri44=3>J1yysg~3Rn;X1@n_>`vvko{skmU}7+I!hP`LRThAlInoj4C>o zX25{cqKDRi8ZP0jhv?+5#(c!vxFpY zHt1LON_uK|>I~UJ#L;~B`tHR&PbI_QgoT%XQI|E*y89nHimKGYH? zu4V~&=Jq?%mdz;5;LgnpIU@(6#uw3ZSV@x4tzC~}KFwwA8u`qmgNUa3Qxqp{NQCw5kxUB zyB@ahJkNCf^ROPiy*;r$;C&s3hz$W({1iASdWO+Ltbh2rFIiq)-l8 z6K4C{X;+^ZTseWM%s=^)$4%$-UvUqbTVn$>e2b2*!dk z@!P%;?*_g66k>3y-~zu}`81jY*c%Mx2|4)5lH{IpT1DVjbk^f3bF5IS={E$u!>u{3f_er=<*g4$lYXp)(+>LzyMBBA_4 zj(~`i41$Xww;(imo;F*(oCs!bpsQ>4A%}f@;x!Nj4m{C1{h)MjUJsn~64MMgY$=2x zC5TEhhT@9^4+U#G=iDA*QV?IR9q7$XXZf&H6Q(Y9!CVeI(4om6?2EWql;)hKahMEm zx4+Ic$GU^SRxTs$8m>|%vZ_l|&G~^ax@Pal^CY0QkD=iiw1qET6P`vyw)sEiyE~&` zsBiT{*v=P_(H@bN6U;ykl6bMC+a`Bj6QM%}&&W^xudTFVqO4&#a*r-uodcnoWkT(` zq!S7!GWQ+e<&>xyp)phy+8A(N#HQ9MCqA$Ixd1!LCRdYFTJ1Wl}j#c;sKxh zL?)%2BX$)A*#rb<8CuB6W=q6@C}46VOKakXdY%4~+^?@e7h^#{%(C zNk~;CFJDD_$5!JPNP~(r&7=jJuFiaS;sB!lM8%;?oO(bfGea=n7Expknl*pc-i#e} zSf0jFcEoUV+20L^Mqh|@WG*N&PQlNv0>I?vIEv$t#_bppS4oeyKU30ZUI(>gD>IYI1TV1$0tSW`tm z2eCNGTiYRI;>OM-+YWQu!xI+TwU&Y5R3N8O;JXJclYh{jn)=JnZ5NO#?>`_G$?#Xq zg=G2!B(@xA`B>7^KHqC&{JA#|dbI1qq!#BXq>ftoZ+QLnWN#cBc;{^5l@9pVqLOxH z&atJb+s;HQTk8hR20PXD0*O)N_(a`WKZ~~c2mgANGttgqQz&TaOwpPC-jCd zd1#{yY2w|3)gLp-WEw-+7(XBcyP;X0Q>W>GSXD66YkoPbB3Qfq+}lY?r^KR!I*5G))34+h9%PQ4SI8jhvfl>JQQ#02w% zTNQ$q0ZFY22(ajXD1@BkkJcZdM}PmgO&8?z2BI<+wa@jy6p68s5;CN(NpKjl=W zeikj&Z@Zv^KK!uL4}4;1uq#!x>4a{_CQL|Pn41G(ANlYeG}1&Kuf;!Dfm>>e{?eO$ zSL)C^8@SybY>lbAQ+b08wAfD06eq9v@WspNTkUP^bg5oSg=hL_Wr~!;CnTr!0mEHcBBq*ei*r$rdf$3&$;8o?axkIRoz1~r<^0bj=ftm)^-pFPVz@Vz@-BjGoA zBh$q!cmQZiJeKPY(33Z0O9$t&Wh+5i&L`K0`%w|_;IGN)w`2Ld|#O@vEYTtA3(uY=Z58HQo`FxA%IR`H0)SCN8ymtNzy$jn#`*W;EESCQ- z@_)r>-_JZjvyRU?=^A>(w=~mlt*y@Y)E4woPWiSC_Ck5+>Jm@y1{h@8P^+c zN$BI+>R~Wq*uYczf@f}S_Q`C3N3j;pF4;3sPyQY6KI4clsv||g21(j_>CwVjc@d@vyHt09`oHwD>s36mq1G+v@sr<{{ zp%+euM7s>-kL_um6HI~IMqe!fQ6SR(%gUIAQ(2s~yDHKogeaS)MR4@ej*Lo{?uFlB zh)i9`Lnwx=HscW$pSxsoc%y1_5WO6>-L*@gW7`tz{ z_r-wrF2L+WnVU+c#mBk)QoMMhuY5URtUwn&%&wHHLk%Hq=*q+%_SVLttp{M@Mg})V zeJWNt_`eGhGZkp=zfjRy!jZCw;*(xUnXFTmLqDD46!(M4G z-sHTw=b^C7-yq=w1Ah$&cbRX@FOmdiqJV?=$;S`HZ12p03p(CDY&0%8(!OCfM#@cY ztIL?OS@gz%2d8|1LAzdbBjPt^W(JL4Z>J@fZPqu013bNs-7#>cFq`*wJd^t4zzh#d zw;!<02spg`Vq9dV^CWZ(2+ofSJ?-#a|L^A) zbo-p5bt9ROdP{DY59fKBXhi_S_@D4Gml^6OJ)<5P5dt{JS|wIZCY^-j*b}x<@|3+| z7)2-iyDjfeV^NbO8k)8-x;~hos@D2tdviM#-KCZ`J3`QnjoMCSxW;WWDM{U|`*6kH z>(|_yOiD*{6i7vHn;-$?-8vUnCShnnKv^LRo!9*Ht7Ec)q|Iy;UXv#eV=S}YEKarZ#^R_U){W5q?g@Ck1X;qgfXfy;W#lTl@n3;q5V2F{P@xq z=w;)yOP-xBhT)%M@049o{U!#~4#|<(j?9IUpq3|M-j4<*IRx5d6p(96k~X=4P*Ve2 z`DfmE7+<2Ty~ZMhYe)Q`gG9?pWauQY8CE)KMTNu<#t0#q%j>&h$36r$qEVTJS6#gF zQHxq~yBQrLrt*KDeo)uG_HA+oX4C|0^y;4z{~DW{am9QobLQ=mqr@q5(0c61t0ov- zIBwB8(^$}i+q&l`A-k^WVFma)t_$k<%1`+jIls4`Y3K65qb3in7n*`?0>hY(pxCj! z4;?33K4Qy~L$eOd{N-LHnl*^;^}c$;R>pl};3PLP@dF|AF;MZd*A#&~a#C8@nXtT# zJl7c19`kO*T5dtDIG$+c?~s#xJ8p=e*NTm10+X~K7_3)_u)3`EOTBKbbDZ-wavo_% znz^B*U@Hvhcc1%W$ls-icp!A@0npu1Cbd^9<~H>t@Zq?9@quKLu65Olnp$BlT=+03 z4I#*ok0?iSN7sFR7o9P8V$h)D@Xq&9i}Dvuz^kNGUsW0F)Q66BZNj&zJp1tQN$LzR zJq~)vnQKJuyu*ZQdid?h!LP35Sm3R=gW;LhpYPy@6<_$xG2)eDkJm0|=Q-lF$1e2B zd3cu0vz#pln$OXD;%P2DXy19B>Bj3xKkWONr|Ba`8xJ*P%-=n}oy)1QMA_+2nq`h( zVqlN4VmJ3cd(M!c4zB?$Ymb zhk!GysocTYIikIyvY(eA)C-jdYg$pFtc+!k9{#>Yv6AW6pJ8K6u(=o~ZL9?dPfcigYIygo5Fda zRXI^OeK-(^s)EUx-k3Ida^r>46S~rxy}BLw+stP#7)F0)6Exqk2;Yix`$G=U(n><4M=hE1o&O^zxYRsBk(c zjWmLaWM0XELGFt-?V*r4o|DfC#Q8fohlcDIi@NN2pwZ+51vB!DCn#U$OJjx1P2bmfyf(P=vRfX zYr9wnO-I)kXK3cETYRl$j~go(Z|yxUwkroo*h;(K?}7A2KQ|y2J#0)Y1P~A=rGNDk zF{W!q+Jm3v_lpf%rDb^aN}T@0WBYtb;c>)a*W+~6F54Rl9l}vv-bN9L_aJy9c9?)x ze8NUwTu z%`<0&YZF?!jzC+5cx5VP|C7}pI^OQ<{I$o_YIP&E60wc5>>Mz_$ga3(vvVi6LlVgtI0(7>{B$p70KdVt>ahKJB z|IX@|k-M3i5qR(jZP3SBMtd1ziZwyF`kg?Eo#TjOn2z>iZ2jW^1{>mdma)#4*8GTq z&O1D|e%yD}0M9XN$FmINn6gN+3aVFzWofF%kz=k^&Y*uJb+`QSI>lgX0 z4CH*YASr(CiMI2_JA4g*pRaVEKxTC=z>-}30{jr)M%AiIo}GM~7?~mNKHl73`&&Em zT;NP%WUPJ|Y2vl&^yhXhw&hIXK6#L-f0*fBWt&TC<;VcumE~Tm>z(b=0n;S2MIHr7 zaL6-bXS-Ekh~3(E9%zmTVtm+>jR+cS#Srlq@-O6+dJkx?Y%Zn2QrU*NbQ~Y_Z&X#l3)LLfZw1*Z(q^O|5L6$Srdj#2I{xu1~f+v z(HmV)6Jy#JP9|RFdoZLuW?5t5f#!ft-CMK-xXot?|1pK3c?Kf6r~k{OoEb+9jJd9W z)=UN%q)}Ty&JZ9UV-wT(ne>lc0Th{LN%%ix-GRp(h%&rQ8LLX83I2&KHUh}wnSQ$; zray(^^D*xEMR?9&7F!e^Zt}Fv!9S-TBDOK4E)8J`N*90=X*zf5+T_S}a?rLAp4y*q9C!#o zq(sg(ISl|E53n(5m7EKS5mbFL7Mu8Ivt`_PD$c!qUr5@1*n)7^tJ;#(!gihGt6gic z56|?Q{BER*?aVV06cH&p=E;z++#@cSJlcoCL)UI2OI37@!ClT6;n?`iEX;xjWRxX# z*)+@xt!kN@>0qe670EDwCLG$VOa%>o;j7Di0f&!z1g_yqAGzc(*(jjx^=vjWx~x&$ z3m`=yKT5T_2x+V;-{g*z=*_mEoVG?ekMh^u!VhY+ zBLF!l0TqXisH+{!f8!n{UUWeSMma$c8))hw`Ymx$$Rc_=DV58cy~GbNO>4yJKZEM)V@t9P@u9 zPhTlHsjWv0FegqHahk(CB-k7nzGd(b50=*0z`s}GzM~<=%aRx zDFp-2m`QPl$xw}WM|^u7i%ce68RiF;0I*(h9J&lMW8F*m%RBkplpNz8riVHH4B4_eN7(;0I4K`&=M+Mju9KEse4C{B2|b@G@e7ImNb(l_Ngc@XX)xfq&)< zJjPUU@}FpD+~{x}pS1bZ=8FNn=^R1189m09Kckb2Yiy=zO-YKK_;XTzhN6-G%9tn^ zM=VA7r2HM{yU@d}Xh83nyr|JBRqGp|^}7X;r%<8AsKge=07Ix05H=H~a>8SFU8Enn9s_(B*pYQ9R_c?ZI=(x2?|X?cg*wk}aKU zp{c{~SO-R79D0SBz~V>0Cp}*)QP1kznUlC21|N3j>zHHL{2*lD(L|RfBQ)i$JZGSO z!$$m&TgJND0TVMa6KWbG-*@GJl6E_Dy6|k+=<|9F`F!tPY6Ue!ZuOCRjP6Nnu}Qt= ze~z8reTZ1rFCMSqGKXa2@1_j?$1uq2=23 zj)f#0w7U>m&yVF$d);lG3bDSF$3@8Hpie$-3z)4rlsOUzGCs7+rO)?}%G&rBz1vv3 zie%bb49Ib7E6T_p3mY4S*b;MrGVrw6$)Ap;OUbRQ9bb?L^*)jpz-=y25{!RE-&f;> z(19V-FIx&-Nq*PZi2>Ew?BO_iEUXbOBt5}PnXAhp6V8Cy3cLC}+%di(|JrXbs^8 zz2iv!B35zYfjBWcphgN)3^v1L5$rs5yOsQ>XYj;>%F(wr>&be+)_E`r07vmv{<8hT zUUfQ_r;quSY7Zl$9}{@Gl_ir89oWsx?Vow!H@#txq0WulT{GS$hme=E8^_bEo;13Mj4L!xLJO*Y5C8`L!S1(cl$m7V@)tE7&v=M`E=@ehm_Q2bxKj6H52yKhkTNO<^I7+XRcDl zEFSndE6Tj#=FuJ}rzb5aMG>!U4+ciyt=^BO*S%1@H`XSniKF_#SUf#!VIXqkw^mzw zyKZ8S*{@j|#cx#ju>uD%wRONb(?>0BJy*8YI?K@Dw1Up5=1brQvL`%LkBY?&_(@y_ zUoLMc$5}yJ+dEvLaKOsF4_H#uB8HI*k5bmUS$?IPpN`d&2%0=Xt;~f$SJRj^G}2G| zgva>hvVAIm*34K<4yY^9#Ee-3&6CfcHiG(rBYy4@AOFy&_3$KHAKX!%^>6xr-ZNz9w99sI44_0+10 z5dYpj88H?0jPIm3|0LVB@`#;AY(CuN#IBgC7tAyz?qlP(nLnG%OP=frY0Tg{d_KxT5Zw`(06Z4<+i|Fq2XyoKL9>47mL z4|%hu355&_^58L!NoM3Mp7)@~d~w3AdO{BH0m*A? z4=y^|UCXGe;JU#V9l$~y}~)B88d6U z);r1E<$r0@PtBv%Ztl%Fe#-3&-_E$~{P=&3J;h=lyJ&U=Pw0B8otUmQ@j1TE7Us+Q z=JWD@=h}?pBk}6oU;Gq8&K8k?rtd^QU7#Qln;Vr?K&N}3;$u@#IZ@Rh0O=BavBuD!;1{JkTR9iaNDl*y1V`{!_b48l#XS zlJdlNLxVIviGD{1r)=>XXC7jkMEFOG1up)~E+alcnTJ60<_kl48x6X};k1Y?y_|Y; z)@-7E?oNZMQr=8S- zj%0C!$Cv08i7v%I8EbRwRS@*N_;K!x_Dx!O4t~xLIdg6zFqJkQDKUMzMyWZB_VCuW z1|fRJDL4dx5IWz4JK z9L|rn`>obIZ3jIzKn8o;sKpljG35_>=Aj)-)vQwpfs6W?86EjE7R`-71GxTCP6m*L zwrdREzwD(59j3H(02ljJ7*+=Rr;VPxFD)K#US!~#J7djla`Xa#r%TAFB&QddZ~_2C zZv9ga8Ra*|ij#|(t30P800+?u6}gJb!Fh6wt}#9Bw=5_E%6D7lkpY}4AoS>vCii4y z7*|lD&fF&-BZ4l+EkPesdfMlE?bRpyaq_30oHapOzrjqj%+J(kB7R&{WW5_aUJy1v zbDuPF=^`a~m@>ifcX7JTCI?6(vnUJUMJ&*{<7}8Nc-mOb52ax{@x&~Y^n(zQ457x}(Ah2hFi z*1>dT+`8$EEk;ia%&;+!vdkH~jBjW$GPeeJQfz$SXMAVeqiz^-qM6#%s~l~|1)6T{ z8ucL-8f%d7+a(a}Nl*t7Too(7oHjW(8){m>p!n-+zZMCa3YL$o_8S?&pn?;&)JDgq zy*U^olotsQ2o}GWtdXLy;-ZfyG%$>h`t^V~6z8)bv zLq5(&nHU`Up}O9Q2T9s8{CvnHJRyI(0fj9 zbnQY6qDmJVuM5M6=0C%axdWXU%JYNC(#P#WAwFd9r$uhZVq;J&%-~sT!I}$2>Utq) zQTK=6p_G5d1w6{yZC`W`@H$^DSELG z$ESEcto`5mOXIg{4q<~D`;!OlpHIWD`QYlSKe+#Xl2-wl8`+orwv5A11SirC7}Ap6V1wD}U{^B6G~?r5Cp2 zUcvj(irR2Cvis|J40{zp`T%qkI}7D>$|_#gpfl)M9CeTdR26Yt3m^2_fa1in@pCK~ z*1~W&eaI05KgtOpG`v$VmP`w1Fet@EWdyi4pyxt9H+JIR=@b6l7U}wjS}e^0_|i%# zehc?-ira!T4jZZD?it=@dmz`J)wR=IRJu7Ba^!Eaf-Qr^LqZn>>TOmOdV|p(4mTMP zgRedMxfH^}ufd}!OZgHKHahjQjlIk&22Sw#{M8-->L|x&5>9La@2A`fD@ZAE3OJ-= zg8}AP>Wj8#ElyWAngVu&3ug#$yD4N{tvp_Xfze`Sxy^NKb6yixN z6}2N?gCDQV;R9T*w`U_FM|0+a^E!u^7d;TFetj&2fpOcvf&Xw~r(cC=ID1YUIt8K3Xl|1Ys_Xdx;4mlf5BejB80rVGByZZSh=Jr4$2EOZRSHFM|@cM-;85&53 zc^?E(EAf_mElOTt28VIcBF{8*t&nyxfdS|OzO=_mK6{RnbjcWZ#1rMu zAYX=@oKKl?mognVdH_3k^P5ui;Jo@7zKSnP*am*sB1J{e+UR;<1lO8))DT+FHFJ(_ zyM-G#c!M{mlZG8PXz0Y5fqQj#=ku-5U5_d!oh&}K3DGiFuQgIty0xE zJ;K=3B~^qTdT0CM*AE=(8rbkv{1%6xclqID`%`|%*dfyiQ0?N!t@3SO!^?-*Cj%}>* z>N=>#r}%p#nCPROIC?D;v`_JWe(l;|PNZ4_Qx}UWz`#uX&nm!V2!=QA=+1E&d4eUb z5e)Q*m`7;iyG;6&s;d>^@qw)zG57V%<>xz=1VcqRiA50_G2cn2OU^3XlvA< z*L!$P4i;!RrGaSVkLO)2ndFdDF9Dd`&Bu24y7620K2dtB4`l|dvH^zoudd1mT2=U}M zW>EZt_B;`<-bl1K{1Tv79oy$A^r%s(0jZgK<$}ld98a~k?!kgI ze%1Ph@BAr$*M-bZYQjS~$VDa>3FW6)KTb2pKa?k9QyPb`i#PW)3n+8~-$Dk4ZKE(Z zUh+Qy+ICiHVOv;-VLH)`CaoNUPHj3Iw-&bWp!d<_6HkgPqmQv~r%y?|Fw6jV(VEy? zT(fBaMHbq@@8)Lm6u%MDRmG`}@MyiQX~%>`$1DeQlWlSC!k@^LfAQ?Lvx$V4uD9@1 zQF(@c0*-bLfFVHq@i~H66=<&k5<@Y$G<1b0w&+`zAKv|8Y=;IBV>QIa9>2WT7tWds zG$V4(5%U>e4SwKa3&+DvAqrp%wh@E+&6o*7tVy)gG)4GvefS_dMkc5Aa=^=A#H#E~%(&NT~638~+?yq0Hx=WC` zU7>1nkLISFGK&s8Q;s<2oQh8-&dsjyxWYE#Uf6IijHeXycfjb?2z{*daQPuto(H4_ zU(Kf&xXC`hVntu&DJ_Qkg&0jL*_8xxF{7~lRJ>mDy+%y@*sNkRRNc^7k_e0b9|k*$ zC^{a=3K_3<r} zybQsKaZGuL>COvdmuhTKINHzrRHL9?cVVRU<7MSK9{=eK-&mONTF+l~9rK zGtAMMtgpjywT1y4c;L5!X@GnYq_^Qvms4g#m0Q3J zdJ|98*?w6oER6kZuZUJX)D zoL;rP^Gn%5rvE3lR7je84xV)B=k7Pe6Z{}_I6@p7q>w^RYv*!yp2m?tW7piL z10OQSZA2_z=Y>*A4^zi_001BWNkl>(p zwdQQ*?>-;J2LIX5jfF_#+kv04w>R9p&_>$xsRs0(hi{XU_$t#J@aE}|bF@dMA9o>L z*b}F@WVN)Mk^{D9?4F0~1G8=Z!i1dGgn@b6=NvU{m$P!x<>plD;HOdn!-t90_NEztgZOk**m!1cH@zvE2{J+=y z|I0sj|1W;+{kMD-$?9ZSHQ`HvKGl%(US-Tj=J?+JE_CY&Qx=a(bH$zC!qK<0u0lUn zH!MM0`=Z_T&UR$FZ1mXpPdq!n)oWgFZh3w?H#D{x>{%!=cw4kCH)N&>{B=Z5s8Jeb zHRON4XU)Rrf^itU(QbBgGn68@75d`AxZr_j7zs9~Y6EY!9~BHRM=`cfHs< z@f)Nl7SBby=3dxhAQ6hWV6Kg+;bZckRJ}X?_!ez0u}AynlQX|#RghAC@SkMv^1)Dz z!{^?#%Ax^N_JYQ%asbLdqQgJ!vi;_d{(GPOi66QBw%`2nr+)DImw(~SH~rIh|H6N8 z^}#38FIUjOEKMBhE6)syD4l+(JW8`e3=YM0VyNU4h-@g`=-Wf8u>FGK zY(QpA(fS%_jE~#r!awb`d$6d9Ly477GL0*ZcCd}nu1L;X2g?JJ3=P~lVG6>rHrFcU zn{U46U+a&Z=p992#R4svk1z#i{GdR^T;%Fj$c{Ol*u@FlKFBEj&5zrue4K71GXZ!r zMK#aE_KohGvRw@7QqbJkiIeU1VdA#g@z%bZMGoZoz@_dTauhLS#sxM9bNtnK=Gi(L zy)hSfQS3-(BN@ljrVQpkV^4K5_!-3$3f|zuARfo@{wG{MDuoLWK!(D|e?#JCHKt{3 z!3{r5&@`&cIbyv+2ByK284M!$w8g_*($8M`GU^eT^3b6jlFCHd4fnS*N*T5fpG4&Q z({rIZ$w4E5m|3x~vDHs}iD2}Ou^RvQ#hz@g0x{1L=bYr9wrDW;6MFqn=hjsbUt40m z>qYZQfk@MVR<UyzuFn(e2s?1$*;5U$(Xo7`Rzr4IU`zDXFF3T%b1!;pBQ)&7C8#as}f++ zpWqC;K1D>`6(b$k!D)1e?ck5KURWko73JU#s${ih^qFWZ+O_Dgj2Gq1^Dkz4V)PxH z<46P!df1}3n$>Oq$t6K)T6>WR=b9sJpZvum=hoiSwv~R;M*Wn{Mp1wb&Dl<;*ydv1`V;xQVWc6- zp2s!>w>qi8`1rdvJ^(BJtv(=j&G9i$8L(m+F=@w9x+nJ1N`%HBkDSdX(WU#!6A5UqEi_^rx1o7Dc<{iVd9h?ZlwZASofsaWy*7#W#*Yp-#M(B*T+C!OSQ0Ji5tO3p^yoe=W4YWNwTf5>6w40;z06TeRD zjjH=ACJ=a3jVB{>(B!7T5(IKa1mYRB0xc9Taz4$3OS@z;m*ANgQY*?M{#B!9 zJAj*q@Gy!mra)##Yx@I!*v@s}&=tS=1t1*#G^?J7-bd`E`tE-S)TtQ7kK)u1-G2fr z2i)j#h@*78?_8lp2sq)wCwe3W!un&YOT&n-zMAu~e*Q3fl{rkwSolq5jz9hW zzK6L&8oC>=uijU{Gyj*A2e|e8W50a;FMaKsfBEbD{fye4ocx&6d(BB5nD);7Jg#_; z_7u|#zp<~NnWD=6x^<7!@`OF~+7G1O4F5A^)(wh_>*)+kN>ffY{u9s6FFn`IA!5Ao zS52nDqo~V4QT#_TUkNm+Bk@Y!uvg z35>{}sxc0aJlw9D+O~3RPcCKX7)ju`b{# zC#Lm+Sul=v$*SPsk5y`0euzyS7#z_oN8%{Ijy~lH)B43 zfs84%4qrY=pFQ+X{o(XH4ZI5C@JznCp^)QSJ7ez@aKb$BtDbiKmcv*-pkeA*49c~z zf7F5?XA1|v2eTbX5D~+xG)*3xukgr{Pmli0h{{)pL;Zr3j_sU9Q349PH;xycNFUgs zv6qY08KWzn7)5L)H_CNgTxi@y49;u?qjq412IpEhk(`T0XCme^P+gdzwf-OnP-*ZX z92N)9b#3FPY{!fis6M60FW zJ;tI7|AZZ;fjQfHa(?)EEw1PQ{Av_Y_6tM2b$N_QYs@8zQbI9ufOZ}0 zJgVc&0t4bJUCnJXGx_W{HjadpAqT9NKF>J}M|*f2BHk1>WO7R8m~xQj(%@(AH?I&4 zP6m0S*~6#b05(IA`=B6{s7uqxJd>MF@JZby}W?q?e*c%@v zC7kcA4+#OQSPqod&)60Jh=P{tE#Stz9!BnvV_mXV_&XEyr4H1ww8z`JYL1mY#)iMl z589{voj>kECI{%FE4dB5*?#ubCMP$TSXB)~>RthZEx*!a>YU{4GB-LoIeh*ko%y0s zks0fF(GU79xulh5mfFN5ZJaMJZ-cZmwnc!c5GvXCS_=O3=42#|@y9{~c>G zprwC2P}Pm~$RD$2e3eQ}Sb4Q{A^%C+<7Z)B@T6{x_6r*AbZBJq92Xdh-4Bnhq59+n ze?%9{Gdd1b!_zr-Igiw9$~#{OhfWR%n>lQ+KT{F-rHk;Czbuny@sHfFeZ@EOH~x($ z;O+Y8c}#Q+&_G~k3z!p}KvN8574Tsu6GBY+(4sgK>(&aIm*2c(Yjq0yYTtRJ$tgbj zK%#kae802n`;dRgyc~PPk$E@$gG_(hrj~RbAxJ|up3I9hi}U5Re;8RFFw75Wp3d8K z{R`&IuS|!{_P6Bx*azwp#%6t?vZ9m&^Ju@+JMEG!b00%8PmlW*G&AtQSaBi}q1fn- zD_0*lM_nATw{skN)7#X}t7GS!Lez@Ipqn!B+r*#`H+s~B^0)o^`qgW`;b+8GB=335 z3AoqA_Z0EW{w3pq|NApnf8##=jUZ=+Wc zk6j4O#oH+E>OD3_EL3Z=xVKN7#k1Q&qU<(~1tx){9c6e1er>@bd{~R<;omlPOSrWF zXAClYw?BrMOyJ;%?LL*sUFILS{WE`nK;Hl84>=lt za)ag*U!l<6JDDJ&3yyAF#toWuqKTnVEuL(E;L9R9uqAe(l^{HhBzi{r+hKN8SKr)k zWFML4(it4@$~@S4H>O&rm?0c4e6A`Xu{mJG0GXT4w5J4MdT*52NmF?kQkiH38M+Y8 z2(OrlWts{$hJ+MO*!q@^6CUD~o6hZlS2;P!t6FBhq1{s4JQ0$N@|#FwR0r9?56a^X zy`oZi(lGjEPI+R!&nF9JzC~~RR!zGPAJBz@j$n&)Rhj4Lt3}f;x%k2XdTLj>k)WG$ z(C*+O-F3|kXu0?;(!rl6Ym}qNY!KUlO#keUf8K(}J&0Xp;;v0sXi=K~T&#k`fSMbo z5QnadEwq$Y6)r_rbmnH;A+wvm+AeK9)ELC(1~e_HpKN3U7^ycmUj4v~R7!)@Qe|9D zx1OkMx+Hq@B$1LkA9+O|@g0ke@dmxG20!x-BA_z|gLe0A_=`C<`a~obf5@$`5F)&K zaP!0Nlef`ZO|DOzF@p9|xnl8u5YncfSM3!Kp^YKdpXn2fHw-<9yv7ni`G^{Lu^TOT z$*wbIpCy@*wa&*^bzxcICwZ##Vr;Mty*sU45Ar0^x<(8Phh6w~u3s2j+d&E*XugUg zoE@u?nJumU6_79*rUl^1O7BknQsig`s(~`k95sbD8^y=!B-#U7g=iF;ca@MevjRtO~NYJ&p0d`6E|rg1nY5Cjv7!?Z+tB zDaKk9{fxtWGy48nWAiOlH|jV+5`6<&J()RZmZ~kF9IHw$#2sP>`Nli{JMV&E)D6Yu z7hGt(%M;C{gSPwQTZImC$fI*LmrwBnm_0>fmz1Z$IT3~>W@5MfGRPC#GstF@dOS(j zZe0?;z?z8QX@Rcxl$1E$W+PFBxFwG9sY62$DRShc!sH1?wX6P#EA>_DKc}hl%{k*j3(2wk0EYNkTf~#wUJ@`eyGQKW zV7#O(tB7HoNX|a&nkW-v`-g@cu=(UEdq3}Xtl~mfBn^znrf<*qlZRr1Qx9r^gU&hd zXkNwV4$au+i4kycwT<~79y%27L~#U&)EIRJZsU2H&QQj_D}N+K@6$5hm8W|iqUL}+ ztdPuc0VYv~eCquC4LqJuz$!Db{+YQQtB1WSC+qZhUr9U9k#G6nJYUZ>YR;N3JOA5g zFyM{Mwd8|QK>pH;Dco-L(L6A)Hch)4G)J};t@drsqIcn8&okx@t?_@m-YK8^dt>ns z7*bn!9P5sR1RJ=(FxFG>v~DyXoOdE;t3UjiEX2B}^aiuBLz^<^V@%@)x8gHTk)N=` zudi~tFmS%bkvYEIy9oXv2468Rb~#J_%#AVD7+t?|3eUU>=X<}14290?_a6H^;7ig2 z|J{$1DmVZ7uYb*xuyw%5`J8;5=%cQ7?r$~CwXgHEYxGXn58K+kuj3c~Io4Jm1mQQL z+%nCQH<}V*`m4J(c)Wdvw&(c*t%((IA>Bm6@Vw(H@mcD6xIv93-iPv zBIwl~%tlWWgAIaWU0ZCfKg%M`STR$A>o=d&$Z*>e)j5`Cg_fTIgC0C>SM$L$_+1nk zg`6y8a;PzS3v|%(*XLQnj9qTAVdFRcQ+MC_2X6nz|M-K?{7g1C*RQ|*-+1$t-;f1W z{6!Ij+Je=@g~rlLJ`6ob{Vb5#2#T$nwusvNS)KxRYc&NqsXXa+@mRpnTa7vaP1xvL zaA+?Qrr**mTk;lyL%vuNgT`2VQa@xwAVfI)g=2^zqlrx5GLPC3gWPa1cSK&f1rtHE zj|jLiGUxkmBCb#dXrl*T8-dk_ub54}jToW4m^dEl_6IniA@kWHT~eyz$$9H-1~DDg>QYEdi~?C?m=ZO;)vWvSja1EO}} zNQ*VzP<%IJ=H8GN#hj2!Rp}NSn{zR|FjS`UQ{2PpNS=4@K;(1E!6~ou*Q=#1)4AYs||M)m+U@mm~KJ!+lCXs;fz*_n%@ z{J_heDvBqbuxqn-#acNt?p3h)XRe9iQCCa>(BKh>7?6f%_>}DO(}_jTeT6@3mY;=KI9$9U zSW=~{p*+#W0KEv8J`<1yM1JN-EY+{hn%tSc;*Y7$2Rlyn&^;I`)oQ#(FmP8%)EplL zg-J~+)4kab3x{n82e!|aWy>C~pj6edHbEmvnK@#PMr9(?M2|;!7EUYD#(%VLw(NF2 zMdPj>aosQ-dfT6$d}UmQ-nJWf&Bx1m%Z(cx7g6}91Pq4ekbk15%bh##LL*04SFe5; z8HXievmH&R#Xs_M%4rsK6$qTe zMxb@x!DCgKkY{a7T!u_p-1L2+H=TjNfjb0yWMG@0U!Ohjln1!={1q>6e(TqbeC~vT zdC#K1+v&XyXKt=qmvz}WIOiso@3eL1w07_7`0~{Q`K*uE{*`GyjO==mb(YOUqp-`w z(azd*tageTv=6t90p~StweLI^^cZ=1^A}iHu!qc3ao;wAYcp|KtaU_JUSH?pl;oH) zHD=Lc!J~+-MJt9K8!3zX!9UAZ0zeVJa0;-OgFcL27!G^KA{U`qRKnxpdMwPvGxVli z!2FM0Zmy)^Z!?QoX$!CNbAcpJzAq0iF)(AZ7&oyV+B@Wj$3&Taqrte3B#4~cIChb9 z-HIZW!BS+L=zn@%zq$LlAHVv{&$GF^{i=W9%_qM`Y;ZE>S3iC8zx|0ff8Rg++28vY zKlt9?a`p2+@#gEl^>g3#M{sT;1qTQ6;EmMKm_qNwR&Dn;cfa~&|K)G`mEZl}-+$HD zn^##b0bR@t3C+Wwch^7jSKfT>KRy@HtNYLV!p%?rNcpfU3zxnUUJs_uH~z+J{=fxI zUTo6p&&&Vi`(Ay=clE0efES;n@27v{>h7~wzy8}h`ucDFrTee>N3Op7s|z$v1eCan zL650d+irg8Z{Pm0-*fld|Fbt=^Gz9EGZ@5Q2=%6O8q4lwL!@b2At6e+ph#SNO((C$ zVrYr2=}^$fx|qyZjtX#B;;EY(NEma3E(}=OJNt=;0c~EBSFj$=t`(z zPw_l#r=ALyHxXL;@; zK2y-nUmA7wB1-)TAv@hXsv!TGzZu(Gy0!xrJbH)#!o-6WoLc>kdIG&Rqb>mC|E<3P z4LkB7v?aBI`{FceA{Sb*pSjD<)Lfd%RGAa(hBv`c8|47xGau?bYjxZi7x^J)9Lq}* zaftPyIm3^Ut@-*h7i{Vo`5%kOSi$LMe&T;=0IhaUC(k4FT#(A6BIJlZGBYErSHoO% zjRE>C+L6g1+VP?T`LB&*K=Y}1To;rq+fh$)VITuym^-;B#ULfbE~PWdi1f&XK}fo4 z`{IGPpo?>F4>IGDi;cL;s7Y{CS9xGc61D?n#@)yV8^%C!AuiffZhS_n#dFFxb_#-V ztTmCJbrWs;ahSC8e0MF)_dbuOpM!_N@fZr^FE;CvM{b|d9uO{O_jmlJf|Bqp2NFsv zC5pKah32n$8K(S3Ld0~AGs==zy||u_c^K58QLYSsREXeM7TPwCp{FPB@VfJVG0;0? z@QkCD#_+aC_GfrG@yJt(j-p(&wq)x2bQm{uckPf;Cs=&ydP7BDtAG zFPy~CKp6v3a9%u*<~bSa)6+Z~b!XyQ$|6}n3~Sm+n9#m^&{J9#62i`L1SXyKFaFin zQs&&J3NVVAAlVv{{gt$-N**F~i515{q_CsC9h)w?#;l2eU=W_|W!9B?I!R7PdU$ar z!4scrL2fuZOYq_G!K4@eGCNTGAxmpJuCzTLKtiloBP4T5!L;LQLmETahtPl=q6Pu5 zPgji+Ha*&fLSN&wf~!4F2HdWYYFfmp1= zSf_@^#V30^Is5fr<_VJALaYxk5=YyCUa#U2|Ld%+uVvY~S-aR*yMFu)RSX z$>fz6%#p9ZaMB1EP4&OZZ13^l<}w}j`?KWl{QrN@A{R#HW}yaWEYhG(jLeAS)tCkD zqiWXft8Jblz`8L^e~M0A!U={$W?F_%K3oo4PHtzq>BW{*+SHlYb*hKQjn~u!G8vxE zYY4EO@?_5$@_E{#y;PXj>vs(w@xv|$`OOSoSo~q z-ic_7JA+5fM`p%4kb~!5?!Le$ohzuXn1=K%ulCMo`q={yJ@7yL)Xg`1`I~R~O7gRL z-rWB9(5oghFOK>9)c$8%qnYr>KH(wl6hGG`Y9l_(0#%~k?tBcpMdXl~b?}jPD)8Jh z5R7fD+~}R>Df%32|GfABbTWQyKP zxrKgVQ`e(TIUKj}q$)q!p2D3C2SHl8g5P2t1xNeNvlVW*VoR}6TGz(tRAluDg*QU! z=#4E17qGGYIZvwQNP@vAPg(H(!=6ImO^YPNNYcQi}1+1?kma`@zrtg+Kba zAN&*7zt&ce9RL6z07*naRP;0VA8?0&jJ$dAHQ#XiZU4$AzWsOHeCo$v{Hfn}{R=-+Ei)$bYjm58(<6Xb&W{{_x4--DpZM+9U;Y(}uirA_#sBm@V0iUi z|21a}`NW_8kKTOZlfUwB|8baxe{|By&zWynLfk+2avbvV5C6{3{ri8J+w}1!rsp0a zSjn_RN7HT2E}#)oH6pl4WFNfog8&bDM^-T-R~0h9`6aM?7m$QF1XbEVr0>UALZXLQImO)fM$%*E1MLd^1)fHC6on z(A|L$#?H1JG`A*D$b1ZPbinRK_&_I*;=F){u3$5HvS&m5!nG^Mx=`FV%Jc++YTt?8 zAlhoBS&Za8fY=^`V-S=}3f0{lnmI_lpIPky> z8^ZLhZ{CnAjWXA`+Z(>;T3vKLYVV3KJkaH-(B)6$9%E5;Fo5CZT{5rHs{mShR9;*D zE~b;mhmAF_X4f`e;bCqjGxErJB1lqa4l>8%Dc#Rk;@}|?m!u$L6Da*`p3{PVnG122 zu_G>sqc3voX>w%_IwtMIx6&Dk1_FgVf`vflEW)LGWbO!g#4hkdSNhgY*D@4Zh%fJ39rIbS^jy()aA9iGmY&}E87yXNVcfPaXieb8Mo*{fh{^ji1U-gVARwN4s7e2!dRtFHT{3|(uAFqC8cX6pDiDmcWX z>Onw@fQ*5Sn|;X#8nI}k!_Z621)dsZ&Y+hsrUlQ5WFPa#4t{CaNL3)CYY_Vy=oZ1Y2H zu{L^;5BcCh$u#+9i5R&Wx7aS{$U}qJBm8uj_Q)CS(0*_7nI~t1|L-h40vWpo%r##? zNKV#q+GMR3zKaO=3RW&%_<91Ng$k;7pPK{pAcxvjX{#n+gzdu?()O_HGKa@n;0IBWLsc>KE3fvPIp=e)L7dN{PG%!| z_xkQ7ztLp?{CD7=H*|Eie(+77_)*62IW33YZ61MnwTnOe6c)-Fzp~KL^+08U8UN6N z^wb1z-%tO$E{8T%TM0W>{`ynDNo%|HZPFv3r@dN&1ku6#Q65FVW!Fb3{8`o)jR(H$ z#nrcc_0{LzT>a3`eLQ}D5|NpuE=C2&zr`de2#E&h#>UrjD_c@rn*SB|~x0-X| zD|V#*-Hy!e*4s<@tuwA4mwJzz&MCelx>T4^lPxZf^X%w8@bahs&zs-$d+z?R-+c9DUx~~vkS`h;eCqa3|GwKl`#rz< zAO7!GzxFq9pZAyklV9K-v;x`a{n%gpvj65gfBEi z5-;s+4AjyWgzkOfnm_vrR^AQXJ}iLQRz%iO;<(bz-Twe)IQpm zE$JGuD@w*jIzx__PTG&VKW}P?a=Q=!XJjU*Fptt&LEbvmkVhHW4 zCOCH1ZDTj-L#9C(^Q%A^3|xIMQ0KlFe^T$-KZ1u>g4vtw0F(|+J(Uj(B01P{!%h!n zPAzMY9G7f9nVJM}5#Qw7!*=sF>lb39(VXFcR-;oMHAbYs3ZXo-uM6GTj*SfV<`Ey5 zz=nwW5F!^Oaa`<0CI><~7gP$5>$0xoPe+n(C}32?bX|jmxciKCv^xlJbp=>EHhR+@ zp-N!J@ys2{?-Ivk6sD467^cG0yl^gab>)P>ikJMZm4b*-^jX<_WG_eUMN$B@O?k5V zqAfWNI=#-R*|m6RSnUUY*cQ*;{)Ny;eOxBiEo?i)MceCL%SI2&?PzRbj`XxWN5McA+i0C{OVr#yjmz3a)+ zJL_9zw$?pL4;v@{^zF1gKAE*~^GSWB!~-+;T=bN6FGh=vZdS9bzqnqj;7`rj=`>%i zWr>tM`2TTQUHT+$?@}M9BoFlu2*{af3k~&^Lr&K|`p{_>eHHN875Q9X6b%$=V|^`0nl%JEcr* zR84!&`(bUj7O|@}aGjf&qg`2l5xdVFY&>$ivm@?_E`Q@l6Jtw4#|ytP(^}^oha*K` z@bpWTz$V{gM=c-TV|kh>r2n%Em_C6K@rbx#6aD|O_a0z&Rn_1By)%=^Bm`1u2`FhQ zp-2iAiV6XhY5_zAMN&WrMG^u6qBK!JL3$EOLQx1xS4vPR7Rvh zjdvZ*f7Yd5xyYSY&kJpHK3z}QjeT-;TES8&(#-m1N(4^OpyfGMO~_YS&R=iX4BNbD z#jrXd7L#KE&K7`_qq0O?6b_-4#8Y;&&;cu}bvQAN0YgbYUsRHg*#c9VGo)-7hKLLC z$_$Yk$hxdikCd8kxLzi-Jo)5CgItG0*w5n~;(R4tLtPHey!bJwL z*BB=xzvS*^wlzFpE54% zQ)>~>vU7>LR+e~UPnzb`Sz#Hv+`Ou0!4v#->fCkp$49I>;AgstVzwa!R-87c)U*+c?4THVxmz$N0|bz^GE|NMKYc~!%OA4_WX-gedT4_U3sz!Une{>-tfhaTMd!cR0@ z^obSUn=KZxyIDr^s<8$`U-*Gg2$n*2%VF!T`qtKl9}OxuBUM&3#Vpl6eMfe!_s;j7 z(Y(FZooT^HPwP%UA5r_jEQ z^>>c{6L(Z+pBmO2!00$o)1V}0__`n`u|d0N4n-2e4`+8C(!F{AK3a1Dk-vKvb^7BQ zwWn{})T5L7;DUF`=RIHlwio#=PKPhu>RM0!NMpaQk`~Sxo&kjs6_VPqq?;j$0ba0J z-WS^XOV}Cy^cgd6zx|Gr#*gdSvuCj$_}=^Of8~`|MvWMe>T^3dy05$LhUqh=b8Fbp zp(95MCl@g@2o)iyZRma)x3ELH=RPaDVmlUX<9nu=oxzzgbLQ_KeCYUN$22r_5eq-O z30JvSzdB99%1f3ko;>A-BSwwr(W6K1ucgbDUUB8bZytJRzkYo!UieX*b6ZhQAy-ht zN&wx0Npn;dCz>$;=v)@=S=eAr3pYpi^8NQe@X9N%9&yCT8M9{IcI)lqPaeNf_wMq8 zgUL=T&zd>o;YS`h`skw@8X8uvSTX6UtA-EXeemERHeUIbskiLB^G<#H_I32xXekaQ z5h^ozRnOJXBU_;-Kx=TSD_yUBo2>#Yv%PzU>%EQ0)&3=9RV%3S0^zDH*fN?}ff=%wf zf7+r~7acxgglI~4NOH6N_%9CX9l>r}=|`rClp?xv<;p9soV4ej!-ovsVcA=6U3lTo z7B60+dxbJ==&%tZ4_~=r<;1Hd&7U_v?)2)_^Q4nbT)JfGWtUG_xsp%RRCXLT?1<4L z6wDAudVAS-WIT^$HjgJF0cl(_KKrM&>tEQu!%`ywK&Xc0v8^5Sz_j1ad121c-~M(( z7rGLdvbhQ%{!&GG+I=?Q=n-!%TXOM*7awrYfrEz*;oib|3#Q&Y^|<4X*|=9vc~B2d zqK_Zt3nx03Q|jt0KRdd~$({7!0Yy%hC{hF;Mb4C0l+}evz2Wk-X%B$E_g{`wn6j5xeIy~$kJo+6>$Y0 z>6I}}I{MPO{C9(6(OHWx z)*Ty4MV}onvlQq!|4ZtybI9+$klCc*qqWpSGt3-aL)NivMFmjm$Q=qy69zvR(7)sh zm)t&}Q;Z^SNq!P^(5#jp2Pc_XnD%o7ACNaSH`mwK!xYxB=!~0`QFA}a7p--j>iEt+ z0z;u<2XI2floLYC$Pe!ZE4REGPQjk&tN2u&&&DJ7A?cpcX(O|3AdMBP**vNmr)W>x z+y;u+miZA7o3n7K3mwKo6>Rm&Pby(g+f7pk>?yy&Y<0=MPasOZYmxyc`$IFiRyg{Q zHN$CVVOqD^(n)rEZ}nIJl8Q54F`Xg}`K7ArWgz8q^N@YGt$W#r8Q|n&y+y0o%`ur| ztG06yrvhVV`$*it*Vyf{E^QNzM3#R|N31;tS$?FEDuU?_e5@WHl!BvmiRedAkr6V! zZTkzVi@vbj1r`6a%CuY$e3x3!J>VSsT~*n2;wKP5G?2 zm}SMSY&x?;cj$7nh0#n(h-_;U1T|ubpDm1>O~U%m6tQ#`uy_75Jl?1Jf7=2d+@N&) z)};?^6e%ci=eyxsZBY8wfYL{MlrDO{v_eZ7>s|ixW_j05==FXDX7c5<)Q-<@D*KHaabee3fM~oGKWKdHq^oE7Inr zPRYF@#5%wpB&-Z}Q(~1~US;>#C;Flp1BQa2U07`chv14qC?x9$&J7VpNqnmfl;c>2 z%wd&5MR`|zLtn|99>SB%)Z0lN%FwscmCeu;%1Vq+BHMU9j7`9}?#Mk&$ zosE_drd~L@qoApDNWo%6Y15WwEAG9j_02_`su2h@XK-sSml`;9Vs%TW)^eR|Vx>`Y z78ea>%m8GnQhC*i+Q%l;FMNE}(Z6f$yg>{flBa%yQhhg}YkP9J)NNBw<&dqp{`VI& z?{q}-w)=us^Y-hVel-THq8+N_?6zs+*$Zo)y{DzyW}?>8RQr+^C8h5he`TDno&N+s zUnRb!nwGwwfJ;7sZUZC6@{?zFn)k=@E6;>~Yv%k;`&8`Kv!UV%5Qyp)Y(p-FJ5FGj}(h{G_7CMRKt#RS$mhV5dJ{S^uz3@W6?- zkpx#y*38h40cm!W44QODTmnEv8fb1z^N5O4Y0piYrYx*~d1dWU{Z~=RqVv74)}5wB zXHPgPf?`gGS&* zDmW$~k=L7H;4GNG;F@cv9C^g3e*OEI3k(zS&=I-#$8zmsk3IH-v(6encI+K@-Zg#3 zj6jap(W6I=8hN;M$l98h9W8@K|P)7_f zik#NMlHby$OU^vw%wvuj)4O+XiR{o@x^&samt4%+I?K@52O`|TuJ}dbIJ#sv3&Gv! z7iwLV#}oq;HJ6;y9r54{4U<%Oqt}kZhF){^1kuTS*9N}zwmaW^b8&HP`ZJ&Y)U(e$ z$I|M_-~AqBDM-ub0RsmPXwy~_7$NMYCkKkyQ>|c5_6M+4LQ#cHYwN-V3$C0nF<*_P z-Iu<&-+ue<9Yc`X<_}A1hwy?XbXaum-KUSR#8TGsLkNp6s%Rr;K4}O!-9qNd z>)YVVu%_zzlp3IFU$pk<+4IB`$8NNdR^*WcoCh9w0C~8OYNhh1QKN^gb&;L zDO)xPYE)yUMT-{EDcV_dmI+n(AY{($IlJ$@s8e4Az}#K6}m_4BKs^ zjrd&)jn^Dvs4Ut{Uuf1xD=NsN#ACnc1Cq>G@=?I-)Z;6t6tvJJOt3WYgbZN!-9B}} zPcD4nuP?;sOeh2DukZeKm#$qna$1Yprqi=$k8{pGGwfi~mS@hKsgHBglDas^>RC=$ z6PDd7r2^-@fwozDy~`6KslG4BN^0CUkA#tI9VotOAGwuutbCxwf`S)iXsCMpDC$+Q z7jcMfVCNWymxR^_U14G_HTQ_`fAAzK5y_$;Sv!jybZrNTt-PUkBk?ZS1-$iwvv$18 zCcGAE5}46cJVgE%W(M1a?KCUW%89m-E$Y)UQRJ{O>i;!Q=0XD#xm zv5+S!5kKcE87w3yMYu{Hsg`7eG902gIFO`Eau<0bR-yB6z!@D24bO-r(X6(~+Ut|8 z_|Vi6B9P@rQ?iHbnY`Np%}PF0zo_`=U18XPlNr3?Q&$lxQi!mT{qr4;vVZEEVK)pN zUCcowv(sFTQ)@*+`??zkz3eFZfaIVF3sn$Ei_Sy^Hct11rIi5i|!i(YQ|FEWB93j)9Z$n~0f7YAPl=bytc_qgtnhFL!w5yEEnp;*rB+mP_+h)E9 zUTCf5V~#c=n*7*h``9D}zhEg$p#K`g>B}H+1wmuVY;6iSSS&&=`dXw2S_L+M4Ys<8 z@3;t2BNjL0`}ybYzU#KbzBOvg4}7qi!24JKSqp5@wRGY( zrG8!n;u&PoiqgEdOU$)Dv|(xE&YB<%+qiVXHl_2QeJ^4>y|g_4otgpN);UL2<+nnP z`rlID!Mr8QX|mxu!X3^1YHRCOH?dL_IZe4p#x3&AY!yZ)D=7DBNUSVU(>fB11j6gt zTz8#dwW$=oOOhwV!X&0RsA$TYFJ2f&qAC4(@W_HA69UbI@6s_$a3ma0j8dk{CrQq= zX=33~rS0U*BCMk`G=L>}ih30$Ll`%=LoNeN+Q7NY1-+EUtLv4XVV?S^mA zsiyT$*K}U3lQuNiNJYsT0}f)fY`AHu@5fqtZ`ZQPfKs=OTkE@(St*dHp8bSC#gPdH z8h<5!?VEGUE8cAU@`aq#A)7CIMXjphA=7L5($+5BLuMAK6}aq8e&g?5uG$+w1v9N) z)n)P*(p9Pa&iCh)yJovlYFL4n-D;noR`<|_t#$RC&)r%AcQn>l!_Hh_5WE28pKWVmHeMqGiJf?n-+4GHWU-eLN;! z+EP7u=bb(QB`9kKR#RqfbmfGrOx|=dseAV5x#u3cpYy}>Sh`|;N(iOWiWMtZjNW#e zLETx54%sA(bTL!J792T{O-4i%$=xVbc|%O>cMuSS4}fDc#hY&~x%%44><;cfpuco4 zl@2`MOBY^r@w9vI-+SM^mF{f|3^8cXptH|D=ej9V=FFLc4TA-*cinkc|GxbXA8|PH zgj5*Ac0e+BY=ya)LR{ats_ufBm{`@gVANi+0vywi_E0v|IuA2PmPkriByY4*c>ZG0M^Z)=L z07*naRBOL|u_{5!?UR+2hm9H2tU%vd(%O}pAJ5Oz^%YFCWTdWv3aKQ1$9n;XcbG!P6 zoPpmF?7Sy)QjllaTgxuI@Z#72hCq40-8^re1laXcySfWWA)#<#^SeQ~f*Rc`$Y9)z zs&0^OWKcUVJ&llpu#Xx#>^0U1Rt(E-G?M-G;4PS2{Ad+-W$c!gm5q%Puexgfy!jF% zD>JG;J&Nj{y?TxvH+I>ww_bha)$6XALgmmMhYjCj_~Va0cGvB9KK$TAfj0dqeU!*@ z`Dv$|v_Ut`CEa5#fc=%t6RO6nb(zm(I1ave zKt;@)m+9NuQV=`maSmU{s;XU&z7%}q2XDdlooUL=;YTP(!Bkoja15Xh^(e}qPG3ML zx7D1%_~s=$C^#$wN-H)L50OJ+L{nhNJKP}vm9J`RRyFw-b)#C8ecw3i4X3%E8;~pZ9=Dn)TTz4CM^{x*h-zua%3&!MFpQElXsl8tfkFMjwMZb zsgVVa)W4YBj=*1Lxxd*hKM@>7Lse`Y4sxE6y{V^@YRQ>Twdz2y)YvPL0ikBvl^7?uyt4rS8DftCJ%J#^2PCW zv5Dd{3BB%i3yVpYtgU>M!Nr)Y#>wU_VTTOA3a1iRwpE5BnwlFh6Xu^`S%Gl#6OINo z5!F0jL5N0NJ53`b+dvgXR@3-y3V!4SB?>aG#vqfVwdPJy=)?hwEhIJO3X-!EPE5-Z zzGO)Dv^;BvMJF06Drl<@R~!(Dj+L>Uxh+h|oVplx%VU0BY*>v`@t5iylVlr>Da>yz zmFts^9r{%MN;=XPB#*@e-(!=mprc-3jqo7DjGEYyVRI9Zrf%x~m3)!q5F@+4AP(&W?>FLz@^zBha}A4om@P%T8y+jA=ZVsXuD0TyxP`7PsI~k|~0Y9KnsY`6siL z`T_?doiMAzIhRAXU~w1yqa_nDpD!in7wbdod~ z!C+zzRDq;G6%|VM9#?H%6Hcl0{BzIV`pcV!@A27z13&!R-`;=SwUb_ZZ4tBm(MKK) ziOJVYIpeQ=Z1#&m!WfO{O5rEx75C7 z%G*t)TNak?{YQlro1ORnK&ewrX=ty~fm@aCc(HP89ie|UmHzs#(tvL2V0k3|*TRKd zQOp}1!6}b9A<8Ds&loo0yIy%O>$$nz$hz8L!10FR2F9-`1G5Gs(UhK5 zleS3Ex`91Cd9pP+a>iQgGkMlQ$D#~t!kLb_?x;n_fWCy2zL_qrM=1svJ=mmk6=OgR z-R;!qRNzSd+$Mr$kSGky0noY?`_}y@e=SMSUdNT zhU*W0=d71?_=XIru~08&2kqKdpY3wVCsbc5ZSbQH@!GQGu$GMntUUCFFka{1or|c= zd;dVYy?A(j^5?aGeQ?DmM*{PKwq!;gfK5N#+H*@{zV_)m>u)?vbO!C!vdv!1BjuM6 zZNXnUJ#kI#-yUJ*nvK}2`|bn_WPu0~E;Gs~{wKBVukbIGA-QAEpnQ!k9ECAq=!$@0 zidw8hPn_3q+=rX{b=8a$LTWAAA`h>7Ua7nF<@|RS)#l9E4SLJUE*q~ts$Zj|lJGJX zvWXH9g$lbxlp~gGJ=4!fBsr~6^j~hbwzApzx!JSX+xV1MkplaB-}^zex9={y z?0m(Q6AtGovcrdUdENGs8ENH?9R{YBi_LuCAuk;+4?J|Q{ z^cQ3fW2gQCnv3p|bFH-m0&nKbS?t}mbfwe3f2IyGIC0!Jzj??*4?l9yfnPRK>%))y zfko$i_Srj#26EyR<}qIh+NwUTmEAI5_T&+$@@4ox)-<^Fkh8 zZTNf$*<1wX+ptqT?|eDbO3r+)XOIM(3z4?g_aJ%@8Z$I_)szxLIGIOc*y z=i6?(^Bdndq`nhh7FKLaD!J4&kq7Hwzl=UPKjJ|ScY{pY6hH0}iXU1M-XSx6g)bRn z?^&~EO`LRXi1*!7Q&i+liuH>N6$kJ`8vWAY8VOw^4~Pu z(YH9L7hzdGlRxBe9X5nxNhVLeKDuDa3?Z@gH7M@x zv$}%5E6E7~>u%I3XNp(Y!O@6*I9*z#w!nt;NTXmdZNq|i)gfQ|THk*C)K*0f3rJ=!m!5dy{|x`^@V)jXVY+Q2gi!Cglw-WIw#l?`LW_&`b&Y zDIR=-8p&x)(Xl)h$KBtH(TWW%pb#Ox!>ii+fS{Td=)xLy)Ok5oL4tzFADZ$?Z0k$V zl7z+;8?Gk|_jcQ=9?2a=@hUS&R%Ol*T330&KGuMWxEo|8Th=ni4V)Z-ORS~NB7HsI zuvSeW_aQY41x zsvwT)VXRTYXD$oF(-qq4mZSnlvglIzD$zvXcZE$~3oej#6lpkun#n43G(tfqm%kz# zjTEb4ZPO{j$S;}&U1UJZWB2JmjI=8}*#vCx*R)mC%eH1l)VjX}b;~AcvAkcC@%#w`7OHb7-ZHRK=D2p4_e&cKqwwH?$LT8ecqSV%=W+_p^Guuij_@n>@+mPd>$qR%d9M&B)x2nn4Z{u@ z9WUVW!@`-mo`)DI%}Jz*e&c};!b5v3sh*w|yAwWGHiK*kn)oWNEL(Q$9=AG*bG21V zy+)3L0*&ckXsEN%s~4KNna6D#ni*@+Atn`;kXWNX!j0niSMC*G2zi7>a`eS()JPLY ziQXU-S>6i>q8}Ps<{;?61uqq~&EUXS$e30{McmABxFlw{kJ$9Oh%fMk=2ihvuO``l zRl3}M>(pnTc^dHIi_Ram<)svICke&xd|<1oij)`VN}0pgeZ`DQ=;cx0Wqq zBlE#uJ#@{5=A2-TTwI>s{-ZmvjT*TE$Z?7Q`-&iv%U-;d0}=Qjhx5Zkw0bFt_8z?`7Q?BJf8dz%dv&XqReVmsTBdSN#=xbUt@b<002I5B*x;h=XQOwys{q8CuvdWQf=jbyn54*lzi$ z&(|&cNBxA)EkEVC)|S=v4`0~nsh@YfVz)$1Q_fQToZse`Et`BOCPP6dI#1KLZfITI zTz~TswbQ4r{@9@{TMX^=>yukQxZ~R`BW7eiIbShPYrKqXDoM6PkT=(Xl_o~P2&{Otqn_pF+wZ*VvwQBb zFZ*zfKf~uckI&C{hJoeb_*9ngSPa^C-+lV@?mc88hznvT0O|9zANv;K5-- zWQKA~kB~>Isvw&u{hmIh$&)%M=+T!^vCZJ5R{F1Rz>%CZwTd`0O=-`6_C-#(;xdl8 zxM}Jw#~pKYcO5<4I&26>8Vq4EOBBi_tvH*IBvcjuWkdkm(D9$b)r$@~Mx&Xpt1)R- zL+3+2;bF^k@in$WpMB={V^Yp>9GsK;-BZ8+`OkfJ zyY04NuQUgV3>et|+eeOujwbhczKz(kK{IJB4|2N5Za$w;M@iU-*ic$zI-;EaX#v`* zYA+#%8ZuakCT zqhC`=FstPPB`J(uZ9*C3izFDlYyc7FkHro==EmV)wE;&9;?`H<8Umo?A91C*kXcYK zJDa~?7W&l82SH=shMP)(GHuLs&<{Fp%h}*!ijSy4$N}Sv_Y-_j}S78(3IJS*%liEk&B>GgMgYv|W%^*YY zkiv-(&K87a_C$#g@~ILMDW1HFsH#Zz7cb?62t$Rl=TY`Z2D|IRoM!rnMcIs?hoq(} zs@GG#`0$cDLmV^57)}>zET)o&X2>6S8vAm+AOoyH(Wet- z!a-T{E?8mnw3k?HEBU9IS2Z2%W_^nGtoY7!LLQVho%A6tIO+@7kb2KuK|tS13}aH& z%jg3A>1n86%+D44Xd7cqiXYhz?oE6N-DwKAqga*95d(=%O>;{#o1-PCi|kVv7uxbA zwiN@C*`M(%$Rx9LlB@Ywp${*vc{bOk<~=cKw6T*_ikDzy0c$H$D8&?|0ty(-8Z^BM(0Q z=%3ig3_Sa}XSr3ywNxrDD0AzpU;pMd+iq6`IA`Ox58S)|7Y~esJJ{y@{Bv64#$rK= z_2s|)?XR)58DzFp^AN}J9YvhLeE;=-+ydKl*I^oze=INE|8hIzr@d0zzDH@(hSKH@ zrER;Ho?q4u&f2RMzFqOPb3*d_e*vs?iSA+KKx+@7c3!}-p|NkB}dv13dcWKaaF401(Sw~B2^)-i}` zqMyO&k}cGFU{F4%VQQ;HtZe+QP7?kaj;ypbUp-(~9v;$wVVnvq87lG=<*bH77Y#pZ z>j!U}g0!xG6zaJPd5=ArY!N`2BcoGUgd~65p`M@tH_;56AVKITwxC2uO*k4!Hrc#o z@jqZ*|KX39yLNAV;+FEf$GFX-Ek7s#DO$DE)i-wI3wW*k&LDfO7#Yj+e$)Eetn%hV za$aUDsbzXfb7T3ZTX$+~zjGuVK5A~N{o@raA3w}= zD*m;OHLV{Q+<4AQb<=*-`Q{OIf4O1Bx3!D2Zu%{CbEb&}x-4H(Zd%cB^Js=*1v=`L zN{ydAEnmn+l$y;3qz!T#ZN_;ZptXGPW6KZwrTLfYe{(WTR(6+rm5CWhKovh2DxOBIN6JXY!_==bL>S-1v;z5^QN|#WH{a6(C$+}cUCrR_zsx?8U$F3V*)T72HEPrxZ)$38Dn^n`T)<~{ zGmC(iUpeuhgAU-d+-zOF?gB&DI(I`2C9q!T|hZ~)Dvp_7IdCOqrx+R)|1aVN}r`kB+e_k$yk9L>@^ z=T={H&1B@^(BhFJM@*bJ2|}z{v-df+KeJLfa?}U}pkO9m!y2BHtEXE|86=eAT9{EX zICRNl4^i3f`sYU<<){q~G5FYy!_GhNT-uOxSenm&Y>CZ+4Fs2$L*dL1ULyPkZ zz6-U!{q52EIXjB!pf8_@G<0t8*db4_5`FbGlQ}E`X_>R`v)5kdoqxgTkt5mJt+*OXM6h|wb#%%2Yq=aSP7KUyArDj@sk3lrh;3T1_ogs7^gB0|jK zrM@ruomT=|u&Q*$4Ue;i)V8&>aN&G<4fgc?s+aL6eYbecPj? zmLVV^OL_jl8+NkUAf^e47q!`e4$W9(HiGcM;#>`+h)?f`aB5r-f_7Z+CmCJV16NOBrMS{qP+o3*YoIP8?}t3F94DtSZIiy?LDkJQr~rO-um=pzxpZS-u!1I6kP%ah5i?%kKz?W7O@S~ynEU}mE z#x43Cv^=f|qL4Z4mer#U!)CJ8I@zHZV;wKh=e9)#quv${#52pbYsA?2`;STe(w5+OFRY!Ai zJV)$VHq9S!EQ+PRBen$x0K!F+7t0ann^EPyt-vsEMNy(3x!o5SLZqVx64}?HJ&s4y z{H{oak7Pp$T=YdQf7TyGKZ8SrijHfudBud96!4T*^+XH~C9wFP=o_{l)R=nI);ZI8iDq$GU7rYfG>o=+quuxT>~6d7`SMFIvJwrz zpZ7b9er$yXlf~j~xBcig+im~+v(Nte*S8;b*vKtExK+D5l=(e#HZSMIb6~*04?Xet zpU*zyG?uDa_+~x&){8C}edHLnRKNU>m#)0x;>|bjy~(DV<@oOd{|O6h)=<*Pq@~h7 zSGNDlfq#9gv{FM>scT&cG0c|-&v~bM=k-qY4;OLojP~E zWmMCiCzonEsUZ{1C#IBHm0tRCK`%f=gN1}{?bM~|3qM-@;oWN=zb1A}*Ki_p<2$~| z_nqoj5BN-}X+^M)*P6Hgxq7oSl-6*FJ*XB6JMi3$I5jUm+3mcK0I29;vbFA+yW>iB z+4MsRR)>)V95Xdd2V7j*|HrLednSW#y=U`oC)7Rk)6PHAX6>e7-)Lmu^$N%3XfE?)lksju<_H6&dkCJKshqQ+UC)*|p>w*(!i6{8 zd<&QEznR<_j!j^`V33w#ArEo+MQnZ{lOHw9v`}tzYvPU5oXw&-)|#TRv|ug5qrA2)7X$T`BkSh~Go56J)kAOJ~3K~!Y% z&n~&-j5E(X`J|J&_t;1_@h*2_Mle#!G=-uEm}Iv$`r2-?CfL|{-uwmIZnG^rtiQ0| zzQ4KmzUQ8s{hNF4-G006KDFykAS_?8;)0)EwEcG5eqsN8Q5k!(;=FwMicf!Pm*4*G z!Q)ThIEzZ@^|2j~Jn9%0uSbqJ9NMT6lVHpT9KHivu%_3FcG;Z8deNX7Q%YtsAy!r3 zT1@IWNP67ZvD}(AZ5qGGH)7-nbx=M~tE=U-4T845zH=qdL%*i{)byGB_#ykUue{>2 z`|h9ivx_f=Lf`)VPdn|@Ns}hAsy=?)*o`;t6>*+ylF24CpQoE^j>=s4o&WW4fq!MI{1FsaGw@khIX1eBh2UWl;%@HzX};#FIRHN8Ca)}X zIvmIr)Tp|pr3qdRBx0A*!HYQbKglZDC4!3e5McHKDC-EP`~#n8rl?R}N(ND-U|mw5 z*$3HgU84lfR%NTeuWqh*`&Ke4ndxlXkJ`4^zI3(!~VP9ATi6Pxpss0jnz)0|oSDNRxQV7|z3MT3c zeYRa#GB`HmZuQL;zLXg9wDGTH6HV$XKJpyE48^yyV7)H(DUNaLf}fs2Bwj^dbz|F0 z*6S!%CH7kTNRULY6o*CK4YLPE2c4lk9Y*}rA{kdU*E5mYsw-hh;4q3Fn2}GTGp~dy zI6@2jAOvQ{7X@Mfptx+rkxHa(@}8gL=;yWIdJ2^L5b|)pQDZTR9U0Ltcxg zxt!6~`7Mi$7_t1JsU()nX|8Cv@NDj!U=-nq2s|vFLqK<`WOF!#+k>XyvX0l_lHrm9 z5z8h)i*2jm)ECqrH9@so#8>o_or^h#`jAIL5?6lX>40~)g{S_RuVn^@Jc9Q%(dCXs zRxX8~5W@2TwS5g~0!1(^5J?o0WL#9Y2TNmrb~u;_W`VXQan(R9M9ScM?!JA)?mgJx z{K!MUk0$5;=q!NP@4W4H+m}k)=ewTcXpXJ6>NobpQ}Q1nj8?qngy+s>H}ebg=KekQ zLFe@}89DkWFjGdLQ_|U;$3jSbHH@oXggZ z)z00et5k{K^N9X$f{XdY`61cSIV5%RDmb?TT{^}fV^!fezlAA_^oy|OmaFv)MV8h4 zBn?LuJ1gv(vKj57Gas#d5fQ)Y#*My4ni+YiEi%DM- zAmby0y!=Wo) z{ENcNG+5qioqJDdH=fcF0$KDAJ6KxDERD9o=%*^_h@4^J995G9B#M+We8vHuc-3X7NH0R(<9>rB5F(UMxG$d$eK70q>ms zisoLy%x_XM*~G#ni-|n9TDBa#@?ecdl==tGL8DcBor!(;!Na=gQ)~YDS8!~nu!B2T z^Q!XOub19jSo`L@nuULg)(@bZHHukNqEt2^%_&D(If=jzP{ zwf5@Qy1~Y>i)iURER%&|@{uG+@gU69UnIPa4scYMLhN@Q)Y!{EU{-Cb^4ZVwaey8+ zz!$+(DvHOdv>cS(<6Uu{;Rh;R)H5V*CPZk$%aRL4_`0KDN-_u(+@ojD@#Dwdf8Vrw z?$Ms~V#zmPQpo}?J2zvh!TwwpbdEmis5vjZFlEYhl_uHo#4Pl%b{3loExc1;YUue-{`${|^@ z9y)aB#0i(n_)*d~3opbg%K+-#TQ85E+Bt!0im6>Hu^h!cx-cLphn>9 z8a?Ifh6^7a%wMozpS|~HTRoIUjT#B}mtTIBFzDJP{kR;6FTVKFl@qUFt^6t(Ung(U z1mLc_?&jwi*$vGCG+Qk=CxCEo%5LRvee=*;Z@=TEmtN|-RbT84{k!hGn^o^Y zTMy!D*3(a4ckPsDa_UK^?6d!VT90lmu^xT?ML&W1tm!izdH9jzjy-CFE?pP_nWALH zEPW9@C|+HW=@nvS4H9m;)Da(7U3K;R`SYvp`(nn78O2JRI5ta7wn9$-@w)4jU#q**I8LU%=6#a~RQdB%0SppeDzKYz6!x9ReIIqg2KqE<3KTp8xyV z2V@-ym3)EOkS0iCo`9Wo^??MUA!VLp)h2lHDr+k8sM91zN?9@56lJc4)7T9xKVdy8AHkn^!hp1QYRZez1h%OA=QtWjvE__>( zt3cl}0Aw_!fbEd*)l~Cg5hF`FPxRe?bz2nOwi-64RR1n;7Gscce+kJm`xofv zbcnZ{uV5}{><>hRQ-}xD%GLqgNp#yK&0VpK%;0{3)@rLbmlL6>d`p$S8w6sd?-ylL zU$DQBK(3QKRHP4e+=ts8uNOBdP=&7SD@R@A4mVEb=^i@BwG+^^)2 zcIw>~Q+*C+_EF9Oc72h)=l|Kb?{Sk4Kp~1t9WTAvn^f{X*A7#{;SdjBEm=Jov7#jg_*jcx4JF zSmOg^pq~tyoRMT+!+AIZk1zlPeziOr2C|3kD%egE$(T^)I9WYZt93z64Q6Ulr6Us^ z{SvqTs&$d`%^@3{+%|A@!#0$T7Fl|QQ9Q7vgJkyAfd6u{Sbj^3}wov8zA>Ua3>+fo`^V25mTHadN^7_-Yn-4_*aIn8E zZ}gBDBq?MeGq|DSgjsI%xyrJnx7s(buj4;qxzPQ^N zTQq*{8ci1E>zE)i!R7-mZtD|Y0SW>)bUfsyur|7xr0LwP^#eOVU%Gbf$&J;0w&!lA zdrzyK_s5pawhmvb%lU&7j@PKa?rUt>ZmsWHYUp0-ykX10Pq!RAVf6=wiZ_P-_((|A z&7M~O_|>()J-594jdIgU*3*}r@MO&|LIx4a`jqYF zXmO2g5*AJU#gv85VaGb}7-DcLmuAkGb^Gmij2}Oa6-o29tzx2tM*4dG(#A#&IBf47 zQ`}LgUjthm41##U_NC=-LTG`duNV{m!Ykm6k zmQP%wRlqO+pEb&P3l<#o$DfelRNh%nhl{Tv42J~E6&ZcQQiB4o z=%!$^Ow8I5i_fxi_Tys;XyoTcOY4evRxDn!_+uYqOKIY$b1+lk`AFyg{^X*{FQ;X< z_$|Szl{M=74;a8wewVIYlYhO4FKHyEWJU=2H_w@woy}T`2_cuGRKkP1?z+psfdeF( zL~flu`-Oo6`m?0C%!emX&Bo_H{rS&xv@3S#<(FPGckaAj+%)xDhaJi-cFS_S#^*n` zC%4d@-%*@&_2eT*kJ{_=pNj)zMb%MTq7bCy>xAWcFcqJn8AK?rz4jVQ z%zgXysLG#+T?*}ix00KRb~>IXmS6vhkyT22*~S+C!WHsu_qk+!L7F9haX)ZS^-*4 zz2>DOI7d)hj*~v&gzreltSnr(aN@*?82PB9zRlgNy3Koz--b)Ee!XDmuRA`Nj=a=F zxz{CpWjYQ6`CWwZm*!U#hm7VhxK1Y1i`>X9{qS18SfhE4?{HTzbiBT(Ii$7)a7ngQ zsF{LL9Wwv|A#6yr1xVniPt{d#!p|z!1M?~hQ(e@fafrsHuw8OE!%=Ns znb2sN5eZtd1V#2rc`uE_TCO7VK*RMKrQPH7ook@V*RI7Tvu8VScuM4LXJMd@e3$2e zfF+@1kQeBG`VXeFuWE{OIn7lZA7~S~k+$GFO^N|@a#-`gh#A$lpQCadEt+VthG-IN z!4g8TB5PF9Das!DlL#W1Wi*}QSeCb? zMRDP2UE!o-#s0A_pR5n-Dw`miB+y59*&>?7L)i#e(Mj`I1%&Mxre!Tra}{b-pFPyA z5m%N+N6$BbrbXxc6M`04=!1&dIzQIS&K1Ag=Kc`Hvf*693qdm(BsVqGTmJtPY=2>i z3SaePVl|t46lHeLL|^LUJhgSH!l|;q!XR+ekMjQI9iz}t8gXpf;!+t0sGe3RuQz>G zz>1?gl_q9bv_|_+?N~ie$vetKykxebt^I2x$DUE387T|;iap_jLW%ecn$823TDzVj zL4%?k?l@6A@cbnSWhym?8Q}yVoTRU;XytV+P_~kS{19J$JV=MOil(&4$*e1!`vQP; zWf9!A*axflR`W70FZ7E%<|9^hNAg4;m%89E?~PBW;f4{6qA^Q9HfSzR1#*nzO8rP9 zpbxccH?|#PVKWHOU!X}-j14#ctOYzG)7p8tzLKZVzo3)k5g9f{uy`T|16TAa^e^#^ z_>rK>3C+#?Qi4M;^J$XJGf#ck7T$-i%#vN$1o0w%*=0wtK48w8!z^H$Wx7~q;Ur3? zqc{t~!Z#!vWtADv$~z0k+ikl&>&u*d!Lsik9)2*t7yF&_<29&{#bUln$e9=%+-aB|2;TW^R#SyspJZJU!FJC4x_vKDtRKOne}mbq?lt}@9`o&zt4WSwTc%x zpde2UL+Iav+eU}33+Fp)T&@iKK_$sNP>RZ{Z9X|@AC9&$z!Z&D zMYBTR13U?xw8%H6R9`Sw1#VN1lTv=olb8 z1{+ZU#-3|-65(X>yM=Hx1gbt8L;-~p;{kzEk<$UEc7*`NCVWu`99lJe_PEZwf4h0^ z|7rTk=lpafNy=S&)f|7jr1Fr-amIB6c3ZvR!MZM;T6EA8)3Q?Q%qvQJT`O$Qj*tYK z6b7NC)XAPku_$yGR#L1f_aQOV{g)qGv zT2J3*75klo5BIFFuFif|9}8IlX;iR(>CrdqSg__d31=>?J$=y1u!!uYuSJt5!VJ-; zXvqB5Fmi}Y6)(xAiLcO73HunAns|`VEzLSpKUF>d^rmT_t|VcJeTcK?%-MP8oxJyX zp%5r=44VigXC!eYGu$n)B&h_w9?q$8w9`bWJcuhtWimJ>*|o~)Z0Jo>WGgqWYJBeb z=l9%m4>N{*#h#J@nx)nyOPB7l(0uoA7tztPgQRt$;E>R?pe$7-CpIs={`wm$S2p(D>Vv{}e`kKSbm>wS`?!mm zJ$v;!_nb5J1NN*daY}FV>U-|J|Ix=DXRk5mX!q>tefQ#+*+dG;hLDq0*}-R9NwS#S zhtRs4`%#z>M*vC=_v_cMfB*h0F{39rkcHzvKl<2Lzj7db7Ue~zwZzFJ0|yLv^2zBe zE~6+Lw-+y2!s#6S`u5$RYge`vbKu6HL0fn2+V#(mKF%cztl=`XPId;+mG}ZU?-`W4 zVT@0C2r<5NF^btEKM(%gP_UQSR6ArCN7A<=F}tYRaZ|QJ!+(O-u3~ zt0!&y6xDLSetr85=)Yox_69)5s=Bdt*R@ckQ}C z1e*|L6Qjg~u^Mw74|1l3ofQv)xnVB4kPK=`eCogIb>xD~PEX=U5I*zRb(fv6|Bge4 za4N_-=bkrUK>xXO=d)d%6R}|oX3#V&5OUJ1RN_ObFCXw_z*#e9KJw5b-#PxM4Z3nT zzG7b|DOO6tuT-oDRMnOPOzyhtuHnOnL*SRc{MF%yAHG&f#kT(rTx3$DL%r;fl^g~q zzaf~52re)Hgh#~Kw)ll&SQ8QozUEbU+~7^q9_8)IqBHnZdVN{EBMl*TL`3irsr&k2EHV4K?>DdanD7e$)Eg41ejOgtJ3u;X4ZtI zDTH)Q_TL$TO> zP>J&*&5r0~K0=_}U+)HMOq5UclcO>-tR;iOMpcNljaxd|TxL9zC#C2bInSIIAoJpV{B=4>KJy<^Wer5D~Y9hzoi zE`*h(Rj*Qj>3_rkbZjD#gE_*gkAUx-pe9O0n(uK}uThHfBv=V8%pGFL7a4w={NU&j zq1-R)4kwyOALo)=dhxRE?@lMQ#kS(Fm)vfGC3DvAGWkKG4>IeG9*ES@Fk-2~7n%`W zXsyRqb5Pr2ObV6=GQ05Ob+xjfP63ioSUIy>(S}91*iXsck)NR|oWh5`d0(jDlLzoG z=jk``K!(XBUaku!MYvf9`4L=6W zye(8!0}EL|9866>*gTrA`FiL#M{t_+-{<}fL{4)K)3Y}j%zypsU#u4o9QfgA72BM7 zg5Z*06zts4aKw>gIN4d4%a+}G>r{RZFqWQKINqvnzj5PFjqTFB!iBZwmtI;Jq&U-= zKWbQsZnL$S1?$&eUxXxq`TpyF&H`+3e)NsffgjYC=e@Tqb*d@-d|o=}nco{c;zOm6 zZ=&dVySeoEKi{Ji8`nDw-D~qmj-DG7|Eu8k<^ZT!$sx)!X{@1MIVa8StMYj8}xrO)C-p$IGMhdAKGAjBm`EYug^f|C-jB%2?)OsE~%%%N%$tidUBOg4cK z-+*lh%aGwz$tF3C5_;wGdje`1it=mVVNh99wwToVh6WPbL6{0G@de<;yaaLWfOEC+ zsbtuY9kPcLwaq3y;>&T&)9)?wxNjdKbluT6mKxZAoR`+x-h)^D?f0EZwX0YbuqrK! zo-hwh-~gZlAEXN*Vn9kd^S$>Me%tx36U$5gvGONxmEKug|C1rD-M47@fi`DGcyJ`R4C{ns-Q72ZM58krr zQyVv*_d>&nr@DT4gBJb3prmfr1^ByxHQ5H9sg6|}9 zUY~CBMz!V9-4H6?0#106*~wb>^w3gjZfb+K5cvQAAOJ~3K~(nAGs4==r4l=xufBFN zn@L%q=fTpuYZHB`ZzIEtT@~6RW5WFS;e!u8eC)Afxcc#rFF5oYhj7}4-GeN06-OEH zU}I(cK|+=XxLL6qzRqN@E(#F0<{d1arsOYhti7BD%)&80uE-*?0Ah7x(Jbi#@G6-1)Z;9(|NL9ShBW{L`Zx!2$f_Q`1?mlvXav1BM}F|EBt&DZ(TG zJnIR)MA8pT`ALlCmW@^xTQRV3!NL`dE4Tj0N7yVJKeRYwy7q$)=-;2!UU=!4XmKDM zT4r;6#F7AZ|D~u|#x#L-kv7xOdg@b~db5Ws_!&Gs$ILFa!-g|R3NW5B~dUE;} zTlSH~OoOIyiC5=UAu8vGf4Lj5IhtKGlO=%o?{^W=laGyr%uC*S^H;aszRNB;fdl&V*}Sfn4+Bhr_E{{=nlVcsndsbS(Y1jR;~0;S8DC&G$!w%t zUtg}*3lx&wV8+?vmt1mbzkdDp+G{VU@Y{@+UV3TAyPk_}L9ftRPq-*>8=Cp8Vtv3; z9?zJUdI9X+7pRe=Q@1N|FqfW+!4B_$Sh1d4QBMIUdK0j#g-=Oz+#DEoBnKQ|uZxxc zx39ZyR!YLrTZ%)VkUx;t7Z#ytsn-H%`dmwX^&LxD!4ztdSFv%MdN)GaFt!BGMi!fq zNR-{Qd?1?oqP>10LZb}zArjmLo2ACYZ1PP{u|2(5phcxHilRF6qu`Jq>fxOb2#(ys zv%XAcb4PEW^GRQ;7~guK*QEKag<$P9pVuj$WVzkEXr{6baQx_QNT^mwk5EC)s$j`B zbk>De5eHb5v63if`Jt_BnLTsc(neV&%n>r!&@`kn|0a;}(-@k!mCWt=i2B@L>j*=~ z4CQ5D$7I+fxf<@t}6Mh>e(R@YP6Mo2oHpjWeN*bd0gf4127*z2&M#Ja?}RO z;VAy|M@*8eDbRDgL9ZBN%Kyn$n!)-x#U_PdoHe|TcIeP<+1TBduXB-XXL(Y$;6hTX z7XKFdLNUhFD19ssYCe9cS;}dmQUw>|E#bhCuEi((?nUmzS?s089xl~)Y=0IWZB+Go zjLZ*0aDY0D+#}+7O44IcCP1nO8`+eXRB)4g5sD!jyyAvqUiJDzmK3YNNXV52S_Qgz ziJAJcC{w96!qIo+kkf5VRCFwx7#l}Tt*?IfQ( z#J66eLfCs{UtLi&v8{DqBOW52!*VfW!yd#lcIFjI0fQiY^Lnl|H_T{e`Pul+)#jS( z0w#;v{L4O@QO}g+(+5Zyoq|1OTjA&ybnrlQVT}>(_vLI37V?+r#X7X7&}BtO`ueLC zkX5#qeW2}PiTue)s_j4<9ZYZ_?8$?P1#<`yDl_6gA2 z+KT1)%4xEZet!Fp z4!-5)8#{Myfc0&+P6hbN!C$ZI)ZV_b_GrFe*O3M8da<>rRPs?URvC! zpyA|=hAfqLsV!~Sz4V~IXu95|Z#Ok5`t-jEF6QduIGfJ_qC%M+~Qanr!0E zT18X2C5<~(b4bq({OK%BE6;9ic;#~vWuq*wlJrSZ$&u>|r)HJ6*iea*S)!D}9m5hr zygdLXAw0-c;7nmJhFWN{O!YumoHVo#+gK^dRs~!PewIJ#$yt`CV(5;H==$W0qK+|u zg-HZ!YM`r%!`6T`eL!R7%eL~nsYY1c$7`OvYN&H!mCQDvWG=!U0K&`E=L0hwJQxSH z2m*~3w1%efV-lR%KTU?flz1^QT0Q4ceS|8OrCN3jZ?Y9mbn~b!*KYAqmU(p~0OKI? z(e|B}O7FZ}?)CwUKs!ygEWb$P^0P+#_8T>G|5!Kkm(3shR`cH9FRy&7)Ae5~HNL&- zq$kp)p1x!Cu480RP1Ix|>|A>LwT3J9Y~KEht3NQT%QJU2eeAH-uDw={ zxIM_%{_Ww08@{??#IKOplB*dCJG%4`DC=puCTf(Xqkdgl_A;{9K0dkT`DrT;`#HZ% zXkj%~YPkKlmTsG^+WSmYYu)0b1VMNKd1xzdHaE6zGO%U4eP9D+hDe)tQ`Xs0pQ8`Szlf<>RIozBq6E{AClicOO}TGe#v6<5xiH-Er@0i0Ofxq+Cd z`QZ=Go;Y#Rl*vY=7poW!9kCLHyGTegu5UWmodsgS|HH z#hKS?WSh9PVy~F%5P%xE>Mq{ba4X?dZ>3c4;~+31Csp}@qvhd;AD;dE^QWA0>c0E# zd+B95_F>ADDLs4j96xRxjkRm0)cVTHuR?*}#QW8)w}18E1KFu<b}{?La8I#gr{WDs|WzwWRx!RNs!+GcqmE|)G@dd3-N z1f0JP8#a_}?+-on@V47-!|rC)JF3{4z38eCN3S{rg>g&E#?8^&^4& z$YK0oqj{I+&z;9={-`5HPq}vTlEq7InR?5J(WBtXK^*Lbujknei4{#^?!sFpPn(d6 z`_-?~s8UmD%ST77I1^)Ijvm7aFoDAAGarzgb=KKFb0h!Rz`T9p%W*(#+)lYjH*r)K(-Z zvasRkmCjwp@Ge@lOPG4IXTzkKJ2|D)(#8BU*s483io96CE6XQUFud~mYB>DGw+&dt zOp{8H?W;jvK^c78~fUc%z6{Jj)mf z9jQ$C|AwvB#kTYpq6tl5XTI1({Y9g7E<-_POd;8POEyeLjphAFQWxdVXhwY=d%_AM z3mw~fo*)ls*bxUcl&>`*;6b5DK2n~vfA!He%lwI#ofQli8ij76^e@xV1Kt{tbKblnG*e|{>yUCA)8ldzFA32`m zc}-@Pjzo(B9*j!AtJp!Yik(D7MNf|5MNhYx7RIoW*{!l((T;4gx6FtF{6PvQNPhUD zQp#7Eoz<_M2T~v8w_f-dNuLIpjD(PEXu&uF6^kf^Vw8_D8fK1I-awFs8WU4N9YulU zQJoses%(9%p8@(1bMW)SGO&`T0LSn+?u~eq%&^=lZ~Jmt!bfycI`k6l;Ko z@AaktkuD!^QdvY=sk!bBzN6WppEh0fCu(D07*n1_{-= zehnBD@@8cM;kKg5_)21~3OKdF86T&XUD4HfClkOR<2|*<5|uR~oLHZlc-2)Q3A`{8a7Zb8$(}00uPi!)qdZ`< z;~Y)ajHLA}pqOw$XU+?Mh41j;yLawff71A|5ECP_;hlZZS57D%3MO-d&#&QKdHJQ{ z?Go~E!7-H`A)@wvJ2oyG~1u4X0ooU?ww z4q{YU_~MKFC?9KQYEvqG>5Kah7|>t2sHTQfH+5O{PuSb9r5ksvW9v;;)qdTa*WC8r=6PBn^$#g z#4X9NUiDd?5k+~j#PR6k#*N!(qm5*Ld6x5?r?DQ&+31|GF?{#k*!6t*eXhUux)YA6GHgSah7*oIW~;6GhMJ-$DRt#|v&c!}cHXLQOP9)u^O*Dt zrG;j#ef#!1|NQf3&6;)Usi*pP1;-K$fpEhOH{?G&IIMUkf0I@KKgMt_OACmL`@R11*=wq>Dr= zaDp6A>w^ETI1o%Ya=$hAwPXO0Ci+8xI z^S)FJx=pl#s>&6CEX~+|)45#fG_h40`#~b!YK! z^7XCpr7uf5BAgM8lpb`AAcy^eV|mUp85)s`XJvai3M9ecYgT-av&dZOb+k4rF4JHvwqqj`PR|vL*Z8*sc#-hc7TI6MrJa4?Fs` zNW&%GpB+ATZ0yBYjxiT-p-~o+zU5-@KEK#0ahexLy*=kDHu83mM}E^ZU$rqlRp8*Q zzAZX+07bl^1f75!?pM{QEFyE+^4&9p2bx_k%uoH*9u6YLK|Fm-(`Yw2a4I-YH7ZpS zDa1YP5Gs&Ss%1oLh0Li6h8pwu?&F?7vt-tHrE{I*u+w@25fuH^G)xZ0HT>a+Hy86b? zz52X&T)mQ?C;#QgSAX@Fu73D$UVZ&%Uj3%e@|N^RaO;`hB>a+hy#@6O)5!cL`Nt1E z3&9!NsvEb}lWXluj&^u=`r5z!W4zyay6YLg`*-gFuapq+>BFD-&@12l_x{TF{LIxSeKKxC z^fNBh|Mvg+>L2}wfBAR*(3AIn&9evZxVr!F9pCp)KK<0s{qQ&a$DlzzoL+Cn(+cM+ zIR5N+-1!?n`ugwtbHs=iF3`XaV-@ME5C7eFeb;Bc_HF<5lP~^FqeGy^3putZ8No#n zBO(f*ncfJ*ba=)=V`2?IM{<~6hGY(!`i{tkcppV#xKp_}x{F%6#US(;kgZrxZRbF5 zo(E6TQf<5@!Ba%n7D@SM?s=|9d;l8;@CXAy+n)YWM1X-T zCg0)=P2fO5=UP;az=$eNpFG|CWr*)1$n>dzX$@cxTcV(2QK0f1)86=D4y0$cLyo!G zLAHzEW7rj8v?G&_;eoA=(S|wv6b$3Yp0Kz*r9^Pb=RL)ldc|;WJVi3{^|m*iJBeub zrZ(E+AGl-`kC}}CPb)`kw9`_H1~${C?Q}tC15%>e_GMQtY@8ABu)c%=PVhL7U^5?% zP5%YGFg$*gk2l`;eIL~ug~vKVBL`ynF(oAP&M!exKT%7fffBpe%fv3b!VM%H6Z7TP zArv>=j~@Jqabk|&c*kGbDTZWwuRsKl-@9`F2a-d0xx(paT|NwGRJ>q&D!=F$K!p>s z?_^i9N0bfpz|QrFlF9jKhaaBuOJhb+&arJsSI|3j$9Cv~2g#A=w2c5Y>rl^nq-FTQ zR)>TM3=KA&Niq2yn9EU~5o!f5JUSwnTEmW%GyxU!l4X#dsZRMXe*_$68}aMMZSB`N zKeCoLBVT&~%@g_PEzfb`IOYy>7T@4yXL`OBqY%v;{pp#*HwdPR6U41&J#88>nF~E+l9S=VsYUvwu)Pm?( z@UiClB?E_E+7VwHclp{i+aXK0jxByIG9wY6YN~J4I4ujR*!YgFhK>eMY%a5d*u3L$8RFpHpN! z|JL}Ed`oTV4>OKALfLtYuX^7ZJTuLw?Y<44SAxAf!MWhqYjZ68x6@+{T|7h%AF{dE z=6gwX{ftnyP3DpW{~{BfM~{3ZCLXe~(Bbu(OEA?k7t#vC-FWr1UPq)ctL*TY9H3TO zYgbJ$BGH>Yvy(g`i4-W*?uzI>-{DL{@l_XQDKqR&fI7wW%f2N6W~byW&G4M^aG(3j zKd`+i+UpSyvhJ38c#`j`)B#CFY>jV6eQu9DGuFt|gZ?*TsRJR&PY+HxN-&n-ck_S*fN_LD74qqx z;f|19dF56}OnG+qArnX5kN60r%h3rgD)>7cWp3z&2`>7Br;R7>w@*Hb9{863>CMIc z7HI$SmwD@%$w68E?|E?wbH#0g z^%D`A=R$N@h*uRnUkjRvRx+&{E-MWhAs)|<$)*17ggdarwXd+BfaOE+ZK z>HD46CWeA;ZOtJKxF9;wM}c;MUk1+w&%qkGz>Q6??K{s#TO60(ICS6qCHcC*AQL=1 z%mpSgM}q22+ZX-~!>RqakXVaZFrPM&Tfp>5XF&N|IXC>Z%l!Zluw`3N#ik33|6(H5 zxA2dJmZ7^phh4jkrdfC-dJ{0&=LgAVf|88jL@!@1MUq^->(||X-xojo@&7&FfTqfL zJ3Oy`^24wFov;1K_kYUOE3e=AWkF&n_2SR|mb+j4O?STb-+T7pU0r4w_Vj&U`Pz4W zi2KfW?!SVS$Y=NT%D?~BSN9&i{vAKY9b}A)f4qqajaiSs`A)>oN6V+>%adm zUVWawY`e#cQ)SBMHjWTIeeah)`Fs9}J3sr^-}#^aUcN9INOynk$Dh3aUlA={XhTXE8qK7q!fbU9VH$|SH(|y4_yig2f7+!ga*a2*nJXJdsYakG z9uad>6+9IH`)RJJDw^U(2Pq}GATmb1vr$@U8H47fAxdqg5xvHxyozeGKC#=e^%BDB zPkfc_Z+dG{^2+%&Y!sjTo`*St5`LP!<>W?6*%_~nu+tPu(;#!xS;x2uTlHtsIENh> zw!|F1ImTD}l@l0FO~tB$d8A+lYD(M&=e)@nrE5bkpFBALU*Sk~_`sl1vpr(N??cp-24`Tyt@<;fi$KxFn>Fvi$`Q^ZTv7;}pC=ow+F_yc}VBqG3p2ty&Q+;q3 zTS!=eB?j_1^`}5)O%N2A9UDll9acDY$&7JWJC?ohGq&@qHw8>=Mp-xTv$?HIldTfm zaG&XluAK7h{!E>p;OUNUv5$i*)!ZoatXpsqqR?Bb4<6i4FYQ@PFvnZ~03ZNKL_t(Le74Ty<`n&D54H~8@?p=7>$ET! z+!u8aXym-9;h%kYl3u-PNAi`f2XF7#o z=g_5Eb-lq+<0jL^*lDA37Cm|2%IBArzw<+ngNS9VFIL})9Dh(Ivwks!@)}8OvBWhu z>ZR$nVP+%g@HNLnD-!q9owS01sF`N`tH9x_qT+D~jF!^v3hhHw4GV7Mm**xqd;1|X znQ2C6ROC83>SoT*);x=#!+Ux`$6k8OvCO6jV+e|JP^0v^vp)4oZRV=`!)TSJw{p2b zk1+3U`0V_RR^%x#G+Ndg0k%a`8~qMF?s32dvvXhXjaVqIv|)#V3Qq+{O@KP&I}Ina zQ~S=d>D@7$Xz~g>B3nEh3j>4>$&!?I=-tMXoU>m1;M&Bo+REC%$HfI6K7_LY zF5OYM1@X2FhdXxpjbwZL_z~9jeJY$Xf8iu-uvJ&!#3x9<?9+JIQZhRxNvF>^Sz4AGj6Wn+U+sz$Ap^bra_-Du&0ciW; z8S_pfi5&^!{6>)9B6iA2 z^N@)s!c_SQz0qm@>|+;C#%d!k!~14uB_sbS_uZqIhSbD8;hyoSulc5s&Li>a%p?Cj zz4VE?$`AGCY4=(tWai7bE_jZ7W35M8Ck?K%;HZpPhq7eqn2jD9dIC??LwEpK&*2 z9;|OuzY0Cjuh;0ip8dYi7e2oF(@biPJrh1*>1}VroV=l);D_7VT`R2{nb*gxNgbOt z$NL^98g?rxFYNJE8};)ppV>WY8inR&`pmO1-^w2?`@{HBmKzq-AUd^Er)B{iNnqWv zkhxLwu$FB`x-JgG4xXLAiRD=8&017AO@SWHx;f#{yqr~f7PYop8=JV(i3k4(nV?xBuNA`Tn2&$q&E#3kgQD z*+uEYPyXtEa`odsboa}C_r0(AZe%;=?)_))`pk}Yd7$miy$^r;U%2zGPrc&3&&Cc6 z!Q%~R@jUtRZ@l_FfBNZrK6|Xzd|UFj{{`+2E97&&;#YphpM3i3KkzHR=ZEh+eqArk zIN~fsb7rGcn_dR*<-xq`N zf|n42lU10L)e~{Yxwbn_j2o11`+1<4$1?2bIi<^W+yGvz_~532M~h-_N=n5Lz| zGft*>{nlJ{e08Pw+I(^2B5*d-KB;uj6NWfrlY;E8AgJk(Wec3%bQaa%lovK7r=BoM z5zIlH!ha+tpOxA<#bDyXTT>jRD6~88>LZX;qC{k>NWI(sKX{@iI22O(%l{f8FhnE= z#Sn@|{U)70op2tT_Gvj?@k5y=UAd8;juZ{v*^ne;hsj$)quxE}_>~)LY3fp}!85)` z!!0ZvscDSBEpbSdg;5g7WQB9kNcE!HX8+RyR6P}+00ht4?#)>%whNM%Kq6}WkLeEJ zs@S*Z*qqv~OLD_8H^-50jhgjVo=G>ys6-Kaw9Bv0J+v2}(-d%KLO!Cw6*+Wo1Hnct z;%ZVOKQ>4c!Li0RZ!KH(GlGzWe8#eX;;Xb9ilk7&jhPcC++c=>Q3BFpF(kaUr!lQB zN_R+Vju1#5E%!KsPqBMJSl=Fnr-uY1-}nCGf9`igP(|i($=q#Jd~{SmgnPd8ya+wz zI99+Kf|TZbUx$csvn#1Fv?)Ji2Wf65k&^t+X*?I&lQeP0GjrcR7ZtLWq=Y;CG#0n> zz3Ce~a3Fv#vRX~!=-d~;#H{$#neH2Dh6h?KjP=PCZAgenI)RkhVy9&wc$^BOJ#%Ej zQPxf`Jmpt}`dZT#wy}@hu@P|0Wc@5cbv20u$r(zhoTFyOgxY(f{AtmMU3p@A9qT7} zCeO&p#dA|TJl1EmyVgvf*G7;rrZG}V=p`S!4tmz`OP;;`7XIZ=2)(3F3<}Pja3F0p zgmF;cDbERPgi&OZrp3eRJ?vFnd@f*ojem5!W7U-xm3x1xZ@_fU#)nGrMwQnZ^6Sr$ zV;Ome7iAy#shxpA#83TvkHGX5{yeaOp*WX(PCpv7IJO<-Ozc27-^R-uRGp~$ z+-oS*${;N^+2Y&q>t}D0PHeEsYz)GW9J=I>e471aDmR@UTgN!soZpc2+`JikW>o7; zp%3}wCBCJFf5^XopP%dT0QT}>=JJ6jY6s7oqmikTuy?(HagIeiJn^V2_Kn&y=;p9Y zdk&mv^IxaCW3q~Bi@RU4J--Nt(#KEM4{@Jzm=VJdrhs@d4GEX;bY?0k$9Fo%KOnov zJ!9dqizjrMC+_nZj{FEwkh(Ij;Wv&b%k~Ki zdh@-Wb3gAW-2w;FkWd>1U}*BkiBjRr{@<(JIY(s5MUgC|6l{4VhAN<^h1d*F;Nm$& zXJ+`Q=y6&tM_1bA2v~YAj&g2|@TnkAHdnCY6|(HwM!Ze_>hl1%o`3Pt)fc|&>c99~ zFAAPFJAdHQ&7wUAK4IytZtOMWjcI1`ygz`iQbWdUV(eNAS}W>$rnh?ur<$8rW?!f4 z(uLDo0rWnH>n1EYHhS^XvC}*Mkdw+WB%Gh__zK%9H&tA4UbLiOMYTM0@xuViQ%Z@& zRQxj8K6zqr8aJ62JQvACy;TzSS_C;fLC$DZzRrrf>Y#AX1tvqnGo1y$jxN_r1-L;y z*^-4ScpAKkZM4UBHQ|*m3B`j^?u5MBCPrOs?73#UI2nJ@ezLvZ5yOzfi250Sl^*;q zF!Im{@k_t=i=X_=PrUli{X4Jx#^3tdzy1%r@*n)z-B0^mT^uTJoKY5Yg zaZ^}mPo|Cf@u1DOnI0~v9lCs_Ud`~P6^i0%Sqd-Ml=tKb`%5?R{iD76Cn5%2A^99~ zU?mu0Kwk729~)^94?Woy1Sgv4$vi5%kHIgbd^oF^MTN4Nq8Voo{H29K0_9eq4pE_M zx1(EP8cK{u&L{gYT=QoIDxSbs89f!d+8Lu=+E|k_*P>Nyo$m(-cRav!_*5*+0-d%8 z&=$wIGF}Pe+^L~Yj{p|82y2+DUTGDXKilSBJlcV9p5YRYcBNfN^L-gZR^%W&Lq;1X z(KStoD928*lPF{SWB$mGB(aU5o3FeihjBB>{Rh4y zgI?cBI_%{;b{|6{7%u)82RB^C&Uq0)KI#)rc|??QykN+8CC6xnll*!$U!j9cXds|E zEiPT&=Jp-dwsc+#71iwEhkVYGOCwTagAP}vL6mN&`QAG5=cYF8>Jp?!{Sc762k7yG z2M^)G3}O#2yydI-T3&2gN0tI@kqgNys)m~M8eqf zH=Ny2DL<=5m7eHn@8IzkOsj5u9tVLKp9ppHPx*CQj#C^ncW!9UigrW$nIByV1mC*w z2=iSmW-RIr9t~R}NL*3|bv3rbJmk+w3Nv#}i87c4<0f^!yP0*ZBbHCt9CG^@p1O{~ z7;fY!1u2!C&A4}Cm-JCtCwsC zR7=M02XJD`!-o$DDt-E!PEx!0CdQEddT=Z*N2#nmL}mJ>6>QKE&h{5U?`_e`YRZgnb6An7v+T zG7uM-`HtWO2r`Fr@UD(adiTaO9nLA@m>r0UlAOp?GkYXLU;cegZTrCI`mN9ql)MUx z7oo8cP`%H-=hDq%_2-xiEIc^*er_D2jg&aeof&J|^?qDOK6mcG4~^scn#$uxkNj9b z+;YOunv)=cXBOd%^_$HsDeQp(A8q5>Ii{a-@|2&1F;2#6?hD`JMt=rtZ`%peMXgJQ z_}R>7ey90#?eueA2WgHZCB7r(>WQvp z36PD|!Xq>X?Qo0711fJJA1dn`1xwKlu^wr;IGyY_KclQecoeQmBSH39IEb7{cZAg2 z$4AoxAEocv_y{1s?;ThF;uk&r4WD8zuIT@opf763ZMEg1y>tJf7In5>*4R_MB{Y8P znm;Xg++3E78Hv>9t@OMn&TPd++>)f9=yg_y_*Kzj^2J zPqXpm4h|hYun~~yCw}aixce z{N$_+)hc4m7D0VNJCXHZxsMZU2{y+P{X5Ut^hA!s=w;`^;B08%R1gvrmtMw7@lciN zw}tgGla0sZ(u$ooi83ZU83hCLD0!iHI*21Z>0E;2huGrC;Lniw7cNeeTtE_ZAS*=o z4bnNCxi<_SLWduao?wU^A(1(tL@&KUgqz_7oiouQej*H;epcQzxG>YQbDn9KG(|yu zgddvR^NM3^&1*FZttTMK#aC}SJ5Fqo0-?GkiS|_l84E3&b0iAotkoH%VKQg{*7@Lp zP;U|1>DlZJlFDI}?L%hiF*xng4vv2!^vpv~#)hYJSr}gYcp(|<1i=P5FIPa+GYp`e zw?q{igYa7(QLt>336BP_Dljbb!R=;i2$RVRPJg~eB(yUT;OUT#3D5W%5a{H2oQ37q z3iAiim7tEuNed5`7qnY_ZY_~#jg>!suyw{aE^$7Z7D*0_;GFr`kn__m}6D zTey+{cHmmWb{u2Qaxq+=(1TB~LQ8rXsaA)?Z)5C^`Ne2`9>-}5J~JaZrnjZzJ^Cz1 z;`gS5v6%4^RdY3ov}i{fYXv4HlFytuYr3Y>Ynb$)?bzbQ8%Q`Z%12o^mE(Db0-T{8 z(z#|E@(2=kqQ>`m_TA-*ln3x=>-Rk2fRqdoMjgYEw)B>c{J@@QuJg3#W!tB`%jcJs zv-2bC0{+s!@1CI6F?oJ@&0P)#u5c6=u}{i2&;q|pKET~zcVg;gz`zO&CU z$!&$eOmwU&V=!G)8-yy-vgn*1NxRz1b)A2XzLay>9y+zd%6w_+nD6>Ivm0h>V5cTG6!H$`_*<`!`GR!o zDr4iWL93J_?JA`{aEgQo@f~g6E6E(RI};@6a)PAXh_txm#RfR-h|s{1PCgv%4Pto~ z4bP&3XYr3ZUw);zQpZ1Q51cc)I1ti2gg(o;O@3|HlIb6$EAgdoI_C?u)a#m<7pssO zyL1ncB}U6X+upLVV<5-wt5bX8J9u{bSZgx2ipD+=Z)7P6kKRze`vLzznf!^%p!aKm z;7q*1yqM+5o`lpT3a;0k60gTk9=+bTBs)<@TySq_rRr$; zwG^_~!ULz*0yfIxe2nS-4xWW#h>b3|coCA#m|y>%GB~bn4L#?qsuGrsg&C24?yasS z0XAQ$D{9eu`2Q`WjS*xkFw@)tI5@-CdvD+f;V*BFhs*gp3gnLB0(2iI#cUAE-# z;7?rQK<%Hg)>Uq-+3xbMzA6lQPPz=2$BxJFl1m1_&ldP&*Wm%iF~7`*F;)yPM=2Qi z>bCew*vGs}TrwY%Ihn9PhT-8W59j^#%1I=XV-xexr9@N81TiyAG+0JpID-xYg#Lj} zr~GuC{g8U)X#BxnE?2`Hki%d^Fw)0}lPkYblm*)=+zMjS`%h!$0@H;s<3_vHloFOjE&~P~o_$eS7ti$UJfWAtZdPh?HYKwd zU2YW0k0~|M@-!DSyHZ=1%vreIza0x+7pK6qMgB3};Ew|B|U6{KSP=m4XY#6fe z3=E-1xTR+-E@|XwuK^z1Ue7ms=!2%+<;SJLL`*4nfpPKv)b~Am_>MbY@RfHSJbdT( z{?B*c_ob1Ojec>&dyM_0-~NX_?T`HEFaMqQ|H5B-@XnvV|H|vn9zMSF;0YgCy?^x? zAGq^%f8y#cFNcC;*ahuIq{zTfK(tQZ3MmO)*jY#%YZMiOG5%X8m2^x1$J(ZK&I?ZX z$4J`;HGCo;dS!}8WV%5yjgjxoHJ&|n1LsX=(0W5E2Z6&^YRWP4vo0NqBQ^%W5@F55 zpz`7*Nvu^If*~l#fo_{k$bgIJ9B~BZh$(E);b+`%5R#yVe`0a1j`c_!V|%LZ3GAfMzO8-m=^^Tk7IXw_$Q*`=Xg7qr+jg4w0i50*d><8ghxho8zWUupNLi- z-}QiY0>s&@Q8aWOc_qMLW`9_S%+!!~io4~h{IM~ijk>ea~E<=4Zt zE0V(t3X!X)5zJhMhDGgZm!?-%E^I>c5ViUMCX$e&bS_Hs<0@KeZVy*kRrE<5CqnPr zJ3Mmdg@-yZ%0}OzEJJXx4`-yfWN@S3s$1U<81Q&wI_SMnlt1jwasAE*Mg8FR5Q;G1 zC{p*&i%-oFvjfrOrhKn&qy4C3MyhjA*w(b%B#O&?*BBroEHY`8$yx^$B+ZkE1&I!c zUUO#DD6Oa#d!>EZ$+;g1u?8z@7LRq(dbB-<*lwc7*r6AmVJ{7FpB>tmv6a8%U`@w~ z%p7nmzJ@Mg?`D^@v9LMfaZjG>XN492e9WAUgfU{O9=_0=8psE)DS zGx%mtn6M4F(9Bysn|#pczUi{LUC>O5p?9E}mgIC;6&(k?ti5R0PvZd7jr8ole7=qU z1>2XnH|ED)@O$8ZtliBZT-2Haa{Pr?kd>o#!(_-f+G3ijB#@LmK^WPBOIYJv*PN|+ z8ADxA&LbbGZN7$QOosd+&@+X$^@5I!GTh3ujh!;a^DeVOd?fJg4-_$SYCe?map|(x z0Wld8_Z5Fzc;vulZhG>MTX;BucbWNK!1$To$|3_7-TBTVImr!$<#WQn5dx!s75jBZ!>@tqchdI`+=g}+Ym5-0JRWKOw zo<57sA!jTO}Fjl_=%O`cD8 z-Y#EX&3ph`rggAg-UKPmV=g|ig=H`)m)xi_#KdedIL;UN@akj@&B+;ELv?L%*Pq*3at?D>rrUVY3#yyYh( zl|OzbfQIEm2l4}nt_^w3Qoz;R9CPxHmzNMZQYC4cQv}P629HJ0IYnQjS%u2h*oh}` zgrJ8%+5wtPx6y)`q4tJaianbk+H-k2T5o+qV5eD)7_^Fps*GGl-74qpj!z^H{I<`3 z_6?tH3eVglt$q#A)QwqZF6+s2+A}Tj54FNc)3s^xTQg_vJ=3m(BWGq^;B?fkbU=Gu z*<+*8)jBfx=RVfCzhrLwr}iQ4cp7hk&SqsU5^h|s(G(<$)NH3{YOn=l7Ent@j0AM( zi-l(&yU|@0GIm=?-XP(WZ&KDlP`B}CF=$bRXE}W?5;|gxRiv~$q0a$31=7u*?C@_s zQ5P+3-{i0XN`1vIZl-6DqIV%`p=a>&=a3VhE42JPFCM8ZX1h!huH{?&zL4MEDkW79IPDt)8I*zC5CN7~>FNWMSr9^319B1!K< z`0JDGS+i3&5QxrvgeCdu6H(xUu3i{aFLbYj?GwK>UvI>p(43&VwS_Zlsq;(gKte<{ z-FMeof5I+}oJ7sIJ27)e7w4>F$%V=v9hHN~+&Ig(2`7N5;knpmOt4vDG(+`9)G_=Q z!#EHLi`vaGQ_oAj;EDANid~M=z2UDQ{Sc3kAv@+p!xp!y>P+hm)ucl?fdy0f>A@jx z6vV*U@Hr=4gS16B@+*WxVKFo(x;`BltCSp-UrxJ+6umUubjS?4F>XB#d&DCd^BJ3G z1TqG_(V|!5XZuW0=TURd86H07V7?ogpM~^tFk0vmv!b7W#0qWJ5qU2Ei_o`8evz@a z@gQ@@yy%^O@TAXnjEx_g|I2UA4tg_3@I*Y)e1^tY9~HH7fD^>wxG}#nga`OCBJZ6K zNA??X(!+gLFV+qK03ZNKL_t&!Z+e8bv%Zwzs0s)<(<0qm_0$1J`z^GL*N>u0J03X6 zR}NAwOU=Kk7|MJKo=D&Z}sTiI*mq&fb z+*!2sN-2?3KSQsz9%gTX6?*}`^~*>;CV{*bfN*ka931td~OOe})C zYp7%M!W)bl!ijQtvcdV7)tncV(dbR*xP?l&@(sN-@_K~Y;qITeh!(T{;qU=lTnpUM`3WkF0^9YRcUHS^Ij*ym z6UW7t+vweIV=M|#AKT*qb3ly0@H^~qwj66P#BhuSsBbyX+gf?OG|FOt7Vxzg{@Ngh z?AJRZ2V$eK6@KzIIm5ZT5r0{Swa$m+1za475ApVOvbz8!B0{F!u|^7CNsmCfI?$~R zseXi*38#O$=F&WDalniD?KXeDaXTtN$Rh_hg_7e^@0ugYD?UG~e>R_A&w*V|rCD3< zq(+%g=19M(cZ_ zo%YbaMMuxuYh5iZm$8UmnY*6{Egk;)B41MzM_LFS+f0naYT(iKb@D>Q5VP@a0&3)x zSz8Dz%mQ4dZG+z?KXE+3P3PbK`MhFu%Hb7sGT;-FKGl#}E6DgaY~QZ0Ndni+S(l`{ zZ#in6d9v4A{0YB%3_L#f$?#O~n3Swavo6*Dw5Jwq?WeJ0zwLC*+LURl>g$L1ozIHL z;2YYrD55$A%XN=p;KDPDT?}*K1mBPu3--n4f*#JwE=4&OK7q4YxTWBa;e8lex;la~Y97sBsoN<@eE;P7Yi%I<$QtRE7?ubNQT8 z@?V)5Y{q721#Dtm?dt&&8XiD-%BZDE3940v9qHjId}$f&X)%_jRfZQ;M$Zig?Sk8K zNr5qIv~M@RiY+ED%<)@fh=qUpVdxW7xZ{&hXR9B8_pY-CXr@|wUEiTiCd5ec{oT{MXqLENPfnVov+0PAX;|>}RY#eiw zb80M2`Hll~0}OQXHa{++!pvTo&3EJOM?tO0+8P9Dm#jZEUAH?OpLw^Myge@JY)4n! zb8M`^yy8gbu_$gAx~MQ45@$4&_B1l?4C# z?8N4c29ZP8HV1buXoxr+8_h|U z^eQ&<)Bu3<*sKiOk}ckxg57akT=6{!ewqRJ1v~Ce5b{ zU2k6Ijz?+uEg?2W!*kvw&BAZN$&Y~Hk=zVrj*x)~>8yLQ#3K&2XZJtxr8RO>^P?|$ z6=u_9%tyw0IUE6T{{_yQ{eb+W%MlVy8gU7EqT6!)5fd~%Pgo#c{+OFFrW*9XJj6B( zsQg;ZNN>=I6=> zB?%yw-t4Q}eEah47dfCK>!XFib#34=?%Ab-4SHhBG@3CruNMD_-fi4z{lL9qBR~$U z^?e&_#It6pch2{0NbeCFB0?^plMzh{(QzZtm#hp5WAE@W36ID@1a`umYG7*;%NX{b zu^7RN8+>~;GPFHWhM!oX(T$!i8?hr@)Ta+kIQ@{Hhduk`G#};3apt+rhcDf(Q#(tX zUjye}$2PsX#hAu)%({_(9~(N?*Kw))pUgpIW~|0_P7NFD6HfGWcmmG*zfatnGN9KK zO#^6TcI>X#vD0tC%y%WpMSGvP>kpzemUtcWYtp`&&W{%6rgMhIcE@{-6I(oq{Q8i` z#Y6j$Pa>c!u|~fMgsvi~H_YDn0UnNaLFfb&m_Mt%6%1p5f0-vT8cOrfkr^JlyaUKi z&Tjn~*F?=|(2jUU;w6q_Oa;xMvwc3-`=eJ@j-r?&-hTcB@c`fH{K5A={VnhF`|DST z_i%s0(yl?|wnx{&m!hpjnJ(6iS%+OikNS4ht5sW2(fY$jQ@OIWCd{#%Ej-Z2b==lo zoSmg>ECB+^lA}qHX+dIL^S2c)kNaydJ#Rp(ZQj62X@h?=c+ufOanMoijskt6Ev8EJ z6}eIL88J2l$hTNu7D`GaMslEc)L2XK4Bqn-mtofP8JIX_IZNATz;?{%fE|I{c|r$R z3gnJwyjnZk;}S81M;qgTu@F`cEgWb0!&jPI&u8THTjWf;m?j@jw8)=@jVC(EF>I$r&C=lB`VMNkEei z3@rXMs9iVOG;wm8NflMK#ZGoPc&|b_)`58e0DcYji0LPLm5|)ihgujQWdTqva#%2E zo`5~1RWV4V2ab9mW6NM#^Ns-wp*u&0J4y`jWV@sOj)k&4DpckXwG37ea?(5JdxiQK znaZ7XhTEL1LqEmQe>300nYiR71YskkeunBjiZCgGc^ZZQsx`%LuHxhHghQYfRxZIA zZLf12=$>GJT9O0tfeds2OhT7$HwuSO1Tp+3c^rBKY08v{t0so{s;pD3XTdZ1_c~^b zf)mqyk0MjxK8CIOEXv&QMH&SPIoz2Jcn}9&lnpC{g04}YY4nD*b6MNhpFDlHGDHT{ z{|e#U3jhzaIj3k-tRi^!0slBnHHZ1gMOD~a&kv`lF9-a}ne>s9jZx0C7RaNfvDVz- zyHufhk&JfaE*?e%!#xn7~ zM!FuYixYKemInd2v3=#CoUSiqREB7~@vQ*bIRxiL=D^HY%^M!h#iu7iaYGP6;>qm> zhJ(NHD*g!6;Nld2LZ*a?A@V)NpOdyPJU%j*c9HQAd(&Xb$v^nunNCc5B{;S?Wh6fp zgQNVcaVv^nc7&MwASZ}oC@>Lnz~4uKgy!MR&{M|c^UKO){KB)#+U2yp&WD?ie(ON+ zk9U~HcX`2vM*UM4;!1NbbKj2E1hwIw=8VjVg$~7kL>A$Va&ll`!^;fQ+1}sBzv>qO zPb+p>l7$6UJC|J>ElE31xAUa$riTp9#EfS02zC4&`5f72`7s85rfFt6)i`I8Pm>D{OZTVqO#;^DgbmLGPlIqu##H5ceeN zb?=&atye1y@%|yWHvv^QZ>XUxy6E-*=c*gG(L4Ve(Z;Aez~R0Nbm~k3e#~EM1)TL_ z_;=d}wzDp6YKlLNVhtzGbgD&HqNKAEKRak#J4 za*r5eANT`hjz&Xcq-yD4fKJ{jJ?+AQn}_6W9Zdt?XT|rU{k&OZ{%9L=ilJl4G2?yV zx7}B78ST1>%hZ*8lN$JaX&mR^-qI-Yj9!Z%nSt;#u=e&||NqOzW7hNpQ29o6gBN)Q-7~oa$2RSuZ2_ zv|^fz?XXMR5vdq4@CaLJh_tjOYlyhhnprd??i^ z{*WNaoVA`PZnN)Y=uDW@w4-h)^IH4PQ+muoE9cn%Gr7E8>)`@C>4{UR;R)f%xZcd< zg}>ADsEx2#Rp#1P$@9@K6)L?CxRqvuWkGa=Jk~JDs2uGWwyHxG#VOzR8|Y*6;rg2k zjFg<=AXV93nJ)P;IE(ZQQt@n6sV;D6z#VvSM7KD;xNrlpCv=4C0mMmuFA#b~Rl4sMEn-LB$hg`68vmU7MThU=x zn-~0y(zM_ioY~;g1|uz^&Bhugumy%e2!1Wa4-r=bHav4lLq&KHz#jr5dZ?|h1SFCm z_T;$fY~ZI))D-|;#1>WIb0!iIG7-43q2XFJFbw&Dj}C4}>Ig-L3k9JZq3(4YG~4@J z=;}8FjQ8fS;mFJBg7;{~MsemBc-USjQ+PQbDt^o(nLX-5yAHYt2Y;RxEt8VVkIboJ z$k)~NZCUEK(1~MhpZPzmpT#RTlp{0Z8SBPn95yM(rx=Cqp-TreyYeUtEwXyCo|v+C z^fD}QL?CF%XBfz|NXuhB$eujU!nX0@>5d-{AKW0(10LJXoP0oZV!ma5MG5qF2b3R4;Aeyvc{};vXeK>j#_= zkHQgYdd?FWq*ZG7F{UP$>ld+@QZNz+TxYI9&WT4D3X60epFLNVo$K2Uv&b)<1 zd)J)ub!9%tl}g!I>mqqhIebGN;?g@;ue|b*+~8GG@r{xx>}ILTuwu^N@OYVIi~Qo3 z)Y54g&p94G%oiSRV*yFj08FjMNXIH3X~Pf5j9otZFGk5SY!TSmC%5_Pt!WqStZ!s{ z@*D_f49<%&cdQSCJnOn|zW9Om&O5X`dGd&tY~mertaTp2UjNSf5==65teeiJ z1YL7)EXwBIrC#v`LwrtcSAIV3mThf?$TQ}(a)xlioDY|H(;2a}x-U9%SQ`=Vx;*T~ zG=`9t;`Z8S?XTjW#&@nSM%U5Cu2D|h4~MQiY%d~ECkVIY49RG%FbY$`7*v^@h&o3J zZ0GEr=As&1!<_O@NOqi$*m-W+&NlYRh^Va<-s5bBr~({N@SDK5$zPQo_~Zvyzu{A! zef6h3`@p9&BSucvl0C$~Cg|3&7(Z&-HTtNrPHO9b3rp+XsxzCMy`J1iGnZOd>E$yv z&_@kn!q4>uWviV^;Mx~#woe}Lz=J?5!{l)e?{Ye7dwk*VcXrZe1I=Kp_9lhGTR*qO z!;AJ&m2}W5zBeuQO}N7Vi?C+olA{;8anRB=7n^wf6r={DfZmX10k}$`S5<6Dk)3u8 z%r^!M4HxaYTY~|fgixd>D`4?kdF-gy%$%->19SZ|1U=Vp@~j1{if1e$^SEK5-&paI zt6~$C0qaMb2hcnPgb(5@XR`?>Ga@Y-6bagwKkx0*H2pRfS9nw#OSMs2wX}>p$*qUR zS3!T!y?0^6~+ zEWO$?8+eXobV@EJn?;cj3`zD@e&p#N`QzKr3gwJTc%OB9w#!NmR{+VLUe$48Oucy| zNad;({_!M%X=9Gt9o-uz4dWVsO(db`KaSTkNXeXvVDVIM3{ziBG>17Ewq%G5!AM7F zXBM`!h6Im(4v^TWshX`EfqNjoih82<7-u^?ny6ywj2P`UkM^*Kj`)a-5#_PlkxGiL zh)iGF(|lkEp2S5L+8%iE)!3tsdKH1uf_UV^ziavu6jyGHuUjN zWa8YshmR@ZHJcdCZCdq8$F@#pY%)J65;Udbfw3+Kn~xk4ix?Q3W|~49BdK7Dfs2Me z7s+BP25Vi@Lqj3 zX&pgRZawhifbv5|>d5R$vJI1+CBt88N3U`8a8$A(V_E&V zI295B)Ka|Ee*A;${N@v|d3gq}Z`@aj12_tO(AC@aHceXK*XY@H`CJ!V=YKQpNE;Zi zQnS2^q3z^V79TC524Xo~N1k9T|8zq0a1pe#JYfs0v35 zGW-q`FNU20fuyX3t%2k`y*v!etKC6%nhc8$G1@21^9^I0HD#5<^F&jF2ESQQx*Fh! zElxN`;Ed7og#{+Q(T&4dM7dYh_bV z`8_Is`o}dl+LVwQ5(MhC1>=uc?{UAK4(5SBV_SbZ$4C3l<5WtG^&4gTbxFhY+U@*Y zz5*dG0&@BgGjW1-&|~nL`)OYojAP=WU9oZT--Ipsk4FHYoUSA4YOT%+J9h{Oy7bk+ znf9HY@vU94W!U%vv~w^K&W$Zy=StG7>u?_d?W+cjsirZllAh^|?exN?UEt9%xLW7P zk+0Ap_p@NR^YrGFQq8f$Z<|d0IVV-VFM@c6V4_)ISGr^Ve`+ew8j@t@_*6RguA@< zosTr(pGwQ4Jcb~9n=v+itE1tm-}2+*76D%mZ5<8r3^o9Up^<9+X*k_8^bZzjjyO4k`((XRtivh(GvFK$@?~uMb8$~D(zy47u@j|aCbCS~Ylo#AH zXGh*1@*`FW!$`=EbdSwqqZw^G@?rWv$)X>;$g-F)vRoNeA0ol^qC$sTOk>1~v7C(5 zZ%_H|8Re1m60iwN0J1879X7t`Ax?)+Asy@4Y*CUtLx-q1hA}Uy=54-@3lDti!>eES z@Yxr<>*@>N_3TUD_3R7ZJy7id{WV9=^%`G{dJ?Z((5a<%P#di$nJCh0?K{=OqkZQ| zEuD2HHJR&L^)kUy9HoP&^AKfwd+&V(gg+oZc(%!yu{W%(4!L%`%=bH6Km&6rql}&w zm=xC33>Wp~lV-+IIAw9i)`D&&u?oi5p$iuem@* z&f188U<>Lwc&DHSXD~PL8y;Ip6#T=@O@9y9MQBw_V_koWzYBo;Xa8LIaQZ4qLowD} z%Jha{#dKa4w9|UbH8f400VSAeZItEJi4krW z&h?s%Q9*^w*x*SIc$hotQiAQqf@9uv)`9-dILKyH5(Npg!Ykn)^zvKY2@*GCWO#&S zteIu7n^Q{QA%gT_&T?a-Vtu1-0iGgXUMk< z*`Uk;4ZjTxbe86v;b@B!q!ULiYD|@{3S0CnkJJZqn-kLn8V1q@hK5vIf-h~dcsTxXE=R9WqysEY)~=Wv980lZ=R%9??sVsIA*}({|BTf$ zb(j*c2h~f=8UN8fQ@A#c`s}F4l+a}Yq#?RiZpSC;%)c-hyKOyntiv2Ho+%TiMZ>db zoB^w$iqZ_L1Tm~5@|wn#Z4a_drZ6>LW6Z#iLD0khu`6S=fO?yFJ?7%yH#FNpc2RG~ zr;%w8mbX@U<8yD8`L=#<%<2#-HU@eGKv9T)JCKQCaoB1Ps=>3<+c3#D2))aX zhm&0~`Ref_FWv|XulryVKJ_s-Lwhu)~5pz!K zs8M7LG!oOKSXS|-q?XK^&Jd|faKfUQ8=llIhw8YkeXHlGIbq<2o#D`XJs+!>5DNxm z)kQzZVFsmCrg81`R|NEI$JpEG zu4~}ohN3suF(=(aoJhhf`WF{G3+zCwmv;3CYD}!p?3Fw3*vlw)`duARr`{@<$ z!Nd>Y8Env=Za&0ADCN=i#zJz?3Ln@S7v#%NN^_v2eg+4Y%^X8KB8p9)7Xva+e!k6D zdwcRnG|wG7{WE;1OVrN3HyC2t5u-i6evQe@H*zDsLf5sNRL*Rl{O5UX#o%V{y}PeJ zdUSQicbAuc_sQ}D@)w?67o%9SxRkhmbuV8JmGvm1k_!gIKn6@64A?kpPQ`ZGSkv-B zjbTffl4H&b#Y8brcCCcqG&v9k6BRifOH8dfQNCmTSkl2zI9bc4?O=$XwJbSlmB3>$ zNMSXk001BWNklweRyqTi^jfZaUv*Q_f|+K#yFSF^Vqv-AfZt4z%+b z8t~yCe(OSxn6vWGmpWtJV>#nT@OWu9vbyl9(t|eDzL`` z)oPsl_C)58OxG-D%No{wjGx8*jRt@B!fE!*0$(|fM&^pM%WPoMn2 z*SqCueZG)+!`SMbW97e{e(kl_i1n+lzWN-VUlnnAtMKpfeUUgGadB#3j?0#Qp`6^Hl|w+FsUfGX|`^3b0!;ekaf8OQXd96$9gI~@wopPUnNv& zeSDekcg_d{pyFT{l_K<5_$dud#HskSAy}JN#Q5TWLC2w%Bo65mSTs;{O5*^WbxKg3 z!arEf?HOA+C;p3el=<$DS=6E{b``_IiQe0SXL~Fc#BI8|XtCUMkyCB_vlg>!W1r(U zMhi4PNln)$@@F{{1Krd1A;(24w(CQe|D;Z=j02?nx*v)~c zg>m>Ks|pK@{2+DF8p%g|v$+&%Xp(+l=DYI-&1TnCJX$;16ojk15S45`WD$o(7R$a2 zF+)E<`U}#DUEYmH%iSwJ&g^?In=|o6gvKcu>P14t=V9tX8wTNtcrrd$Q*tkpQ^k5o zz0mPkCHQEpBUL}-0!-#3pCc#|F;Ss%n*pX@RV1{Wq?o@Ku}>i`~5nMW2veXE0+ zziFno3uJlXv2aIM+~BG0aY^DhV#*NgB4vufIh)*wE-y$Jp@G&4K5gJo48uq>Mw*xU zB%?2W)&t^+Gh9%fJ@!}Z!w~$lzQqqmJ8x2Y{KyLd>cPS=F+2LXv~o5i)drp#BfM49 zkVB*tNTKFnSWJlR!K0nD*PSZ9=EDrPec;z8FedKD*f_}3?Wiusqod(QxM>s~ojUc# z+hx?}uAAiv9&ZaGV%Q>JZ}B71BH-_k-g|KW^~b~kbM-^eDGdcMK7GXZQJAX)*s5+F z8i!*J<6C5$$;Q@iMah_)1Dwd6D$x>sHK=aZV}vFN@1pzRKe&`x6yo^!i`3#Nb_WWw-l zgHX(gOT8wz`5A?rxIiT77?d1va3s?%HEKfmlUGoWADiJ(xAJgbBc4m+VQZkd4MBF9?;LR{05z&ZT^_jc;LvTeO?@x$$WF5 zAbD(2y1=~Kvgo)$+qsp@d&HAV<}EGAv@LJ;@J?1Moc!|KGB)^NM+0JQj zIw0~#z+f6<>qBtHixY#+AG+u;b&(Se<38&^e$vxdlQOj(yLgn(e$gT7a$72XX@2zb z!ynd!loU)t!qlr#)Ftkf!wCxys2^#goKbbb5Ww1%Lnq`=Zi|OwCjfer^Y*Hv$SOZR zL?F);;#!CIl%}AHU610Sb5t{y?@svHAJnRd8aV?&F{wgnrn~nI9L0#}8WQ5S(3#8d zdkkCDdyjA2&ZQ0Crs7xDB);+-K0MQ7tSnQ`#|^z>)|NWU9NXsCDfjmFH>Q*S!-qz; z`I%CD`0WLBePlj-=R4o|ap?1p%$B6go6VmszDM4=f0%XSHrh3DuHD9T>;cI6eQ!3` z3-kO~6L+3H-?S)o(uy(e3B*cj%L$LQ*D2bv;;4fTdEkdfTP!e{;}dh_9uF`1{m!dc z0C&-2l3UPGr{m`2*^NKbI=!=Dcf=_n+z5_EqC7258xJCWZK?LbhM5jkTp00#B4-K3c}JK__@bts8amoW55nloLyWSf4A&!fxrKn#`R z@(`Zf9L%2Bey?+7ic+Z1Rjd_9LetZYQFx#|!oE!yZX#?ql*<5*dXsRd0ng4uyDpE~ z-pDS_6J7sM9KE5OSU~g6lx+Sm0Gto{6ySm)A-NB*cb!<;ovEWpGzfMkpQNyDe`GenQwbXVoj2OuZO^bMiVSHis zh|Cb7MWs*$ML5sp8qJCf&2TMss15>&CM$K$3*32O3**mO zl9f{$gEE)J4=wD*1&R4-ojQ%4M9>L^QH+&S9Jw%nS#zDsPx`IT!{;`_75|rZE=Zww z%`bQ+T|DJ?bt6UX_10(kRU3oFqy8aZN}1+fH8KiYu#Q`sxiyfu*WNDb-e7XhI;rL4 zt2XA>Qk^jG_-~|9=#6ruA+b&rX55~e1qaT+z1ZSqN891se6_EA&8vjyz@}bC z_{6hHa!A;2(BmS9d7kMLmP|=hExluIc6{5bOe-oGy{XmqVrD=qpMR}^%z|uiVJAc4 z)f$E*d^26=auspVH$%#!tJnZ`z(L>GD=DViA+*2&c z`<;15Dh);%Kg=6aRJn2CK_?a__p&g=or=&zd0>bHJxLq?oR1v(KJKxR|Bgv)?F?O_ z^o_ofz5g@(MxMxAl0pDVjposiz%z%BOQ2_VM=0h)CB9Nw>xp>eXjjIqdCd^%^x_oE zj2n=E-sZomz|gr9ns(>Wt#m2?y@#BVSWs8h7J{GY;KF`(J}8#aAJgfv5O(= zniz~-O&oZJ5BK&Lp<_$OT7S;+YZolT5BQ#&&S=-A!Bg-erj=&FXd1V2if)ai`!;&& zEsMTIhVwBsS(&$wT{0n<(7`X1R%|H_=lBt8=r+HIe|8@59An>*w!-8)yAwWff@2++ zl(XVb60G>jRNEz-YOD@W8A9Bd-f=GT8gHWoR1_}eIH&YvEIvHRsmud^@>w2ZcVJ7N z&wL&jBgYau9EVy+9vz*zz^EbrBmREpEuVLvU((s1po@0%1cQZ;Y_Y`?dh6)RvCQIh z1%LL~;U76XY#A{^&eneO93S#C!70JSB{KkQBM%F1lQZV*-j2T5VnnO^uHVh=TdDPM z0w9`Y>ic?N+mlh2C{-b!qS@#X04hy42O{Ym{*Q^r=5ZNTbc`281KdGRvZ$ zKicgx-EOIMLfhvfYuws99r4<8K>ql%Hd4cQM=e>6F+S#ir_XqF#Sw-_kGMU}+nLe=f0RjUu4j|kf{i%wbQE(6M)1&;R(m+2WnfwD zMHaKrc*@VE$oBeNzI=it!_NG^LmW@)#HX)6eE6_R_gvcP^VpN#;Wv<;@q8@XSI%Ex z*mHi(HF%D8^Ki_IQ8VKRQfIZNo{R{jebSqpeeB5X%DLn@#(pgQ^NFhKi0Qnx#p@UG zavzuDsQJ!$=1AJTn%wqOrySmE?7?%vZ;fJa;MCvVJVfc4dKVsNe#%7gQ0&-nls@I{ zvIT%$%f^7qr@0v9(tQYeaoW1q4cSb}Di)>%Zd+VWv=d{L?qjhTMrQ0P9MnQ;ACoi9 z=K_H)OLujBBy?r!AmzKg8$lfyZVp(A^0skIl?4Z5Eua%nvC&9mv6mVt)-jpOUY|HZ zy(B@7+x=Fa@*mh-Nc2O+E3>vV$%4lPPaBPw%ET6uvlMy;yV#7Izg)Yfc*VPp0)J=| zecT8(uZ{w@;)THKRgtO=oU6UMNO~XudQB=$LC>6&KNGKGnR>lwM^`Y+ckyU% zVuVEa)k7Y^LWr=4m2yNJKj3#fBHB2`fYn+?xn;Kt`)M0~6U5>Xv;3(D%5apWfp#_% ztr22qZqTnbbw(TPWH>qjsUZ8SvKYeO20M)40++E$&X7?Ef_bpWuiouZR-0`PN$;?+ z?cz}jJmySzsyCY3GXdERPx#B^kXSbKroVn5i;%g^Wy299$yoKq*FGV|0MQ)`(XrQ) zIrjk|&bztUs)U*U+2omNxd017vmi+#XdJFGZ*!=fm}oV65*5z_LQZ5BSDd0<=`|7s zsSz0(XF>O5xJsF_ilM%(7UhKVVsQAwzG9?;`cnz{+Ez~EPv&6cZ}W&Q_q8;~I_G|@ zLvYrM)EOi)f2S_pGUZfPOsTu#!ywN^kziVrb*;+rRr0xWP>(r!bi#q&eBY=oV(i(Z+qwu_d?@9@YNV}`TrP*x=OFs` z9sRVA^(Fk+5*w40F-(+)Eu0unGlyQhpZX^4#h|f91F?`R`e#fgj`55#j%lB$-g0`E zA8q3yx#x$h$?D)`RrR8dM{K}W*Cc0ge1*N4kHUioL%U$%2xz@2n>h?sWA(Dur+1pA z6P0dNSMnI)`0cpO54tD1P<5;e88{VqQVg*{dW@hWaD1AWOM5{Z%yL4|%Oid$L4)-t z8VKmBMf!pEi0{R=^<0J9zA-glP&QltH(Ce5??c)d>KxB{K_geM$X+Sb3-4)-B@cMw zGG0nYaxnA68Q4Z)Ql{p~KznFW#A@0Hy|=#zt&ghskZEM+Sj3}o$oIDd;~NGUeaB8y z;&V@tlY@r%>cAFV1LvYgu8!u$G}bjPk$++18oS!{v$HsHAs>lR{3dujo14yPAhOe) z=Kr+uOz%7|OKbbEmzl+ZQqYP=Z)lx{a`4PQT-e-8^T3bEbMK*DtgRUfe{XJ9NW?R_ z-Dh(2jV6f4MrGzu&P{Z#6eiC$dxNmKUC&J(Uy#ExPb=RnlwLQ>=+e3lIQjWSe0Wnmu655GYNPgZf(vNroJPLg=Y5ofMDVtZ}Wo@@AN!8M5mnr*Ax<0DywGkC_&Ng;kb+7=)iF@EsSPDNOLbq4nafYxQL4c&Na4@<1WN?sJha^L-)6yPB~du zRt|SYJ5C?5P2pKoX(&X~HG|StCHCV|+7B}$ld&B7M5MA&S?dRBB~P5gKk;zh5%T)$ zkGLHl$<@E|khYACz>h-n~+IOCvUKkkVnwYQJuo5s0tz#YwgY7QNqn+Z* zG!DyXPwjB7rOtG0*0n7PgMU7G-}$r{?+f#D=sKdHrBRI-H&USU=Q2DIWG~Iq_Fk(Y!G`2uumFWW$jArAGEzv1EyBnalo`FKAV$XBxdW5@ z5>AZhQf>SY<765wE+u=VFtjU%h)JU@sNOG2X?Ngb5rm@?U@Y zV9@n`hb1`L$dCT{eyF^&X69J@vtoqc&XG}bly~;k1%B+k;F%3==h3x*M*h`5Xa1lS zXf05gVaPKNw&o;yl>-ra$T!Ndx9xF5G(@J6>iD(|B^_ILsV!qOkH%1am2q^9wQmW~ zmgHVw4pE((>cpYsY81ui8csZ{mTN;Zb6#8hZ$yyqI?J~|^BDz1=Vm3XLD z8e0DY-@FxY3YRh^@ql*eb0mbrv7YqB2DRIcBvnW$#^ZK+=D$1+l$&9BmQFjEE7jGN z7Qvb;G-_J)h1YTR`VLv;z@TX&r$*(wMYK-atDdwrtqkgK4tgn)USId{->|zC(H7Kk_`b zCnWVx42NrLM=kuz_OTb@Rhhed!(Tp0sf$(|J9folv#~O(Y`2&8&O2i|X+*+7@%o`HHDOM@*SstQ|<;U{&>NH^RdyqmaOigP!g&_hvrGVvOK# zjPUF5^uX!->b99wv2q@BHuEcM1n+g=>x}&FZ%@%0`PDwwDaY<}91Jou(CXlAaUn#$ z^F@!?04k?~_UeE{+xg-Q%C7{YZZJmkG}7VHH4rheFao8WkQ~cK`1CW)dLz2*mTA?T zoLIyZ$}wt}KIteW!jHH4S;d|xGb?p?=&bT|>h(D`4MR@!f<$+VCUtV!6@>A*Y!koc z=x5kj_+Eeg^?cVeA2g9?&5MgUxY`dnyUdR{eIuS7^K)>nb#TwIeNEI4v!?CsJFWaT z;@SCM5L;qsfS-f^Z65ry`*x4x8_=D}%(7#RTlK9zA9XTyW6)a-Y%N{&!F4Co(SW6f zBzCiQSrhm_^CUSlo~kYONs3)Y1=r_Pzi1Cx?dh^zz^D+|5(a3=k<- zCS`6Mrzgc4N*pe<)i>yv+@uVPpw}d6d-)G%<(&dJ+JaNt>ImD>Wnmrdt6;4nRsPw2 z$lTf)ja~`?gnpF1F<=Im-s(zC9f~`VI+oxqIdQ$y+m3mg27Xn{Z)N5-l*D!}iqByJwjr$?N3?!5QatN-*vV@nPHTYhja`$vD4e|JCl zUamJhfLFtBqv>7qbf?RYODK^X8eKt2GEO>Ml3K(|pXj9cJiHblJ*V&dUT-<#XQgq_ z%%5{g!NGv&9K~!SEL%Z5)sy5&IunaJT!WEDCDh@@z+6I??>`cXNl1G%#)53WimhV@ zxNL3&khsTMu_0J7ITkdBOh3oE!h%`V9!Y7sT4!uogRjw>{H3d)oXb|rq+IT`dIJtO zD=@y5j`AUdar(cP!JbThx0sz@X0Py^Q%jEa7J2>YT^iJ8-T}hhHZrrB_6q#zeZPsX z^8If0YL9%KZ4`SU>QLp}WTQPtdltV!*ca)YMkZHfUTx4CD*_WS0BEg_zF`T?agF`{ z85AxC9OLDR&HO*FM_eQ@n|T8cHxr~I>NfnhwCfn{ir>&>eV{>I+lwV9pNyLYu&sFk zxJ&u*KaE@a;73*4b+<>fCvUacPTSHEPe^j;0S}+ck*O^Ni2eW<|pF52dqMV%wa zvy`Q<=;S%SYP=S6#GfP5mDQ+^z7>J#|J6R!^R#&AGa_oVcc4gqCI@J0vm-DhELtsg z9x$0kSn{l z(SWwd;)HBPxo0aDFo8MZ_4I0oE@x%Fbu_y4L*$qC#5rg?v^OJ)CpS8slF?3YgCGwr z+L;x+y|F@`WlP#Uo3_|>;m_!D(M%MdGj^9FQ0@x^bK9+Zr4X_FY23{f4`@@Q^ycS% zUYvM#{uiThh%cR*OT^LDQ|&r+cxB~e8!cBkrhhykuXJHtg0G-p!;{#{ttH5O_o(^C zfoy7H?G1g{>zv)}g&E0WXWNoJBs zztX^8CH-O24xW*BddFQmb)|n2JnH#di{E$vmzrS zJUl$yzwY7b_5W4*PCH(I6iK}Lug1mP(Fp%jhcaI%$>-Ijb-t3as5d-GagtnB^}T0# zeel}(&tJY>zlXV_2lS1xALJ63Wn5|?!WF-E9o@Z`GIf;CMuhF5eUZmXCfpE4(Lgp1 z;U&_Z2%Y3Zeb(L`&>7M)rE=Z7MbS|8Qhg!3t-8v+uV}~s_@L9s%6i2och{F>x|5er z2vT~7H)Jn9^qG4P>sqGxAWIQD7SHU=cG;gBbPjn5jP@UcyXc% zlvcI9KHf;J8=YA?&PN8N3hEE}C4V1uA^A>r1bMFf7M<#jDA63aX5Zq7O1;Ta=Xf001BWNklZ`SUkU8Gm-Klf8KD@_TfRfareHOW@F00sk?qL<)UccEl z<%YXu>b+uI5f)q!!H@2TO|5IcU(o)z=CytJO`mTz!kdQp=CzIa_3N)KfExkvN*JjD zh#-@$F@Rq~2nOd3*z3Y8f*$U@9sDbTO8c@&@ShOn)fi>MZl85WF#X1b@mia|B7i)p z$D&n&TY9I)b)e7fgwc!tnCa=5*SFhyZ|hKCjPzd~C)50@52}twhF?!BzI&a9ug2*0 z$9wK=--LwBmtrP{L;vN8-i9Xm6D9YYMD|HpehYKFPEVO%MQ1g3nwO92=daR%>vx{} z*DE8`Zu%ntx7zS{27N}mqMzOrC`!p=Y5#Up^!nq~kv@A+zUmu&_B#4HFDa!#eIdpV zL{PO9Z+q2+SaPo{0+}2lz9EaZdr6UJtBQQ(5kUbZuNJBRZ9tO0(3$1R4BZ@(;t&3l z`?wP(mmGF|3WXQDb6;#s) z^+Mew1LqF@fwrOuC?a|^qylq&w>6JKe5?4}dzL&v3;yy6EMInb7Sg|@P? zq;m&6jH}WS8It#*zTy+E$#kgI;r*7e$it|w+El%en^hka5!ISdLzOy;CbW9n2YG^2 zS2euHsXB6jAHGr*xWRk0sxLPj>Z)hmEqmR*+rGMTs4r_=ZdO*VWRSdBo3~1X0vd#= z)mPrSkf~tpi@v7jTB1lqR?sLd2wBwpN>62d$=!0r+Y}Xn)N|!)uJezoBd8-~j7c8l zCASpAQtgf+A8z^v5u{0v5{DLKIIoS7{-_FaT|L(u@ZC-Nwk$JtvtiS+bXQHGNIgk2 zqWF`BxOmg%ZCRe;v5QPSEW&ar<+^<3wWEe2e@IpJOUmB8>LSir1c(vo_+j6@H~w}+4LGn7Mm!-{e|na9Z8Uf;Y*e^=$3 zXa4HHUi4~fjaY7_AmEo*eEqlAPw$#n_Nq}zbf7&Cn&*o8-169~v2zDwRUMEXsxqQS zTDmDqqqk+gP_&i4F$Hi7#1VF(h9Z^>0(s0Y8H?8t?MvtR;S2SPFQwUAIi^OcF44ZM z!9)4(^}maRH~nq+8Ml`Kak&>{62teNuf8or(@pUooCYY#FoqQ0+JO z6FP`k=cD!rDNECeIC7Og{~BY5<~Ni*^he!EFFgm|O*@{3py)|I<*GdQwY6}=GD7oL zb^hjM`UAPtSRjlrFjs_bB4&gM;11?rjh0?`6qEkkrIn(Iw+f`bFc5bGdx3v!ws5(h zSHP*I3c;nI_GKO_KR0`pw0T=rLQr}_6;+mLQy>14j(O!9Ily1iA08_oimzzGvsi=b z`fGib`Zw4A#x(p*b8+|jt?nV+k-mA|qYORein<`*i9~vBexZXR6qHi)`lG%oI9;1M(svV3wR5yiff8%pK3VVI{`pUO7gwmc2VX$|3*jqcQo4-m2 znHQNNQ5yMBhXFI*SA44iq-YO=j^6}297LV0Q&EPwi|cCYWD0oj?OK-W@>JnU=IFM~ zoBHydS4YjDYKJ}u$)&!GOZ8^sfzE=bc%ZXl^BWl}wY_$3)*4)QD@%F#p?b75&WD;F zm#MN$zPeZOr`KC`MXe-x7JsSx)V(l-_pSVcERw;>$KxHZCcoud`O;gA@;85ZgrI>} z`>9kD;&`$5yX?43g;x^$qp^q+aera_^QGmC=Ds}B9j8o9d$Z=Wmo-ahr~ zEC1TQ3D4i@o3|De&F@@)oriDhc*}>%d|sFHEGwa+cl{Or-)ZMJ-3zU5@BIftx4ZQD zFR}cJo_FZ4gu`Ku{uAYcOjGvz?Y!TWGk43c?_Y;KQF!2HKcX!4Z+OF-U$sW%n^!B- z)79mYh#S@&U(1KpswO~gxzRmfUg^JgVoA02`+2YS;kW*yKl^iv^=2cN&B1n3ZZz__ z9FJ$^HyVvXzQ8dGR4J~flPSw~2pFl=YS~PN^}pV3>UF74G!x6d*=T06S-L^;qh`CA zO=rF5v|6n~zPMP<1A)M3G{|PtA~dvZr_($>DPoPFu3cX>v)TM+wccr)M!iN1r~VL@!x+g7I+i^h3_Ef!0!-AN=<-m^NC<5K1U{az=TI9zY{ z8qsK+y^7V?=}{*m8smQ7?X{AL^iI9-YB1`C!_i1Mf>k@2O>(({G_&8gyNz@zLm8TP zI^9@2J(-MV(|Nz!b=|Px^RL$H@pu%D#F;{#J0A4n@?0VLWZL^DKm7gacn#6U(_thQ zw;gM>S#~;|WJ>76ly_QqW9YEXe?ow=6190N&SqRE7r75r2UX|pBeA_YFRW-XT$PGKy~dX;&BAds%nI9%teR)*v;$6LwP5R;Xpz{xx1Ly0f5blyrel6sK+~q(Ziu;4f*TwaIdZ!sOr1dWIQ6tqC}R-F)P?BE0n&5#!sjDjK>`<;M%rD>Z|Q+>7+!DJ zuy^PB%I}7Q!5~X}-tRf#DC-EqEk=WADk}-dG<`nk`JL!ywY|Qm*Iu6P_d!#)2c4l~ zYO9SI3WX+I9OS%q}^`3*Mq#MR9h`K>{O~0G&2K*I54)LU#@-m(M*s5k zMQbn}Yr9xJJDzskcmiP}oV%F$Z8zkG7E8!G-PsPE98V|f=_Ha!qpm@Q`FQBY5<<{dgc6^4R7h_$y#4sCL<}!@9%fo7uOeYcpw~%C!cFlTREmw(bdZn!pGJ$|qE@m#zYSCyS z9C27Z*X#?4!mzXIG}<5k^5>~&BAdy&0k__1rjuz1^4S-^tTyZ4`Sy1Ka+vu3xG(Zq z)}t;mIhz03ho3Oe_rCY&_ zv#Z*oF%Evw?(dzze%7(vl<7GAe%INJoM39b0V20X?OO5ZS*O>91yas9XlZXfDt_;S zhuhiJgJR0m0*mqdy3u;@@SbLE7Ry-C&R%n;yzh@X@mMNgMSu2-&wqJ(UK?*J-+0dmInH(zO(b^v74OBF4SLZe^4}oz zy5FwFvxUWMhPYdd`k{#MJfocSJMjE=BkJS0+sfoi!{I>cj0cf;TD@AwKkByKXv*(1 zr;|mqdOaGiy4@afn0ApZ?03t>YQJ4*y1ZtZkG`F1KFUhh*?DEr_xJmW<_j3M-wB$D zgjqZ}4u=CfZ95vZBH84|*p8-~Pd_@HEltfdGPz_TvQ3tYcEB=ivvGbJE*EFJEdyXJ zZ=#7oceq}zwb3XRwEnv%>F?jqjcc`HxpFbxd|2!L>z{quHN*DSut|W>>*#@qw)FWn zzTL35F=DhthMECAMA{V!|9?oYAy7@lF;?_j-y`sJ}5xsmThIF86lO52|+g7LlZU$h`t*O zeT2uzV>sFSWIf6@v4cLc#vz?=H{DB_1<8>e?hSHhFzimIb>vb&+aD*iAO249?R$}c zf4ko~D$&PJ(vGEFp0<+F_;qzO*;=Qg*~}lD%F@yzbD4zfk9U-XKX zr{|GybUK>O=F4`gl|mmw8}J$ZK_{KeZue{6lh^At6Nw}e(AevPb}tppKnD!iR=<-@ z?Z_%dd`(PDrH8um*!( zES3_J*Jt#)?RY$;M3FY=cam}RNg=ezf%ri_bO!CjO}W?qTa}f`KbwrAvE*_!$7H>{ zJco?K{vZ)g%$HNYVWBuJm&?gw!k*>lMa({5x6?vTo=&Ed$@HCf-+J`msb$$XZrZ(8 z0$Qn0PxV>zNg!&s*Gwj|N=4cahV5`Pf%kZ^Ms3?Yd+Ukp^SfQU-BfZ|>;;j@1tp*N zzD}bNi)SsHT~Yh#Pk!k)Y$p)jtoEZpCmKzgHV0xh-QMM!Z$1r2TxfWZ;i?blnYsKy zmuuEMIq$WP{J)X;4eH#KWnZ{0*RWGOIab4VP}iA(TD@A7Hu>n)YxcF`#~;7=w}0{f zAuW$e_vK)=w(E4omKl#msLG9YBNB?K`r2$U%V!JeOeUR9U0j{Rlb)FD3_4*q`uxRn z^w?VSI$*m^tfXB2`HPp`_Tc+J_`x^6`9ZBw4TZx${@K6%!S8+7XKeF@yqE?1ef>Zy z(Ld3d)7hNq_YKgH2EBXtPuA=0>C5vkKYtkxC$Q}3WWV2zL=sG*%;|XGx)IZ~h;o?B zMzLrDi)%0%>iXt?{Ga{@zloIEbz1dwI)}Pct2PFMVLHYB=zsqF>?c3|@wdP8!FRs@ zOgA>Q>pK1M#@J}QqG7Wpww`zWmWKRUZ`N;-O0-rmzCUo z^uqaM_W75eI%Z(8m<0mCYVCTz(SH8%&wucP@85fPlu06=_q^b;dR@JjuQ0ry|G)pP zP)NRc|5&%TD|6f4uZs_l&=Y93T5A*w(mueE7iJuLAqcwBAB4;Wzj1^)7VC6$}yx z=(}dUR?6oUHl$ap(5)yIwe$fV6B@E*T%(5+@?xuUy^cMS+w3*)MRcb`A%|vVvhn_rSyS?hvO4)+Jvfl5nTXj~A^itDKFD{OA#Zj&G z@yDNJ@0XuEdjq8f?Ylo7WYfZvrlp;qT^(mj(|Y?)fAnX?Cns;b`4&A`Oy>PjKNSw2 zz5Fs@?Zeq=%kzpWo7Kr`l@4S36j2uh;9H zVmkBLU;ZQ#i1?zhV!5<2$l_sE>z!kGW4YZ8hCljO|Dq6$Jb3r{G#WD0- zu4j|#+tp6PJ?#&_O|)dup?2*(ci(n`7HhMuY#G!R+N`sdiwF4zh9LHi`g|>A_5y{I$iC^7=?~C3Q_uB$R%92r zP_0&%eo{kYebq|k(pE4N1KBJ4n&j5rR_pb0sl3G<0ya{u=dxK20ifz%SFc%L0tuoQ z)oYnd#;*==SL;d#lf4gl1x<>|MWj<79FKdkm#I@Om4y1#xsi1=b-4G?=PLR(70?He zd&on1mdIYA?cK7pa&!H^!ZNcb^O!HNaQLZ#WwDP)48*op75mzw2{>x;Mjl?nw>S2C zwRtE@JK$#70=OTy)SImWSeAHn_O({6kh$S!seh2GGG9_w{L`#g@?}6&!)LNq%DK{f zr~TRopvUh^U4@1 zsodfE0AnW2bw=YKbUQo?vkb3jS3Q@Vo}IbdXoLeH5*G3mpj8Ed9*rVm@Nzu7|0tPC zumJ!T06H(1n?x#jjbO@UkyeIj)de7~sA=~#o6w(y!PpI)4f$LVC5*8&1r#o0T!F1K zr&5+kCPVQ_NkugoI28bf=%?^WvsoyVe1=J<)xAaWM#^<~tW4$#+QeunmyVX}rR%zl z8p5lxTuHfJyUyhDa{h)!@RFFzq0Q>26|}&d~{)Ro3+_ z-Ds3oUjryF2EA|wo@D68q}Pq+3iJ6&)2;gH#bs@T=iV{_$i_Z@L|*#5(=D`CpNsd_ zZ`#^+sv7{B^4agETVD_<5Q;@d!?qCw0NSTca-qO3Q!IcFpghgSeV)aJ#K30#ZZMI8 zhgX}8g{ZQ@$?aG?UOhWaiYD<|p%m^n%YYlRSj(&RVm{IXZX^<(&gZ_($_~X=t4$~x znhyJDYz&GYbf9n&dXlftHyd`7`OXou3C9ZS~>0-9*25rX)T-Pu1nLJKDJ81Pr{bDA!-Ygkrv)_5= z>6^0BeExd3SuV<&;<>E%bUX<4v{I=%&+3KI_P5WHR#8 z->SA&>*=?@|1CSf5Orilp@3|W(KMTlV#!pKdbl5g9oJt z65lricvWS>c)T)RF81}QW;mv02ZBJolW;oiGxhau-feZ}TX(VC(rrsy7Vn+dwh1IP z>$W3Gp~w9>ZME$}vDY6@+5^4QUs*1^agvF-+kK^y-fdQH(0%#kSHV0^O-Xxb%of{d zY|lFbedca9+Jz!kFsR#s<)pg{#RH+hj77Si?}JfE70tx&=0+sV%Y7Ex9pK<}q;9dvK|^h#VZ5>USBXo`DGUx&bLmdyE*&fYO!<;o+@$&(3yUUQi8;i zKC=hW)!kgpHJ~lf%3^OOaW5FQt?lOATxrRUJXTHqXQ6a6ZN5NhDC><@Q+(ITzS`?vUZ3(Q8n!H)m^@BJ=7BpI`U;Oq5zr{X?&4S!6l`5(oPoDE!K8DD7PqzDX z+I&sszb5~^KFGb^p2fXN&y+m^MnR9oc&5zWOFJjW<%#q?EdT%@07*naRC=xdlMjD3 znT(%2e1qkV`Z8ZlW8nxwHSC6*Ee6M*T${^(k0mC z^7{Pv=>FO1S?ghd+Ghop;YK&yFe&tM#kdd{`)FkB-o><)C4!)h@_* z4|^HyuC!YlZF*HS3dNAzL2W}+pVY6LE!*PfS&yPlZ90u$t z7@XaH`|;z4M@JHQHjw z3HcAY`eC1io`4#+*UQBN9nkadmMhqgnnvF)F0K>N4E{=}*l1Q=+XX#jGs7@0WlAWD zFwbVU`Oa^DfO7&Y9=#$HO@%`t=IE2pKYN;k;HXu*>tU}_DH=#jK$d2!tn5%IC*{(i z57>;Al4oNQAk{9H4(p3@g*rlJfPU&{ka@OcE@z8GGEuMA*92267Rd)EgV{9T*rQf2 zUoO%C{4^b@U&a|=`Qe$?QK{_L#SX1EuvMX_*tP%!!dI+tp%tJ{iRt1xJXT^YAQVh& zpJu*X;5uJ)2xJjHWcTp(TCEIp26o(P!)EJV={RWkY~Oa!Z0r88Z)?nFgs2K;pxzqT3!_jv_J!Sg7m&9o^wIQst68Efb0jt+bf{lk zef+aulph?u@y`2@4I97H?G$qGo{r?GcN)i)if>Ih^!$roKD_q;uOLon_`i@$z4+pn z@o3121dj75)Am8oi+cSi4^89&wQjGNNy=3C^y_Z7d|dK5ju8yhJ6&)F>ag218|_3S zGU*P-{ZTlPC?6lQ4eo8L)^6w01$*b;4u=2Fzx)@4K=A$Ve}K8x8ugE}0%W6Sb|%vj zyy{qf*KW4^ zfh0O1Kt3bLW=)q?>lvHWYO}=_CSb+yM6e`@IG|22n#LwF9D6$M2kaONZR_)`aD=l% zTP7}bT-xDyZoLAET<_L1zXOQvjz?pj-~_R!)~01i;ERdP6y&9RlTnxJNIfQUIUj{w zadPW^6F@wf%#4Tq&0<126Y!s4B*ebl>a^l$u)@!K_LpQlW%~R9%QqNwjq%jC-(uGU zVo`^MkJ%B4Pd0=wB#McADi|7KHyHsd=mrvzYPYr9;HDj+R^T+P6ptd&C}Lzd=>s$i zXXrZf5y1(^ai#5E?Uh+FB&`;BH)ioz4y+*P2C;o2p=dUnv#r4871H#=wu9Mh@#?yY zdLmW?eAuX0O0s_W5J2he3twYd5r2#Lhw%$#vF| zSQWK~fX+~g*e|IsW5hlsShKea6 z7>4^inGbKX^&{&_H~nn1nw9d6+-o)2YiJOg*8|XLlh1Ac@0O`{d;P!8a^-e!72Yeu zvx<|c@EANwg*>LqgWJ! zhy;nPmRTyoC;V)hO{-WUYFf;TPR9f*)3k8N8DC!e^EvE9^rCgUMT11n;lS9mTW@Ed zs^N+mazCWKoXB6s@Bh<(iZ`2$naiHnLP|P}ixQcqDmWLxlGI@&Xf%yxt5__cF%S$m z=mV-sq!k~o15(5BfL|zlDvB1i2V8CuO@Ms|5;_?4xmN^%uCYny^BKx)()D_?R0N4I zR;z8dKL9pW8yFjHTcT*u8v%klZ2(i6Cn#Vz>1?C!657a@d5M!zVUFLou8E}$6}~U`IItfGR!?3_5iYRHZXbt zmBb_DV^=*rJ1rK(P+{Q#*rn2Va)fZLW}Rq9VOvcnvI(G*0zX{O=8Bg@YtCkos9RJH z65+{Kon7isr-iemz=NcItHyS9bDgsAGb5|jh_cTyjUc!4`RMWECxv|a=%}#W&r3Z*mf1DIyJ3Lu*$sUh}f^Wr>REOYXJ@@h0lmyV!6Ow+o) z;5r5^LC~FQEuJgks@kr#>iKzhurz%ZYKf^4EE;j_z+^xOu(8?OXf5+O7O##X#4&-@ zY#cDxL>0gJ?7_qPCEMB&T^l4od%k^s`f@nm)W(Bdz*_B=v2<=hSaiTq-up1Gg(m)N zF&|qIIc+eWO?RvL-W0SH-l$()2IF{8ScCec-vfYVzEqir=``z+O0DW;IFTZV7$Bot ztc?B>PJEXG$R9N^GP5Wra}Ik%_a^Zmcp#sd@%uZ7WqlExRk@g@ep#2 zCquS#qLrZ)F+PA5wq-3=g!l}J6b5udCd_%3<*;ITVIW|)ZG#So){H_%o46ovzgpYtE>&@#@u4GyO-x}_Nr|&qT~wVQ9qRP$Wk;@ zamY2FJiQ-^h6$xNH`Ccjz(z0hP#UW1fC~+lQr9JRO6`}p>txW5E40ISKh%hL^lJ5g0QfU>^76F zMgXp~3c{(tXekOPc@qiiT^A1Kzx{Nh*@kK0-vxB$RK$9-U^iY&M}b&+Fj!CL8+|dd zqKSCY_51gWUN0C+_;z~4jr6Z;K>)JNzIEB)XvW454->|=TVVJ-c^JfHwOW4h$@5$~ za^mjFQD-q;PV6XtEY5RqB4HDa2O{odv)D}9ZlPpY#%wur&CSvZY;nM$mMljE72|*m zgi)3k8{HwU%%|HpUu)e3hbqo7D?4q&i4k*&o-|+df}tq45jE`WCrA1G+YbuGbjb3} z!qM1rJtydCP2?~15zv`E4{%w4c;vrCHw%Ev$e_t&Z-gMBP*I}7T{Z3Oa-%)b*_(|U zcGpB?iws}-Q?ZRPF~a7fq8sw9hpj<56CaKHKEwL>VeaH?!qB zpG__oBq(sNs$+VjiP#&Q#y zPFHLJ%p?7QW#AbFn!8+-J`=U=hi-5g@n=(A=wl(9^!;q_B)2+|Vtx!eFhjHiQ=+DE z+64{&#trEp|JhvPjg!RvQmB&Gzx~ZO9v(;Ee4H(3?0@uo-#98JGMVsr)G1erwxrbX zH?AAGTzR+F#^cFnpMJ7l?TPgmk0zpHWD9so*gm=kCyiKyMBNf$%0*U8qf^7lr$nhi za6p=fW`r8frvW-rS_jv%wayT|C2MR5%UXT)@&)_J*?H&XIiT}twY6FL%r>|-4zXZy zu{DU7Vh`Q=!dv!Al6tNByRGdIR61#-+{yiNu98b6Vo}s)z-3O}2&monbUz)r2MCT? z%dkR`2wn?LpNuC{wkLoO710c3(K*{H+FIz`?YB}1PYzISQx@VADJFHe{g=m1~fjISNjiA{o8JhA0Ri@5OQ4O9aq$sa%m(UdeO$;~?7^%&Y5n z%eQp|=)A2XQdlRVO`^jnNSUas!+xO?r3>IiuC-tM{PUmv?C1AR9^tfu-$vseSdL|* zp&K|sLvBRc;re6%$P2B40jJ$<70?OQr`2s`)4B0vLZn5N6NIJXe!u_4=U?KCeE*$q z{@@3{OK@~=*cE!}#xKA8G!(Tz_||)Lh7ZwpI8a5Z-i`~6%BQ_}c}6sSG!aEtfBEtZ zjRmlXUi5lIh$BNJZ|Qb}3*4ejR8YVjFG`&r;pBiPImQ=HgrQqLpTnLajGt&Y_>;so zob0){JjZE1napxnTmEH6oX6<--hO%*m!dg=CR~<&zM`R5mPxv~E_5a`RMA%_f~oUv`PeOYPB~ZL`|y6iZ6aC)$n(U!rRf^F*-L04@*uzZVUyNK1quk;_C2 zinUjzEKX3k)kiR7rCh-K#d2s}T>9u%B)CK;X?2pNBXTma#dqXXB>*%LH`t!_l8V|> zV-#Lu?)V{sjHpQn!u4tmoyVI~iA>B(9hq!+FGmz1vKD)}-bizLOm6UX>WvhAM(4p6 z7SN#-4oLPP0f|bb`EU~S?af8cx0(5RjsNxs-)5h!v&z#VVAND;_59mnG`_K=T?=)y0ew8{V_TzSwWJay^yO$#9Nii~uP&+Nk%lPo7mf z(6%JuQF1CpbW1uZGz7R$=ZDqir$75e`d;bHx8K!GvF{okz_l``KZ&HPwdx@&EK107 zQ^$tdYG|Q}M1oV=8C-+4D`Imk*F3q0{W2v`;JRKfr9Di*cirh0GAYt{;j69>2IZrI z&heIjQ*EHvv8M>v*Q!Fp&3O977hf7q@X>qk>^K`}8rK5)6n&GWF`E4QfAgba(0%-k zXM0PlcG^coowJ|#w8m(Bbg%5UEx%*eTfJN%%O-{9UaR+tfO-VY>;4AEB2LeL^rL@W zJ}On)Z8w&ht+d%{Kb_8fRs{4A_E@jQ!H*V*GKyb+>kpu@Z7{00OC6jWbyI-psm}^6 z#xv}u@q7?UW_KJj*R}a>q7&b1`lsW0&@s1L9Df!!EGK;cWfVd-+<45L&Ng_C<&d$Q zR^;Tl1C9ZB%?TCwM*t%ZFu8G2OLc->Mgf=8t_z|TE?$22{yT3G;7pxPua(aiQ7&OV zbS)M&7zkR@aNG-WY<)bE1HO)xIN4fp2Npf$DXA zKARhskJD+fc+?GtX+IGaZzW9JA9X3SU}w|WaldkHel}a4pI=^FUB3VBHw0|;Yt<@PL=MK2b@6paIwKzr5y2u(6ljZ_`IR#A z>SizVWDZ~@ejM!3^NS0FCzchv!qxS4r3`K(ABk*5)=^SzdXdiTxfd6g0MM*D%(}C4 zg7%7Fca#NmE&)1IU80^TuS?Leb1?PiK?as%N+Yo$x@jZPX=-$GM`grfZc4S z(gy+=Z^xqgPaQu0aA^Lu^aq*<)jT?|N1*-4-c&1tyDA)#DCS~ba3|qUq4~k)CDOUX zb@h=l*cv+CX4CF>O5k!h&NrLZpi|6%NwNmHSLEtV{d!5-5ss)ftF*(>cH4DNPtT6a zM@*Nji)Ld2f@f&{LblbpHjm1zYCCA6L!0HYaHp=XYIW1w*N{>5x~cX=CYz{d!pHQ@ zmY|-&*`>vG7N_5sSF290uqHzWfv^{s?DWq@k7!;6k$jTpqU?WJy@eeuAQ5q4|j zFcHTb$HOXMQwI=|1NscX3^6kAcSLt1c{z&Q%e1}G-OVkX< z3`Hd%;zQDOVAx0`^$^g36$|d%X*W>v1ab3QfGkA5&_3r&Yt`#;gkx@701Ki*qH+|P zx!}ZHha-?epZ%Wk#^VY4;D&$e;fkf?{UnCNFFeHFBydQ}~jyxye6c_`^BxUyf9m*&m zJ3Akw#v4N#2fB%T5vPJ2dxsJd8J)$uq6=6i^DgN)_UQ4~)hmE_#tU*U;IE48Mhm{a z<{-=whzT2GwR%-49|J(65&+_R#tD7v_u9~3_7RB?0qhnf4?~Ok$H(_jtRZfl;lSS)QKblTK8C~7StojIOBD?CfCixSBn ztv0~4TxT*=ABgUU%ZR?YB6@wj1~4^=m_E7pfKz@)h5T+cdF#=$h+`#Uq3YEO%uyiV z1uo`#9pjB?J7DJtDN`iX2AwmTrxzO?sHoei_xxZfc8USAM;d?y{tyTkn{m|jkNY!% zrdQbOTsK4P7I>-!bhe|qWo(RfHWx^olv9}~kjb>)3UcH@$VOE1h)fbR$dVznK8XSZ z`;+#eS&z!;0SyQE2*V(!Qs3A_3SSnE?=4rDH@;D;6{F6UklSthvNjlR#>3fqx!q2Q z$PO>(E5U#F3*B&8n5;)4omUu@rXQrt@hw5m-*|HW$>ZZh)J8rKV(nYuFgPE~*R9ET zOlZhiGn!@ankNj%Bl}4bj(bt5%<{?NN`2q~cIgX}S@3fL>BmJlt z%lHFfW7cnKW^_TQpA}q82cT4PVA=Fx__-nnOh!Zmr5lPsH_#CR5;=wjBhd+hQ$i{# z8K`)+@KSBSKOE5=2UMyJ)&i{&-ApO~*d9RHAcRmChZ%_RcBA33Bv75Wc|d2ZFW}SZ zY)W_?gJPJt2X26DveqmyBSEOa85vuG)D1RSM5g1}D34s)bJly-s5hTJdg|v1zFn=! zkyts}LpzO*oM<7y6VR~HYU7|H-~g6u4SFY~qev`Do3(bs76^MBOJ{HM081RH(pz+{Ac)7|bkn63HW3(JKp!j(TpR1fay@Ow zQWYF6ShurLClo6P^4{u?hvWHLf}Bq7vl(-0hok+>7|K@l_&ARee0o~%_lA!jK4GJU z3jod4o+6#|KxgUYoiY-ugM&7ab(~-9*CnPY~1_R2YUN@f3B1-X3;QQ$g$(=Le zLxim155r5`uI*O3kF*s$neq+L4AJ-VJD~H7R5>zQ#NckG8v%+a{rY}EDi0!#`B_ef zIESXh9#8l4Zf8e=2FD)?`iW4Eq;doq6KFH;v;yh;WR3xF6_~GPE5p|Ph>j>BxTamL zH{j$?e)>@%pM8)^-%kW=;D+PlYO_0E8@tg!i*h1ix6$|JYHlV|``sFE4QEZ)j%$)c z#=o~#eJ9Kx>qJODN}6xIaleobFDEmQTPvLR*}=hppj1M6oxyna{Or8hu5bOM(b!|G zZWiNcBrQoOcDwbGNTqv)eD3(D91Ho7`SD1Y_+H<-4_KpXBV+!rV`ur5HQ>b7_&)lJ6oURj>m&pC>A=u?r&Ft zmoJFKYQS*WZ1m)~)E~B;pj*s?c>0J@y{eMYD7;z=kTe+f6LFVpTeg1#2>akf9MZtT zU%qVl&ER}v4X5Z5vrZ3Sw|?XRjkO>912Ge4 z)p}v9aMZc>ew_*0QG1T#rSW1KYM;uEB zo#)tKHJiyXa|AU%|MI18A83Lf*Xx((=R|IrhDidV;dnr#Cps$IH>aimK(WkONxdHW z6%HiH-N~s4j#smPLGpH&2x9hYPD<%*0tnKX9eSGX=R|^G<6@tmJ+FWM<%|AscV6$m zyy{hZosE&&BFxE7uwC?*0W%bvOjkH3)*Fyh-)K77FWVtI8h5l(+&<3w3fXuj8A^o6 z@-#u`l+Da<;vPV!V&6bAp&KBd9mfJ%#rih=v6nAjk`ReRHxiLb?=?=>wK-A8+To*s zW{KLS&k_wSKqN(gUDCcuna|&*oRoW!IoH+8=U=@XPsV7!NC?w(*yvG>#?uk;bXX>Q z*n@DCvZt`?5)sCU!?)jgm$NcLL)DJ-htqYcjBpXzbvOk`pIhiH#2y4(=kogW*;{W$ zBLRe+I;yOIGxijKPLatdzC=3$I*U={So-ImUyMfN(*v^&qKgtJFqw@v>qWhG@$}iV zOg4<@C4l4jxB@?N%de5=^z3k5j9!NPs*VCc)n33Fe081Wa4^)>y{arnn5lz)3k#$2 zpP#n>0<)fjSvA~P7D(=IQ0uXJ%F03Pw@Y&H(MVd_I5 zf^Q<|^Gn>oZ>q?2Y&Us5I7hANC%UKMvuMXMU7V35ibJ_z{c6ZGAAvpsf(vbL0C5WN zutzuP<$<0DW0>pIm#NTjBv6(kz1*Ved*wYxcL8A+oGn;vImn+)6;>*n?ZxFO$-Jn~ zNiR~A1g$`u^Rkr!uZPX1G8{8<-B7Jo&Bl`m@YQItcm26oSmUI)f8QF8N=E{Yz$!H& z?}~Y08J>HSb_3p1*AHur>!ihy{tF;ZFcUT=Gz^e#rI5v8!-*4{6N>p{YBu7y;>1{O z5}5))mjr6`2$}&<-ft}&W{gpt0A`eoQGgruk+MW~3w;E1CL)XnXr$Uu^pVRtbO3aw zp9onTGifOc<=S3Zj;ZeZ*t7YPLwYyAtQ}H1;0lNbL!GNL(j5)1PQUxsW7pc}lW~bW z^^y9FXCVV=2!{=)0i=v(Bx4kNT)t4{Lom(XS6S#OA4PM(eKi;LRtZ~PJpb5ejY2ww zpa5{ZCJjp}+3%86V!a941yTpd2D2kAiGaCS=DP4wIa}DxSAX%NKRtf@;LYFuhHgp} ze?vuL(js$>1H-ifr>8Fo^Qw31#ZZitI2gzz0V`*6Sb~FLGgHnVom95-5$9~{1Z)xV z!>Ki}i%zeQO-XV+)8Fh5%O_<$$ZAddtaAp{;3y@uF_eigSH4Erat#{!c z78KiT^`aIHg#OjP{3AjHrW<{&+siF#8t!3qJdVw|K*#INT(=^)z{c|h*;KS(Y>ot% zj8b@<9L;jp06=RT!$dtBn&qFaM!FkYASuvMb^=CAG_>d+BwKKOdjRN3z^{>-L(adi z*!wovm)H&x9k!X7q#R_QU6b`|5#8q^tpETZ07*naR16VtBX;p}F>(S?mKwep(r&n+ zB!J0kHCs%&m_Yb=2$sP%A?+0a7PoWa9LE?;NRGkDY>-JL$-LD(JzwuON67@r6F+mm z(e96yEB#UaguMv|1O22wquo4_FO24Ma{iDZq?jSn*5;J!Y%z*QlFC&M=uFx@4}kV@ zJi)eHw4=prIi3wt@jSs&47c5>W|ESg0`60RgL#Rv-23`Oc-4C^&z=+7i0&kEgVQ&D z^RRvoJgnC8*H?zONs-~n5E${cj6CuBDY}POCURMUYuH@M=_P`OH7IgGtwBkX%SlAm z6#S-~td!Y11l%kEAd2;meZ;AE7#{3PqNfSG6A>cy%VmNEDf8UgQKceT97sz-h69oL zd{j^oa*XS;_C+32f<3OTujQnXU^0h3%d>9AqDZUiD_N@K#@9^qucZ&n9T)<@J?WbS zbjImkl~gApwS~3?=`N8!5Lx<6sw*!A2Tto|L#1H>=^>)|kfwvCWRD9E|R3iTs+mh*90^pVM=(Rvh!>hVoE|cB| zJz?3X`-=sDR_=tcjuvuqbcOwZIuHxwLWo!cqyTt8 zhrg4JADKmJ4h#>XLJ$Pt3ncecgV)L9LsXi@X>uYa0G%ZljC|AXbaMdHG_=J_FNn7~_6F=#ef%?nO~RS;q)L zJ7H*7S68+ZWFUC|hJ!viov~9`sl=X8U!F?j@<7se04b@{$D2&9h`NzT2G7pU3*`#N zKbti9nu%_PZhUGr0cz<0H`MCaL^^Yk!Sou9WF+ASZ=bKO&M#826c`o}pj|+A75M@% z0iX2yLAb~qG~+{E+w<<+I*gytYt)A`jk*W(lbH_y+{5a@&; z@x#3#H{S0KxK7@{fJ3zAWTdVK!k9M_|B3;bA_w<&zg%xx&@Wuk|IfdGaIz%<-I za42b8pdrbQF}wkYF>=^60pd|2IRwk%f!~OR<~Y1iP}(87N-4pV8&y(yK~-ZsKrrV1!SWxl2;l4n)NRCO8KB%N*w{kWFBeLD>J{126?XGe{q)3&kWJ` z%EeEA?mxI6Ax~~9zSUN5zV%Kd8Ht5M(?)AGnlA>U?Rd5xuvumt?1GIxZ+HB5v|DZ0 z&uiPs(6r(l`&-VJmTw723N|2n!)}IxVg`dNf}2*Oczu( zKfYf$<`n;a(yEa;y5EnewFyTL z;4wL-f%8V2_IgA{6CSPuL3Vocty!-&O*AaL%v%5{K&AjmMs*`BGC}&eAo`C<=WtuV zH`ms?NB2sP9#&ju_u%0Jq3q5${o<_Cn)Q~;CIP7CE>)@!vdgVQfbuv=mMt)d*?0&B z91MkUq!acWAlflVPPFM_GD_x(SaE=BlU^@`qev|<1wc!g5BU+CSRAba3Ei$X%s_HI z)2~kJ+Ini*a=eZiUM+i8ko=oEQIj0`wNlZ-NhlO0+upg_OHQRfF+YJf~%%A zosNP5SJ9JjX&=!{z%x9K#b*=txZSa$q1I~YV}++uag;5xU6Z>8e-h~(h(HwSZ0J{Y z)*2}zm~CHo)VKX+zzqTbky7^Qy@#k0{lO5xO&zCViAbuPZ@vFpMhLvy>TgD2ku#%Y zD#(d?8o7hXoX0K2r@GI*c^@L1PBSdiTHkbep;y< zA?P@Etw0bJm4mYo06LNHw)-U3Oyok96C&y46=Xzj0rzj zzzytu(?K`NKE>|1*Ji^WQLbu>CIv@7PP&-cLL`5;<+sA{B&NV@)TK-hh&us@B&RbD zBGF|@vmk&eRtn&yih7p44~v`VUGm6_wj$Scm+u)F9;M|*5I{0S?Y0Xyks{&FcBPFw zm=vIa8pk?F&+Nvc;3fnTu4hv_Qy`sAdoY?cn|mu_b6SERnB_ty7PbZ@#p?% zvKR^E!p5XCEE6K-lAXeS@!6MFGGpp<3Ba8%)}*q*Te9EiqpmL;e=qe6m6 zBD((3r}%_Oj6-rA-it8lwAa;IZ?8MrYNqL7j0BWjQjz#9j^c_C)YjuYd1aK2L9Q>; zjrlEjd+XY3@|i?~zCzN8`}&W|xp$6|@13L*&iuWn58r?D=*@?PuQ-v+Rf$xB+`z1b}=~4L}agex;S*J0KUa%v;l=>yEeS(1Adi!WF?1e&w=U=_R zHHhIYYh3hC0Nf_}n9x~3XCj>?m_WuQ5ya@0q7*7HTHcAmk3<#&K>xMNBms&_&R^W7 zfX?Tf3MXj;$nIo5BFP)G$caWy{-H4dG%V&z^5fV<$!&M2eAC%@FgN3X-6ReHPF0s?@l&s}*g zz@KM05t-{5z#^iM?L-3|fIk83Zptbe%iAL~G2|pjf}!YF)$4MhB3|Uq^hbaEXS=nZ ztprq9Qn;X3TLuBSlW9L0O`<>GSQt%*u}}*o8!5QRH3PnO3 zG63X~dC_;A9L4zxF2vTsTo>|{et*Prt5&ZHh5Vz(h0S*DrO5O6lX>L1-aHCDZ~AtJ zo;vxRxqg@zF+LA-hmp+tMcAh_f(;9~3RQr7Tb;U(Y(^+x_;*bXlP%H1 z(LUK#nK`b;a3DBvYMYHVn67{S) zL1eLjo~l0z3_bKm)mH#Cz)Jl}fwnjR3}_zYIM;lZjz;UJ=K-I;kjj{HinI|$08!<+(GBWnSYh1eoJ1+B1BhlGtUuZ7P z5OppmgP}7&3S2(Wp#~r&5zz9f0hs=Ml^L0ui&qifq+5Z`!hJ7aTpSllylwu%AAA%NMX2`xQ1|zJT+dEmBf#aDsL?{mVc3^Tbj94NlSN^6nG(Dv9%q zoS}Y`69&XklfbQ1DR;+xoC;tC__lxi(+}Ui_Ym#8TEEB?6UUXTzTqt?dcEB$Wq6^H z2#Z>$OKP}18K*3>(I1paR{}5jeFxB4NGMV81^S7wy1M@A^RK@1Tfc3`BIwN5jrs#p zWMGPoCjZy}`G2Gx``NR{oLRmeG%ExmIHn(mT)T60T;WAGu&B&M5m}0O)>R}m$Insp z3E1jp6WL$<;^QyBx*DwgYcqk9c*z;4+017|iEaR%CAeg<3yv4t>6(L^&Muf-LI=~q zC|ujIm0=O%v)Qeu*jd5oL|&UQUSfxlqhI6oTC=q;04~pqp-91Dhp}-aU@kz+_?{eD z3?1Bg#DPO4A2iDV z3aR9=aoFzwyilQS(+P)&Y2ZCKIO=#I7K((~tT#@QDFUB0T<+@?`8P%zJsBrqmr)8O zW7!O-!$tEt9!|td`3sV>bekuo`w*Ov!L7b=gJD8zkWqcolY+x2+q^sA9SIo%L|~fE zuuUrf&7^xJDm-8k{ItWC8PA59L;-!i)9!M@I}u6o{s4{|eDc{xj~_iI-6(n*?k-Zf zaxZ2JGQ?ZIil4upGB(9;>H}*8<4(X|>8HpvS?^wb391vDh!Yan3w*3QL~J5yhr30F2mp=N#dYKr@`UykrbpDX!Zwwhp&j)w+Q}CR1VG5M)V?65tt!8A z!bv-als;k~-RuSb5NP`kt`BPNkp2)6+LlPA%XAS?rEpZvJMgE-@SD9=fym0~OMMTR zhWfGxA=_oXK%rE9iF%gn?9t#_w5i$wm}ZfpKhTcwlI&l!BfvL!rfR1lrvyyn-+%r~ zUVP+#`e<(XCY#OVx=K!GoM&yp^PMfKXuk|`dSW7zYlgCHsH6iX;+Rw$!vErFAzHS?JKnI*udlB$ zTCg?w0ccLk3!0?UC|(=`0l`EsC$&Y47xV#k7zUsuAR`4n3M?S%86LoR@Qy%YY)d2v z5zvqy`%S>>c#0@sl28Ifs+WvmVFEN0VV%Q`A9O>cXh?XGn3_JsXd(X^X&G#e{SGU~ z#}EP8+G+Ps9y}mM2A1fNCt5&fp#-2jpb5c{oJ=H&B$vrCqs%2QR|)fyC3!29&I=N~ z9CHwhxd5nw{(Q*SMzl4;6h(&!?s%LR{_v5qI;KZ6+jfT+DkkYXI4qI8p^yh6uK-?& zs-O|>CU-W_6}$d?x$JhEP9OqEfz^fK7Yvg>bV-2Q)y0JqiuQXzPZJ`W$QQxetH9Mr z(~(GL(JcRe>fY;FlI%$HORY0fYjt(qQmq>r7+`J5<=~zB2dwS$a`^}GjmD>4iXmZ3 zu3deUG&rjZ4UBHmTU9-U$HoFXn%8Ja4IB||2_s>87 ze7V|GYPDRJ#yeX;YS`;B#bkspPRVKnok~J@3x={@ES0F#p;CrGj+OMNIf>5-U@f1uDFFH|m=Sh!a_?N;HBMCL2pd|-cktOeuv_LB$H>JL zibzHQ6i{}n#co-qERZHd7hJs~0vU6$vTSBs3$hkISU*naA~1|a1lPWrc47fKu6f^m z=PaG{!)C%k1TcN}#dD(%9^<@d)K->d7F{+Uigq?b?*c$imva*S?PevK&f^X6Oee;W z=8dqW0HBvsgJx^YD?)3%+Y0W3d6C-a1yy2+H7l&=2n~yntys@-jAF&{a5iX;rh}f# zCDH`EHp>xm3ThmPi*z?$Ofi_qdR97sJB?D&_N58Vl+xP;UNf!MU=<~^(Ns!{hJjBh z@giTtXyNVn-9DgJSaZwS)Z_M32O-}NchMs?#oz)klF()5Mi_LOs^Q6bu>x+9><9!k zHRikJa>f9P+lyIS&S+9ZPKQTBDSZGYHHk4kyF}9&U4A~ep#BZ+7*C6R3;Kc2gM;T{ z`T-V5k__i;yBkjpuymi-53q7^{p!*AIr7R}L&u=O&Rw8e6KzK{n`BJLrlNBPs~vE2 zwp^T_oqPSkXe@@$mn#;LT7|?}tJfYsen{D4w~VA%```e!rq1uqR*M7Ctdw}%(!bU?N8%vj!3ufw88Ec%RXwbnrHAoEU_6H*u~5cD)*0w$ue7w{6Rtjox>E_-!YmBi0>_eNjX20 z*Vi?=$U5D2X~ZffhvsGgOm|5{wWsWvLBfEhG+yPZkT&WhB8hgt>qZJm??zG-Zc1Wl zHPt;D3i4u4CPOs+voLyi;$zs6NwnZ+(f1IyNdTwLt%!@1va(-F!B7ZPYiIu8!?AkxPd|q3vpe_OvgOqEeilp;x(G zAS_R}RkC5DKBcfkDfI7K!NrT?G;c$0TRafVWMXayRSvUPU%o6oIQjNRPrvo#&@~x0 z^kLXzkJ=XW^f^5&OuG%5mLB;n|LvcC@7w3uJGQl=!_PjtaQISCj^Xrdm&k_DxYaV7Y}vbS>yt_YIp|TVc?$y?XqhN*Vhmsr z(pioayVqm+_``1@5m*H4CFSA{`P@KNTe~@;O{28sLCjz?eZ}TekA~F9c(l>{?z5xxj7rhIPy_$uhu;c?y&xl#*&>q;pucUg;R}t@ z$*9L2YBq2m78>cs&60kD2oZhv8&7;LyD=L7`m+nKC)OWrkY_e9$s4WJn)HX`)q)l3 z#>{bP_AM1EvNkBG0m4xhLd5(!2yy{kq4zjTHAf&oySj3 zvhO}9Bty=B{wLpgaGE_VMjSii{NxZyyW44@iIC_uTWo-vR~I)x$#DPa8+mzo?IUTo zG@T-KVq_BZW^gk1hRBqWm=Oa3A)qH(%<>nNWRhd1803RC)f)tm{0lN@0`{SUA^R*& z^C4~{O-<=Xy4>24PxZ zUf;gX=ZeQihv9IzPXoF{?&hXWTLjVW4m2tlqG#g`((*AwJP)mJ_MugY(>SL#3c3|KyVK z-y~iDtdy4k!P)$34V%nXzHN{Y$HykT1)qgE4$lf8@8;&!5x7Mu1CxS;y)dKI3$7xc z-5<;Q_u!^FXAg98{u^Lg8NZ{O5mH zxoRO74j)1qy=sv$?SlOt$~FL<4Z~oMrqM3Vd6yJbc*8rE|;mf={%2?W-&B`jg^8qTZy$TlPu}N=A{i2Z>KI zSizv@gAd+QU%4ME8I$#DdsDv6BdKSxj)n%Y4E7t%)uYoqznjb6m1e&+wsLI(;;R=h z-|vj`*UwtO<@yfogh^@!a^+ zr;pj-hdNBjg!q1(->jPh{q*>NbVrsSE~CW_QFd<$Nkc+-Mx_f7I1Sv{z!-j z;I3Y3eC}dNb$n-6{~*Ug4%?3{rQ&iuYRqYR)~2Z-5g_d`s#L$F)1>zq&rd%6?bG)@ z^1{h**lSd4VcS_zQnoL8-@EDJFaG0CgYoc(-}nX%25?WX`Nd40MarKVAp_l;^zqU0 zA@d}iPD+*=QeCSV+#>chrFls_7dtzla$=6BQbTth&1FU0!4m*#q9y|8fZGh zCc*FRP_2Vk#K@^J%)&f?LH3Kk`Q+X6$3c852RKIa_~3}#q_sc(vw!#RQTPAWpL`Fe zzi#w%={Wu{cujNA&(TO3g+Z^YE;`pT{(Nae*xxya1;oxN@*SD{a&G>+fB(O>^s$yd zpW6fM)jI4FOJL{M=y)-l8s7Br7`~F5J`{d;{=^1}I2yH~9FjhAhGWi1T)gq*feX%! zFKDL_DVlOFimL>Tr5fwhT3hhwv#%s%4xP82Q@^Obzm_k6M1sexTy2h1UeM{Fg6(~iJL~# z^0wvqi!c3N|9m;8`ee4yLt6OL&pw6OgBo~&b*khD1i(dNLcQJwfB#61#jXma>yE9= zkgyjhsSvJNoLRKc+~aSjvU z?pTNn`8o#!dEO0mu34+o1Cw$r!!? z^#4e%2Ua-!uPEddR=Z%TOm0}rLf&Nn*O`gkA7VP-z|F!>%AOER184Ar+84@-Xc`4AD4UEKzT_&+O z8ImojsmVt`%UHl%h=jugw3PqjG?YpQoDRc6r?g+#Tk=xbb(zo#`0Hob)Op!pkHVBm zFP95oe;UG^93J4I!nExVb@ZUwT{x@J>fnrGjKF22`AkOiq}H1?8v_ix5Pr$N1}>^6fRCGsFp-X^vqK zqm!~)aY52_3keSKL@el_;eY~x0oLQE()xyrk?ZNxA)OKxLBF_n0m1otnAd<)(zTpX zgv=-`X)XragbWBx4tXy8p_C7B1iXRg3tJri519()Rj<uF{oG5ZEwUKgm5hnf%f_?h zesSGlG_wU!>ECQsheLxHDH@CP1$5?oIcG1mAtNGE9xc&^mbHJU@2qTsNPH-%4PnrW z>;?c6pOkZ&Nu>wPU)5&|gj`II9u07^B_;!zA{=+Lr#s37ofu-VbR>042bY`J}(x!V-Y}3NU2YoZ-=!k};QM1GNjjs1rQL1xLj0sa#Vsv%45B{x*iNyqnY`#Tv_a9`9rjK18iq7Jwq@w zmkaF17+@}&r(Bc?G3YdW67cVw9+%PY24e{#4GbU654~YQ*?0l~&B5rtoSEzI`DqqP z#h$}H>bErlx#?=q)Y~_=4m*_xR3TW+)yV0lWR*}3xNPE&CF5Ctwh-FQIw;))XhEZ|c6{Zh71`2z~SlyY+dQ((26 zBZR^iqDq0N7lrdmzT3iQ{oVkev(mL6!*16}l!0IXCYQ$%r0rNF904>> z!j?s$&1R7fxi}E~7-cwA1F+Vx0~UL^R(W`QYSVDOZGh3Gg999QXx5U9Os4G~d+Q2q zy6aMbMr}TFA;x@q{^)_MK;>}YplsHnaddI`CJJJAFLNuG}^75726L|FA8T(=j4Nx2)en}j9^qu#P z7c77}0in7C(VbN9%Q*sw$oV#tvfNJN==7KZm-PZ{q2rGQitm*CF*E{4yFf&u!Tw;k znRpY2lthsG+045;cPtc6B5Jc(w9wNJ*d5`3kH&^a!n|e(0pk1l%z?)h0tf?uAYnkC zA|4s`HZFUI*cK9X>^mxtdAA2K;#m4Yzso)1st?BKV00qcEI&k&Z>slP5brG}JMeVW z)1ovyG{KD8^-3HW9Q0V+p4D`0rx&DXsV`7Mpqn|=d;Y0ey`iZf<4oRnh00AJLY4^o zJm|K`Q^_{S+Sn`rj-^(Gh-A0eGo57;&_K`Tmqj6xC`-FTqp2_V2L zJAG(kySCgJozBKvj}~;hDB7UkL;Cz7HpG}OfA!gG$|^oQ&u2U{d%OCu6i4|YFzPRAcUJ;u+WGdm?Z`C`iF*`>1)Qb!$X7to0& z%A}yv;=_Be&^Tg>bcWxyMeN)~m&w&O2q?Wo62$0_X7=kkxs|~+^=bO1MXWP68tp2M zlawo&3+Hxnc6j*Ulser+MBAR79HkPzFeM)rolRuA0-7gzK6Q9$I%+2|5TGU=eP^a2 z36Ryufd(RYH3Hb1$&>e=ymy{N6$HRZ)BH%Oj7PI}cSHg!M0GjxIISVg12!9{p;M;4 zpjQ#L0d5oJ98VvW5KHm7UA_J!9nUqION%4g=nvPXtKXz#wQtP(Y^;QxUWe(i&#)nh zh(Drv!d?@2^&ssz&4tn-%Y#z($#LdkDUpjgK7QxnhmQ~5J1-lGguf$JC$1^BgQm03fJ3&)B z(ZzsK+fb5gvNl!4*uFGdB+eAjDerSkB^h&@eG1T%wL`X&X;Q6Me4fzlEhX%|XV1Q9 zb!RWD{g-vbyY<1+-W@+U-i;GGA6J z&ExcL^+F<@^X(oMA~uI{_UJeq3!o7Rt2~>`5YSTmaa+B~X6gFPdf8mxUVZSvN02W4 z0k;IJxjgfuTC4Nm0fJc~xNz7m=_A655?@Q$&2m@bLvoJ-V5wt8hLFF!Ip;s&n0<}& z@rCGzA&DRB&Fv*wf2a>MsiwJ{&l|v5VktXatT^ziEj2FeJJ5|u22)uA>ls<6UZ;0< zcA82j6vJA67ylM=1~!ntsOEYCKJf2vKx#TpF|AO0AIBKtc0z~ zZu33r@a}yzZu{fA08H8Zyj-!`3k0x!`&fOL$}%;y; zpx(KT>;ssL-{;|3$0IRH`Y6pC8bf-baKZST?2D%-4_L7L0`rr`Vhl2S@fXj(=(M_j z^NU}AQ`2tbTi^K3(a~Wdk*L+n$hBcoF>#C`37*^A+mFBbA<8*N$0gL@xKw~PK*_i7 zkxU!n=8$-vJbg@D1I_uxS1*FW2!0C&7r&iKP26+bY%1-LwquiG==S=~a*X_4tM=`0 ze=i!9RueLw0tm95+H2J+$#0x1^2#?i++(WOAG-Yzx~|7>qp_bq zykEF~AF#Esm)F>X&K#@Qr`BxI<59AwCd8WllhY%b$j#{RQ@Ne?+j!&aDJ1eip>!ZT zL(3M@Pa42i?cIBJq5KvA0WuNy&rtyA9O9KY2LispYG>vVk3hfzbmjnkt9GNA$ltx+ z5O23jX?A_o0UQyP>)}RNzFap1I+;I94k_n z0PAwU^18qGKiF{tKE@G4nuc-cqUoFv(HR;%_91=&I=hey zC(WFFdklHL8;J;i`8S_rXm&);G=~eRkRraE&9kf2|NJNa*J&#I_}w$~#%g19#sy>n z$Y>5}7??#g%Ib61VRmQs&xkp|+(UB8NuLtY;3nZ@vp#=$@s~gU+eq#}w|aEaw6n=9 zfN<6M#2219EuNG27w&+Et_E=YbH`TrTan1hx-#=;+hBwa@{|@^a;Ljs)Szd**FKLH z>4mURfdqZ$t{Vv+Wpo_y68iVPRE;dXu$%YYxcVzI;|X(uzz6 z=n1eVCB^{9q)qTs*)TGx41Hp_YS=ESJc`*ZpflwF{1Ety$Ytcyup@aKgW;I+G>LK% z-bUg>8XNKgn4r;IiY3Smce^yMDX^m0G3qrK1O?bExZgA$L{wfrYBjt47S1|1NlZ;v zAK;h-DugC5wPZ2_K*Kn~tfAQ*U&tL$au`)CX^sI1B7j*kLX2Avz?!eb;tl||LSb-1 zZjH$I4F zW{>X1u%5Z%?XF&_5Okr5;dQtMUCK!W`s{S@!ZOhKzUoh~rW{8hm2lsKJKRO_QbK8sc?(JBU| z7K@9X6q`ChDa~NZ}K?mqTmuAx` zQYzckh(?0s{ejS(ph-Iq@r;cI-_}L?950_6|rt9m>(`iTvC zK@t^M4R+?S?)39LQtdcs)uUN}!VOahsR~Nw#W2yxf(&*zhOjdJ3W1s}5WwX z4i?j$mmY?+T0t>#NsRBK{?zFJv2jTtO4C~#@NvMho;^Aw>mPXf@SLW6%+`9N))~xT zsFk~e$!eS|9?&`hly^MtYH^q>PC7yNyG^v4iIBn8VR3r2FnW}{#{D+TYjPRHf$Qnm z!Sy40yA!4}P1xkgDb_Q`tTY^~L8pZjiMh5ls@+kuJ)@b8V%(UNn7IHMEhgLUa^!{u zrrD3q)0R!w8-kcF+xMW^P92n3*66ObYBh&Hh4=(BwpF`b`8}a{jFve4cFW-j&kzZ< zpszi^U4-s8H&--n3Wp-#J7_dh&>Rg%p*}+Rn$0Hxk=?LP7gN%Qnij&d+t3z7pb$Vt zRvw+BXSiHUco1i_));uo-xyIE6$ZQ-vrUxGQ2};(MWhD6dM2PVVU1Yy^%Ck9G-rs7 z`~+1U=6VAL+U_@D8>uzBsx&GezViX&OcY%sXv|A@b^KngC1~)-dl*kIvXfxC0tDDH#gs7DvU&Y6e4Z z{rJ7}-k@1jI)JP-6;$t?KLMKG4w!%MnEjWqx?DkHG2@lu7Qnt003X8!B5#?E(+9`c z7JV{zZ6IMW@4QIZSpc0qAsz~wv2`=F2g39D1ns@$VtW4W`FLp{#w{$W91=jtfwFh> zNns9#LtrKxVr()G2>VQeQ^{+HaZ$&T8Qvc!&`xDHqU&_GI@@g7V$kn1*DD+Dv)_k} zosD`TBg4dC%}!wMr>IY1+DkGfAUfkXj!^nt!lt(|119<)Upf|)#A+S&I?+T?T z9MGBTVJ$oCi>=*@c|%#kYR+gdNT|)69k!~p0Yv&fla4KoK{8w1k`LWldiAP36mQ-( zp_^JJ`W99-7ss`twBwFQ+gS#BIx@AyR~OgaLI0Cq{kAnVDYH1qX`}MhVJaLCAWJ$z z>-k3?9H-nH&AQr5r)lhq+v&G0y6yJS(a{jisNSGAULG9eN%4j>TW>fD<_gu`c)oR- zbAqn0v;t%-Oh94w6fbd$)k5Jf5?F4u%qSS$+BFoLNK_DZ%`AS38;se!Ub}5}CUBQt zzP@NRX-jKDEd;GVf*_vAh9X)zou((<(|0~NI;L^Jqmbq~IeUk$bjf(s=cF{2ot&KVSeh+8muAj*`<-RC zyV@*V;E6nLl);Wl6k#V&Q>nL%kU!k)Os7kCtEbzXp4o(Ei2a;lTvqtRYdd+UrdV}d@x%T;2FPh!? z%gai=J$P|>F`8J7wXLZyXuH%k98AU0WCa7u;m;1o6PMrbuq-UDP{0>xx4XNQ9*P&C zJ|OXl=G1EI4bb9fF|{u{N4b31Z60UHddv<_4nt85($HwoOU3A=K{s3&n$>KsK$MH_ zSi4jC-gm#7&4Vx7y4}X{aeg%1ynOj`v7CmqI7Dx56Q(waaIT*qkmS>yyc@pmTMTHa zgt)KHd2TB`F_T;T)qZ$E?297%gCDGL!zR~c8rap zSQ|l8)U>!ZE)2yQ5|fMhl=jg?IOLqp&QFSkLyV!=sJrXIOG4^|Ce`ArV4AuEWX)i> zNUd7CQxArN=a0_3Uit3X$NOr0bC7_bjPT7D1w zy?v~Lw|&sgIs$Z{9F=E^8&fIQ+Rfhc=dT}~KN;w~IA9+|9CKFEG%lnQE6G~$Ul`4h zU;sd2)t#R`Bx{SsVsBzT^Sgu_R1sZYm7hI-PHL7>f*pT+bd3Mc+y-=({S^OdL`7!q z;_{NwizNe@JTVJ0v)nI1yNnyplzYz#qm5$0)$7+6z}6{9lvZ@HUr1_DHfaaC%&KP$ zf8F7S!!#!`59me=1!EN9JhpfUB0xEhpFHsS-NH~7K#<{-el6@ZsK+w@+3Q_)AMjgm zFj%a{-~8qWxPi zJbiFX16ri#>-|Btm}8MLKZVgulVKUdH%w=_VFk$Ey{~}RJur%IqX1d%aR(^V&Qq~u z0rEm;ynT?*;CY~4h_DG#0`|>P@Asa6{#yf<#AHh2AkfmI;(@f8MqaNjz!N`23@bj5 z0-6~Ia+LT{>T-4*15^=P;odN|nS7qe1lN>f;7nE*$E=-1p}_lO3_6f<5=lxM36PB8 z@B~d&`r_DWqF6sUJR)7h6cuJ1ptB4)OvCOQz*oS{J@_jzGCs*25d2SZd=EO`JquQ{ z6$zJiIu<77g2*1qTj>Z5Z|NlMMIYI}0g2e8i^r|ufF^;}Z%JuUYooWn`!r&_%pZwL|5=5Ur zeC!H_0niI14yls4zWv$H{_m4?`t;F>-D|0j`plo<1nJ06{>T4m?G2mZ%-kDZ;8ztN*i-2x9b9Z{OYwY-lS!4^ zsI`b@9MRa?s_+9}|fTN1}Ea-SGhvge_k zGZt?%?Q`XA_I=u{Gdbbmfl~TH zF&rdwx%9ZUuu1%0_P9;Aee>Xia-RTr#YopNj7)81mj>97&1OZ;*qBhw86@J}_VvYN zBEoPsD@Att#{S;%`*xEM#JX@<4-bw|&}L^ElAuKL&1MS)LzCIKkO4-^Q!GNffHWVm z24)0&hAJq&h|BKuNoEVa#4pd61|&9oV}dNUD&(iYE0E-R{^ARI9B`2oc1&hE@ihvc zV|@Z174XG7o!-^utBtvN`0x=@RIDnoR|<6I+3jN@d5X$5?%B}Fw#Yf^{eOG_6g&10 zfVP0hLS6#JvVM6nfAw}5wv?8g3@xqj@M0;YLezNc6c zu#y+#QB{#FPf~0h%y4QDZ!ai1vPL*8|9XFZhXd$7+3}At2f}Ty2C1FI$%{N8U8SB8n z0ZgNZrI-S{4j^?p&E4`}tHb#jQdq)d>2)Xv5F28J{o1CJ55vG8lKhluAX)~Om&wih zn-x+ERG;;66)l)+cYGKe8fTzhs&ligxAIO%S#&=1^M;^9WE#E#oKWET@ zEs*aJpr2IadR?oO3DQt4Lgx!G7X~yyAHM}l8s<3XaQy(CF&Y&z{xqpG3Lu z5XiB~fj?r4Vc*D>0%Lk&z+M4WwLI=ajbtQa2LO zB%{o}-)z;;ccYvTSsZj22{yP$a5Mr`zvhnzR^Kq9dNt>0@MY{=m%NN)M9O+|n^}3d$+XMVpcblru;sH*B z*XbJ6tFe5Z-@*yAt{0}qo63UW&MeDWAdw=drb>8<{%pR8k0J5taOg+(Tm*YyB9AzG zvZOp>T>I+6+yH=U=)}(_J-d^7C>IZPz3969F;G&5I^d$fopD_qgXV#; zB(og<1E4vPEl{@(7(Ii*9TBE8GkQ7EIiLGu#?7ar01YclXRkf(SDMgRAvEFQZdZl_ z2?cqkyY-?^cd1Y$;10qen8gnxUYsi0f%S&*LUvBCWX-R4`k^E;FVN4Ivq1+LUZ2zB zusZwQ-qac#45>pf$NI?b3?(xezZL*kfzocGBT7pS5+wdG6Bxf|wZgIUm|ME|p_W5q zKv_^M;mLFyjm6PlrrQXhfCOXA9^@ThH+zxJ;8swcnTG=~h54u*=9l08A4?>^Tgq)?Mdf7|@MMGMzN$Kv=UXdgTX4+>71kXx5scK#)3aq?rwx zupJbX9INH>^)2iH^x5eZ))_R?5kOuy+taUp`D+bSG6?!G1Nw=;-U8BgO5E#JBCTsO zwA~KCI)r7Upa24-^j?;omBu4T@z7~R=;3kg!D)$jfrge!gObf##*hG;pnboGQ4Xep zXR(d|6CBIlsscY6`(U5|wOO0IACCsf%Jy$-p#WoICwn|ap?T?;>kBKqcFTNY^CwYK zTCTRso)#|w=>=)qLRsbU$;!KRhP@ZJH{p0py8WSxJ!(?gIi0O8USE-_IV_#P;!%k) z8gmJtCU!%rZLo)OJyfD_ObE**QS=;*r`yfC+ZP<7$ErXdmMWk#%zc>+!~llwk0&Yp z0fz;24#ki#T9VC}qCXDCMuSS^bkX|`M))PF4aP_|r3)a-hB4Q>?bX^j9#1K1M3oPn zUyK!?_Rds5vkW10c9_mV3CG#sZ2~A$=<1^>DzKF(Z!Wn|i%HY~=&WvFJF(bdMsvQo zp7zlsMT>xj^}T9^N+%St{chqLYcLcO86TR4)oK=Z=<4NbN(bz4fn7m72G)gTVbC0v zBszz?2}!juQcJ6??eg|^;POvNsRe^kr~Ulo$m{YiO~d9(hfT&K z*ltE!&oZPE}0MQ5!__GH(0P=`+O-nY$VAshAdAWJ$`VQdU%}9NA2Hy@9D!rD(81) zoZF{`V#()4qj%ct@@s?MywyPBV~|PaPy%C5yeW5_Hh-tR=r)(YFHS4+8m^tysgGwq zHzE(S>zmFOFKSe$)Y~&-ZmZTiR9av$5&t2CJSHMZMGi7FAheww9mK-^NRU!k^ZfKA zor*?+Xcl*oKHvsP`d(aL&>f!MTBG6c`uf^!r^V~Y7#X)$*FKkjqE99xq_i3l=v1Z^ z1$o^t0GF{R_aJRbeDaS{}c#T`%Sip$P+q)*82|IN&V)A>eE$0#IwG zq}JQ))bPi|x~bqt^M#=i=;P@ZFJ28tyPN9p)30u>Dd}3cUe!C3t*Ze^br;k(R*P2~ z&qiAp<7d-^CupoFNq5+RU(p;lmT<=Wl%U1K4vRCWPvGYJ483DIG@p~kOzT|GJU}Na z;yOLRvzk%~!KNeF<9sHvV=NFP*RVyYG@cJSY18@Ohd=s0!c=%1{ejpSX!@6zSJ?kd zx&Z2jYb2EofazczkUHfUVgXBBsvnRKQf9!~9|7#%*#t>i+}j7ygMRB+q3HudE3yOfx4&FG~nsSUsp8|>_emOy5T22(g+Zi-MjC-iAb%$9>;$Ff{F0#%WG2nhbI}I&&}8_snkFhW@}+3hC?xYcs`>1VUaZC#?TXw zMiO8zTqjL0sh`!tzO%DKh%Z!;vS0Iuv1MZ&jV5pl=Xc;4-T3dvS@|bw%%xeMycl!&teOM_!}7dj+Da2D0%=YlB)qyVqwg#( z3_X5&?SL;xG$MZHaz+~rhj;nG$4`Ix>2Ev^|KsxqNZIs8gH)78sf4%I%i2{23VJe( z1JfCeXbUEFvM!~ct9tn`R{>aQIIMnF;!s%6EK;V5$Y^Adc2vhSi$l&)hEPdW$oR;P zM+TzE^@|VS=`>rXxeT7zd}2`Zmk(=3vp#M#UVr&wHXP64D0RE~kjBedTr?)`Z3S?- z$OKz#Hh==?pUN#F@6fD5sFK*zLXV;*QY!MRXlf&)u?MM%HDH40@;D?jQ-Xh6EJhNT zP94o^J)g`@TRL^oonbATh2*qix0Jap5*A!CNrE2txF2%>UpZE<{r%n_BSrG&{Xg8X zJa_8peV5#UUuHq7aQ%xxR#k3!yLtf*eC)Cz}ZwclQ3V)===qt_1cHIJYHKpf9l z=j)&TAOEK>8F}x+4_rQxp>Ov)G&jRQ;nV*5m!G8*sZ=t7pAXQSO;ZWS*jgx{Dp9ez zC9Uh|<8qU$ONU)Sw}AdB$Z7&Qqv@Q@rfkF!PG@tZ(`?Y{cG01t0VteR5+Bl}dWfxK z12Wg^)=hP3Oj3nXFqR^8C}j^U0gwLT;unAS^GBuP!Fd5ak4CSD2MOSSsz#&V&z15! zs)2)kc@`oW3Z^P!0;ny=0t}Ie1q`wwH~iUefAjh4vaNV-&793Fj_}iOUoRIEk9$2E z&Z!uqG|XjNG_TNf_9mh>uWO^XEujo;b8%cOdT$p2Gm)2d+_i+WASp5p^o}Kx!5@16n)1*ZMl*PX!%5k$Uo4506f9@X!@0>n*oG_~PmUK|fd?v{23< zN$j+b0Kt_^D5e;^A|8emDEkzIIg-}OyjjLz7m+mG1sRsbhTnyR;haw9)n<9nMPbYu z@N>&}ZL$*|6c4|A_C?U2bUC4R_!})$yF2T}HWrD|iwi&y3~)A|L*^sFxnD;lMbuiB zdjw#`mWnlzL>CFCJKMPJm`PmVS8nLgJ~Y z$*G$-#PKmCYeg z!?uNE;Y3c8izemXY&sNf$^2Q?s=G)G>?-7U&uVo?A_WTp*K65q1PU;qC2D*pC>mwI z_s9OP{`J4cX<#7K<}D5cF4}$|-W;=I08*fM$klW6G;IKM#aa>-^{Om) zy`Gd!MKU>^ZkOE%t3;BVj5;lzpgF@f#j#VY5ZVsGn5N-X9?%C61fY;}WPcQAv=s-r zR|^S-0su7M$r|HWu~g)G2pDi283#_|eFZXlAVJ{pMN|_)&Vi8!Z3=23`9jLyXq>{P z$j$=;4rvZHKYndA?x%BEWIZ4-B1yp>$_LRSV;mS0YLOsDU0z(I5^2QU01<}$K3XlX z12lgCt!H6ss}~OR{+LUGJtsh?LXlxZ1iV4gj10wWYJ};0EeL{LBsGvD5TFVpK8j1Z zEB`{`p`#%hB>@Sg&B%ttY03xlWzg%&eKD8Nu$FSyH1szCr zjhrA8&{;xr`A(V~a#Q>f4aZnY)CG_k=>yzL$rT?T2xu$!!cX)4aaiH=8GwDgSqaAC zec#kIs=mvQ7lICMRlsq-` zXUqvry}Zb_Fi)2H@c8jlRM+vnU=zo3MFbzv`#?|G9ZeW>2%y_%pL}LDHMi9xCH(WD z!yUm31hZbv`v6G{A?$S;Owlbb8uA4^w$noN```T7VO7uQAl7d;f{8SU8!`eTWI$AP0$(ePX0)o6o#GgMXMU6iZwzR>hWw5^ z7?|45fX1^327`lk!ySq)=4*@TYF?Gso4|5Laj|{703e3V#0sF_-O%a|IK5VDm_xc?To0lSKa@C@@}~Zr^f){Pkj>_cdt%1+Y%ie!=|V;xU3W2E-*|5wT&I+YJTa zGM$AbJp-m?Y{4C9Fap#_5KG>RFii_cqe5OtHiM+YHWm7=^dgZg2qz`9b$Ox4kFd|kdiJ}vo3l3DE}{74)!w3y<(gC&6_O<>6UACxd%Y#wMG>Sl?~A(YZiLrQk=yAhKL;mpodaiwbU$>;YUJo(A93IS83i9vqk2u z*YBW(AB~dK*9hoLu(v;-zCDp zAt?e9hVwF|i6|u|xJlN{m=14}=5jf=3kWOjnK4B!!)0A1GC7h`P|aDJR(DuLMSDZo zD_|kAkl58W(`FhdoY+>9uzzWyBn=*K?HxTYk*1vpy{k%Q8 zs5eo$85?VFCUZO4{N&SDm({i_nrJV~=e^0#e)VPD;_6RkNZ*@_Wv-BFkEdoJ{nNkt zWM~PPJGW(x1Etdio z!Ksmo-qM+pAk6^~Oz8yL_d|W!8;o1+a;LYfS8C9NFJFH?8ZW57LF~2NxDAW+ip_0z zp&wez9R*1tI=zeOP1%uq^ki zWa1q5-=tLYs6DjbIw~Dwx$r{(ovHd_Q{b4&hFlh%K_GFMO8r!-gzDpLZQjzf#Hsc4 zCA|<|UfuQvo2zQ;*~^QIa=D|gE1l86Fk8d^${lZ_9&TZxStq97?g`F;L&>1-{J0{< z#4r~lmp2ahi`5+VD#zvAl7wu zevaVJn)0{J0^pu?hs+m(+f-8lA0r_JmFfpS_%4+a_^xQS#-n+2ZLL-z@Ja6n#*lR+ za%40}#77c348`EQQZ_oOi9>&=?yf{&-BB)%x6 z<>KpdK7b}x@#5kVvy5Z`I2;Gao|;?g!*BvOmw&{eA4`Bmq*{Lc$!Fuf!B$H) zlvo2dn^JMWP+qV%C|e2zrE-xMJ~Iuks3H%AXkrO~o&ejWIOnhb_OE~OH@_fT`Q*vd zfaYyAyI`-I(`;;)n?C1atZYozl_~G}^3x;nED?FWrDJC(9fa#eGmWTnp zy{TKbJ{+?rPmYm*ql+>H{s7$MT(ux}fLSR_XBuCR#|B&Hc#PI_L~Js|4uBX)8{KxP zltX?ey9XsD835=k*Mkfc`(PrG8ISbYct%3ng4gJ z+e|7(vjU75Z1Q1Fhlv7*o!X3KBVAq&c#8>lDDWh(2#To-gDOOe>}nNbxUcC^qc;2sT!0!$$q) z;`OB4r49_xnbmZBbhMFb*Nv*~P0`2=%#IRuNG)(Tar7(oW;~N!;zwC1b8bX)*%j_N z070{%WwNvN&RDIhwTd%=PYVfTZktULTJ-ki3%%6@u|GP&&tbhQ@JN~^a?SWKH1NDz zcfvA$11@t6n66#|#Q&2Yv)1I=qz@A%T5B5X6_^_^PMvlEWQlo~+kT~ofY;&KLp%UH zO~xVN4?}yoc=p0{+TQ>00|d7)B50dtg*dVUPyFJ`FAs}H$z+mBZ4#E*6tYG9)VAGh zAEpb7$?TWE{`qXPfQ`-ybyGb#K_Us;#n)S^-Cj1EqyQ7#8GyKei~s<%odkdaTx3b{ zEU3Dc-cAsDS*rBkB-v9qJVom2pj5D|cKzos|HFUy$v2)n%AX%w9Gk{?m@5{5R{;e8 zwGU1Yad2&Js^3V$$uk160}nysM#UO@KU&X4APSqy&3yRzC%@Ef-td!ejfjX#kE(b) z0iT8aD}Sg(WZ$3MzT6q6D;jbJe9K zWa-!o7F3g)_T^xJKK|{7YQ!|GIiZ&Zno3sL+WeqCR(k%yBRz z@_^V|>^55-(oa#E`pS|eaogp6h8foaU&ZeYF+6y1RGLB};a69yO`}yE^swayR+J|2 zB=e93C&f-}_GmbhvOn@Y^KmwvN15iU7hhf8+$Iybcrw1FZ^59;`jsRZ;H&_Gdz;3( z``R{gjKt90S_7y010Mq#f*Z)%m!#U)ATrezGTjtN{pK1t2bM93NiZ=8puEo*a+-V= za8SH|VJPqIHvh!?oWq-(12bAxYzP=ytBI8E{vP+|5P0%eKKthV|KH>NZ~dpA|DXH) z|0SJ&@2l`Ms`M?R5ub}X4XVJU(VvVnwg?vUonHhfjHJfhzWnwvF*x&q2gKt*hA0E> zYDyKXO19nka-4&vvwWw;!oI_^h7CsUh35!ni@!?FtlOtA(f)iYkeaDjeCzT4#aCaB z-Hz4C>BQ+?W5rudGn-vnu!0tJoJ}gU>~_+{-eC`*nTQCZV>TO3{0A{P7MQBY}vY_|gE#-~>;>SP6X%mBT@4zv8hMkWfk4Vi*AY-MhqP)N-Hl}JUEmPX94?oc)<`sEL0{O zUz+JjgBN~cI1-Q0>!XX52`dK>lW$=S!%PuYuexWz<$W-~vjoh23v`ws0rn-Su}bYW zlOg-M6OUn$F5(LnhUT7YqCuoGo z&dRNUHIT(+XlL|)9Ss4XCo`IvIB7752h2$Me1S@>lFt{ISd0%Kdpsdh7);zA5+Z2z z%GUtq!dOYtj0)N#8*@5I$;p}lMF)@$us~mA8(`_ud6wD0KhaDNhZRaDVMV*spoCUR z;7tpmF?va`Rmm_@9;*eyyA9f*>tVkO4uL2tfa9Roq|q6LlSHN0SFd4MgYd3bOQb4b zHByphH+REcD?>JNxw5P`gKjexhzTclyVHg7C#B`g0yGJck^r6$$0L=>RpIDpwqDXO zo$sL}%?oqK<*Ju&(8k5DR*=l`t@#6f!V_K-QZQTRPGP@av)LqabV7CIAW#duj zu=r(y?%!vHZ`QkN<>uh-9>O(mAy-(ANV@Cjr3u0!$||G{l=urvxGSLJ1HM z>A?9+kH%6=Bfu$LZ+pE#f<{39i7^6JpjU&}gC64a(Zi?o>&RxJK94B&+SjvUJQ}iZ z@Np=6XG(0R11ZI`S)SKc5oI?aZ(Rlx8bZ z6=OY|6YZyHJVpt8;p~i6Nnf(rXplQN!ox#$oF;_i%;{G-F_!&mv)x&^O_$BI6PE7m znrvVMrt2|mGC)1N1IudWbZZW3$Svzfg~WgL-S0%hK8kv;s^#8j))*MCZrUijT0GG} zER@JbDK+#%{OJk;PD%KuXNUH2b0%T8N?bOo~V8IPfq0 z&(SEHO>e0#Gq;PL9*TwO*a4q>-0HYI5q&tbZry`=YiVk<|8m*fbIMw^ILyj)GPqfF z!x; zfCzzbn1lkxYfioaHWmu0q76L{X&U%5J|bXrI1mOEqL2;o2aEuQj^UzA7}m1@7V9-k zqNqmsn}y_uF&T&aG=kf~PzLPy=11QM$AfghyDe8Kb!5FjEMh}ar9C($QhrrH&kOVH zaCE6qAz-kRIPvdwrmSuom~wA4EFKmhOtWp&>UA=%FzaDJNI>QG>($o0r@wslG6JWa z#K~rRQ!S%y&79#u4y7?jY&M-^L&#{LUx~*LeG-0sF2g$Fs>!~>3QU5-<8;1!{grj+ z!0eAEdZk)}#+)Df|qp;N8fGfnvKkNFLAbsy_U}HjKiMKX0eKqaXpr5&u(J)R27{;- zuNTYpR38Fmc01Cp4tb5O1s>>*9RR&QbBo?EFT%Gu`p)U;*Dd4gyP%xL82`5Ue366ulwOKdV-%}1UBM8z&9Osd|G@n z-}M^3S)Zn?faHmOIm1(_QYbe_ifAFIN$hHbb$|a!rp`TBW<(zTw*O zXMg#dS7XxkKKi*+Lv3?ua=Q%a(h%E)@5FYzGAs@nc#5U50yK-9h>XepSf(4t=v)gc zT*eL2ERJP1t8*;&Ae9-cLaS(GV;fy`XIO0}OKV`f*f!b&eX%GHR<~{AqTIPGR|YFj zM_+ZPn~pwqL^5-`1@ie|V&sn>nzp6Q<)9e(=6sgYR# z03ZNKL_t)2c6x?w@oB!v!Z%A8eSUG- zF`Qps_g>W|U%aYT2hJ*tZ)0`aZH;!mx!rZ$>5msvM>yBjN7R{(Ta{?`SRWaoaEOW@ zPcQ{F6_p0szWOxrwIC@vEc0+QHyMo(DAGp_t3NfEOoEZ{cvt~VhXxb?>EY`XaJ%V%&}$;b=A01Cgkp;0Z3XIVsGC{)Jar+M98K2Bp^G*3V<;iKJ_ zsQ`O$cJ=_%+UOv6Aez5i62LbAv{W6@^p$y%$f|WM%3;5c*NBnMFVExY{> z9`j3L=Oy@;qkEgL%>Uh9pzPB9@%|hE2y!^&4 zfrK4HPNH!}qBkH_4*ZqmafB35BpQuG^y!F1DJ7!A!SH|iv;XoT9c6*^H0$xW#so_}1{m{a$Vv$N9q1LO!^P4?Xzmn1fk#Ek4gwPqPY3>{#o zk)N(dKmPHL&5iBLFFuEF^z_jaiS#V^FCQ%QZ+jq6;2L>Ge(aJ zz~w#YtUyoTFu7Z)))J;O2kIE<2_!XOhe@+6fM%vJ@9&wpax7qq0MIy6yZNLs7?#eC zV~H5V+bQ}_Oam$aM#Jf72#B>A8@*QRx?F+aQLk2X1747@iLtRfCB6sw!S&WgzN=hs zg)_OS#WA(mZ<-A+6%tmfVX;;k4No?wuSlVp^?EG`18(PV)3l{O^sF|Wix-yVIF*k* zcydVS%1Kj|@Pz$VuN>l~HD^|}Fp zESUfiuxr}ui;JV962ahhzWLbL8tFB6*H?I$PluCb z5jmZ;ZE|(x91MC~l)FaUe&)a5Y29q6 z=|s#J4vtHCh%XVrbELl%P5-cxIP>`bc$Zjy#+-xkXqeL?gh1wO(OoY|ccltN+6>S} zJmB!=&yK7v;O4=M3gpF{k|He@J}4Y5mdkJ~Ok6;K311@;9*kfzd||0lsr93&v`T}-3^U)kSKt{yGP~b8zI&gO_hZ5}bFe@DLyylN`}ZqDAamn>4@J@h z0wqB=*c!d=)cfL7$sS6B$Nl*tqanDHjG;P~qx)kyn`aF!w- zx4;m_uuzTrE|o!tGg|C@jN->VyA!rik51YB02GgJN!jAl?c#t|fF zAr%P@CQJkbnD&FRXFZD{Ft-XMO$ss3F2M{F8m||l&*mYZvwV-}YGufdD$Z5A+e#)P z>>_+swc1DvYeqss7Dgg1P6M$GpM`S=>c=&pJChe(QFKu^WVRz=O3ye;n9gJ!ImPRB zio;47h5Q3dq7G6C@?g*z?7>nIhBBlB0xEQq`5-TV<2?W^8&$nh%$LZRah73FPJ$ks zoP&0Agl2uf{N{Exo48#lOt`6JoS;dh(E;2|Vjry{bi0s-005#y3-pAg2}X}z80==g z1_-fMtCEXDRF3yyKyY6!Wbk1b*K05+A>lAW!jeuT6xIz>n`@)&4nK#iJ0N=uBpul% z*f+^kib_!ezuvF|y9!s!;qj0MrsR3WBU%9*_cVWmQfqo1q7&`+1{o66RRL?9PCxPm zz|MT9*GITZmHC=L3lf)?+%aCnCh`)3V3)&DK-qA9H1JKA61V#uz=z_U(nnS>L?wtxW{&*P7^|Nweh*#ty<;u_-wnPme@8O z50T>lk>nm>sZ*~EgAc|ZI?)6(`cTK?hFuPj4dTq+pu5^R)25TUsQQ|rtPmy{+#vv4B-{gH*^K6yi<_w0%tFc)kja{#oy747xC#@2d*l97}#{KC!v|a4Z4%y3GpB(*R#^Q0SmxrykhjLrHQo znXgRGa=IP%4LT&+oIz0`#Q|KSe;O972@$kq`@wrOvq?dN9Cv80NaGsZ=Iwf9FamzN z)0|ER<%Zi8T+KI5yU*x#;^{LIU3`*%BYWp_I-;7_YL0?o+8hQze*4l0E@GoQq1Q#j zoJ6tUqTxj*iKb!-_H@XARTmCxk^g~W7l8ED~wGD~g(jcF~)O@RUe zQj<(NI4sd2geC*APy{5AbtDefU6~IcvNZ0KDX#$K;!zRGfY|WS@J>(4!Nx{lli!g- zxCfnC$jFG#RAxAJ)*i0?}C#l+~ zoE)9`1DK;NEMTSYOwy4|*4SJTmUl9_G%DrcXbd+f;E(qDWa;lfkUj7rmn zWf1Q`XWqwIl+N-JJTpWis&F_a0lBmwg;dNIP*o-?srNe$oLYo3_364-3nfmL7{uk$ z>za4wOCbN9wDJN8vm>d5fH!)#2PBqA6421K*JI7{ECvJp_2oq@N*#{m0s#nAg^gSh zOlQD!*=W@OunFJVyJ)$)nX(+PECfQ3>*LH8+HTN|#BO}*{jP&nB-dkPWBxO+c zj15THg+^3VWMssDJ?A;kd5$REQ%O7$rJ@T%k>E-g85#Jr9(R`jnWbBEl5j_}rcWy3f%BhrU~q!cQ97e=F&YOX#uTRRC@felg6;EZJLd~nJODj|8nDAPG-wk2KpGa z*7;vT>q|Elp(;nGv~0aA!&wIc3l?*KA~;(6(ZQ5s1?qo&@>Dz@2WtYi@X5 zNd4G-NC4@M7~H2$Uqfn1)x9ls{H%7?=+ruzQHR>!ZeCtpZ`}ULWUP&w*ViXr4;0HW za@DoQbu|S19F=jdg6`J>#FP|HB|9P$Z^1Sin#YwZbI63cp_TuW~`no=}y}alR zrjG7#q?)P8%BiuvtR^#?ANX@2vH683R;1D<2vd}Rg(JeMjS>dOvn4>W53@=gH2ooQ zIC*G?sd)k^GH&8XTk0cwAVF2PSR^>Wh{t>`!<*) zE+NMWY%>PWW~=G^7SnmldKSqY0i9`Z-Vi{UAhgx|H^;^EM znbgmoJ&(mB2!I3wGM7={;qjKU6#ytxZ@HQy`$n6{`VUDW6k}7MfJnV@MF#W_e(*80 zhVew<{ytJBS=)u3Ep|H*&Q|9d`wArSyQCU*q3=nY{k52`!cR% zjYUR)A;VOreXzl$A01^V9#g z$NZdijo55A-?h@5IgbM@dx3n!8NNNfJ#UAGYSgY9@o;9)pZ?_k_-it$_je9qOVE2{ zBgN3Bx7I-BTg+lQ;}^hm2HwRV!4;n^0bKG#)SkU~4(N>R%;R?-@9pn_t&B$+3A2yh zc}V2#`0yS!KPv=Mc!19GI1bn4&Zh^S4qJ*XW<_R)ps4a*lOlzgm3v-FMUB z2!-R5LBFO#4Y8w9WoYVxY5|)SL@Q%9xjKE_uD7l)uX2ghT$>WZ1{BU@iz@_q(eZ55 zFV4cQO}U)D|IQxxfIM3rO=`=h zmS?^xq9|?4@$ECebqrwirX6m;cX>zYi@(G3YzJ`jDP}0Yv|iV*AtK~pqTqd602YPm zAX4}~{p7cqcsjGUkE#jj-X&_`tn|PBtA7RX_wk?o*ya=V9|f)fomokt=Of8-d~h5J zMljp!&02ymILzWTy3frrIXxTmtIvKzg_!-LGSwzY0GG-WV=a!CUaUqVHpnQn>Hb(TEP88=Jd()>i!WZWQ8n^>8kzJvrj(#`MdXykKcPV z9rXtDX*L~S>ZmI_nq#d5m=0B0U)2Hn(QzglTcn~GSKt^d|DtmZ=*$|zdP2Z8na=;@ z-~FO%cpQ=BrhJbIA=mS%b1`ydEBM-^joErFihH2Iczk%|)OxYXaUAjr!TwQe9U?Q^ z3ExN<%~AGoYhsUE8<@^klt#elsI) {)P$yzpDT37c*p?j}T6jNJ9GH-yb!YTq& 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�Y;0k(V4$k3$);2tP9uyiJ_94kCCIqNJI;y^Am*N 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 z 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 z zoGt;Njq)GutZ>mcK^HAn#H&6>`9dj(3e);wFwG>0?~jKf2SDXGB_ho7a< z#QBl@_>q3 zRZ$gEZ1^GXoZ|)~lhaowHr{dB0aS zz?MPAvj9fNV<~oz!~R5Uj}XpLdCp1$DU1lFaOw2%(zts0_D!NU^-h~?$iGG3S-?R} zBUrUZ67CV)Zg#qmnd&uA5e!)D){A2C@Nkc*0;HS-StP-u0rV=WagzH){$Rr|;I%3$ z0Cc-o{T7f^F8F7Fo?2*`i(oUks|fpgRh>RJlNk&?H{DhYq_07$ZW&sYriPe z+y>iU{`H618@K$aG(-@YeaP$3YQ(~6NU=<6L_IpJE+%ctoqkK4*aSvfNN$kdb?f!;Qm8{!Rc~)P9C0w!mc;pehcUe9W9UVm6|KKXoU%dS~Bg zZC5UIZjs_-N22f5^lrdz=5@rFt4n8`+z*q{*x0L@qnTl^Lx7RB*B-iJ=DBWsSv2>W z=xZ_GhR+>h;bR)_4O6$dNG7yK0@$&o#ivxN^NjEHW<%=&H&KTp~9H1M#3TX0&M2b&d(Gutp_8{<@2zZ zX%Kcf28xo!;60ki3K9;(0$aiGuU2aS*76zY@M1CPFi}dK8jD%rYP?tlLcAl?G8_&8 zoqep17=LKiVAN_85bYG;7`Bcc`-#*{gjZvU&X=P7ClVP#3s-ubB8$O0#T!qSbIO3= zPBt?Fnu`@F*|cFgYi;;8eP^oqhSY|zp6PKmB!uI^C}f3`#4>$?#F=ExFfw3FGdV7o zb6x=Kxo9kg@rpmGLuhs&1S^-B1Fs-Jv(}&JH6yjbjo1{CrCpQPU}%wS5T-K)(JAgU z2}`7Ns0U_^!vT;j&qzEX(< z-R<<4USKY}NMOhfV1f)gHWzx7GI9pPHUPBM3H1j8^(dGm%Z=4!Gj-~Xcs5OJ2ocjG z0%KipL7Yg%5grpx#@P<>CW!}!P{hs$f$7<3gzyLJ2<-&qMRvnPwlaeOO=ov7j7}y= zuFxK}y8^_B06X*=Rhz?)pOM!=QbCJ@?1f|6)9utuHutCxhsa4H!4Zj+W_+^{w}%Fc zBNPrH<-rDIJZG_3vr}(d20(MANQQ1Y zpJyZ^Dw}pT4~z~pjI<3rAI6KIs=TcYSiG4`6>zLTx9xFSi8Cf&$nnPU$0QQI++{wk zGA|RP$Rx)yYq6p@$eN9}8C@+VJvnCs zD1WnU+v8G?x^~lMnTr$%e(hR0=lc2IUzR(4_xZG6Kzt2sRpswL|NHNyZuKqg*N*@2 zXL+s-{K4j5^||!nv-0)hGDB?6;l-$TaRmx1pjj=(oWmwia{x&B*?ZKkRj)|B_boUp zW8gc=BukVrpuDvJMv^Vluwt>tutU`V_?S$@@f7-uoC6c89FwFj^23qI2GXoUa}#aW z^4>u=Mw;^HhCi7~-4 zMH4>H<{8&C-=Ih^ZCTF%!N@2vUyb1pjQX%0A+KQ-4o3qI>kA7EPR({xz#uy4iixR` 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 z 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

    W_Z=!zW)oV=ApR>_K3R?D@G)0|Nl5i>y?u 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�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 `ceGz1v& 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 z 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

    #O$uNFu0jaDU3X$xF@%~amrNk- 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≥d99^8)8qHx%;<)1LPpJMBl5?3seGk_ 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

    h!+O!05isDR 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

    Q>cjwM+mLHya>Z#|y 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 z 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 JEXR8Tdrc?v`DT8*6vzWpTEe ze^)OA`aU-fyfWbJ1}mqe0c;C~vJFg)n!t!1ERR!%OU(!SJ=j=bnJ$W;YlI2d-6D4l z_aPn`>cZKM+_U`=0m66{$uXFig9HQAo?O}BCJbOD1~FeP@hgry1|S2>ST9p(OMl(& z9P*!#Wlm_WR@@AM;eNpdH!p9E@H`!rKg?|Q-i`FU%&B(jN0FK%WK60@d4y)fw`diz zqcTHsAubOZI46$uNl_(wkqzy~gRUV64k5sqq_yEs0Fpa9!6;`kS6~5NfRyK#mxeWO zCr=LSsQ_|GG2NhHm1-$9JAy6nCYPVTbV9eDtzR^r8GjCfBIr+oh{A+XW}f4<72Wl_ zO_+JG`(KHB1Gx&VlD-Mg{#^f0p*>FaJO>amUXBkD8MA##aAEL363GwZGvCJa=I9g} zDML|b6DFct1CbDTv90WT~0pE^OsS3#CDsv?cba#HUID@cQO6aWOQ}l5sEO zF4tm1Sx7E4d=j*jKyMQCQ`|=f7$b6Hjzbex6a#Aj4jI?zEB^NH2M2c9^5k+%_z)5c zno#7mB>@iy`%8l=R-D#n_qJ#EkwXh7AGg=L#s21|Wvha^dkL~)0^L(2wyy@B@Nn~a z{Y?FA{Hs>`&AX6b>|6&J^lAo2oH((Q?G5b<=OPR5-lxCgi-%RGHRp0?^Nck4$?fLo zWHMbsG(t@@QpPV{8J$rw>#ahjgIs3KJQ9(9Eeb3Zn$l@zGth(nSu0xxtR`BpS4OD5dI2Ra z5*cIVFR7nAnnhRvR$jZRV@m;dPZw->Pl}ZJJ}xpeqh|phpcNOwsWThO1F!kaP=p6K z3)vIDg=uKDu$XE*a%Ia4p;*Wi-09a#fRwsg6~giEA_k9~p_{tM$JRnUDnfNIUYvMf z7gql~U8o|Ptg_S>U#ax~`dE8JX@(p#>6*~(uF#xI6#ZQsS1zBzJasbVwWe2c*lNOS zn9|^!^k`4R)J^ARv+JB@j8dAT;Wt#4FsY)%&>mjZKV1`kh1cfVfz zS!KJgR<`euwmdQR<@uu41lS@IH``uz{y}!N*&X`4VNCw^L6*6l5xTMFGc@?>+bm1 z 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%0AiG`9aTANao zqvi{j?_>{Gho_~DOFlfSHR)AjTJI}4^JGtJ)`U`~N#DNgjomhKp80iVHJ)dr**a*t zgPg&cVP=pWY7)TxHqK5Zt?+u<6guup6IAjU?hZ!LS3&q0t(@ zeU4scAZ~4-MTOo}j@1FA`rjGh#a9kTe?FS$Dx5EbxZ zkxVG2tq?&@)zq~$DtIbfd??5X$4nVf92j}ULXdF0Kde=;6gE!{MAA_;4=KJOKcZOi z0pMON^eU1?tv0siw*dc8X>`cBsc`D3pInk-?))l`$JmU4_L??#!896}9=^W337}H= zdIrK<+(aeLK*=ysG(B-1mbS_;r$Y@fILkT)B?5GoISB-*U&8a)x08N(YzJ~7mC-W! zN+4k_V0y&U)10f7iI{VEwH{ePAHlLCVrC|2Nyl+DoROKpS!-0&QAB3brzbnxbw79F z1N9jx6a%@qOc2IW=hh0HoGgXeW#j@x?2;-#YRE)@dLt-F8!0$8yb;B2Fw6vIxvt`Y zt5Rp5emJdQc6x)9N<*A~?W%gq9{PP}FvHIYdwe4!{bp5)cD=l_6LUxtM;>`vG@LkG z+hqulu+0Y-=cD;*)t9ogsr;m&vM5hH!C!zhE9E9{t_bYiNaHgerdUNCx7Lws?>XFP zhSl`6Kd_%pwJ7!0s)E{!05|BkTIbFi+Y&r^$H~Z!ajndLCCwHEJvY!hZOvj zv~EkaiVbaC?Tm~FZd~nYCTE7rYgE08#mplxSO%i82XH30^vQl(JQ!op7{}(7G2n7h zzW&b9n1*0WZe@#le8a9{SKuoqr=eR1KAcEb#lB(;^2v%d`!se&@*XA(?&U}{+B8SS z#jJ44QMmzK_UfdVVwF_UYL}KF6;}KOL94TueQU95G1>{%wV|43SZ^B7k=ETi4(TJ~ z;24%>h6j8*;Ki9aKXe(GzgwYmlZaqd`1zcN&O=t&{1Cpjt@q``D}vSt|2tjkA%k3Q zy=VNvMn14ZF5_u9@2pG$&n`dIRr5r85a!&LH&IDwED22i*o^I@bFMRQudsv)LSB7tOlV4i9D?C!e+l zms6x$O@Uywh>UW0lhvfkFP+8#&O0mc^sCKVr_dgp?Oe?F@OzY-mr&hOl?)=7MII$) ziY<&N$3xaMuiw>2UlRL(%EE95nN13$$!CtfQLVs)h&S{L#DI(){5nSRqY!VK9f;{& z^wu`Gn;lUU0Yk{TNNx-xAL3L8!rm0Xh46A=iV~M^N6j6%c0YdRLwzDsRte2?24JASdd<=pLRG5wt$@$DJU%jKQB9EHWOyOlbtzZxjLl8%6&z0$m&unKeFw znfHY{8FCGAgiGNbqL8Lq2_7EZ?V(^wX=oYiTU-rMxIWZDMxaH44u3%%*Qb!4xerObvT1>viNsTrI@2jg4JG@Pg zXCKN;U{g7{83ZjzcR>FWG9h2MyKJZ!Jh!+mwp?O1(eha;F+2RrFqPUuD=i1|W7z;6 zSEfZiqtl3mjk>(87-e`}Y6+k=0X6N;Z+5L$abKp+z_Om(xU?ZKE`}dz9L=RzMG{=p z=n%#jj@5S=aZs`3y%07Xk1${zQJKm^J+u+`o5fFyyH{vc*}sBIA;__4W-3hsiI9#l@o%r&sa@?2UnTHzHfIdr()b5hmmoEZyT}qip58 zN*WnbG(q4W=dpQb1DJJ6lqdcQHl1}@%UQ>Y+jtX8!(x*e`9ir##dKT!W?8G^{`nAv z+mjW{#CgZkIK%>X>)%ni&Ul?k!;Lf8uo0XscFtVLNBSgYEFs2<-HsHL_yb#p803*?`?Dp^dWwQ zHY|8|1(6zsFkakH(XYc3tQ1~(98?tJn3IN|kan&WNv(Hb(s!`l9Qt)oRSN)A@vg9>}G z7d9iAtU2)UaQVp0u}d}TER-u14ukRkg(%9t!!^;J(l90qhLkl;+0Fb~oghBbB3>2-AZz6axCQf8qj zDVNGaL_B$v{1He+815ptVk#N<3QLAiZF_#=tpr<9NzuEy}owLo}1 zO^PC;J&+8iuok%T!*_$v&j7yglm-z3_o)+oMFvBCgJ+8kLNS=e$vFK3Qk22U-tX^R zrAH`Fx!>2iX#y?wTGit7R`R{^{bv6i>ihos@AK^YL-0#}|K8axd(ahv*FiXSB4;1! z_IX?+wF&q-Q*Nyj^(MG{581%4$-((5z!eVoG@W|w-}%}V1n{WRn@n1$g5^j_T=wLk z7ZrmRIeJ^c7mRdxIIVdx_9|>67qE8U6ZU}W9Brq_ar�Aa8N=-DkYF#zYqU0XOJ- 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ⅈ_ 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 z zN);)oinNJB$)ZzH7s^b_aO7L<=KkI;ln?t|wm%>-BXgrxU0qtlr8rPD3q^hcG_szQ zD~&;v>5~C1<%=0UYe-^{sGuXDNml=?AISItAP$W|c47=tVnmdF8G|*Jnru{v3pTjY zW;Q@)23nHCvWW?JP8m(=Eku4y1|*1Ly*oWZW2nG7Y@mmZq(?zO2rUxG54xbV&=}9@ zFFgs!AFW|IHo#jdG=Vp>pH!<=C-O55i~CWXwey#%j%E&~l^Tg=`jpiqam4$VO0*za zTx3&MS9sX)L6?#d@1bB5NtQSb8=%sRR>E;FPR6Gr#1?F-5Ak%R517j&Lwh=`9ONI&BJLd}k0(EfD9XJMUw?<-$@<&B#+Ucdh4?XCMbFT$1{ zsauR9h>D;mkxrEah)qJ6l9`D8x@UzEA|WM@;N$6&C=%o8eEe<-Q|((LkH@@iMj{!z zT;wSgf8h83woohLJjk2Q#{)32Q^PS|gOw_* z{@mHKXRcm-OVM6#xJr07*naRQ=O`@BjV_fAPP8whw*i zX^Kd-{P<7&t(0q8>O;TO`&a(zUz=rl=w4hT8fFRj9OTdcr~kzlzWBl;RlhakJm$Mc z0<77iA<>V&;lBLcBc*RsPT$rD;oFp#?^3eql*ixBW|stz2)B4D^GpQ@OP9wJrQ9K){A(W z<(vKSq`BA0frHg1!@X|4PclC}##Sw`55FuQu?=AWNsZd1zPx(!?73Wb(A?d}VFd`( z;c(RLc9?c8EG&hUyiz#DTXBeqsuM6U#t#7oN!Q-Ej`Q6opL$ZnL8`QJw%7nBrOgAz!yZ|pQ)vk| zP{3hWt|F!CWF^?JO4~rDkhfN-7=%{qOSL+_Yj51Txx2qVp_xi!{86%-8ldC=r=xkX zLZ`U70v1mQOX*M&X9Xk|UPcvOM5HO=fCZs*$dY>{D^7Z zh>K$pAsjQqJzg88r3EjPU^9hY6A;M{z9C0LXb+3BH1#bk2Q^GK-lTv609|SvMurlO z*<&8KY1|nMt0IPw=0;wl`~V|y946p@0~ZE3n~p*S&M+XuZkVmQz`6v`F0ck=*6@&I#Wo>Q!+MT;h=BXZ!69+Wz!30znOLw+K><{Q$n5CCSg*-sR?fYG@ z*v%7{jt=))2iFgCgW6^tH#8u7whN_{5JO+d6_ZCqumyQ}-VNcgD_J-NNL_2P>!e(F=7;!}@qr->c@^Upl9v9bCO ze(wMKr7!);_U*eP{Ji6FWp%mVY@(7{C<7CVnB+R+acyOVg{iOJzIJw0hiR~%wZD$qd=N`oioD>RJEqM7zGVxv*~ zwHdex_{IhprSjU!>i*$@F%eJF5`WA*8(;q73(r0MVet3g@`+EaH5PyV=YRg? z7ry*U=PrEaGoShRhoAq_rKfuPt-@fuRINiVn()kX&$5l-wKuQVa7B%=^I%x3y3e6q z6Un1KDh0oO7cYfsT)^=vC@}(69IDWRA>NqC?JtM;uR(Yxh#!t@&K1{CZ!fTRIhhre$mdKM8sgJSurihalbRv@MXeGW zOoYB>jTO~++p6I}_7Wo&z%?Z^;v^0nOk6}E9)@u>V0wp8$kY9IRBB<$7qLkSSCWSpd-X4YcwwyIKLd7=K;xpS+FOL%StBj&&XJ1eK_>npW-9gkbhcB@e-v&k6l z_<@%6l_dC=3P)3?3vN(se^mGmX>uFdDKkFdl$Z_A75_c^V-oVjhH~^;N?;^ZeHhUs z+j7J<846iTLBHfV9g){y*3cH2ScTcpIH?I?1ox4Y6kKqMpGa?f91(|*Y^`a6)Hn#; zq_hbGOVUH0f6$j6uP$Y{5C!!ND(X*gmI#Wv)ek7oXeT2TLO*3eC@N%wP(F1`X`Yc} z-Eo*Qgor?qNvgzi95IGKM|Nr9E`hKLrpgdTi(-+S)Uv=?3LdV`d;HC64BAuqZ#|Qj zCUH3e%BYJj&oO0_fTVe%Iu!svD-0Ao<4A>@Asn*s3W2Wh>~&>>$RT?X_xS$l&6_vw z?(B4iL)T+!6?Ve#qn98zl_)Vv!={39){d+>j*wCczT;W32jdTNO|z#wQXEH?a#p_V zMXNoW{*juMO5&@*~fG_T!&0!Q|-RaPMb+;d8IP^3sWuCx7IJe`NFgSwGs#<(8KgDCCu| zy+MJ`e)x%5X7RS{BPk};^5m0GJo}LcoW4s5Z+q(tU-%O7fZcCKU`0q^S=UmMt@U4}=@mJv#o}FibZ!Jadzcz6_ERc0ED)byj zOn0V5I+aZS9a0|5Qn-Iy4kTgvg4r^2g6-Y?O5sMekYB1**H)IXm>i7y_paT2{cEq| zAmZeilWg|QdQ+`UcwJ_OfZ=nu z-5K=ss9T+a<%jU8^Th1iTS6OQM+P}|7mtl z3;UURB=f#^L4XKIgqkVtJn2nFhpjeq`Er@caK1V!RC47;y;!K`aN$cmwgK&f|CTYB z(Zb3?v75aPfdt`kmck@KG9g5)L8t=yZK4!o)!t_APwg~bv`3tRuxOF6<16Md|URib+ z8IHl)POWeL-XHj(TD9E3BD;c1lj@{g=;tRDz$Jipbv)N+hf+Yd;qb8ExpjZ*u-|8a z1YaB|+G2h2^ruLet4`?vx^CXAe{BnJ9Z-2ktY=XSA=^?n?;r_vI z``+J<&zZmbcmM8B{qO(B#>(37{-NJ<@yyvT{L1II?r**J%2!XVZJa-Kda2gH5y#K| zlYjF0fA-6yxp4mcZ~gRVZUHeDD}E&Qv4GLY@KA8CGvmB2IQWGlWL*gEoth z$0a3^ga~bzAENyj2{VSMvcyUdy)n`<&Y;b-QMj@;74*emV;~NSlydJS8fMj|`{`_A za?VBtiH)e^KPGWlmQ5)Y`1Y_|tBbo?wM3_o9Uoq~2#(3?2+q=9y}G)&wgQGIwCgyZ z+@;Xf3JgAsz)SVT{yHDS_y<1N>2`MZ_UYG*Ea;tUf)jliA!U{-Z4{RnZ0c?2 zj14-u8NbRVWTCb&NWwK3Gh?aHbCg2KJShOXq0Geb&`PDH65josRd`GfO`n97a#G^7 z2-=Wf5F1h4LSph0Nf_sSvI#dEi8lFzro)U4z^Gt0(k3ROjCVg}BBer@r=;PG4` zA)7T4E2yX-WDwCQaol~7FDRA}$qV(5krF^3-SWXbOPVrDes+*)7M{kv<(Iaw)oB;~ zI|sw85ZcOIrGRIOwHw%Q4x0@AJjYoejjn;J@iGDHdb>xS?M{1pXXozyd%K4Ryn!{? z5@R%Ib~|oSTw+;`q;U#j;=!4bMUAP_Z$R{s6=6;@D$3cy05^H2r_yJUBp^La1XqS( zEza-W+@#5A1UIMf>sPM+<-hvZe)kXkz${r7|N0fO6aMUHK7H=o+5hwZ`soy( z3i&tw^*{c(U-(4|e|?&424O!^&bwS*z4``N_BV-Kzf1Y^TXPA_CGY{4z#Mn}fH%;4 zB5(G{Pk~3y6yZZXUIgD$aq~oT3Ctz%jY!~l=bD8Hr0`qMl$|2KkxJezEpP6#V-|d; zUjMd*D#QGmEW5cunM3JF-1bHOOv zllX-{3I?;NFg)t_2X}7YMwn;MoL;Cm6biY>7BepAv1y|192_13_MiYPzM>?OGH>%j zP~CZ1`s1bvrbnc9W{jyRU!88OZ7kFm78{M5w{GDDdol#76Tz?!(u3=D%B$R)Q#DKnJ)&gPR+HyR| z_l}C}8Yq@A#=Nf39vtnp0d*=%^+E%iW3qvZ9btrvYY-rooL-#D?d zxp}g6Z@by;=gP%N9_Sbra--4&G#;U_xWu(wL3Pkf$uru){U~mLqF^6gnBZIkf6D8) z_$ZXS!!F!oI)~sEmlsc*Imz9NmoGM(t*^cQ>PJ8NvBpB*C4 z8TJM+i;*Ax!og=3mzQwa(`~o?NLeer)cPSvwK#DTeUtX05&WjWRQ9(JHho}pgu|24 z%HqP|A)bG_CW9LMLLd`X-fWRvwOC$VTEN}%_GmIFj&`he<; z&RwXMtL!k>9=4YkmrtEIg~Y2B{N&)dzIHU}K^+Q@K{}lP3D8SXLajJM%TqV?>=B@& zn()w};&P;OYR>44DW243pl#7w2cYP1k(gkpy(0vDE4mjdiFv*|c#WH7H(extG4jB^2A)$y{q~AZw;2^+SmWimHBLFKx#Q0|*bxuO^ z3Goh@G;o&4OqLZU{$#fobJtk^BUv$W2R(`+p&gx&o!D+n97K7SQ!r$KDaIb^%>up- z*;68=xF0y9gnYm*1u|-6(v`3v2#&MCG?9xSj8_guF!DfQ__2y>M|_;9%K|5|k_IjT zqEmWD(GaMy9-$r~hqxqT`kkI-pDG-wQq7Kl9!MpROZOyMBtr_SRB!}fGRW3cT=&>S zo85-AsZ|2%u`YXS2sp~L+#oDbF(uM_=^(~3G#rObM#e0DS~`82vc2VEp_NFkjqc)c zG`u+y59u7KR9gN}6sjklKZs1+Scke4xx6PM{Ml}^!$-rEm|1|k#L+rv0>;ZYgGyCT zdl@BK1ZQcR9TZ&{GsyR zri9Up&9K@Pi-u2;Dzd ztt~Gukrc~hCm9D5cy56mSn zm%w+D1m?K&cT#K03y)!*&X1fElPUhK;S@7J&m}OI!26cK?A@9YQuv+D@1qKO?kpEC z-48CNv9p**?ncJh&6M%@3}%}D*e_X_n_{lT%XBh%b|z(}2e13b={c4)g426|XioRZ zb(HI}Az-@&j8rKUU%!66+3y0XU**^Ml@i`5hmSV#rgjRds*s{EsOVlSro6A~e$}io|5$jKoAgaZFww z$b_2#S!Rje_GdaP^EX4SA{~H2zz#w}$S6&a;acF}C=X63oKh*Zd+qDjuMv6v>^Z)s zC#(3fG%(?2I_d;9ChlO*vla_#nW2KIG28cmr>1A5Nm0UVn!@LLLGdJZW7nu{PE zZfg(U7<=q0Msi$^$ihsV$|4SkObQ0Ufh<5wXV~99+`mg+>=vsv6b`|FxU+ZP(WHz# zkNSM$FXl$SHwRJ>atyS?kfZu1}{YiI-qk%?!5wsfX<|-RLiv3x2A9TBrJ7~3TY;WOao36wc z=OC`j3(J?zU)tO_F&<3tjt%y9c%Uz4J|)K0Dk-A9Y$asEKUB(q2WQw&uAGq#KS^zE z+V~%J=U9@VN31R{V@8dOk_sZAG1%FPcml% z1xxWukW}`T2hff^XEtQ0mf4yj#{K|R7|C;xK2$jbg%|V^g!sqMi`d8c5#S(+&`(M; zbtHtM6k+FA_TECT;ea2@&8iI5i(C(6kpgLOgZ$UlmKxDXP26v0(v=4(;anR{^c@$R5Yt=OtYCoRBiH0{>^F z%p@I!XA+^zS$wEKlxlUB&MB7NOe6s=>Av zyi;Z4I27ghtYvV(bLL>50OKbse3Zyy9eT#b2B;KX@EJDc2HK)VYY5SsKW@lvI%d>o z*KhX|Y2`fy660|`E|XbK3ZEq=66vK|1}GuBnkAnGW_eVuDS2_z0u_*}4b#-$x?eUD zWaH$SdksDdnjE%JCMlS*_Q~fz`eT3jFa6;2&tF+*r z^ZAcFJ4?x{!qI-Su)LV(Q>R=GtLGQK{0dck-E9W1Tzw;LOPe?c(#7Y-I@>~YyMV~} zwV2_~DZ%?Y^JK@Z^INT?-?lVtrDx{SBuHrW)vIs(gP-|FZ<~G|IhVj(0^cPPnB&gh zAq~xA_mSsuikY3iL-?GtF_*vxQUY|e8C|n*3d}CwnqU_5bpq2OtRtqnzM|9Rxr}O= z?-^q$&=K+3+j-2urlbK{@!rndHi|KQDtMaL{OKi_Nfrn5L??>mnk9`S%wDHOT5E)z zAyR&taYZ?Vf&N5c0X3QG;^_hR0dL;Dvvs(CVq=XB)9^*n=?-hP< zI&=2D{a$}?r8`T zKpn<#naGSeuLwh89y-kzQz4i=E{BK0W`|SdMpl2~uu#%b0MmbM^GpRv$bmEo&ZAiD zTbcUZx^;tX%FdlV$7j@h*H7A*7$+3dV$IDTVh@Uh6cjwHfgTH7$Yg?tqCwK-Lv%&~ zG~J+w+w443j?FxqY!yqpJJ=obS?<7Ht%gjOK|}zzkcP05>kCEgD*2B{C55JQ_76Lz zk*tuIT+6TtW-Slez(vgUi511-R>%q&V4I9<6f*1nTw9T0XZM_$ z6NAi18GeARKSN3s3TlaGU@C z;CuvyIKtZoF!(t1fUL9|G(nnr%^&2TA*`K@M(lMqtkz3wCsskZ$9<4s{9e!uLp)Fe zke)tw7G5df?(IAHcwrZ=#l;1j;@rJ^Z+Ca+^*66Jmg-ME_2laMDy6ZbUu9uwG9Uv@ zR~T3Ne7=C&X4;cA6XHk1L8Vf|()q%-GDU zc6;;miOmz2*((+s!y7kmKC$)0(@#IOzk5K{r%nLHui}M6V{=+;GFe?&TUuNOGHkWF zsu6~tU=b#4an^%$5u5JTInC>5Qf3`yE5TWr(_eXcJmJnyTC zz?JTqnY**IwY9swu&{_1d}1^Z#$)+t#1oGV4A`2u*F|Hkj?Ri^;|U#aIkb?v>0)15 zzLbDmF}Tv!V7}DNT4ic?P)1}gy+MI=DpZumzFDZ8ujKu37? zNgBW=5;V19sf7p+%9lV{u_`WtwRCgZdZY45O{U{(1gQ)S3XUyWI)gI8NhhsYHnM|oaN$ZV%@Guu zf$}3?P~@_#=_9Z0YF#8|HxCRF6^2gfX>INUte2m;Ye;U_^r=A z`xBr0g<7@x*vj(y>MGp+($}na})|V`&|)DP&Nuu!u|ilb0`k z<>l8l*H`H_4<&o};%ENhKb}Q^HFJrV3|{|U*F5=CKmWO3yn6MG%aX7534A~#@JQ#HUA{H&J_wE(7QNUmoL<|VBRF@6S9s?OyvRq`*+s-V0LA!9_5aP%%0gWuve<#A(ojNG~xodbGusG9}fB;W9%9a(pUi%8ReVJZncV`U9QH5 zqQ!jkV1S)qfqj|UttPlF74V-U*v-NWdXkV%$LWa?ka%+N7if?3@5H-vB1D87enA-R_%jz5$wZ_Uu`Z9!QCarfn)KM36`f z3Ie4;f}|(W1+fV&Fj24`yhOs|G&747I03LVVIK4%$98Rb+|<@P-8SEKVm}-31VE1n z9Zk!mnw{>)q3^Vb3Wr0Gbk@ZYFl7Vm6-mr7UH|bT-ij;Ykmv70R7A0X-) z+&ehHEEj<=G3IU#WW{8`TujGRQ>qMEMImOV9`SJO1uGidvweo76#QFiz zwRlWqr}7V0351%((AQayWJ(ws9`nChrxn@=z~&ECgb*Z z+h0V!T*P+1J!XqYz~K&G6_mwT{{0*C07B42E|}}z$GqK)Ef=_Y|z?(H7a@ZW`FE9DkUOMA;KPZ(@-%xt~zRT z2wR+$^y49D*h*ueySs-SH}a@d%SU|->Tx8Ea-neyT}P{{%ja2^xY{qg$?? z*mIy&I-~#C*)Rwd3e(%Z-0(d?AV>}|bOk(@({W?)u&|H=DxuOk4yabqwaCM83q>lx zxDQ6s@3&e0>YyxCPNh+tK$glz-vLy0Rz^7=@l;i zs2wYyz{K41wnP@ac4$OI4gjHy6o*QBa&Jz*AHXLu{BoBH86o8iA<)kt(h59+xoBs? zkSH3AA817Qe(a<*}h zCO3#MO$ul1L3!}2EHV~t{OAc&wp^Yf97hi3C#sXs}13&}!Bj^&+kwmMrQG!7FuZ@pYyg)<9A3C`m z%w-ftIl)};9?cSrL0ftU@KY(icVX1Q+e`eD0BC_g%0ef32np<>njnBaEA&S$EtuH` zb5f!p$c3hmBGD6Vp?s38R1oAUUrDw|#`QlMkOGXS0QEo7EZ3_vGHj&UE z{)jJk7IjJa{-xy5xrbvofY2sl*0JbxB*ak$f8;Z90|hEKNp_ z@$&d+Jnd{F*++senIz5echnT0@=C_>a*|F?W%V}Yhd3X^PunrdK~^j)Au_MNmB*Xc zZ=X4Jf}H?UrMTBnXW#Dl=yMj(xZGGc2pU6C5 zJjgdWs>;#9OFSP)6kVGSO4aZ z|E&ZElM(;U`0My{|H+?C_m7(`@9ysX!+-RTF|7WHpZs6`#2^2o(*oY>FIBudRQ+BH znx~sfU@n1gX9>)4=WplMdzkik^~xT5@z&*&{gFV*F^hk=fce#20&@wxe+i_%Hp@S| zoCVUYM=odS-zDIbz=OAMLJz_*hcG_fjF4#}hMzPK@@`Bj$p0Xv(|~Dwq>rmCuhR;@ z$7D*1S6ESqG?Jv@CEou@;c+aUxdzol4KWEx$%smmG1G!=fh;pQ-or6#HyHyGS1gy? zm_hLoIujLP7ddj@9DzGL(Q4OPXzm{{J7vO&@d$89d7(~un)67Bobi83XYi6@GddHC zPO6+5m^#iTG+TBNA;MgnCVpn&$Yb&pPrU+6aA{1EgSaT+h;pu+!qn-cT@QYp>o=~G zk?mi~_$W{!k;B=#SJ3Zd9t!ylYwko$08h;CDHB6CX^Sy@Iz=Qo>4_FvqS7FdPS!+cb#!?mR5T^;WE<4*h)AoP`U|N1E>_esfBR~ZyaO+B=I;Ru&l`YCn)fBI+*MSM1@p5L_L(1yoU%Z*@=C=jB5^z zmPP)!BPQn~4LKnP;=ly*0MLUnpBlrb_z8dF70yAO%aO01;hGQOEu6sNV+G%#Alz*Y;b7 zR8z;2vfdc?N8@e>^cAzp@u*LmAyg*VZ zgt1cAMz&gG7etJn@7})KX?1Y2fhptpbLTcrY##15+3gBI9hbHmJL7q|!1w}D<-);Tl9IOp2FDyNF>C#7^d6qpYd##>6q>DutMfyXaTU_r5>mW1C6r<5XfYEe>05Dmm zLJ&3@L3n8Cre z958Kn$8GoU`pvJ#d+Uy89_~GSK5PHZsay5xz3z^?8(!!9>elc4e*3rg+H0@1_C9BS z_xi29d9-)X@Aby5wPv}B23V2-U;=O-je3*u@VT9v-?#m}JFjlO{PN46{oJpA#|K_o z@2ro;!(2IEtr%biERBj5(aAycwJEA%Z%?jTt=4FAhRNXpSE~a#0%OI2g$A3ji!M-$ zr?4HKh};SD(GE^@vT)eU`+`563%^IYfqhmi#!Q}~(sYeuF(yl9r9qt-NW6MK3eb5t z0@Kt?Q+4zkNMYzSn-n7j9hZpTT`jP{A>G8M{D={XI9j0sc6rha(U+r-kl$tms%!1R zSn5-ufK-;}sEXbRfl4gIXpd&MtHUlLfvjB97`E0+Q$Kw%R-Cp7IU?-)Hqgo)Gv(SnMO0L3PG+BD_;$=w5DRGGt9H8k;v%AH1nnd7x*A3!61N z7(ZnL&uR&HBqM=MNq7VyAJeT!F2sVOgAiYl^?KEBLvtz(AbkcME@l%p3P5o<ddYzp!YN-$V)@*Z1TxC zOe#bilA}_>{i{J0>xeg=PH~XuyF=?o{jg@i;0IADL}S)tC8kCr7rX`GNau>DRPNc2 z<@Lq%cfGa;Vo?q>@0tgiSxZtLGn$Y(Ub>Fjv-HJvqG_3skK*A#Fj{B`$@_2B!N~b= z|L~vup6^N(@~iY>Oy{S#_?Le8pa0=M^RNHR{=M&c>80An`hy1#x;Jk8-OqgHU-(0R z7<+pvGq;fX&Hv{!AN}O_aQ)o%%m3GBK7ak%ZoO80XU>%J$?y4YyqoXcyGM+bpZ*(v z3*eZb$v^!!{x(nfuK9uQ|J}gHpZw%^FQaV`5Be#;pnlHua*GJSQilE6v=ze5SUvu8b(^3?6uSe<<~n*=2AB<2N?0)?0yWamWC z6z3gj;_Ee&6LV&BkOj3gr+AWrrGkpHA>M1pA&bb$Br)Mx3?nH|s+TEK$5dSGMoZw{1RM*K3UUl_3FPK;P!znoG5_SX*5laE+ny{(Z8GGfl zH#$t$nY1$%WWEVOt4Vkwemx+Q6bNS1^fj7`9ORH}*&Hf{NXk(*c#A8ZMtaJ*JllX& zmfRsoXeK#O55W-9EKaC3P0h*eRFpZQ>~W5N!6+}$m#h5ZXDSYsdTD1D|D&KTyg`kK zgQ>85!Ym1axR~x7Hqw12Kp^E9+fyl?aglPUYyUfMc48fHsC6shEUq(zG^s5fGp}k|`EJFZI>c zHH_&oZi?W}{n2Ou@W7^UIW~|K0Md+;eLS|ekh8=E!(}Aql7hDZFDfM}N1JNdchyVG z*`YI~rQpj*1m0;6#F>ZVVyQ*Ag%lN1GRcstm5k!c&-&xR!D+P)WLR@gGu}rox!;uv zfH|GWXfINUej**80f5r}s7ER5?WRnOflLTxNB}JZ@L=6KJ5%2TWOg*}4Q8W>yBKP? zauK@IL}&unq$(Kv8C`H8CMSrXJ4A(p@VrtiH7Yfnjp3l$Yz@x3(-E*0`)&G?J=v)Q z03Ahx5T6WAc%PkVUSq9R!|l1*91n*N?%y8|c?r9O&+w>sdj0x!;y)hj9{}Fs@k)O> zo8YplFS^JE3=tTI#tU-HyS>v|Be%A(P80~RRbNIZ5P4&Q4>B?XYG$CAjd3QQo*W#% z`pWBo&ZoyGbW{R+Joo(bbZnR*FbI1i9-mO7K-g5&xPUV?3_t9454yc!;PaJo;X}7y z{NM*ZST7RaV$7lxhT!Iu;O3%As2BO6Kl_DPp_j#&RuiyqhC05FK+JCTj=h|~OKK8plytTcy_mF>g2tTs9 zx#bE-iM5OwD7u8yuO9%>P{#^LXQd~f#}#qXY**^7GGV!~Zx&3@I;NJu2MZ$=mPP1y z)E?ldmP^)Xb!sH|qpKS%5dmhof}uH6BsDTRsu+`;MC1JAUx0(8upk52Jiv`sUs)Va zgIi^QRFJ4+jZ1y3V6ZPJ!9ltw;Bk%*xNaY63f*U%jwgpK? zNDDC*^Td=WB8OVN`Y@9&&qa)p_X`ZgL8}>I9c%393R4AI(ko6G>s(P2(cU!;p3uRm zjpY~Graf>M1*wU#g5b#T=p(Z04I0-p!(k=SRD6j=>q^(07Z1b!A;xythH{LkEaZU(%ctT< zoHM!#rk19@5237hfGAQ+uqdQM3mN*PkjyanB!{9=CQ?L8WJZCEN3Ck@`K#CKl~Rug zOLUEVjtzC|t=9g*!#Cb|V?1IFh6+d!KvlkNMC~a8OvIi-@77@Rk(USEj>9w)g9#+aoJ{oOHUM@pu>$)vWIf1OyXNQ ztL9tsasR=itCx51qL39{7Cy3iJ7ytcF|4san0g>4P zVVM~Wnq3FMqi?@(3+S0Y_6!7f#(DY2{?eak#2^sIGV^<15Uk^${bzn3p48W_UU~1F z&wR=jg`fHL-&o}AhP{90J%M>W6Z(@%IOAd4UD>3W&&D zN;(PlAggUH!2jEK?yjx5lNd8pL>Y1jEm+q2VTMU3t;bc5EEEQY;T{S=B^E&yAhO7q z+T|&@HNh!&lnB1#N+(?QC@1{jd6(#+ty-Ne!$#9l4|i1H!ugbtyS(@hw!mDKiMU@O z1&~;vM`rs>am%<4hhG>iO&ZN6?jS_S0A7aEDG(uZB&5O2muQB(G>+ddoDx8V=+cdv zo3@KZYfUj3))M4c9WBp#5#xBP54P~9umjI*9c|34OKIobfo%qEqftuH8~`~KEEGW! zN}vY3G%favVpTkzu%MP8D53}4o*|I_QJ2+~TDx9fZT+HTV?)f+8DnuuSSS9A06>A}hV-roH?4_<%m^+$XAwQBw9 zm8%3ru9a(mn>Y*~9RWh&98PQXaYl~VF~U0LC4dJH-+1_dr4WKze&E*a7oNY_sMd)G zQ^j*U59mBNIzC21>pL4DFuY%mNU#!K*9WvweySIR!dKXcR>GL2twwMZ>LQ*0XdNl* zTBtRs1?`3#ni}#%Y?f9vWC^{5Wa2&v zKjSB>oixJevdC$1G|9Nnh^L-oLD4S?NExk!40K?#ab$XAOfp6XD|;o(l5ZRNq4zTy zv5)^7kRoAoAr1$gO!X2Lh$JFZmtN{a1( zA1ow+(2U^>{@e?`8mNOMyR0=f%(@^H9U*=RMDIZo3MWK`rl?+h^R>@T3~R0C?dPA{ zY`43|M|Q*cywPf~?DVDi z!lZ4qjD(yKfe9XVGnQ^>r`^qxG&4G1D3ns!zfh{WkPf9Wd#;fHgAo12A0LEjD*OF_ zfTH*CqRgD2(*&D=W+7j*E}1H_iWXZTX4Jz55>O;8HA-A&ZLAqm4G=W~^Cr|88 zK2a97#T-!%cE}S(oLQWP6yFz^v^r6Twt~)qvgoCZ#OClj$4E8&CW00=?`yHSA3qO(kN@1i{}+Gw5BpU~c9HH+^$XOpU%rbJDW_`zRU$I$m^_~oO%ngQn0&>X$&_-Ubm8}M zOmdv&I74I#o4|v`FY64DU`m$MGfOozJp3w`b22Cc=`sJw)S{nbHq5?w$7oZc(Bqo!{n?HHWc*v%V))-)m7#srU z-Di-ilhYGq#nx`cYC|3LaU>n#ic7Qza5rLC2GkSc3vdREEI%)y1$H8|N+d}<$s`|? z7(yop?x6bNxw#%X19~RVBzQHf6nLZmQOt zMyL(FQjQOBM6oYXEeeQ8*hbG}R?7-mrf4sMO;8>*oZFKdZX&;DC<5QjrzfLP_vCPW zytxLHS;qSi9s~>`BOH*&$k$j|k&wy;_k^rkQ7^6|7zURR0r*_QAR4nU+~OCE_F!f> z8}|AmwwRj$d{;!NY$=)Hm&Ztf6dECHVhj#g!&HsjA*h-Vcp!2t1IPnKoXtlYYa3Uu z>|DRH-EI>ld3<<$z+39L8lLut503Z0_xJq3+V;j;XAQT=TC<4(wl_ zy@&g?O0`+<3Y%RBca5y;<>3_b3N0gG z4#ZIG4*K^V?A_gacy!vU)oU-@eDQ-Xet^)=!_yw_+Pt05>&%p$P0rfwX1&%RmNAH_ zy}`u}C}f(@R=n0q_)Ib-4PH?sGB&H{tOOz^zjmYK1A5HO39L~omFKv2Pw_UNfO%tU zqsg#ZEVbH=bs}pIyN@32H#$x1zOmLQ<#z(MilM~5iRz>llmWun_6<3KeIru5!s!}w zq9cT12?PQI#-fR`;E`w16Z@Nx8gzgH8Go@o{id-GT4rkmmchjh=u0u`1#Svr0&J32@#vXZXJQL zk&y8mc-~&DU10GcQP6{K>2O3&+Kj6$!edS&j_9fbvc!CWCVll^-W&m}nMG8Yz*@*>Q{aPo=v>xA z4(pV=B$z!iZ2DaBb?V)A|Jr_@C2j3gC7l}CLz%M#ykiv4*5#{-0tP2-fW#s6V zT4fbTP|y6ZQaFjBmthrI$sNOiB4)kqJU1Sk&KeC?0h*O^wcV05klu;>s$u^^l6KJa{U|3HeR#<1AyJ3fcw$YYP)I(xi`4igLu2-0zNiu-ntyQS*y~NS z%r6f~D1I{281=}v1iyy3;~SRp(1Rt+hR#MQ+9nOsea1U1zK3Md-~ht$r!CQvkWXe; zk-{}?iKkI<@L>_tZ5O%X+Vdj)af)(?w)e*RpLqlD+zp~B=C*tXz_bKSc>lK#DJfp(YNE;ANL-d7qf$9 z%A#yGYarbp=!^Wz*~BvCF&&ebuIP3-WlJ>tS($vL02odw_~D<`n0TN9ry?9#dQ3x7 zWzJ6{-7|9pXFS2IlO=HioW0I+Q~cFRu~83xN6ajk_Bq!A>LRRVtJ%N}5w9_4pc1eN zX(Gh@%&C@BE@(rV$s6;g$ibZx)5YW~#ACbQi0cbnaeaaR$J|C^vdNg0MuVJ%!9{AE zd1WTCN#Y{B5h)3L^2VEQZftF}n{1L+PFN*vagr&OBsmJjlvVjq7xP}B z6K<#=8f1!`c@HWR^)5KH&Jd5nWjal?<6;r#R|EtSj2k0LXw;a`)WC(i{Vv|F^Vx_9 z6=c)(D}*LxoOWS5tjBgC{SblkT#+D{)v2`Jbi*Yy{1E{BjMFTjbsr$8s1x_P) zffxgssER-uAvW^4N1H%}>`=>W)E}Idx`lRit{qb9Q z0&w6>58)X-H-Gi^)s1%Z{A5xq7cXsYoOb)8!3ZD2UhinDv5Q9^h~8v0n2m`IN*VDW zF!^GB3VKtom9E{`y>%aUGh#Z`Rtb=R7E5_t<2A_WJ+i_eQXEvG2J2AYs0(e8E~L$o2+DxcBvcbiLUikZ98L3O1XGAPjHS|3 zQ!OYRq0wrD9HRq@hG#EvLkQts&`?E1o^C{?H-ak4#=7o$(<=T}? zgK?igKxd;VV;S;vYdqrEmr6Ukn>TOXyn5{#;%l|(Zn@9@_7}Qu^+4WPJOErpR&q%| z=rDh{3WJL8dep}c6TTQwDve0Ilf%wtMpXiTaVgjKePrcdsF5{O!aMVBmBYMWBd&g^ zNJZ=cg%~Jks9I2B3d1Zu4GE;)6Hl#~#CS^QN_o8x@|hmZACwb??3^ly^0vmNK#Iz! zO@+WaAR)ekNkl@a&U0)#>-!!#W4NOGq#DjD}nKp zy`dpabyWJ^xbu7Sz*C%*f8r;93a}W^nK38D+<5J^*NL<7wZwOZ0$B5p{pBCWt2)*7 zFaFU#!UZX>yz**FS)ShsSf^0Y%M9sanGKq3X-FcBJ(Xv5yOO|40^d#&SmDm!PTG7% zThe!V`XTU)$E&231XdFG=15@iGx{4qo%uudYdjH)AJ``PqxA{;%w){ENWa+eNwZv< zz(k>#(M0)0{zNO%7jp-H=JPhWt{H?);BZnJ`Gq~=NAq%!iORi86$K_jaq};#aoVb@ zija#kmj z#_WM4^Txyu_M(jd2TX~g9(kfMQ>RJHaL@8z{_>Y@J@@?1&JJzkfz!+2JhddIn^tT~ z;^Zuz=F-flh|EGT%wG9trc5u+yX80m3S!kXnwptRvu_;!DRM|KT|Bw~dWD&5fMXE= z8a>aDbqQxy++2Z{sSiGqx@e$+457p&$|D29gbBb7E48isClQYA4QlxQiLbO4KCp7UBJzZjRD=YkKnlBKg~>9aE+bi2nu4va6IE-0gZxq zL_lyQ;}S%IyXNcz1ziI4LZ7;c%m8$OdpTR}AudvgI(n9$<%bn^`6{x7-~OX!yG=wF za6+@dDg_lJ5i*bj;S`LWfNLGt9j>@|#g%yRx@4RU=K0LZh{S3E-Z!t*@t+;_29uNF z$==ayFlm)*=j_j>UTnVB3+J+*9Vk(RaemI5+@1ASy;&z1Epx@AlapSr4*<$6o1o7` zJZQJtohC6h*!il5+naE3Zd7d%onpOlUOUSTz*SKs`PBhoho|{wxqMbDls8N3?e+01 zulMKOdaK?jHO_MrrhE_YzJ0uZR46t8TGq0&F}coM{eG_MdzeW6oZ0^#`EC*Lr65*1cqs*;^EFR@yr3@uFrB^H9xHycjwL8FE zY$^EG-FsWx+gGpND3lA`)823V#%DkN@sF+V?qXQ%RCzunSTh8$6QB@!3xuh_MLL>U zWfMhqg~JXBJdRT(2VB~7G%zyDO9+QJ5-h&}@c9Ju;4|EYeNF;}Sl2NM0G&kFf4j9^ z--lsPn6k#I3|LO#F`0rm=SX&FaR~*bSlX!5dSnY*F;3Xg`KM5!3zkhSXEPi@iJ(HL zjn4M=96X-AF@XWgmbV8|1_4H!sl-8u1rMlk2z9CyhaR%ocdfww>DUuW3tiCw?%|!h zsj=pgk3h|!2SsY3&kM&OJ6ViB2W4&yV9bgTb^(E?T$xfabcIPZ3W&js2L#H5F*0fm z%ve051>ul%kXNo8mJTsG2%BJj8XaZyCHAm@O(KIb=7x_%l$;>M#a6r7YBhqIuL?+X zUZV(KfV0V<#$KQ7R!4~8G6SiJ7@njJNJUf49lRhHhHH(yR$wK(zS;{xA(?tuT|=7gqnZj?wfnv zBgXUTDQhLVMK_A&wNB>~AN%O7o44wX1|jX)IuSElYqb!Afv1g8lVgLws22vX-b}Xq zl)y^SGA`sS(u7qbV9zT=woovl@%0eRjT#vOwCoU(6^8KTLF*(F1ud&ulRQJ9@s&Uta^?ZW zVG-U_`GCQ(dzu1u=!0RP8lY!eVeusU+gj!(Ny`Y&Hk9%1|O z9NLQ`%O5gKX|f(PQp>!Kl*dmqMWux7ye#uXYQ{@Q>&XZ2ou7u2J!2r+ky4(d@y)vH z_6C=BGN<7A`g@1*%uhG*V_djD7d#b1BwQS#A#DsgqY zlE6v=-%b)(;m+Sq+I-ix#7yFerx$-HJn>+4vy#9{0$;xb-r2>zej4vu;xTdOBa3Vo zXAR4A<|#2#A`^Ywg73(m{a7d6=TFW)f=-sSpr2}I%H%Abd04nnLN+TK^yAtqCtMsc zds@&jDXy8!I-g1IYLO_`z(qDsW8&mQORrHTO++3JzdfQ0PpfO-W~E0bk9a#A{~nxj zK~=J;2h~P119Hi*WUEUvrNk#yEV3z=nBI{?wuArR!Bcj?)O)0-mS=U4H7G5bp2{Tx zO2Y>6;aoB<0izvWaIkO`ocNC=Y1=f@zYgx4q(fJE>qAE$lnW&{Ww0+|tk0ZbKj zIgy1nh)+5w3J?+Yki4FO)QEwrzn%R1nZOx7V2)t2r@cP$MggEJIiL^@c!HuB9WUO) z3ylCzv?vqiF@CN*Dds8#H$KB-mJgx=5OLt_j4jlI3zsaAjPY9_@Uxx zyTW9fRPD-F(>au<_<_QKw*lMzsgPoc-SL|3e3fcJ5FU#%Nj7}#@F6vp2HbOo$w7b2 zh3{vFCTI=d%{a|M^SQmfw}+$QpgSl`&bI37Tb)gyXIf#1=g?j_+UZ>ux=@9%S7F1j za$9`{b~9oNnQR6)ZBC#Of{YUT3P-OJBi9kA!)Km2_E%cq0!soPJ2Ke1#m zIv+#a2>f6T?|&4Jw`XC#}WRXbp_v@ zuxE;81s!dkKa3yk6OCkuqdZ_D{nSxa8m=Hk)ufMxlfh^}r?OHjqCZ4{UP&Yw1}?_C zF4NgtZ@tAT%k2-mxV^mtv}o_f*`MJYnn*oHdu2`iobB|{@3=MK4Jk3OTP&lTWu^pG z!@WGDriSL^QaZA&w4y2|D=sGiLR*0R>N{kLs5J#7LKX@|i|qJ1`Fg}i0mC#<4UpOJ zy?V5}C;~nn`mj3d4C)q3f(_QZ;aH|}MeBsPBP|;4$vo5>`MmJ^CFzB_n@Vt?=8u-iR69ro~%9!(-ff0gm4M@XLn zh;5bTpXbN58h+EZ)U^m%p(Dbdg13sO1tUVrJk~zcm48|74A4r}*jSc}!ISX?ev&w# zL~-na7)y9<-@JagEe2dVn+}PvkE=IeZM)HY{>F2J+Sofe7>`B-(_mGN?FV-^wwvWz zv(a8#U%UCi5AdD@ATlpT3@78eckVv8zsJI!qKp9~1e>&;34;$XeR_eu)@7G^jBaKVx1;r7;;o`*b9Hrdb&i60|Z;Iz%Af8U^Fy*V}|BRiz8`-bcKQ-R5JA_5Lk;& zWj2HY1Ijn`h?Hb5I8$^X*$^!hR028t?qrfCBU^8*O=0^N_6d2)P_Kgwc41=D z9IKx}KgI@9C7tR@6-9!{rZc8CuMVeu`3{(7{@_%RGO~e*XL)#&C3=o z(d}i*>S85NB+L(AF-3yNQPKRj$1qM-MLA&^bf4%7_iWeH?1x0{3 zh-ONvKqlE9>jiWZ_5ndoPEYUNy^s5Es+FJa0^8kYGTO2`_vD9OD!h;(;D~ zhV2>a0<1W^FTn!Q3^Fd_{;LfMv#}lG5UiFr-z%Nw`lYQ&30z)uE~G^x;D zbO=KbrNw0;l2ohg@MW1&Y4_@7^O!0B+WeKmuq;G$R(SsMjkRj)c<=Dhy@!+jSn$73B8(VlFq?0N<0S%w5QNLFn$g{c*3DYq&C

    YZm_Nqe7+UPXs1&8z>F|tm{IO$Tj^yUQMQF|BY|O@<{XP+XiSfaHmV~P&+6^V; zQ$gVE$qL@tnE_((;)g4lG*|+Zl@G=(#U!*j5cXSl-Xe<2hd%tBmoHz1L;9v=T^J;n ze%hFvOJvaJF+-Uyxpwf--5HNW-Wd=<%fb?dtn06FRfQbD$>ehy$*`!Y~d> zlc0={8MoXhLdx-m1}s~O5Q>RinO29&7E{1D;Kfe8O_GSVSsl*Ev_No0l?xv0qh zQHh`Up>pGe=g3DhR8v$ZrDZyK)H|CGpcZ3hkl%-L2z4&K3)>5V2nngBu`9A=e3&I; zD)?~&*V24A7`%1o!QuF9Eb7Y+2?QqY5fwf>zXzxYxv*ZtD1a1!?1>_R801tn^TFsy zgkZlo_@gh-H!%cWH{!buB$ur4Nq?tqBO7Uc(Ky&9O_AArv<67YODepAvbnKw>$#f+ zUc(sho(6$76g0qWrCPsqrOrzu^Ge~MAPIWU1g;aZRv8+x6Tk!ftMoWDJFG?~)ue90%6UJVOBWxD1;wvb5p^CS;h+2AcIgvLARL~%Iu3rVI~;aC*>rhoFggfF{Pjqk}ldHfH*^o#%P z&F#`BUJN_+nXfQBc_7SUr)9fndz_2y_MI!cf9L0a`9J*=fBLcfV#KB>)lun_G*)*j z39KZrlEC{<0xR74{im}P$14e}B=C=w1ehN!exuXw?AN*ycviZTg=eLQ#GazVuiv2d zWd1Di8T6gY;8Wz!;*1MQI{gW{reRO(tBBjQ|^Lk%zbEwBEwccrYFl2H2<<>_W&p;2f#FR0^F1m(2Qf8ifzgs#G)V zAzp}{pOtDQ0Lhc%)7j|k^3`iZ>DGpvoQm$kQ&^K;TH)CYP8f6zY=}Fe-e-EiRVuA^ zi_FNUH#i}@1rng%bA0asqbk5KfGUF7;8mbcRUlfC0P;`dO<^H5UA&Q1p6-tv$^%V!KN+q?BmR2iOU+iaDB+vYlx8`-@t<-D2?Hn(uwYOOK@IPMc~7thvNuGFZu@Xloe!H$v~5M6_S=$KW0j+nZW!v~L!9~_+x zX4SJ2ZsR9CqC%Xlw>x#54_VR~4~vEA?v34lqW;MbedGho--(WaPxSiQPQBg$*gz-0 z!c&r6Fu^U|Tai7(1P1LmE-{4F6_7X%v+N3*Blrm})YZMC{mF1ryFxsHInAI&G!8~- z7}^keDHd33+1r0O8VzsWy!pZlw^82Fqa)s6K*b2-^rWZi^ZAYSwMq?58s%0{5FzoO z9DJe;#~t|1L>GVvw(P@rOwYnb6f2zYPwRC#0U@bXbc=I3KD*%Pj5V+Z{EV;Ys5|QR zdSl{?oHNeg1{3fZL^ zgvLKH&cb@7N{HtN_wTbbg*-MlH>I%5X_K%`TN-Ei1jkkpP?cOT4spjWT$Uqe=p`$~ z_2Q5TA-8l;Tyb%7xxxPEcf>L`57fDXsrX!ce{gFPkh*NpI?+REO2?Qxf|HQJ;T@;< z`B@dNDCqD^&$l4gF-qB*P!4Iqg%2NB9+ZL`()}9ZgMV=*KcDac3$Bc!Kc6QRW0=wX z*HR1s03ZNKL_t)B$f?+rKOZ(Cn!wX!xoQAX!Ic@~ARfkfl|ba}Hm<_0Mxm*NR^YmK z+CAx>K&8r-eTW*_U|-VEzng&VR80Hrh8|?$66h6dT5DjHid3@Mz*&A20arfpj#6RWt5Eo$QvxnAUlZllJnF8GWqvn^@(Xh|p9 zm)$M0n&FA`C(17BHP>T0!H+d^ypxU%f=`b0P^o;Y4n}walx4MLz3Fk?zcucaHf}w> zf5ug6{j<(Du97{q$@79Z)lum)D6NuK5?D!KC4u*q1Xj57`$}EkIA;AlwmMc4SV`a; zBmsZ^eiM)At(>Uj;yKlLF~yn8f{!QDv$8x~rZZhj*UzH!`1k)JKlA52+gp`sYSh83 zhWUv@Nz@wiK`D7pdLTp0sGV`fv~xix@@Hk8H;^7P9zK}{i%!r`CbI4-$m`-`;?{!x z0LKv~n3v>p#VWI80z~jWxs3DA8G)cSPXmAsU(@V#56yoDl#D_ z@^AZ|Ixo_lv?qKBPN|WZkGVM#&E!j_cOMj(914jjB{EtUnMDJfS%{%P;H2Aq<(040 zYE^<=NG4{isU4x7;M^)GVhfoIdl${+q+21$@!$8%c@!K5M~_ z*U62@yJ)AlR<3N-^BeW~cqHBswh_E7G^>2vUGVY#^)I zU_8u6T$((y{NZ$XcyO@3wZ68sIX~}>=dIE$D1C#QRF-P}CtunW!6DyGir3SRtd zz!>ieXe)-N0S%`Q0zw<8LO@-_nRS<7XzI`;X3HSus03|Vp?OlJf;aSSr`_rg3U9x4 zXKQN<=Q|y4v3c-1g7#24x>#hEHP}Q0m~`kN3EYuO^)W66;glKbwlMU#NU=&&k(+3{ zqiAZo=}8v$IZKgEESiHnjy04)Ce%$ym`7IBstxnV&ZhQ*0r1KwMK`8$-;CfnQ9+9Q%H5tZ(1Cm4E%wqto$_Z$cL5h?c}E9HiFPI^EM_w(+c2 z8!;M%2zfyL_6$c~7S4bx86jC!1XX4nmSgCPVNMA`Qf3cRh!UW@R_-($ejna{$l_AO zKAK`k?0p*6!k7VsKV5INFK_SG*=W;nKN{IJSi~!Wq&o!g`UZ3q0|K)??E#w?gEn>v@?nz zod%rARtlLC=#+lHL5UNAx@a0f^Vc@k7_8uRz}p*R22m9+^R9FFwVmXzO=-Sbn!jvJ zh7jNLzI;G;=bV}v7Q!>~XJ?F0yN?{wK-HQm;?RI(kh9l|6v$dPG}PXL4mM^^_ot>{Eev5 zU)jr_=@5+T^yB}X=|WhGJQtrnJAeB1`?ciF`zK0_vQ zp3`?g8D(u!pqhyud?<)I;2m!^Gk0% zpzL*$YRF^Bzk*E@v!HKjyqL`mddW~a0{Z-ZRntxMI-_0ElJ#0S3G zY_5o*_;u=_41%TuCs<3BAQ)_^SgJOv`L!Bo zm5@ttqbQYc*hAQ8JaE~7Wb9u#`CnAkX?~cq_%e4;5J^q|ls6zfz}X;hsJ+~-tzF+a z>>dveyG0xc%Yt$0!b399(p&a?RI674zzHZ2-Q?I{aKx+DxSjU8eE`Q=ML$j40!NRA zqYw!T`+xx)CpeFx)s_k0;}Lt7(G;Sk4ZPjtOLp zA1MMsbVEj);Vjo^RPYC{*SAY$Jc$3{Z+?FCffsMTaO>pg_`!pRFw<@l6$JFYOf(cK ziyGlcOMyRXOkL9+fJV77RzT*(CZCQ@uHeuC0r9Z}+Zi_ENBpzr30a>Le~4G>#h5?} zanB~EO*q8Sje+NgRYF7>ZOK3)?4hO`B;{OgVkJgzYYmq=v066Dl-u+l782Tvg$GYa z6i;yaCNx;7Iyg9hn$PluOS?qq-JuPk2kFJa6?$V2TGC>;L+H?P6!bCwbzW5->V-Dj zlWe9bUIZs(OdOdcpTUcnLi>?Ix)3AWDkJ!JTy+;wxwCds;D9S>@!kO^K}k6?GcD)F z?=&w=%Ul>qq~9S~*$N(mJ(!So)MO3Nk$0LUtK^FtN~m}ao^s*6!e-nEjw}%6$mU^g zxuk=cLOJ9W=_D&a2-#BQkO%|2vFbX)&^9;MMuka{wKk$FFwo8?_1c`6RMi?)fvgs$ z(?K!MG9DXdDn)o<+~yNxnR}e23CX~b{BT|KVu*3E>5K}dX9HfZXtq0R&Cc%5mT_sY zqdZn-uzh%89L1@=3Ovn=0hRLh#%8nDq;cvy$wNWLn+lA8%1d$aHOF@&CmyeE zRuWiAU?qX~nFLn2^ZQI;UoX4aPl2zu*ed@@0xJpp&Loh!Ui>Qloe}bjjkv!AL_b#_gzWqxpgi-nfy7ZWe$znBj6AfO7c=&ybLmZkma9TRM`JJt8GwP$k} zlb6}eEE7JLPEccZ&U{8cOTZLdC;=hCI(QAd-l(!U(P{T|IPCN0J5Fgt118ugURh_n zIL)tn>2N^RdO5<~j?cJ-13#D3A}jIM`Qu|z1YBX+r;d!`B6WGYxbQPtYD2hQq-O;J zSFkE4aRNVPim4hiLor&U20nz-WUJZetaVcSkC=r9-{@YHhs+YD4K^m#6MD1_`uzDM zRV~~j7ujD*j3SXHU#1Cku$fY&%q$gQf*?RZ48;u2=+FlcZJlkYh);+w7}y5!BXc8X z-+;J8n80z(SJjPs0!Kny`e5=ZHjQ%Li(0|GhO<$-)>vCxt2F9;wuKDmI&}?ClxL3Y z#2T{=FFAma$pkOOX1%z3>C)ELMzh04b0BQPMyq~h^5DGBD%hPOX7jm}s zYDu%Q2^KX)W)+SNOaDwqQYn{D<3Nf|`pM!U9;SOVNC85@@wmKJZEv@MZgTx8h^Ff2 zS6C)=S0{iBKvsxqT`E=GKF%8XKS%nL$r(XiDI%mx*)w)&EHfh=6G;I<>+Fc{a*;T% zMtdksi-b-A0Tc$(p;5pbz6dUn&sE@TbUu7|@^*JvUvG3eO+so+W&=D3o15**W*ZX=gxBAi&%t6`DUp60J`s(`crm<1#v(qVXYzBMW?H>B=XBE2p;2 zhjz7;hm|cF23{w3g8g=1HA40vh=qj@EWFcNs7a3$N5X)AwI5lR5sO&$k{RVB|CF-v z*&!$XCnd^C4`GnPdI9B;3gx(m({vUOCDHa`!V>hGN$K%TXy-^0N^#^ue9u_$oPFBUN^;|PzZYz^8QvsY;m|97D7jrDaF!-%F~ zD`+#VW7t!Rv3I31kr7@s=?{Ak_xAQrPWHRUUw-w~H}BqoA+}Ow%?9J3+pq-aS}jYQ z$|Y9u;LleDlq015(jmCg8E(G3Fo7wu&c!OC60@f{-U|fNW^E0EVZ^Q(pl+o>BK@UQ zE0>$qszIHGLn7A4QkNR%z|cZunI@?p(#gm%uZ3z=n~$XEIB5}^`S@7eL^kuuj7MCP zFXcC3k&+Pz{*@o;wpt2)x>=`ow5Y>+GY4vji-h}?N)vEohi3*;4a#;T`yov}E%xLQ z%tyXudhltr{6(qd6Gh>X+GTRqkjIQI^QNciR{9}eE>c|~35qL$$Hx;lkCTIXuud_* z9`r+?Up>k8h5X-)OV%SziB=J+PzVf3#`!jo2 zE~VPX*LSN|uCSfv*Cd(I*pS6UqTQF?(=E6Y~tjC5K=u?2m*;Ev|i~Vy#gJ^1vq% z;En9gt8~js6G*GKl1vWZm@uH!<-wDL$--2Y8zxC6dE!sBG|Oq$^crho`C@upXLO`3 zokX9rHA_&^$|TzEyf@WLS;Y}Na4q{54f%`A;FiWLf1YC#v;BhuqWAI-P@ilJrjuH&bZvX<_U$W#*Ff7xCnxwKuI+4WUD%-wLC17!wGa$hroK?FxK zM|@}kx+H0_Va*ngVJd@JO|0&{qJ=3alpOV6i9)+0YvLFY@96Qq*2KLd1wtNyjzxxKhp# z1xT_RC}-%Xh$y9!$iNvI$R;x8NMg`Q8N`(kw zpp{t_8&XQzhZQM1X4os?jdUxHEBZ3Tz`esnIFV1*g1&W8Rysj6Rxh*}nIjWquqB=; z4@Wayo}n)-kzx6gXAXHVt8|c$6rvX88BgUgq@9cs*#!n09MJDsE#>=2u}Y2I?8q;D zBm^N>1_G)UJd_!Q5yoxRuFC)ti^9^~YsG3~t=8z*d%Z4SiW{37TU(p;RuyyE+B#+} z=he~MY)HmR01Gb#d+&Lx-B{n=ruN>TPfuWwVr2p`b~-J-2^fsHW{cA4aKu1D^!rWL z4A~sE!LYNzHxx4An_~ar;h@_ix>2LnXm>W&J4CD4D3)q$Gg@b{ugt<$jtwrAlCWUt zE2PI3gu{OS^yK(xe}6n4HVTE^R(psz%7yVXw&O%_BFnru!H$e&$hRByje2vf zR2xl3J-+CCFD2^*TBeE*t*A*gg(?ueT}`V{V=6CKmkzmfq&y(dfw0LNOALQ^K z*W8_EPXA$`u#Bc80~ zS#(lgprfNj6(vndeantUqsHrZta)1_-x|}|ul$35@X!5$A8Iz5iH8s0e(~r3)Sq4Q z^E3b3FZ{**-x}v~z0dyUzw>u~>S{Un@BUjq-ucugKl{ zQXQ3Ee6+e=Nnj;`l?2|85?JBR???jEk8_VM;^FJ0D%lwz^(PU?qXyp#=Ob z&ycd7H5COr*vKXoLekQr61^&S*AESOf)ah z$)?s%rb{RCi1!jEH_vwm!wSiXK7{<~??0}@f}9#JRwdXlP-7v_%kV^2)lrc-IBz#LMJDnqmZHaSJNUa3W`Km*R^ z<0huQfH#W+_DPqwY?c(4DdCB88{3|xCw`>5m~snlP)0#97iYSJ z5SSNo#m9IyJ~%pPHtRcEJ9^M4LlJfw~fQ`aBcC( z?t|bt9t(6a!>`qv`d9XKl!U%7oQL&Nxij(eyzyKChMW4K<5&l5Cuj?po6nD(m4br+ zB?HblTZf84Q)#c7#GjHi1AOkpQ!0RnlDO?Pg>SPTa6jSsJMakdxB1w2jlQpPqaO4}SWX3#k);jFDP zdE|dI6&edEI-9m__~}o^{oe6l(4CA2#0v&LC&n}wiij7G9QMFMi_vAwPMBa`{MJC_ zjw8t03U~iQmN-LCOeKa$8JThc0uRREBRJx)kx|UER%9pU6vlv>P;{#(5DeNr!GRg4 zZ#<#TtNHVK;T%8rV4pTaI{tKM9*z#~?w<`Ny~94i-ihnXHiyV+Fy!s~a~!T=8^bv1 z_3)){;?<>9C>_C3fFXmiBKH#9@F!JZLMw9B2ajlO1xf^tG+zY~uxuEa*?Gu`JgI3) zN30oYJfL|FC(&p}VBEhECPvmnuLN<%=5S8KB@?!QW?1v#Pm59_bO9<*;4)Akk_(V7 zL1brer~|AZEL{a@&@0(7vR17I^iX)~?YD@2Lc|UBejJZ*H$Mk@t~Xi)2BHo0FIFBx z{)vC8iWbu{kS?i-HUh5E1zjKGKOjC{%V12%dpzt7hJ^9}IAbV8eL&|Uws>PFF?yLz z9m_p&14Nq%jLTk(mknG-#ap8ey?|Db2w7pcG}XP|C``ri?O@}R1t+Cbor=MD zg}mrJZd_(;bo#~o{P^gob@*trdWCHz(`b+S6u)0QY4}1fv<{+1*dYc6aeCBO08G#o zS_`;0>=iDfLD&WoNqjR_V9$t5E_muk8qVbu#XueHQw?v&kQAeVIZ-Ag9Qsps`Qmxl zKOnD5K9-dx1biBXmyzco2mC~qICF32ILW9*vkw!~CH+2YiXAZ}lN1$D4cfISQDxL% zJ<7)af8L*-o*uJ?gZ=OBUfI5Mx!G(p=If}5?)>2Rh%oC~wGtYhvA{9so2NnK2o`u+ ztqA)L5#B%Ow1C(9Lta+E@0+zQVu{4}By2jCo*}vp(b(74&&T5)JDH9Kd*dEID$d}a zpDw%{Q*Ywz+^N>qsJ%vvhT$s^xlN}NSmQqr9ckh#4803ZNKL_t)) z0~hHR^QX*~U*t@=(pkB2@P#jrep89|8=y;ZI~+V!%G_B!OFHJH!SwXd35=kZRAXfS zrk~oaMz=fI+1j8chQ6Z*4~cr;tP{27$z#FO5C7iZ|I2^#zxkz4f2{e@k34+&*Jcmz zHNNvDvVQ;i&U=8)WXLakoT-jVpQOIJTS;Igft3W_e-c>X&hI~+y*J0pp9m=%x6Bs! zR%U|`XIW3eVed_9^>ihHl?1*n38d~8E;jhe2}RNMmK1n;@phU1)i3-}y`=NCUN2@8 zPv>87^mO`y4dyiORaa^wvjp5#C=#=%1TLjg=?rlvLDG!bbVkxToh4*-W$hw0+Lvyr zo(ujF|6w+6SL^Zm?fFEf!vRnXAt9J8BT8IcnemBYFsn*Lp`5UUs30aI))f^pS+Qm6 zBqj0TRn#8&-*N5ZIOO}u>vSv0#qs2Idf-#x#3&ygZHwH@wZIFRu7a@80DKl{;NkI6 ztJN$vThSyX9S{YjxsF+;B0{3fA!(`CKB8H1snkf%STaw_5$#$s8hNsk!mwB=uW*9v z0s{|$UwI=x&1*w*Q8f}Hh;N};ujS4=$IO97Bf&f1BY;wXtMNJBvCN?OilI&?q%q4z z(#|LIxzU(F88d>z7KbBlfiD#bv(AXvQ7jPCQ@n`4!nHzUdwu=t?#@QDksA`z1K`yl z5v9sJH`H%4UoC^(fR>EU&ui@lJ3}#hWeI~iosCAjNC>Du-Wh5RU3ZV4%qpQ$fsa5-9B%W^B#7w$oD4R*Nr;$im4$Z8b?h~=hJuypf@w- z_H_a*7(xUN0&9px0);M&LhD2WfK}lfRqAEUzFnZ&fX+Hxi|!GdQ%eD}lU3*8%Q?ST zj7L&+<|-MGd6vGwAIt*-*|?+rH4Z8I7vhN$@chNUJJs9HlJDU{=bdoDo#ss?oG6p5*?R&Z=h#tXk2vsrY6Ap!#7Ru6o~ z@x~i(T)wp1ZnuvP32`$&}qjy&5!KI+6s#f2uw*@Uw=P;{tUauY) z*n+Sr7%96(4tb6|Q5kO!q=Fiv-Hd;(@|+Rk1MoVRt2Y|uJi>>nzOgK#*za8O!N%-X z*fZG>3G669&Bmcpz|`&{e1%CQp<0&@txQ}zHt6i0p6oq*Q0ufC<&O4ldBth}SB-%| zQ$)4!9}YRupS`!)J_sbwLooOtF<;!+;zu=346@|!z74YuUUJn_JM z+OcH4@Ic}N4Y6Wcd1M+Uu)G2iczh&7!vwqi#)6m z-C!*I{D5ewK*uft{+1bfh{0U0H%rycYGb|CT;JSm2)gp3OA9(g&0rY=K)Kpr^>JEp z;pPm>!CWe5a~6nb1F=dB>J5*D68Txe8I1b0wc4m{?W}KZuaoQUowtAEGyiw@WWUp> ze#eJi{NM|>(K9wdGilI5FtCP%fKMTZ$)ByQwYRsojD}t<9~?bmOVXpG4V(l@X_R)-3SDi!}`>Z zN(nt_t9D?z31e6E5EZA^IBOK4)3`|2i%WQxLOQamC>eAgr$fghKBVcA93RwaC3d_p zfs_RTK1Ga}oqhn=3f-8#Yj3x|@cpDM#J8|^F4LCvndi8>z_VkB+73HRHlJ~w)n(~L zeoDhk))*;W$YW|E{$%@lpo4+;?qk|DR_w_I~|)fBrwj_DeN=rEjIE8qX-XNa9yV9LFc8 zw{Kowq^>?!5?D!KC4u*=1Xj57`&Dz#9C-&l?OJ2NPB!899m@+uy@V9Dt%|3qCKjOF#f96-Ba3Rjppr|Cq=Xv4vpDpJ@|1yxq)O z)y>+3H|Pwsgkd4W>R4oxm8ZgBu3v5JX zP)=NtDFE&A3-*wN2#A|r@E8PbVbSAUXX`vY4W}UN zP$Zk&fhz&UfQ)J9xjBxZ)9$b`nU-r6#Ep;ja5@1**EN)=1>ml;NxwIk3L$fF=52pI0&e@LW?PIK+F*z1nYhOjpS;W`I&CW14eaBOuE+}V(q_!Q;~4L2&3 zLn%ZgXznN?~L= zpnBft$H&=N5N8C@0O;3&-F^Y>B({((;t))Y7}&uT$T>lClaqh5;o)PEUtqytM(rB~O8e`fUufGmh{QRw31OPZW>EfJflZ0VIMFBN>g915$k=nmu zljRRVz`(It0+|g*Y1>1hCOEKJhraFV4>d!R3({$n#*SFI#`dQSo_#1*YZzpX{t9KD zAmET4e(LJNP&Y(q35QC*8^p8u;J+&x;z8EJ!ia;tA|_RyC4_{DB~Afid3R3^D~(#I zUS^9vH3m|xl2~XVANI|HO2F4?h{t<5IVy(ULywMt@gD<>5Q*ah;mTE1QiU632 z(+mZom#Z+|T$wc(2r+ak$5YsqM3#!8Pw3UE7WfP6I-gGnfq}XkL_jKxSj9W;9T6iL zso&jy`zvpLiAXlN$(Y#lw_bSOMUC+Aj^RaZ()x1M4FiZ;ZGU4C2z0$xX_hLjPV@Su zOWi>ai0$z3kO0uVe!tz`?Dq%b;kbG0#&>+^I}s=vVGK8zP^H8J7gok@xdukdnlwKd zP&3~^+dJ#eKYwk#-kcA{)%DKiI_p98SuwZQJACu*-R^03bUJA7?rv>wbUO9%^bB4I zf5cJ|J7{9W1x{vAq>afC=xFA4 zWz8+@KX}gUmTN6Al$2_T_IfWl+m_lGcF3JWlBtXIM2DP-tEbYlvWX5XAlmpAAUAYu zp@X_Ie9TX@?%8zg6Mh%ie}Yfwf6ERQO9*k^9}IopC7&PW&aZE5^BM}vJWuctx=JaZ zym7Pl%fHzA{!iuE5SSzy`*Z*6r~mk$dLsXmH~D&1iRW@uM0Hg9C6x|~DALEl_n zf2}+S!uSK*9=<@Aef8xglXh4a4xTppXroA(Nq+|@Hrx_h)0~W}5 zV9FGeN#KBBE}MPunCX(NEpx`qi95=YY0>mVhm0|4F?Z0{W5*lwdc`zJ7h0z>0DMkL zoUT~2K#3C%YbUc4ET?BYa2jJ8>_UjMl_Y99{UHF$@(iNpFtb&O+<5INJ$UkbF$F?-Mu-Na1gg<+^G1pE z0TrbZbQ9wWH*zdlOZAd=flnV^XxD;&u_gT9>UHo6jxnN)%0eEC{GbTGwdD2$hYjK(IJ!l{!9^yk8G^ zZ7>NS&_ce^ZUd*rkU~bY!Feb%+90!{fTV8;>WIMy1(oJb3T`u;97pZZzsmf|zIvYAi@l3$TeGnt&@7NY&BP!Hfw$ zefIyd_vXQtA6K2{-PgC(tEyM4N~O|bNydvT%NqtGgRzZ07@MXsi>GG-dns9)+ zlO573gT+8m*VKU4_~Hntjuwn@MvRIU3YRwIMdOiRuocR}dZOBbLg-r`N$6Aoy`cA% z)0j#7dk9)pFlMh-*}tx}wmv(D7KNoOLb6E$k&-ZMdQSXtR)NqS)XkJObEu|OF`COL z0VZ7d2^^gfMEL|`*3zoWmxr~A3{e&o=p0f|2Ilg&&s2!pGih0%iYmAUC|{9AHmy?- zlPN0itR+})tRZOK_}0`B z%urIR=@b9=0lj*oKUi;f_?euV ztm9jr(VR+kJHBUtgm5r3fj4USA9N|0db2z3(F6P0M({v?&ym^L3-cGNmHN>Ghxbj) z^ai}UvyI!3cBkd5FnScRy5Wu|RDd?JO)1-Rw1QuzvrXfyE*iG&lOlya6QkB~BnpN+ zqBTRKxf!&PknK)5osxoNDQ$!3H2$bW_Vh@pG-xWKP*(&Si@x+5I+H8a0@jWK)jEBU@=xnky7A2NV6XKr3Ncgpz?t1K@Q*4)U@~Nk8z4_+1z4b>L_3#jVRi0fJ;LdSS5XJ4fF%FI; zFqXhr0xwhvjB)1|YRf$b-{}d6#||u=$Ds3b2x@$5EP-#S1n7NqMhu^s3B;rMuIJEi zy5RI+|5eC1PjFV?)432wHgk$=v&Q|eLgUKqUF-{?F`dy{!SH^}M}`+y<^zcZraj(D zhgM-ZCg`khT;9VSGC#A1jk3^P< ztTh1s2;8k%tGCK6c@AGP++xNa6J5M*VA~0xD}t0ViJ)z=NfkCb7{h9Nh$adYgE5k- zfDa9D103n%{1-qQ$f8%!L1(E@sgZ)#bZayOv6b5_ZWqA1YNhH#z1*n5YupvdQVQ@0 zmCfybkFBe^oz;zAchKIznl1c{u6HoC)&`QlJa1g%D|}P)Y~Xg5X3;FYrCMbOsVRWx zniS&9JTF_@+Z`}Ptg!JX3iOIE zjl+pQC?+Bh&9i}1yv+MCW5OuJ8L_S9ZFxO5V2D@7y#pMu`4)(6Aa1F3)aOuQ8ytzE zFBD>v`Hc>Gg!tIh&`%i?L~;~LJ@9CpqvU{_*HA%L4%psv zW@=(-Z52RldFArT`jY17xRfrIfJOnb*nm&{P-DVGwphT(9hkn+Y#=NQ*s;9ByDK~5 zt*oqK!v#0MyBrkPm~h8D_~INei7f8wK3r&I7`5O;1Bk7d!lrO&!@hV8rCQg!i>%UQmeH>c@Wh2ox2qbqjg>%W!Wic6MaosFRG=mO-GzV zld9+P7YG^}j&I!7+8Qp}XQpRZjJSB=Jf4_uJ#lNj-qh??BX7xCU{*Uai-yYtp>)6# zMHv^eGz$YAaIxAEVzKgEK{4e`pfc(xM5d_H38u81wJc7MNsUA4j>ZvBFpbRKCls7H z-ckfjs&?`IJ7*<0WP*Gw<*0Ea zCX(`C)`FvWqDD!BOKJ%fr9n?r_Hkve@fX#*9JW#P97_xaWl~nS=G$Nja85GyewIjL z=}H;+$2Dh8B*!*1t|UX2L_czRKm8A5Eyzey`WMWaHaiSD4rDAqm{hiTq!0C$ZEFeQ z%c{m!U)yoEyaR$3n0CRHOswzVCY^MMpEZ){iOE{g_wmErGT&L-*s0NetXG-1+h@noT)7Mb@F^LDjCf#;UZlJ|j0(vHzY*mr-Bg@5p(lomN@ zcdCOCql%}n1HzEwVS0_^NkwsWO0wa ze*WUZy|29M#_1v!dxhWs!w)T7UgYYYSG??dzvuM?Mv+WI-ud>o96NS&6tg?oCqMP+ zFFg1VG5h!Jeb0})lSOgD*BpQNNB`gHGtUtD{crx>@4EZWbeG@p-}&7SzW(+1jbg6J z#U&Xz|Hu#j(C%B5_{_QU&sNs%l;iMN0%Hlh_$1)CHa=bi61e8aJ6&S5^CGC)xC&zl zyl^Ez9|WtSKc-n_s>n5$U$u5ToHJ**`Yf(=bxca*+#MA@spJs2w89yc#hKu zGJ@#w{=O(D#;MGc%?r}UTtn`eeToL@(1AE18RuG2v#i$ED^g}PB^>_kg-W0%&(iU( z>G&UUPFWEj=dU%M+@x1VBRX;!Q>%c|BK``sls=V9X<$vvjS(g8T-UMln!v|_9vk)E zDVzkaoP*b4NwzPs&WGckGrufsOje7m#HeH3y*hrB5;@|Y7;hQnE%uwjDJGNRz=DK{ zlWeo8CFY(@>^Zv|OH0d4i`>%*@F@%mX)^4fd6AoDQxb5@!d*V*0t{oWx@^ z62u-np^t$MxIW<&ywmHpRyRUH*}$p~7FGdI0LnnjSp9AH^SB4mvXR9Nb%|`et2~sO z?a0B4?#KZYUhgj8xxV171t@LnWPS&!UC7rYQ?PY8+tQo^AghT0<{pb1r>xUCnGavm40V8RtF8Mhft25YU2 zEuFYhx&>tYi;|E<;tA+RiZIE``reOLj?o}`PU=gR2h-7TIXG+!c>aAd6+x0GnQ1tyF6bKblgv81LoF{l)=k9{vmg%x(>XDNebvBi-99S5MCR)els7~>4G5_3ah z$RO&0&1CHT2OHKbUS`KenX8>5@8-KfX|Sww^N`t2uiu+rSXf$FIeh34J!SsVJn;0f zW5=;~Lqd8e0&XFj-2*PvH>7XV8Bp@pIXlw^$Od09F?M^E$p(=I0c9kN6}mt+-{5=hU_psIfp0=V+zvWH%@z+sQDU?sk2~~7yf%0zbRf!2HuAht z6Q#*t)X7$G%u%C6uPxgmp<~!oi6%@Kn|QVs$c!^mBszU53(AEGQBA!e zFEA9aWXNkM(-WLoZtAVKOZZZXktSa$78+PJwmaQx_Pi+4=!o1WZ@ zEwuZx-gM~L@guj?aU0#=>aMQQ>w(Mp(Es^epa~ep=(DzPNJeK;v~+~AGlm;vV@u&Y z$FVWrZEZ|98n}z8mP$CzAuW>N)3w(X7KsaLBr zlT-K$Vm%2;?sCIZ0HZ)$zXOa>-yVAzvd{`3jq45;*BHeR7j4ZL0HP0utvCK?bNIB? z;5=G4g|9iw827XD)#+{JX!qe6I_Qq$Qi_QlZSz2%zch}9o;VT{rEYVM9-%j9)2J;0 zN5^k8QD_dUYcBfwB2cVOKsb7eyvf9fe=eZ7i=W^Gea6iWh%UJ(IhY~OD5Yv0J>KTp zMImt+WsGQEN1vLY^pQ(4ey;E{q>yr5i63$}iqATYOHqzL{Ac~b3VyqedaZh3|LmD( zE+&)b=G@-xrPa}DeZ~c{zUH_-=9&cQl3%XjE`k(6K@@kxgeh`w4v!@;mcWZo0%P3y#nz@iO2%9WbAcCI-NyA9OW*}40ifsP=$XEmrmJ6n zC71wdEXU#O!0tm*VdwPH$olQpkHFueOFr{ER!CfY5k;arU;mP8&hkYgnK|kX* zP1>FCWa;^WK9BtFK?efEWJua3&nP<^WXc<5MYa^rY%$`=6!$VZF~N@sYRqb!lX~Us zdkeGQn71bM()lv;kEmPX86=V`l2DHbdA3}NO_L?VP9B+mr|2~Kkt09BL%Ojm{B_66 zQbr9jQno~!utp$JZSVg7Qf+tEKjeyg|D-g{urR;4@#h*)LgEASKe#;2#-@+n84 zC9G&`jY6@KD|D;nDp(|r4uq!I0d5Doygroz92b`)Jx1J{#jO%mWyorx8w#aOd;t{mxMIx%4a6i~;R$z!7FY!@D;k_`35f&lSMg(7C{e>wak^B**c=!a zj0vm>ouM4KW79=|RN8>f1w`s$AJxP$^|t5*6lFWoABdzn7|d>AfU36QYorV#gf_MG zLoj%U&@l>F=~kXqf{jl;@MjM`^f|ziJ?EZ0e*0|)=4LO?FJe!=lf$n=skeoBWB4qm z2%Uyg*Aj}z1I0vy40V$!w@ zokM&5BN}Fce-g2o79b`JDn%mfHYi&fnFJ^VvZX|e#zF#y z@3a(9TbXvDQNWA+QF^z z*=No+8%=83ZnZC6ytIG+zBxGJ|H}2v*Uhpb)ajWIGf#G%b;$=|=wE2%Un@v7`g5 zQKW*FVRt{kF*>&=rl!!n&DI7&MI}*Dk|WBU>L#zJ;DI;X*q~Pg;Lia7NSdVsP;S+p zUTD#Pp@Q-xVodkiw94Az$&;!MA2bhVSP9OlnuAn$q5u%H8z~()0C^MfL^?KXP$n-e z=;2}>gt)=K_l&0qQacU+yqPK#hS=zni3DjW7cS%Qm&$Z;N!YX$AD7C>n=x2;BAQkV z=+w(-f7tZZAz2Q-{kG1WgEFyv^B2E~(QRb_AqEM$OM$mV07=1|$%?>molhgOWE%uC z8To6B$bt(N>Tn~@Y9JEkx0@eXz<7pxmf=8V%Tv?&TD4GNkSyj}ZC#9S_KPer;5@np zriu3ES%MpM2JBmT&nsWSuw0+QYesInJ7E2&(A&lZK6{M1E2+|e4`e$K?`6%eRzZ~L zWJpTMBX6rLuLgoaSB9t(da%{))!AjYRP3}`SaVx+A=lpQEiNw3vzyymdu5};QVz>L z+_Fc~@sUi9UzQ%IYrD{`Rme~$(kL&FmKvGPriV|<31Jq|(PK_0dg!gC~HHHO;HjDC}0e_^TTv}g^hhXrD;?rwFPlBqnv;H5P(9cKlQVSxf z#Hak!NSys^8eYTAq!&B)anp{WBh{7;$7N73!IvWoY zYK&t$|Nan5_uG3MKX&+UKL7B(y)#pjO-jyBHFs9lv!Nn!ay?Ji$6U`dm6^)$+_m+M z3zrsN^Q!N0=!y_ zy&=~DQ(-U#Nad`CSp_j+lBRKxvkc~R!g|Du0|b3a3U84^TP%{9nSXgOoXX-%q+#F? z!_JVUV07Rivd!bRX|!I!`Vy%zy$fK-Nh0$nX6R|Emu8qTw~A88B_(PHcM-ChL0@)K zDV&2b`6Emz#>AX53-97K%aue2Rq`Y{&wiGB_>Qg3M(IP?A|$qblE6^@h>rBmo{*|e ztAQ8bnZmYsTYqtR2}hY&|8iGq(QqaWi^SmE6En`hPsk|HkZ_xrhH43B>X0r;`K6am zoC&0`FjKU(XKs=M^RIHgj01{(S<_KaS76+znrW0AsnjC?KDMe_X{{-A=Y3HV;W3Fg2kY?dSa2(BpUGFiF$G9BSY2lYlVRXs?9u`}*lN|* zyZQM=Kx3?C!L_st&hPYgddsbIXD?hnaCq+6?Z*!uJXo7-U=mmar(l*12-@nQl+B6h zn~ztY9z4Z{TjXOt)&dvH=kQ63fi^%N8U_4C?vt8=s%E=PbmWmb;j#L{Enyw_Uat8eX%Hytv{Td|GG4L-^EmeCp zADR|14vEP`yaus{VW zbl(DAXxxU9OxA+z_D1-^;GQTfqNA(x1$SYvOH*)%=8SVx#d}HyFj+bYqYj$X53R^Z z$e8UY9Vj3>9ww1a*c3wnHc7#+0#yO^*;rp+x_o(RYQj-W_YTmJv%+>|8wWPs0ER^J zfYa#bJ;Z`!8Q|HPu-L2?nly!%A`xW)ZM)!!}B1!YBK9m7W2ME0GOmoMv_2G}3q; zWl0S>lw~PM1{@Ia(77WP8Pb-dmjzpu3Ir80+vah@+E_P#5+y20)D)%T*B=)X++_q{ zxsHCpEuIkg0nf2rB*a-5VTr`%xA)`O1i?WMGLS^t=rikfs3bMgUpWjRqSu zj$@)?o^hUn{nZWdJ>-EfwLdprky}UNiH#Nj(B5t|Ce*X7OyvvAOrs{C*m$_cgL!md zB*d7Y&=4Z;rp5D(Cw{za7Wt8S=n84GKFBb^m=f))@Tdh+w$1rOZLAhCRx8C1!?r?% zhcr{=L-RFfMJ!U<(s ztehDB_8$0qIdS~x$*0b|>J>V{U(fK+n5l2xBqB5*0vmil5!HXK9hQ z+`hpBi)m17Jb{dH=WkGg<7{IIyznLPwGL-5{F?s#ssXbgpQ*;jSOQ}SJl_(aCw`Ot zk%<#nq{hWq6@t`NtJsEy|3jx798O>j~scxNA|zz1UIlTdIvMBUsm%$GaC6_{ZX7x0eL0j4XI zl|6(|7-a@FONOKAuC_bc7^^1rReZUWT@=LCpCL0ZI|`iF6U6 zG}0|{WGRD2l*m`PRH<#~%5oGUjqGu0k+*-I^X#Eh%~LTvI{cOM54@Bt87$(PW7a9dVR z!UjvbF)Tc3Xib={y0+C-9W7VTvMxS@nd`6|0=P$m`!YH6e?5J>Fj8#lthBrJZBXgbKb#|;R0Xr7Ly0-@6MB^qDq z032Zwt06GASpceFTU%k%#l#QYrkHCAi2^*^RkydnhWhQ^RtH2J`GKdXToSh8@=TLP zIg$_@@h;V)UZ5$MsDg5oc!8hYBHR7WD_;5Xy|a6Jtu@+aePy{^tH0uoyVozTJbmUA z=ys*vfU0(vV55CrP+(yUf7Uzg4ZI!WjRP7C9Ux&*tG9ryWIsBtz!lWtQ#-mJ3grKQnrtSL!uKQq_Dj% zp-C)b5QFqUF1QIkCKyPq`B&FbG)zYs5q_$_qi4_xl*hOWUK!rF;Uo!0NGob8Llg`z$VzKZNQBU05kq<*$ShIHok^Iuqz0T5 zy%3h1K_ea@5g|QQl-@sk1#;q`rbvVA9BXT<#B@7Tw1w8ApqT2ATYcu~%(l7>@0iQ# z$nyHi`~v)n@^ZFC%Y1Wd71**2nHesey{11F46Ld zidjoi(7*YIa*yJ;pfwxp@lF76Hg7QKH3hi`ZcWE!;6yvSc;B}r zct~Kahx_an%R*s=4g!)*2^3{1zGJ|M=C77NV6J9`6+EN8l}WWD5E6?htEomi?*`A-=c+VW`V?p0NH(IQwBv}DGsLxzSV%w3<`P}wC7n{IOj(#{L!YvO`y zIzx7HqDc`qNck*LILhG17sF%_-e*Z-^e7qOC)&cGy!wo3R#{^@?VO!m@lRIx zBM4RNm52rKLgk|16qU{~fn(ZEYNvCue*@lb!0mPXU!Nw63APj~C0=`m z8l~3T>9*U;E6a@vD*=(qMyKU@FC8EV%27L-j@x0Ymtwpd<(eyGo1L#JH%qgNL#e4w zkyk@iHk4vszA3T*%s@1^<1Ss_V=JGu&co~6$Y0KYhk)ZsZ6hEwR`jt+hlF zrP;AvLCFOk=*#edDF!&|u5H}1Z$yK`1`#5t)h2ErRg`kCj~V3V26n~$-UhuGMF0d+ zm;B;V)KClyOoJBCl+1-ATE}awR7uld6{A7D(O@!Psk8s2bx~0)0b$Tnj1a1~ zzU*(OFJ=lPjUZ@IBbit8H-?G3Ol z{MPEJ1Iu+i*gy}z+BmksBLIC0<)crfUS=OG%2R4Psaf@qm91<&voo>7aMX@?D>_UQ zoP?Z140L`ZfIfs98fD5)#AePl8sSNy9(6~lvKkb^Mbz!JbzMA6H0#*E;>w^}v-N;4 zy8~Ul2R+tZI+vH%&R^^-ukv0(aXMEj_X?FBMyxpZv2{WNl{`Opv2H|7M5C<%&Bl(M zAn^``UZ!S?dkL^3W5h>8rm-=_q?$VPB+0}%3r9av8q~%6{KqmUG-H|+@BO6u za&IU-Wno#+Au8okwz5J@7N1@ba4-8a&PRIwDc8ltpiF_$B9cro!J*^@ zf*BmqaNfDFrO+5#owHn!Tme}v3zsYVx75tb1u`Ve70Sh{9TjcpX(P9iMeH;peU=f0 z#^sL;4iVOfLRqz;bdC0FF|KZI@-9E`50pxk*pwA6AVwM5%~}TK+NtCT@u@T+BYKlH z=HwS;#8MtyDKWXU%}trGdHWe&Z(xla>z($wOBd&tmNvSKI=msE&vsoK^O;)bqXysI*GNTX}k1jz|XEB*xUEy#bg`lXe zV<6`tpS$R&fH#VdS}W9Nzk35}BWWYHVPA;Hz0?-y{!rR-_U%7zzxCK7Uw-n5C(jU| zbjHp6?9@&RH)36yk>`ou|C0|9Pd|FkJKlNj!uiWfi%*?Cbv>VMBslcx%v}ibn{#`> z+1Dq&J_b~mtp#!De9b0)*QC5Y8Me$n`!nw&8BQ}!o_vbz$u%=E>@@fTZ+_D?6rSyp z>}l`8(Z+_?q{QF!-FLm@t778UXaPtgjmkpAj0%ao0JBG z%$ss0IuTAWp3T7NTX7CxA}A+5gCFPmu!%>Nm6eq}6I0Dvo!NA1$Hc#8ZRB#QP92%z zB`Kx(oGm54{3Cn$jtXDRf0~q1FQgG6`%LR}!0;eF;TG3P?dSQbJQ0E)04m zr>9zMFE`k%0f0CKwtN^K;3y^MMtofKwsUMX0ICa~CN=;1&*%ak%;bEvKU4v67GZ*jG-f^*PD zseEX122hv`;yab?9tE+JAy3u#e>u$R9?A@+=y_P zo!iPVU>tNSw~5~l5Xx?;Zu$dz_ug^h#N7V<)D{C_fJ+=f!1+e2qt6YDW05J8VUi+v zMK-p&12g9>d9WqCCIj`9m4s-MB@g)wPF2sqjp*bMun!5#bMOX35ibYG1HaeXgAUMh zfKl9~^^hqN5$B*)t+M@&HYHYXAO1xpMjoUp)E1XUn}o18loeUR-G} zTwWbyoV$E!4O_u>d$KV}?cl1lhP&o9pi;;(R-i~=yb2cfVNI|y^uf zo4k9`YP8lcMaHxjgL$GE=b+OY4Dbs*zqqir&d!1BERRvC2DY`0MspGe$_)sD?WW~{ zph;_5I}1=2q7*Ky@eQPo_uFVwA`mLYAOS}qV=c0*5V=+)&_OM+dUpB6SNikya(QNE zPoq`?9ropZ6c|HGoC|1Rzt!n(tnK8u3x~~`Ll)bpVdu;;!+L4Gx+d}*aCFHP4E5ZF znYGo`lTV(andojP6dIe=0yif)fM=YO3#!2aeFbfdyJYq*%*O}4pnU`Iu|oD}427wJ z5>UX70}w#1)EU#*r@Rv?h5iTbr4BgGA{xcvP+?k%f*5I4Q}IJrY3wz4mvNm6wvhlo zAZTO0wpFJ5N?GvIUnj)0Ri>Zz`|IcDTMJ9iOA8;PMRMw~qMJrX}~;1D+x_(N=3ipN(Ft ze7H{aQ&!5*81;p)l%sE3Npyp-CD`>+u9Py)o}$F89YSvYu7$)xw&;>+XdTWW(9}@$ zGJCCj&@95QB%_V}N{Y)lID;ukIL^?nx&vnoO}NxeKgmJkh-531)SMLHnCjS>^q-;} z85o-E`R)S>id^jTs>;CU0LDWUvD@J{7(XvNg+ZQ|Qy7qW9FnvZ%ZZpdEQ#3&-AqT>=T=Zz4gDi!+mZcWbSF&8ti5Sv{ zW}&x~6k#RIl`&Gj!b1w*;G7gZm44+6Ik}8-9Yf^VvZ4itly5-o3Wr(gk;ZW*YC4j@ z?z_(!MrTGeQ`nbOl(3Z1Zp8Dv9521|R-osR)iXSRAQ$*;Z})f({)g{+_inCO;rN-K z66YNqtXt;l)sdMq@sL8gkR7FY?f_`=AN|Qk-uQ;sg6gJ}pvkO_qR%XKayL2OxIWo# zvN(hOlMjE4-|pm^Io%=)CJ00(NkM&e001BWNkl@Yk5*XvoFV4n|pYIoE)yB0NOW*}3fp4-u z0uB41kK;uiu=(?K`<<;`mrI`Enb3(n0lqow6S^ak1MCB%RpwoYDWhH$NGBV7kSL?0ADdN=8H)((N3pe41B{A_M_k*vO#I={YA+^ zA(2TbB`am8#xc2Ll4Y1;oQ+s4|4^|kE)bNYWA>DC1s&2yuAr2~_$A9j#to;Kzmv1< zag5FpusYNmX|}s<-eP9jFq8^Hq-o&UgrN!Mg=^#+W{^@#6WypOatqc?2fS4P)3qPv;eS zEx^MvAOSj7=XF%*6aW-VFZ<8n$uiAW8ya z5lM380q#2Raj}J=n|fSo6jpN^lXV?3R&Awn#425c&(@ z&`88@eY9=H5VpV$Y6);wCguR|a0LZiWwXw!09aCQZ%#}%02`roXz%RN!-pua&qj)? zU?srqc46v-SKnFNJI);!-*Kb94X%MFYCWmF*auCTY`E zxT3EqZy1J4+t&&p&caTuSncrof{Qw45a2?d27^psU8&gx6;n;|kBwLB-sIjrd#0zK ze&|bI`peJMR@?igX2b3`H#fDX&{}VI1{0VP_O};Xi^T?5YZcyb<%~V@_F%x;6|Ob# z-;2dBqJ*w8$_h=FuqwOC7H75EPPVqTW~&8u4?~8$;w~b&xVVJR?B&%JR>f==aN#EJ z_*a_sCdSC|urqaBgDd{7<(nw@}Xgrr`?XeApCm<|+y)zGfI zXM*W>nQb&1_#~(zJcgtSmfMx`L}Q<4WW1f4nc*dV3hMMaq`z?fJlcWlBrHj>d8WTG?7^6;h$xezZ;YAISu8N*na*A* zR>Z)Ul_ddPO2$a9DoSjmQowr zsDX_GI=Z>d+ZK3<0q@@`v5lz0v{TxaN`P(}m54gVm_~fmC+?CaYK>OJA#t0Tr7U@e zlIN5(;t7(6!&ocom(Ax|QJX(&c&j)7nOdwJb+m^&+@}xCMpyjDTO8l1NIk>|v8CE;3ndIWa*rMFb{WS_vdDmi0Cvk2M_eF47P4nO-K>x35~*;RMjB#h-fw8 zc|5>~u~7c}gOA;I;#juLpiVPNIX0i@xtXyqe{63ZIeb_q{pG>&7k}lP?`WlJd54Vz z@#&0vjj!F(nOrBIdivnp+z50g20WJy2HC{#d%x%P+y#T4o7;bVG5}>(S&rRwge)W` z%QZkSKkHEb{1?BJ?37nl*KRrzRUpIHbCCU?{Nw*NZY<82WCdT5N(jwLXb zz>7fwW8C@0(2C8P{%;LayflF|>E4aZtag$xB+-ohHZ)Bi{m{xi=XU+*I zgE3%@7r=R+-zW2!6&VOo@tAIe^8g-$`Da1}61UUtFxkMR1_u~KjTZ&ot_&xw802lW zHrB!GL}$vS3OrS-GgC9bXS`TXW*%Fa!U6L+eF5i6vu&nBl;JGQ!+DW&Ql~}EW+*IX z^~~=Qf+mB^BTJ-r3I&JGbBJI@3x3#^jx|W+f~4dO#1Wx%9Wb~o3T{Yk1ew@ih)ARiq*rYo=jTJIM56r5A;A)kf|X_ zdIAx21k9hsM@ZDlwUZO!t;&`g8dk8mEN-xtvd!jK4G=v%5cj)V7y+_c0;Gj+P{?cl zXMstjpbzA$I=cJUNY12_9qp2_|7Pbtx&S^vu@VHHVE#zISPvuLndzB&y;`qLPEI$v zopp)^sO_w-)h8zCUHF)WujPf6`OEXu(=$ho9L1Hw>e>b`-ctAJ$tm2pU%YUk-|hlP z=l5dviu+aYIjr`u^b>@%`(w7qI}S=B$wSfDBE|3^=uD+a@DxYvFRv(O4sXjP`L;-dk9hUtM2`W>7wfZ{-0@;gC!b zvgt6X4Q+61MeG-Ho@xa-!^Fpth51S{j|`){=8U|ilFrT#^LhGw-dlc(c>zjQ~whm*2A!Mr+maLL+N*iR*64uz@xWZ z3ybE5!T3!X)<=LLo`-7?O(;?;_AyTxd~;=@m5gAiN>b zE+i+J@Fn~yFp`=z0h+0fQn3oKr2rUcgR;~~%E!^gInw%!I(_=PWl299L?}n0^2tsV8wo<-Tqp%wfK2MD z@=u&)ce0D1Lpb}+sN1X~3aOZD(tA0~n=uk)CAQ3McT7i?b(o%PSMpvP4y}jfO#g#t zsHIv^SFh5L!lla(J^I9< z1N)C1J;*b%?9dV{$=51hl{MaJVb{G2mloJa@ayvF3}yEE`@(|{@s~=u`PfmckFj6= zo!|W+k-TDsWib!y*C%`14}SjxfBCV6%Zp^htHyhN{5vcn%4Sap&g{&I|8WJO_LuY=c*wW6$SZS*wNIVP9ay6?G5m-FzV}8WMk|~h~WPSTq(>ULj_OU!) z;KfCkeq7;jolKQg9d_?{Osn zDMV~~YsNn)OUx%?sAdokb( z^i%yYiubt#0ueya`W}lpIO=cVl4Y^}k~;uZmp9glyNoMvP~qwpU_-sSnd|q8JNas1v%k~Y83?A} zp>*JeQTeSxrmK`oy(k;ma04H^zEjR;yVx+n9N> zwca#7DfS6%qo>TPtWjJE5oF1>1bY3fjCHA!ujt` zo+Tpa<8pzw)TbsIc@|!_i+iW1Dm5HGVCcJ-3>>)8G1#8>H6)f>|FmN1OP^4b1uwDoU5emrh?cR4<4wehxJh->Gc=9RsTijD` zY;^~N!VY*eS_sU8u`Xi`1?|DpN_XSZ`Z6wzDHH$;?PYxk0GFknn0ZIfAC^XmupRm# zR2EMxw8IYGumP;Qo$kd;=QjrZ#kG~yjSci4$deppb|Wn1EBK==%pEiK869ANi&eJ@jUi3IG0WK*bh@DCwQ_Z0YU0R|BM0X8Kl;dH7cQJ%UvDvDGyYNv z;~1WtmzS#SLrBZvouJcZRbrLpJ-N0E*dn%2^aZz$SpR9{N9HtMPUB8!h+ ztdzMXI<<4?vb{#hm_G7Z3NdLMOk*$WF5ZO`p+hvRKzk!0ep75Sdk5dyN7To0SP9VY zQCxJA{zf+8*aUFFZ`me}n`kNIpi&6=NoaAQ|Hf2!AILoM+%i3BG zbrG&Y?v(5AIJsO?1oJg4FSecE@@aQPEo`Y&7uC2dNbH`VnE%tSqc4y*$~PgrhRkHy z)hlrPa1f1D@QK4Zb)mf7&-EzNSBq#-)^#X`&Q5Dut|P2kr6SN{iP-_D1&qe`7Q9$z zpl5tVD@k%BnV`{*RO%~r*;Ui<7ZKNTAU$Y@-wa+W;C-sTI_1t!Jk02 z?k@*!M~c11fQ2H3oG+~P+vLOZ6?8&F)OTA>o~@JpmikcvN)4`JB-#}YKE37>IwZf+ z$kL?#pGk}~KHFJ4(~oHGN*}RVUR7pDCul~FlsDxc>7E)c4^o!zAq7HdWUy^Usk6J* z(y9$>7iCcfqbjoJJJC^xgQo2gX)^lPhi}9~%6mO;A>WLXk$j+UD`#~K{*=FC(erzN z7w?;$Id$gzU;phxhY#*QFgMHd!&hZ#quseQzjXfM!h!v>uX)vXF+_gVEY~E!sF}ZO zA_0h#t{>z+`cuSw%cXLh&Z;-yG^r4@#DZ)0%HmMeUQM{ zJ;42a5XuX&j`3_QVw~*^d(wChs_J#Z!UPIVMF+z!F5ml#ltSlL1O| zYd~N_f$3ZW=d8RlYw<7<(~Bs;$9LVDmVk4Zi4li80c`$)BD2$6t;~M)%t*GdSz~^M zD^9@$NOW@`LjXYRsl}FVfI(Bm3Fe^SEZlTj!Zd;zsx@|!V99Z2603!l23SlLn7S|> zg6+*hO^j}MzKy^&BcUpD|X<+=fHHM z(e3v!_T1d;}BFuU&|w@h8GUN1wk=2ri>pAdPt|z*t-|QTZDkc>?%Gi`u!Tq7p3ZU zxhepIy`|?=B5X#zt(_PaN3Bskcxdm$BvVKA4)48~zTzIET&Vy6ch}eOI}BJ%(@acE zO-{{V^GaDg9Hg{2w1h6Y$s8_HSI#e7nqR=v01U3T*br-*b)2QuQ{l>{2--g<@e&Rt~K+?tx(&kGM{AAETJ^jXFNd`$oi<9N7@m7pf$ zZa6t$fq;_Bg_&j(o5AkN8Y@?nQ^m>^bSl8I=%E%Q*n;NLmgr4LSIq#rQrl$)V`7pl zui~_$-`U>mV1kJ~C%Qy5a5?tZTibQ8`38G!Rski|UGv3gVb;)^jGFLLKsl*)>bCdO z$U^Z-40^zbK;!f+v}T8z0WK$04Vl+5U$&rJylUV$A+E+rnb87pZhvrmVkkYaV&z(I-znad~lLdV0D!(Zm};rBYjOuU8fq8E==CSCBP$Egu&I z?DLF%2-VtoP@ue8j`g+K0*)liJx4x4A;V~fDN=pS#y#@!4~LGhvP-)Mh)H7e49_7O z2NhDX1fXJBRZ0yR(nE`SJ;|3Dd7$8k8@OX=j!=Z+O-Nz^J#`Ahc1f zSAm{sL2Kp+lYR-pCxA^9BZJLENlL?%T;bT9Y6{bN$NDER`wK&LlPr^Dq@Z|1j)s*A zR}|&1iBeU|fNdkacQSeUt?*Ke$T6jvC%B56YEUFkJUC>9*yJr0#o5JV$xuopw&bi{ zWS}7cju~XEJJn+#MbbswkytBhhxGJ~V$GA5DqAS=ydXbxIUWaCDq;aJUKG(&4Z`$A z4%VCjokPPYROpX_97w1IQld(}Xa#Fg4l+?|qc_37LJR5IIyATvmy3|`u!2!H@>n@) z?}x_*%4QUA_xi1Nhu37l(a&C9Ud7vfK2Q6zeue`Yx)_>jJt7~9CPy|M-$9OAa5uCX zxR_XM>-jz4^@QLgmg-~io`gCS!rjJTz;=bch~PU7C8Wc$I?H_(V0L|pu_z|QD!);Z z@-#r(CnEqTM;iqfwxFrK;80%ZK=2b?Smuqt!I>;^SM9OqN;Sop-V60njWV-R=FEkc zhPm&B2~ryeY@71RBIzvS;IJmel*sm$VALl&X9Y>ka-p2{+DPd&pNPNy zY`vcS?se%i`Vr6RYRYoP2boakBmvVrj|ZqRhR;Wj9AFd6haNpyDVJuZd1(#%3|vp~ z%j{AtPvpD+((ZJzsK;{!zdUpMX77FFT_kxPIUg52mcUp7V+nj4BrwLEzYRkE78VhY zJJ-^`VdS-mc3rOwa;v^Gdey;G0~XNFaqFtop}YD=Tp9z6*1rB{b@dhRsq)> zm14QxXacxlG%aNgPEH97Mp#t9c?XAFI5ic4BFwBuqr;fB)%XHc)|o79xT;@BbPbJYrHYfc21Rew!10*RrkCKw*sH} z^k;5J2MY4|oTYd-aX~^QAY)AS@#?^!~-Ck#Xef`kEgUx#V^6Coj zI7^ShtTkNvClm-@w62BkY8O*#N*w|sMY>Inkgb9t1;A5|*P>ZyVXwE%ns3ct4nGN{T&=?9X#M^qZ++A4CYqB)+>#9RUX8|5fp(`qF*$)_<>lp8 zzFM9*IJbK0!uZFw=W9t@f$cY9`OFtTpQ;db`q%1>0(3kPmIj5*bC3nDk??EPM=M3eWP> zLfd#!R|+uz@frwn)fEp5EVM7H1u9?Ge%$h{6nlYnBAv3LOToIb=RiuJtqzN3`Es2+eYQHx z^@{jzq3iNa6{H!DI2=f5LPl1}#HtOP39|cPoME3*&#azM7|$#guXt4<))p>S8h1P#&c**D(FJCJYabmex8+-nxB99B9yq z<45>gU0q*YZ_O_(wcA}iyZA)SA}c?qWqjaGPBd;kesp?z@;id*F%x46j3qFZz_(rk zW8C>$FXQK`kiYLo%UjOB07uyL9i!-&krn$pdHrbmN;Ied@8PF3`hwM-)u~<{Yag97 z;$f5dATgvNObq+OZ|7DvPA+XccCqz^_F$1X5I3Ltw|D`6kn42TH(HH}2{z6W-C(xE zoJaryo?;5ZOvrhHqTv*I(?r`#42p&mb|yYf0HZ)$ziZOeRsRAYX>4hPVKw$3+;M)! zgvOdPv2kjXCLVk{)5&OBjF^z7o+M|29H~=Y`Qe)B6}%}yr+rt#FV!(07*naRIV+qSO@0HJ3Bx4!$0)0`(F9L$Nv0}{^Re$ zKecnwA-{d=UAMpceLudswEXCUU-F%L(ue%ROz~RYlu1nb1{e!4PI4}ULc&Gu{Wd(Hm2IcOf7 zJ9zsYx3PBdSAY6vUw-28V>ch&yKko5>&zV3xBsRCA$YX{v2gD9ww`?S6b@ZZyyW=A z%!HAYXa7NkbDehg;fEeqcu_B>|Iv2xtnNoFs*1Aq0VVp~Gp#Zk+vQOE{45?2>iAA* zV$Tm^5oAR=IOdKWJn@PSbA<{SHFCuV0cQrehb#61A0 zdO;tffHs&v1G86H-(X4!s)Ji#UfIUG!t%-*=<9l}x3;$amY@2sZo2j62R{0#XU=?_ z0)cbT;^=}Qe?^*q{hROo?)zW8(dvBu(_f;`_4-@wJ}x@C?BF#q**N&JJJ?F^;_@nW zM7E$!0w`*zt-_hDzWCHw56~zO6UK7jcLGe?Y)VQJLSmz4P@KvTi)zqZY`8V*L+6&3 zmO8o3$vt~=o4vD7d}U>Eu>r_J4-D`|KQDMrzzo0L!}t`YHFI>Iy~@W@Ci~kUhhYVgNnXES^o0FKA>j#4LNZApC z#HlO`jCvq@gMh{H+J)>Zg=kZ7WcCn5AnX(PG2EIigOGTE;YtpX4ZEzfE zAcAE*X0NoDuN{zbfS(KyXB9wUM^j73ksj(;=x^q5-CXXM231;>wHNvnFe&$~mv~+L z7RWbFhW*`RO$i~hiyd`RTwsdWzfu4^(AGvIz2e$F!UwbzC58)-$lx#1qeIrt`^rdZ z25hLb6bP4`yu%s#d{hc9eT_tjm=HWi-L0B6L|W{1CtIOe-sIp?w8;XZHMkp@W4u)f zgO0BUnLk=Jn#z(h`cYF0myTkA8(-l;SBXOZScImRV*JbNNb~?xZQ2*`q7M`FR?4O$ z<48+aT6n`?p@)tFB~}l4@c_3On#DuOqR;`igdnfR#s01!M3$Z8^VA$q`EmA7O zTyCS+&-ME(-LPaw>2SmmG~g6IqH&T|8!JCBC+{{HPf7siD2~}>f?3q+_KG6{ZY0eh&zQa7?zqg-1iWC9Fs zucO#V5r+Ix5BplA33_s!(%TmHi{J|W{n$B8ou!ddlt{dvsD1E|u6(9SJV3|lMft?i z!of$31LjNlDZ)^+7t0iKsy>GF{H?cDp_KGIYGZn3D|hr4bDAR2fji@gHQ%sa#$E|~ z$28^}#Xo!4J4rqw_Qs;AcPk*-D4-RK59G9^WzK@AcZ+mwK2Hu)nVnU(_aDQn1ed; z&8B|LI+#q7#n}Qme6DxW#(icW%&*w0iwOsFbSEMnBnne6rVF!;+xORQpRL~V^vWj| zdncJK27Qgum`t`>twLdba$=%dtNRKsC5T>FkP{$h21GdPh(AM4B%C#fsZcyouoqAf zcVH;pb23B?F+Fv<0Zou2QFih>hq4f=8B-6-;gGDeIMaJ}5;mNgaA~DUljdy-;90_? zky84)QTVU^@~__dwjVrr=-^NM#C!kQFaGlzrnjXc?<-&V%D4T{+YIhH00QPO&ENm# z@4MxeTXscX6~yoD@BN4W{J94{qr7%@_8*)(a?4F@N_OVy(-2n#;`}IqcT-MyR;*X* zbyfJk|DXPcxxZ-w(V|1N>b_YjypDzxl^cK7Q(rZ+`>O z^R7Dv=Pz7-?4ifA$+Nm)J8~$12wQ7}?M!)dvxgxYy9tUs;whq1#2NYIb~toE#{yEL zSu%JcBcsT6Kx3N|b$0IT^)RtRxvV1zfNkky`eP8HDwJ!reaDVs{;XYD06>@;_xt_o z!qVd(`qS0*jfLfw(_&VKT!SGypsh|bu=2EJU<(k3^Y+gEL;LUh?pI*U+w1n<^^KUv%t5XvIE&Fc2W$$grgH`ykn*CLwguyV#X?w zF;II(5bA|=aaY22jkpDXnmCpGTL>qC%E)DdDrCrTZ4?Cnn+w1gkqtaFCFST0q*NaC zI(XgQ=?`Wmrt!;(owH*kX;B~Y7?P_X7ZUT@OKxyv;}xRe-G2&#eQ7g@ZXpw1969;q z$s>o4+;`urH`?vfr=Mao*q!bU>t}20D+`O4Zo27aewBK?ZmnUUPuSgb8`09Wf#g~DvTw0Ugc{LKMaBU{Skmkl zA3dP;HXaE$LJc;%EGlp61RmU3*Tt#+788w1yr#w$N=~HAC0fWxKvc*_rmYZ~M+z%x z=LwXV8;%cw)mkE9lSHqg<*bDFRS;`uR^FOoIKnj%X7BI{1`RE$Nn%Q5c>o(xxGnblVoo-<5w(2Uxc)^L<%Ocu7x z6eePPj3qFZz*quf34A9@V2nF|C%4WEl{Wxoj`zLqeN^DBZ+$Dc^G84WQ84Ih>Qk@R zpLyn)AN#Q%1EfB9@Zjj~%F41 zAN}&jKk-Q}+nvt8|MmZS6rZ+!{*K$S8GtqB4{2J$bV3sz9@t}s$&`|*97c8=Oz$@5 zZUyimgR_4g$$7|U>cNS5n%mk}WJ8uJcIi=j$!I5-8C9>-TNz+lmEox>JsI=2! zsW6991R)|AwhZSxPEah37$<`q+)N1xDvT6+b$ra#GTyTE!Kd*LKm5o?KK#+2{;z-P zo>#x>joQkxN{d=LnBE&s!c#Tz-U^)tG%PUVl_IN6nC?vZyzkv1bFadBwVRrvME|(TA12ib6 zIGDfA&h3{Jg`hfHxs`>5S|eK^BpL%?%ND-aES7-MdS}m^maANT85`Qmi!=vmKKb#F zw|bq=e)02r=Jp>sdK8Od@-AJveDTaVl7ea;zw-o{#0JdkQpTw#&aADjbH%dd?JvDW z7HoHyNkVC}R`h~4=QfQ=7$8Q_l1TcA5r7b@-OkR^Do`?;lTpU;yN}=Vw%39hn<fFcFeUUu2FbC#Vzpid z%)@}YySl#CYT-tC-+}$~gOgu=1P=+5EOFsYKDVO{C7ZcbD;rBo=gwci=}N6y2UpEw zs9VI(JSa_Na(V)j$X07(W@ZmMU}4rGEFLqK>CG`>MeVq!GNmvz08FyWiVQ`MRtt*x z8h}0`!8vBRQuDrp6AYq~*^(Dz0{-yJimCGaJF-Pg>H-AGOL3@hHf~@C$(~~Dm&hK4 zdnTLZ@buw}_#O}sLX-tL#}>W-U+8?Ub^&A&Bn{Lk6N}2Ij7tTiVc67jE-AJO^YaV5 zr1Hl5?=L=3I(zywKQ}o0WK>&RT)O$#%}0(NUR+tlnLw>NV(uBCY^4#gRfoQ0782nN9g4Jj0*R8Ja+D!Cd7lQ@Z-8aA+u7Qy zDKp53!Q0WZo=z>}JssSuv%6p!BIJMuNyv%Ppqw&JUZ6&ZpdYZ{0ueFNRBx;djc7Lr zhKb=`{7zCg(=v$28T=YlS&XJJLNbaWjWZ?+W+S;mNg`MD6sDjIWNG*c(b=eR#~YRs z2{;Gq-m&51BIraiL);1aW|tqRApy1wWkjKC^V^7qz#qHxH8v-XgTh4K~@tRNx_!!nrW!SA@OMLbc6fmR3(WHY2>4Ny<9TW_do zl+RryEFI%*f*1&_DarKN#7+3e8PWRs8ou#afYE6_U6j#}MHu|3=o|z0@x^$71}=Pa z3Dy9~88aatZ5xBW!uK!QLKb`;uomRE?UaY6*YHmdB^{NJ(dbRGtB0Z@&Z8)o&Rg8* z^>DjUWqd4`agkJOG>dC%s+!D4-4qI8YZpZsAGa(w4#|3x+ukCt2?_J6T1;GMu>l64WdtLTWpL6;)Px zF*JIQFcKbBF&HwQTznBfBp?qQ3MEz4`_?KFUP+(jRR#pJ+Xg+9Nmkg9eu`Iw=}25*SNhEP=m!35;>)zk8X!;3!U%a*bkc z{W=%VjZ*G8ZarHyPn|mTtH1iIzx>O;JTo&x8t{VmzyJL||MNe8^ytx%Epy6y_uY5@ z=5PKcp!0(dKDZlq{;l8oEmD%@*@_s)k0o%81V%XW?)Z@r^loG4GiRRp(1$;E_|SoW z`g0%HofxPZB5!@m{kuWuCr&=~*}wh5+u!yB%;NsbpZ@t9zx#DJA3M4`*S9B(ofk7T z=F#bKpD!m08Zk0WVoxS~>FVzht4;zj6^Q3}rtQoIc)s2B7eS{A0vRbSA?6>I7{SG@YA5B%w8KK%P1ccvk#5c?v=jKQK};*fZ8mK(FAuxb;^fjF<*1L!0- z!#V(Pjwv%jK*!|XLj zwKn(TKl|TY6M6E{ublkyK4`@|!U z;Q&OtPvXDp&Y$}4-cK6wOMs5;?O*>N|K~scH~+_NHyuB`Z~q3HOLn`*?z(-k(|Y+2 zzUd|RzPi(H|I2^*E1&<{&y_IP1uw$t4j6cAXR|kGR%>T2oO}B8sk>itH?9UKtF^NB z(f{y=;CM%0a^lE|n-b4J1GeVQ&gmzg`NSW85-wi(x|f}}^Jea*c9datcvu;PawRCl z1+yA4M!f{6wzpR|I)m;uTXVWIU8%TuY5DA9XR!CB=8c(&*+cv0&t6qeFZ}Hz7&yQB`(JzKJ$F9w;1hrGkq0pO z-`ME9@ojGaiY-+tTY0QP1?M;bXEqT?u~MxGxU-2C=s1BN{pq*8^3`{P`~Jxv{Q39X ze;;D`;BSBEsmD&@F8$cehu`tOABM>@4}O^{9=_|gi;p~h>A}ZHBiJX-6sFq<1FyN_ zM)XEp(y&Dsz#O=<_Jp|60DiLRkRw2Hyr9m?1e>$v>s8<%_BiTwdid<#vu8h!P0yZw zdhyaiP2aA%=vB(R*j_GgbUK$87b%ea{pfQ&oFwS0N06DM?Df{IbvvB_qIU#P%TnK= zF=zmlA5w86ZV6I_U~D76G20A2^Q>WT?H!CYkr4joD}@qHx|Nkja%tf(A%0`FQD0Bl zPz((80Jj`9C^SYCS5>Hx8UZkhCvFUl@m`HX=jn+_zI1VM0ho}s`0a9ZV)9H7oC#TS+r=LE3@7(^^z5csdS9t2FCtK|etbZ9I=NA@k zzU7u#{I_f^T7PWml}RWy`GW&5jSGe-f^a4^CBYFYE}toVgiM|t@V_gE!(klaS3^2V zB*@1SNJ>CDKBNh%!(1s@WCY6GF6B1y#vpE+3Xhs&Jj)=3UnKmtgJhBww9kzJ#0^=q z5(aZc$Z~|)Q3ytOMjDn<#RipW999}7MU%tmoe(~z>g8Ou06++dgybSL)!t)Ss?n{X(DVjZr^*aG9ICjyl0& zs<+ia_`xSJvYU87#5AtG*|jk4Kmb~<+HjOg=PsSTbZKE~YHDWB%+%~2JS=bg|Lna7 zfLvE~|39;{J7s%cX;;#&dbh1&NtSKNO}5;PF(nShh7_m%(tv~{&YzwDDG*4A0|WyG zL+scXj4f;oxK~+nQE#i2w)Zl9clQ7Jp8ICBDt6%aj~&5(-p;>-Ug~+?72y&vD5M(B(dT`g~$xoQ;p2xRY@GipB`kU=uJ(`n6mbj%OoOd zBU+0{rIQ8YI2@wU1tSq)+TnOKkf42r62R()x|2`c&ANj}d`i7I`o@CDqIj3aG)9ay zD)jH3;#|=pXgRWUbS1sJ0noxuuSBXVabX#<>6O&uNAZNEZbBTY1kO}FoKUIqlcN{e z_=P|@rYw!HmdX;U&d9AV)BrWpvy)gv`9RaCTZ_`Lt4BTK%AUcHEnB)Hn@xX=A4hZw z|1P1IZAv@?2DzLph~S2dES+p^lVpm#x_f#bfX-|s>v+sV&!=}?<+;miAg_TpMFV-< z`At#lFBj4JufBoHWmy?bEy8oIhH{)R=heZG0t?zTma_8n*Gk5LY z``|;5TzQ3jbZmL}(ao1${MJLy4nfmQiW#QnS3KPl#Ciw(L~no=VHT)A?KNccB4!Q_ zSx`zQ*4}i*=JlEzfC|V^S%xl}o-o!+3(`b<`6_;70F`cAzP4dh%4gtNXj@Xb2IN3B` zrcZ=D(M%Qu5i*bs^PLUr`}pt~XD!=&`H3zvNR&I~&!3kIPYv|;_F@FxcDN0CP%SPl z{>|V1jj0LbtrVx+OP5@A&6PN?#_?u#bq#V{y6KXOFT4OTFcp97k;gL0B+OIkbLP)! zSvVK4_ob&_c=?5GSW`+@W|9O5Q#-Bxg3B)*9UlJi{j_;K=#3qJ`a+>QU^Q)J_n) ztGvoZyb-X5WE52Q{&B2!eQfHMju$4`p)$5(e{XwVWn~3e%^4S;1@0Uj8aukTjea0x zK&VKds;a_QS&FrNsH`;Tn;h%y@7lS4Bsw}Y6zv_r&56ti=}n~-rM!f_clW`L&K~U? zB;TXr2r6_@0U;7fd_h1147;83`B4}FfAGf z4#29A)&jaMY!0MTH3#}nPr?y2p5jAbcd4<_WFijBAWHbg0pIOC+I4Wpo=hwir1POL z>V*Etpb`jl_H?t$WnFDeNoiRsH37cP>Ii6U5#tY%;GZKLNfop8TMAr{750l&}h&mQj46YSCuiz zhG1Gb02T$e0?$?9cF>v)w!)e_J~|c=&tdt1fEUIw=#W{2;8R4!DiKB+Bu=0gZOM_d zF^WWz21SWC#$(oHSOE}|Lf5QU;y~cwf&B{>E<9`Hiqv?jv%TF{hyms3k)ubO=gyxo zvoRJ;3=T$%3d4|6^8pW4krb}89pca92T@FcMCq=g_3h**v5CqpcY|-~(-LvVi2>Q02Lg()8u66HFMetY3S zW2Lc2*}5jXIO41-Gu|NP4%i3wHR6~#dy#7978V`;s7Diw#9~OoD##y))hOUUFg1@Z z32dHy8SIObxH)HY&tyDG6s^D~J9t?q!?|87kmmTQ7i20g;BxjM>S9)9>Cm_Rt0ae- zTRi+~1h%IN@c983lH0<1sB%rnei)31Zg6->+=Z6Z6lZP1=tF?kZ)G8~h#Ezuv44|28+N=| z-D_;Jq-aoojF*I1b+MH=I<2>Ez&%Ds-4|)ei+)w-9Qt-Tg?rPpSDMb%d07*naRA+}i=b`7*yT$cn}Mw zLSJ3j_Xf9)%i#0j%K0l_`3ewoOH0cMw}`=t8SfcbJ%b~IN?_@nOGCz8yLMqI*3i%Z z+iBbPWI$ZOz~8aUi`^z&c*_uMTmr`kKa_?$-$XVm;3U;j3!A4tmkZ@%%A zE}j8X0GffDfB2xFXNdf-K+nt!m_NH0ikX_&12#|bnDp^*KEd=7=1V{{ONudT8U|uw zX2I-0vn`(cd7z*C)O#Dxnq8bz&eQ<&sUQ7pbZ&ES(R|NiKmsSEg@C*^6UZjTX6=dZ z4gU1o1I!~dotX5M7S(Ig21X>fLbD}qfD^bJ*id$Mw1fT!s%!Ag`pVW_`*t0C*Dcqa zwPxwcb<20Yyr=C@yQWnF%QVX{M!ANJ%&>%z>6T*5=n}h13^@(S((Hz4@jzB3;$O2M z6k}6N=;DIFuQ#tD?dDPBkvvKRQ8H!)gHHA!UPO-_Zg!(Q_uqH__H8d8yJI0s@4Myw zH_x0o^Cyq~rXZx((-| z1UxBY$ZYa*Qr)<{rcBhFyiSRdS$|A4HHEW7>>3g%`VO8_JobvrSe+*Em>e!DoJdAX zB9Vk|qOep>tpb z*_qO#)Z`f&f<;)p={1D$v9Y1iVe;bXI2gvwb78!Huyfa*SVs@ZeAC3y1Wvfe6Uktp5Dzv%q0;yo(Om&8Dh3uD0^}-! zzza?ogzyFt4$CjUFB6G`X)^~79%ycvea4w*#A1M2>{B)|G&DHW*IU;xeV}%zzi%WE z5)afGbeyPGFl70*2$iN%vi(%;${MgU};hV!$LAM866tw?(7^-CP`RWQyXT;)z2$EhAyt{2gQV2s`T_}>h;112V2J5 z6g^9BeY{)lwq0_{#oIVwE#K5ayne(y<^kjPz*GrA9Wf}A{7cZs#aoDt5&mCie+|;SuR~Wo=MHh4XuHH zZC{61dMyTkET>aWIDys3YSgH|cp^SBIx;vi!j7JW;RxgK(9l3I5!T9sJxnkhBb^$a z%cHT2MIBlkV-fuv4q3yHOK>HSu1q+mNd4klGt9AP3WZ;Z=S3>Y!ekcQjJ#?kN;Apg z5G5tG+QvINsx{g(tqsuI%5rp+-$+799Oznq7Sxr3HWny-cKotrO3Yz&baDseynqIg z+=XgOm!uON@teKpmF4)6db6}#S|e?Zj+Vj`9UaFOM2SZx9g>Q+PW933Kn zbXp|^&E2Vb&@pl+#qJwHf;kPwr)=?>F`F8R;V(WORQ#lejYI$nCa11bGZ zN%b5WDrmr}3Z)kvJGi5_-E7d$KD^|poK}IUptEBv4?Uk&6_jTtuYtS<-Wm<$ap$*2 z&!=@M9dX~^@9^~}Ph|3?0pIT}eBE20IP19dICN%{K)_|aIex0cVa-6y&Y^QlOAA?U zz4cbo0yG0jv#%iGn{U1u+h=F~OgQgt<5arL$DKk0C)hjBn>T0Kl0~GOYVYi_<(zU{ ze9?xPO^xg>_|0$q=R0q>cB+SsTmh#8^vqm3F%j3SP7`B$cxQ^{02UeZ@F0#WO(qq* zG!K$RLbFhj+d?J=n(!gc!`nu_aBue~Z)xfs9RIg_dOr6jv-TcNeDym$pZL?6Wcb{_ z_Aslu?Zb@+_s8%2S~mb8kMn=}Z1dcvit6%ZD;BjKI6^L_ElebtPiU$MTrM-4 z3G+lqF|f{j2BS4VRRL$Rq|+2mt~Lm05@P|x^rkS1V-gOGVG|(3fs8XtX)`IfBt3@I zQi{d6Gc@eaYCaq9${~Koj@^8wruV`=AI_c00|58ngIh?Mix;6R9h=qa$_~DzG5$;p z`?k>YFTC&vzxPL|lY7jzsDjV`%ja8Kn(@F3R#jMB94?M5I%6qjeN6JnHhbZ`8-M4P z@+vpvDj(BwK$p5{4IlrvfAUJRudPo$|GjU1_ZUB@F;K94)r$E`@n|eva_F^oT!j1m zYc`y>Y}Hw4P{y-N_~`?|P%4@5CWn6i@(t_Gz3{@S((=i1s-{5ibBBwHiX)jIco1t3 zfy*zydf}p_m;?(o1l05Sapr)*^*3(+8t!Z(g`w8AwuHPwGjWvvhe<A6=5!n*W@&&dA{Vb z=B34@#k*eF*V)-Gi$?f>FUKm}>Y6?)?$wmd`-3NlX6uvx`Hcs`Y~FtJ<)8i1UprCU zdDVH@-`7a+vYT(1daJf&CYR}G{P5#1L_4|=R(~dgIv_exG1z)epn5Q3ixZ$pDzt)< z@%G6duqURtb+rw6gvf+LSTDEl-Z#?PRg(#!MLeRSQF^nQMIboRKahx}>Kf{36mkoT z&3jQ1>k6Zw(GwZ=6{J8gzi>E$9rQR*wA;sw;wVt?f$B#!3%o()5R)A@%z#m)z+F6< zl*4g6Dp&^w3a3d5+0>w>Tt-VH4dhI>D9>nPQHFp8a49`FNEcKO4Bs#h~YG=$UtEd37kEh~{?uOwpq8p+pjafm` znM5)j5+@l6ONaU2k#hzeu(D5X7r-jsXCN&nv&X!2ZPSQ}d{8W&Rr;_YLIzEB_A_>YUNYSQy)0^}v z&WYi$ch8R*y6> zBDhB)BoYn9*sri|@ViZZIHv+wYNSA=M`7mW!mD0U6n)x}T7je@ir+-O=_ih^aU<>> zCrW0mP3-AcTYRG=1{(TOdLkibJ?x5#o_&$x;z&tJQ6bHPYSLOM3!#QVYnZ|qzQ4b( zyQgm~p1`%uI2_Uhi^2(h0_awrbd*aQ)o7+(PvJTwFV8kK4K6s7mXJxHY%;ahS*gXK zcvP4Og=8viH`RG98G>l-(XE9@4M><`3qt(eGsIIcDQRYW)0t5;Kf6|Xt`yNX4SPB? z4Y|^g#1$qv;8g{>I(1xS&q|%;6KbxO9m^K43X&AwSqr4u7_sNYTUoAU83nZqaiBp` zKXoMJ!VQNO?~y@xl}V*As!-GX5RzZ*M3gnE@TVB3=c$~y(nzC<;X(!J@y~vPRX#;n zjp?lHq_pACR+@QOwF4jJEDoVrq2Jn*!ODXhtt(jD)u77}Mf_V2$%R60< zlR;<4X&!n$U281QS6%~o4ZK+z$m7m$mS%s6=q4t7DLvhscmUqK!L1Wg<3IxwW?*Fp z8J}?1UEY5C?HDq1;EvS@<}{sy1Nc{ChV|g=ZoW(TW=RWs(SoSGP z$w%fja7qn;g5CSQ2YUPZL8x)=>@MBzf~3FWo8NJ{rsCHw2H0)p%%C%)yXpHviVt={O(a|`D$~^gxaj(3v&D&1rgO z>+>V=1QQ%)8B3Nfz3#?$p0)byva(W`Vcz@7wpae+OJCi&a~J91=7WFzfh(`M>Vfb7 z5Lc?#U3X1Ybrnd^-hKPO_=SIMKid8WfB3uSu3r!0!vtubBL8LEOWVYiJKQ&CO?V{N ziSa7J#d}Hh@zr)(h#j-~M;l9d3)HEk9Dnp#T&H;q-;X;>O_5QDo`YgCNRN+beY(MW_U&|SPKt0IMd zX_{>oj?s7t)$e}(H2r051!o*ugOyiWu-7;+M7qurFl$bZ%MKSLQTM<=CepL!XdD>m z8(O(`IVA&M?b&@mKpl2}MTM)@Epq|RrDc)T>z0Iz!w?XrCfiS3UT{ak(rvdsxvle1 zJIe;V{SRsb3*+e|YeHBkGXqzTR>$+e;Wd;1+@~Op zL+fO+tgMWkwlHg?#lp4hriG;gC216Z4YY@&n3Cd>vFKPDt(lu&cy?6;9fK038psn# zW$-~1H2>@%T$x2nrOz6PuouQyqIy9T-4J^Iu*LE}T_ z=SQ9#C~N{qDM5|mB_ya358i6vq&-L{)K@M zq#!{yGBdU60az=<@qJ%=XIV+vtU2>~y1Vx7+Z#(H`uqA5LqpXSxVNo5e59R4f^kg6 z<(^yGfszJtfshQ&4ptEiXX+3);w;O8$Dm{AxOkV+lIyN`6)nC9X43z%m28?to0g{xoJ7s^U`s)2N=hKTsh*USFdb7rW$b_nc9|+lhkU$e zHy)4+W@*sUQ;; @+Vk7t19$M~L&8Sh6@!l)+Cl{*47O#sk38=H#6Ah~+-Ex{L%WT=+QO6b?Vf_;*s+Ijet3 zLP+hUR{{f+}52OebVTlx#|w>fiHJRu^Q7XF?~l{ z4XWj7wZpoe?1LqWk#NO%wPaZ=jc)2nYbq+!k`bwIcypJWHL|!^`WVqXmdGhHHvD+C zkH_irB#6XPrEJ$34$^K}62RV{^0a^=LK)r~85|gl#-jcL+}s-~3)htEdHsgIwH#EV z)FMz%25GEN8cjmabx8feZ?tu%31Mt?R_6>57~G}%3Y~`q<=f0 z>)H%7j2{=BrQp(J>3jXs7MZw{<-Ww9I z&mt>*N9FQQLxr+B1IaDUwMg9<$9-Cohgwo& zel~KLG7uZNc!B-KcfXwg4xRt?_OF4StT=PIi*YpF)`Ba~I^%>QUU_xLbI)%*|GaZ} zFB?A_OP4G>Z~fX6(!8mcc&TJQTwGQH`j}>?d0`9S`7+D!%-N~P( zRGI-Zm-z5EJDAHmo8=oXtXjRO^e;Zw#`8T>QpNMGz1w#vE5>+w@<;a%Y`Le8`5n35 z`P&WEwU~?99Lhj#M;YQw1DGXfwqr9MCi*tR;J&5`0COcQED6hthcIXJXS%z3f!L~R zt2B+!ltfbqrW_YtwV|w{lrU2bpthRnRaf1#dHSqI9C40x_ToVzTv0xs?MDChlb`(K zKV?#aJ@w7E{?-|*SB{K~y!Ohgsbp&Yq6Mqhon2N@_TfML^H?H|HpGk1H+yc&#tS#L zceLZ)0o&olix&RzAOD}x(UE0KmmX|A1T)Re&5JDZum0+9*dEX%GI?OvrcBbKq(V|J zJ{wlNCoi%bOLOYnf8%l;jE3WJ5~FWhkbEx$HAF!b5K{FvkR^6Rg@;L1&!=?PWv z_@@L61fO~IiT2jR#)+6OEi2u4*Qi&X$8h$E>RKbbN}FKI#NZj+49?tIjj%j7v&PnrzJxPk zyzxCC))g%pX zCLb5idHu#!eB9;m(5UJT+f5md%1nU(NP1ySa!Lb^&MX|?7huug%wVug*O{MBOePXIc}R^$ zqZJhu>^eBm)s2IK>hj9o_Ku?mTGNTt_+*jNLY!g5U%+egVB`RI3_Qi9C6qy*27y6e zu#EPt3e;A)cOAv4^u8u+c3k(l7H8tZRys#_Cs1?viO#2j82rp`x zlHHW6wk@u7WntshO0sy`xr?{6I)+Q1J(~n3ks&u|&lH{28vVjvHxU)|V7*4EDUGUN ztg#q{#UJc((0Oq5q$?{;Wx}<732f}L-yo?(m1Jx~OKp`FZ#$Hlfiyi!CeLYqDvjrO ze31h(3qzs>B8iQH>dDr;ok6753e<$~+aeutSJ&eiK5&YE1mI;F{CGUc(nWeKniw6` zQV%c6(E8(m)Dp^R2}$7+zFET~hC(@kQ^Ny932e>i&#wHm4)h>>WZ>5*38vPCNsA` zL{CkwT=*pHS}ZZAqObD37G=4nghkKMF%1$XMkl9t-KBjR&r>8lSqhI1nifBF+^p=< zm9=nZNDn=z(SX#}Gnu4TeBv0$vz|nk4;D@o>8FRE3=RAMBxDH*m+{;!8@3Pj>VS==}7vFPwkwIi;l~ zfX+)6FFgO;b*JRv&5L9j91InO{h@S`-eBhuo3fZK@Cc5<5#22f_J?_)_Ka6FkNYe=@g@60w6T`u?YcFVgMW2&5<9ltfr=#=`b(dYCAwSF#}s zTRj62(yA}oeDSmyjYnJCaHFAgHZA17GHKT3;1{FIT{Hs7Vf?rfb(NKiZ!UP#|HY@C zw^B8oTX4n_YKLig-;s`et?liVuT7giZDeF9UJ}3$hJZW@!r(9v*!uLdyB>dber?0_ z(#r8zj7efLkVzN$mu$YMZuV@9O8bub(aV%JTv%9I62|Zq0(-XYd3wu}tlfaIVwFt09UU3! z>+gfgO}~G0Q_Bn*Cg#p0puVh``_5Rsw3OAL@rj>odFr9>KmNOa@}Bx>HB{h{wvMgO zy~-5Yu|2D$skW{P2hhXAW7u{rSTdJ*^e>1=6MN0b!R0qzwSkYz^533Q(O3cQC=8XA z4piG}E`))Z1Vhs|r5V!?Q};9`oyoD-C|aqhtz#i)$1AVWbz2%|1;#U7`&vhP`y-PD zxXBF(>eV5*3V3NegS{xITw!4mnhE*C1o;APG=Ggsnuejy9WULm7Z< zAtO+UlC30rp=Rt?~dvm8vF0Ugv#^)K*82l>_Rp+_v=l8-~u znm$Dt?2VDi9{|Dzj*uZO05+}|Fs4qW@VtP1y{ep1$w6!)U_DJVJUUjQuJkAVRh24_ z+ESSYhYB=PSf=GBJz-0szUM|_zJ;`4#EoYYpMP{@l+Dv>8=Gb?S}-s&l*AqO;81N% zJqG6$m1Sc`#)3GjF=UM_SQ+!ew&}vv3IHW?Sv%l9AqolLQln6yBrgO6 z*y_<205xY#mY6gEH$G6rTM^!&!?cBnwh)~xWaNWKk%t$DBuQq~FZM=8Oub`wU~ROt z8{4*RcWm3XZQHhO+qTV4(y?tjIeGSe_Za5~tdDEVd)BPFO5*>#065~j2g5OqrD9dE zWp*Wr?)%HHP8=i^M<=O1{KkeGi@DnLOC#69Kc|Au5hVV@)heBjO18b8s#7v&NgN6@rVOg-lJ3R_gN5bgbi z59MQFT3^}`1F*Y+LCF7>2aPgXKqsFCh%G-bhg)AWp* z-tXKBEfebp%%CL(dC5w8<}BhDGRsDS>M1stJF3t@{u{PQE=>l-?J?kIqn)e>JymL! z^o{wXktKwDvTD;v+*1J-<;yiy38M+&@9Yl?5RcE)zif3hnX-OA){u>Bf1fz6!954A z;OQus%UjQqF5Br0+E=njcfXLFPD@_xr_TX<9GboHG)3C6cwYLFA{WTr`|DUsdo3SjIchjU{&pgr@}G2e zW`6kH&i_E2!Z2HZj>NH{IbrkIxKz&VVN>@T>^(OJUyJ}1}=t-s4MLU(Z`O#)A5n2X`P z`q_lT(5aRhtqev7xSph854Dtd`Q1^<#7hA;AMUWcbX;H`5RM@QY2MhK2(t<+Q24YT zG=Q5W5{T;6s?cP}Me7()tX;*qki@q`A^ZL~J zvsv%B9NF`mh4?O^?*fVYdA!rI^|<+bd(g}@^<)e&f!2M_t1MP%`h`uupO#7$ye@Uy?>C!NLVWp5D@8Nb zogeh+(ZLRadbUj)r6DV9tc`F7?h_lY7u+}c3x?I3J+`x*No(Vk+W^AT{UFImY;7|bi_T6LT+`_zP>2z`a5=F@^LRhU7lLZ0)UrL! zHfpiXuP@fO);D&-RLmibEerq_I4Lu%;b*2I&94shlkuN?j>^enXGv?g%=LQA>_B^7@q#RriUw1vno_)Al zZyL<+9=ZG+m1Jy8E&^g{cl^3rdp(UQCTj|M8KsFBhk}*v3rlq7dQ#8vO~Uxti~9hE zA^8A1hmJt1ME}Ly9?FhUQdMU0rTMDy|ADAdKYj%O-JkNup$v`{=Z+B0O#>di^BEw0 zQdHFe9elZ8N#o?=n$vBlY;G>}Imz97wzcla;Z^E)Dx_kThm&O0mY5X?h+ITIaOXnU z7pfpp;_Q3|iFIDUE(E~+W#u3iaNEouv*3gmT~-IJ46sT}(AcBZ-gZR`U`J685-^^l zh)zrb*hu2hiVyo2DnOoM3fQO@jYM)(=_9Xzs9MQ)pJ!LYL=?s>xCl_CO5a=l3>$~{ zfMEXla>SNVq@GYuoE*tiwoV@DtbIBehw@zNgKLh0w`Q`JvLsyzFeR#7MLPwS|LZ>f zXC+5c9Rphm1~!gmMfuNkwuZ~DzS~B^_rNztMnvNx)K&gCT*H7q_dvY)F5U<~8sXTmjcjlFE8&X{^RHrr{kXf-x#Li zap@ubF=@?a_K@UY=g$h3Z_23WQM-WUOr*P5peLf8J4@aEY{Mbi_;`WVWPd}3)Pyo( z0@||>$K`K*0_bk4`*b)NsmOb{h6#gg1T-fs8-jzaJu(AcNg^o^7tpOH6f7DYOVqvd z$ia@d@NDN+UHZ=PGbT+;-2z3fv*ay#C&nQG!BGji%g7C?(8Y+b-bXW}LLUtic0-i?1tzAB zda0s)8mRX%xS}JS@3uW0pR~n0!qO6gxbVTTz+cMpTe7pHC-y?NsDWzdvJd(m)I@|i zsb>|FGbFX}-tY?pxv*sxP<$ZmbdAfgG*`ar2ItuI}{UC(+cH)?E&G&JGmq$<%AgJirjZ z7by-m+vlfbcnbRdkK%vk`5#4xKFPIGF>l(E-c_(N-biz&S`pOVKkZMy%A(tY*yT8f zt#40qhdcjCo%b(-d5z$>G|QIAZFWPHPKNi_t%z*}ApO=TgU)+9PwZ|__6t>C)o~iZ zHYNnD<%lFkl()FgWje}Un`vQPRaxt`vFm!CT+cjLBJ*k@_OMD9IdG>z#Ks;WNFaB+ ze6wz9Bba;67u+=)va+cylgn*r=@;$*Wmfd0Datk0Z-+;nxeSn@c=V?tPhnJIvd z24EtU6lVT#129Y#NV5P-awYSfW=j`iBrdP00bL9XAQ6?;S3E=E%CKM~%JTu-B|pZ? zJQ2hM15Rphudyp%{!5gU!Qs^T$zX1JabWXMhUX=Dqt29+PE&4G8J>(5HaMX7vwM@> zPn!l1$iL%_;4m}#Ft_DA@u`W|i5Q%B9-JRA&(6J-gPs%j;bUH20jv}f5G^znTLmXNxB zB?Xl8JZ%6&XifPbXS}8-2yD zPt5KlqQZfx!1M(&LWHSdUg<1Ab_L{dCKo7~VFpg7I6+)@y~_*H*%zGiSH8*v(BU*H zUW-{{s2C>6&*t+;PTwnCQh!iKRTHkU&FQ4d>-kEj!EmJc{e8PAC#S{+xj{JiWhEfw zk*+Tu^)Z6L9_A5FEhI$X3LTOSB6`fc$Y&n}s{S=3P8+GpA%J871_)H3TRk|iS~?%j zUyX{VdIj|)y zLCIF64nTzELBq^?10i2&_*RxwV0|_~y^4kNtG4T6DI%;0;6XcueXNX-rWuSY68gl+$A|f~NFu6LI9s211P9=OYL4{AB4G0I+s_*l1H^~zAL9qDw zdc2+?Swm9QEQ5uM(=7&=-8EH0a|_ppTXFKcjxoQnwMA&I=%mibO{=zBbz}Ji4#kuo_JWYrZRrq1>dVY98kTP6{SN z|5J9MK{Hwfq{&%k489kFpH5#0)T0hgfdLf}NS>ZWuC6f+EZ|qDuPhA>sgg%YMkwnZ zNKg-iA3a4G5jeDZ6qLyq%G4hgQWx-Ow91*yU72XP>aKHI$3&|R)NA7;9x z^?=ovbibHLEA5!3^o2g~_HwGOdo=fba$i|(omD^^Y1INsEhYUUXb{J1 zTzZ>#6p)34cJ|j*#WuCK1wSQ3wsbTPXT_$)qbFX#7M9Z-v$D|CXCOttqWXtwXu_FB z)+gR|e;xJ;AwdV$LOc`ma$mXiRc0d5z4x z+T+J)9o(FcyB}4PgCc4{OCbQ?FwI2V$iL~-otd`N{z`!&$?x(1f?9cUz>nyjGTVEj zb7eJpcgnwmN3A>15ATi$aA!=mr!U#DZ=fbA!fvbcX+_Jf=c;u>79dv7_ss-vU6#Sv z)i%G)dM%JSrt7A6WA85r?_Go(|KV|#ohvp>uC^rauT3!<%&`j;Nl8sB$tgLY>A2!L zwt; zHrUHT)X28C#DgJRZsb;w!}VQynoi$GQ^3uqJAgjri^KCQLW4y@DHej+A|aCVzsg@l z;rNj4z!1s+%}3k3v?@Z(!GRGopkSH-r6?Jti3XF5NyngE5}kIV@xWyV zEs4Hwll4gB-hi*ZIfOx!x-yG`jt(UEIE>}5SIb?SD&hA)Y77@cO2Co+ELvpb-hg*` zW-zL#sCnv}l;O-u{#?Qhv_fq-LHLXPwIVw$br$J45g z%aw{8@7-am4gD`C<$ilRH_rFasJP6uu6^H84erfs&UW<1z)MW5)flm41;6_zEIqo0 zORYB8AWA#z`TA$&%54`-LvtvDUqSyYvPrd;&ub@ki=OwXIxCBHE~m+Lh{I3}S#3tp zY}R7b2D<+H=}+H9XVx|-s~j}{_OZcRC|~E(m7jYRwN8r+E((}vXefWEKN9bA#++>4 zcCq%f0_z7?sSsICNCAOd+QXcNSno16-RBUzcX(uxjChLb{Bw<#-Nym^d&6#+1%4G- z#KNh#g9alsXsxhjM#VyHvQ*lq89X|RM)$h%KNAm|jcektvRXnJy!BPd4`c}}TJ_Su zC@>tPMa>{Iz@Q_ z5f4?W`O&^r^1*0^_1ziAf%OjCH{_vrcN`OT;1(P*CgLuI*I8$9!xxb#0d(lvhaf3S zXxHJ-o>JRyF(MmXYyH#yE_bKfi;)F|z3dh2t%rtUGMlonumA`hoO%olR@##Qfe4`n zj>-omj!u#3HcDgQQu33Y$A20sS0uFbCxd%ke-I5z^LRnOivi2+bEGR6rUp7oYtJJOvY2GBr*k2?iqtNeMmuG5e{Aec|pD-(;11JlslqMq`_KMFfcKV ze9~+~BU>119db_)o)pXt@}WSZ)j8@}<3{$a)36{9O8K-oHFOmmYy5xk}OE7S5$(-{AVjxRhQmhgpe>jFl(@WI; zIEJkgqFe?xjbP`AGHcZ?c6HU#(ED0q(OXmE@|7wU-IQyZm~}i+sE6@_{)}6r212o7 zI92$a<*Hm7vtS)aKM-anqCHxw_L9k2DMj$y#*A&DOJZ8C%!rvgru07LU~ZjGChpr{|bAow^8Q)xv}T(Nqu@V zo<0{Pj&xZWl00vRNpJ$L7|yXt8+Ls>VO%G+0rEjiCyNLK^o%$d0(H7Qp6`!m{{-5a zo26xv;7?fNm-ubl`n98>t=WHYem!H39+TrqNja*F#6rZ}KES_)?Ml-AAk0^Ya5WZK zO$da7nN0sQx*zIm_1w9->MwKX%a4mTl;GC5v^;rsH(-ojYEQ|(nHpSu-aOFN!Un(L zy*-c7`8FpmwYODO;Ete^0D@D2wR&FgDImg(^9EaG2cuc!Kv6*vM!6tD6Q_UdSJoF7 z-Jjo4O;k*zB^XC5D~G%S>KZd=CO;FzPcN6FqNJ!49j<^tBVjvpWy$h@0pM%w1j2XJToC3mxm5mFDGW>Xf$KUv8xE-p=4n!272Su$j=kvmDWd?SARZT}R}-K-M1V4Mx{P(lD)rVnbQQXTFD>R-H zrDm;R9rC)o@Am9=r=kIhn|MRP6wKtq<+MZ~y1IITXNPLa|79riJ?kVbNg?HGz3P3L z#m^^>PEf1W;ALU|-1UjO-gemC?rPQkvC3Mt(^lfE+1tMPEbnT9pR~V!{7-1tH~MJ3vCd|8 zI@n-qXn!oK`yywUU3@a5*KKNa`Wf(<>k-~i@3j!}uxUvh86-qNY89IX8C_rvT_D&X zU;qfQVABAWQv#F+v{3-S7`@Ib9cpezv-(uMII3@^~l?xsV?KT9(#8{yS< zqy8m*;&0a1w=tW6SZYVvT`?o`X*~rM6`c(xujdtXJ@XsOtUh~N2aEh-7H$@lk=m@} z{YXE7>a|;C+Y(f45n~)G*Rp5OJ<(Fo#Bj5-!}L^?qUqCrBrYZiKoP<-ik>*^Hc`kU z)I5wVD)-P>E7Xj^d;BhCx~85aCFT4w*_a~hJ>U6px^FFkk=`^-I(xx-HKO^<)aB^{ zhQZt%aQ9Vc6f5kvYJ2MXJM)-c-Z}>MCCi`y{yx6DgX)ips;# zp;6W*;^;sWBQMNFK+sg5^QHxU5EV6p^n{Z^wP%8y$<5btpXuBA)E;p;Dx4k4`A0Lk z5k~~;7>T*X1~to_-B@llAk<6d>pUqzul3--lGN|#pzJUMrO7;DN9v)~cZ|A@;Z8P@@u>HEBY2wd%MGo<_%cvQN*Ci^x`$>Us;<;DJTZhhn{rje=6@ zUqK7TgS*@NDF}Bx~Rj38l-kB&Z04=#nRg_YX zp3cP^aI$4SETt+DMPa*&nyO4n&?{xK43(9#)U1f|ux&^x&LvQpO2BGrQ>My2XodH* zGxMk~6~-M3(dc-2wn^xnUw=Bva|)fsG~QWk#KlPv`7c@Y4GuD_k{;AGETuXeM?zQx zy$nA`N_wTrs1U}OG*@1&$WRU)t&j+xr(^0V`59>gi5O$XItN89K#aRnw_VJo6_k{! zvc%Ev*rTS>rrkLyoxm4wjf_6~P{~`mJ`+~?b%FcB!R~vG(HB`JWl zC*3w3#{MEPdidUrpqGsv4%*pMryXl@Ii|h+e)H3}4A4YXuW72531L23kdYk3d0CKW z<|zY#LPzr$0}DEs64_wf(bVMDEA>2^`N|A@b^OQZ(maVmu5X&lJFBjy`}KbE zYHswp%V_t@PxVEuZO;4lBB+iR4^=~9vX$?6S{T6}n40zh4!!IXH(loig^ znP~y&Fq}N;_11`OGB_OQm_|3)V!bx4weNn~i2)8cDvfqzjL~2htY5@SLY>IMkOXp1 zB|1WY$fomfaC`0AeNHs>xV_5`$H*h5Q|u?%qspo>LpuPR-H^7O-_|x1Q#wF*{rSEm ztCryVA@3(FG7^gH=jJEog;uBa(T?vaqqf$T<}kfN?7#sgh{`yNbZZjvl z&3K^8&If<}WBW=E``^-e)X3U9cpjvg^}74shn;ciI7~uG>;~^Ax^%Z>2RABKCsZ^w5>`UC~mE_kl()QL6X9!_pZiTsK$tu8^ z0!rzYT8pM;!dv*7gd|KFY-1uh_p|kp8E7*@u&$F9pSs>=FGwz&cb{ce6%xVil#5v+ z{%NB)-oCrU7HG7&?;!Zi$7$pZzt4H4(@h6`7>&Y9qZVaax@h>b&0X|kUNCKC;v1_3OUS8=yt3?w3e5kQ(U)xWq2a!hghU4fjf5J*6dH85WbX<`#~ zYZgSD^Ju+VwiGe?W9ZV|D{l{UiGX*3ZgKAN2yvT0FiOlsu!({{tON@RQvSh63WcCD z1CCFX4vUoI@8k3Hzv8fnhKKqFAyh6=$*v0ap!RP$NMls-f-?O>IB|AL01^og2kP#Q z1g-S2`T62Gnk5`eV&!}s3fbT!q>lb)gRrMNjk4}&Ec)djJ0}x27A_6Uz9=^nH;$6w zR~L}9!(#S&J+ZNU7PJW#ru+YS0kEx7bL0IrxXkqebwij2>toUtv%1P;%Z2_*XF&ls zVcQ^2Byt)$N((G|kyf#kb8whXG$Ucv!`4MxrH`>DtidSy2qq zG^=0EcQIQ$U(h_3EQM4QPAG@g9PeUTUKeSOk;ZgeJd`c6!cow0blcVD)0b=504%bo z^a6i%!iLBN3Qp2(}6+3u%V8v8XiXa+!cbO}fLi`;aRQAly)Adzp z*out>0*TwW5CCK_f2RijLTACOYrm~}l3K#mPL%SU1-33{kKihDXBjo8uVmklDebQY zy*FX%22{c^xKQz3)38q*Gq1#ogOt#9>YoBbVO1@sIC7~OUnB@DUV&}SF))k#4j53U znXIJh>g&glsz8A*{?&UY*U$TJ5!zd~EBm*zzl&V0bl?VMJ$!ZnYqJcvPPYk?uQ9obJtD&e8N3x2JzC=E?eoe>FRZ==7_ z3XV=kwR)czoriaPZ|=ens{bB{E22kPlwz_M7aIh}vWXxJ;+1gP+XCvu(q(m@2wI0v z+x?~xR>Q@`CdJIvqJVdiT#Y7NEN%dh>lPUTLWJ{B^xXX`M{Gs7$zo*=HS<3^PW*q9 zrmX2d%EXyAm&f)!)_)=$AiipXz9P3Tb4`;+SSix`sx|+K(OyKeUGp4z#bHJcw&d}{ z*OeERS~E(~SjUnO`34vAFRhOKW_NEm`(YLKuhreV>{w$Lmfs|M2uw z-Ak+M`Zl!o+R79H$Da!}o1ckrz(8-~TNR-{G-K(wMt#xeFq|zkacARir4*gE=WM6n z=MrBT#ZaM-iVG`{C_qJ2r0><&AC+a*srJwcI5I0iejJ;npc%=L0+B=sCvlyBYf;XB z;zqc#Ny<))&U9)I9xBr-?#P3`K$l8c0T5`^+x0J2uIxt}H}OBe@g>l*TK};8^}7|q zXMfpz0*A+YALR49bMt*^TdmRhnA3YLoBLWi$@4nqpwg|Q>sli@5=UYUeI62P-TVl0 z`x%wFpkuFV@G!OUp|ve~>28It50A(IzykygZ4Ae+Wp-IQ_o#Cz=UeH#A!z!8*>}dT zql)gUhk`?tQceX2js0ZiE`nB*=;$e91NqJAgSmoq`=O<+$UP~|mL z3wWWAKC@7Oc)B*0$rK~yq0oFTJ{Ymz@J?inDvg%3zUL=N*H*MYbyAihV$?8VMyu{I zdw*Z4*qwB~zxhC?`SppsaozV} zAn9gP-Q4W{#9`L)2Z`HNTXw8qHZt_jlipNPCI&tZCKU~Zx>_GrR^3WZO*UhouG2zi z3btxdq&!LRQexGP8?Z(&0xAm2v~~9`u3BNZxCZ23V_ymvft*P;TABBWM4YiKju1dm zTw0Ffj z7>d)tW6_h8tITM&652!mUKH_vDK(1uMdC+l>J}nmIF4X9row?KDBHJ;vDAOLFhc@> zqS;urBVgIx9%G;kPSq(p&&oOLK+kdQO9c5ZxU)qJj>>!*{*|H&BoDsU2Wxl0Cy1_e z#ijDIBX`sBGHGH!Ew8fv{qwiQt@Y*U`R_7oYKo{Qpn5=j{BKN&R9xZ_WT+WD;xVhM@Ni)SuALcRWl6_Q+8mYf$Q?LPuTLTzKv{-cv zva7Z_wsw&_2SKz+SYwM(J3tK5;~1$FGl!pL25EJoYK3rq1F7Mi6r3h~*eY#6VqUp> zw%!)fX%Vz`CP?5#x6ipqd^qV@C6&eD5=N0M-C8mlTB(A(m_!$v;&fmso`nY1(*qS2 z*wyAyBz5Bvls0?*y@aP;#ZuVw*ry!8tKCAypW#WR9A99O7-PL36Hs)r`+(?XiVXA) zhMgeDS=GDmb}1^=04U}58oS6R`nsGK(tN)!>;zKIB zg+7%C>9J%QE?bBr?S@5*39M7?HO?fR>b=;1`Psw&07Vv60o>Q#>#8!j4gV#W#;y3V z^lQf+T6YQY_P3g&>PuC)H#R^bgNRTOx-H;DL?$oQF^fzu# zF?cQVz9*E@bp13;Y@SN7cku8r2X0Oh$4mDo?_-5(NX$%wOCAE5Q}aA#*Zn#_w6?Br z`D;y5P29Vq|W6O=s4IhKTnERT6j9)bxISt4n^v#I@CxwU$;~_apS5Q_OOF zALrC{ThBkAPops>exFJBAIGb`zZ`nsEJtSReh?`#L_nDja;7+&H^%luuI---S|>B1 zpZ@Ef9v$m{;b&>3LFxXOc_?PcqtXHg(`V9Gof};)LBv(yGk-?v@y8i5qt${334jO& zc4rA#FizN(m;bE%#pU!Yra%HqrHDlt5hD*PEK1;45H7vWB#8VIKSuJcI7${8`cDS| z_|L9I|FkeCRz$L7W-x;Dk)FS5B%4; zFuko-=v|3Pl!6GAlj`<89<@EQ10}yNdO;Ksy%Z>jhUZVzEIPiv`g;Aj*`PsIWjZ`& zpbL8S8St~a3aS*(uzAEZQABM8FPu?swx$T+sf|4`qcAR zMNX?BODtni>{#Sw7Mqz#5us7qKNGXHr9hI51mM)vaAE{eANrPz7^7Fsv>FMaU;&-g zIps%5uxB;20z1Y{gW?B08gfXYLJicU4K+mo)BwCDA+d0iyEMHdWcw9`+CTR&NF~(P zT^j3@5^9DLnmQU=uEi-Wg`w}5BYX7&5&M&wUSM6S&HBLz#q5)ooTlVnv2~Gv$~vsGzNqQp$e2gY09i zxzIt3M;=x6@jSpS!vM`E)G%RZZUD2E{Q!@?dJc$IVV4xA*x1-cfEXp>B#Tiefei|} z`isv+yHnAun{f z*Q1fQI&)Z(-{s?%GbC&F-?3$>!}Y%V zKMdaQiqdOO5xfe7x9X8>1~<0EW?jizW_5V9KQWjsZr(m$4CFw5KbFP${DyBvP|2WhqDH>==YH;m@ZX!H z{^(&*QYIicibWdlE4=mVfPPG@H&@oGlI0>T_qh(emmX)#eP5oPuKgGwx69v)S{HN|bx~UO=&bdyT@1H6PHC6&?Evr8As*OUXzs57q#}GTOGxWUo zT7Z;URb9;EdBUa!JT|w>K}AI-B&8DBBw&-huv3{CMc5ju{_MTj?hDk)^1PBW)|uz$ zacXz=ALP$!4&UbcWYm)BPFjR-T{9t)1?;$=4b_kDp5q z+MXWZy6#4!(dg1MjQTL*X87Idf9lC;Hw|kvP~g;6)CWcjz+BHyIGmSKvdXE-E31DS zvi8~U;p1FgTow-ec}FNdG1(2CbFFQ_|Do&4n47z&qu*9l9l8q_=EH^r2U&U7$I<#h zZU|cWiyTy-OavCxGce;%N%@m2=Gh~$k~tSP;v^f`6UjP!Hsi`enM=+E4xpq$aX@#b z+yh{}CPta6kl6-;PB0P}j7LJ-0lSV5+VpJ6xMng4nKFPVhK=0<@w;m52u_B|ipQ&m z^v9}1%rnCk>=w`Cs^EERg>&7CG$Y7Vvyw^^c2Nj|rign(iokY_n$aYRg^24!hMMH8 znNY)$#9HVpIE3F->YE9;>D>fI+(BSlqk<(`;9L>~J?|#4#Va3DjwT@DNM~p7PT@ED zdm^Gk$vVOU6%QHfWDoIq-v#JE7QY{8hOsvQh&Dws0y=LHEdw`;6xS9@oeS%wYN&RC z#Ncex&v&yYq1IBvmwlUdRwan_sCA56_2E+~Ns=^3vgDEw|N5x`xz-IbbD`b@SOm&5 za&D=`suI+RYLFBdX*w#If%zU;D#ANIxGlp7C#ng-Ih`kWNPwQ_GL_~3aoV{iYpZ(vQ3O)*o1TJ z_Ji5Z+f*IPLoEVSv+kP+U7SkT&PYZlR1+pcP@)1u0`4=<@6?G<2qu5ebv)%l&tbP_7hnnTz!&V)k!yvm!pes+Sis%&pA_<>r{eaGlAV;Xt3L zkSOAOq>RYwqSOr3bwBQ`LAG(Qu%l2z0z*WSMoLgE#gd#C#YGelX5BwXuB9v$`WqiE z0SSkd$n~!#MUfPaiD}f{7Y_oFh!gj#%|{9u$V1)t#NfjTi zbtQ`HS5c2dHik-ZYnv>2J?a=lwh6kZs$Wu@>nRPAj}^%|6b_2hy=w|3$f3qu?8jqU zclKlBs7D(W(o;s)CynTc8$_-WTIzPZ?+Z>MAJA2^e?`cdG_hO@t6MgHL@MwkN=_0H zE*o5MIaU`0fell$S32HB-=IX!cL7zOp(!%*_P`4#`vzEyVa2_LLTU6@!nUe1E77yg zs&L7Iq*$hmkvb%%RiBr4s-7@>OQin)W{A=M%#e1+`|AHULwIp!R~U?b(9E)5HSA;u>(9l__ma=I%#ni(>?-hpb?yJhdNwb*`2tzO=If(W} zR|6C)xgUTz0i5aV{tqy+IQrWG5s9WiNl8a0M;N?8Y`*71KhwpH)y>6l$yL3L4Dpn- zMwkp4OjG6y&tjQ!z3mF&g0E8CCqgkj<>ge_+F0Q&nrb9 zj#0pY>3d!`TWvPl2b4E39=Bdn>V8(!`a(@_k=u>m78fTYuj+c)Fk(tG_@FG(KOc8| zj&FFM+#2Pa2czn5e#Tou0Kpf-+&=eieiACky>h->6Ml(o2;yWDnK>~45Xllj)~$9sJ~ zz`(=&%VfL{AJtS;M2Qm2@_b$2A4A=~*ST)`KD;u|O{yXhK`3I{Q=rATU3_6Pc=2ReTJU^s-;oqH)pAK%YujCd--< zD;L_?W!5{cFE4p6E=&9#)A}k<#_<1X0sg3{s(ikQ`JTLTbq=z#_vS({8Ltb96d;VV$+sZnoy#v!TBpc56C_!)(#z-fhM89OIXd z?Bu>jpobU+86tOdbMs@$z{A9&96`zK^3P!8Sj$IN39&PMs1d-B7x5KA_y-jP z3_(pJb8BY;tYYr07%ltgCgE>tzej8()7n35siMz-iU)UYVoQjELXY)a=Ix4s$+Woc z9+FjiII@IZ{dF2_s6AkumSxVsKaUJXm2jY^fy2{q0vZx6QKblL0eh$FC@-r^4WEjt zrkt#{`ggQYp`P2^5a>4`qyIV`npBSPT|iQ+%n8myf()Qfr4v6~<;e+aN?fcX`p>a| zrdmD199XqzU&Nd1IGP?fMp(KVQf1XZFII;6Fe2*g8k?;Q{I|g8TZnxZ^nO>iIgUvCWjINEBpI;Ab~EB|x{0Pp zr;s6+tcCl(S?IQ9Rj+!m`|E2@i4s}y#v=+^z;jg?>&b(tpbeF_*leo)%vv$-kCcO* zB8v){Q%XcMmW&>847CE?5L4nFRkmS#D`>z1=n8>yyf90yE)fnXen}e2{K-HU~vMP!R3@#0D3b~;e4{oi+ZU8yrr1gf;9UErqD)H=3@ce7T|CcaNFCMB zM|3oHbX;u(QeigTy}OoZOy7wJ-Uo+Qti?iKkfQsVC^|X@TJDC844-1;c4@$|wAwgJ zf&ko>a6KRjp*;y=ypW(t9LP!MXg5bWbSp*3W{fo$bSg1@yqJqK)}A$nv23sdpguel zI8;4M;Dqiig)1Sv6RB%c;t+{uOy+A0;ztifNBLA zMp`z;RkTnhB>x-q`oEs8|GjtQ{m;Eajoc&l|E(O9SQPZsMy+7m(?ji>5thgWBo8c` zOr2|B$Z)x+t;}-zcmaMerO3ep@{?0j{M+rrE%>{T(x5_wWOxnkI0vV_-vQ6D z*Xk@PC=h!#D*37TNcCg|?AaN9=6HstTWqThnBn-$6g@)|${@iaPOu0#J@2%|L6l-5 zCLF$s;9_F-wB?vlGwBI~GpX!Wz58cl783Hn3v@AVvsjO~=yH_4etvpC0bk&Z8ySk^ znK$CAL^c5j*SKzsEDRVwersNB>Jm*Cy>;h*d(JoIUZ(9k&De`+6^>O5NfskbM8vH% zVsR7}glM1z5Cr&lxiKJt4hi8I5x~X$xj`TUN#NN&cf}(OCtz$c{)!iiN2)~?3n$<# zmX1upoGdQ!Z28oxl+~8qe|){Dm3f7#jW_=bsFHnA)4Q^}X<60uy3%R+_VT&l;sYlZ z1;+n49pn4?i|%`t_T8lSip}@4>U&&Pr`PvxW01=T)P#6P47smm_}#S_o(+d z)Alp0ck0^3;QbJSzVi_GJweWQKi6LH-}hOH z?=hus^7;PxAr@i{Eox?E_V{Cb*I*^u-(`>bs=d+R&`_Y%N;q;MHnw@g2&HX z)Q+kUR|{fH;9EaF)L!T~`hJ2L6wkGFm!Y8H34jhD6}-+Vb$kzl^4|CRUeBHM4vz2E z>%M|^P&PZ&w|iaMJ5pH4s#IT)$!THVq$@lQMzs1~dUyP;UU;4p;6DSnQ91TvlJemn z5uQcz*|+){U);V=enQzD7g-*}=?rTpiXB{;c)2`!x2j*(jkzpnO`CWLSk_26d9GuB z*41+H@ZsCAXfKVs_y|O=A0H1(vi`)y#qp1J$l!bPy$f@l%8)YSS23{7Z&1$pL|sA& zj##b`5RVe0jY6aCsp9l&h~P>>lM>%|gJlC8Cd2H43@PH%cxqfAppEIQ2E$-)o6`&6 z32W(3w=Y5HRm3vN)RSw2m>^~bP!?Vem}!LcqYCi$cP0402?}bJQnMz6hU)ZNr=mMF zf+7@8nWn>h2pcvgz8cmDEp$f~GaTwOlp^Mx%Fn*_?~As%#yAtXr^MVDj4+cX27|^C z$|=2)fI_@7b-?r|vcW&I{b_S`d&zw}R~y*(tQk~og_nOo5UXP9T$OqiG2 zD+GQ^%J~$Wq(=+jFXUJ&Brq|CltrUudb{WS_;@SOn08Eo=JEsVmN07MbSc8_Vssll z-1TV2{SFgr#&}|ps!%v}=a_IA4u!CkXvvc{ArZn&G7Oa!J>6@4?Nk(~+CxXJm_R1g znsUk`Bvp7RN#k}aJeujGpd55M?`GP2CZg&g6B>C^w&PuvtZ~Ln*;#TUezVt5+V%SN zqzu5G;{Ls2^5dw6Iif(O|BtM9iq5R-qIF~2wr#6Yv5ktYir?6_lZtKIwr$(Clbx^a zf1jJv+Pa#nt;;pXoX_Z^cjCkfZj3C-(R-NN#xNQ!6Gy#lRuc_&GNf`BcqyXb`q;mNk?>WC&rdO@S&GV{jx5*$pEQNBHgmNGix z6b4$9a+taq z_+SU zZ=bHNmqAAFyM%1_VP5ZGaT{+~=&pXtZU4Tvxj&#*@D=Pgor^sW(=LlAx2KiB6c3anzThuUCq(j(iXPINy(d1{b%P6^<>0b! z%Pq29qIjbTnw70bbm<%N!5^AUIOTGRp&5&i06#Te$p>8zm7fYnl`Gdkz*ReQ4>j45 z;fO{fg#39~a@^!H^ZVr6>zH>N9cFNpS~l;mv<0Ra)vGz^#yj#4 z;I6#;=lSsYggLhLoW~{b`LJ)fa9*$W`8=1D%T1@6)yHdmo7eMt3&OPVe45V=tAUeT zoTL=EoA%zBv~|5YH~_tNyN1mA*mQ26zkY6U_I$p{{#a}OIu-O>F8|?i{fM2XVb>m) zNg>sHa{=Ppp1VgsU;nIpKKp!p5~|Kzkmd+=cC5wE?59t6OAxQ7W`Ca5Pk-GeH#aqR zsFiPiuH9#QPhammZn++52H!ZvbRIoi?Ox`$XMcbEBq4S^3piiC$=NDor~i34v10tV zNAzqNx?H8qe{G7XI74(_CTNAYa&z}wyJ*D9*!G@Iuzl_2>_3APeDMY;{C?VgV}z`n z%CC06s1$ryqE#mpNQ-tsKoIyAmj?#ja=jWn?sf*H{k_j9@V*DR^~oH<836VzQG>%+ zNPWBmkB~1W0*;P-va36|(D1SB^SasnMSBelUpho9BO|rk<|wV70sJtF#`fbS z`e-OT?fv*_mgP;5hRtLKXVz^1CD>R@sj1z`OSa*)}yuk6#P>QzhKbx+MM2hym!x7 zvp@Lkqo%-tIAZbYSnVhs(+3T@#sQn=U4VTnaZWvw<~LukjZFjza{I=P(3m2cXF<@K z(#De^Hxiy4Fp6Oba~vgCk02ym%+lhmJBmQ!gB~6t1rr(!>KbHle+}W_R0BBQdc|?{ z1sEmL84pVW;6yfmUEGJYT4v~j%YG?KA`dY)wKnApTAzdH{mPnpGaHpInJeN7R@V+nA zMBZn=LpFhF4mWC6iPBdXcZfYrnULJ&h&qVOWee1Cg)Gi~SSM;?Ip9Zf;zy(>$EnQaQbz8x11%h>3@uW6DZN*XG&ec`nQ5cPA@?#to_H|MpaOU( zw(IlF$;-t#8FS%c-mNCE}hrPIPJ7_H;3@-p+jKx6lwKa z$(kV};4IuPN+IO@W~gtB-iFM43MvhSjH28Wy|1Y(>CHKzYvhby;261jik5jIHJ2WS%ILrM^+~+|Y_Iul)5mI}F-Q&MnRI}7W%T_a#sh1o3INS)a zgri}#(>wPw3JRXMR(Yn*)mP z0Db4(0+B_K$Gql`$8>xL5c+(F03anRZnHg6ekA5MmTcjyQd)j6ayDBnZV`}hUrX<& z(q4h3ls}f$+wRBh{h);lB)t9#Xr6-ii^c!V)cAn!@8v3*xgdVOcfacK*EKp83YsHL z=xVX83B+XK2iM~^6Kn~-#Bp}Lf@Z(0h?d`;cfXBKj($w*w0@oFyBP6VQJx!SMg`3R zxbfuM`zwEaFD?`Cukdnpcx{}mqxW9>9NT`o3|!8>o)`|1CjN^!I(T_`a%9xr>;|!U z>;6XkRxWNCb*Uxb}hxK?|gsq8jl>gBfl}u-Buml%t1(Qr^Nhs$8T&Zg4N3 zT8v^;QIslCZzzm=F&0Hm$DZQErMoCOF%9@MP}QKdaWt0#0r9)PfG{R~!W0V~wYIf+ z#Kv$)2gUKe8IAGW8I9@T)lbeesx}mE?0)Y4+};hO?$}cXrbWz>_IVg(ys4I$hT^om z=!5D&2}67d#n~(_)r&McURibpIG?YYaTX;+H?y%0ngUG~|0Xn-gza0h zC`Y832kMZAwzU(5SMfa=B<&z+?`144jz{mtlZrCPgVWY_<&c)pp8iUKJ`0p(Dj<@Z z*$}xaMO*7+46<*H4JN|sx3Nc9oM5y>!ee6(S6n;^>_j;({H{QloN1!3Zg_}CRTe_} zDtEw|ylA+LFDN@AWaGNHdep1k2F9z^Z+l{l2_@Y;=}YJ^$7HBf97?7w)qq2em1|7Gr2Lq- zvACR&U>2RihWsFq&6U^8BK4Nl*x_QcwzjNPfIk|?5?f@>Wq;f-v{P8mlb z8B5~#T?nd!`DQG#*R_=bQSr=KndMPT8oYt8}{5eZLvtI4%U?0uG4_0-S5eQ)Xl#0&-(rO+!(s}i_{5_+jY&s-RNXx|FavvY(t zJpgohOc5t#9M?3)UBvup#QOPeanwbNGe#MzCDi^_{!k{A+5q(hy~cOlj)2_m z_s#28$KxsTIyg+1s|~NaQA)QWwx0~@eV@1x`*ijywfwuE1Ga#TyT`fKwiGQ%n%;BU zGI~|FHT#X#+FisCRq^a6*VkFAiuqqP2q^VqzxvRR9#1R(zvUoj4oDypfr=n)mjimC zuYJz;&c*Z5DEp3Uljr;crg(+sRgpmN;O?W#;m=8fkJqPC$kapf3t?<18P*=8bD$C9 zLl3koyw|SJUhD=%)9b}wA6p;CddNLeJh6#Y2*tSs6L_;$X2R6K{KeZ_abn+c<+y_( zSta*938e9oZBa9@#hq~6U#)!H+@R0E-aX{Kdf?2yW^U!S7grYmk55#8F}U=;?p;Oo zVEfa^To&Lz;frBeIcd8v;;r3!&Y4u>dPU71PE^q>WMK$gBDQUo4KxZ0YY+|}rht+^ zC*$%jIn;POU^UnRLD29L3&5;?%`4GSP?{0Q3aXr_P=U4i5)T-eNW_JK62H7`Tb7Yx zmH6lP1X}4tojvw9yV>gS2hA~xV~-c?x9?A1Yqo8k?d*bT7>L&O=H>%Fewvef0@m&5BB=oQ_7!5zC7GsTwEdVYVc|ue5_nQ*}nOb%|Ybw zJ6vK25S4du>Cd;XOpi*M&1|o(@$v9NZr|rBLOYIQ(V(y!==7_6i^2i^46#|#+?iI4 zW2v68n%2)1=Iy3dKOb{qey@*Pt}w=HWcH?wT%5eO)oNR zhz!2Iw-PP|7AH88yG)fPSJbJ)cujrZklRHtmc&_VTZr*wMzIEQmB`h`d&+T?f#)KD z%jSrD2WKt*{zgx%Nh40&p6OO(O6N4s(KJ5cS8lD@tDiwm0z>QB=-+^y5n+7SXb1;} z35fNRp}1+D;GzQ5xCo9CqY#z-S*`wE{WjK>t)o`UiVP(3S7=5k12U9|%Q4>gnGuWW zB}lhcHz-_QNLEo0s3>rj@{@n$$+uZL4Olq8p-n=4XjDlo)x7b%cC-&fAy-mT5osiD+qH zFa0R`JAsmKJ1PWd{$cyQ?5OO{r#%onqz`EiN0x})!7@r{y0Xb1<b)2%bvAR~G`gLc>T3v85D}bfkXI-N_NoXjx zRtH|Rjp<+Gzj-`5)cWwIuz`n z81-MuocR+2XFzyClv%sfshMLv@E9361LX46k~4Lc7#5&$k98AX?K+rQ<9G%ZDwqg) zF*8VF%8`DX>H##tLR;PN3v+n#BA~- zJE$o}S^1h1QFUqQ-Q+YI+VZYfMu~=J%u=MUIr5wx>~gi}hU1vYvI*sGj$qK2`pt%f zshP<1mSW|lU@|j!b>oj^H9Isi@Bi5s6aAx3ol!BezM|L(N5v^-nPP|njtXs=_3?WV?x zQ>uT+JdVwpu@r~HKfKjCC0+NGrw{na7!hRb=#sm>u8y z^QW38&I6h|I_mVgzq$8*-JITSq}}R&>}FwJ3E{;p)^=2%9k_V&dEqyD0Hn0=1vU!T z19c~xTHQRYjC$&A?HJzzfLo!E{nCS5bF(6`AxIW+H{QEj8zq5=J0S~%;9i%XcSWmI z@0(F#wRmx}cIbYz2<$}n4;dP^84T=>hhvMAlf9Y82w`cn2`VHnVb4FYQ)xWv|HQZU zek}qeGdDwU8*`DwPF&1A_jig?ghb_QWzD%9YkLOBS zQ77Kt9dYgDt|su=4G608bP6J+QiOTP{t<3>Z5|tu#v4UA1QXVshkmBXc9=L;>6Lz7 zwQce5kv!l}ZB9R)Up05%I<*xBmKf+FQmNi_JDoaO46s7%KD)JAmKdpBw9Nk)HC(H5 z@s$h(qgVj+>Fk;HM~I$Z!7>WG9qT@?QR;rC77H+nfjgX2m2-WKli;!Uq%lm1nT5Dq zYp)Z;avfgn);Cfp5H$&jX$RLsF-}`5#c}PFj>(e)3Y0_8H24#fw4zEw@Em)2v|Fz` z7K%sQ5=keSIi>WgS1s5%+P$v0dMYs+e{9J;KtnnG^m_ImlI<~FerEaWgiZb2tLHZe zfOeXhSLN#6@P8w-psp=Q%hfM_1OFBYQy`{GnwUC@ zLi(}`{Y)?#CVIlD33#6@76}Ni1}YhjS00TprtCq1w!QN2!j89u;-Cu2XQYjV{T9mO zaLI&zq3|*gIZLu{@I$#J42^ZqzzWT{Xajbs;kS}VaiJ~`o{4i1NZdl&*is&Llv|Lq zcJmfUl`p;+^JUM-jG|(-XXCY18*70)FgYg?jTItO+G}dta3d0FC(=RgkH{T0Ai{M8 ztwYwYK%p@3C=Au8kZ$V=&m5>5mzZjDJzi08OWm9)E+Chqlw@Q zD+8uqC83&`S(NBB7*+Yn=tHR;H8;aX)!UcyWw;A_iT~|hjQ^_7{hO6&Q&wmZ#Hl}X ze}n_K00nzW6??MAP^-sP+F8KDq{FdZbfzIe%Q}ZetC>fZb5Urq<&)3~9E(&q?Gi>U zQ&T!JYL>G$OiJG)B$J#AS#Nlwff2oACNlOPsGtM6*MJ{7W7+f~H>G88t!bHEd&~)* zi*RgkY821!i25wj*f8@F>Y{0mU`ruf8BKR`oyFBxQR|5#F#cZ1aYkqDl8)n)xa!rTDYSEN=gHC1L)m;39quwK7gO;rp|2hsO)^ z)-2=3A+-bM??pc+!?>pUtfkY`xu9rIqI&F8$DoKO-HWD$W-E_9DoGB|mlCvpM>*PY zYkzWOYct2S+-Z-W{=67;4v>U85IQQ)-b6m&q$O^caL%ipjJJhTIhpb-#o}f*h)K?3 zCgVfOMJSxjM6*V8!24h0BU!sN?cn3LT1)0(ZlSL8bNbf7x(8 z>2yG3X^+tU^Qt^hviu&y>L>12di_a1;!a`xm?H#g=r9WXa8EUa`BT)UAZM(|V}{y5 zI!^l_so8+PIfuz!`K;ds^~dM!)T~O6bA5$8q}g`cZMpsH_Vb2qG;_2AIQqj#@Coy$ zPoVzeLQ>Hxp!wgX-3US8314A<4CxcOgje++tLdJ_+2L%}-9 zt$VCMh=_>L`n~oCxtwg|Idq!2oX~o|DR#fWR@2TIkPmJ>V z-HFGBs+8o^&z2eVXuH^#i$UM_bAo>!pJY$a(ps^OW6z?~rkZVoEamujnor+`VD}Rq zg6`SC6+0KyueI+@9S9aky*7GVrXtgfR5LELqGDheDujd zLR}ks%0c1huTaH^%-?ykEU@amo>^_*1vmf1@fa%u>j~iAH;hPj|K`z=cmX0IQNqk2 zhsE?b>+- zfud1Fj?qfpcl*w#iT`^@T zAgj>McF|6AKjnDCWJg9B^(}#zU~v!5V!*M8BVimQM*EgCd4El|R|;TTTod3gPZwL0 z$Oe=Pfsgm{km11EO(+kTF^2!P(858Gf=n@-&snrGsULo%u#2uV|8ZpK>OfDCe~Cr8 zLq+PRQUhn)*sXQ~wM9;s*Wt-chQCS|l2@fs6H>xpuADiR0+uxY^@K7*g<SYIl|i!x*lKX6!tDH zN_{Icx|A99c>oR>q`wxFxl+}ge^{j2i=5umUOCbqW}9y3sx6Tt3ez>LE4+)Vzt4^Xd(gr_7|^|An2TSeocckqw|kN) zBfug+>~Wecy1c=F{-9bG;YjTx_f!T=HOZ@4q4$S#4N}el_!-mu>Qu&hk{SnU6dGUo z$~-7@KNjwTxCKYu#MZDAb?8%e3S}`iv6GhrSR^8aSb63Kw1869y+UTA_Kb{ZEIk{P zJrts>wRsZDty3dgKB>3{GDm`%o&}VPX_d$LrQ?m@a1>QW&ExLORjVmF$>${zW?dQZ zunL^H;^RY~sq%Q$O{LkQKT(fk={HFu&P{^-=#%CiH_T!3gPIrXJeep!01|?=D(%$^*1rjhf)9!22Woe^QF<_7{e>7($5yZx)L!C8rI3J2V!f5L z(Ca-d~Hm1s|)~EnDZ;d15X$pM{d1y~iug`B%yS02NP`hW9o+aT79tCrj zP|}BxS1&&>{N8h9x#Nia+0prMtXKZ)K>ll&@N0Mbv)$*qE<@rt`}?(fYIxe~s#NKv zvi#QQz3%eO_`j`p3CHz@{fCSbelY)WY+3601Ntpy1=O6&#oht~u|3FI!z6eEjN`iO z)o*Lgf%x^dZTbD0{h_?Hd}Ab^^)d7vmfy#J>XgfU1)P0Mq6hl_v;Y~I@Xbw4E=^6l zlP5SR)?{ibdN6c0wFBLK$a_ZJ>-W9>0v8kdtRLi`ac}Vx$cZzt;#+Z=GZH;OS_5M{ zGJ6dC4>OCMo%|zYt@VL^rjdvscOZ?xZb;@r%)Xc%r(G2pEbM5VmC;FNuGM&AWom=X zOV(0h^iDt#dc%~+fl4T$4|B}!*q@Pc3;khJ`6DS#pYo29Y7A(DuLU8eqGLg=c8?Ws zdfN2xIUq2mrb-6r87iGFIbt|&HuDnr4qRTll@h>-$^wdEsFo+IdtJI%=qn}ZJWb45 z)1%CiK$pJEpjor$e^P@UCRC z;48ZG`Gopi>E>#_x0|c0smo(q5b|5hSl~Y+&}0q33bHvQ2+xedV>!oo#)M2hk4H#PAUF8z~?-3rvuY6fn21x+3ULlrKAQjy0CG@d7$)H4{Fl2@DUS zLa0Op3Q(=Rv9AVI&v+^{JsX(n;(mC}6`p*#va&bYyo8xJx>gbbqldxgjl7m!lVhgo z0mBKvRl;D{^o)Yv@rIF}dz3brgq4hS0BycFaa??O9C`v)KLx%%llDD*op)G#7_8gW zyc9DZhWR7ALJ!=EU*RuI}3`A!n8RqM z0&L*eCU(WhKb#z8Z7faceCcIdimf5h_0Q@Dn-0N!Qe^-br2^41QhDNWL6PB0r1NoY z{06p2lWm|XW_c|_IxE+;tykA{#~ zFc~XJJd44q8Wxdowb>4&0giZY;CoRu7Q%jfV)rY26o15iQJ3tnH(rL3h*X%vp_J^^ zJ;X~P^B*q7Fu-JnOI)z&SP zH}`AXbHsQmCFyG>p;L{2oSs%Vt%z>vT(cqJRT@-!Uaa-f4=1s#{Vd60T~$W;Z((xM zO`Mh|l&jgd?+x&Y-8m@YWy(z>B?|odU1$NwP?er0Ta6iNO0DuXiR-^@kE#2bgWEcB z*9q5E%F8~?eF40f*FuqOhr|iREwNefn37S^nOx z-^#iU}UB%Tp9aXzat>=2lbA`RYCT3^b{o;!0g=87PyjWkPh`TEh>xfz(=srJSj zB!`IFk4b3d!Jpvf>sNU@*%emI`{(56XZb;Pr`Pk)?I^Uh!@jpdZW1b%54sTWB(hO( z8I34LHD^_&H^bl|Ust3YLKdGWTfO!-l~Vw67(HHYJfWE>Vzu%C%*l&B~^A7yyep0seW>Si21)VkOfzKp1?M$B+qJhD1> z;^A;I=j@n|uCqC4hmDGiOCC*6Ay>ft?d?rPW9{NKdo6eW34>*nTtWz5ytUC!Lhn%= z7bD+o-?89*YyNyfz?L&4#$~)uz}FQzPPB2#7*&7-u5Xx5}A#Co$u~E zhNGA%>Ce6Z8IUb=3k0xiB3S?MfC`8iV8_cFJ3vV6!QkNU_4Z8D2m!aNJ^h-+>n2I- z+KdUa@hI%w!WkjJ>3kUR->^N9PWI{G-Z4xHrqmcpPQ4cU=bO+9c#+InLR68_FVT91 z&LS{q;JA~q8%GG+rWBST!zQL7yxQWHD;dg5uzK?bkARS>izo?UX1?s`sr7O9c7zR` zbmk@o5^($8j7wR%AQw@WlUmyAQZXa~f<__}*~6$JlHZ~;@1&?qq+>orVafx;^ZLQ!Dlj$EMu={Q}|I^KYim)ZsiGTF=l zIVgdTt+LNI8*mKs6`}}l2We1K8&*^vg|QPUba)9qO^n4A2LGZZXgpO9E4fazMyB z(b4rMohwbhgPN`b`@nxw27JD(0#R1i#-qe^aWeg1t|8XIP43!CTf+@VEN1jwI19JF ze^VuxlIf~19AJ>4(Ew*tod6@Yi3;wMv*kHIj2Qbu+ZIU}F)G3_%ddv$6tWHoG0zO% zH{DOBPoIu!;B^N^)X9`{;b7}^FXvTJj17&O=(+k-Yzz|2@O(m2PNxFK*`oJC0U*FU zQ>XvSjaWg9s85sstQ>GcHRFgzig=m~!K`R{jK9nvMw}^3Ikd;*NPK}|jLzd3 z-MVhZt}6xV^>*ib)RAbv5dIo_-;w0#lmo7a@SS0w$In}%`)4sm^-p8sJx00f5!XyB7s&dW#*x#3;=nwt`=yfMQJ^QA zizI3#MplmZV~e1^e)$QgC@v=%JDmHzD-zR?F@XsR`^p`tk9qev*V*w(Ht1gDRfFB5 z;?vas@+!xE(V#mZg#(h*x{3wZ?R833le#PP#H5~~1*fric$;Mh1Gp4EG}qoxWCQ=z zx-CGLJajXnEW#*Zq7s%9&Px{a#8RY>)EB;}-H|85(00 zKdn5;uu)eQb}MIARTD6#J6UF?J4XJ~oqih{!HAx-ym1H@anv_JfADqST;I5O&c5!e zNhXVrnl0+Nm$OXXlg-9rmT(_It?Sx)FZ9;73ZEl{R1n3$Nrf9@!*p}v32=57p2J!> zsx{o`=y}1(%+4)?AO_7XxT9W*=}X}@hx@>32`{mL?JOlIfP*FOO1c3kQcJfwuuaDiCB2!T!Iq6xCpJsY8^Zabl;TlHd+=EYT=j zBSZ=ytNyw<9+*H1;tzp+M)4(mJ{o)*SRpjnY=M|^a1>~yyiK}8qPeGiic)5!iUO9b zb}-dQXr+J(eCALnR7Y`eg95M{ZnIET7YB*xabz89OE(Y!7Rzgpd7=k^Nc3H!->g`S%hc?K!o#IVf}Tj&rlepdusN2PA?2#sI|_V^i=Mj%Gr9 znwZ=H15|m)SDfZ9Z=C{}^E%E{2U)Cu9R;Fxly?;dwS`m9Ia|6YUG2XzQ3WE6D-fuu z$?a+!ie?X2GVx}?boxlz5XjKqD97Y63yyz{IOB-U!aHP)CDNWiCCQ}J8`wy&BvtK) zhM%1C?PsuPnZ`QJLxRPA*WvHNnBp;S%;4X?YH%iOr|rpi82g7hyBpzxe^iRG@fY5e z@Wnx#=)6Z=THx-6ak>Q}v9pV(ICi{FM>wx3HAwoQP_=UmisV!Y@tY{+COS;zgB1e6 za&@?B)HH?bq9y1&6>0KH4#)g5W|Y!@GeMD-)K--u$GXjsI%K=5g+#rFFp2%cX=-1A zJUAjED3yGIYnNRFhq;6fxVSMjXK+mw*szIPhI zU)=!FFza5eD#&*q`0?S4_>JyUYO_2@$TI2apBbWX-r#w6 zO-AQ*eywatRUEI+U~%c+3MB**1&#NGzmH`CgY@V7t8wV3;m$uaq8%9$HCr(YHOxrW zvkvVrkBz^*`y`rECz3$RsfmOTqKpk)FJg5QoM>H?hy~`heSdRrhSxz&>ZPF_!a0L++kUZsWBve^$!F9 zUdGPC{I_GNvjQBT+3x>dJa;{NebX#<8LT_){!cT$W3C^?E68P3d-OkE@dAM}a_#D) zcK=R*g?SK0m#>fT67RWSaf8_*IL6KYJ=yJZQ%aefxwX6c`s$i@49G?_%3MSQcwY^B z)QNkACEoMu3FFz>;`nm8&7j*w5aBUlZUt7+n*l6D1^i#-hF{n@2CYyDSs{>zQ|YED zDaAj5b0_!>=&tc~ZxYcB_8N+z!CE^3LpnwE%q@=jOTQ`1g`kF0%Uc+PtlM^7N%L$f z2P1#t?bHd{+8R5-16?@qa9T08Bf1=aGs7273J%7zDgtZ&dy(qMU&zDUOv#{$IquRF z{8m9$`bGI7Rizw! z_1VOMUZKHJ-XFi5IaqF~YZpiQDS%83Vr6Ta-kE@DyFs!R zi8OeBn4xlL44<|90vueHIk)f(w^3oBEs*sMU=bt3GLJQI&kv(#asgAeYSe9R?5=NL zy^bS#dAYdp11PE+wtlZdmLhuc1#D)iS*(n`iIIcN3UC4|= z2dhYnod>U!hpUPM>+*#VQGrojc*tT#$n|$X25*2+#5Q0s%uQSqL_uC?cj56r9f{^PJSIxcwqEITzC?3 zCGFxNpG*R4J1~xbfip5t`13i{wQxu_&z5qwZ+0fz5Z-|+aLqOyC}W#bRsR9+7a_oE zqEs3o62hSgZ9*B49Lqj*7_E40^{N1-$uB`1X)F01NieZ;J8rUUj7+o4_vWAy_(c{4 zqOlx$XyOQafF9-8hv%{lA(7e%&B3m~)2~$&oauPRg*^gy7+I8O%%5MW7sRy8vRscp z48lbIe#cAfUMzq|&D-GmTu7{eJ;W_KI9sFBGNMvv<}y>5k4NxPmXn9p;<4`D68DN&=Jio<|{5b*WP0#Ozc^jL$HMyG&1hSd%&Qv zw{3`Qb@vI9u(A{^4)#nN(W{X0*gMd|DNdLtm*qR-r8dO#t}XH?$`Ebhn{Dob?jMo$ z0W`M>M^F}xgg|n*nsWX>O~&HFZ9A-AtX)*~d#w${HpH-sSSruM*K*1elZAuc{Uk6$TgYPgnAp1<|<|wkE8F8oF3+eBFjbu=>7D zkR27c>({NDolphd_j88p=dm~otf4!o`!mVaa+I~?@kA*=$WYdztfvjgijXFntxhA= z972y+A0eBToBo=fYw+NuV>~?&x>^1Z21V)|Mx9D&}D_%Xnku3vCe`F!3LU%5MWnz+OTN7#Pc|d zM(PhFuJ zEN2GADB}~K_GX6CXlg!uPIvrl?%r9p|EN$_6)ZHh_&b+|{j};&lH=>0&nxBhzkX-| z%Y@_LAoWt^=&pk}M0-NmKUAM2al;NaK@W10Na9$kO4Rzg(0yr5&?KAYfcE;)3u7J& zPTs#1iLoBSG`-rbg02n%UPm$AcV)u_nH}z~FMHDWPjen$3Aw&Vd>jPskRFjk59ST? z7YIC=^E{(4{@&=5V(lxHe(fOgY}nh}d~2)xE2~>=j?Z8}|4r!(^dm}oSZ;)`x=mAb z%b)QUJG$f9Fj*y#0p+ozc*jmtdT?ooXJ+kxc68By(qrOL9T61rSxTLSi=<;sa_&zX zR*6?yryF{Chs7i+CX};ySRW6qp)eik63iDr@pae9!YFEwPH%5B_fe0~aTY(=-R;dv z62wwVEU9j&YF7a(7WXp42*f!|P|OEEAfd&y=|GdH#W{P zqe2?r@a)ot1zC8ZCyyvVpaMuvzd(t(50ZI+4Z!=u(3K}lxOQl$vh6L_6mT0F*B6Ca z^83myVlryIqnA+KIchL+kO8=Km}v8nmnTXQ@eJaPs4XJiEbHb&(0++{*lgLfs(-WO zN>1G>FtYG;wk`;9sb=g<3*f>QEimVtj$l=(SojP{lBI3jRR!L_!A2dydbJXL1*;tf zy8^|=2%mgKXYlQV3!ET+7Yo!&uQ6%R(OU`C$~bBA_|jX;jK_;o|LNn+fPoz~sw(=e zT9~CmMZW=+gAfH5gNeoF_$dLiO06&)!(}Nr&Ix{SHm=G1$}dSC7SB z81Q%pYQAtXo)|&*s%c2+tYrdtCOxEU5?-Xie5|F3U6=@>$*V8vgCvk3^P|MCVuqbO zSvErv)}BE_wfuhlUaL&av3)U}hJ#h+c`lIUxp^ridiiu;UNxjcDKG1B``UsJ`zrnx z5T^6Z?pS-b=@MqxBt&>g67eoAE=KJjv4&#>Eyecg6J<*NbD3F5TJQfz`_9iiWQd^^sA6}Y@sVeg>r$dmwwC6{Pc`<%&n1gf52Gk$!>)uR zs-dxAd~K-BgLJAbYR}4CYET5PS1@CY>k{HN;6W^M811$F+^?rzao)!zx7(|d@3QT|u z^(omal3dmkaSD&{ox>itSrm4bx~AMZo)AIQn-$^KF<1mT`@x*_hf8&}*_aQHsz~b6 zvF=fBe17xl<2#Yw|8#lYL*5_5-z423f}f}I$|E@+KQr5c$?C88-fmy`YV8%>|35{? zS0JA5>iIXcR#kfCf6@*YRnU--Zz=iAAyK+3^?m;lflUeTdQek)$|ryr-&{uaF&A(f zh3kwXfu?s^J*z+`R_1L0K|@ao>W}Ls=$5+o)I11g-tq+^&*Y_mftnLRG(VUFsDU|0 zk55?poQ0l@#2Qbwtd%jLMhXK<4`dfo7^yw7ogtW?NH!>WGo&&6Uq=K!NCfa4XLo0m z?O-&&+a14huKwiNFyuR?si^zIq1Bs6-0|W|3fJY6i-WN#j0~h+Q7=~t4tZDFs)enu ztt47?w<0X+g6S#oM8=!q8?6a{Ix>)#TcMGSOB6X*CMri;HZ0Ai9#}O@4q%hZ1o_o9AOXw ziA0Q5o9Uwoiy3E>#=gDfk^U_r&~}Z`PrRcAl~Tg9!h=SIWERb8F1q>x$~3lA0~pi5 z30>%>b#u`^^z40rTJ_?Y0x=W%txM#N!_3*1=hqNvjKJHARaQzy6h(xaIwYY*P8ZQo z*>amy$-5&XU%S&IjmGKC1(f{?SY~)%DVtJfzF0i_1_URdVh}A5;gT$toD#4MgTcS1 zq52@;WyBP^IhIbjiwas)(|mLg?1b5w&XG!5L_6jV(H0=oke<%ox5p}A4OIK4(4D+* z!Ze;`LyFQ+n5ToS;f8qB3cj^xg*9m}6 zWsi>_ttS1CdbYP_4pYC!u^6ShURC7Lw8pC?{hIbg;(B;!suo59f?tB8w;)hM6U4pM z^aVn$oGi`m)&<5rC*|G0#`I^TyYS7U@Fd3N5F0JvG2p}5e)%}=L5==DEkHv;T~mIC0;oc#zI+l28w$Lg z@k9>Arbfk5u6HAJp-yks!D-I6XMknEokGK|3>hn0Krgne$bqQyE+{YYzR+eRBh*|| znjkt+ns*Kv7j?)?e&xQ!_gThwlV4W0lC<=5y0C`}zHtoZQ)}+8ufu;I3<`!*hPW2n z1zE2RhdgO^azg81Fr5h8FO;~)rlNgVYcGH&spw~B$t^|-_#VBI)?(nB@l=)&L=N2vb6&ByrOT%{ih`*%b;POKiJEwyJT!64cki+`Q&13; zL-`AXZA!4GDWWICp0p49TxIlM%7UJQ!sh6sm!nG2BZ>cJtpUljW52B}Ob3$a8t@_< z5L~z&2So>88-GDpD(Q-`Wq;tkJx420&y5DDV{ebg+Z{rcfo{{5Wfh`d-&9_{ybHm5 zeJYOE6k4;JSZkiszNwT<2>prY@j0z#@_Bgm7?s=75o#ZaBA2s;4saxU>_FrTy=ZSUO(Kh=zdT zLxb-c0X5BD|8MRnwtlVrxIc~CA!Ik%IsZHEwECCj1n|JuH8lL^F3<)&(19OSnxI>{ zKaSg-+=ZX1%NSHT970t@aadr*hqp9m!pYCePY4gC0#1ywx!f8py1?wa0oM4EOK91( zcEqtTSp>F~tXmiNu^Ds-usQn7{GFB)D0C!=C~3LcYu-s1AH-ROkJ6Z48I=#xuV9>I z!z*p?;{)jcF$%cAY;d#j!Or#|7nzd=VjeTu{VribXs_QH8zwm3LjWK^Kl1W% z|7InaAR3|?z8Jcqz=tbJ4C`#9(P%(1f^75)Zsh$K*Timd8H6q#!k_4L7DGB~l5OXD zog49!$dl&Z!KEt!R#3!Mb&dB_bBuBgMey}fo9=~tI9%b|i1A*I<;itXlb%z)Wm|Bo zEkY`c>t2@{P*&)uYM?ofiC!#O8v}9tw`1gw*#cd6!=+JGib~(%)UqP;QA`vt*7RDd zINy{jVJaFFoRpy*t-h{l+qx4vR4_M=cl$Qp7uH`3)n)(siD`lPrXg^b&SBv5Y_i~g zH52!qJSgJ^;o7VlJ3caZGk0`vX=AeW=hb>d#k3Sr5K=QTvVREJA*n>XSSOzpdT<&6 z;@+pT3WP^2;#&Lj)MegQV+w^Bz+tT^(8j4!lb$Njv#PjAWSpHx#POkaa5qvp^%|l(nT?kh)NKycYv$MNTe$J{8yaVJ2SqtgN=o&a50U(atbo%z3F4n>Gt?AXJk( zkBL2~Lg(cj#elNYZl)|PffQ`HX6e9ABRp6M&P@@+dlZrk)J2ugMpz> z0aG(0B+wpo<5#T4vAwVat*I;~D{+eEW)!z=En8bX-7QYMrhs#&`b;xLI!tSA!v-uw zic}#889`}U)R(o>Q1LeN4|9VWH8Y4YR%qS_O95!#h7r5#bEr0>==H7 zN2flD>!o`n9*g_!KLO|9Hd%|hzjejVMN6~vh>b4c{D7$w^^clwy_l|ml^DO27`-Cv zrGeQkL3AITZPvwG#~?E4WlagLKsBG5AGxr_=VoN<&JgTzn*(eJiV5k<`N93QP*q!Y z-w)Pyl~TrXw+2+JO)Al19xS;=NOvKn(CEy>X+@YjuFdUbC(_yC{Hcax?rIDry!tbOU@V-Uf>`hI z$hZsYRaPMbb>uR8wdqIajco#aUQ$|GT2fk2$1}1W4{0ZX7SZAx@2Rv(GKWdS5!qf6 z9{ePi-!Y8tX5?177%|07?Q&$XbhCvZ=e$+PyXF)9MF4elDn_$$G+6V%Fq8qe);H-n z;S71Ry3i&<)+A3g`qBmm$CiDNC(r+Ko41yNZ(MAj&z*yF{6P-y`>(-*&#s@lhiMvq z|CWat>jl17-1ow)!v^m)l8m$sivL}$to={Rg)m`0yW_vIKj>q8(sHSIUt%yIe3@{G z2DI5UuzJ6LK57a$3+@M6mOhO12bNd(t75OntWU#;q=1eYa-_kx-*yPH#d-(qh;ZD6 zc9C7Pmf-Iv(hIt54?-EqGcmIgLDiqX8^ntoezJA6^fEu676R&>FJI9eeXm4n+(~4G z(+zZPGN{}KBMC)$=yzz4!gz9b>BxU2C)MTTUak6ejLIT$5;#Wz@msc>h57vU&&>(C z0>#B{C6sd{X3a%8XbwWv?LcQC*Qf(SyXrlh%6;ad9oJeo_G- z7$mPZ7p7UsN#C;GvO-`?XXrfNWobTXX-T#fxf7Y5+SAMt<@T@LT4YrYgS>bsFDllC zNLINw_%&m`I}_oeo2U0hna<8egWaC@)$codmy(0{$JtDi`kkE}1HbdIi1dUuZc~Rs zpB7I}Yb+D8j(_d8#@mPayqyY)iBFCCM0;ayUJHj2i#Q_BO*%SD%}ovJ_lrbgGX{M} zwSwT{#5KR;;%j*T+`uf_1G$a_USPGPM6r0X;+{I%DAd4{D|ydx-Ghk+a+`bx0Z1>YIlOBe*k$*dfTfO5xM zn?&J9E6-E_io@XvLu^RP%yXoM45KO(-|R5iP>2fyCX$3Bk3$z&iLs?zydq7ft>>zI zg`ueRI{}FoSUS**+X{&Z!8jQE2!3!HQ^YJ_OO@K>MmHJdMr)W+X9;m~3AF6)g0(!1 z#2ooTsBY9=P)buUIYyYe3Lf4r{K6!tbDJYiB$#<{DLt)GIl68pHQ3J_%q2beG7z6rN^RZoJcb$LJ#lsF z-1)i=+n2S63RWsdq6VS+nO&%UUu8iKG8DAOy#`n^b3yc$=(n$7Jo5?~Hea{lu$Fqb z9ZH}J&ud;v4u=%2zdS}bC7^onYBQcQ(ULjR-7_2xi?oaRBgYS>^8#pedcuep4LaU- zG-Ti~S(noqqZjlt5lDv?^^j-0HHdUuI>&)HR^>qx^8|R<&XFHF4^N{%(U<~9u52Y; z({mY~R~Y+5$g*^mQ!s1Eowa&2w^Gzv;wO#Vd7kVhVjF;BN1+YU`?N>5?0VakweU@d zC(p`*qz4EJ(Uip&3EnTH3hEVZbxb6N_Z!0;)2tz%6grlcu4E4WJe!SxE52A2RFhXA zz35T!62jroJbZ{3vX4H1XV0S?AlMqxE7r@dtyTR0>o!gVTC$LLJ}-PRRgAAe~8|L*_qH z9UAM~UyfF>9C8Mz>YZV0Wo@eN*Hwzp;5^}TM+x=~q=G0_?X39q+fBOwHr`ol<@W(M z^)&gH&eB)-g&H38shd`T`dMztC^h$C%Pgcw4vXq8(RfDGhuMbR@tz4U<3{+{IFW z@70^jBI&y}CU+z@Qr=cv_`BP`TEcV-i*AFSAT@qwf^UaAw=I7g()_qT#mc0PcxG3& zX#Zd*1f;K4%S&-7Gmae)nPs_2lyxf6Jh0X!4NRHp^eF=KyH6M=YN4Tc5>`pFSy-qA zhT{On?|&wxnv&mCN>rlWyu)ged(S@KO*hT#GLqG-f^&s2-wakCeJ0;W@jy!Lnpj5hH9%%>B> zpx=PV-*cOU--r?(5fv4nQ0?ZY;`@7B`@6dr;$Gt0Kt}8louJu{VyWXR5Jdj2zMiiL zN*0#TxP#xB;4bLn^pe1S?5k+?`h1#5DU+x#xdr27#{9>iv2CC^zzO}TSs2AboH<2@8FX2VEk=fr8z>U!R*7W~%2gIn78of(lJg{7G~`s%f{G@!$fKgn`~>|u$cenQj? zUQfF}&SyZiwrR}bkoA_oh=Ntyt}t9oQV)ZVT(|@y3N1Hfn#>@x+FM<_n(Ww)%Ot9K zLfF|O%g^(Gi3iy1w3OBqIjiIEipFWz6i*fDiYzNHC>LCX5BfD;tiGSf6kZqvxFYDd zP_@|D*z3mpH>U=R1<9+xNTa^PFvMYbweCe=rC~qDD0}3QbgwN20PK_AOXe9BTce@l zD>7i`aLZJ@GoK4tR$Vl#HUQ*7rbaG zcNU7v7&MJpf`lp*w%cr=+>+X}5QaH87>Xd2)g>eG@Lw)Uxlt;lZbVLJPQ18oG4R3R zV#5thB97Lf3E{+Ut`cGgbPU|;uUrdn!d0mn&xhkf25U{MMkDQIyU51EMCIq`H5w!O zQow&2Jq!$JzD+FU>2^HR^b1YpSWc`f{7bqa1!4Y9Gr}Ss<$C)wm-^L@5aYmy`Jb?CbD3e_I{4uV+L0%0)Mc^ z_EeVi*!o?5@pQf^DZnREghaRM{AAqUQZ~y@+!~hC6htPHvE%eMDlmb0Q?*d-AxSAs33(x11{~+TGQuY@4 z`MX@0K7(ks9*@tf{t+Ep<81C#MZx0Lwb|$aoj1ehU6u?qKKQ*frx~nt+wOU;kH<7ECyjXOMHB6yKH`AokTE=#b_Egd{gN*I9 znq&sIr_#reZ|hg{1ZxRthFu7U`K0k+9GOr!7?M(f5tToaTvv2M11KWECY&gGBm~d7 zsFEVzgEOhXmB1j~MP<^NHnz~=kQL82`7a8)oBSxlCrBK-C%EZ5@Q}&dwH@Ty+wBdH zPmhiULU)Hl!9jPNMU)#-zBJP9`d@s))jQwO%wu$x@_qlhTBV?7mSE>0yuSF~rv9(D zc`Xw7WDF6TDo99xXj-n}8|jpfvD}m4bQC*&>tas!glUXXf`o;6`H2%MlqBIGsT0;< zRBW-w$iqRK?f4AoQvvcQN3&~PS}zcl3{OSH4)q!aQCL=90+&aoH3sd93JQ@28XN-% zUoFrc+^0x=a1HzXykvy)b@7^>mH;!CKZX0Xc)DBO#{B`ltE9zUCf*44x`bLa-9Y`o zC6*tK!pg!6hzj#yf*EekuJ{G{FdQeD8xw7h+7h&pPhF<3`Z_ElShYdro5j+V)0AFloouCr6w^&P=Es5xxm! zQYqH%M9@(`(Y0Qd;IL(WA8N~)Lpk(u57-=$@`J-{^OSP3YfFx4&uY2D=c{yqQbD(? zF|^Eiw{Y3NlJm3;o~qv65QJYe=`s{rAGd-No`e9pA8lO%A)3S$qSa9KAp?h1NC#p# z&+6ARzSpU}(DB(J%yTA6i&<*yS=#30Jx4}1_p}&Cj{4Q;wS)`P96vbsasD#DzD_Po zZ!$-GS2d%6xmdg1+Hemur%h&p%j(q)~qjzfm3PU-Gm4UDQp?+pcVke%xjzG z1qw4zxa>Y{0@PVITMy%K7f6it?Vhn@l0ZUJN^-g&b{BAbQgfS&Y|UWXolu4+EvEFF ze^_Xanx1P7txQh7uTa;D$Z0eQ6~XuBAxv!4kHJ8vF-Udw#U0>IL>Tvb@N8E<6*3qt zXFH22TF!0%TZa(@m#=m8>&^g!(!5&#k$*Fh@JGJDa~!6oO<U^?yoOH`*}ido-&JzUFZ3K2(N z+D-0C#ENA-JpFd%%#v$TE54b0Eyl^UzG9|}kv|2GA11oM{`Z~0cv3s3Gs84TYwZdl zJRKr{)pU_}38=RXIHB~*|TX?2ckcJ5=^mvPw=PQzBvy6j-oKqDZ-Ky+fR9gui=eccLhR#Fl^yOP`} z_Cnksubv4l8b9d9@Ee8F9j?ttY6wEWr3dsl_sfEDjfFa}<%^S+ZmZpy8n9pTFl4FJ7o+^;}3`>ecv*^N;&@wtW zlqK~!kMvlo`TE0X2|j}$FB)Gb3=&rfA0M2WwD-r)q1SNKCZz7~?T~zo?xXv)89wf& z!xPSpctDQ;H(v9Ar$4)JldUS0{;=%`tF9)amM(tRU&nzR3jS;Y6kFqY^WDCoa71wt z(AbJvZQ`QK<|{p7EZdCD-)s8Nf;1KTu)>Ugt`h%h3PK@EAnuZjfgsg3OD&MrIaN&G ziy;i?FB$$_#WF+N)EhU@dW&FP;$r)fH+Ywuw zKqCxxRo>bqdX-ym(S$zRF8F}kdp7#7X#bO)H@X(Q?N+*%Bjn4lZcQ@(5bs%u1#gTVUlr zvbQR~6Lb0NtlU2r<$LlC*AsLM{3KE!kY%GPg%xOFh2ZDz@H?jy==SAX;B8d<0k~F#_+3S@&7}&D+YGIQYv_U1;8L^w%ZBGNzni9^=HDv*AbT zrJ~cSN_)8*HR6nT^PySUJvDv0KM6tWlCr@3)>)TE&2`n)nlcMs?YvVKE}NgIjZAvV z@;c+1t0w)mU(rs;pR51v0to&QbQp9ojszK*w*4qBdzg;TuN)E_54rM=W+hU(Z#|+@ zs{+6u+F-yz2y^d-Dfplc)3A$IpKqCtU(SZ?`lPUH6g6rl3xFSbNXJJ_d3kuWFkQwW zDnNUfI$~e&ral;7Os`q!dnYYQauO|e?%5fqINDtZ+DKC&#j>F$!}(61oJ>CXH7Z13 zyzG%M`{C$B4JAuzk`1FZqtTs#HsYAx(Wx_FY86i9c*kThVxR3=fgc|Ey6|86Z$zyXuv?>&P8d)1^bFZrbNGN3i%pa; z4b&G#y+B`qPVeHvS)1ffkAY^3pQsdf&%b(j^W@xg{zDle^+3nO#68|W-MxjvqmO$z zr(OQx54YRQUPS}A$6{d69dZ?5?*2Bc2fbY{_?M6(q(u9Y7qZ(@Mm3`UZL5l$%z0pL z12DK46ngN3l@j~1b+)h@C{M?z7TWQrPnv4B`9FERc9$>Qs|#076ooyP{;j4`sq8)JH_1TS6UvjkK3O*nB=3?{kR zoe{Q&-%q1Qe~?_TU>)-BEE}@WJI|FBG&>0qLVTErrZo?t^D7bLvX1b`n6k7y=R^wg zZ}Mj*&u}+{N6@GZOB(t<7t!4@77`>*vw_EKp1ZGsVWCK#|_y8$4DoEi;oe)-FY_Q67y~PWdX8qNMgel$MQ#VY>#}y0g{j3 zpwXidgL`*&r(L_4gtXrAO+>Mv_LUB)!aI{@df;mNmL$S8mNRyZ+zqZ;>uU5o>Pz*> z>e?_Z*b)$-2#bD~DkvY7yY_?u4F(gb{l;9%bDbhwA<99m>`CO~Hy)G(?*xyhk>qOA zWIs=p##DpsDz;MBss0-7k;%qZs%@XeTxL#X&R5Fr4AaFEj$>Gi)#S8)ri*7&hQ`mW2+=jP|J<={S@C~#bn^>+{i@O4hK z>cVlGE*$J`0~){C4})4kVqGN~ys(dqorZ-kR$}7DFV0bn{gI~=oz}erq6)LlV)4|{ z<48k{gVZ82iK5+2!1k!wsUu4fOw8QoSwB#kxG+^k6M zI5tFQNmj!?(7MpTVXO<`_!2CkEzch*miSCHmP&a0=QP340o6(+1-mkBJLU(We}xHp zr|>mP-1kiq4{-zo`rx(AKYx~;PgC%ZB8ca;BqsRLP1OCng#Iz_8T?^4gDU1PmjTSy zc+m;dV}Xb@=2%jseyQE39Ha&r zS`J;t2sHkToNALEsR!Lf!-UOp;)|d)g}QZU2G7O#q#CBB7ynQAGW4JCE&LrP{(YhS zUsE3l;T%Cb(DVF#NAo6UpC1cU%L!IIZ*1L(*oooI!fRcwHbO;MzKNT_8Os^p%8VAy z3VqzVN-QK{;o>rgmjQ&peL#pl7IXaSpG(t+qz8q#xUq8RB?g3fgP_2^Q<+dHe=zft z(Dw?oSV#S*@8IfDp6|jD!4Uxu40#kLay-ybXb8LMR0NHt9V>+aS&mhyx(PXipfoYD^?z%@YCJO~XG#K*JK|u`Q_ix)H_~T#G>Ap<8OKu-(K*9& zoOmgk1g5;sqyo>wI1kLWOD>1~Xm|w}cq3a@P6e!YJGI;g}jn0 zi|U(sM$2#~*%&3Gw7UL>Iu!UK>O>>oWHwwrhqtqnpB(Jk{-q4Wy6wc*vs+b^*S923UVh(q#l80uUyKmTkk#} zN1)p`?wv&qOr$tIyl~aRF>rSM;g|}^MRYwYw&Jrzg;aM>Pb?jca;U+PO!ZwTVfK+8 z6eu<14#LUAK3t`9anKxmbo2I5%dhy`EqdP&mf_ROD-a;L5pQthXnuG-?rUEip1)~f zFY{g6pOc%M`(EVU>Tpfbk{TxN+7nIkK?oRYqzMO2O;$K%buNa1V_tf@sXB$>+O(dr z?+`=#to;V#s4jeBwXOZ;x|t^@sIp)|IWU2Ve^p)Bpvhu$pG^tfvuK3MQEY#}iv0}a zqBqj>=2N30njuOC1LLzhRq$@|p&4PJ;zl0MY?T+G^VXMvhtjZVn88FymjBR+_$k2@ z>w3>60FoU}wk2@IL_xq8O z^f=RuqQc}WE%69xOQ>ImY|^ueRAO26q-d^=ilw^9hU~4TGo-0>In!V-i;*u}y;+M*@OBeRJe2fgqw=}9q zLWR`3;k{V+YE&(R5l7c3KH9COLdXXsPP9f3R|4#{ttq;My>Zg7U@6gP*(|7lEQFjt zd}3d08^uLg>WpPok*TLwgP9AX)XBm=(0|AM{-8WcldKHVqR+XcBC0{zBQ_3pFDN*s zi}x%bw;{EX-tmwCPlT*5B@3oo*hUqR1*L;&qgYBE{-pudUu(*GyGEnf@HD|KV33Dg zeH7RY5D;Z*@$v0QhZGo7$u z1^Qi2FSx6A@fGZNhh@wGTm;$7y#x8FISaHS^=slyo2Ye;ejX74;ZLJE8yUH{M7uqn z5j2A0@$e)AXBVXf{fLY65i|>W`LLeTjuq)h%eihTi4{{Mt;)38a^-Dx_dV07hYeii zIYDwfP8n670c8QRTC{%ySth6E6ZHL2U2_DdG`*6hV-`qKnR+doG#PD@CyTF&uMDhC zw>Pa8-q@P3)mJnpCUtD$W@rfqNF^)6X4mp-#k<|82k}5@bt~Q=6`+I{qfIAbt^C4* z{GR7dkFDvt#f1-V?@*YFDD1L!iB9K3z2UbGTkmuJGZ2}0{^i%!)m6UUhU^Ij`F4Gu z%esSoleZbP9$15GDE^D$2&51teNUQ^k^N??(OER!WOjCT=%hbd-2fs7Y&>GEBAhu@ zX}i359~5mjih*#hM-mYBtSsy!-4gp#T>)aWl?OkhpN{$tFmdDVm zIJ-Qo9iug*c9vf>gS4M0&9x9gb|fb$I9mlX3rAV@T6fX{uzWxsaH~V`0!8Q!>LK9r zuK)H`CSP`mXEvT*m{D2&L_j@=%}kT9MHy)vMja09exW zh@MtpeQwiG4cNctS$8hx%j~Xf5#oDcr7Y^45lZUJMoDVq8Rb#h=ADonj=F_l19(Un zK06mz5__IyJD%;C7w(>45#S|qfDXMcKz6k0X`qd^0YqUu*v}Gu7=J!38^&!QUGt@f zY1IjB*hzlGbrsAXFP+;(I_l_pn--F~G0 z2b8xuxdG44R(cwEhHvg&4A7ozOJB$t$EFRyF4zUA9Nmx{F+Db-Gh`*swQCt?35-j5 zSXzN=yYfo|JD-GrblBEB#lU5n4L0Zg9YKLCf2@x-cXe%KLekfoosTC@mYkddP9(n| zu4RW12tL1;EU8@u_WZ3X1Tsi#S5TBH$XG@8WS)@w<` zJ&OxuLA0@*X-F7g?Y+GRdtol6EW)mL0b>OK{!QN; z#1=Xgw&G>vzTG;u{o6K|LD*KO%NacfW|&MkGdG)h97fRu*NF96`E|m32!~3G#TAX( zl{yo)?@P0B(Omnz$@h9D(~T@Iq$WAvhP3D_RXT`(bKr_i(M{$k9j*H=#3c$tF>AhP z5YDX_45pAP+^RxkoSg|rDp_4R^nh%ey3!HSHIHG;O-ZUSIlVax3Sc@9zV0o4Os9=I)^m$@t+f7BEz=VfjC zO})#Ge~0+0Ur?#3L+jMp2_nL=w<7dR$dy58PD>;ui-dBanB(IR(`lgHgN`+FUYs<~ zB&Efp;oo^4F-A6vYM1y!&TdflUl6wOtB-R-AacvY)bTRVhPoC;5%I&SoYqOT23JDB zfPmGyB>?1(^n<{BrA?euK*?g-#Qd;Zhph&@A?&0xq@x)#(WIjF#}9%pwPPad#7p~7 zB9L**flx1Euylfy4=oETjaTS_^6%HWU1b;`1#Xy{imPIp!WFa<2Vexror(&b?(#$7 z=9@}AH_guJ*t$}nD5`CDTxB(h(q2AdV_GUHR$CwfTu&svAF&0Y1TRmkC#ux<2`?P) z&>deL1sZRwZuLYMt}?jdLaRB%VZ|b0^Mc7`mx&*y2VsoTC#ow>qGl7qod_d% zoO7{CU^=HjDZxv>MwoH+vXF|vIP-|9kgo;TnJ!sTq{4K}1Y-`-$>q^4M|*^0evP_z zpdQ(!kkIuyTej6K4pP?Vj@v@oaF8qwbL=+9%K|R^22CGDy39~TS;YZDea8taJL{>8 z%2#YKGFn?SF`Tqmb5v(V(pQ@owmfI39odR-DeAgs5V*1mS^XUb%)W|QtS)pxt zn89nF%y|)gbpVyCAgpon^>z4}MRaZHoa}q)DyqXrsmkRRPV~F(^CXAM68_XR%;jyd z{_WY%8FtnjkLWS0 z-8n&11acbKe;e#(+x>_8DgKdb71IpuBlNpPCzt3l0*yONtS5J5Xd6>>lvkI>At-^s z*+8cHQJV13@$Vq9`{_>lm>g7zh2A6%IYML2TTZJ(3nnH1kWSpUelBv&cibIaPCu;LlfxaLgiCG{mhn z0!I>jG+%4hUM(zuq3s`9(xTp+E_NK)GQv~rKZYeGC8LBTrk2?yM0W8nO;Be#O@bYNwVs9j#;MyVDk&h^BFC%)uW&(*dLwbLkD7{S+C{?ncOhDuWQa^D;E?(bOj4 z)iNhVPRaPi+2h7x2tAP%cn@?51lblZMhkyq5bM52M+-7}(W#OdrcIBBHzFbu$dUwv z@7{@`Crc8w>QanXmWIY7uEMn`LO~%{kO`YQw64pHS8DiP1g%;YikfKY&Q=7h*A+@3 zH{OYy{T$NN{mxb&Hd`>@NW8CH^`TJ&#~WtCUR-WR)v&^qly5$xgY5sWee$aam84cR zvbHid75mLtM@2mY0=g(P00TjcJSPYhmTu(bW*k|t@Y&X+D92IHtk?q)SDj7U%HH0$ zIAAUM@6l1z((@Zu}v8VvqWJ1lS{`#_H%M_ za(0LPSi3la!W=uAp2#}&4n^!%AxQYS$>RBHXC@mF8z2y6j9^(i$1p%}>7B{rNHU>l z5R*rWd%Ul5yQ56AfYg!@sCniWLt}Wu)g|EF*=*x%ha+$1l-1lNk>=`Gvg}r$@e=c6o)ls~hADA+_y?M92Zr z(ky&DDI2eqc#4d;_d8*BU8(?=>3+OZzJ?&$v7JznHtJvEb z0=M*F3%dw%g6?Jr6AqU#>QWe_$dMBKR{bs9@=;aU}#9)`hmmz*>Q zIa^sR3~f3J?5~d&bJw9H-_IjvD-5Hc3e_HIFe-c@IDdYiKo9iF<2}mf$Ku+AE6jkX>MODr z9B_P)KQ;*H9^W&+Zx?FGNymXZ55nT#B7WQ+U-9$Ej4NP#)F?}d(73pId*4$Q7T*5ua0tk(UZp`n;rvx8mPuIW z*`QObfUXp%;OHc{Ewo9IN#Zg_D_0`)@OfQvEFGsS%0_^Rr|{9A@*E!Ez=<5Sw3Y85 z5danK70XHj&?AkD?3$nHBdrsOb2p zmjvX|hTt;}Ebg<)7nX*R7*$h#^{g^J%Zg;f0Kuz^flq*dX|B>JXvcZ<1zYhc%R%d_zN*11Z{Qb82g;7BV{V$j~Pyy*R#vInGRsVrf zClLobhln{a+D8kCB+f+LB=4VB8D?XHyE4u08iM%qn<6wrN~OH6qsJyZ^5XhTzh!QO zGRN4}Cc)6;e%WC0!Px*Xo4yuG*0)%yP>%*;MGc06A(;y^#oPxS)ve9_*VD2FSS9qY zLX%m!LU1^vZR^z+M!(H-yv^M(k{S;)yLcn%qTrv7r$MCD4sgt$wv&*Il&c|1<})!o zYxG_+k>qM-Chy*K=BkA@3I|wb+78K{!_TnpnWL{CJsB1=OLidRm8;kxPp}Mlpo5}d zX6F(*8^#8C8kiGc(;8mo)^&KnM@bf9$g319pvdA*Lm&(pwG$$42d~L6`GLod?p9_}$9e z)9UqDm|Bhco>~u?I}^Gib@05KB7A>o_fe4W5n|~bJyYEH#8awSaj`#?3tQom^0xS1RHzR*O4^IC zjT`w#J1*?-N>WU4*d4MmGt1>1GGoY*<+|sR?6Ynty*C zl%K7@tf{xX21=oGNXuj-o?KFDNnOM@KLsJpkcuKOX=>Ir)fY2^pC1Z)WvNge4{Us# zJ`J~3ylb{{?(CPzigA@mo2cq3+gDE$A1!~(ix)Oo2d6{@dbBSB#hxJS_h2<{nRVpfDoL=WrG^0==4-9ml3qKFQulC*lr z6{`MAiJNL>YEbbXho0Vu@<94rW(y2ZQc__%oc-A*f` zSq62_#imHe6UX)JbRK-4Lbn_N1GYDK_GDu0zbBjE1a3tcPUuHSfZ1-oa=Wx7_j&G7WWHLdd{iX1Efa&f9hBuO863j;9 zpYU#5{zFU5E=^L2maG{*wdiJaZxBew>iDb6SOri^kH5?~WZf#oBB9QcnI*kNs>49S zHat(P3B}N)OE>QbQw-!--`}hUMWmX3igs0$7!0=SLyis=UxQvNttI-LJ}u>%G0INZLCcGCRM4fZWRS?8HY zzrxrK$bPcme?0ZB4fLIP4u_M$NRufmAvEurT-8z}a8=R}bPZ5OhCE3J3M<^IAX$IY zDE1*<-WneCoU4GFy4vZZ-Tqfx+vxvc>Yc(fiMFoM*tX4%(XnmYwr$%^I%cP1+qP}n ze&dt9_wzsJyREvdnrn?Q2kMZ6LGiqN9-$QSEJWzwELJM#4re`;y9`G-6|iSgQ<2s) zS2AFj251?kh6j(eDh4@ZrizSWtN>0`iJF!0(;DJh4D?D7gz)MFWXQHnMjoyH`Gh?L z(;anpOhwGEe^HT7$BKO50>}r{$Fm+ID%yuf16jyHg<^9}P1D91mX^TaK$TSQK!!3k z$HD)IQ&87e#`>X8`j^60_FG#lIi$*E&`rUMkLxYq7d4n+{S!?@oEDgT*>@TyQbA;d zt9ylQ+O$SibD|IG>nuY4vAQ7ZlTqLX8Z5%8V5rU6V=E&zN`I6)BpkJ@e%+9r)-yFQ z&Rhq9`c%NyHU55-Aiv#+C?^-lxnhVkBEi6If!xV3HU{+!Po=TZEdB>w1ugUM*JWBQ zr(`;Ykh>{pre-sa$HId0AY_fknO_L3Ev>U;Ld%88tuDtaOJm?V0%7a*{_wuZ1rWa# z*%g#36Z=!3d>!;!30U;+4JETtdo)GpcjNMQU~(aYGL_~2rK{OnYSz&`?T}Z_GL|z#kEEUobkZn``S@#6o7?b3(V23mVp;0m3CI%eeyX#9O({(-T~u)AXu&4FXuNe zH2o!5W*k4K;W#z-cK+lk<-*Km2`YO!+UE_PU<;vD)oK!=^@9g)G}t6^I4DBb44Jq7k?=2o&+taP3`3$t$j%{I*Gq*bWtuJGTn1k3M4 zNJ=(OOJ!mW3Ri0CZ3i4cN=Pq^x+;Z7x~}#LMfrJHIth(HA4+V|A$3td%nqNSa)5f~ zKRD(I0VdN^DCC5)glYNFqI{GBh0{ckJFo>$f77S2CG#;sBn2%~V(pp%mZGFYvN#oArZ89#2&tg3il<0({m34z%rk*m1 zVBUtg5xYpIEm$9nM2sxMYmWFD%E~;YR@W8dvV*}&g_xph0f7X;Vb~U!(5%g}iF9WI zCxa&fXQB!{y|h{HByMhxjWcxh5>Gzz_9JoJRdyHGnl8%AZLwJ%D0f>CDa7DCenhis zdJ-iyYvsRSd7L77UWLP?WNl5${}N7~lO_vFjOE;9C`mi={r>0b`Y4cvh>t&waquUU z463df<_M&UC;&nfqT&>8$A2|VbW@73S(V6djE1x-X8;*vJ7*WEc3l>R@~u@~XPK#p zLlL&Qi4;c!ER%fP)pAWoI^MNnTV$dfsGDQ5p`SULOCB`bl|3MaAh4m+o{9(NUi}S6 zDfw^ji@wG6<>l2S9u}SfM!*SjykYiq=iD7xC@7FXm}u2SQ?^s%T|w46bVK>D%+BL( zuYkTk|4nV9O4o823sSeW#NJXp$T| z_0zkQEgKP8aNTNEr-}h@v1H(V8R73<7Ab7M)7%6pAjEMsVKFrlwoi(eN9k)u)JuUc1rCD8y65H{pk=GJq1z=L$xHi zn7!OhA7-tPJih0d<(XWZ4HIbs`d3qo0Er^}8dND+I|n=&%@fSGw{(%AS3izsWmag8 zMEJt`Dw0KGHz+JN(Nfu1pns&-V5cvhF9ooFQPWKTY+PV;qco>KJM0iTt$-@WWcx(9 znyulLjCzpbmWuEZ;4=zG--(E|;n61C$g{qR0&2=}is}{GkzPe~hx1FEY)zIZbK5(* zqi2t{?i95Vfk4tNF>{@#`LB1tQU1xWm^UP(MsAW(Ya@UHquDlx0)bu-2oDccp=t*t zKE})&zU5NL*vsK4&bY|fId&{pk1fl}I8{kTHU}h!mZ0wtj9$YxiF^}7c&A$+AXlgf z-32UQlCM7nu7cN{tEwMl%21hlE*ob`Ra;qS*jCn($k@gv$ilg>dJQmIqWts|c+(%J z$l*}Bx-PK-Ca0gak)hAYv#5V#?A<38t6&?#^*efI4V?Zky9{5a&9(vcU||5%R=Y*c zX0_JUD=23(Mr6p{2pd^g$T41Qb#o#lw%kYn(_EC{?xUX!pHRG|V1;%lW&|6xt9g}W zb!TG>QkR}4@J)cS$#s^96kp>OQp-{7ixCAKGXFr_+g#q>95IOnz?jE_+5!({#SI>? zo^Ruk^{1pz7Y&%tLF><)*uMY)(!f|R5X@4{Tr~)4Dz_0P91yWJvgH118IX|CQLpB} zaNWN5Msx-00)AL`DW0=G4gv^l8Nx>UwF9c>YRoH$VY^bUCE><6k3Oxj7lePrfAvv* z=>!DfNNs#)mjIIp;dXBH?CK+CnjR)O*B)j^slt@yt09_FsJorFrrnC}jfZ0m{$owW zrL$5``SnGr+^CFjP!QzbnC0>4>9$#a7K$^%EBD=Kqp(p6Jlx-pM_Vh+lr;q>3~$*u zY=rp^iZUgYY?6yiLIjpkFTnYA21{q-i0C+rQ~;$4?NNcn(N9O2h1Vq`q-^+b7Crnz;gU^l$nwm4cR<2#QrYMfkipTk04Hyc=Xf zkt{ShcTp0``#tA+! z2zlq`5YzJP$ogkZaYP`N_WLqrwd{OTyu(}HD0wQSYloWSndy2B@sST!LipWAv!E?| z@cd-p9BvNq?3&*Z*jxLbWfkU*c0P{F{|<*^q=S$mE3n1M3RUA3Xme>Fmhy@B%ny$i`5n>ut>#v_!|@8VWZd}v!Q@nIC(TaBywpj7t3Wh z_8|{>A%ZGaMRL1~+3YOq_X1YNl`~|1LXIg#%q1#13YF9i1`J#Q;;9r%az_N1romm~jd61oj1)j*cS{g)ZXQmG zA2_=O4|?hAL+D}fJI;VY5JnwfKz7^Rk^DYYp!dW*B-|Rp?17kY0Tk#DnpE#ZeW)Ge zl$8CS`5gA&`79jR6xH&-`P`!meY>nz8IbLHQ)2@LA4Eaky=d)dkv7;=oI1$eLjZdT zX`A3ddS_$_XC?0H%KG(j$iL>Cx7Fjaj;-$dEhRP5xNyAr((4=V{puX1)|zpDA54|* z|22q7-@fZKZlp`#unQ{ZGvv(BeLL>|xv!~E{~d_vaW~P$djM-5$>I{ljsdGNOxitOmd(ciSG z(Y_{GEH29ir6e*NIW-AGK{;g`Mf?#!Se*Y*BqaZvVurW6j?0=kzaLJOnS{%~z6v1L zt%b}$bogafy9q|-<@)U0j8n>08N}+VILnUNi~>f8nn8#}tP(kk-7pY*iaTbMukobD z%6w=&d>;!?a`UD;(5T7@n*z)9xJ3|jMM9chuW-751 zruj9GpeI$?GOwhOjN-V$Y^cPocjFoA&6TOJ;0GaC0X@>YEh3uJ5NQU|oGC8yZ^8G0eTauvJZ7iU(gi$e$Bgb*(c8Ph14zUvJ9QWM( zd%%*^1Uds#ps*ZPA4Y$=b)kwFwop(GWAS&fda(Trd`+mT+K5F)a;7cAEwywLfY}Ixuo(!(-VlAeCVjj>$J(-PH9%ID`i53(!IHCK*9u> z)AK4vuDw^~VWKG{V?*ZKwWfq`kv`|hLQ^W)skNwBgGcTT%K zqyk1&eC0#M@#t)79SD*kDd5i`#d=n3djvOw@eS5QAFS#SO3LfS5s?xpq4YZ9a@c$UAXvMJp6+2yWYJE1go~L&}2vYfay$Te7SYjh;wtmZrO2fYj0Wr zoU}~p*=TNoFmq9)%hTTrs2_VPZCe65LJBio+{l_945f$2tLm?DBGp%ch@nUU-K^|f zGr342{qnjPCYEj=_5+ckt3x!ZYpn!D6gdwMM)8Rvu=N6TtAuD2H&`Vx?^|xaey&uV zlN`ekX2+esh#kO0{ksns;_VS=^RI}n$dp2j4QbYUszz$7M_TQj&m-nKx#%+79o+jq z@jI`xn}!RH&Vi-uzs@x#*{z&eSY#r93$FY47>)2nUPnXe^B{N#AbrAr71Bun2a(oG z4YP6bH#glsO7?v=CkBp%LE}s|4Sz(0M{>+H{+EURpS+_EOv~@&-SMDN!umgQ4{u^% zJtO${C5O?Cry58YSdcs@hOun_E}R!nYFldk{yoy>pku_F0~9T6=*|R8%ET~{gV7=a z-+61f-n-DQ`_P3Mo~z_iYs148On3LF`H4sI8D6vWt>x+-?}LMQ&ii}Vn%)PbngC*v zkbXnRobRcJnXmDdQZq9O^Hl+xy+BCbTL2~@rX7>)le~`iRqTrX!va6gz2b`Q%fdzV z>lrlV7jg?AKUySe_BTq_vv`}|pfN$6TY66SSE&6kNec25EP_Z)S@4-Oz9kU~G%P#= zXEP*?O>HSj8hrE8@*MJqCP)AF2co@p%SQFhC*jTKUMhd1T-BBG_q}8B_ zDCzd|Gy6@e8GLQeeQHhj=gk+vUFZ1{W!ED)L!s|VjsCZ~|5Ho4p4XoY(Vi=~V%Ll1 zuE%0^J&&)~9p0M_oVJ2$hsRN2g4adky!!7iM6#B zdd#j{@LiIlpO>E74|)P`XQg?~D|+6EK~8>e3#Gn*0YcanCq(yN6@n|<_Z$D-hwnU0 zpKF$HpRJ}9qj;gfx`L}59c8GREj`55lX7VW^Ra^*cTHFgKUmC+=w7cYT)l>y;OCOV z(dEPizOOahn$Iz&8LqcGc}^H^_|m-<{+E)O+_$>xX}-?(*1wEfjQ6F02-mPCq7A~g z){&|;({yM4cTJ|DP{RR(4?5OdKyn`b-9v}O*J`j^jk_EF!T1GaeJv<89wx!tEj*|% zV$c3LZ;u;6%jXDzpQSjiv?iXzR_wdqQ+8Ia|K;rX-cWVi+vW!@d+ZgvvMt!-(UNf9 zj%_UMV19b)DOWScG8tGM<0RnlP}hA&x8|j4%QW44xrPuMx6kG3yz;^Jw^zN@6U@hi z9b9V7L|tfLSZIgFMdk|L3J*qipvLN*ZAuXwuw%Q%Bfy|lJ6uG^dsOWt!iY??+X+Uq z9Urc3K2Qz6KOf4}0$*mAOHc==pFT?f4&Ryzi5Nj9Sc3c5wGGEf-Iy9w2f|n+2e)M@ zQoDc%C?!G>cy8lg_B<(11$p}wk&v7Pe$5$kb#I@TMo6LcM|^y2E&bSej+@@8MV=8a zQl*cSMc)M64<;erEg`sKUc<9@mNlbygk*dzaCwv>k?=4~^fb!jZa0Hs2nWf2A(JXa z_{FYLeC6ORKt~@Y(8nvnS|DdGMu2g9+K+sLB!sMXzY7X0rk$A=due5>D^{Ie>%KvU z0;R}IC?#r4OBGFgaWX<9&50+`UQ7j&N)2u1Z3o_$NpRQ(Gq=eD?C$IP+4v`J>(P-p zRYq{QM~Yy1ocOoVu~<1Rjf%sD*m(ewlN!w>HyaL*rZu&8^*95akpYF3(v8XA5J?yc zEkJQFbcjdSKS<^FE`taepP5Q}Qjw2o(eOD+UZGjU?*h8R2t6U@%myo$BRlk0_k3?D8^n>_KMWfl*JCwxf}JDq&9z38PfJ~#LglSFvt6K3IbG@n&OVU z%vN4ZP5wlsj+dy7lr;i6w0+zmP`Rg#gOJlX}_&Vq(Ck zmCN&|jv<5^aKx{?1!u?7n!2Rz);u^u*5K9bc5vg$l7+<(-FZ1-=T7T5NYh|ePw@EmuEhT4LQ57IQn&%0RMi61@ER%5@ zc$O_K<+a++Gc^f-GmWA3jdN@! zhly)uW79S8i_nKMP8v4^FKy6gnfr$J4adVwb-PzuCq^=J3PG(d<}@#X)o0^Pf2A{Z zHr`kZLt235?K`X;I7PG@_L{cyVq}qZW`Z8?#I*A!*y{py#W3H$N)`u_w=JGR1)eTR z0f`7+`j-Jex+kpkhx_l{VC5z>b=;*)NpY1PD{Cu(4X_pNe@n}0SA)TW*Vdt$Bj^C|J{>^1ZF+)uXTq`vBxC7-!(Y4GLjlVJylFL)HrbhhiG6|7{5A^OisVK9?oq?$TRXnQzp*(uMx=f^%Mq_4faec6Ss%h4x0!oQ zfb&_({|QZTLEwGWWVJNTZP(-7&bG9}9}~W!Y8$z6%yI%DUAyXA!o6%E@6JwdS!DM+ zDf)tBJfe|v7jMscfBg!6kPQf@huN8Tec($VQ8W=eT_Hmc(-(oLUOGyYD&9PS$|Z0{{1ePc!OzLgx*WVkD za*GhS4J&G=Kqr`G3xc2H<-to3x(IV1&r5oRtY!`KO<2s1?vz20DJ!P+tW6~R1uk-J zlBzwFL&G7!`5B784qubdUA)FgCW`%7fGc#%nFTMi!EeX#8<`SrJa!Vz@gx3Utd^F; zgix5popg0!N%KN7`H%@BjGAN`bHl9ip$)LKhWPThaIF9k(Pd&5tX=t+f=QN0l(-$Z z`Kp92ky%1IkSPg7oYO_yB1%2`N8}MdU-_?+S!M+aGz1B>R4X!Sy~xHCIxw=T6hvM& z6<3uZB_GbRsgGm-aX~j~e6e35=-2&n(+-CkQ%xmBY=+ENz36Bn{xBC%v|ak9%Jdkc z(17D3@3dYzO*3aSAsdluSPo5DFHX>9Zq*Q<>RD;7a^vimQ_5eXryo|u3P+H=m z>QMrsiKy2K&a>ttH$Y0Vk}&ARoH&!$e|s0@WBLI^4Ny5bVtoEeb{ zz@EtTAWTNVJe1Q5?{_8pO=g1*Ro`W2n!}!udXPRax13{ex}7~m=G{#EOuWu7!|)yv z>N3-fRn@ZbvNqeTo&#aBEG!KGVMV7C+Jb6}n!^RhN3se0>T4cI81+zEBoz@SQ5`mI zJD0r#Q%(OtkUg%*f+5iyKt@U3>dp!`tImx%q-a>TXs*Rp@Fx$|2h!jaOajnE{u-W} z%j^KogXND|s&jZa^s@b5#%m#z;5-PD01!K$J$(Xe5rs9rJ2RFNTpu>h3}~8JEE$Uo zxYpc1lHE~sG)u!;A-GfyEd+`gErm^Fny1NPZG9NPuI z-F*@YFyvic$l}_JArp{gYBuy~$Cyx!RrkRuf*dk21|+HdbkL#yrv;F3I8-#uXBZ#L zVTqxA?Y}O~;W0<{d}tGsZu&pispY@e$^E_Y-+!^wcM2F3#gpw5zqbM=RBP^c1JD=E z#VgFUHUBXv-W@$bH!HdfOxnQs?Q5ICjMhBDB=ArsK3ind^D}c z+DI2*6E)8J&2c2#fBQwA|0-rXH+RPOJesomEhJfv?`+ZCSD{4_{`&yWFhiX8lgcmM zIVd_=8>#D+;Y%;RSglX#tGPnRU<~R?72BX@%XVw>anhCFOmg37%4!b?CHk-~-hZ)f z#;1RFcK3Kn+t1@Qp3rl3;MxBa_?-_B=_ZrPF!5jvq^F{I3Eb@d0Tqolo97 z9Y}9X?HmL?yMgv^6+J#%dEL)Hhb>^n|M`IeufoA*v$YI}x+S2m)PLiug+acOmIg^B zVtu(<8&cmq*Ae2j09$2?K0<>*Y$rL-@e)~_&~wfcGsYHw%eH3g0`&9yy%F*2uszS` z9+Yro1Cz+M)c^b;;KxnUcDCF_P)oVW|5PB)5*;whzU7O^0;A)wVGyc2DFfFw{k$!< z^0;`Jsq3DXliB_%t}Yl&ocb?|ZmHSJrqJAPPrT!%_-?{|tU<&CMSgjVvbz=dx&0w` z!%c7CR~Ad~CkIx$MnXxKuUR;{?iPIqbVS)4Q_Sga-Y&#;^F!GR?`pGXZdGh*U|ut> z#=^;5bk+XSdRnM3wr&Y>0Ueu-8GpZv%a6(KcRq)fE%&yI>L(lVr7m^U-8(V;h4D?RRbfa!q7SkmpfsroDGko>`(xQ8PH18~ zltD2lYj1tbe8;wW!ws~#K8@|1tB`d%nI`$znD)Rz;@N8F-XJUhUql)O2Ar`DPe3{2 zTRhqiM>THQJ|bS+$x~cb6-J8H(N$IC41ST1SaWI97#|Z$-|YJQ_;hYQ6rE_lco4kk z#!yZ^6(Im+Fp8YOk>7Yj4qk$a-15kraVx|gZ~?v&9%cZ)!$mtFDbZJ>BZdr2D#DRO zLzep$Bm~T2w9>ancWu1j! zCK(M*PR5@j$St_WqXbJku&00TEr+RQo@4$CDe46RYF?qlb+z%uODgcT1?H%>O3Nj65$8?sv2+oDNV=fsX?C6nnclx&72B zFFwlne+NjcuLDj)%Pf8|Yjg5)cA2^q>JgrupJC@^w|WmiynQWC8RK4WhYX~dqjj4# zV){3c-7;QWsy!sO4DNoSIVThT>lfBK)GMoU9X;_}RjYV$L0Ei;csuvy?Q#JLk>q#+ z3<4G}Rf=+c$9lhoL#kJ5^szP6@-#XnXdXU7m9y+)|GG@5$l8!Y^dg+_sa6t$6o>a> zCeQ@Gnj~*1@=G4Z8BdYAMOSdBo9MTV*#ztq`Bk# z)M9DgQ{lnNW#@t^roP*)VK`cn5if8ucYMxrCHCpf0UJczM~!w%+66o=+pv|*$A@`~ z;nij9L0rkl{lga`SHS8yZgoeqRAtBy*&|Hgbloz|eZzfXtTx24wEudyq@L&B_Y&{3 zxyRuDDt&v>{bYNi0n%i5wJwan3z(Pg;pgOhy>{<8$=c!Zp2}R}zG__1-g(3DW9YcN zU+FxSr^5q$FYv|Ad0NE$}Cjiv=o2r+298CY4LWb`NOyd1R z_0HTVMDEALk*?dek(*R;It@*WxjUXZZm$}MQF7K0FD@OCy4 zOgo{%BF4{lvkmu6-xhDX4tQns4yE6y8IMm>lX1__o%@jNmu$>m4}IP7H(jVwLB6m_ zxoe!$Sz!>rGtp&m129KMI%?0|H5*JP2D_tSXTIk-SNM-2p0BIt_WHEBH9wFOm@w+X zMU%{g2Ij&&Mi(uPQBOmef*l!AV8#*0dn^~k@F3nVyKZv5FS}h$E_1!v@&{I1SbREg zTj;7lT_P3xbU@~*L3qAwyexqJtlDsPD15D@%1p(Y`I~xWsUh4e2X~}w9`jkJ<TOf3xoARKIgP zZCObEi9e4Bl}vPVK_PVS1V}Fht+Xc<=Bvy(q4m?~6^f}2-}@Ir&{;`8nBWY&IgU%1 z7uc5NRAj2%Be_+lqe!T@N)Oc*-@}wBq0@L6GxIk(;N5y8IAZjPI$@_d!nBBsw0o=g z_z#uk13&{lkX^?xk;&$~jKl;|_P^4<&_8~*QK6|~W*@V3D^!9{VkrZn7g z>c_VRDKy(EvFbWGG{vO;YuJ(eit^Zqk)nXy8aC%dn{1 zvP~U4)u_=erhZNNpeA>zV0V3@k1!)`IHjx7MwYdA`e{vf+H&f=TH{g|$0%da$cibd z27y-56{~0{F>o&1DV1fUTSy~cq(zrI-2Ouwe0(cIRhDRl^vyCjkC~A;?r;E2OE5P- z|6mIna@Dcc`E^GHLQgfQ8gTOKhil!w9kH-b&wqr2S~NIU4emuT1XtNrU4&+uO_bVwC>28q*2M5Qn406j)?aG?5YklOwa-@q>{>=~>ahF`B zO9YDvAk7lrf>b5$xK+{p?qTyC`q9qx1MEd)v4N!%AYLw)Xm9rej(L~<~kOQ8e7 zFehdyXwFjFbH7>*3;}M;b$)^z=iJydIf4UI6Vk{>56YmO0x0Gu)GoP9YjUf@@6+%V-aW~1en9?bkMHvH$l#z&LXHtOF9&qv{n zu2}DZALM1j1;Its0ydB?udcb@G3<>08Z4q;|K1MwXAE_%ob1)ZF63vQqPUL3_6t;a zLAS?!ymQ;p7w!(ndnhHrcS1N%Mx${Yuh&VAyOtKDu(hp)q@x(y0S!(z8#9+j9?-JDcVC883-iYcR5%y_0tKdyk~r2E?|0as?}5i8h^g-|X3lrV za2lcZxZe+oxO!7NLilwM&Cv5)PxIE!g-Qc{>=q;bXc+%V*ywbUQ`2>5#6gaQ39A2q zo*%m&RaPdx?e{`S*uJB?r3<;^I+KVi)}vknifUNBQR~>)BL^;HT*#h?IKO%qWsL*+ z3G02myz2G2gt-0^1$o8WI8uE9b+%)l*`o?$Qiw9g>llAD8+>Z&_L;Bpf|IELrSXLu)u-m zAl%^x0oH2&b5&be_u}G)ym+cgPDTr35?XYa+Jjq~0yTj@r((|0mW9_-&XUtP6L80e z0tygM*Y0c@%|>j0e}_OCn7m{Ks@j+n1Tyeum^0ymS79EQASEslMfSm=YJP-esosv- zx|fesp&f663{N)jXW0 zi@(oyYn0_yT6ct|eAFA2^axZ_6Fq|j*u0?{Jzof3Q%|hl#@GcEv*DWX{EtR{D9nEI zmXFLeR+4mJKer@M$!As3A}ORcd?z3!?chETi5D&5Pd1C7;#{&DBp*pj)j*M`i_Zmq zoCUCi(jLt&S}>iigo4pxsxrH8Q5tnwBna$il3FQcKVvloW!>tytijiQj|h<<(d6u3 zsIiJuG@Kth1i`%*~^-S+zl6#Xw`0l%0>1n3{9mZQM2H(w5HW+2H9G$IVCT_b>fAFLy(KW= zDd`scGqy8J3uV6U_C6S01p`ZB;^LEwVezSN1$RBO|8wsU(kFZcA^}AHSL26VUV+sO z!YKU(x7--{;zlDbnuk`IHM8cF1}%@xqMW>pL}J)Ne-XdhkPS8a!4sGR`f8lW{P$$d zCP1fq0;M@%J_?yurMCv4yR$7;NJtI5;36hG(P`eZm_Tb1pubko5bI%%#AGUP+jv3V z;aC{M+1zm7ge@>)EDfrG8QBYLU^6k#B>|yhiqsJq}jE*`xA zGkC>~4%>D>15m8zIut+sb?lz|-dW0jcS_1;x9M||Q)$&2sqSKB=$-4be_{OkmK3Kh zAP^0oR%M_nki>W2E${P4$S=6|N!Ur~?azC(Cco$2_Mu5K;O_H<6aCcvMx*Bo(u3A} z;k%T&GU!93Z4FidXB1SD!LIj1b6sIbyshEul&Ty7Yj>HEyB%SWq>GIp*jsD2S%rc- z*{ro5ozwWUGO=|ZtmiYu~AP*Ni9MP(L%hg+JXtNfG>r$IM7T=&iK4(3;#o3O-b%6vGY;Gv1;C)Ji zWwU9xihF%zL>3RjvRr(>%dFFVzoRDT+d&|<0n_XsPux3?%gH;_%xLod(+hbXm#94t zOAUPf=i6@-0&{a(gjY1g9q(h8W1hOflwQ?$9)0 zNUPkd3$O*oE}dZL^YKh$u2MnGRwlJXPLZ>TqQAD(O9Mm_keH6(ocOGUk0vuOqg{7p zWMvASp)hL?ku}Z0t^d|Il-(iX$#bB>7?43ZU;*5ouOdguY#na;c~5on{JHva3t zfi%XZM+LbNXlEv(WaUYJMa6a}6?U6Q@rOc-Z?6SI;?FPLAm_6+yHm~;1e}zVARVZ} z@e-i)MpR3_kyf(?*%w!X33f`q5R>5jc9RTD(e?3N?QY+*3vxt4qI1nRu5vu z?}ZCEqhsiJr~PJObd<^+cYf>d*GRQem7Fyc{f?rxNxWm!o11lIo zG88!YhqoT=0qow@jSXAmhtDX7U`6s!w(r-RnC$yfGY<#j4ULSZe_k8jE;;O0V3Nt< zap5YFB_X0!{rVUGRgnG1(A=so{bOS8)@Psj4B^P`FU@}2yNY=2aQ})wqOS3Ll7!^H zNA}2;{PPA`S-(<*AjrDJlDryI^Xv+_jUF5ljlnf5c&d z%?6|R)!gBZeP+1O)WT~bOMbi6kaP^u_f${;OxF9d4w4WJ^_TXXuECO3yx*j8ptJ6B zE7hzNLjC7r=~r8e9{(P=|3}COp(UeARr5h6z9Yc*PXGHUAsCUOIMcdw!zm3E8O@st zGsBk4L@Mn>Ckcde2uLJM2hXnYY1#X_EgAzDvY;I7wbdoqHqR>nIUyD1gZFt2Rk!sn z^Mc!d8Nnq(s6|EtuDMuuVJ9*YxhUxGw|;3wG^)jZG1RsM1Kr^U?1iHKU+X1%|w#mZ_;|2hZdUtI#NTwh(|oZ6pQ zeTe=I_ZIBubn)bU)7Cn24T`!TaEgtSu~mzX$auYar|YK2-c#${tv_mcnj>{jrhpPy9S6IhYh8^t43OT+=IEt+pq zOH1)z#UbqQw%#JH*;LER!->!g@NijIL)J`*BjnJMb#BkEJS8~WVuj?;TE|$%R@HJ^ zpLil^PinN9$XuroH0MqzrRq$`ejrBV6|%=?l&n#%0SZ z5@0D6AM_t^2|K~V?4qdz#T8|ezPb03Fe143XDSBtaU7l6G&Vbf9>txBWRDsf_ zUv8G=m_jnPlcs(2hcKWd=^q+vY6{!b5t$ili1zqyTy_pAQi!K1gsKv=fEIBSR@0uP zlG@V0wncP8*V;$ruJ|kBc5EvLxx!j-TUUtGuD~6ka!j29%M|JN@OZKTa21o{5V@aX zbUg$N(@R7Aqq$rxzn&?b$%UqqLbmVDyWN2-mXltFveskkv%4c zi(A8wBBOl9z0Oz;`oYC~jf4VuJen8^Tko{UG^0ujR^SyHc|Mi29*PhuoELNt!S6sz z-A9x**K>LB>{3FHW85KMg_|oQ?5D}g)ZJb+N++L0*biNRECsf$xL%&@kl6EMRgA9y zfA|ASq=$!*%KYj6GI24W(dhro`o-F>>d{o&UP@<@aJFDn!yN3zlsiPsap@3WTgk2vQZ zS3ge%hGhjEG4M?DxXL*}#xnaSE~0g7L>`NtvB)vl>36;~;Srt- z7nIKT4oJsypF*tWKH4JGY#MOrB!is+9PqDut~Bv?-X>-F-5RfMaWOl+iSyn4iTA6Y zoBPel|GkN-f7?1jc(?t1(|Wi+K@>QEy0mWPeckm!K8SO|^^u|H2Vg$fL-eK+o0a$XS^)p4ujP#> z@tX~V#Cy5q*J`pN2h(vqQZ3E<8Y-uE-LLI^<~d$1m5GV>|GY4dq)3SO98Z4Pa^GR_ zJ%hWMcSt$X=y2PLQmyEIPGzx~rp@Vx;PTk}J+!`#<*g|rXk{~ml=J3&*>&>PaZMb^ zy?D6G&*3p8XFbh#U=!j!YK-tFH@p4tBYFoA$FAqpH?;D-n>pPKv4Qs+N@y5-^kgC< z*$Zex{if?=bMetOU6*rqYeH-6Cj`bO)I=dY!A=)ncM>j9g#2A-~tj{mG*&HM1n z^=6x2IGc3|X#}_ulYG-JQg(98NFv;g1YpOQ5Bel9m~FEf$Nj@hy84=~XzMbF zD~Gi7?e3X zo+lbo=>(f34)cK(Z53V4Kf8OUK$;@VvR($8!QcDSH=$P{{zTCH@`1<52Rgwi)5{WTuHK3 zLSiAM()84yCk=LA$T^Dv^{1$Jan(g9>=v)}oAVJQ)0rxqwZ z4?TOqQps6p{sk}GmunN3rEjC^KT4Ng>kF-U9e79r{NOb|@(7q_Usy&@s+E3FAPA{Y zUSL<01kbNXUy@!B6kfKSmj;x;jASc*OL07LO-&B1kyr?q268!Xs|DO<`SifhX)Ba; z{@V)nATHxvW^7_Uj(}WuZkwE$o@EM=u8DL?E%bqsYI|W;{Xl^h7iVVY@lj7s&GgUC z53;B+d!jPlrA?di0f$sXCMD2S0{jy;{asCLa%WYzp`WyMqVSz2IgDno3I)b`<-7!Z@ZKl^)3B#|o?1PLbfCm=tP}>+99DkH_7`I>NkPc*M zhTT;g~)j(#7W&9I!JI0*rCnXN~j49c+Z> zz_zHQphOJmkuDK~(=; zabV#rp0CY!Hdw5i4ILd+gyeG(C?0ZMq!3OcmI9M>CWj&oKuTA)(ub9-)S>&CD%4dq zioZCzN{ey`4N5uWo_${nBPBHrK)%~s*BV`oE?y{$$Q&iqB3>~ekxG1mC+itu0P09m z8jfe2REIOxF#mPMa`qloGImVp-Z-)RY4c;SWDUfbL_?tac`G2mhp z6;n+c#PBkWM3&j$tyUwTdi!qs@F(B1`yRW((^Xeq{ieToyRYXtk}nifipk+W4(jsq z9w$Ou?WiaG;USMX_?)kPiw|zw=Xlv?`9h42+KLs!Z0dq#Mer>az|`dQKYi?T7hZ5F z?g!$Xf%2|*ydTJqJv?o*#6-Si0TuTXmZ2tae z@4R*$o|BQ$2@U%0E|w^z9!6}MShopVOJSOQ}uiN9haZ72T-LSh%Kn zpbcE}m$t(NWJN$#`kY(B(B|3bkccxEE63iahNgVvM8U;Hc2erE_fAhw%}>t7uTba| zPW~vX(?rmz>@|7jhTise9H~qUtX;Qry|;hU`g^ePT*z4ht>mc*NdQ0z8Se4N3KK{W zQ$A~`LQW3<37^0G=zwbSsN+&$nZm!qBhD4B;~%wLaNy3Oz0ev!$Tby!gAHj+qydM_ z95{A`9;$#(mjgZCz_Dtt3UFeF^t2 z{Pxs)y4;jZhi}{%0V(BayHFDz(TC_*q#+WHa?LsAy$7XYv_`?MkEKe8n1o_C!7D`> z8=zUY5S`ow_8eoHWNu+H!He{IwVY^qzh~Et1LXqmnKA?7&Vj5rfjYAG@%${eEM39m9_5fZnu+{%D5jll?@(Xh zpf^qzw9(i#oWeLXSFUuwKC04|Q7Bsz5LL^PN?Qw=4rS+P$~7&*9lGjEj3WeVPjq(c zrFB^c+GDY8baMKx4I3uLCI|caYcunVme9;-&jLmaeN0dJGUAHQ?smv8^1^jHKf5@C z7d;!z$_wP`Nd;ulw{T})Rdj{s$hhzvZe>#@{BIFul8o>bPSGZ(lrlZc6BLSJyK=t^ z8;3Yb&azO<-8b0PmgjhPZ&wjb0aeI$HzdkG=k#^H zd13V^pJ%Y+DqHNk$YX#l8X%APyM@kqCb!Cr9zh0psTpf+sfYz~BHm?s+)PmpHTp7=TSxVG9|RG*Dtraq%Vxt=#jh2qjLr zQ7X!UQ`P0aXkhqFV*$!TkcC=t1Nygm6nFCyN_?P8*IaCOi~n?a?sm8MUYF-?cZ=V4 zdG2<%IC%&Ax8>sz=6C6SyIZ`;{4V8gcZ<83-=*B`ZgDsByOg`#E$-%?ZvF4&z}>uD zKHJ^WTbJiV;rU7o&#iKxA=ocXmUAN|D5o4MS=>DA4h z2A9gTE?N?}?<7F5^X<3a{>*1S^S(pzUkDkq!WVX4@HH$kFfewo@Jnb?{24*!TYOB3 zSG@Sos|5d<=v#X13JobBmDFUB{(sne6KL(SvcB`)``-HwclhR-3oNQi6KX)A22?ae zm$X@-Q4?ajw6i*`s}r@7Zk*!KQH;3K%}Qv*Boc?jfo>NhvRaoKB52bs&>&D$XcLe)c}+dG@9@aTmtnSNXI}QxFZ-$+{wn1U-S^=8{@?fFVkDv<;{W0M|JxUS z^9%TD{F~qO*1z+eFaEE;{YChM_kHq#4}IWH;636LTz=&hi_1&yI4qZb^+t9)B2ixZ zvucII`z{=fgm zzk8i1sT1*E`M>-Nmj6UijYbbJFoDU--hm{?Wg< z^TGS>o8&iOVHf({#QU!Q z=I>6^rHEhsOJZ@<0CW@4xjwy@e&B zM~@!;x^H^HP0zpe8@}nU@h&iHnLhHt5C7?#|1YpA_{_{lKKzlF|Ik0hT|`W`kJZ=Q z`Kf>Kqd0RY9PU|TG~8I@rQWUGou#~zeDqmY^$x7u{noeP-{IsD>R#;iH@1h{TSLC) z11kK$N0$2k;ssx`<4(&vDJcGADYeEBvubFTLl|OE=kae5HTz8J8Zo z{8AR)@TM-o4!lbi)#zbf^%Xz+_0Rsq$M2i#C>~2ajWJl816LER*rISkK%ZX@{C5IX z1V)@=ncZcxW)y@dEbF2+!HEBI?$oQ(EMOM>K3m7vT|X; zDh@NtqHJS%C{t>hhC=_@iaC4CD-0Wv{2O(EO((N{x&jLics|5SvI*H z@AW$414~PLdutbwSbDGuqjD`ua^x0F z$rB|81I)T5^+Nbv0B(AfmE{$@74Wo%l&#eOnli2RCCju44l|nUf^SL!*yL0?;QMkK zi>mA?zUK1$pAd{j&hkJW8n!3K{=6;13CHO+F15D-W{=G*kN8`w7Lgp|?CP23LhAi;h7@k>OJ9By!c_G0hr3T;;xguvSHB;sEM z%jTlW%-$ug&1^h&zrL~7XDbR#BT6)!pZk_EXQxZuzn*)pdrq-oJ@@M^m_$?C!!23` z5$C&ZuA{b8JDOnlv^8Q^;WBZ1L-e+`+$yHOFajA!I&{E+Fi7gOjvEQFr9Po~Qrs!? z`2ps#px{#NRIiwEq_Sxn@v50Yjx~TiZr*_3hkR4v|k)y$ES6- zZsFSwvP_X^v?vwDA23R)b-9h0tDIp!=2(fav!i&tq9rfXki+6qp_NrFamYz~v>IqN z&}yL7z=f@WHtu|3x6f0VyHBy+`Q*t{-}ntL;LY?CC*H?C8~@~|e*CE{Xv_OkPXljw z!yBIe{O7;>-S2*iuft`Y?ne@z0 z{^%?6>^{ZM^Zm@fdeyJ;OwT^J;OBuJH}y3?_Y1xG?!x>$l<;T3bjLg2_m2PjorH?s z@u%Y4 z_E?v0_!J7M6<6A@x5YnCa^vhDSo{?9*r(;NRlS`$3DnXCg7MGiSkLI@I~hKW(g5B?>pVg(&5;+IDw;=(Hj4{jenO%v|%istFnrRBk8mt6AT{SUFkPWD|5 z7q+OJq-=5&EzS^zb(duF9XR}Kk}hteHt%U-Y$%Au;Kv_)XldynOTU*Em(Q%NH4eJ1 zrnhUmRosMI_0D$=vqCW;BiCplWIzIJ=FS>5-7M8HB(oyT(0wZs73q|3E0OD1Zd z0;~#2kfjB&0pMA5XV{2giTMdG32~$WkrBDb$MztOnV~GgB1Au7jTjhf6GtrDV;AT- z-mpfBqNOaQ25LnCu?(d_9Jo+1jjk+Kd*qbple3wa4EyBpHUm&f4J%0M8pYItN-RVR zG_AZ2b(ESefgu=8N?cj&W&DC5%l#+?-gr;7g#kT2fyVq!*}2@xtfj&L3>EXV4OV?- zZx%na#oUU@-x+Vu3kN4~1Rdc$akgQpIhB+Q!^RSTeOciwEh*ZBoP#0dWY~d~A|eV& zGG`&hPX^5^NOQ)(T~JA*T53FL2aG@vD<`H&lWXDyZsp)H=B9}#ClW?uij-DJxXwBy z5tYO&MRPckU-IsgbPC_-(`ro{iDH7SNmrrLHJj^*87T@f-~}m~svFyw;@Q^$8a~gV zf+?JnGp+l?`D*@&ODCM112g5&e8td`nN=~6sM@NNXxoMfZFeGoTP*!$q{pOOOR7;i zLy*?=zDm7VSGp(!s1(#9OzA|mhE<`9(wlR3`eAZqhVKDrD-O-G{XuWg=i2~|&lp*D zV5Z1OG(pnN0w%=zWJd<4&oLW0ad9v`w8JLIz8!+`(>xCN2UtzrAuhSFdi)G;;P4P~ z@bJOQuehSO)B~&;$+a;Inpk$MdOX|f&(YZr9hw=OW)F~=QzuT_4HJ}&-hhXjR8p2` z)ox=>X+A>$X~gB8XkR$nB8tV@V?U4C;rV31w+$H3++>4?CWo$y%d$@nw<$gdEZ97o z`lCK%CXH~k!Kp`2Y^<*Jdi{fk4)j>Q%_k7JRmh+7P(Iel5JN+{I;`2&#R{Y#L@T2= z1cx05K06Y(H^k(w2nO^s15PBw80P1?vu^3*m`_!23n;`Bwa7u07Q~|LDv*bqcPPUB z)UsN5*smo4?H%e38cdu~hclCWo5Ru8h=ufS(LLcdq?)k>uBki26CHJ#+YZa}gS-$& zCbR@hnnkXVAN9z2B!(RxE!38W617LGfmQ>p23ieV;2LP-&KGzCT`26aC&q36=!f=m zbIx}KZ@J~B{iUBeef8DP;vaiJ19s0nAA8lSf023d{Z(pzXL9Ouh5L)zbgO~SQv>gR z|NFtfw$4wTxO1EleF2`o@zq@Etglv2<2>{uPagesN^(>MAjqjl^T6O)3fko42PE+_ ze88uG=XYPwox!crGa*PsP=V+Iz6VY_&Hx#}<3SPl70&9Nh(RMi|m~F0z6n!Gf6aUVniPZuN1OS?jX4wz@Uqi#fik&84ef;8lmKkx}0y z*r4d26vYJ?2enLlBE7FPS&4^C;0v}aJ>#Gz-jn*qrc)?7vMi?-3HK2! zaFF04&-eT5r_Zpl=b(E)rMh#bktxIjlon@!*l=gWC#UB7Zoh#kSTP8TdPqYp##fxf zmH&uAu_A1Xy69~A;L7nwP7+0<4pjb#)DHMPmba;(ruO zmM+bpCI zrdfEXc33frYTQJn%l3@427%g<^D2PAX&AxFcC8#ZwE;O$QgL#DVH`ekX!+2A6AwMI zwK-(Y0aaDFR<>l`AAxhxWWgucSk>-waGSjrS(gBGDWgw;SLf7C+eRf^MOmJMGi(yj z*dxNi?#aBM!06;WSPTU$m=Q7eabEkzZU`HQPqb`+y=#9m;>=>%5i=Y_Vpx~w%EttH z0yp7Ysp-G+Z9dttLSr7`)+^8!>#-!E%;J>)>>10>&P(W79V0DmG3lBZ%FY^KNtA9a$h9H|8=k~Z=tUEHRM@E!$f69!4OH5ckIL_LYl zGu$+3Fnf3wut(q$$ zn6)De-HpEO%*Uu!+>65!&7Hw2BcArFA=_@y4-Q(eL{`~pmqrMB3N+M>XC^7>MBFTx z9`S7r2->H&G5OuO9`ABs(A-0a2NUKNP1MR_TxJ_E8fM~lxy7+XKRhx6#b!*|5Z`Bv zL_OgM>*&lLIJDTAyO^&AZjaVF^W**^uPw|I-QB~4eJDYKV$+d_w`mDm8};b7G~T#x*loXo+RxaCmxkFj(B(*gST*A3X#Q_jxph25gt67dkywOj85~ zL%C6Ca;qtniA!%3Rh3Exa9M9nS63Js!l`Sc`^+zUJJRr}R7ky{C}hYw(!w!h8Irg? zhrT!USc5lY1}9o6#%CQ+@ef5|2Rx)Pwruj%_|Y~xv+Y9z^qNmbayh4(Lm&f*1JU06 zE?-y0WFn$q*a!eJh{-asJ0J+~TYHPC9H)xZU-fi~`Z!8Xl> z#n`o<<#z?){!{F;v0pX<(69a1ubJkw`#Von(I%b@4Sf9LAAjpx-+J3^w>=ripDdg@ z6h40EPY=_jWkw}<)UU(R_#L^7!{VYBYjLD*odMGO;$dBfD?SSTh?w;Q@+gl>qNk90 z!3jYwrA1|3G<>r03=v^iU||a`0J-=zaePC|;B4V9Je=`|Ocz6Po1jfYMUM`TqI{-u zRR~Uqp~q%&aFy59Pp_`(FzSX7;=qNWR>j6hN|$SXbB0IKVldysvr-hT?sZ*N5?8(6f?tzi$^V07*naR2-Dln3vH;+G%sd`efu- z8VvXx6&pkBu5QkbMm;_}*zZ;2K`+5J_{IVoxsU;VCx_JVkLqUfpR^Pe z7W<_E<2xcFKb*fsL>3Zquyf(TdJNgaRl+cS_X^dEhK&OI40%bHy9F zq|G2r4svtsF@Hn&i9KDsq5x=G%k|kpf=hdj)S*p|wSq|qvGEIj+r(awo)S7T5lJZ* zk#@qz0g1}GqTR*IW|QCWB^j}llmxy>5)jgeh{dxgRa&ryde9(2Gf2xOE7e)Jy(!pblz!P~+hFBE~Fa!@!G$WspK3ot>Wawp@6Q=lbTFNvO zDFEqyvj)=)sew(2ARe|HZpaXq*BG*QE35_GFrLG;VfJv8fmNjZmn+fHLRC-R`EL!o zLa@uBTC(i1>B?#HsW^c#rw-uH=9|p*6te6gn33R#@Tb;vT<4hts?G?~a3nUc{l&%Z{Ne(bnY+yR<@+YI zGeaBOE76n;kqnlu1>WXkx#youn~W#^&7bz|iy&Z4PYyYown@YK~dz zoHNw9A*0^awN>=ZUb^YjbOx4y+oQq0Fz2I-OgY6j!{8qC<(X-AXM42z=*jg{r;A1PPtV@D2q! z7f0I;-dcSgq21FW(vVPlv>IqN&}yL7zy+*9n1@t2C9&xo#}1Dz`#^6|Sme21ljY~1awi!yfhIvb2W<1_r>h;$)HuNnL&;G1g6rk2@CR8#o99s zfR!*e;j%6Epf=DkqgA_A3Jc7M-)D)aA`(0IWdeBPV|NQ(m>{xpV6ji7Ek0q7Ibd#l z^@}xse$KOvP;>5# zBTZx{B&`tgDC)F}J=zZME-}Q$X8HEk{2Xh01qgq31lR6uZ4dcGW7oKe?FDIrqG>$< zn*apg-+}_Oc0d(9;7**ZNd&UsOu%nMnvs1GX66x90XvDD(!my?i$!6XT@w2C`R8OBdy}7Zz%+^AK zMU(;UDhZ97i#RgQSo zuHp+QyfA``H7MoYHs(?o@dKATn~i5JGpx)1;Plr+{L}pCVFE+8TnDE3lveRs_BP?U z!lo)-s}g4oJw*$Jn$h5a8`3bPB{+pcWp2b;x`xN%W3CjLK?XtXi*EK1T@@bcNy$I? z16m18gP3}X)ZEp>FN72FlXugal2(H8ph9&^Cfx|jnj^eQ4;YWP08HD$rEre+SP|iA zo+Ip=8j%gg)K#x%6~+qW1Xku~26X~U(1OM8fLYjse#B2>WSgQ)=^z`3fR7yT&7~)@ zjKedMvOd~5NaB<1$jn60PWt15gNn$t0Od6)H;5AbHz<>alb~0FO{>g~nb!10ggyG~ znYGn%pT*j!Y-Vq;$USqx3LEQgPR8CLy`FD@AO@L^Q#)&`YsViw-eoQF0^5=dXsrhy zet3PjN!)q3y>snXUh6GQ{iH3ZqosoY@`wiyKEJ6O5i$ZAfYnsFSvqwXX@E!RGzjpB zY_WZl2|)I0=1GQU3+^z8?KdU4ozq4c0Md}QC-*Ym4)K{s6pR=cp<@P!Fe38GPQsaU z4&FxnCv&{K!YeFbER^=5^bvSd78v&VMBt>6g!ye)8B&nPEE~tE_D+X4Mi^sMt%l}M zYFKNVj>9S5dcIQ)l(^HN&`o260jVU7VTJF5$yaXv#t;L`3tO zG7Bch0lqcb>dI;su2U{qS^POx|pRVG7rCM7zwO$1{ie-xa$)ECkPygF+* zovcOndpmf@1mr-OOyw(pFcH*^*!q+PJ{7HEZYF?eQ1ctz;=jotu^^mJf^nmr&EfWd zMY^**54fr*t!?y!ASW9@EaMCl&e+%je{XgU7Zn;XhND_>2h@T$o+yIEA&0_<=gts$ zTiayAPPe(F?)(C@*iT_}`t+cG(IppMa^C|Fv+d>>=R2F*Mi0>z%z;I-QYT5ODX+aW zGG+;Wzd;Hzq939W!{OSQ)!ty~@WF#;PMsFa!vF?VE6!nXA#BR02(=$c zSxSDc9+P%fCM*SyhG|>^J2enVJ?xTQC_3}xu-Kb05MM}Q0~2FxzE&+KC=0)za5XOw zEF3s6==L`FB-8dT>lg9cg_JWI1@ogP$OA1+bYp30iP~)5%IZ0HUKdhW6{4!bv-wHO zSPCckz>xv_t|@~Rr?O&rnY}O=6YywAMRBG1h@S-4%I*gq2?nsp*|o0(l#Mnk6jW&) zcmkF{3p$|+FPNhem#%>oiP4u_6F@NFO#i}uiP^h6k6=@X6%T>8mBL2)09>f*$R`$x zWKNRi=O|{`#+-N#d!Df1G1L;+OI2$rj0_hrSKw0TWSh@nj&Kcx5h?Y?rO}Zj!T~_3 zM(fjZ&6?c=S3qKAq4KNo7SF21JThGDhn?_^R@-{6)5S)dakAL=N&w^^o5S+UbOk@O zl%*LDIR}5pgkL3-8e_G|oa`_1Mza}AqcOzWVWeebvuTt7lnio-8i@kV!Yly9FQW%D zNdRvc2z3NZJ`)*=Xn{~aYR~f2fdHC;ilHcsg*A~xPu&(5Q=*I#@?nLb7Z&Cq6-rJx zQ8#^9vr#ZX>-6cqi1AE$~05-&t3FT=N)qeKhHpAye?RWQ%P%KOtz z)_HsuOv$?sCO0?A!Wh33bWJc6$drXe*hfn+YW$gXp^U)>2H9OVTRA(K;G{>6G?3JS zvrfvF>lg>LAX*(=y0#m|X%rGo20u}lcfn+Z!GfYhv$APfufIFX5^Ub3VO*nM%ZG}V z1?i4`#ao9uur8?+jeFs%Nz2Qln>JEbkKJA(8Mwfv7V zq=(|wgDfY4j{?zodWy0*JP8}QV3q>})Su<`sp0%Q8&-h5%k7_tt@loE!06WH3`C%v zXTq$w_0Rih2W*TMVU%FC0h0n)7*7cVxEZ1|_*e?7fx;&EbfsIa(7~IIf-%5|w}xV+ z_^&okT8n}c&~Pu~GqrrBnN`^yVUMwt!;TL!q0tp-{Rv>Lde zHPFVLFX-m^vSE(hGxl%U{AD9oD@dz>FNy|yu!c~%Vf<9uNAGwQam^_%pCqOFGFC`E zb2w5i64I%c+{vl(_40hY7Zy*Ti4ft<*4jI=#3}}!{s|KiM9actGROq0Ma_k-x;f!w zTFO;{;cl1-#yBK}l?z-77tic%Z?hExz8om=cGlO{_&SmvPA%k-&V(6%bCqBDp7LP< z2qrWFAlV#~UoT3-Nz|pa3KI4VoF=C0qD@MSI4KrK!~En@FSyA}aX>0%1--Ddpp~Jz zqY_RmFT&9RIguc|K72wJc;bOkgt{8vtsJ?qvIG!un{CfH-IHV z5^m$Y&{^Lc&2AZ{z?djP-IyONfE!rm2$oh>x`RG}9oj{4iUZFwRb0wIuKbB0laeAT zpz6WtCvf3PL!-mO@}J+}n&1#+Wu#1{mE0`ubb zzXDPKPVZ7yihRi|POPluFbo6PU+j#J&`Ub(BR$+?nv+%Z%;;cd#d4j)o#^?O`Y2aQ z8pQNK*ZT}a^W=!!WA|2KlAQiabQX!`S*+`r=G+mi(7hb*h$lP2$B0P>9&HX+*EVN5 zn=FeaYRnukU!p}Xo%yav)3fBqbUvgZvHZ9HRzXyP9%y;A5L+m#u)X1xa>M{BELnxG z8g}}rkKK=mD*RG10;{|SfgS$J0 zaa20z_$55IH`ojg>Zu4bO@l+HPG10Qp7bd20Q7#06BrVRr-1ut*duF!aU}7mnvFBS zV7OA(fa<;mypIPx2mK*E)6fkqod}^_0cV;L*QRMSTcp!KiL}T==@ECQY;k;xQ z33Zw?b%Kw)l1_@XcdgW^<@IB^nnFswY7xsp3cXhYVtQd{fP)Ai5V~Y%A?0L3>m1CF zfds~S`>4k!mmk_nt|`mL8blx=DgB|Um| zineLTa0mf;ha$Qoq&++6u}$atXlpP(&p+BLF)UE&%o6p74Ytdi8O^f?Wuou2tnH^O z2wE0o&2{C^Wz_KE3*G$I&WscfH#hu}lmZ$s?XX^YxV<-GQh{lO-sb!!-Z`s-OBSoT zgsZU`@r7IR_3|lI^N}7Hgyo=p^2s$|5p0KW?fP18HCtH0f5gei? zWCsff>a3PbpS4veVaLGJ%P8@G=~fKsH-YyGn8ZmjRIu4EXJ+~SrLsgP)B`Wym?JRD zmf3`2_Sgz!aoP30U@9BSj-D(C_T6XpDIr%+f6M}LBM4Y5`;!{gVUy??*6;S0SRUP3 zTU}?38W9eHkRZ3s!kcz0Cmd3MA6o|dk|HiJwpnk+dvw;~65Iw{M041oQt`jUs?_#O1AI-D>YSf& z%NZ(~_vBh^)b$#PG7!j%CRi<4+=_{)Q?Jj;aBasCC%S;EltBZo#F`w+8lKCB#Rgo? zRZrGRCVLPBCueyfCSw4VJz%mufN)A7hT;|mCivyXJ}JwMblA5OOsvhG?+}181draD z@TgkFAZ$fek7FQ-f?^(6h4#Z1CFqZ+mLpVb7)o+(_*Oi`xd<CbwdvoLZ2#W+Nj_B(BorzO$SczMSQ60_lh(F>p#b`Z5Q!@?i+y z9tC4ef3kwoS8NEchPu!b%!Pm7IZ`~PG@O}Z-;~R=ylL^kIlV(o+8_;|kx^^6E=*f$ z8cX)K^e~mKawho08xXdBoga_ew0`)J2e50QkYdbI{b|SIwxl&}Dzu;sTlQbFq01=B zvehm#I1GmUK5J`-8_el#X?@`qaOz^Av^&wmX-k<4b&)l4g=6XX2S(rvCo;&IcIR5{^ayPZkxHwDS-MaS zCzPh&7gyCc8lHt{@MN?JKiZ@(+jN!=FSF>Fk0h*~Slw9LV3jewp)3}zH%pl__7i!$voXIn?s>nSn`M7(w$boR>=+~K zEb!(QGw4h&ZjJbmY?fUE$NcYj0llzX`td4sOO(jY3P;Y5(K3*{KY}@N;jY$ z+w%aQ{KnNUn1t7Sm+`h(XDkoAdwQvY&75aG(-Y!f-pFBh_4IHUIdWBWli`DF(i;b z!0S+Qay_afXGsvAn!3AsLvgdo7mjmUI=nSblIi+`f5N^1frgy$N-OC2gnt~=U?>?) zH~56)PfEc*fd^4JiQ=;?f6)w@Ln;vVct02?ERkku2h&7dI{8H<{D>nI_G?qgk`JH! z!EZAuK>kGb@EK2dXQ8t*+}ap!c4r3A)U}P{jTX8wg~9ARYnC@=wl;Tmoc5pvg`u@( zHa0hwm)RHrdR#@?1P-uJ{ARh>8xPml77Tmhk-K!8{eX8jM&0FppLqq{VeD7ORy#2q zpv@Kku@fn2-LdP^CptNY~ZFHv@67L1xDX{){*f zOeMsXAwjNeTP2mEX*MSzkiz8E0>Mfu`=?yhiZTTr>Y3vi4KbEkf5Jy$1#;4k@)KA& zFyzFqSmA;YTY}D37TywJ3O9PNIe-TmJ!BmurSR`sM_PsUX3l|mAOd!5rh#;{1MrOo z)trGfTE+mVxul6&8A5UyC2#1XV^XCb_(ZNi7+i7zqKixEEG{z6uJ70zI)aD1#9`B; z;&7hUi=>om`$7^+Qm4wpSjzwGOl=|>QERk57bSBvLtXi?PVz0yR6$yaJayhk6A7#J zJS!#50ldpvZ6gAdZ07<6OQbf@XVM~Tazk&Dp7NvA6Bt9Mh=a|7OWx!`DV0CiNdrt7 zIo@BD+_W1edypn4>Eug0`Qa-#)s-5n{DvQDG~7q4wr}ZJTIoyh<_OsQ1!vVISF0e5 zsm`#a^c(7@F~FNYtcfshXWUyLr0WgaNj(^MsNu|Lva^j|BVTw{%Q*-#qLI>k@nkwh z)oSvTYc(STrFI!`1)g#Uk;XJe*vss~_5uOd?rui^*u7dr&xudcu6r!6UU~N^mhsK|=@?wZ?MW;*2uKELQ8IQv>RyI=L=9^cGtc-OTpp4jw+he9kEXt{a=I zr_Ei1H%QzC8kndQ?4blLSU}rgCBZEOV}Uz{s%Gbsg4|<)^YUP@vb0Rhc6)P+@GGD0 zqq`9+hAKUo)*>v+UPzmk@&wgcTi;+S4(3XkwJ_JEg&*DCX=$J#?BbQkn1EAqruEJ_i?o2 zwk$wV!rj?+WH04RW5h1(AM^~L=4gayn6NUN%^NS@=1T)?~o-*%_sgKrB+5 z$x(bHDX009$Fv;Cl|Zd~@1V^@z?d_cc4exB?LpwK{;0=aBuRa3r^vMDRs*dDS`D-s zxNtSl#+@(RwrM$QHPC9{bJl>~h^sC>_X7-{d*v@^O&`I1Dkpr#qqtApx>Ejm`0I5X zjXcIT={O>BIhs;{ebDEex_RhNj&2DxdEUo6;UI-iLwyURg5!Y?V2no~6hkP_3&H@p zdLqUVf(~EZ*1T$he)c) zzjVEbEctDC2s_Cyxx^~d>^O|0l~PGj&$BS-Bj-3hrh~KaAOW19lW-ddQpGt}U?@hy ze()4d@JG6GrzY^Bi%twAiqUX@8sY2#T|Oc|$D6Rd{sLPo6RK>2K`B;dF>qlpq@=KZ za=0#F9L&fjmwuLy)vWGqtDFhu$V`ZfOFp5qha1c%sXBy}4PzRSfj7!a z2&lPTRLKro!?bIokP|Q47P0OzeiiW*b3vyQZu^H3y3{12gcp!xn{;}tX z9t=eJ#^d$jXnu8lXV7Oi5F!Byz);7-P!=0*5J?{px3@2DZn9R|0Ad9z;f~dCYr8&NRHE{Q$N|I73JrE0Z-~G`N>MPg!dY4TgpGRnVjI~GA-NaBrvKH zttO2;;-pp84C%U-lM0_z>jb9(Frldp-KM>YmQ>Z%1b>5voN9~8-*;9Lw5lE_Fs7To z29I*Wr&sWc9FAp?WI~Hpjm*Io9)RD6Q`u5k-qS8bO z&vGS4Q`<{AS^xlv#1^%w7cobA^{M{sFOi9HcxR{UTG(xFV{RCnK2-h7dQ>1h=~P*I znQdz2pbj3=BJ*%$foE;kEZ6PZGNd(kN403g;&9WnLi8p(=$85&zA@N4eE1*}dmX-Z z3m#s_84g!h*G6pN1r;QS6)GeDnDlmLtiv=gTVdpD3-&le_iS)PkDKWXmIj9o9c1w` zShj|nwje=RhEYe?z2S^$g3f2w*SE5C7o{^~c`w@8Wq4vw4Pn`*LcwWRstK*d=RZ588uKn+D3_-oMy^ooi?c+Y)6tng#YRvX-->6)c_A5>^bd-{>bgjF6_-S zB@l@-62=r%GzOurxh^}<>d^@$@JUm+lLk)&V)w}gqtQB>f38Iv}0kAYKe#hnl0N;zp>5!omGg-`@#sk?H@M`to|Kc zNKyv<9et|rd_G>4J&*osb!Q?>dp%*1)BwCY_cUnNv;KZ{BMJGe#v$| z6`2YVQ0hcTjrl1kCr3*3=Nw|bXcU-wM|tsh0A2P;x)RFSlY}YO9E*-RB>U2*PA>?0 zcgNFX749{I#$oKU3b0zN<1GbeAY2FH#>Y};5f~(2)Tx%P4eb#`iZg7I`;O}~Eb;7+ zEUMyeTY)8N#ST#66;!0OG2t}x68uIuavFkEL#PHHnpQK+gP)+vr3s{wbW}E%i$sx8 zLsMH-hqskK_rZYx`qnowW72;V@)8zyR%VWcwF=yDu}}>0$WfCxs}x>bE&pc_eWb9$ zZl`3Gmg#l&S|LFi#{9=~IeapQ6tqKmYA|q4Z^HzAE3}j*&L3zIEH{qUbnEC+W~gqgO4dFyqs9d{E^xZ9F0v(M$u!fB%EkR9fr+|^2gaES4kWHHgTtjv)(ioj8 zImeC7pLtd15Gb8p2G{3fs(dhN)bt>DW6>uID#7lsVb+)SkqFXVX4ohOB`iIYat`xz zww5p;EB_$>8Y&9tFc#UZ@3j5VJA$+cswpB60Vci-1Rc~=y^M6$#mt(0MQ4`K@w>}* z&o@HPKVXG+$J;((j6A(Xbk!J_9@har*I)yVv}I+uPFt^%fk$Cc_$}wN2Hx(HEx$wl zg}QD_E(zi~dCsb=qx@~xZ--R@x6=s7^&Z0UNxg2rV-xb-es`)J=`q&4kOcKl0i~ry z1iU~oYLbL7Yb7N&|0Y3Py&)S7;C-c%(-1w>NZ+E+dAz83)=XL8JB`zahdXKpHS-w; z%LE1%AQAXJM+yzwEOYLP+=RLWx;4}d8T~@#%uwu}#_zteJd+SpX$=BV+^$~b*%N|w zVA;EPI#C(q2GqRgmM<-5^4*zNIxr<7^1;=HlF_j-!eufgd zy2?X+D%(Vl4V0`iT#lY`yg1V3UXaN0ODHA*MneI!U2p_(BR8{rXd+4K1&c)<~y^Y2<2B+Md8n|nkurUdSp`6Lzj=c-nPNE;1b zI)(mpID?lVVP1hIPA=6n zh}@l2Aw`h;6PVHgeDc5=kpU9?4>hqO17WeJ;z3WwWlab5Fc?`g(Q)! zUZH&WG7>@#a-&X)UPZigjs{f|JLl@jOqp^^dZ{rvJ0GZTD6_93>-QVhV*adXH1zVC zDC;O_(A`Wbq1f-3A~Z_gn`u7B0c{?U>q|#&3xM#{lJUw6HFkpEz zkUkiJ;Wz-O=2}PD6c!6)D-I*sVwGnWCXw1+C^Hn?AP0#Ot54qY=rC`I@ilaDrylf# zG77GT;K^E2DE4@eh!^f2fvwSWOh2T#MkG$m5uc5G?ls{EEp-eJjLPUahUvVE{KR1q zYeNNXodPJ@Oh1C<+6WXuI|oMKQKGAGVd01O=S-jZazDE#Lq-FVd#wioZ(Q6MKa+T@ zl2Jy!XxK~&GEQRg7!fmx#1E+KFLv55?HLaB%~7yT>*0z%h#nH%Dq)`(%GTi7IgA|E zm?^yb+<+0E_W`!&QLMpGSahIZI#&!X_d8nt3xK6o%OoUGUUX$VBEt<9LWH(Kgp?@u z^JZGT+@(jUawjf~cX5ST*R_GrFJC~Mq;z7ReR-7qpqC+37d6~x?{M1mM3fLeg6Xq) zNF$Q)Zc^-S9AoG8Vmzq`GxDzlFgouytb4mB8S+W>>fm}pJ-gY(Y7gy~9MEa}0f3RU zpoWa8cYkDDWsZIKZ{Auaz(g6V|F!4@1iorqC1{v|F19t!Y&W?&-btOOYc8i-_5v4+ zQNCxei1=nazUsKt55W(g@CQRJCeEuH=bF_Zz5(Ct4z~UMkQaEE>Nr9RW-!P^Z;-vx z-{)k+vd_P$Iit{s#n@MU`4Dk)J*(|`OF2<_UG_J2_~9QScU3^O7l^Z=v3qyhSliLN zBgI7nAF;CB-al##FkfGQx4huLoj*kz?z`Fl>?DE`>T+4XU>0NQhtzpj2*_v zd9Jy5ybr00b^wC||!bq<){4xU{Pv2|>oDX-eH=s}@Lo`Nq$nuARHC|tJX zU4NvyXHCOWJipG4FzQfliV!*cLdirmZvk?}$nnq0ag%l@_qj^hK=zD-oPIUS|l!6<(6U_RaDI2JvV*$rHXZ69RTt0CFlgRkL8tV$jF zwm9(xNX;Habb?@%P=1nVnTOCIn2~&%6042J-1)vll)@BR#(AFdQW!^?HmuIXB_}RQ z6+qRMIg8OcKX0}whCzGLa_#2;!uV0G&7{N!+;8(GW31D@A_L^l5K6p^{=>|Qkf4$# ztF<-ejV)1^rM5`aXPSQo2Mx6&p&x`CFWV`y&Ya3FjS(V8L0?4e;)m6PSLtj7KHBzkEwgQNY z9=e_U-qNYSrf)B_+@LpY+`T#n0CKBdv&6CSyW1}3JvNBKFiwDyCfz;M%@aClw zrUBm?l&;MDN>{&-sij0*RxTxj{iMXM^+$BzXmiaK+` z7zzN=Q~HQ^-HjrykS@nt`oPVfk~Qtnt6$3Ms7vx}Yal4KR;iekFzW@9t@9rT(|)?Q z*;ty7iCNKYeE%%zPxF|4_t|1-b&bi|6{_gS>RVf8N#kwAuz`|LG!a01Zw=3 zF!4{mDTJF|(b&uelbPn9)Ma!l^@G#VvXunoxGgdwery17L$0_+Weql- z*%3P_k)P5wr_((B3)q{Q=kn@c5se)C3GfFP2{$=_A1t3Sl0k>UCPA+S`TS;_c;h~fgtA!!CNptds2MHB<#X?PERMrb*cSHwwsuMSF} zshD58-5W5V3Y(5!bKVwlP$J*FpF!EXmTi5(He-FK)Ck)~j z-D2SavpY5T_pvm-{>C|m5$-ieOH#d3Mp1BUXm}H1o+)V051+MB>tW}CSWxTUsxMX> zqSWiSMXQ(jh9zyW#_#D)e7_G}6m-19AqianWV!)dR>(0uE+#k^XAh^qsDY2ms#^2@0Q?JN-VRMizO}6X(-OT_{()Bw!$3p|Ra}DJ8V@;8g z=0F9%@zx){*c>qkxsXt35yJuM{3J1YynAfUHqE&+KbhEONkS5k8{4YCsgJ72DNnnA zg{vH8!-VCtnc%N-dsuB^>!_d8 zBR~{!a{R*iP-%~S1%4%>mfT0;=Y(OB-xJn^Q%JFiP(eB1=-@TkZuni38?n%=j!bAl z0)*4}E0m}3J_cE$td?HrC}s9dMy^+8*4RtB_wYyI6b3(sifuRUirJ8#XE*oTnl=aa z4jj~){B0BqHv47ws@`sYgPZy1wAi;KMghmeaZ?eZO6`2{ev)Be8Wp0?Kh$>#Gqb+f zmX6l~vb+(tv-h5QvWSE?ngDd9((dnz7jKi}l zLgJjJ2QMR4wJy|Eiu?7DN<)OaMYl!GVBFYd{Dp`#T@#ZX=;Ohy<=6_}2Y+ovV~@hb_@y;$jV+{bUQUIkcz$_cr~` zQI*Ptl!D%e?!1PG4EoDd5%ISfYZHegUe>ZNDNGMHA4$qVyrMuc@~dz-FiA^qDz=o{ z!eaP17}rLRi0`3|lRuya(!~;4b1r1kv4aPYif&<)3>wO8L9<*_>yz-lr|80Z!K1=c zzWKYpcn@1dFfkD$v{z@cWIlEG5*e>2Tjp1@wi0cz?&pF3E*kVX?idgl)kB4Qpw(kb z(5bH~eD|S_O*R(p&&TI(8MrRr)eVi^;1FSdxfQ05AYjd7W4+Zvhcy3vs4LW#8Fw87 znkmDEAs>1ZAt@B7k?N;aaKRNLp3yDRGFX`19J#zIe#_0i~;fE{DD6$NtOeXpD%Au7YrS z>hWDoUeIOh5$d|~mmHFDrr7Pt_q4RMD$j{79+%sFz;g*90$lia|m_dyI51#6#|vE+XZ`;Z^!$!W$Ryr1S9BQ@EN0@xP{n1 zC6F;$P(HRH%Uhc_^Gv6{iYC5CEiXqmf^`@BDAwOMf0#ckZ~$jDQIASk%72pCHpTgG z;;gPC;-+qhf97!WWBWV>rTKCO%;ol>m^DLkecViWcMHwbbO+5$%x^F^=Hs4^(&2+5 zaD0bCL?M&^z@@PE(sT?c69IzZw4BCA@+`o4x)!uP)Rk+BEOl+Q7K|hwrs|n}F_t{A zU7Ui^lP)RsW7#QCr}4xgGW&r87HU!KPb2|~noWXoAD)9@P%LSEhqRhY5w&fweNNOI3j{G|Q2t+^BdqMH3qpdzT#~2wb ziE1zRJE%_ZL(i1RRP-Ezg72rkmC(e<^z`}qt+17ov8jXmy6U))B2!5p6P?*THTW@m zVLqAZHFxX=^s}*bn(ZHlxU#dc*wybD+ zm9SroiCV&y{h}&FIUwjs)@jX}DQT^tG>+T{YMFM)0NJalPq?|c(Nkhu8t|8iMRYpe zU&J?fZe`bo{r&a|^{NvIp%Te46*5LIVSWLA@0+_lpl)}SSOZc>abkKAm%vRiCP1HI zz%>?F`t(#GVs>t4XXd{u%ggB=Aj<>UJk8mlEK7gBCI!8heP;og+GZl=5roRdN+!YS z#n|`zh#?JneHZwm5oOmY4uUj_l`v_-=N!T$_4BzX&aND?1Ct1$WFr}><-wjSH^2}s zjsuD-lH?i0O0F-2$z{nC5#|}BVBzS-s|6Z_I9cJ;peS_CM=eD^slolmH;K$nkA@ZE zANwr%MX&NQ05asx2sa|pjl8R3YPK)z{|4ITu1X`SX(aKDT(0YkV$I*PCD2$c2gO$0 zb1{XdLWK`vC+}Q`S=8X}b8;%-mcKlofxuAB2tc6YykMW6n8fr)5 zM>xa@%C;gUOmvnwbkCLo)eoTkX>rO{SVSX*rD{HBDQcw1!V!ZH;K{i{Z1P{J6b96e zAg(i*uM@ol50N$ALhk#ZSeX~i4YBc9BnvxhC;1@|U{f_&QZea)MfTs zva_nh{QN8!?A)(&-Niv{3JdUVv(y5nF{V6RtcwM8-$67_^=B7|Lw=z!64b13eZ-C6 zwn2GF(RN3MTVCEau(G4BbH$s7dc4yrlk!7r0aRpwjj1hLC1JP?bBaQ+yL;ux|n056@27h@bT zQI@H69#4wzSV1;#My0da_7xm_c4g^;aDh{k58wZ92G;bjM9PJFxl6@-!!-Ja%vhs zvIg8%u1P3&4fvfFf6A_99>^A^J--KLXbF6!@6^&b=*Hs zwe7Sl72v~4Ql-9;;1j-twViNGy`CD&pFDFXMi5&;Y^s#lBFiIBmwT~s*(e9LP)dxF09Ve@@PrC@32nRTT%z<^D&7xSFAn(K zMv#fkmzE|`a>lG~b({mGWXWS)YaHaDamtdnceA4I6(bUX-LTX^Fz66igBQmcf zYH3SSNvMqZ6|odN)#exEzOKSA7Z4BrP82|#oKW378NYNbBUhheG@c8AZa*I$e7qwD z;PHSD?pz|%8Jf35%(;p+i2lLNoZH`*kK2$)!QZE<5L;QSbDf6XtxucoKd?XK!N7-d zYX4H+sDI^`O$25|ma5NS2%uam>&Z&aMd%9J*)87-^(|c>s+_;ITDwtXQH82i%Wa)C zidP#hnZIMuqr4O;Uqo^Q2^7i+D-K7AL(fHv=54R9x7%0e(8r^v-(f(BWEfNa>_Ifi zgT&4^0_p3~=K?xPx!*``N>=m{ic*;IX*^JFpU{ZV4ep*`vwt0Gzc_Cf6b%62;KlW_ zQy}sZBeAZl8*5$a)^s&A4(3C-_Vv$0%c2+RLb@Ue1Lvdq)tFP8=4I_}rPt%Yzycy} z<3+9um3hAu8>L79u63})>Cv}SQGp18$KONbwXiY1k%A@hlv|y_LzURbZsGJi+gcei z5n&0@#YQ$?3?hg^qWSs-bX11zv0MVUsZ#9>A|-^MT#TFBI(XI3Z_w#fMQTChu{eG| zto@Ke7SD6J9>uT-l%JXj0h#d%fr64xH#E1i8=l172#{uMvwxUr*()n6PrQTwBZt^S zQf1;}>`p{wWPto;;i$?K4hq-IvVfNEEe<#o8JB2MQcV{UnFnX429C1fglS&AgDsn$ z_BR1+p&H-s5bz>aH?g)a&&$S9p(LPDsd{UNW#?RnV`;n=;j0pfDX@Pj>GU@1`AuNU zdjtOfK6$b;qj66(!dk;qW?Qi~_nL3d)()f2N+i&#_om+S3x=tVg#(W<7Uk@hiQ>d9%1wVYF%Lf z#wei(Zz%p5je=w|ZKtEam?|s*j!bpn-rM)VX2GxLseCKyFt9bR(iHHGm5x3}C~a1p zjS?dF1<0nq?8h5bEl*RoJK`Mtkq;X7L&^O0ioK4d5U9UkI2?|Dka6VVPHwJ*gX92X#KS9KXL>W;)&Jg zZIDu!8s~DOmDa)}3L!HpiYrjI~^kDguDThU~RJa`sh3P}S4J>26 z#b9s?`pRNS=_XwcAAdLK{9A7v&`h7uQm#~wm^f4Qc{HTS9e@~y9=21m zfpiT*qnl6k#-EnLa(0Phe^^}BgIdQ&?J(-?zqn{&tTo19z8b$w0! zwyFj1PYqXb>!W8-lK>hPekLvb-m`0KoHHhZ{)Q6b`Lq)hnZ?!8TOIKR|_Bl4o?}J>Jw@jWcD46yM6WD^$)sZ<@o{|PPnd(7)xpgdqrOS!!?Uc{b!i0r z7kQ`lrrpURxvY;2&aRWxu*mnlq|QG@pBG&RBJgfQ@>BHiMoE}uqjg=U8s(WE<04ap zZ__~`$X!PrO?OpH=kjqP*N@*k&ncnBb!-L>{6o6-)^u(Uo8Cs6KGe2^k>iH?Q$LR< zykt_nZ>K)jzsAE6xBf(IUEep%wp72r0o=$#u3k60zMhAjfTpvv zQRr5Qx%)_%nH%T$3yJQYQ~f)PY`XTRV*76?oe!LC+o0{Y;88-=ONv^@ZNru8lH0wX zeXctX;7q~BGEn{_llDEi4pX4{toS_W280kSzd4&Mq*#IovfpL$NTbU(d|-DJsFF0O z$+u2d0XnOj@fr(d6w*!oM}S{4zq!U$UY*dksUyN;Qg;FZ-z5?O=y*J9l?ceu4U$Ip zvNKofi-=>v#;vU07R&-7%QAf$asW>&xn}>yo{Ttm29Uh>Ev%LX$Hb>8wZ^HxQqLK) zV&*^q_y$#&%$=Wioqx-3IbEtiiUHK=QtQT5gIiMT<(QK8MJckyr}EEhggw(8JS93$ zp#x=#(Yg7b3H24byDJu)G;l6&dtEyr&6fR|AHGYGgMm;F$n|7oa?tH;VCsl_F+$M%CIa1Vt48KfrjX_LT; zeUDjR7(}dOdO;Ec)H)znG-}>IYOYtRn8boHIrrcu2DQTQi?t1;8B8295aH5 zkC>hg()veNWHA(;bwLztrh=7l)53kPXllMsqS4I3Q2m5{?JZ@)xJ0qo5lNFw;s6C#{BDx)d2ySKF+> zauWw4qXmp8`E);^T5QZ8tUyR^coc?_f~jkMBU5ir?V+vFuFVdLH~2}rgM#C$GTaYMTDuxn`*tiWhDFVF++S1?pB;-@y`~!=|$Z0w%5iDLsj0$2Z zqzH!Q?z!j>ZR1k_M;qDhn?kU3haKu3MwkDxd zpWa2l1~@&WL5q?A5RkQGBt+Qn#3DarKUUJ;pO4}(oc&i30gB86+pyHkah6ka6b5`O z9P(DCV@{wTNef+(&`PFy{96I43zL04~PzIrXh;k@V25>`zW$5aN=JScz zR008%LLd|8EEYu|EO^V-3c6g`PEY!vq+$E-j9+R6Pb2Vi3c9BOKZAhC59H-+)kk21 zR(erdbbq+Vc!UBLs>LZ2ptowR#1P$NSyxO4jGL~j?=-k+po0{M`#uOF&^`2olZEG3 z>U%d465csz^P)LrbV+`&ONf#qIv6R(6BV;Rz~N0gNRb^2o}@7$EU7cT<5uMSx-YM% z5mB&KUPf!Enc=xB_mt^&I4}#~fKd!r3ILS`WS&)vCEr+RBtcT&_Aw_krG9bdK-X@Z z7*yLIPy6(cShdkTHP=rYcAm|L%pvkSyW6qxIhZA!h-LF=HNwUuO6j>@YrdG;hZi<5 zMhlCL63ZhV_`1Pg+a*K0?jc;NQGx4n8KSWuh4+@TG1J7tt*rlaYI1b^nnx%msG+OM zQI(2tkrg9T#7h=|pUmu~@n} zDKK|NsICp1%ymy!2Md{Kw!;dgaSwM(eMsGVhic)g_^SIQdOM_jf2u?F^s_8&Du^tV zZ=(GnwJb!S>jPf4IQ6X!MZsv{F0At)4YnLZ;4@9HUxISBN|ch&Ap~}3NB+sB_pSilfF&p^%j3aeW#)+ zf@)De1H&ElhLY$*?ts3u%|^)5rZpY}DTbzzE-We%pHlS+6O;mO)%(`n9fVMFcN-%t z(XNLnhvLz@#I7lkj|PdA-)_fXN2V2RgbN+j&gSL|2Vr4v9YTwfpUaLW;j0)((ubob zfWq-LZKz*@>)xl|#e4Mr(PfA?}+56P+~T2dTPPp-+T@O5fTo zf%&A12weJ$nKgdcm=n?boQ@tbxn_BV#67#{Y(C)Bzt~kUL6{P4mx8`hcf)Xlk)`%y z3H;XSV%6nV$TvopRrbjA`$@NliY%A@grzOK|3)B8)nJd1aKW&$iODc zegW?Kj4XtZV;OTe>JFnM7Eq8sqbha}pI<1*bOTg(GzlucftLP+4(Txa#lTAiTMY63 zTp;9B18AEri0;5%Uvp;DTvO-e+9F;REeGRk#5=7P6GF-yAghAjn*42X{nBG%6Y^vo z^Y;GHSt!X8;q^c00^;f5|?(O`e@n9 za0%LPaVDxT%QP?jdN4fEE#o7%_vaqnxrJC>k1b1YoYG{%i|}=AKdI||3#2D#*tTEF zP@lXVMG;&m(F&>hfb$SS9+)IFrbwhxm0$Y_nksTK&XsfIB!Pp+_z_G%IX>2KBxxhm z^0c{V4cI;d2Cs*+AY63lIr85af?O+NRUNyL!@|W{J}@%VVKeb=W->!#Z`vhd%;oTz zBP0kmqBRU-q@nF(u9eJqTt?4@;0A@UdUNp-LGl<=C(7r zCLV;ornSHu0v__|$MBsrGE}10LP+7&qwd5d|{5d|J_0XH^{Y-%5Ze>l75R<1mEEpQ3NtS@me zNQCoeSM9fDSTH)2xMIFYdc@2z8!xt%1&dfk&KhZtra>^zAdLH_IYLd+_$*CiuWoWJ zI~}}N3G%^V>xflp@wzZHozSy+*R2Ml^Ul)7HT%>dcf~EY{EZCiTrMSPPY~Elzr7ng z#B~R&c}18NJ-TUsBK2O#* z4cg!FulTxlL*gi_+HXUDkb8JiJJT#{t(j}u-7lbLW>%&JlB6kYIV^1) z&65|Y%FEvoIb>-H{+LSoE{hDTs_mJ%H^K)7It&PDJPB%bC}mrPbA=tB%cecZ^7ov!mD2H-PIH zy-ph<$6c}UqPY9!uaPKJZMS_3z@}E_{=_fXflSZ6{qs8W zUjy_%zPir;EWf18=N)-pN`7jtA5*E-4Pf*6MH1hi1QbTKX3j>NF=epJ&B=EZb=ACQ z^_3CyAqrf_L~VGSId~RcO}bs45OTYY*=0E~JZ&~}{=#otAqoQX7r6M1TTVeiGM@5d zu3#viwsEX+(m#2i`KtNs(rr23kEZ+c7_sYo$?ML6j^C)_W`Z-rFeC~|u1jS2VZ!Qp z4?vv#mezIe_4ep>b#>YI%U0@7$RckR=$7{1*diYo2Fy;=RMCPd0H{Wa4j0Cx{%#)WUzC-()x&}af&f{w zm;BLadS=%v@5h5v`+4J*+x|z|=cvvJp}?PQKg3FbJ!~)Q*9)(sHJw(kxM*s=;*YnE zCcsf*+K9_xLej^|1!41TsPr<0IgGWZuR4>Wfp1rX=^*aMJMPNiZl;^S!&%o24~x~S zPuG;~o}F1u*PZ$2y}21-_~&zxS7I*xh=;m@N;vj|N#v+h=O-!*j!ov&xc7(0TkWE58LITp1{_%=$O@xr}sk_bJX z+O%!WEZ?)b{eX(Oufl_Jq>!f4yb9}j~i!#Y9t{FyiMP{5?}$Gf~??#L4>2* zUP@^RFq38Uhx&a(=uk0@wC=vDyHn(2DH>yMqFY$`#Scz}ixHfg*FK2u)~)r=tL9ZD z8Eli3PG3yrFSuJTxv!UPS@&~C@r$lUZCB6g7fa0VZ`<}>M|Rt5V}G4DGxMLK?UbWc z!SBCCTaX38fV4+eHSW2)kKF&SmyfA~qH8b!7oAASFc$4*WwFw~yrCijTz3c0D(U(5 zB6jvjECevQSnnnw0ovcLbDyn^@ z!$bo$WEMHuC*IS^K~u;6K)$(1)aWmRh_J1+M z{zRB)UMjipj5KRFHn%K5l@<%&XyY^ZZ z=pckeHT>6b&-sT1qxQI~4G}h+d3(9#1r8_$6rC@K;w+VP9yEVTk=^4&N$+F((RyXe z+y<*mwD??}5{^n1k3+B9N73a)Y0;)<6vc3p$NSbzRODZt#B(tGqhrwy?IK2NN1lwr z5=4({(EX^$OLCYY62!A8kGHtxYNHUZKe-SSIf~s>*Kms6)oDL zHnxa0)2N4&NV%w?44seKB=4vj8;X8bU`QshJl zj8px;ZrXa2O7~97ZWHbhn=2Yi?gY%OmC4V$SlGEldc3~-6fXJaT$IeXh~Kd zV548svZ2b#5Fl+{&87#ceaR8VX|9mDO6y4x3f~A?JAqoYIE^2$%U(? z<>^AQ<9RoErRgz{@Gd$SOvjsMd&~VJEj1-AJ+Jko zUoD_OCztjoh(U+qHW!S)-m+Q4@(^L%9vUA-nw#p7P3#EStASj4Pmk#*iq_(-A?s8( zkJ7@|ssAq{sAfS^Ph@0F!;YftbXkOcaOExdcIeg!a6K9LX`dcp-H6nHL1IL8i3ipb z)O8y$H4)ju&)>RbW+l*eLB$ezjRjp%t+{CI5N+)IC$T1_39-D+cblBEOX1Fh_k`zt zSN#iOL$Jo|x>3g%2C0uC?sKQ^Gw1nBAc~#aD$r=xBArvo6hi;&p72zF*4Itgnv3{S z9c-yft@kAEm1*wDa*yK9+-;~m5IaoJ!hV-yW@xSZbN`=1ELR7|*mz;U848(VpmC=N znoy-ZkbHvW$i%QG+5Ftg*!tK?gV-oz+^)iLFyatsite5lbxJ~CNrVqb^dQLsu+^U4 z>9m}YTDi1|ZYlgkYs4+$<;DL=Gx|PpXGHUFV9vu=UnOY z=fs|q$>cwQz{gGmc<;*n_juoEjc+wC-M8zou4}vUptkY_w5Q`C!1JPx+ntt^*OgA! zbwRUC`=MZZorQkAffz_fBEvxEA1fVhcjxc~7fG-4y{xwx{zryV^Tlp0vS4n$OsDG+ zTDwE~bax#}9b0Nw0nQ7)XXKRF|8uW<)YX43ADzjwX5BA5)*W3OEzEmppLM$4tWsns zc$u{__@XUY0!+Xx8M*R(zDcWd!-C=}T{MUDb8qrX zDc2)KWcBTM%N=XU6y{ioizP0QTIo>aE6Y+|+K36MyK`95%1b+4S2CPBKF<2Md2Jxi zD3V$I=XvzR3lO1Lg`4}&ZRloI@UiP3B1w}~Gr!kVb@|p(xo~^+@$snhiV8>>JN%Qc z*?8|;)qbIM1Lm>wVD+|C@(m|ZrSmgq>-~*#iL7GlH3QLc%X$O-k^kW&%d1Wrc4+1N zR~qjeeg;8N{K&s?fmYmS&vUCH85v7tDip-Zbf^Mkvh}p|=^9TS zYt%hbKAL&zKR3c#aa&Ru46R}4zp((iCmUCD!nt=^E8k0a*oYA88k5p-v#_wRh7D`O zzLk=isxQ(rx;$$&ee`8;YNxdA-iBlVZYc+Ale9&5jvf&*fOw?$U3?XcdbLd}B zDEP+{(rSuEwDCf726@^czF3pOiMhBw_W++;SuS(9_T|RGcUhj>eypr@>AhRni!#2| zljkMQV`tiT@}F;BSzdE@49l%zal2f*tYFw)r<2Fn$}=h17e`z6dw}=5&%Uge;TRkD z0&YW&ylzw4YMZ^mpH>|zYC%GuV_k1!17F&Ns}&g&p~|3t^`mTd1% zT7j`YEtFdg##_W=v6Py;3F#SGXIB?m;t`J4M%;JhojtrDTaFu5ou6Ib^o|P$)LiQ# zOKW5%0?L(n8wcHUnjPj^12pgcHMMeOa5yLJ5>}^&3knv9PoCEZ;QC2_S+8S1LZS&4 z@AHr=yjR}6qISc(LUvNp&nNjNGn5U<6rV}yK9l|pWa!kzW7sPrzHG0fjjI5sGlG?& z&ROPxNcj|h#jilV?zm?8Madp!GY+t+DSAH-3AqdTdUOxsg8oNZ_3!G6D!Ol;ZZ!(0 z`1zlW#;TOfQOx=p%~hK#t*SRo=se@qubqtAmnycDJI~g%rn-6_zWe6o4L{#@Z9Roq z@%o@SQi$!LWs|n%&7q=k6#aAg?ofrVJP(~&R=y}Ek7m`D@{~W59ft}uW{(|+x`g${ ziDClB&){36U^Xv*o`boKbHwDJ-o(|*g;T$BYCr7nPHKdga1pkN)8*-mhA%(0W`RM2 z0T0dC`x356Vd2)p(tn;+qGUBw8vNhJ+D%oBf<6tjYLhO9QehRsYnR!Y1CRJ1FEjaj zg^Xc}G>zlqO5WqpkkNG};3p$j;ShqCF@e#i>pOWApnYm2-zh5c_eS$gLRB+)nj&&; zRLPtTkdrDd{*2ZTbR64185yk#a9@Vn>39ZvTS!h1h&Sa5KApOVu`kQjCaV;^ZjI4s zl)wX5&=)X?e1ATr2m@%b9m2RD(>N zNjKFpbc^%HN*qb}<$|~AQa7iG_4jSm=giI@9A^~#T`LwZilh>3X^vnbqR#$?-_9LYR21)uM|M?0hSv@%E~Wg&406`SZhW~7wG#IJ6H0uaVb=&NDsg` zKn6h=8yhi~mX(z)m=%15il2Ft$F6R!DF?O%nia~D3Wg@u*TYZEY%$hi3ldzNd_AIx zMlWQ%7cs16KZk!2!5Y-KKyP#TbT#rKKYu9ql>}891jzMD7R@Gn(Q7)G#{|$(u9BQ= zIHET9k^KPnn)OkMF>Kmm7S&rLTS#@?u0_eLV+i#X=MrzjDlUzVr?FsRyASoHDNX!U znop;iC(qsJ2WQ(`>q{gE!!{FilSvaI+KcEewOHEl@zJSYB6{y17o4^bz|4tq(r*D5 zmYY}`s<|(w8v|0KQdnHWRMdENg1nNfw+)@d#fArB;ky8xzAp&gQ z9hP=)!wp!j+yMWNs&@*E1lpQ~V{2mDp4i63wr$(Coen3qZQHh!iS1;P{F(Fp-@WJd zYj?k`y?52BsNcSBYLy*Xb%6bLtw$bSjD7Q=zxIRl$IGM~(5HXa>AToIFiS$N= z-3L^E34AW+6B#?tg;N!N*d~_RDDM6E_Y3iy)#sy{t!~eybxj(D8jU2Bd(a?I!3n#j zze_sH74$ov`XkkTUWawo&&9pXpzPLU#7HEoNZL|LNUHLMmdp=#W2b9BXZ4Xtbyk9C zJ$0!8&aZ=_XrIQliY{ZcFNCdb8AOZ`^OqOo|KN=i<@rLM}^tv72w zx-WUVczFVTDWn7a*&dc4r{3G z#sz6VQbMec{|O81rp0Ts*<}@zqchy52vUeFX7K7Rxek87dIoIlR~^p5_|N>}oyLGy z5K~c>zCxJqkbWs!ftb~HeQysXoOmdck!7iZ%O(n|gwhY!%FQ76XMvzt+;!Q4HKgB_ z8VytGsktOo(3sg11&URQKWg#a<`M)bmjV^xl8o8<3G*~+u%Q?blO@_caS}%8>?17s z{5HkK^Ty`86#eH7h>0-p=uW8fQ`U`5(W|?R*5eSR`~UCV9FS4~)U(~@WpK}fs1_tv zAeb@f4z_vej6eJ;XGokRTZMhbZ*Q*M!E+o6*}o=q2sz^Hu$UimQN#&r7W;bI{?tz$ z=qxDi>?R#xgh)ei47RUYTrf@L>EImdt6tJKJ*A>h-bC%FDZjnv;<+b`;yONR;h+ujOXD zS<6Ar`n)Z7vFQ^SnXQxA_>aqf{sSnl>?Lwb;og;+8QT1n)l9i52W8foX@^eL4nu%n`fC6x8Fnev+to%?!Pv| zZ-d6+wL=tqE_`TboGh6J4w;cjE2 zbe&fQfInwr$5urpb>nH~-z%IiD@=;8Tsmu)Ze>01-VKe~ahz~z;a7Masqr%_-=~0t z(DDUMgh^UR-DtLo;-|GOF}b0YpLK9DI8mv1rNHNN zzZVrg80yz=_7k4p?rgFu#*$HHX!RNih!TGzs5;c2Zq%@1vwBoT(%^yEh0m5W^Y4+j z-70GkAVEXCXnj=0FU!ty&P${Rm9us-u%Nubi819m?UM=s7~c%;wIi%LKUZ(Pdgrw7 zPMN|QS_SQMc0SBY;d?wNfYG8yLH*(jdDM8qhLn=SrCp6&TQ{|=12z_H<2rWtx=lnt z_6>vtRj!f>0x_}J`4J!WgzZmXEhoq;{YPC`o!~lEm1DzFKOv`}Ag4z?3V=t;8r;Ms zJJhW10Z~}fF45a@dP6xGa-%544Fc=jtSxI5X6~TwisBt(B{riU;=rK3XhBx~9ean1Zp9J3qQGZHIXZRXv^E}tqp^V}mvoKly2 zd{rG&PEkeU2@z%IxjwJ+irJhmOy|O#DGk9{&9pbRO`2YFu(rfLeW_D%yq{pR9u_~R zhquQuv};YCuN1aqJ0XqZZw*UwI+0YqB1P>kxnTUK3 zCx2vcOphJX88g36!;Q4^zb4*(W$sxzD{SiTNx#3o=!nr3=OJJYVy0F6?ktpmbj+_y zxzF>GuNAZF&hx8p6kb3NM|BlEBw`#Y@^zd0snLl{_>@{ijt<+H^^OW_6dLU7P0@N=K!&tUw`0FifV> zCbcdzX~|yVl#n0*wKSttV&8==LlP{^nevV0oMm z5>0XbXZzmSfu0MphpziteSctov1pn*4||Pqb`Q zJSy#4TtajaYTIxck|W(0h0sD_cld;1J8k1r#}uk0b-EmNQF^HLc86d8@qIswh&g7- zJWe2l*7Q&O}^G zPxs5eocGdYE??sF-dxa-K|vV&%(|+sRp*P$iQ5jPO>bZ^+mn8$U>DfZ;p&IrWRb;i zZY*8AMd%xxQmyEykoqiSI7PONP3$#i0MMpRI8?Q&X9j zgVpl%ImZgK@EqyTV6ryyvZqWKL+b;#4v4$?`l1_h?m#I4Dwp`}H-wG0puZAj29)A> zSvpNWw7ZVCAxmoTN4xD~8aQ!y&Q$b#)^=ZB4nT?<=!s+0XXlaUrIP4a=C&XDtKSA(rKbQ?@9J*jCU z&ue}wo<)5z^8aE6ONbZT9ffPs0b|)<(Tq`OaNIXXIVm`Tbe>5H5?ZBJbn#kk?^6fO zKo7&47(U0cg_}lKd9e5ajNSzl0&RB*NjFK1+!&b(M}~2R8_Jijkm|`3ouJ>p6&zV! zIlvC-JD(E9!nR0-CiNg9J|F%jp1HWpyky-BrLgr7qQpH2b=?004KvJn&UN1wC!9)z zipaior*wtpD6n&^7l$AGs>TC=3d~gtuI7T<=W_~wYfNtlKc{YIh*cI6(Bia&2oMyT z1SgX{bg}+nPb<*rqcgS^YcrR}=XBF6cy~&g{nV(6$0|Ml-{`5(AEC9c=5bo@Eeatw z@;15>n>MW??t0T}EF{w+w+G6}^IoBDT#;aYtAFdqm}1%B&Y{bnUjd>xd#vpZKb?!$ zywzgq(Nnnkhys`dCOOE3-Q|igO$Zl*EvlC-v+FYDXwcDK^;$U9FHnnr_$}Pj$EAV zTF**!8&$1a9Z}Pv+Iqz+**UrAPM-4sQ!E6W;CS;r8zD-UMzdXAC^rbG{lrQ)5%MQR zs#zktOxFtz`>7)g&#L+E56EWQ4!+zdQ?Ze!#R7thb#7n5CkpzlR)bW*zDU0e@;rMuHcQM0OgeR8MEIMoHeM+x{m^Oq@m8hP!dG_?v8EAG zBrpk&Jx7ZP?AV68m-F)=-)1BHiACBPW!Wzp2R&*7iX{BX*Tg7>?b|_=NzB3^6L2F8qm zu9F3_d}2Nj%vrZFd?!CqDr#@y?;pKS&d47uplN31=d+WCwe!1DdVd2&>2R;(&pa>t z+zkdq$s*W&PRTGn)XBR`Q#t>2c&3@Z+j4v}AtFES&+Ma?%JZ?+HS5sDARa;(2GP)5j`29QBly$SR>T;%Je+^naFy zL#3#Ac{f%W=80gbXhedx7S&%iW-#i-GkuZWzNbFfSXo=c<(bo@j7QFwQ+Us50q5}q zW464@v;BGwoW5mHu|VI%bHmUBZC4SaJy0=<=!nNPshw5`YX>eu_1$>shrPPqq!h(smC0VC z?GI?0VT-H4%rV{82J zaQ-Q5cKurYm*K0@e%rl)nTjSU@_T$q36*WOIUBvxJ{ZfZlwR9qF-|V%(h^zT*x(4z zAc}EN1J}#&ykYhfGTa-D-n-jou8X;;PbBpwa#ESF&2C8@3wjv6hv9b2*W+pebT3O3 z{Mp^tO`DeA8-F)_?CzXJgv3A2aa;!y@!WOob9{S~Qzv|omJ03tH#*yg*&Y??un8(L zJD(m~A=|L%DC!`X2F}T#Ab#IakwcbNPszia?_m~YNi6%F-;eK1z*UNKmZJ)!LtqyA*L!RL{C~73|T~W0elXO zj6$+!8a_n39FSd5yJQ^!NafW-6!&Bfo_62WUz6NW)4uPAM8L=9e>sV2hOg1&uI))& zRXOdtPr&Oqh6z|9NG?a@t8+5HZ+OBOr~`;Kubm)Z%K%w`h#P&n(RDy0nlx6W=1LZw z%KQ=x>u7)I=3(8B#nMuJ8JVdLXrE4D#@qs$pH zC|Dbm!hRat^Uj-H*wCU*p;;QItLX^=qq{4KebA~>?d>BWAsIw3TQcUvep2qko)-z! zzbFJx3Zw$}qmbwoY5-_2*p=I(B+Gl|CB03^&Pfse1pGyp$x##6~qx z97?~bX1n&v!f}jB$CsIO|Wch=i(%v){g)tW{T6mwA)rqkWO)l-qGcN&xZr ziaK>u7!eCzv21q>;^H#q8Ewi8L#smgNqhggL}1WWVw|O}IdNDC1s>gVADK>WRQRuJ zWC`OB+m^y(^DueMrpeJnKhyd^Y;`cuzSFoV(xhlK)oNLE=x?im#sJ8yY(|iq1Y%#Q z>@r`;t7~NS+H21PULlxP-h#&>2EvG>TNz8ikzq)KUBC)#P0>)BcCr%jOHKcAvx7UU zVH+{zKARWyb?qH6i{d&jkvdV7qw*1u>uxS*^d8Io_O@`YT19V5uv1%|%iq`G_Acy$ zVa;>F!sq=?f&o`88yeA{kiDe%@u=lxr`b@fNdIyDPQYjQxca0&Xz4`_6_Q`<3?7-f ziXH!p4LsYRCNapVZWN&eOl(8ep_^1-4w%O2Kvr=%rcd=3J&|}iiP!*^Iq|7zG#vc0F=^QFZCCM6;0{Yx(Y%{8Td~(bC#|I4qIHtH z4XeLEqP5G?z$KX>{<f&CyeI&ZG>5*G)jQW7hzxBh!G zpg%R55fR}aI6OwGyTQR(ApyDjwt0Kbf%(QJ^$r5*3#RdXI&kJ`Ch@W)f7Xev0eRQ3 zWAnU}CY~jT_0kzd*JuI)9^+&BFa( zqJe5Y$Qij1TpCWqi?8X}o)SCDzBMi&-S?$VhomButx{{MetjOJxRCerW7W6q-DIhY z1VxFK)LrstwgsT+^UCkW;PX_M%~n0^`RC^Zm@PST=Gd+V9IdYAMGAx8*w)U+bJ-~t zwWHM6o0e|Z;`BEPVEe)Id1v>T%6+f)H8>F+cBdF29s94I?_gF3Z+Twlix1n1d;39~ z|5gvNJ$Zs^orJthvj)ZRiUl+j195y$mZF+B6I6>G;7#4Fr?4Q2WW-EJeH5!8b>46Y z6z1#XQlfY;!@_;7$^C+mM%Ms(dJ_s$f{J^S?r~G`!{{q!=(?Gof61w; zcxQX|NQ;4slb!rBw=|qQ+xoQks0P@O<0NFGrYv!`D97UX!F% zz+AVP5XJ17@P>Sh!(e^*n_zw6Xp<=}=xCxTSf}TgH2Vl}!=fJc2xe|D9a7RS5McS0n2{*Ra@2knv8slx;E!6mCaD0cXmnNaA zWOjXppk1bZl_J9!D^htbcK6SxiHP)ZYiuUX1-Lp>P)hjkM&%(pW)nr}lu^7M(?9Hxi<+MQM_(J0t6aRCs7k=*${0H{RJ4=O`{QDRR zC@7ciNU8;T8KUX8>=!V4K9?|h9>}cn|5WeZkl{cs zKecr{UA=$y4R1j{9U?zHVs!6nA<8TX29D>d{OmLO&5R;a($7UEz&zc+WHb&ZacTyE z)+@NIG8luw5fMR464W#+tisc;fK3ZqdvSFNz|2htn2Po}7YMqeq$N7t-wP;WYkk{F z6Y5B`(ZD*5ZiS~Ri@?EIfm22FcjH|Lmo#`g!&y^{@_7y{v*c;uBh#vx=>9AzCgV0i zhK6pv+Abp(+E-~V{L;xj+Z-D`38#h7rD_1n#jms#*<~1kOBE*@L1;Lo-Rvw|W#`l+ zXxhw`(Kg|zkyo#ioWxi$rCuLYRUp)8KZ-9_2412tLAiU^^EhhkD256N7HSCNfE6A| z(?d}Lff6`m+$>V!3)!9c~7^N?F+8{FEEI-W_Pmxv~ z?%y;3WguGAxr#w*N6Z=2(7nPv3Ghw#)x@ zN6-pw>vcibFZD+~1b&_-iwhHWZKcfYkH617JuVwVkJU{(J0GLlBu;U7StQu^G&xR3 z!d?h!=S{)v%8!@MC{g5R0Y+D#Kxq$gIHA^cOg#vb|tZ`=lsDZDh*WH3rj> z6qTATh~!dP;CPRQ2chs@PZt)dH~?$Y`_L)o2Ii19km355V zECp6CbZC%RFwjaW1uB&&$J+bpK>Q&>6}UFI62y`ua1iqy?nWdqqXeqemKBDVDQ93; zkDpehb`MOJw;m<$L#jeFr%HP%c}#bO!6Px#Ekp(74JT{29PvUA+dKEBUzwVh{Z`fIwx5GNkPl^|07SeSO+Ktk9Zm3=CWeL{P& zF2$lHSY0vkR556m5Sc!+-CVwu5gq7HRJ*5|9_-hkT|i4-R&8jqF*ji-0h8&d^YJa| zhwOZO+9*nZoAY%p<7Ct~Rf^rXbu`MRh znr|NaKlY`6Hfs9}7=ic}Yt4xsp*&^E6p9kliY2aY1SB)fV7`V%7q-l4H3f^tzSrZiqVsuhot*@@UXIc80N8bz~s*s|d-e!RaBAFEmmN0Em|FG3IvfQ#*fA z4bbS@4(A~W+>yH1Hd3z7#`}#cQmC!Ekf1@zWtou^@{B-JEf3cdC?sNvCBnIzi5trE z84XQ-)5|J(im(ZCx(~(+Lzh_tXGgG45y!7tV^rJ&7hqXbfyCG-ox|g>Uu|`y6{G7n zUZEOZicn*Q*9!v1_k99wF}(d0f(Tc@nro}R+qTar{k8{!Lw_PH(z8&-&8tx@ggbNB zFazi10s${FsxpHO+@q#W?uklZRZ&GAn7jzLIcdcGtgPirrWF6Rno3YSfNlLLB%jmCx@LXvPGfmJ%miZs`k# zDZOuhvi}nb|JT8N90oG7oz9zW6i9_r`PW(2|8(Q~JB|@l#@pkCB_9BoRCY4<-arS!>e{C%PzB0U$!6A&LNfd|WIp&9 zh{dhCNbV$AmKi!pN#HDFvoUt=Y67|kkpFZ4zu zB1&jv{93iP!Dt}Ls;M1j;Uds>rCQJJaFoN^!C(#jZ+)472-5A$<+#g2fB8}c=Fs4v zNSk6RP_JO)x1j&puU)ZJ*kMf`W%T_Ha7e8%ajlJgVfOKDufs$zW!zZhd%>aEh=<6# zs8jraw}>N=j@;-Y12E#%_%2ypwZC5}mXSh~eXh1}($II*JLX5L#psj^A6v+RM3fd2 z?zanAM?ZjUs^DDBYXeK{m2+*^Iahb??$siH00>vAAflA0D+XCxc~6sxU%>e8n~&0@ zL@j^L3A}M-K*|7lHmI1bIfVN)X+rly04J3tN_iBWl6*`0^HqfAts2~iHNQHT0QA4P z(}?EBBolJpJ2P!N?_;ku1-UcAI4C9#$3s=hP<7|w>xNP(apA}e_Mo@Xa+{B^At(@e{LkT8}LE}95PQWOB*i%UY*Ms4vv^kwd>T4 zWYsu~UC=wOylduvlqYh79?*o&iwGR{{@%gfc3}=q^FZ&4@9iO$3mB+A!h6WWHuhJ7g z7d;lO@?$Tr44HoV0WTli;FX#k4rXSZ8Wj)2+9k^{j%%1ga07C%vV$4ekju-+Y-0wVink&`(K(Gp#nIJp0Xds;1$iNV z=8OF;x`Kc2lqbW|>Okk4W(x>zSCW}?Pk9F2VE=U~tvto7vxCk+^zILFGvQg5s98Rj znQ(9tZcdT(;$#P)cP+Z~qattCE|-&SNmuKz^`XRv;siU>ND8~ECb&9(e>Of zm#ad{Agf_(N6hfI@wujgkHl0_HW95%(FR%_D2SO@>1Sl1GZk~HR>(nm_C31*llsf& zO-06FDm6=gq&mJhZI{383jc?rs7Ju`X1C4lvkBP21q9>&%G#|KK0f&_y=>O2O+~-I zDcV;IaBBH~hD{54mGXMWc$oOnJ~G&50zt^9hc%GaoDKd{#;jQU$x?KUPhe6@!;8OT2n8;eqmY zKgw6j4_>VrLdO(#)H4RU0c#%P$j=_0uJi!uw>;X}V%z;&iY86L)eUa{bB7|ufi~5C z?!_RHc`|{Yg>#76qb}zPH!<8TB?V$`)ie)xUZ%wm%X+H|DeGNU56vVdfor_ScS{?g z{b`|)ZWxO1l2bwhZkxvAvWFLg7kgAYw-Mee4+YlEC7Lw-zgDWYIJlYhs#0!}!JX13 zSmP~F>^33tgcOnMh?0?(zFzr1CQJA~EGpqOeMufNV^qgwrl%%#ZYybWSKE?Gei$#t z5smMp1_U|i1Qh;FW}elFsD)Dw>qG&j*U-4nCZJQJ(N`#52kF<%)$EeJI`glUI4tx7@URy71##4^X;Ol zkbSX+Zoq90YWWt!>t=i4y*adk_2H-^h&_+Q@4cmgwAI(g)o##M$_p&o6k}0(yQk z@wQVJ-@@+yrs~w&U`jKCoz}g7GY2d*MnLf9E-0BqGk=R@YuEV}o&$G#Ks0|M)tGVEKh5U-BqZNltwXlZpq?9w!M+1Xn$fiK zNBP+zV;ubR$ls`fyay^6B%Vs6vqkirAH?wo9C@N5NjroQ4Khx5)I&R)*7}<|_kIBM zm!mU)2*Joh753M%WlO?21e=UV1HHy2qodg2#2D6ytF#E0Vuktez8Pi0%nfsE6y z`$IdeArbLW8<6Wwcl)KOpw}D7i>R9A%kC*a^*;fGwal_(bnRvd&KTZsh);@R#*(Ur z%2L<2u?7Z6A}XpjFkpYEi6*DSot3CG#n)J>BzT7)uXsiYbp;(6OpY}I##s$8o_FNF+J_*0CH zwLK)aT&dq#_^Bw63*#D-)s3ND++!jzu)VWe|J8pH$Amo7Y8b>u3+xk}W|5~+)ut<+ z@nDT5uXM`v|30zbZeS|q-zZ#GZ`QN-N|Y@Y>;K>#1sdb#YgQJzQSyJFpt}5S_vOYy z+vk9hQR<2g&2;4*lUsYJ{q5#Sukj^8PX~LhWaX)(-f9xvdk9v%>ws;U z{$Rh0a5yJ@0}&586BkdXr>7%?)ZH2`5$C+fe5qQ%@O&N6+~MK_m_@72_=NmRZy#uS zB!dl-*qU=F;n02~EDktxOCEDUfNFaA?eSg@}`fDPZC$c1s-_ZRo~7=KENJcg+~dTFFcvEQLt=t!HseZAT+St+&X$&$hH zzJx!0*hzLm(8UGJw6XvmL3>iP)|;6f_gj?%2E7_hOn_mx*GnuboRG`DH26%QyM< z$wp1kHS zs?$;krj}#YpLug*juUuiV?5Ux6EsdrgH!I-`})g|^<&yxY3XDcK@7`GP?@Qf*pxV2 z9IUKKwGp?peKb%yI#p=YO_mKRBzK^MZGQTck&Xf?`C5nfTNmG}3^KAiTm#1IN;NBX zVd#8E`lmJol(1;Idzp^30xRn@#MEf(PP8$g4egLfHIEpoMTaoiM`WmAVvBdxwEF|v z1!v)ETZWiov6*PdP9=y<7$MtL0$ubeHjp>=Q`2Nl$opp@iw|yPpiHxxLk=QaoQ3Fv z7^U}NwwiT-H(Z5*yjtmu*&094ft!SLF{y!n)JF72*R<5^I|6-td)6EMc20VG1?F9j zr5KH|VLQCu=F4bj6j;~g9>LJFu)SyO4+%03?6RNcBYs~&DB#&y3J%j_oIa2VQ<>2{Q$oLrDPnWXQRte3Ou+oW{-@PK*n zALIpe)zbucwauppb6K%0gjUqb*4;WHv!T%7uP4v0UcSs5y&fwb#&Km%0mPf5iOlzg zu<~ZnB9*p?Lg~>cNO?9{(gD*A_oWW4k>)Vml7T@5Qka;qiAHlrQ0oI4ek(EwdIdtG zQKG8p9Mw?!d(0JUE9CjLHnc1L3|Me3GeFC@3hh=|+g4Sski(EfS-8hpu91VUy1M-X zdw)dDwoDxXXIqAURX(_E{==9v5&{AuY6w{hXdKA8M6*J*JjByw+Vv(MLYy3AA~&nj zl*y;fy5`uWjwvrqa%y^d7R%3nw!D`Mj6iiCeU-ewOp`EhS(GPV-7o8knwA!M%2AE66ol8Z6jFyo z96I3{qIFB;^;AkTi+tVLda(Ll_s+^wlG7p`hO%w6#u$aJ8$M!War2*n;aJGJ1srOZ z<0d$)`=*5k!y?b*l(@1mzawtA^(zCgda*Qxw2ffX(zLC+x;_?|nMY+<;54ujpP>y86t3`T zNbCe!W7lr^Kj$4Snt$?sjEk<;ooeRA#PLjDA~$C^thZ)!i=0$1XC5?R*BH}o&UPKL z1aH<%yDqXx{Fjav4I-BTG7>c14*Fd?EO|1*|7u6_UrH^7QEFK1`CvC+gLkWBdY zKLonH>!dMpg1Io5G$)k-^g6vP2kw1RVq4YShhg|F=)vgDMx==nZmzbmyDR2`Mj)10 z^@{Wml~FhgKPh6Tif(Rh7-4yns<4ks7&TVNbi*m;(lu5SR*CUx#JH#!$Yud8;E`+e zjUpFTiB-u*B?F-gmZ&gAO%-90PWM~7UG3KUf|gi29DT5Im;pGN_1-= z3>tLH6TXM`gw)Q=OdWYaDubGu{XYl>71bXbWz426vq{NHWZ_t;)F=`gTs07c=f{n= z_(^w)er4S)?Y|g^2J*VI(f<%Lxd702@=oRApK7`b3pkv6FV;ijT(8bBD@)pXJ0$OB z;>%Sy5~fjMG_x#!IZ*I{)01oq?Du}1MJ6N&J2ixniz%r(It}O4ESFr zSYFi)`d-KVcWD4;OGFZ?#$F;X{;xI5@87Cz+QXu%E_AKUYsSzb*gy&}B&pui;UKg; zCsKq5P^*`XP+WOL%R0d$O$)^Mhak;B&0%8m`bAoK_0tpQr^|Cda0NPxF;S~pK8bL1N96{jochfw#@V0|tpxG~?2w80|E z(>T)(Ur0pMPO1v~R{PpB z9{1-b>78Y1+g121nF@#}Rt-b?Hcx&1DSy36^w7lRGuAC=cFFaKvQVE|%viOGDaN@- zd)Ofb74HJ@o=C)MB*_rqwA$W-Xz2k}A11MC2aRd;C{fiS5=g>PqLwq*A?tjF1CO(c zn-LhR^J*6xDk+J6fB&D**$UJtC<@FQOAVL(6HgZ&t=qk(h7lY&{-T;>NDTtpjzw9w zqe(G*SfQlfPWukdBq|^ugXqh9n;?UMa;3ior)u#(`-*Ryd8gq~UNOsXz(`x7PBF2| zMe${!VtIHP-{!;#z;`5pLrONtHo6oYpn+7L=(70#lr#o9)j2902Ulkja*2)WI2us| zq4ig2CPf-BV=0R}La#8aVwqK|pPr9Tp=I!Lq8GuLorQ?aO7AjU7G?>cW0J0mF$r#( z(PZCQr$$-t8ON4zI&(|Ryu>azXNW?OJ-7;(pQH*HLr+XGLT`fT45wkqPY=>4fpbQQ zS_k_yw*o2GqH155NE=qJ8y9m(a{TDT3bT2{4m^iQAzaTo%1=?%{$5hF-6sL7kQTU@ zAj;Z?Yy2@8@4vE-HPxfJ;MRGiT%4%}4M%G5&Y9J}B!#e5^gr_s{2R-}Gh!lW*xgbJCXI;} zC?{iPQkrdbJ1+M>yL?XV2uhp(h}E22Zzo=3M{jx|rXgT_B%^6_rDI-ARpX5A?P$_b z)a*2OYgb&Z^7COo5CG_AR>%ggtqUY^VUIe2H$i!!^ zvJ?#noFPQw`|Y)PT#qi5?!J~9s`7@$b~9QQ=Qi3 zW~M3PqSNX4z~-b<@>i?TO~rRWfI8tIp`y7cdB1@a-DZ8EZOQTx@d4uxEE5OBd~v(I zu0;|qxY>rv(3E;;wGkdSC>9OM^o-`-=H9-j6+1p)v&VFanj5h0b_lin>~^fEOY>u$ zisHD42Rd?p#@Ok#JSBsn1)=XLnlI_m63vn9w*SQ04Iu~o{Q)h zF5+}D=j->|9eUmp7(1-hFh-yoeg;{^Sf8oSrG*DAJ85c|OyvnsnpshL^6x#$n@UY( zZX^wqYG%xkm(LPnoQIr7WC_Cvu&UmJJIVe0OSX(h<3)95M$8|{Tv@Px0|{c+B3`$L zo14Y{g#AA>il79@;AgU1UmT6u^gj_r5}1#{+fuq0-ih<~H%$J+^iL3+mIDtr1D!b*K*oiDA(;#Ws&g^|ou6L8E=ZcnUnpg}tYCkvu7f?Ywew}u;czcxWIuP0NYiue zWB0vLC*J9>n7ySaQMH*smx}4@wr$l}Yqs^<{fT6@Cea#(_+-}ZJ&|1&CzD2_dtFZX z0Id~}R(hlNz4J3OB_79981Ym6%v};nH^m*Q9$G?q0|Z(}KY}Z*3kIGDMrtjj0k&+~ zg7`Bu?Yqyy+qKoC3Fw7_rno*r9vYWsN-2Fm0yXl2RI8#!KUS20o=T7~OVUjYM;8)X zu*ev!P!VmZ)uP+CfXa#y7xBm!_s<@K>D#cer3oMrGSp>=-(0mshGld8)5P2+yDk%y zNoL#}KDV`{k~RcA@J+=c_+RT*64OgGEyX91hKiQ!yKonZs6pk)#v9T|T_KBM{|qx^ z?!lhe*hMkuhz(~G2ph4E3DIO_XLXz_THy8}Gf2XDpF=I3%M9{wu#YoQC9C6q9 zK**e4Pleh{o3K;Urd{_4<)kY0DC-#15s)a%HTsc@ts$%8U9frG>$MT0<(|f&0c7Mq zlO{w0ometOcH@iSq2I}M=k{Y`q*(nmrR})$r38?mAAWF2?93oVkyxnMtfZxH13A+l zi7;1Q+*NpShWBH!7cyWJ#|craW`W#!Zdw1s$YqqhC80gZJSo`47q4aixYluJh5{CN&K``wh`px` zXrIztAhrF^@)E@|(bgN~3=gJ>b_1t#eRBB4%BD!&KMiia&uY3)SyEl4s8e!NDVx@= z%_^Czte&?5YV~ZqtQ*9WB63!5{Ruf`V)uKXVa4N3uaZ^^p>)**DVj~UVr4xgEhA0$ zBtc3=*grTIJ-wjO-9cetrBEZy>gox064(WSsW<)_wh*sNE3{CXNACd$`=W~~pew|e3-KaA(8)l5Uk zxLh>I7!%CF`Iv_=DTm)d{12QBxH2c&218PJ4Q-UnmAF)#lWs=?+=t%AF=dL5Gz{lX zoR7!=`Tmx&(-YLLn~I_aY)K&w4Gz>vW6BjO)BD17&aDeNnsX|2#IZAP&=AQqGGo2Q zQ67za(a+d&D6SgEvp)u)`u)xEo$hIMTK_UQM?}KKkyT1gP=`%xmvuLL{buF&nrn^; zkwmM4-tV-SYF`7KRwr|Fa3qf%WmMUFdKSx5Psh!~T5oDrzAT~tWC@p=8ro}Zb#uyF zjqndAfUdXqGY!GBrGW;(U4m0Yt?paW-D+XVoJ1lv$8l7ytXi_*rLE521wsnY6=tMw zHD7w@RxIs;pjy)j@LH2=Lepd)M#2qey%`TWrl$)S57lng{teDfG$Gb7NqoixTkWOE z*u@POr;I1fD^_SJ!!12>KBOrSZ3QFZdQre=v1-UZhgm##q0iK&9|`l((0a`wH0H_W z&_$=$+BIf!A<+)#Y~ljkNlnqO-!ZVpA0qdZ1_31$gf^rh$jr?Yv6%NZF$ru^u_jay^Xa?CZ9a8arjDUxYwf0s8 ziSKLubuxru>k7>VDC%*A4-B7)raN73%EQ6nwYv&1A6Kgd3TK(&7 zV!i~ig2?{#Sat8Y{AVFTEas)vg!qn{6fWLLC?6FFcB>39CTT)%!Kxkte-+SWFVx=W z!fMf^&S3ka5DkSC2t=Fd4k*;UPm@p$dl+;nn;{u${5QlFKF5G`5t9pa0nsb~URRwq z1=U&EJDv7aF(;$Am>h3qtWYV2ToA+F=$NwtUnItv9R5_Lx?7cRXTehP7bH8tob8;t zJM2cDD9+~DFagiZU_H6$BiXIdxpHbB(u`|S?KNTM&V7(l)dXEuF%phy!Z1SSZyBdO z?r{DvP0@HtWQpqk$J05mXQBmLI<{?fY}>YNyJK{0yOVTm+qP}nww=s(?#!M4u%Fsh zwN|~0T(^`2ecvTh5w&Gj6?b<+s;_$DcNETEzV#a&qf3>(4hFZ)HrcRqtik-ShzwR!N zE!nM$xqTkA-OywUn4^4~Qp*)$A<7$?UgKr$o;Lp+WA2u4h88ZPZKx0^$tC2JQ`NpF zG+~NGW~QEQ_7ThR+IMl2P1KOE=%=M)lf{$RAqvK@ zg_#JolMffd1rAK_zZ7IV>6%iyl?2h}T()Z3w-Gf2+7asNIrF5_4Ws9l?Yre8Q+5x9 zAP{d7nIe>UV`Q?obB&&NNWWW1j_p4t1_nFz=6A*CQ}(_rf^Md!rfVSFi3~=qj988@ z*ITMoXfOZ?+0kQ5(%$|?3{wxyB3n5SV&^W_9Vi5|>Gm$p@AJao=lvo3h4*XYun&^( zGiK*C1{Ka?P5#aGIU&yb5O?QwSVsRIMf@)NrPIRK_j^Bz;rh_sd)4nYh>-VjR;2S# z=TWS#RBjbXc|`fv%#-&wrW)_t0E5q&4B=}pr2cC^W;XlCi2^qPAT(uwqRXsd4R!O; zNl#8r?&~&8z!a*4byaMkr4rZie@$oShp9cYtb9P~2U}LtGG4VT;qjQgI#$!5y zVXoEN!q~;-ap(JLC-uVYMm+vh@5U38WbQQ|QQqQLmK8sgW~qU%19m)-#afKx*D5;& zIr)Dlhu)6`gk8_;Heq35JUrU$Q^}Jd0Gf~Y5dg2ca6y^7y4~faz&PVwpL>o&6Lf>k z%s!I&-yzbr{r9oG-FBzP*ZWhH=jWw`z(<*a&$-r&C&ohE>7t6uYu1hT$=8jaKu#qf z-|BNPr|$r}SM)RG=icD^@tZVxaVu5=j&_d z$EWc6vzkYLMM3&|{-%ZH$C^)SApTm`u0i4Us&3SOdA}$gGmGOtKwd91Os02c49goW z!$RE{cM94cr_%8@RuYq_|7rD*7`9kc_a=2XML_q@1G2iDUEbR=AUbRw82&6Tul-uc zTiHA*{Jw>4>AHTmX-^m8cjBl%-;RgYH2XdOT(7rm(jY`7E0hk|9#-zW)R}RPJDRNX zy@hza-sm=)ks);g0hw4e5xUhaPOer*{;NVC&RHt#c9eF3F9Ooa&&k~FXE?73^VvKrl$iFfp8Kl3tFS9>8V3{^0T!3V4%oL{QSiRs>M9QNN zi48!GsM)=ez3qA$Wjo1hRL4`s}x<#=V)IX9H7r6fSPaK;xhta#~Fqz57No%3} zAoyb*;p^&T!K*T9-bi>!U9EW<9(KoP?N)-SK^5|QGLAD!(O3bc-w5wZG8d9PYsBboSM%eF}-mFu*-!jVaO;RlRax`U=#Ve5u@jcA0pjdf}Ga zOw|UU`0&GB8WNvc2;#9-FGoS z`|@_UDO_oJuI}!jeku9%TTnaZvqoRIV7P|AYgvw?8n_812i?KLu#h^0M<6meg;q55 zT$gq}r*;HM{Z8C{AsMvw2(Wv;uIzVwKdu;y0iOBn$-26_|Ag6iB2N4;Z>3zonN-`) zk-_(o!OxRHoO84N&UZ!6d&S+}7-?^r-;;)4lgGoc8SDk@Q}c$M&U5ATXMw>k!tJ132D>ZB<}`?-_6+kW%dv|jFd+HkmIy`YsC9ThfC0yLb99W<+`^*m*h&kN zfRHdJElo=sne=_d?`uVNVP56Xa0yc2Rmi7_LC1fx$z}zRYx+e%=Ky_25|GCf(diRm zWTT5*Iv)Q0IrH;5PE+IkbzwkwG6G%r2f+Kl=6^-RS5(`WeEN~;d6dx=Xq6cW!6ftD z!}JYsCyip}L2Rr2xxV>EQ1E8H>HfGDV-V(+8McA}wb(062RGRU_#u8y23Lk@4Bn)> z_a7x(ot#i;Ct5^pvHW0%T6RwOU)m<(U{c*$qx_Mv)DVlEx^ zzaCNui~+s%@6p&Tm8(U;WPTF+^`aR}3N$af_k8H_8*^;AB#J*cdUP9I16X7gHQnim zN|_$9q}eVxFV3dA!*Ks^kIoqYSWx5$;yGJ;fZvL|EdYXG;=543bW(Y5bK!2W~**iq{%ozg4#_*)+dabH&(zF!(G03^mL?UdGH6qk1>O)ldC zwv___zp3$>coSATjdNZ9cJUhRcvu2gpR9>$1q_cQy5v>;7q5yBxh0 ztV{FW?H;LKbrH(b+~m=_dxzTEoZP4$gsZ!9(com{toNDu-m0qZn|ib3*tij|*eq4H z!Jv?CDy7MoKrlzq%ib_}ve9n@I69{kG*BLJ+ut4@CXKvp^cX91B-_e7i;RwjK-GWK z+x4+KaHX|a!#g4cg&v(Id;K)+cL-%M_U<9H8yMu!dm!fk^&TfG}P8Mia^X%MD zv`Yb1?1zFG5=pzKPMhK^rE?0vTAC`#m+8V)c~W1IcZrs9LTV44q&&3Qaxir{t`3i3 z3z+%W&PsxOqv+B~*%}+wPSRdA7tJ>dGjMuL{7xdlDW!z-M+3; zhn))73FZf}*$kG+D2cS|bnY#5#4l;(vUEB4rsbdowbcR<1@Qml+Da>WI^Buq@HBdYUWRG%ioCFJwW)jyxo!$7pS}Q z(-7>#Z6VIf`xJ5*WTy?kv}skCCdR7e$Z4~sFi!cdLPZ_TM}u>K-J(W{ETR-wvd{lv zco2Z5Yiea7>=+Xx<;qg&OYppNupLw3-1i_*41724M+3zifNGW$w4WH@9@b<6&fgB7@op z*Y9U0%HC2HklHgoU#fJ zCNi}sf7S#%9E5{>&hT^3z;t5)sJTyqqa!zfrS@YU;@6PDC-^Ti$Xgf}b0|eFC^kj7 zitX>`mI65N)0B3~1*;7Co@2Hetu9Yj3x3x&Ed8f)jl00#O5fFb9o)_sMQMtijw#HZ ztEi*V=5@|majHPv-F4B9NUdV%K64M48uyiHoX zaysxm2z>w!&Gf!G{cnJ&jR!KeABzp%k`2!A$gSuN8DH`z#llh}qdA*{O1Q)@y^9>y zXmOM*=*%-~`bIh%gu0hsn-3Qtza%i`qoX1&Xq}m@=;gC( zUq>@vH>m7jA^@oo+5c5iOkD?|%raE(fCt=24cHQ+;rwEG?@_kfw;8|h0mARweEU!{ z8{*5ammP(@o%gDpzz7DNVblLHNdY=HkN??^95wR)4g#SBU|?dmKVoCAzb1En2JCwt zIR0%fS)l^LQ`ZfCnm8EPUQ7so4u590Gk~<*k|5hH1l)U?Ts1T_+$+j;EPn%om$9r9K`kdB(JO+0gIxujh;$nVr&kX zB&oBuT2yv_(*JOK@tS$>=G98}dEeGqT7p&PXfG+!@whiV9{Xfb$ev{Qd9YZ2@cSIV zOgsKM4*Thf4Ec36u=?(E^RflOE$-=H_C8!sY`fqH8nR_36bug$pythjh+(Y|dW+>5L zy#414Q7n#(1EZQYU22nu03ZO(Oa?~^8yp~Ah4UHJ7Ddxcbl<@~3|}*09=7Ff6h^;a z54#rY;8rgZy4rlsUv~#|^gBe7aP|P~p1R(gx5UV0;#sM=yLiA*HQ_PXbxE7nfb$7k zb61*_8Jv$7dCTk;MfjO!nowlo-;cR5@`|yId6r~^&GkomCDc#-x0=S`-~(&;Xc;_p zOV-WgisNCD?kR>ZzvzKW^Z+&gxZ`g$mCS17Vhc)Bk zuJ-QuI+=tMo?*|+sTS&q_P*tmN<75`qh+|dRbl85%aHwgN?ql_K`dDMW*S~U2d!_4 zu5glrQct9Boro82W}Vh>sKGbDxChq@&K|%8Bs+QaUvm@N#*yBMlo?fSVVCgyGJ%^8 z8dPv5?A%Lvn7Ijpl$Yp#-|b$Ms@am8%E-xxgm{eEeG85T=T%TxM^zp^%g2wHQXc*n zLRdJNz(zaaUl>m8@K*BjGtc&2?3IWd1X(4kWnn z@SNr$tV6yj77f-^cime<_iQI4@IEhxg3Xm0 z-`Uxj@at3}V7ivV(qyMN+zgKX_b-byG#mS1*%Cyl&jo=mm0Xs=m`h^#%gj>SU*Z_N z{y}Gy-sS_ZW9R!G^KM58A-d$IJ5Ulzq7_bOPx0bqcYwxG zrJPjCE)ml;a%gkkru$J|ipq%g00TQi5LhDMPU^$#zl-BzKHN2mi?Ckb*gL^$34ojrud~M7i@BX~?)=(v%q@|(e zyj|{e-Ryi3B7U#@{8JCS&Y13XCJMOF191x{uQ55l#IyuUKRSBJ`5lV!F(ww8F*Ds# z0jrQnb0qyXRu}gDMo8KKCWCAUpCV8R&-0)nP@iReRLY2 zJ9N`(*VW$sv3u=c=bCcSY`tXeYsxkIZ$_PVK+n<(GVEou`(<`+L4lCRmz<-1WA2N6 z<5$RU4ob@l*9|()e?ed1LaeSlCSpYnR;I0rRoTnbeOai9CeLj;h@u=R14m5-4ES9S z4DyxOX$jI@L%NjnS+a}lJf|(k=>&6og?X!4@~bFM*L#uVb9t@0q6pu$c4K(=amoGbMtygpX50IT`n@()2bD!T@sfldWIeDao4 z-K1Tz<~%%;!0%O8cF;l7P@_ZI3e9QQ3PK})xRJ=TRv&LGUkJ5Nam&y(+1WBH-v@qOwj z<2N2C;^c4+?igU!Cl#-SH6nt@CrXQj_eb9M7%`FT)4lrv{}c`(m8~{T=2lUDZYCsm z@0Y9aof2d&-k-4TibJzriE!K=fBSUc)^mU^PsTWb;?#y;9d-yTg7PfYWV2sOTa9q+ULJtpka|k#&qM+^eLkYvmEh6XSk#I{PWM14Q1jQvMK#GZm&k zqQcMxlUHCeVt%5CFVli7WMB}92~$waj%MlD9M4@cnU* zRU5-llU8b^{j>$=tT*N4xJ+pa01=W%bs0tZ*J@SmlHD0sS`!8He1FX!&h~#x6db9; zl(b=QR?S*@+c7h_Yy86b*zL~F52ByL5078o%I+|Nv!9ZWg`MN&>tx5yll`3Kch67F z%g>(QH^Ys`ZVKV|eNX3EjJ;ro)|+jSLf3#TTwqr&DUgjIa6HLF6IHo|PtR>vF&N54 zt==C!q(MiSD24pX4uY^Oq=pV)p3b*p2dhex;W&IgoD;_ESw|)Er6#fo?z(!`Hf zQ=f>gayzmohAJP$n>8)%Z> zg;60w85|GnCSP*0(hQWE94jRekU^D3-`;_B*_1W;UamoT10jtOiCu51C7-8Qu4-L8 z#S>d7$5~Gp{O|xv6!DNugXSMn&v?kw*Z)Zl$+UVq&A#RYO@o2EXEFtu;#sSm=TW7} zpxS_G>!kNe@kb?u*Kdc$`7L`USlx+?nA?#;Dezi#<^w6T)6g^c9DI+P($VA}82p{v zLIEd6X!2SdQ;?D^X5x(YCUvSK*YgWnwBB1@Q?p}b`IOR_JRXiCq;1TTwLmKKWLIqW zx~>7K_G$!91&6}5bsovKC3bP*lqP<(S<7cL#)&R1??oHRoi%|QpRm1mV`HaFeK)ts zxl+^u6z--YU|h8E%XK`q5uJ%Dw=Jj_#TrBbd_**Rsn5 zkw&vTUKd!sRheSw-B2RH@BPD@tNt#lpwP1iZ!frjN>c~pe8~u!f*k!p4M4o@H+n$I zzb#4?M{ra4YZ^-|!j<8a(sx1}!#aMij_^YOi~b}SGEy}&fU@QH%W6sL^7f@ehy;i3 z?rykoBIqE1_;7~A2H5^t?-RV&KgS%)O^tvnatH?p(;#P?6+9$jBt;|BEr;s_fd){$ zWF%2+KsgOl{AKX!i8!0N_#e_{h#=$T7{cT({@indDp28r2ZSgEyQE7ZriXrARC|`x zBIQTrSGy?tY$-z~%8a6}<(tbG$eO6&6z?)N`s{rGHVO=Jlh4EY@7w!rccyv)=;ZMv z#wA^Mw2ELR&upbttVWGN{ENf_ zkME60!*p#n_`a_CO=vccQd1@1r(GVyH*0WScmZmT;N=3lE6crq?r-9fvr&he@l?8% zCp=#e*;Q{Z3haF-h=jZ;nzUA~^T6$WsM2)C!K$kf=GbL8a$1aF4fwWp1u!2K&+0R~ z40yvbuZlf=YH^VC+qm~^soEH`@OIL#{Q{(WTI8c)#9UogSfhGVmHzzLX+m1PQ5vh6 zhm@Lsu(TvGCvHL(Y5amPd@B4ep?q~$I+&#G+8(XcXNpwu2~~eV^lKxqZJeyQ1-ld} zANdk`pEt3mTh+#`{0L~QKmyB?9vsln+hE@dOWo=*N-w!w(%g5^u7uOjTv9>NP12eE zfPV{HJ8&2xX`+ULLj;!f71Xs0CgeH!DnOOqugN*H8UZ|{Txu+!}mmz|anShU+?Vv2lUA~F3HLh8! zk;`by=abTHH@~-Be^dgxyKqqkBDpU+GA*1m37vAvS4vBLmp?u&8phcWDN>VM4TX}Y zd<#4nbgVU%pKz(zBSby=kW|+{QXV>fPR8|zRLc<)K+(SYuI4s-MFkMt*_JU9fX9O8vvuJcIfO#VqN11WsqU>NRc*(ZeA&zN zf4e!}IF!{nxIK@_o!#Y?aIo&rQH^JL*<0(&@fjNf=N(i9{vov{NJ9<(D+Pw~o5@Vz z{myz4{rQntd_sKuw}_SQ<6&Gx;DV*_<_WCFXLmeZd`Ut1rv%U_vfMBm1ELP;H0@v4 ze}0eDJG<#ldlh4%504w<2yC!_-g(bK59k#MSLt&MF58gfzMctrJJ`nEoR8G0*y@N| z%3Twju>6^^PPH@YpPJ!F>0xYmJxy3=_&n8XxthWs-*`6mnzx!{-><3840qMw(5=hK zv&(*J>d9bxkf|8jm!vuHw~;L{!wYgri+nV;|)x~==g$h zTE5&GP#3wg)kov%778gl1V7vDPcM-)mkabfw&tsno2ZW>O&Y2`)Gw15PmDs5U9!)i z!_nf*V4=u3bm8ca08=yN5tV)WMSbS7yJ<`BC8BOq0VA6R>~`_1gR~| zGi6;&YNm}(0#X!4`=bW28$?@}XC4K^l9TzM$D-|@ix+t{#j)JX;c<#HY z*JWg;>M6q?5Efdf+};~uOKf1J?bCNeC!foE2r1bz^d$2D5e?$mE50H6u?s0My408k z4h2P2Ljxn2_71}2ZWgyBjg(9h#Eij-sJfU8Qc}u3A${3STG2Y;{GlTGPxGNI_b4Y0 zSbJy`^fw#>Bju>ArzcL<<^wSb<`uljh@nBXo8CD$IFkF@=t4Ja1+sKMM7Tye$g33A)-B5|BCR<;qQ+uCeV|jL&OS1>-AFKs_jeYVT z!Hp{w!Fw>p3B=YhAdlOD`8*YN98;MIcowz93Xt; z-&lKf*f5VZ-ai7jioBt*&$J< zXjU521)Pg;;;Di`hL(6xQ7V<9dE#%XUN1%lQKpP!k#R`u^4j}7q- zPHX9@?3HOv=030=svsV{1?}zPKeo+$x$|=fO$&T2)TA&NAJ=v!`<{kfpHm;)9kA3R z@Ba)j_?9hMmzx#3jM6}h2YvQqc1wE2r!StFLS6@eL7-qs?sEO>_2&^70qLQ)hy3)p z#ND}6cKb(WWF3ja?Dh|F$5)3Tx!cm}ztVSm`XX@8!xABcsO&WZ+Ed@&4B_uPQ)8F9 zm)N2>oXg-jBIF+cmIP+G+MDtSr>@stjA!54)Vj$2b5;>&(U3^CvBmbc=c*TY!(Kss zIGfAI*vE{&St6TzsoE$nS5*QLYcl*OFl}h9)XH###H1t3t)LzYE+r~)p(TgM)7GBe zZzOM^>fLjJ{paB1=LDYvZikiK&Eclc&quU^m4WLsUvodQfu?2C5(+IMAk7G+%euL%tG@`BGswm%NlfB8}dsB-dCriiv zd!Rt!t0JXm{x+R~nkOrxal?MfY(2Z;#%q7DU)2^4-FfD|uj0yBH&w(?@-nh^!XTWU zMKLRlN|s4qrrTr2oRkioyOU9KfQfpEZOe(d6gY@7WDdf%s@kG~{UpX*WJS9jdJ%&v z5ymPVi!#^e5M5 zqf1NuruO+|#f0o|V*?hv=u}C3XPW4`58I6Av^TN|M-uqg%Utc4z_yqq#a}Cv|6rZi&)q?B?RlHBzwS7PAjmgK%6YD! ztytcD*SFvCAJU!J~#FzDi9$jA|;0 z4HP2!ifq@cAUc2+87xn4f(u22L9F^4MKF+fk=N|2{E>>&9E@`a4FV7NO4TF6^yf8h z=BBZ-U*@q!-hJP{+YxhomBT^11AA>AW!|&Er@;0`$~BiI8$o12*bIFcBKGEfq)=+T zWFQupC=3vRQjN`=>wPMdVAiMm7r*PK-}T3|Tc3Q3z1{FNsJfh%(D zD=6bMlMe_C!ng1Fati_P8*da}c4DlONAu@tAFCJZDwBE;I6gA`LJ|JQl~n$Iwkgfgs-7N|P{K>gTVaERuO(lK(_9=V=*%13@RZj=TN<4#hrLqO? zA{62+w887es&we??_Ns;JOy7Le-?S7_`(Ar6U8v!+p9dy(>dfo5@*47RU%rtpQ<(l zAG(W%6I%hVvzto}_HasAa%bZXgv{SN!ZvyF`MZ&1DZUwT%`4d*n<2eBx{2fV=`^U> z$@909`7!5JB%)<%S8-H>#SAArLC%}UT}QHDH7QmFk-gu?OhEs_%YUjYmZTw3z=;?L z==Eo3_!oD_8HK>ptX|EZH+41Kv(KFTVrzU{m(TrJ1HXpUD<9*{1)&1oV`@*;Mbvn7LN) zGB;Y>9KcSEPA&gS3AU!eLnaNA0#~um=r+=RtHch`E@;;sABsA8T&17#F#mcypAEnI z*WmTMt#74jequA--}17<&z5lUX*$+*S90C?lUHD4&dh@jGYVmz;+mBED`pBlAY=6= zi_6{9z1pQ68t*|ri$lQo5nI4op~upXN`O^>N9Q+t9Pjhi z2F1wB<-Ok-1>&iBNmI6g)~r3P#b*C|S+Qf`UasAx1EEkjnbBfh?WAZ572$y^R6mXW zcci_~hYoJ1lEWm1U8zgcma!~DG$$+%9t3~$fy=twL@Y}h-uJA;Y*B7KDczHKku_^m z6i5xdgL0mxC3|{)JDJrn1KGdp!24?TogI$jPqJf5#!(Nay;hTyy8DlZ@m&+PhS4H)7?JE#M|pY=>u*e| ziU{7_ihB{_gu66}tafWwR~0n3mmhV5vC$8RxUcn1=qz2rL+YuW>Z|IM*`bzavUn2c zFo-??F^dOm;iSZ5s`|Mm&#`F7?eGCfs8&WTUZB)b#=8}^b`Fu&Z2bF@`H|-XLsUw? zjEdet=HeYto<9-m2EW6{=D^ElAlK_;<~57gd`@nuv8(6*2@=dhUV}0!^B`>l_DkO0 zF;0XSTxitT94!W+7DlR}#6Z)8VqdxS({IJQ^sEzT#^LfpA-g`dZqzFk$zkdG z!%lPQ2VrRkY{652q~`nW->+NGmMxXW6Cps8O_&7VT)2qbm1`TTt7Yz8JXJc<)F7pL zi+YS(@00W!C)6SMD9lb;XtX@_mgW!1Zt=3w8diE}>~5&=@Yr8r{x2xuZ!Bq|#m90{RwO!Vz z8Bx^H{xUAE0Aj2H>FK6`fP&?@vzJ z(X}}hVBk_j(LRgdN6Up6KH|Pl;|yc1@1T`(Eu)cId17Mln5#pPgMON+!yikQ1&3Mf zb6JS6Zsnegpo7U+`6Cot{sl;By@{OEDaZIWs(y;zEC0f>^6vp?E38loK#%)peNYUp zEgo)^%*(=(iP@-DwjysWW4z!==CbqsvSBCJ4kv(6s#|)Tqg$;vI#~R&O_;de$`fMo zOUH_nEOR3FzrmI&FmM-*Y&9M^VjmOw_UKJ1r(r2co0rsVd9PfLmg&`AApObGA+}CSWkm#Ga5uqw^c~>`_D-Rg=dgG(1 z(s+)lKUcGwZmo?xm2`yNj@-5_u|6lK5epShlntAihy$@EhfE!l0*(62?PsQ&O-oHr z>J!bE8}?j{G`ifaHJNo2J3jA+YrR_9+I1{R>=)k-U58v>w7*63)MO{O_&%dZf2K!VpEhh+5eWlMsd$g>xZ+6SkU18x{7mp1%qmsQpBku zp;2Vvp0N$**XyUV`7E^969qrhycFcG`8*%7(PF45)sQco>6+ zL>*b14VQubwkEnnqJ=;*OzgP^()>5}QMJcPJ$+MN7r8Gu#tyYTQppNklk4y2Zq6V^ zui7R{1U;yVFkA$flB=D;8q`&(<|Lj@6>T*~dO|W)bebFSK@#1sxWAsI5m^vvF*xK& zJM|5Al|i{dg`3O+BrKZ=?5-kxoF=87W=Jw23nGq zO?JljA|4RPh0!_(@UW40+bvEL)aDPST{HXC?*1MxAI=G;VwC|Q zlfXO`>atRCd$=@OEv?=e?j@pGX8w;_(yOk0QaI*3r5yqy8_ik@Vk@oawjZddHNT55 zVSTH6p2Q9+T^uDsWVtmjP`E^DM&9;o7_Tsc7pTU{Nfp~YFKS?lY%SFh6$^OYiBTs& zXIL2RlqX19>#@J@1d~+_!I=J<$@68K;R`t6@~OmLh4qHnx7>v=3T+% zqBVqh2?*k@vy0-{-WNeY9;kO^U>=EIa9=E{IN!dmJZUmhKh7B0do*7JYB}A%^8ZZe zY}5KA`JA`_oprbOc`gvX0t91hlz43rS z*zuJK@^L}W3(rQFl!2Jod(XF2PMpGmQK6UlF|8;ZGMC4#SzBv*Ubzg!4|9+TMKg{PKoG}`XvhB*(~0kC+%RDK zW;@H>v6?yA_S7cNqs{-v@Q+4m;XvEI<$J|zT_hWbgYhl)tcvQLeo z!-NP|&4E`|!nmzXoc8TGtM>2~HD31<;Lt;~xy%MrxRNJl|cGw%<#*4v%sIeZQAB zl|Ae@Q9$TPYsUnr1h7r^sq;@sG^*668W~%O87qj|{@PJk85jJzlO|2oz5W0dPx;~g z-Tci$nLx68cB`pE-31T6fpZs{<@-pjVSFgu(pZO{doGbd?{A?D8Zxz!x|$r zb)rMUUesu-nWtJM+*{;yI1#EW7n_#Zs*$JL4yNe9lv1h)wp)h%)k3FO!@i-9guH%l zI^72a-We!TL|$X2ilNGiJCs`zJ|Pk^(?M>MO0%QD1DY)A1C`1Jlr$q7>APq-=6sew^6w1`(eS`mBFF-C* zsu=etdVAV@P$Ga5B?^(1#11_FO-a|Utko=piBg)-y?Al0te^rcnR#3ypA1R^=Ix27 zb)jrDK!`HO0pqA8CCq`^CtM5#YQGQb^O?Y6D?HC9v5xd0T_HW`FyZdRsh68noN}&p z%x`!s5-LLmknBKp+F9o?H+D*%_iXBl(mtnxMk^@#zBwY!jnx(PIWPS3PQ8@&q=E$v zkH&=(jqBp{LN-t;zQzd;lHM|2IaRU=QiqdAy_Hg8^l*@+=fg{+LoUI8)IhP_Rq_zK&`0`by*w_?Dv{)%Dqy?6&|?gd z$wT(%#Dy{-fHrr?g_IQu@oZ5mFHqu0<*G6FD-3J@kVeF^#BqsN&lwjxC0jH0z1sO7 zAvGog{x4NpCmF25x-T8U5Df&;faM>!FL$jH{DSn+<9VHA+oG}@v&?y2Mw2EBtgRdn6md#`_pmCWki^r@p4Ar*(ueBhM2};lnca804 z$j1e#bi@B<&B$Vpk~L19wrDbECUe$}f`-`Gd}u~dsq_8yiNEcRbP1^jqTyls7DQbv z)Yh$l@_M=Bi%?{4Yw5kavJ*$pCu=;C)>le0f%N-(fFdj4zhCqXL`o@2JcqKl&2{Wx^KO{3HDrQ*gLnx&*|Bvyet@@`Vd4rhj`im= z!@|uXOM_thW1+@jW?9}VbPmRarx{NMlxToRsI1z=NVRzjnkhANW;L6Tv3FD=K>>i5G?U1HsZkd246?N0T;fwmXE3IbR24+;&pTnONtaNi*56GwjMJ3;!3`779vFhG!`z{}mAz))P`%N}rc=3o zhLfOjw;*tlgRy4$>$Ypy8`CbGPmFLV-EfHL>0`Ol$C7Z_vLpXoG<79`m=@SSmlPuk zIg+gF$UEDzXRu%wX~eZlNkueJmvqU0C_|j>jU@yP^IB=v;bIlB%0idZQAiSf+nI_K zh?-)}gy2()PMMnNcbg4$vvd=RroxR$N8+pJDmU2AhsPuukkjW3^>cvp^e9&_Rw~~w zfeVaHKnJGq1zJqut_Z2*Qe1iFZAmT9`;A%HnI+lg`Y|-|m|(2!Es$i9z>C*n2fRsX zQ(iUKpeX5?s>n-{SW|9TahxxbT@Mv>RaR$eC0T&?M3INqUkPc*L6D*hv~EQURfGN4 z<|V$!iNPTyY^6XlfF%PwQMEQXk!b1ZqktX%#&(8)&7JFK^c@)lI-9Xf$utIl5DIm{ z0&t&Z{C-B`xEB8Cj5G^gWfQXGdGeZCN6gj@KnRbfdGfO{-E#~xsFFfn+x+y({hSQs z26CJG|W%C)2q)MK)4s)KI+e z-|^_dh?HqHb9pS|ZeVm^;IgkoS#ZFHf$>5v#AQBkAc`=Y#hrs{2+{!pqV|Bj;T_Tz ztaOT~R$?vm*urmVD@BH`2~t*VMIO&|E0~2B`dOpPtNF-z4Wo`zl>#sM zIO!ZI9w9IM{WqPSC!N|Ym(gxJ0%sSlzNuZA%|fD}IRZ;xP2;>_;-0c^(StP!s?=wQ zxx@e~t5U84hw^*z389*t3TB~olrCU$TE+0-VbqD(BZ zRxB>yXWGZzc=9#%xHs=gf(~+TdRz+!RS6 z&%+JT`)y!@x?}*Q8q97=8${TgxJO3%%vKTkkofAM-?5>9Xet^Xe8C<*a>m9u_vW+T z3Svc1Dy=2lDj@YUgl3{53Q%1Baqx6F9FAF>H!Tmo9**8>26;$Ut(gmBF~2P0k4$22 z7f9Cme%MYr-bd?nMY zCAg$P$4<+vqz%JwNOhDD^Z$~12DZBraKQx4%IZ^LIxK<> z25>8`2ig~M&g4V29N1On_Pc7a@Hk>E5djC&(4&U>N4SD7p@~u}OG0S=DR%vrWTwp~ z?+BM{!5%t9MeSkqGzKJ>Lc(pxX37rb3q!%hN7~EvFyvicFvRcRv(l}$E2zAF4cGF6 z_zRPZ_7Tk~jQrHZAkrZ->kO(lVG)Poo~T1=%b)8%iXmuvC9#3OF1;Cb+F4xH{hP8@ zTU%ZCj_-;GGBoJQm4vQrj4FbXzJWT@3q(aJB6(E(z$i0tYmSBtAdnj1jG9=1=O+7E z6{Y{{kt#t!lSfGwNPm@yK5+4T0t{F@h@R}YW;~j#p=84;17p_$ADiMblt+PtVr`to zt{(?Sp-QBmn&pvTk5gAemNd0>AJgkK?e3U1m_~sRshDYV&B%fS-Q*KM2`dV4{iJ|= z9y1Pk4X_DumdAEVTL4J_oUr%>_DIY0U}}6T`h~Hclq13G!Xt+a42>Mq{%ccGy?rCl zM)sem@wxUh+lolxZh;I-2u-)PV8ylTN!ehmi*hNPgQVcG2$8f-P({~;Q0Z1cDphBf zDgu!g?8J-`?h#+X;}qoNDiXLNBzuM)(B9HC0-FK|is_kYp`L#rC&I95A|yvY>PX|V zcm;&~-?DRO5BaWTRW%rm1z{JnYnV_EI4{vo zv&o1E56B`FLw+4h{pQ`9Y{D%5&n)@iv9vIWHqrVVI<*(Mnl)6#*@a8NJ0+BijV&d` zcgY^}&d@qvv!NrN^psxKxi=ewzc{|N#`UN9@KuZOcxx?So`NiMd%x(|)M=k7d;dPQ z5%?r=Q>1jPJh5h8<#2v$G8-6kZQp=-XG($HVX+fgI!|NfDd9EutbSZg?)sl1)8g(p z|0&QFn0vYMjnS@K-JA(KeQz~Em+5F|DDV}~p*x8>_GJi9N?=Ox)Qh%Hc*mFCLjm;g z$~yh8sfAFZ-=T=+Ro(i^nLM3%dgc0 zk9+EmWa)SqH|?;LfQTB?W@oag$!{pNNu*{MC3VMeeqb%|zpC(}wZ5J;cj$HEs~RcO z2;yd3ds!2F4;`DP%D}_l;Z)5%t@0zZFVpz*TwN1uQB(4fg`4#ZFic@B3Qe;AYre(R zg6G+A%(FRuceez)y7a5bbE=>~$AJg!I9OVDF2?KuzN}+ei?7$0EQV0P&$@K8`#kK= zOQ)GcRrWxK$b$cQuSg)#KP3wP)K(i!bI5KOkQQ5fo#7x$oZeHd&RA%8G!In1F<^B zeC&5U4(TmTRAllGJd5gu&Kbh7tPQ{dY zQZ2n5dra;BlJ9>gv^^z_UD`1mRx>Y4YjHk{`{ABoaNT&hGqMXoJmL#bmOhhk?6w#sRk|?_y9R18;D$s`q z+L<^(UP?Neq`@G`K^P0$VM_kz2v6v)is^TaK-d25e62eg%Hpv?R3dbZ$*)rKK_hA( z|FXzUJXh`8PbHNZ3hWhG7Fnq@A{DOCrQ}*-R_a%reR265(yZ)c#ltw1&kAc0RzLM4 z<}T^uA(ufzK4w;2upa5xSP=5Rj#KSC_ver1eTUD zFy;oqdS%l znL~`7?^jtC&87J5Jo9->RNr{*x>rP4kt-M6ZH_>QHqQUNt@>K|P#Vd8x z2^DO*uH*tc~ z{rYqx?iZ%WlYzdwv2Wp#ft`x?zwVl`R@Aafg&C@QPvqonopO$_<2AM>MG&|#g`gh& z^LB@rhXjt9;^s=5M~&`WabDHd*m!W=Kj>Ge`{Hz=IW*% zrZbRG(x$RvlL3 z7{P=`XF5BoSI1*c4lB{c)#fw>+8{dJny_2nrrM9IZQ9*Eha}zIdN#^iqOU5}UJzuj z1Y2Ay*=7;^uU$@8FMcG#7Sgk4#(Ns^x$Z$Hy$c7Lt2i`VH>Rab)?#B8x4%|octao3 za|P}N<7aTy8&>e9&=kvSk7a$lchCAZd2hlANRdtw;&ZsQ;~)Jg2}6h5Y|4X-<;3ch zt@bq?r2D$JkEHQGH8#Tc=a z7`93w$gewlHIde=Dco520-6;wq3cgb5OLu9YUj3%8_{h2N2MUJlt3CxHVAwQxjf{z z2k-h|;+W```FqzA0>Q#**n{~skTuqJ0*6?fH~i}rUbWo0!mV>)_9qbA4yJy6_9pbA zLMB&gLXUxWlG4R_LVEx9!0@xr=;ni*XGHe4J9ghb)&wlXG;7S4u?poJ#Ll1}G#h{d zkP-q?YQ`-<@;O6(lU0K;B+2LZL6MP9J0L;%=>w`h7cIpBZ-gTs!-3hshQ29db!cWu z5hz`7B>t!!&-avG_xyxa2xR2SG8r%Lp6ORXR6U3Iw|hQDy^W9x`K;Mn+Qq>PcZA>f zghOD$=mGMXY%`FMPwKf3um(ckoHI6>GojQ#`WsJhB%)Yolv3da=&+E>K%TKAH2-w0 z?n;Krw(A9NK#Y_+eg=8k*Jh+!s$&i7MZ%jdP;}e5WufHAcW?F z(-V=j6DB-x9orDEhUadSqx#gLM2^q-9Xv^BbkB*_HxT%HDINldoG-ba+}teDntD17Z-R+Z|<@$U{Un-ts2uN=&rCnC24_+mdwp6gf#Sr1;G|1b=F4^J!&osVB#!2|Hdd z$lv>~2z>8^Sz>^!-pfH{lH^HTlgb5)cIC1q?EkZJ?=R@hryW~AMMF;{XO~`3$rYh9 z$U!s^IDUV$K^|(G|@KAXkIk6ZmJ#Vfr zgnI$z%twF9Y8}7`SUUhix&906Qp<$2ITx3cncI24_e4B;2fWElWL2;dgplwX87Vju zN6B}zxlF@GLGWGnj}9(@n?s+;N16^|5}{QM%m_+DpEpu2--E0hdR3&zqq*<5DNF6G zPFCP)3&W4Ur+3xHGNJE3S!g>PG?Uq;HBHyhvZPTsao_I11GYxDEqjr@We!KH-&g4k zBzTSOC2Fmgp@x-PU6Xf+9z-%S@Oxa5$nP4<0c|u(ZbVQ$eQ?-ur?9Ux*QqsD;osGi ztUyeDdaz70RU_uCrlLG^Y%KWIuFX8&SDxN@Ks@jobPi3azbo86^B0C!n=FjTxDI2E zT!LQAa~ueBBDbcM@iU+%32H_uFgDVIUIyYpzXm_7^p86brVW zE?^&3It6`Q{%v_TskQjloCq&q8NiW^w<2b8Ie(Xs0o^k*~OOqWZ{8v`V9gL7krQ5USp`pv@B z53C<(m1Pj*8)jpIjyjr7O?5;NjFBknX@$j8LXt(qHgKwfF&f9?6{}C`xWs@OQ%x01 zJ7((auxHexuf2xP5G3hA{j=t zlf#0PBFhNDbd!kV2$|T872SzOt#x7@CfUlj_Og&q=tXiy@d&1w^08C&aSD1e6}P2R z-Xlj$oh%(2`RB|?_l*K0+mAUfBm@oe=KNVvmODteI8du-ofMBiM`LSyECFQ5)}FvE z2n^JIp-x1wDCUI1i=s&R`OZOTQUs$vl^}bi)CfT)+@qu?wu`h}j`I7gwk!Pfj5l6v|)_!5<;Dc+>8?39u7WR-pTkoT-qPdOMy_5YDdX);g z8JDRSMICveK2SSM$RQD1F9L*3hEMTQZ)i=HbMlhIw+KoN5*;W2q?qEq-~jGiFi_*V zzEnZY2}L1i^wUz+&%xROhbLzCA}NlD6B$AwTk)}4Fy$=o zE%d6~BO1qg*7t^6uqsA~60(u?vgP_&+v74d27#Ow8kK2Cc$3;6lcp0AdHCW1-IDrj z;jAdpl}l2{m=sYD9%}(9a*!vm9$yzK1vvE5?*VkbCN+9Rbif}-V3Km=V;l@CGbp30 zodbFnwGNtS^<;m9>I&beIAkl-^+6CwDa8 zDk^pi`C88@F$a>2tR4T7Loxwp4U&0QY-yPXq=S)zG%Vbe%UNA_aysa|&too>=Z}I3 z*`vk!b9uo=V3h|hahu45o1R;pziO5zq=hb>Wl~0;W{D?0i3*RN-Iz|2iT{%Plb^l) zPYTncCkT`{|8q(N1iKXbwRHGVJ~0y}%Er(HkyR1oyL zlF9pys=<6!kp14$xdE)0n=DT=Y0+#r&d%$6B1wHdFk)Xub0ZbV_RcITMPiJmgj}%F z@QB2QoX6W|Q~d2?3c!5%og7StRS1;MJhR^}&rM)VF-TYWGZR}iDa-TvxcXPoAj)~e zi18Tnrg55{m8xB~;=i$7_j%LDr>&=jD_DP@IQgo^6+GOh@E_dbHrWtz0^xtQN@`$9 zct(!*x>-?vB^`6yNY-+TxP)@x>kM~Qn^Yp6j)mqn46yUH!URZyLvl(M+bEFSs371Wv zu+u3&C>ZI1{DFb)7hOnA@E%8SD>!D4onOXN;br4y=3CTukg&O=lK@4Q;%F2q3&Sw4 z0k>7k(7*;w@FY}$o;McjDi^0DF7wf}ID``So#UzxOt zTdx>}Y{3|v?l;B9U(qz8lZ^(=qx*moGsPQ-Ku*wfz|>U1tB&JrnNO&c1+oG+l2l}e zHfE;VWGYG&JFI-m{)|u^gev85@eON8K~iyMx|9KE9q3|pCTz}>uGrQsm`0c~e@Zw1 z5?AKs;ebM3+3(b@DMCyQ})7wfR509N}$?}N-_p>uM_opAO zc3&P02){H1qs9 z4&cI$rtpXMlczBxHDe%eLv3)3ZijvzEkMXD<&nc<0gYs7!+O_m3Em8+6lnnpI)ezZ zk@B{-hCzZ(zFr&(g*Wm8`GZgohrk3GwWx_Fe;S6(+Ya*q+9Se_2nRoX5bS!DTpGN8 z(mO4$ga)40Ku?2wtSzZgU%O=LNEl?Y4*1y;m-W3x_dy9SX zMDnN*l2OmN;UldJG0x^S-TLF0AnFEo#}kV0QeZ0SnELAty@o+7C*jGoI1EpDZdP91 z!jR!kBCK92Er}vMpiL>u5}br8qhJS5{@%a#eSZl)vI+)ME)t!t!+W0c?q;fMmij4Q z=o^WcYuyp?+2))Ek>)_kBIQF$!&=MCEO9xM&nWPDkk9MX+jm-z>4Zhp8R2aUZzNVc4-oItP^U0DNjVF z=Z7`9I5&>q(&fj*GM!Gf%q1f&Wbw}R3MhcDHx&I_M)+?&Twu5og?Py>JL)WoT(Ix# zA*GDZl1}bECy>T-*AR4$Hobr7M=o?fmS@NfFN0HQAWd1tmX#{nXzoS>TBUN_zHHd7 zBJj_t;re2DIM)>d;s&!F>?{aNG&h6$E8gI9Gx7Gf?=!z(hlg?AWrWEaKg%wX>x zL1dwgy?-%Rug~q^;uUA_3!Qt(udAJOn;Hz(q(#Nd9AEigk4|M9H(c(wio{Z0cP@UC z|M4~Ay>X75|9i4CNP%=`Dv|?PlhsMRLu@O7Jd{k)eQkQR72Hl5LELM$f{C;0(H|aZ z9M&6l*2KMUAG^;ORJN_3&VL+VzqcMN^2mEcObDLlofgKWGR zs0+=(pNkQhY^_JeGg`sT}OQa6P zvY`;-vSLP~8<;$}^?IjdS^tze;{)(<1h6GaMeK?t6v8Xhv)DWHcE}T1hciij`mz*K z+Y^wGidY4?PZQ^<&vGzESBagjmm}(4Y^HJxWlq2NP=5AQ$jiwE<}UpcL3|m!O*}8% z>%%)YR9<4e7G*L-4Sy((AFM3pQHy(`--8V~$CVAWQ1|`iOht${j(RwSXEmqK852{q z_T6!Bv?_M8ZzFrVf?weg171Y@H*?N6%pq-{Wlx-KJU|+Yd*Jue53Ad|H6vKcZe>W+ zqF*P(qL!g8G=&3x{v4F&dw}pWaO)IlIYJ8^1Nx&>bZ2jT&z}hY1!Ej^j`!l|ELo(1 z`PZ~IxD2wXDBA)RNgG-qL~y395HZc^yy?0zCUKA-YV=hD1kiNoh4hLB70pG0DHgo$ zGT(rmr5_5=O?Rw54K1*t+zqTcs73$te8p++9~(vzBNAnyyPs{WmlkxN44S2lu|+0{ z3Sf{_8AD@!BLu5(4E`6{qh+x&UQ{*RbrKE}LSR7sc_1|-%c+hViqslA1V*`Z79oJo z6N{QchLr8!bzt=*jd!D>pp}ER_h7H!T_B=l+nGj^H*#IT@<0SgiQBv&twKndxxv?k zMp2af*Ww}-4lHO&N!6+$2AetrBH(O3!G^vou5=kBHxMhIzZulFM(owAwKP0Dcw?o z%}qWLx&%;w#cp)etp=ew+#Ea`WiAC%jWkbVxudGm*>Y9P8(KiBzvJzjnfT99n7@7t zImfA;m0o2h$B+*eulfThg`51l*{iyD4^Z5$^(fkfovE0O)s=9aK#Bh=*FYU4Vvq$o zHg+diTR#2rVT;eQc&{Uc4RVrqz zO&Z|Hl9=D6u)}36kfB?`y8C-Rf)m+w(_+fYT>7Ag+8nlgPg2y21YXznmL#GzV6&KP ziB)bI@F-lFKPQYN@p*b_G7=ftHJY9#&;K$~x8wBp=|~RpG@eg~0YfHJ*64eOwaR8K z0tj-Wo$o)r!106~lFk3drf$%8-j`XzdY9ZgB)`&tUz?n-$Rmi4L~c~w>{?O81t~V82O~O73NF`#W`b$v*6~^zvNBDaUTIf7U-J;k%%z8g zOEhiT(~nz(h;KIN{j0j^=C53RE^pCyD0+rrstHqfYrt6BL=`OxR55H;iVjvc{HslQ zXj#LQTNi@QRIxDc7Vk5Q?^k`*_B)2sc^#TJFs)@vk+TQNnPwewiAJDrL>-H#V`5!0 zCMATMInLCTG+Zg$V!~AqW^XXF3yy+>GMrB?Oe*sJECiVHd@3+=*@FVQz#<1vn zlHPgH?W#%er0$t+??$Kebh0`==f1< z?1|OM=Et0R*Q0LA&J#O1=`3J?hrco8kALQ#-JzTl6G2~6foIKJa6y7;84})lax@6; z@)c6DvKa$`3hsV`;&~m0SwBP48qu&H;|^jLEUj|Na=N8|q+4%^5a@^si6pgdA~%;t zt;dp&wyYh7f-IhltR%LPd@(>?1wm*W@!gS%1U4J1%`9gWX=0)(-4iYC6dyTeUD86XyKy=@$PamX9 zpj&C(q~TjK3m+P!SHM)jZApY>c!0_Bky5Q#c9NlP5J^GRk7Al$uekt(P0193069IF z*BBXmL}&Tu(n=@t_7rIeC`iFXsbT4h1s$>AqN}Vv^DucJj}7oKVU{8DtBxy|NeQA+ zESnT|BGUl5KnAz-3!olVATq<+RiswLbQCHPge4+{Yk?LrC6!3P#=|%yW6?qpt6Y?u zLj)R8hKE9zgkKBWyiMR;@<>$GFkC5Ua1HbWRYzz?ric8c`S^o&3qd3);V9TAQe7uE z1LJ>u27STK!W)u^5kU?Q#UdVz zXOs>Rt3i{()a>QEI3dkhgii*l2#~=fl&17@av1Lw*t3o6O}`@(TqfE|hPw+WpWLMJ zO&8qC)RgYl)8HOK0Nid@fUkNk1|su*bkpExk)+DkiGW_xDj!IzppSzUEHs~m?qq5n zgc+Fhi7;d%zXn1Q>}l}NF5~n6`9c3uq(x{>8KFbQ#qT_+?axyA6@AQDW7q{yifps# zEjDLABw^E}!z~3CSEWKi5@KhpCg~d=H57J{o}L#2y_P$a`9b{8R_-Y*1tiqn+WK!? z(EpIvz~`mR;IUPtH(|;=0f_X()RU0{*!X8Tqjv>MIx0Bfs2!p>ecIIW;rK#5-#A-74Q>*#4#*s0EWhqm6`VDU$v^4X(kfD(|mr!a;)b&cy4mt zu%gB7ve`iU+Wp`-+N_@IYrY#ORi^3+2wz*J{ixLJ>$c2$52~EMtf~jS@%39-BWn8( zZFD!7EMxZ07c0)M&hDZ zgx5s4s7p9fG@Wbo2x*`-NPc;}H-Qie<%SXyy>3tN~tFCwPKZ{vjaZN$t@ zBo|R#_sAulsTiCTxGcZ;RLdOBF0Uf^&6mzX0|1%H`4@%Af*QUN0y*uMkiMo(bXHZWb z{%5$sqRpZBcgAO|n&q$(m}_X(Qm4mb^pt+v_w8>VUh2ZgNk(QBq%{yN#B7-#6)gxt z+=k@XkA$#C`cWB`Sdn0g@~l}6NPq_;Nv%j-EQD!I19MS)_Mac$wmK-H>I9|}DniMlH7+v`x{ zlno78G{DM+=P#yfP$N?rw6ZY-b}!(JqKa#f#RzbnAO18<*Ctvp*olk#Qf@^oF(j;| zOqOYWxQGkP;UbUyj?%kj5DJn!opX)MkFaDTy3p*f%wizrQB$YlJ6SQr%0Eh7qSzl> zPy~%Yd5e2R=hC7iu#*$!c(1Hccpp@333ziovfeH`#A0H6fbCq*#ESqF3tZ+t^`4W= zp{f`3wj-M7QsD{4c?x$4x{)`Oca^%wBCsPV#wI~c7TjIG@<_A$79BT{brvwnXsM#c zBnxsDFg*GPTurHSHw|4(Q zvtoC=E1KI5Pn&(2SNTU#!-Zjhsy3|z?0co0?yaU11K)3Knu+0xbpXhSctKc5@joYn z!6{S?YZGM=8h;o`u(}|=Mw7N_YsGvC5D3($$9og00*ejzWRFqeoEPYIEH&L$@%4Xo zTJ$sVes!E42N4nKSR$FY7F6rl_+MYjZ<)%6y;SFP4bjNOwx1N(9^Od~tZYu%U2l~7 z*mh`LirJCEww>sgVicXi0EP0fVC=m_4py|Y4uyh=M)^8Vstv+IR1C1=a`lJ07spz2 zw38*fUChi{Q^GX8)GBiwXwG;y?*yWsHfnVxxBzW8J;FX`)zfZU!kQ3<-LT9PyN$(! zh4mB^Jb0Hhc6SB|4C>bTTyx;k zwJPAa z8+tXQQX_^V6Jf!|Or9*VnENd(QcgzcB;FXQcSYvsg=!zQ-WiX@hZpwm>~8+x;B#?s z>*juezvHBdb*@!}R|jhryS4~Bvs#DFoVO(zvau$zkh@QxUrBgleOtkE|UFd zTncPIgCZ|EWGXD|8Z_{ZXCILnaU8r2b|kA5SUO$a8?Ck4Z;Bc~l#u?gOmWWd1n_|( zGf6LQ;@L$h07FcMXBnTkt~2HJoZ`9a0fdLVINBTE1au!55lmcc%;aCoO_e!+hb8Ve z-v39{f+MRh0SnmEP4+ua3xvRgK=I5aa||82%2CM7#=j?mi~G@G@Io`?{La()__QE& ze{SHl?;*`b_L*S0!DOXkhBm!o{O5-M^eKksi1S5efThA_SEW{0Gn;e6wnqPFudBef zB4y$v^WYs=HzSY>gAFggiMW;O2vx=$Y`P!>Ij#g%Ays+?7lAOV`xp>d)LgmcDq-e|Ul~&Bs8=5{UmB21QY(g6;j1msb%!6u&^U`+y+`_SZT=9E^}f?)WBOL6ST^< z=G`d@v1-7uFuBo9Occ}QN)!QP^52)vTEBxQWKM@recee*av4ONXG6ag8!ZocoF#dS zZ#ho?n}{V{y(JgXIK|Yuu6eP{%IxJIrq0{0IYDN%LL17j&Icdt9Lg*#RPYO*O5=NL*CXav0 zq|5Xg;`YNN0Of<5Aj%5cC>el4q`Y+Oa4VN`1-TQu5xP7cT3*giYBpG7j~5c(#PA9C zFKX>Ni;Itb?*A+Dc>@s8gDnFF(4U3=|7c2C=|Cs!8MwYDjJ=AJS6=7)>30Q@^?t-` zT*II8RD7(ay^hN<(oMH+!)uvwT`at)AD1ObHn;^lFQYOWI;Ah>Tfx33=WRSO!wpYZ z=K=-*=OXnYwNPY2!9TVV>PE}-w+u1zN0VLMCxgABH}rMhC1y>p`HH`g!z-BY8}+&r zXD@{>mlKQ5dan4HtWulSA8ckAC1wyNNjuFDuCqNq^Lm{l5RD#X?ef<#%{59n-g;We znf7Ma+`r(QIsZErqbGDoC;gqn5g7!sQ4v0Pun zc$!adrr*`u;y*o6TKX^Du3GS#^~wC9=&FbxzT7`gLC%H`8fL*so+r`!9(9bqP zt!1{a@8fc}6|E-S4mMeo$O;>n?NdFtwFXEhs(+TgF)f1HLX5?8#a-DHw@an{NgXq4 zoQAkCQ-B#dL(4G3X_7ECTpd<^|5YZ1Hp?S}Wm!4xUYjSLB~UwIvKXXXd)%mpr<1NJ zmr7T@-4H5Q_D~sAOkBl`@V1q^Rh0&FDHBQ_Gu^!9jR_=sp# zRt4a8r|Z^0{nFP8gp+v+&jG}YG>uvvMp_#9|<>9`LV7G7px?Rw`&n`BQ&>La*H%3X-G7~ zNjy99zq^6}-Y;^LncUruYlsY%Z6*?EFfb4h;J^SOAtEBAc4;s}{)VwFjSV?AOsH;0 zsD53C)$F{l%kMTpcK4y1Y@`GjccyBSw|m1Xw+F#MyIp-KCiaHbyXg0KWq%gju~pWZ zOOF?cni+z$)Udeiy?Yu4b$0(Aguglq4V%`yiH05+YAdwtEyu$?tWX;b+-*ypid5$y#=-{FNEyx3COh%6KDQt)kYppsZa>bKV0L4tr|I_QHq9pMg-1SEx>w z6O&;*wfx(ZhP5qYY{$<9lTq`&dC9p^x<_NdcDG`keu7E5raYRn%osyIDvAe1#A+OQ zC~>Os*oR)K&O2gYg)Jq5n7bE(22(iROtiz^cB(*h3<(j$Dd*ny&ya6cXR!#r;{Zk6 zabb=WCGCoGjdo)*+L>^-S11#a>27dkm<<~pobhijO{fE2>UPG3ep9cznWlF1AOf0C zgNfI)E2@Kx2^Cyn@rZn|$91b}y3;_y9@sFfv8hrxPrY^XvtWH4%Bj@`?m&nCzf`J*gJb4h)M% zKRQaA(3p|DKs_L_j9~oWQxhPaV^BsZ?TJFF%*E)L%pzwJEFudLt+a>$CDZkwB&NwM z@lY`l=H=vz*bl+=xOYhoe{w9RJDuxJg`OtkTh|^Z7iswqL5Y#vkc>bxT-JxGB2^NO z62fI2HJa;S^W3>+Xz^8=QK6vzucY@%Vu7x>-%NU&nUR`)F%tu^wktXO1cLmNk-hEv zO5@cOvha2XDI=`r7Lr=3g`mB)9Jbfb61c>aH|X;dWkDaBieoA#J#WWgUMLf2I}54? z9He>R!qFXTKYLp_&)RbsdfKd8CA?Q^b}nW|Ei=wK?E0jeD^5?i$EW7q6)?L!Nxzns z%IlSL`VKWNniSp3kye@!%>w*B4n})(ZHIZDu5TT>Tnu)@h_~4osO?H@om%CQkh&jv zI*>%*|MyMSbAW^eg7s^WJ#X&4y9D|O#h zHoV=GSCS4p)3_a79W5Om`+^co!_(*LR;$}M7Nr?dzOBWYLKGsS5Ad5y3;wQ7Nr?fy z9Cd+TTlF=2Ia=T+b(#=IvQ!+)UF@4-LxqgTa|!yoyi?SrO|7bT8y#&mT!TGGMivRa z6@u#2Q>Wfxa_TnMq*v0QM$# z`{S_DgjwqIH<@14T2|in`kYZs2EF26lpg1dT<&(Soz2YscVE+vR>@qXMf6H3I%v_K zAk3fz?Ub}x^^5xJ?j%I7xXO=p^@wdaSww;7R*o1e2;%{;$XGp_QYtbF`?T?FyhzX$ z3Onp6Szm@nGJWD;_*fJgTSOU<+%YlhI=B5!I`fzaA3Ozj9NE051vw~Pai2DeJc3-rQ9HT+wasa!XDTpL(*c-h7Fl?Xkf8) zsy2*OgHY^P+^e}+eW(1x^<@$d(jyM2pvoz315ByaTla2D#qazr|HX# z&MW9Qbm_ysZgG?s=a;G8HbrW*wX)o!chYPxM*l!av`HCw+g4U)N&OKHIq@V3YU}WJ ziQ8^GwV=&4ot4jd*-NSBamOI%+7*reoVVd%6VJ}ep?pvVJn3t`xF5|5%) z^EN$!`Ve9N;s*CX`)O!MnqZB^aqz1(Hy5Ls`ve8yCTuqa$Z}OA#c& zi=>dF!so-M5l_qWV+y9C{E*ztA1|?5hlrDE~VoHw_ zC#8Phiu|?PY<8EHzTNy?0UBv~lm_2rVG(^kkbP2e)lHd0HRNF$3*oNSe&a3ISOb^CvhoqyJNreJp{U;?)k#d00`Tn{ElqPLuVwO3)lv zoU6rtupWqSp#d)Kp5*gexY)zG(6~#WB1r&vi)u6AqWBjtUp{dR_3}b+di^+o>g3ZA z%w9}xmm}iko^vAvQlJ3`C65qD+%#FSDWx0ww<4G5mBtK$E^C#B&c`KQ>4mXnGuw3K~wmO?H z#3|QcSWaP;3%?&_3HmuyXpCBZy4BiEaR}!h-})k3!Ze1G%ll_eoe#Io^s0P{4(UQJ zt0$!@XHrKDEFmtKKcC>?QmH^O1cxqXlNCFL)Z~Lr7-X*R*#haxAdvQ!Fek3 zcik#wjd#nHm^t1iDs!jh$l?7+VRw6T!sM{ARF77rsn3UYO{JCic3LzN9s`6rTgZ2S z7qCrO$9C8#k}Pr|gVD#G4^XLs=9rA(uHq*o2_rKRbBtuUwlJj%aB3rsb#Pj@&syRu zyp_sotebwRas}M?o-rJSHm7U37zdULN`olhDt0>5erdyP-cqHO`LNwGdmGNPPMS{q zyS&2S?>u}?-@ngoy1R{2s21^C?OwsiQZvi=MII8{F&f!7s?6~@ggM3&we%~|$yp7S z6;czFeW1>|l$F^OVytO+U|;dmjSFdv%KtBmR#KLhV9uo#PJjBWqF-R^(4F+((v zEZtN>1AmmGZ!evE;R86J->qk!Ev71B~oWMfx<{J2CraJlw8W8K_BMlNS9dby~F$LbB{lcNO3Z(2&pbNC<9Eg{mo@K)r>OiLZ-()i zQdW^z`S%#IdG|SYD5QL~pHx@fwr=8s9j^I7PYt{a*t3QV-oW zq36c{zaq!Y>#V$;mBxZ?c3tf>8lv@WP{M%2rSDNH-eTS4tWpRPo6+#XbIieA8w&gR zgOMAas&W128%qZQJB{D6G!_d#5>C$LG@*z}C#aVPFuP&LHq%tyTomZkAy}kZ;&99w zBXXiHnJ7NI0jfhW;?q$E4Js3rC@Lt@McNu)&SX5rqes=%(`wn#$JV|2xm6gEprdi& zwRz8S2@NA9A|lcKwryV`ZdOt&#(S1(VB~;x1oYWi!+h)#NxTylDM<`yR`c>0a`SaZ z2Ms{wgEmf-cZ-+ofti;rbTcHXOgDR(3MezJV7sF^qnmmH^azyZd}l;69B`zVv6EH9 zHK&}?A`&8)`~s1gnp~0_r@ThhW+gpwp$po6C2s7NP^}_udUQ$jvGMdn>l6I@V`{Fd zZMnyCq#0xLQBsL^C7;`iVFwE_HG9Z0z!C8bh207EiHMK2mIRFq0Uh$6OjZNkNlZAB zVZZP`>1Viva6%%8eDbT25R$zqdSTMKcNpyt=bMniP!itqcY+rn1jF`+3hS*bX>*X} z1#Kh4K^YlF$l_)Jpid{5gl7#zYKBL}#LW%EcK;$uuUOj%+{$IPP_tupNo#kT#_VjE zC={eEK=o!260`-p6?f?AW##4q0&Zz{MiPydB%_6LIg7iPC~{#3FV z;r#zo?5l_%Q0>5?-d|^=Y{*cqBtT8w?V2C2w}e-6c5&hpE}1$9Q0KbT8buA7nCCGN z5l+m02NU{5i5I&OOmPH{&XwuXD#=SSUO#OkCw|AOqfW$inI?b?_|;_dW81E?_NFb% zx#qYFUCw$$mK;5P_+G?fc#&;0v$w5n%!+LbpwdF;j7-wibLbF$W{(SxWRpnG$!D7& z&{a>Cj@wm>o2q;du{f<;r9D(CRs%py@gPf|u>I3r!^rD%1EOED?R80?lc;p6%H?ChyngYKRz)zFHb5v5mB zaaAAw6v=wp+IV&1bL#lrh2Ul|=uDaQM#hga^-^hcTKLlDQzhmL`m$xpq0Sqs{86}a ze^os@(YF(1Q)J9CP|UhQYo4klyU%$mjW%XV^=yumrJA&+OO!Dm-%G7GqXLBp*~~_k zkZHh*DL5#=R3h;2buFcFp^f8yKap7mEnD^dz%~7n3PcSd#yB85D)l6?9jhJ1QUYe# zRY7s-PnUI%C9+c|v3M6QrWN~5&9vcZ+w%LD&Znew>txjFhNzXl(W^N~CeiyuY)+fwE0-&J zWwMjIt`|pqgA>c$_5!o;h2{6}9&HDR{eRectEf1_C|wi_?hxGF-Q6L$ySux)ySr;} z*WeDp-Q6A1ID`f+nK?6O&aB&Sy}F)y?W+3srwm8!O?J5z;N+?MJJt%BSR2Ra@>!Vs zsbpwwG9OR5V-muK!ZjxBsr|F1Muqzh~=zPzGQ@6y(Ia+KiCLv$%clW}PMU4AZo`S+!18cb7FzjrZ>L zV`1cn&mCY4pRx6BGVvc@tURH(mZ#jdQDscL8EgBHIY52Rj;d>3q&>wUgw|;?{ndgJnvt z;=$@Q5BAa%4irDF#YKeOqYBGb`R0G*N`M2BGa4oR?rsBedkWfB zA`-PHTBV}+jK>xycVKJZ2Od&`5SF#gnSLVqVx{|sp`Bdme6k` z?-!-@TW;b<`*V)S};fn8O>16q+Ux63%bVVG(YQZ>}RVF?mu`OtpFP5h}nnGNo66RW5 zH{`+Ds3qkBvQkTjY&fNLg#{I?1#~nRDxt7yMf_&HjUFZgt8JhpPFtK#sR`IpaA=A= zUPWPGG&9MS9au!F@%3CHO~vMN*~iC6g6|P&NlA&(Z{^CbHfz7LQCtV#FU2%A2Fd;P zS6sD>!Cz$ym^&yW0^h5~-#l;yUsj43Oh*6P7=z*7jBeo5rbFL(S&rgMM8Hc#xk3Q} z7M9Qt3(O?U|5`Qw6WK$Cu8{zdCss*ufg<4TusFRA2TjKe?@6c#cckj&`qg0NnyRy8 zB$+v0x6K3GuD{vt+#fGFeC;$dYlAcI)S@zOEdG6%ZN_||B>_Od^;u$^Iz;1bIMmarakF0T zY*8Ha>6zEux}G)TbjZxh<@S8>rQt-MeYi-HlKFwh8}Rqj_ff%&5TiavBf06GhE z5LvPcIJZsMbf)0tu;Ud&wGZg9JX(R186ap78t2hbL95^87O!YxYg(6KbTbM49_D9= z%`Ge@kM9l>1m)|Y8(PdJ)9+7bzZ?yO65qLQHtoA=n|sFK{tE*9hid;j=dXx?Y{Go( zbwQ!3+ZXm3EUK;b1A2t`qO;at(Zk$sT+xU@*Pi@hSMvVY+`rLk1X86k zvNPj?tnd~||pxf=cZw@YZy0p9wO7-ChF|G1fLh=>*`kP#1#t#2)@TlQ1G*UsL` zB5cBW%haZWH(}sP1iq6en64*?S2%0U#T6xi;94=>JmO$VvIJAW$$VK2KosE)F%=kZ zROWoHK`OmxVK9m+d+2t9@GsO=>d8t~g(6kR7?>#f&`-sZ_=v)l#7LE^97$JVUO2X& zXsO7TaB|E##bN_|3wvWilv5adwyHLX^L4XQ3Plgg!8 zyUiXsq>?nt7oxLx+-z=bN3H$ADZbw}oeVAGu?b`F!lD>Pk|=P13+P@be#POMYQ~{a z7UC$Mr7Wt8M_R=UbhkFrXGAD+a3lhSf!uVmsGyNz(5y{4c`oC4zK|deq6`b@zTos( z5S{WB15j?z=3-4ep#WNu?0Yd=cJuxm2s0bs!l1Zvl=k{8K>-_-NJ9WJlDvuXH^d5K ztqCRm8K**p&ePy3_VCxF?>*_I^0x(lm&!X2c!$9Me${CI64nVgKr2{lwb8IJ`Tu!v zM}dftGcuqf2{`?&b$AhUy&{|i1{tz(X8Sj)V&QDaa{wlmESHdgdmoM4^|%{N?3+2l zbTOsA1Tr+vRYr`$kgDu1ghe}3zKFJ#ZA->?hM6XMl7o#6LLS|vI zx!DtOaOPo0!lIgw_j?B%{O)}|A2s|rawZ)av(j8pEiO_14e{@45?9o(A+Ey*WyeiG3Gj<$WYSw*on6IR+b%PZDQ&7V8IDWU6S!u z&mrr?|ZMU6IGX`~#b6y1%Ta3^zJgk=8P*J@s36@g92 zlJ#aJmVqea2fPeuN>tDuyZjN&M$;x#Crx2yB}#L7gBAg{{8^m$Fhx*|v)FTwI=Ru> zkTP(O6>UxWP%!>FUVQQgD|700gQji1gL*NyOI;ga`;ULKc6k&C14LAKJ)0h>`6e^{ zS>OQo_S9Bp6mMB2GD|3)Mtg0wZCRivYvhe^m^ET7h@+(_hh-Fd$9$;LC&u-2#AE;-_fioS73RRGg5vmdDs#VEk z({T`p+qCYwha+D)uo8xaJD`9iGSwV10t*wqpEu9*V&*iY@u^pXb%;tiVto5Ab%9qe zr*Rj?*f@}`_e(v;%bUmLRDAy+eb>H;oOj6halrU=v;7u?D3zbrA5ek0K_-ub?r;q_E-K$ zAHcL&#I}wSPl?fB-n;~rvZ)`aNY+_z5hx+7p=>yzD8uDHC;zeRbY)4hA(+S=U_KP| zd)9V0>GE>&y!T?sdI^*mjvkH?o}@e6l(*qjPa|Kz&)$SaFGqLIbb89nnRnDw&W)yZ z6lmP6tCmB*ocuVwax`3{&A{jT`Mm2m8^AR@N2L$xA$u!JvKv;{yWQFl`h3eIBu9`6#q&yIHiipRIT3x#J6r+j}(L>QE{M& zJ;YeI?i65UF-||5OX5?*UdRPuvcN_4JD!P!6kAC3!q{skT{3+iV={Ug&yEbjI8vfU zo&Z4*qB{L5aIuAJPgD%9ot*=lyS?c~1`>H%upyciBixqlQKOiP&MS9__3RWn4XCl? zqr!6*%Y?v6z94Rf(LQfThhabxM$*pQ?`w85#;tH96UCA%XUgokAo3~`4<^qc#u^Gn z`Klw^!yAbK;0xHl3BrZ#vEK|z-{nSXU|q_b>H9gIh^Tt}HIAA%TB;MUV9Ub}rB7?g z^*lNoTpE(hS2gKXsazvy`>`auY&z4AUKpaPmF7u}e%frItt6V-Uqvc|6ovSc>*1hT zi1lW*zYEPTMocaQT^{X}Z#KbFRAe)h@y~Aue;{!obDy;x^TYVdG0~8S|DpY$XuKJv z=}PALxHE9BQb_W4*^C&%|8m~4MZdoO1MWC+zIM7D;Hc~iFN>fDg1K0OmP5N-v}_$@ zJQ{##1VshTf+OViZEo!J-U!#UYWae7mJjVCC{&G=mGybRk;MYX@)A}RyHUx^ z?CkY=YxyLN1a~f_d@hgEr5t0z2wf=K(IsSNYlkexs6dU`Mno7rnq_4_f`z~B=F7wQ z-I+`;T@A)0(jwbL8cpnt7)z($?9)g`z6m8o^fB-Z(iW-0*e$FTf<$=e7~4jQ9#tz> zCzH#`d=p{y*xSXu$Xvr3`BMGDb5%oT^e{()Zbl%3MpJu~0|5cv6p4_J&FSw|8UE&= zqFbI~B+y&*3lqP*j)wO8(gOsYf`U5ct%^7oF_O79$;^hx&#H;>r3;yw%;iFdn#owZ zRsFCA2Qk$5)5?)}~aaJNypOBcnP>YU0l3M@6S-5I3 zAIqL0gH~_$qa3fuBM5I&4h9i0?pTz+kt(8W-qMvMy z9wwWQnn`XCM$9okxD~H6F;pWk#^xX+-IpD&TZk=;?H#7nFz>V$XT+9Hwq9#Pm}z-c zn`^}-xxM%IUSF+nLu+WbZsU;#h5ULkk}X{BP&eU3uDdLdiw$DdP(D|wZsh)7DR@9?g4u^TNNxa$4 zJTfb#(9<9WxZB}7)#eG6IL_M4HFAYYp>S$IPlh4Dv>+Lbh9UbVz~zI=~ILy=SN;vW(pc#@C|8chM+7OYq-EFSdsC9P0H(E>wBn; z;Do`fv~t5bWsH8{e3ac`W(sNSa|xy}bTP0l!vri<8h65GP3;>Zw=+O?*%bY1B;NejO3Ij49IrHlvUQ7^TuZ zL~hkG%@vc~8z65YhCKs6N-Mnh@*!E?5jG*9j<5wWU4XcLAt z*Kn^u1&JDSYX#ydE*UvK8mH+!dK5YEX~UJ5UYKt7jx{uoqk|E#=J{%`g${C+R_};# z^OHMm^TNW8@^}J4W=@p`o!ih#E1nxMq3BxF_1?H)Hq!JlGrOP19f|&I9y1ro;d3;m z)lL&Qb8K8Bz~;;3LwQ6;kj@sR!;Ju(vl!f{e1`@|GBjlkVmaxWG!Xg+M98laV#X2~ zL@{QlCsVL%tJK27jfxs|FzJKFL^JVMUIbmR3ejBWW0OjfZyIfDwHVP&9GB7_szicNK^}nCVd&>#yoJQxN4U#Bn!AZZ8r6X`BdGo?pg#o9Y1tS@w#VWvn)sL+{{lz z!L(L_9%tYmo?v5tmgE9UUT=b%Y;i`9mL5ju5j6dXIt}YMvt;!&YB^|1Cz1}~nslvH zzrfk_{Z|-Cob4{91RT`#=3|M;l!Khbal5P)OYi`1XxRu zt|oDscmJ*+x!Yr(|PWB)9b@X-+GR7kdu=uf%qf*Io(s>v#GPg#?i)Ih1f9=6U|o z)A!ufefaXS-uE|W7P!(Cz@LhScw4g|7Lq{$_HxoS8fDNGYNJYYb@Ky(i%f=rW8EfQ z=DuSJQ6Y^c<~JG>N^ES^x^p!sr7qW%v~=xCrtnWA#p=D}r2g!>AB{;u(twXpn0X2v zZ1X$`m`EwUGRWVOO{TCVL8Kb76&5U3Yf5UdnL#^8t`n#{2WVKzoa$it^N+fo63ue^ zilSsx4k4rt;+ZBHFrMHx7nmQX8bYfV6eKJuincYe97luF)Rwal^<0JICLFiz`Qeej zP1cOSugGADBgh&ON!UoFO$|6z>*tMU8V1_19r4VMc(p-D4kWXlnLA)?$ZsWx7(khFbi*~|k$U|YvJF-o#Or7B zN9ReTxXPH~H^uU26FoYY%80_NTYs13U+-3o424{Z2l|E>sK-u@XAiKM_Ef-37GgK{ z*edR@@D+n52fddMd^AHoycGFmgibRQ5VL1WSdK2ibD13}fxXu7R^pX4_-O{iYcDJ% zT550o=5Akfj5b~o8lm4eT(lR0ji_E*f8*LV+ksF zC3BS&&9)n&$yAtZoFDGQ<|7BYSS%b8Z=EVo44xc>F_WMm{jv8 zZ6TPG*_Sm#^*+4}hh;U=mq0JH!=frR^#0RK{p}=RgthC3{@jlcm=gz$$PTd)@I5-4 z1wPm)IX|p9?hPE1+`vR|i3w-P<;--gY?f#wKJu_`o@;^FjtkoGEL{Yj^@z{p> z`xXVRaMN{s(oix64dG9M0uoVO;oizqZj-cgW!{j5(3*a^-q6mKgB8hZua{z^Y`GSQ zWM6oE5z5HD)`Ap2Rp>q*(;m`L%!NV6OlVr{mlR2I#O)3*twoTxe>LT2IIcVAHs`w( zrbVzNhXZ78H6u}nAEgqhGI}gCM}&u;lATqIjlsw_{aQOiQ_z^=W;;!~+D1ynheN{= z=g>(ZqfsPf+Yq!NAD9rZ$n;Pm!-+%ZrV>ST`8rtN zrX~2za4MV{xQR5iU^ZEe4Q)B4gqS5Q6|Ws>p_c!U11smHxb419yih0GF}vI@mX#;; z9Hlsg5xyYbthHhS@5H1mr5LKY6-@?OsUC;#R%fC8?^7t$S204z5otbIxp_jC%Y5N@5RDpgz z_kIX;!;jez2gREBS2IBn^_t|5iFlrF_mnMJP>U7D7QA&7=xm>jC6O8c4=}qXprD|- zq+h77JRzbW4`WFgU!l@hY=M8jaxRfR_K?5m6ZcVy$6nJZ&^xu8A)P)^rCU8)uyRK`9WD-wO)DQ zUN(J|+%U43M(vVz90eclPtT0z8Q?5Rst%W%I5c7F|UwNv@TM^r>O>Ptu>uUuo{Ux&eT{pl!CXkQv|Mvh_PLYi-w z0!zpo?MRs=BUy>h^KorMLarl1-4JJ6jK;bZI|5?A0rqbSS8n{}#n!2ObvKz+P#9!w$_W!2t(?c~OiIhD^H{7$gnaorAjm*j{=gx$ezsJ|!k zJazLA()WBE6%F?6dkBdj_^9>xgsjLFd|ga%w}uQj1-P1Z!ui|;Izp;i#x_no_dpZ8Rld0CL{k*9Ea~$W=aTOu( z@cqahQl} zM2H>a{x9kIJaBlC(GEB?O{i-MVT5(K>)}lOgMfjj;A-;lY^Q;}w-bgLVhEP?&4+~I zRo%cAaAkBCZY&in;M_!ABJld&MsyjBw zC2C_BbZ{|&ZfM>9BF~l_C@r&C6hxL#HdlmPuX&IsEiNPh7=MDJB9K?z#qY)TbFduv zdQ4z=^daU~;5aJO3RCM`d@$KXjBt3t&J6UHLO@;wxGCo0rbPG8)2AP(>sRe#iLMgN z(pX4{KdGU+B1+K;D5m3V&2}KwacNkOR}<7OX}vU-na{gQZFpy)a9dx>uKix2=!& zx33QhDvl4#%}&o--XCAep`X>F{&c#yy{W@dBhTz)9lgGrf%#KBKRz&&(Hz zKJqB%rt@B0zka)^x#sz{y`}Ya0dHM%+a-F5$I3y=rHE^uyIy47VjbN4*8_vNQ{G_h zQdwI&yMP+8$3D_!c*=D&r)=kHq~m(Ct=UE_CuNhq9nDBCi2fk2v=kUVAQxUVXy~wH zZSj>v7LU>qRvX$df`DPnRF54MiwS3RboU6?x8gWIfV7bq6-Qzol%m)sLClD)-TKlf z#b!RfGi5ZKxZ}Oe(EeBmZfwj%yo5zzUswO73upm*>=kZxy?ZRe_ygh>CS z)k@fa$y)&h1F%2}p-IFV8k@CbYgPs>uKR0aZdFW*9A3ja9zX6X36D$}lTN)4pW zqu!JXv&95LKx9o;8fg`M0xMx+@DOGYVRqLIuR8fej1>1`a;r2&2qcCEfrBfxIth86 z6nV1jxJP{;^4XmINxd)U5fIAxght1ORon2S4EK>WlwjV4%=%~{9pIv&xvl)OZ39(k zrIXa!-V%Mu+lY{*mRPFdLj&s%w;i2YDCwX{}_&`}f8Rc$S-m22_Y^-kjs#Ggwchl4b*8M&!yevbUWJVAjoKe4^We+cq>S9(MMvSRs)|YBVN?QV z^RUbk6MsTZ6Nm=Sm(nPQsEkfw27Xzt$3puTyfPzeN0A0?Ad=Hk^!K%?udYNsgbfVKB4!V+UpsAh#Rp zM-~QeLgv34i5AWhdM3uQqxPMrH)@xRm&QC@Z$3vU_!@tyht>kaeg&TjNSR(?N5+8) z|L}0n%g+yYaWya?WDKoJ5co?a!d)QX$CD-dujBgUAD%1lFeiEj=W$|-@fIFK_W#N+ zzP4s-2zde4Mzcditlzev65B@5Cgk5RutKBCjMPT9xf`B&cNQMB>2YuKO6IXd5Zkn8 zmR?;pgI~s7VNg3stdu8o#N9wMR9P=tQCkO(m(@%td4QV# zj+Y7FP6|?mg=hnSDFwlBtQ0M7m+8NH9;X3Z62$TWPj(K%4;BzBLiAe&`#HeJw_X^^ zW0@ZOEovH9ofEDipEFo~0e_5{nZnE@VcmFx*JBS;R&1%0pRCYl?{7%1-;Q5?fa**g zO2&MpfeHFvtu+!}W6h>KX#Uh7&PPj!Fcxk{mk5T!e?sk;(sVK!eRd;29O9I8&f(xt zi;ltzEi1H`{0T*Q*gvQrK3l?Q3v@+x$AS^20rcqCuX;KOsnbk!xSW!NV<*mBXF0>T zN=SV3ek(INcN40^1Mnk$U-p_*+Yc$e`wcl6;PNqdKwq>U{l>fc8F97- z_@1HDxfFS>%s`;DAG0aF&4MMzZr&SkHir~{uslJ&*lacqQn)soM6i)!^9WmDwh)vu zn5#&!s#C|FH1gn?-|d_fDPs|by%UPI?qVs%0HvxBlxfsx)N49Vj0jy#A;KLP?^eD~ zHB^s-IXy!httYdDY@Vt(Q>$n zk4J6E#zAt4+J=y(s{;KiPbusND3LY1d_mW&3jP2(Gy=K4PMLZ&KA$IY*JqG{K)?sE z@8hzM1PrnbbU36M$#)MNx)QX&Ec4tK`3zhHyPR0`y&oLuE7}tX^SAe_RJr#w-)E0G z4l~66D-L>Ub~YqXU#0b5_MU^+q|QnWYS{ncK)^tW0?CJxL=QLHt|SQ3`I>|FFAkT5 z#w6%OHRxmNnWzSdff+XP&ARmBHC&v!rwj~7-IaDdduffxi!{ez7~qBFjnhQkDh+24 zxA4{3SzD8%ttN+VqS0-U` zWd`dFLPQ{;4+VpyIdxV+UjBW@M=+4m4SG0f{HL&Q$jk{b`<^Jm4z{1Lm&X&TS5W^k zN?`N-(b3W7myLIlQ-`v(3XfbJ0i{ETSLFd73nA7)tSBS7C-P?t;0TL2AD?34Z-Frup6Mk%;kT0$29e4yv`yJ3=Gg-mRQngCR+ zo136vhfu!9a%&`P<=wVrP$Lc3=r0PkYSOmSB-?YSO=jdomt)mIBCaP^XB+&9(|Lz+ zd$z3N@wf>HIPI-0O-7V-@l>SsMyvmZ>NXV|EzBsfu)z8r9}1~UD4R|RNqG)M?xkyM zES_a1(ZT?gC)h)%@5wzd?xY;0Iu zq?LbrrYcHpxe`WK-xW>@d2tm7Hwg(_;V3|*0Y9AxvvhW~IOC$U6sUV~u6!sVYBpy! z!X<2VdX|y2MPM{?`ttH3Dfm}OY*fhibYx^?*8i#b*N*q)XdJFX-}}?QG;V{JK};e3 zzSn7o6VW}y|5)B078L@nObBstaYG7MyHD6VbnR#J`Pax2C&OwJdT}{yHJRagv-0xZ zM>%_$Sy-AnrBnag=k;GA4=ymxN+X@u^~zGeu4YrS6tjd< z8Z!PXu+Y{}K~~nhAJ0TTji?RkW(#_q`XTx0ZK{f1Ncq)k^;rQdR6Xhy6IFw=Nw_yp*dQnX#^V?>AJRw-w6UeW}5`xca${O zmB4<*rjg*IMGZ$uKYTa{`pq)-bP~kLCKTWXyUw!vxOkS|PW62-7Y|Gh_T-sbJk13OoHaatHP4J*F=#gg>oya!BI ze8cXsc)sEHaSwtktHAk1N86XJc;c2f*az@}U5QQpFKjOlY9$aab@$U@cR(VzV&tr_ zsH<2;=B>1-Xn_6Dlg@_787v49;$KHo$gS5uwb{g1NrK5v9TB4NV31&m#f)Q4>7EwH zQ)nU7=)>`)W$%8Dlfl3fk);F&Xp)^_c*tIdYy9tp2b2cKrFfT_t;z4QcvrB#vxnQX zzDdpDV&=)MLBkRj>G0J9{SDM(tEqX(puzC-k(M$NNQ~j$cKJBp)@H%pR5Qy)41R-g z$H|^1!DD-m%7>sB#IlY?yIkNj8!2}ov5_pMXeg#yL|cBj9@Z*V)0(%D6C@k;b@qO2HqQ}H)5`JL|eK8AKb|LkTB-+N~oNXJ4ULe?f^iNINk zt{~oJQl=vP@N4K|<5?XpK_+z7tBCwIZMa26DK)NK0#TP*87EIi2IU|M1&0n7z_3s;R|JwL^pL=q>!%08!J+|h#5kH3eRXox|U;mLiU*%UYex*asN&l%Y z`X8^OQ0V@@J&yJ(EXF94WRmz~=659OMy=Y|`1lfr_MR*$MzS2O@cLL=j+LtT*mw;( z@?KWfDQOBsx*o$zZ_Ya-BSEohbQ!GJ;0|4bXw+F!Ib~pXIHOD}e!k7ZC!4YSWWqc{ z$Yp8J*noW1>bJBi@Yl5*vfx!oGy3dU8)X-r0Mn1H4xk9fY9Ht%t6WCZy!j~4lo!@G zE~mZs(foY^pX1e&hAvdKpS!g=GUHEUCo}QtHui?10CW4G1343{UY0;3#*hsTZfGir-_+eO^v}j&ULl2gn*0pfKU&uNu4@e1=}KdGzk|*jSWP z6j6Qsk*>sn8OKUsA7>+jydi>NgL`{`Nhy(tfc=9U%mKEw3=U02wSg|h>`^X(rNhlk zDvg65=d{_2c6w5-1j&$TZ=kbg^m5UA!}AqWavcj}@9U z#@w(vlNs4`lPh_>L{%a~kKOqsOCQki)(o%s9BuUG1zfw#r={pF38WH#cGr&gp4;$X zNs3#OoI%1<^JVW6Xqf0XGU@?rFh8G3RTd4h?0H%>Y2=s4@usXiO^a|>DX`GCNU#NR z*&&Bx&xXm3m)TJC``v`;rzqTCU;MqP_OKS93Y3U2O`J6>f=rX%G>b z^5C>lZ^swAr^hwNaw9yO{IE4AHin=DlV$Y;d;bCF>_ik>>HZkkn4Z7?z)O36(C7k0 zVe-LpWF6Dm&(`DV@;Jf7!1$WjKRs7wj3FT|7TmL>-jK$|L@jVF^l8$Od$B;BFK%S_ zeS23NI{shbMZl9qKzQa%HLrdZ#K%XaD(ntnhBeW||DqxxzyM$ZZU?|K0Q5ZpB8ERx zX>}{j3RR_8EVTYf5U5RNI%aPHBf9JKAOm};GWYqE?TrST3TwpM^gMCjdQ*-}Qm75~ zg|h!Vn~yM0h;SRcHbN2-x~z3?)h)TI@K-k$F@%pYTk(KTrDD~{AqAw|PvzqaRR%K( z-P04{>$8J%Z@#Pv)3t*HMt(~>=r``H*z!gGS7YE_38lennNImNnu^8jbL&-9*umUc zx~Ia)(Tf(4<60b!x@IiKrxU%!u--G?zkS370jS2xRkMwnUo^h82QmaV1xKaPSo%kO@RY`P4t5-uE#L5+n^bL< z&Dk$`355Bup!Ys^f6Zki!br9pP4pO9+Id zyn;~zvP?S5VY|j{M6p?()&uXA^F-Kq#NF5tH$j-eqKSeh7$&HN9r7!}V@>e7$N+x< zk=k3@o^;K{%$HdGYt#EBnSx}{W_&UyUu6nBUUy_|#9=1lYpIfCr{zZ6B925&tWp;3 z0Yu196&AL9&>ClYUG8D{j0M8F&aq(#FyH?8dKHS*{!iL6D1!?O+RF1F3yxFY16Sv+ zfgB{(YL_uhhWSM(geiPrI?l#@*glAr)uquAb`y^0xRU;zgX5U>ugl3;V6ew+)A|0^ z$U7^V=n!dSGc&iF(d8N>K5u2UrZb4uUnn%(Ng6ygI$o=Nk)fh!3~3fA>soCUoN0>C z(&Q-E9r|gqz01W*8K0$aoR|SB2TJEMvEFsqrLj_hJ@1E5LB`8;Lw-4<=jo%b+e)52 zbjcJcbwWbH`{w7Z#~fqMG)eD$GY^gd%?xDZ)sSSod(&v*)S)erJtR`zz`51j98oFq$2K18_$K_Q<##HYIWPbfm4fkwG7l=|QoY54{0ri9N;l=RHsXdoj`HEbt$8BX+5%seh1&J3CT(oK2NzGrm`3g zAW}|sD$rYmmX9JTebU91_f4i44oIdJ3nx6E3WF%tG)XNA9t2e~Ee+l1|xrW(Cf_ zRGA)~#*ZJnO9`h9!$&1ONnW#LNSZBJ-I`{;AO;)lo0c=n`4SowLDyT|rWJ8iE1bU+ zR?5%{4;glO5e+nIq+S#WK-#@wQ63!*?|0P5p@e~al;+2<>`Z<69VVR1xh7rEGk!uRB^jCNe zwp;CwYe}~sL3A8S@NOtskKzB;+Rg7;fBphqurzHy4+8$aei0ZTe5s%H&whYM!TZkY z?RCb~p=T@zk0}ep8?1pm!Kd5L@OK!m?+MLLo3(GqXV_QwyZ-xs_B6N0T{&?Oq;&rD z!@RFRf%Ofbt{(6B{1Hz*T?W-zjVPPcRxC7{$=%n%fX8_om24$hy;k4pX9(_v?Ujos z_D?^2%|4}v;q3S?EdXwQLPic1-fw9M2Q7-vG6MmNj^#KlGMFVdP4p{l)@LRCWrFF! z^gMT|{`7@Hv4#b~6UXR77MZc%B8z6*Tuzg%Kig6jW$5^vQkdL*<8H6JJbDh!lHQY5 zm49OB<{DvmC7b{4+;3}x5XfuoU984lI5`shau;J$ZfoG3Ht<`FOq8 z*Ccs!9E(wwV73^&p#;NDDN*off(hwVf^y5f_XbX7=%OTp^`nNrah_`*EOSKcI26Y3 zfDo1S!jt2t{i~HD*{S&g)K7Y)6)JLy9P%6PSUNVC=rzemnmU{ccaEHyzo*$q1O%>b zf4aXyaMW{Aj}eif3EirM^9zQeEF=eU2%wnP0BduIVA8--9FZA!FRZ;}r;gS#pX%1;ssif7Ws2mCs!+ z7JRsV*>S!aR5{)GuXDvUz@2FRH}*+|J`tCVFp;+TGzCGqo8?`SK22u%K0s%XdiX_c z4G!}8Y9P>t-;%Uk2K)TkQCw`DP|aB)!~9l|xLjA-M+ zuGs3xilS(wD&mxx50x^NdxR@hW=XPSyCR4Q7SiFzW=ouryS{qv^#eN6ZRcEHJ2+5? zRZBt`g=R=pDzEptjj?em=y3&{^=H-ox~82q3h^FaT1FTex{rzB@5qgRM+%{ye=9Mp z{>|~Vsa`Y|cppz6m}|~LL+^O;8|1ka;d-z^&b~!!Y(16}zPd1VL*K&hc=-b99&k6i zVde|=+klgOe{nOMt@Zg49=frO;q=}6iniA8T3r=y$xE*Ki16Sa_xzwvMCQREJ zN2;Sq27EXe;nwqQ@8VY}V6aV!0y|`pite^3kvwhVcoGR3Os?)0oF`Fz{}5uLu9PE9 zQ0BmcuB_QuVs;^_D0+R_x>d?nT+>v72kmi-94U~mdP;`9|8b-(=*t7P=@ol7WA3Pf zIDIyACv)u3af~7M5wsCGB8)_jZszLRQeGahE0u9U{=ZMX`UlX49ULA`)G0rP*0J;1 zhp$=QR^0HfXt83nwl@aWn!WZMv{Tgo9(=#sSe0mg?6*g|I z@P{Y^yAi%itv^4~vmmJd|G|LsT-qC)njPpA1O z!MsSugG}QWpY0j{;Vvt(zCgKZy!uf`&yJv%HnDuSFh01oSjB2%4GnHCy{4o{0o+_; zfjV-hi*HMQA?vU+FqtW4&_F%Pt@w#_HiDDlovJu0VlD&$71t$wFU>P3dq6pWw+<80 z2oAdwYFptR|ENvj=*8?R%3Z^i3r0DZ?%<5|0Ja;47lR^a=$z7w&mpGfN@HyRl?}gM zF(3v8Gy62}Bm;4OaW)_>Y$=rCqToISYqtSl;5_{W0de3R>^Y)NPWP9c4R$Mid^Zc2 z+LZ?X{)Lg>NO?Y+4TU2tE;f6rA(gAn6zhp%0Ef)?5P$rrKSYfH`2*Wh_}w$ItSZ;#czzX2C_`8dk?ar{>K61a>LFkL6r$*4tm zR-jMUX4@%_Ac}i6`$Sd(7a`B@+TCgMXR_~o_IdrdgR}RrkBkIH{N@4r&dFeiW7TR^ zq-o)GFnB8;O87&66h2tou3}_*DzRH&T+2vjwj&455p&D#>ji2NQedzBLC+R)!yo5R098b^jr% zYOSSaAYsL=?8UX;d43o&Na>Nb`v5*Xc$R57u`}YR`LcrgjEtoFp~7*KoU;*e#%zez z3mDX$k1@CM%+%9OmJgjy-fOJ<(b8!>?Z>ug>Xs7z38Lffqev~&4J%nUl$|Yv+PpW| zHY-ChcX8Lm^9O1ngJ1RhN<^9IPzKrro%cK*^CP*jUBy8;_Iq2kITeH`vT35D6}OSe z{|ik4@Q^Dwvsu@m?Tp6fT3u<@S99Vd=+I2_B|ad&Fqwxob%)f+R@PGrowmi*6nwlh z;gnOR^fMA<5U>VEN=DtQYittmZ0t@`tT*MJd8zV)sfwGH0P1#^9;2K)V4c4X>mg-K ztM{dGK)?zSYSzx7t|raEHt9|ZK@{jG8^W84$PLr3zK+N>e_~ zp4NIO`O8Obl48yrx6m1?gCe+|YuHD0cI*UO>__?hF0+)+W6Gy;AIQBF2nCC|31n!4 z6HB&m3-+eeW8$Z|IDL9E3O-%MIY=FR6heG-$PLRXb?U=3^{Rt98aut=Qy!6j^87Pn zXtn>4=fi>ensqux^n?!^06QQ-XLU3nN=G>92$&DyzKiUW#W)xOHI-X0&~?KI&}o~l z&yrA|vQ$Wk^z>%MU`p0EAi=UIh=XLE8PbH_jdBaAsqEoT7~qTy9_&z&ty>qfZOyxq zePxItYnZKY+Bd>^65j(ujrD))=NofCwhr6kE=@M?A;=IBwKvB@&q$~?BMec~?>BwSNdTi2+5Hh%w^&tbfq5|hbgR&wk;d-Z4^_{FqAJ2MmF66)w(Me8l;Sx4QYZH z!X&YRBLK#)os}_8YKVmSh-=ALza}*STQ*O6E|bV8Z7B&1kF}$QEU@5MY2qR{rQtij zmKEHvMUHNm>K&gU%X*UdhY;hpx?x9L2M?>slN1uQtWIGkz`$`0T}gAi^GP;-JBKKg z(9%9&$4|PduMVUZ;K zR;v5>u$Vrv;AYZ83vG1Dymr%=eCBinx&AcD>T=k!CpYefGuSVLqyJqj!NBb2Zglte z@|VE-Ue?BynCb3g9Vst8*49rF?8Pc$Es061tnhJ3i_Vnq2G#1W>#gv%0Swsb!u7<( z@mG#om*d&5$rfE64l!TA*xaMfpJAKKmhd9YFdDp4D^Pjw`!r?4787cW#u{lej2It? z4MUqBY{l*`5daU*u)TvTWg7etE|uCA`GwwD=1qhLFeUkM%JFMOnEM{SBxYN+ZBbvnb75Gx@{}-b3YzjC5`P~`TY|80I?&WEl04wrs8Th*I8{=WixoXTN+l@mtz(|P)$S) z8{Wf<%9{i!7c5 zgld7W5AHd5;p6=fLQdR)|4ak+-1`HJkX!2dUN@H;<=k?Ibm3*$d1^DYI^*XinE7xp zV4a+&Y-D@w-9M|WMg^&m zfzN-O)Ng+{O3&9zm)^bs^0E;`1q2H|a;5N6$1&YFt6qfwudC5QnHU|u1%E3IVF7%V z_&=8Cyq_aEHW-*5&+Xoq;%oOTGFYy6)n9L0l^V?-TOQt|h-&@J?_)w?$+T2Jx|Rq_ z7}IpRwg%M5FUvbl(#wB{?AT!AZeuXv)#YO$ZM?l{ERu&=ph;Pv(ZkqUk1M2Gtf2}z~1rD0)W-d@v8qT#Gh7M=Rd+@&M5b%<2(g={!rlnBXB0{K4(u3e}26sOR_ zi*&{ZsMQn@G>pl0vU5bpj>OAne>X04h1Sx`xu5lwN)~~iJ9UNj(A-WM_dg@WqMij| zefiU2tDkYKyp81N&RHJ%y6FkFXd5xEt_Fo!crLSJ$r*b8n8Izniujeq{$ncBaRXs{ z_8PRjpUw;*5`-@nD#_e=+|O429NBAAPiCQkTLR5}PhiVg!p3yQ|`83GfVs~3mOK!UcDL*9TyE*72tmv!EO07UJ)Lli*-RwWnM6{;-mI> zSY$M2ZqcQlO0IlgIH%uGn=1|@Wo6a|d~NaV_iUnFxnxk4fCit+Ekj!t3Q;z# zai4sLMQ~VP5d8AdZa+ymBjul8XS9W*_Ab%pwraCn@D4)QcFXbE@WDQ^afpLa0)|bf zk>VR`WmRM82dmK<&jra8gH)7yWWwJwzQsj^wSru6J?qZFaf`Q*IeM|xAO&t?v5kLN zH&xA z-Y$LWYxwzxSJaWl;`Q!_@p!)63<0a*5r3U?>H1L$=ZCnzzj;3$e>;5ZcK10O0Ghzy z56ff+^=xuB1evQgx@pu)LONi10SbVM1er$U9T)PYpvA8t0USn=^cpjAO zOV?+toP#6WX zX{3&9>C$LZqZu`3V@2an2~!pEkHQdoh1zG+Di%p+@$&FsJa*vN7`q!YB>e8FL1#)3 zqeX!X2w=Y%^YrSCso7+f8X|+eybFkoz9QhVADMkr4pB(v2zNrJ1r zrG`O_mdO@vF_F3?*?8nUkSx_{4X1yDzlOxxO>dzvQTQ7c_swB8|<61yRH+4WWuIls@h+WoLJn|w0J)U&< zzzHZgVZd2Agiq(N26Gd(L}x`O7)u8*SZ2(xN@cE%Bbhc%Vi77I3Vlbmo5@_RcielZ zDjcyY`{#2k#waUgd^Uz8%pX7_cB(}+3u&MpvTFPeef-l6_H!9g`i)_|ww*f*m^HEw zi~tBDw|c>I(6mAgF9>)_qJ+1BlnoFXFcM%P`e3aEEW5G|W|XBa>`T(!gJiyZxXzuZ zXfKLK$*H5HC}V{S35+B-1U|$$+VFS1-9=G{$FSA5$4Q5A?W!KcLc)|HObFZ)Yu!}1MR-G)_*Y5Y{a72Uz+b6Eh$D9(oRER;?1XK{f#F~44l5}y6 z3vnyM&j6Ydm?) zu8~p{%;S|Qy9^dP=L#o0ZQ~SImrl$UicA55xxio_wBI#6rMmnWG59zU$V`s_8bqK_ zwP{t^xt)StS(0lJT)5c)^pDAV7Pzj~VA8YBHN|!5TD;}xW?ht3v z&+R=NSmCSipxNO5URy=mUd6_3GN6thY`~abuDFSJCjd`UNhyv{a1mn_3h&ni6@_dh zk$n{oXZZ`2G|S}gm#kf)B;Jf6755gwmWM+b03V(y0y(Q&d|UD=`gg_@jIe;iD)Rkn z3_+e+Ix7t93}<bgafp&e6C#sG@BN`6gp#g&iq;&!gj}#-1+95huL;2*&0ig=~PX z{|N06P~Tg_1rCbDKMjH`~tP zY+-$%-lE%^-e}QVkw;G57oIkO$oJ#IyN_~+U&|!Vf|`1JVE-h@pr(z`gBnzta56#^ zzLX_1uwRckK5jv|83$?XGZ5Vr{fZB#E|4sFH+}i6%(66bCS!RmuDG-;)YN3-=Ja?` zIDSvgWGA!-Km(SWOd6u$Oo3?OV!YX;7@dE$sV{vnusJ*eB8>*#IlpViy2KfrpD9*< z9<>?psnt7H>MUyyE#_%{N7nYib5CdtFcxGiEE&E~%l-GG90Oun5EhQ~RV=z`1X7CO zmukyB(K&oM$G_nvi}&4`^uGgC96Mgrb1=R&$%xp^;5UOVSjDDUbqF*u0o)1H-Z=pJ zD&?6zTc-{OET8!sTw=0f21_Fu{i{?%?zFFl&$0kHdl9$gI)Q2@rzc!!;Ejn*X@jh_ zBDDAtUxo_le5LKxNTX=pY?>`gEhW{mooj*ld~6o$!!GiGbtN4*A4{ns_0!*2Lc`8B zSQqlf)J)(>Pkv5Pp842|fnr2aU(sL!E0V4?^2q{r$iPn+`KRGWXkf;N;tz*7S;VF_ zm_Sq-xR^g9nmG2it~7%rT{Z7#dCNswUa42dh;0%T1EQjG{$oCU-9oSL_@Td_FE4!G z0|8dpf})a#SDxeAu)IL9UbIs;3~-od4OJ`#x-BsCI0s}ETg}>txtCf>U^@9FHii?( zCCjz{s|fF_rU*-lE}bk)8IYPD8QE)jn;NSG(Er}n9zapw0Fc{L%a-L4$2+8djY85FCyE#Mzep9L|eR$VQr6(b9{~{k8?u0>b%#RK%r3cQjimg=+1WwNDu5N z0%R+)b+j6@3AXN1d$rm*P^pm@QauFv6|Mfcu*W$r(O_9o!M7y_z8Ovjk;zA(mHE>A z(BhOgtoVSznwD$`(65bKl_5y`F@>RH>An$3kqDib#29;m1WPmUz5QU(wBaNmEjuGc zj0_}c3Jg(*RB3AI0RiBcCQHr_7b{x^IvX5bo9F9IffObU6GPQmCAV%KByrDdo3*MP z8`zHSg4@zX3O{X9Rk{SBJy#I+vXhZ=UJ=c=Eb4nm=#MDbl^ z;s$HE4x!4`Uw||whU%_X0~|od)Sc%4X$pA#*@mSn#mA^qNL-Zc?|=El5(zR2xye@dC%Lv z6v-$V#jlUQgnF3c`p(j-N6rwA`BA`TZX*{7Ip-%aIr87S)3PFT0<(UW4WNLcufkF# z-I?j3G==K;A&o6Y+h~0Ccz2m@70CmG;_CQugpg^a2m_cYq5@+K1dagS!S+QUB!-%@ zznORCI#^{b7Hx@L@@BURi5sqibdgi!9z`EPAHsj31b4T9?8-qX`64oV;iEAt!Gx$2 z(P}H@rjU)&41vmvSqGKNmVYui1fEfUi^DYTwlaXEh^S$}i>e&-@`CJ-8f78sMGzzH zMMv!y&mtRP;13(~X)=0n`N`(Cc2qE+LnkQ-%99`B6Pd^qja-eH%;Rv9HH{#7x0;4K z5JTY@iRNz)mN(<*FaWd|ZVH8op<>xzusW)QbTX!^ue($YGDeJu&YwS#Yjc=xQvWCK z{rf}zoETCfA4itidQ(CG2y>?@2WD=47$|ra%;1fGEQfxtzYgzb=Jc_^X_z8p(bLCJ zR0JIFk{~6dn>pJd^?jXF+>07xQKfcsDTn;2b4e(jUuwdOOY&!xX}9>X2%2=k9!io^ zOVKzvk=hw;4dc+Pz`RMY)**hr&_rTOdL@O)!XHw*r?f^;Go=ahAns6lR?HPZTQ zev4mu-;^7z-8QjAGzv5he#$S^RDQQxMm~pSYJ(a-pyEHlojh^|9yWgItE+>CPEi0L z)JW`60yWvUh-lk=AcJe=bMgm<1XG0o7>nvjghX0EOqym$6Tvg?TgA#w*ggUs_yrmI zM%Yy1c?s&VctdDM)FLO9nRqw`Yhut9JCC-$@VG}%@n0>#awj$}#O;fAH#Z@V2NXc1 zzriSMS!goBTcm4iZjmtMgc3;E!tDn&Ev*cx!mO(%uCz#mF5&4BG)0GwlOgn)7el{8 z&hcIde;G0tkDi_Ief^Z#LOKI67)EMXWDRN)nNHBd>;)K9z>5}KBq}~dPFVmIa42Nz z1o1_tOV%VCHjT#`!ms229+g0g%q}x;ozNOwlgTGOiX`KUB1E+iiA>CRwO69y#b&Zn zXw5G-O`IZ0N8)~ogdKAda=u0^fe}75cul`)0=GDn7(?W&sF!1F0c>Ol? zJ57Hi}A&sMIc9>-6oPV?1lM|En{jC%3mMV^N|5W3O`$V^?$ zFq$SiEw8&GIE%!HU#HVPVPk>dCcus)qZe;#8Ug~oKY#z{2M3lTdKViL()kxFF(BtL zuj(=UYGbp_bM}=X z!{ArHtx?+a>B-unAGQpcW@(}amT60Q@#2)^v9k*-l@`-}uI5+Nvi1X(y`_*)Arvw0 zI-%y+fh|#%llveZxZt&m}c{`~=e3g=s?hAaG<$!Sz+_S5^0MkqjJdtKk&qX_;^DgvG! zAjV+70ZmNZwkksuOH&e^@Q#_f=Ah#U@=BY~ZKra&OqD6wz{l>D0$Unos44KV5RFwvz-6&mfU3NQ7Vr6-42d)QqLyB7%w_HWlHvy>Dl$BSw~*%dNz(dM)O5SW}P-jDs5 zt26H&9W>dq0&(7frg38plk-|3%YY_q!A`U5KZ~Qd`|d+ekQ8B^qfL`bX@eA z6cudAGnXkzFJ@7Xv>kPAwRuz5_Y~STUhR)f>+JZpOBHFjU3UWS`B&(-7ahDnlwUTY zKv>A3{FnDoS5*CBlRkT41eh{I?258a-(lhvU-fo0I%7v;uaq<1Li0b~v|9~s@7Ff1 zF6&LOH<~^AcVNI>X^g*RxL-rZg28-90+Od}lUC8TQca{WB#qt`TGL;tp)N1iSvz-A zJ6rzN&E)}X3vx}y`SM%T6Yq`6DnSgkoBhsZ3~!ytu1kY>p_9*Xf zRdhFZbF}gymE-ON&Q}%?w^6aYlyqI?K;QyhU-lnZhxx6%-)^N*Y!+BsE3yOpS4$ z(^=FoJ+^rLQcd*GFJhnVBnkBpdB(q=9h6+dhVs7ka3y$h%+IA6#&=WdGCJp1G?9US z*ZyWO$f|CS7%~2ePM)%Nj^>p|C^ajM2`q>3*kra=X_e4K(Z7mxiPBVKioyym5cI5 zMQ(0`ubo@GzO+Xg9XUxPJNfiCuTxoTF#%w`v)%CC! z(PAM_;B!~6<9(K(GMzfh4_!1f1FzcUsfIusP3C!%C(`xuI&D7oSMl7=UL3#*OT!=s z4oYV>xV5Do1zrQ@LAxno?NUulc0OE?;qW003F_&$_3E7Wdk#+5`E<r zFlG@ECX2PlK`q)8*JmoN*KR&clvCzAsimFYv2$Y+%jN3)aik&(P1dDWv(<4GHO{ra zE}bX^>RUUfM|#HDYVX+A{FvDv=&JMcu|}4h$ienC7ij0_7A|caI$6}Jhm@38|360! z&MEU+NTblu%))b+?eFui;!iMSQCjJY9GwUrCeSTOSJg!%iW;lRqg=k^>Fbvzk%ad6aDM7|XkL9}3ToBikow`X@CCN}WO~tO z;{|}djNUO;_ixL$FMc9Nk^G>&NVB*z_8V2MHrGop*;1vwoh;zuZev+8;2#UL5jo~u z+)(%YzvQQ9_kKb3QBvpOi3@`7O~rF+Gp}d}Dg7)Y%}HTA3JfV@kFzD)sjSG4v1MwG zVDm~N)az5CgI9(YN|Qs`2a~Z99tZJdb}x)YF)y37a%d#RMO2m|Opyz(Qp&rC6ykn zt59KHEOVz+;xx*HirZ@Ne7c<hR*d5=P6T(jm=SE&Ae&g!IbcrFh>}f=xaS3s z;;11fJeP_w^o?p=&~s~-PJ`!kb}RskH~wpiE_uwSHyIWpV zcV%tO*>M;>QCL!z4<8R#I7!R02@?v6(d9p?VOtbC15~4|ekE^-F`>>t+l7L_r{JKiL!=jS3cc!*S4f_SV$7e(b3q)A@uO(R@Mc7jCuz=gXg@z$ zaUM^ml|fWy{9E<^m-gGKB&MUIJFsi#Tg4NaA4hMgA8T{{(trPCU(b}|NmG5>J98)l zj@!0uCDzJoY@AiZRzFGi7>O5{sI7T?vCFV1#tYA%2@hvr>`mP*RVYpzvZ(&eA?D#w zRTi%4F{!kM*OsSOc4>skbgNt&Kw`h^za&qhJYkpwAdSXYyUV7GS1QPrqsL+_f*Bacm4)d(Ce4Xd> zQD$|nv}suf8wdTttz79IbX%zL$#tOVchrU!DwRc<)s&Nyqh;0-SBCwjHQb{g0(eVe z%IhZ&s;+Lr)%mH%MVv`(-qpqF@HYeMa-OX2+XMM{3N_o_4YAWBvnz<5UC&O>&7a9b z%AAXe3mK00HOh!;!sp3}?~-(p6s>I@FOY8FJJRvUxERloI(LxL?SrH{>ag4y^&Q;iPcYSZZ;& zHHGhcUYA*)m#dO+Gc}CY(4kUI5|WxC&(?{ZDgr(n6l?JN52H*A<+xM3G#PRgUn|@!WJL#2(60reaFLwD!XXt)o zq5@@$%A2-5l%Yl&B1w2iZaYP;Sr3a&{aq@tj-SixlmAg@49WLXP1WcU7%UsF&u(>H zRjmH7&q#c!-nX{)AS05g{ry)-Vg0fRvQ}m3v?;fBJQ0ZQ^4R zW97vX<$xN~e;Q_V*G0km#--jkKj;aQfjtE`0L{)rytCR?_&I2zyrdlTZZI3mz0<3Z zk2fV^Ob`5>ZAA;DIg0{@M$XV7|_#zia7}FuRlLIhV(OLMbp7T4N$4- zxfX7OBJeS%xNv5^bnCjU44t|1@N%&c#a82$>rVOuLtQ|ggcvn$yk_3}p;-ZsFqn+L zaAAmizkT&SU0qSP0PK45YLFZ{$5SM}c2H)x>^>VvmLOm8`ReZW$u1_ch$}7TgA_a^ z!m@fDG8Ga*JWL8nAvf0fqRut9K{6;704dG!Yqh=gGx|U=8Px89woOVeXlO>7j?OjZe%&$rkM^k~^J>nspVh#0(+LTqv%g^`4 zar?@nMctLVW5gee!EkbhTV{4Gc?F6BmcG(bKHUXH6C%>$K!ds`h*l7rCOQw~K^H>7 zOcgLH6fs#_p7WIlBc5OcawkQS?Aw(FI;s7a`TFN~?W$Ty2_hNK8>9kZ%{v~9 zeL2y9QVKLRS6uu1bUp+w8RVRJu+%jqqcfpZTAg_qOYGfM>&U4yNP93}X)2?htgUN^ z>kb6=@8WuXx4+$H)=wYg#2Lc=xJ-0gdN1fXY|SZB8vjgX=L3a!w53SiE~J1mm`SF+ z@82p8+b*rU#*)pj72QM-gEMA3QXoaZwr(oXR=5tH*G#L?c^op9^O%Rdv^5;jyme6`XR=hA=^DK^UA9I~?FLoOgXaev zCP~t#!P~F6-W7)AY-}!eI>@+CWkbF5H=^uv9oj9#Y_`^WsmRD|!?12Oo;^P1bR5M8 zm@u^g*WTr}`x~5$O5zutB3t!}glOmG{qdce09n+O9my@ieyMaG7j(RPUf(u@q274C zZrHCh{)bq+X(j*!MTXQQ!7Sn9a$qUuWQITIFWgapa!r{88!JZx)jHhk20}dClDHA{ z6(YNPRYZlG)o0C9wSy3X9YzTg#Cq1L@J;B25{x`-kWw!5ySiYH^yqZ8ZDQX$q0nx} zbTH_BVf(^Iy2e~tV{D;MxwO1x8(vOSF(vKps<_Q4U2c z)aa1kpGOO(`SFMm@|uP)4_$^`MF_6Le+%vt2GzuBWrF_|_)C?>Jy?EQsa_(9}!ZyyO8nC>^a#BNQGTMZKv!tQ>|;0(Dg=h;kvE$Si)3 z1R6AX>sa3S_^3@xwJL6oIJ6r1FqQwf001R7s4O@L79}lFo4?Hl$SGExT>fe=Pe0HX z(3e_}Vl;Gw&B|H^=XHII!XG70)=SGEsoB`vEumj7C*p~^V!T=USIg$DpW*Tydt(#x zZC(WW%=M%RKZ{Acn||xhlIIUlU{i(z2C|{n6J6RNu}=?=;%Q5@ z^{)I0g(J&sGYeDOj=Q##lUvEHpl%osmblf;)vQqBPVE@N{if5;BKNj}W7MFUg}{AU zyB2y2@6G-g%hU7cT_loZj4CS#eXB{~u}-Z`%5@GFtCcJ%*ALTEwPJ1>hcZhpD>xI{ zuNhDo?x%~RNsS!0D`r%cuBX8m8msiN-h((%3>3XHLYxo5{1m7p-ro_72zbF`d&@Pt z*A*me8y!4wRd|QUf(nn0+UGoCM7q0E2?c}|=Kr+!b;Wcof8B(ka!LEy@Z+aq`&Rem z-ri;|i@dekvt;&)QP2_kVxecxQ1AldRP!c*DWEb%i`x0}#dAR}k=7K51FaHj z(XdglN%Ud!38705<@d`uOUuOrv=ed_jLL5#xT??@0_r^$#xwPbM)MDKkKmeRZ6-?= zjsf+42|{luP%z5ZVK68+ZrNZv=0_Uhm_^^R8S~9c2Fja+;19?*0s&0nVo==49GFQI z)ERBbdKndPXrfe=(!xpGwfE8R%6c_S;Mne%4}w=%Kpk{!p08!VSwO5f^lPo7B`FR-`dwNWFc|tiXG#`h~+#HTUfB=b-00&(-+S{IZZg%={J05^73y9*mlRzTlIt-4d1i9!v zo~Yt?Jo}}(I}d=-g8GvTAm5@EEv!3EkLVK|iH?=Dy%vXyWGpBOPfssD=X0*!W{gr! z+E5T=qg0t#Or|Wg=(U-jal}0V#1NIc(_%0 zd3n*B?Iu&HatisKWNUA4Z@AtEwGq6we-J)XV~metcx(NK3F?f%aXTDO^$FwMzjkAM z)SE7L)EG@ZUavfEuSc&e<>5+X1J>J7as#{{&oQ@L*2oLzD5?GNpVu>N*v}{C&(BF6 zImp__zh87#=;-X5`kZ#YEiu(qPd(sp*ltB=Z`bfHx@wqLa!&q>fQXj`l|+4vkLscidv zwH6L!A`G+EKMdBQ{Bt|AC{Yw|v0S;@W_3Oob^O`(jjCZ}cbweR*Su7F61c>>>E>Z1 zBy|1(YGh=TC%a2I;rvHR#tvCMeL1|A2rq#kr2q0>N@uO@a1|xOGrQ`mHwyD-)!ktT z)~Qg=6j9wNdi4*FgN2bD3flshO*x+BHa&Cph?3c&^)tHwHVD^XsnEFowmLX6L3`fR z{$pv&uo~%Vih8M0et1?@O#N2%20(dQ*LJfj!m??%e1wgy71!p;CJ$pq5chEy)oi2M z%$d^Eeu=Yz!g2XAO$0bSpSyl~{NpS+R$k@#m4>Fw^|bJGiOst0{{0~11wqXN|G=>+ z54YgNomS{+tSxs@sQK4-&W+hQ9S6T}}+ zHqi`2pEN)C^Kdh4aTQsMr{4<;7-6(mu7@G2d~&n?4BjEYNOmQ32*-bGyhK!MyYitH zspANQkqPwih=uF&HRZ}k{7)gGkooRJgCaW+b?oCHNol@BuMGh_2P1z+?E2D<;N#5y z&M4z=blQ5AuI46u{n_YOiVvP1K}!p%93H#j;7Oy{V+_1I3#6eb9-vQ_;4Y&0}d| z`g7le&HFHG85sWl%HxXr_@aIbtXYpE{{;a8q3fgMaOQ*-PKc}xICVipbt-j24WC#A(X zSuB-egzo!>#}fXybKp3hp|fmLCv#X&7pEQX+3##r=h2+k#!32;M>f^0!=-uBK)Bsk zD$6#TO;(;`1Q^meJW+C!wq=z`TCW{4%az-pB%U4vJLFP(XQ=z zYBV{Zd4H9C^|#gpxj;vXX~3AW!*Hvq=b3blI08-QD^Ftf*}C)csZauzK{-I%%WAPM zAZ6xMA{k3iz%((=Q1O}%xFY%X`fi+t+Uqj0ZZEe9DTendS>yX=Hb%3z8pprWqa7nQ z#pfiTLrdb+t&(0jNA>m~%_LKr;&1!&7WhfJygt~|5w%8D#|Oj6kY>+31HKc11oF}2 zFYlNb?ykR`ouAFD-`N3u(mvaz9vqwzs1O?I8P#tuBIq~@XXh^0Tm7tiu>yv#=6h&` z6&lT3uJh7d`#LEM38Q0XxMzQV2^%d{Xw;j{7ZFFKV0msa5OBx5dDp$O!XD&=s>mQtRt;t0T@J0z?fm3qK|X zXO}XrIX6pHS67~4L=I<>eYQ4GBTW|Rll4h1UW5s9;9&Q~2@5C)w6Sh2tgzKPD;pUJ zxyo3MRTN%Ta0gXQxN*R)ZwX$sc3}qq1MAODYlPcXEw~kOQfgT!?#GLOG4?n)2|Ru* zU0HEDPjZ{G%uj2QbULk14PW~#9hWH_VR-GtR;ORj_ey}ZgU0$=WKb(%c7vErN7%8@rbF%FPO6h z+uh>F8mew zVed*X`;-#Z!}HUaEUB>;#eg1DO6i6S@@m*#W9C9Z9+Yam2WgvnjJh zhVzHv+L>iZP>7hP&y(D{(epH}X81ooDm6YToC&b0J1nwm;jD%HY6tdk*|6XX%`qZJ zBZPqU3zTC?`wfw3fzPkpGX7X8MmCDqvbdc;o(Z_Zx~W z?gbKkJZQ!|>Wm*i^!OnVtudf)%6D>8B}Xu4F5J+Ff;gT!z^aOl2X~sJr^USs-uw$J z#B!NZ`S+{Ex4t1Og~5Ps%V$_Q&)NNZk#ySK1mm=lk`P}ndXMjW?kiXtf-epk7NZXg z|Ea5NcW*C#z!4v?#d1}~?1rVPLUaN)UX0H>Vb2r-JC%A19y+qdi;I2d!yKirY0mpa zaqZnuB94IZepdBrGLT7!CqvppdgFPd{bWxXLaWvK)ApwQx>1TYbgIWUFq~h$)>E&9 ztH5s%kS%AM^t4C};fR-q;;LD(3KnW!!!*A-`iAf(pwwk_Tlv?{?>Br54E5qHcSKBx zA)RU8csURPE*I-tpfEZ5C9tlq#_Ely5Z=i&?(q)TykCij6@M%Y__kcW1Ge9ms~MkE zOLT+6m}ce-qS@0g%9ktHcVG6y;XThjjy-;q@eYaOqGbKM!$qtUoCqyy1%wwO-*-mb zZzY6RJ~w%3j3zVV&}G9oK0raz7Vx2_iRBZzlL!&m;@v2GdvOs z3<+Low?CR_eq-|Kf8D?H&Zwy)`$lBn&-BOOSp`g2dwX%~Y3q#m3?|6j#)ueP18K;d zieqSlOiw`H#$e|~KxVyWna)Nl5VY-3ddK|RBPJcfT zZ!s=!zi1Scz4E@y^g9?&A1Me`UUgmras#y72OO%fcsx}!Yx*!m1ljOzN2lnxp=kAK z;$qWyxh2m@W~1{U*;sGb_PU|{R%&}mj8Oh~RyaQw=_V0I+>h<;->fBV-uY0*p6=0Z z6ZC!mvEld}o%a5?jnNj0j2nbhMMPHsf+ngSjv_d4^f0E;{_1(G{?QRHF)dhcZj6H? zFl)Mv@a-odIU&j&(Y%z_C@l(dIrZ*KbCSzrJiT^2J$1cY(r(_qm3#aRKx>|`30H(8 zMdG~gM~Bg!!JjAlJeuQGXpIRjP(BMY==ub-X=(F(kH$txS~*@xIGwPluB^HV%req@ z_7|E`QDJunpTVz%i7UlYa$#o})uc&+0Rbk>a@S|ca=l$uQLbEH;BdhgCIwiXfEx^A zETSg6m!!jb^6S;B=9~y5q;(L!kO);AciGu$*|cRhWG$$wT$pGh$pSfH`M+(4o^O_4 z1@mSNZOxk$cYS*CC0^=c)D45#4*RUjIMXB^n>-tu2QR+Io{O)U)4*p%FfK``v^h>6 z#Gw*^fM|dz8*3Oe6d-y87gM>_kr)x+i+vdD>+MD@CgX3*w%I)hR?@ttHR)sgB?#u9 z)WcLtAQAT<=r>NwO)a@Aph!x8lf39n3wpZLIq~JIBsr+FnHKa0^modqgov~?$wLd7 z7)|786}wU1reyJE_!RBr$&_M~Da_ev-3|~rm9@A_79@oaXH`j{p&n-eOnW6gBIya7 z&|4c$4#eD$go{|Bj{qi-Db;b{%ZYwM5-%VWZA_?69OhkM{F~5`%t4%s2{-@<#z$h! zR2j5a+(u3$GrLE4fI12<6uX&?U2MM$6Wp(rs6V%@si?Ng$lOWG$;wJiEr<}QR~q?G zEZnQST=?JPnWGb++PR^@`Uk?Zzl@mJC8al)V~+*%V$BJnIx;FUbSF-VVAgIIzkGzO z=8o>#E=rN92AqCNVpyXiDi|cw3x>~O+aKW_$^FrRSIr8}LtC>e#!o&5qL6rBD1=U% z#UO6Czo+WzAN-6Ug1{}Uccf=ySS_G6V@A4gWw<;*m$Un1S`!kyJ=?hYrVVZ`M zLy@%)dztpJ&{l-q&Z?g%Ht@GB$ zTi3L(&3glDVLBzvoker}^Nq{A->>@*7vgt1T5^eM zMxOg5LEF7Cx8eD5I}8hVy&vH@o?Q8xbs>ppQTIn@9$wR(ovj^Cw z*At64lnS2;wU`_!T=f^A3fPy{P8ukfr)WE#;LQ%lEsyKFFMMjI<1xX!>z0fR&+CK2G}rr2N-Em4tMTtc9Q^*g{(c<^ zsiw>SK)RN4u)B6oWe&dncxS~x{1}MD21vXcUcc_K{Kou#vk?x944;GjYhp*$4>ym8 z$w=oQJU%3q5n*dWRO58s^i%8nG08Kze!J%ec=(ukd48CmzB8B=`zfx_Km7}NuUwL` zI~FuSc$lWR-z(^sryDx!|9J8NvBD`nQC>`+NB3fN)4vd})aV&loOgI!w}0=!X_jm^ z7xHz-9r^ojD=p*B#UKtFFg@6zjLQy2AXA8ytf-sH+Cg4>xAhQTxM< z(OQ^WE(~;B;r#fwT2!~Di}YA`RGj<)y=}U@lt>AkN4e2Yx3Of_ogYdw>4*_gMhE!Fcmdfi|Cs7@`bjA>N>7bx{GI{bm3PBh`+c6o-LUl-Gw zZpX}395&82R2wX@ur2#g<#z$4;g6jx?N+A3gX{`ZkRp8##c>kgQ*57+Dmoe%(4aAF z!b=_#s7peLOZ(fMAcB)p#Dj=rvf6HagSc+5RT;?>*7k3nG*fE3Beqn`FO_BZ$CO8Qo(=%6X^2Y z?vD&0htF`sW+7OBcFhTodhMYUl`0yNY#{iS|Bq}S(U7|9ACUinLfn&ikDdHA#oo~m ziM|SIt_TM-xSDX;u02is_J07?Kq|l7-lUukXm&?B4#`VE4wM_+Gm!;c|R818aSB3XU z6|7c8;3tKk!-hexkaLVP3Ya)e$xWYHIiqHJU3tCV@9_tN9(#Sx=8Y#4nV4i`5GaVa zz!m)s1Ly9(j@k%&+&no47SLiQ47Pi4b7XN>~pH0Op*c04hS+C8rlB1Wh(B)o?W^siuylsQ}&h$OvHl;VUlJz_bQ& z@Tc+cBaZ?P!319rxQRIRl#>Yqs{Z7szW^CDvYXqbVNHz%;Nk=H3R5^Ue+_$?vk*4? zKF^*#>&-VeY6r*KT`7)e0XPf*q6l};i1ybueRE`h2xIf!d>#Q%41;9@`V=~KvGRZ` z>XD}d`wO1?>+5gC77uR>s;ZqLbQpJ2xRiaPX_m9OpG z)j?U>1QKxkfc!i2lf+#554Ya|j*ktjwlp#td!Pa2dG|f{@7c2l&{^AG^J>Na0Cu%M z{^>71e8puf256p`rEB@{hy?IY&44e$ok60V%H=LJm~hh9?0fj~7e9xi1I>ij)N#ii z(>#6pPk;7{rAwEbcIwHXdpfD;zQ5iqBKu1`GCb%JgEJPpD_?!>3!nQ8p2~^byrpgB z%2&Zs2^X3F>)+bH{rh*#zct8=#S+bP+O)=(UVa4`npe3H7t0}2rcBW^3}ei+dEc@I zuxQ~zKr*3y?}DQDhA^m0eXZmg0S z?W{bN(!A{$1oTJ~KqVAcP{7hgL1sH047ukF0GC<2Et z1~{qz) z#@`)u(84c&>2t=93xfK(I-JM;DUL$Nq_iR}320?Iiv@7j76?=}FFkI{n=jivUhFe+>^amk3#DaeGPzhZ%2O5 z7aivIcsV@0tjw=VH`mk(PaX-p*YmE)({igOZ%+cuaDMQ^A2Fvb%8q8QcM3CMD0QJ| z5P$00PZ)|Ll&rLy_ZRo|_5Bc2lq)YcR63?iOreeJXp?K!%7o2`(E&E1vf5u1X+8cu zOQ7(reFq|V=N#Ta;rnC-d@Rf)0nzNi=~EBSBzA4xyxW5TGk9DkTUlNS0!%N?p-W_AvECg!*Y)(ad%S5^KI_Wbd>+2+c<+E76KRE@0`Cb_ zz0ZYAv{=mZ851^5MWuYf86{AheP3P$TvB7Z3UL+<3C?1iOKZ5POCkjLje+p z5h@zAU9wPNKt&N2-k2o=>_$*>sSkF_Lar_yG8$q8M$*lHQK59YWFiDKVBonR^+;?K zA5|4HXVzir0X{CMy`ZL28O=&kVUP89!DMFb^x7hIuq^dP516xHfP@U zuHFGpy|}B$VoNO>*;0vkdDxpzr);)VSQfCTty4)B);;EJin2J-iP)T&A?kZ`oZoK>v-4ufd31Zru$@u*N zeA4yw_F!>O+c|#{%~_e2!$pW0ogz8Jf|-P1$gq`odO^z%keMj)-691t6l6^TR&a)e z(5Sv53wgP}mlvjL*sP6NB9?2teSI@*vVWP=w?6rat03d^2i&Z~W9GsrlG(m-U>%qU zOdfvtQ8ruyDvg<4!d~72FW>Ve`kg2zM~U zWV#e8iF*MV*drH+1`W|qG#?n+e4ZXv9U(k`zck^w=U)UU!K@e`&_FqCx8K#Vo9bcK zN2<&1`u2Z(@5B?117QL2#LO1l?Z-d;`DZ@;$pa|HM9R^90lyz6vM9Cx%W%W`{0lE= zs=M#KA3H~Ubj)ZOHDU#V(LQ9L0qfz8c2rj<-hOxN*x~p2IDJZIFS?I!?+m!}hB_s( zDA&XvF^Yfox#$1+D_=Cg+==Hcq6GH(&Gk1eU9$L^PkbDqVHgg|3AhGQk4Cq8_1f=! z|A&l?qmDX4qvS^RS6_P#`{l+GKiXL3Ya0A%Joo$y^XAUQ7s}WFfC;bC0_YbTKrt9*cF!~Ea8bkt^A zW9i?sLx5-P}h@ZHh4I_&Y z7+>JLaIjwncZOb@KN}g%0Rv&DExg|Ex$pktjy>8;@Xo_eKl3b$RV^*e6JdpLX3v`S z;VWey1DEb2dW{ZZhXnDdWD4WrBM!%=bre;^NSO{Y_Zs-@l~;a&nf|OS}!5?LdVrVFRxDLEiEl{+CV%e1QU3tk5*k4xm^6JJNU) z#&I()1ya#ycYFKV;o){~AnkS~INHIU#V*yEaS2?husabRIkgOlGhxc85XJb^*rHbD zj_??pq$rkBG;6Xd1ex`FWt6HKVIarkqM351f{@B3oRE*Wp&s|rq=kl=C<`ov$yl07 z!BAH+OtkqX<~qnclYlG$s9FmE3u;Q7v;w%CWNfF=?c4&4t13FhyqWE9q`NADk?FN{ zjg_?(-e5Y7p9@TP)_5?EvwcvG|zQ9y?tphd(Y;R0gt_+44)WLTRJJu)bch@BA4vyi}pqD zeQssSAL)2?2Z#05M(PI!_8xcGY^=;*dwF%<4*a6Q{N@5TcUr)ZFEENE58kjgx#jUsf@rn<95I6&%7JFgfZ#|3wqZ=9;*q5zs zkf|QsUF!bWC=MfT112*fivkhZX#6f;xFrQ^{=(-zi~TYP4#%>ccp?iZ4TT|Rx8ouJ z$R1o0cL7Hnei-pMVW_LEHE<9rwDQ&0w{LGZYQ}>1Nhh6PJQf8&g#e46ef|Yb8v{ip zm8ldSR17i(a$DP0z##KEibkq|Nf86eHZ(MhixRAQ-+%tOaGN!21_y{~+o#bYCOq;c$63L~jhpqR zV6(en+^K6a&X)srXPE)d7`hAZ8x~EJI0S9lMC-9 zH~#i!@D{=^z4S6xu2^jk4Gr?BFP0y0uS}S+9Sk~|Lmjq!c}q((u7n6f%n~3jbbwuW zxv?+dKfnKfjyU|#_nmgCu^*+t2&5;QtHFIn)!1HH^b!KFILk9TckKevW-rJy&pyY? zr@X8T(A>bC&08*DPQSCXdBaV=Y{XWo%yMYr};Q!UcB|G{D!<`@}eg&>N94< zD~B+RO%V?p04NXrGN0eOYfnDu3}e;QlNgK-??}b${@{*m%v~L*wmIk6s#o-FYhBce zsfy3%3`Z)eDnhdswGJe0_?M?xK92rMH-_78pIFZ%6ER076B`CRk5$%Hvn_JV)(-cS zCDZ0Eb^F{dk7IBkR#qOsk%*~MR&a7jz`~s;SAR^x+F&>U(2SDGY2$1zGv*tdy~CWU z6m*_Q6PN>iRJDr$03ZNKL_t(w=K_R%%E>1JAH!$)@@3dHqbYv$%d&DZ9WfZx zVm|9ezi{E#HXUAE?ikkwzc~R1LCA zfch2G8m&Z7xZx^8{a&BT;SqOhIb37shf{gG(=YXRJAtvC_DrqMxu~fz!jX^p z{7^O(cce3}@^w7}etRI1wGVf;ckXVdJe*C~z0SmN%##TuW65r}`^D|aaQD`!Gi()Q z6>d)^k?qArZ#3EG9?pBxS&s0txjoLD+gs7#a^w$LGOx06s>|yQI4W<&Nywk^x)oD&gmuKP0%`#zq<55;@C?S zPwc2+xpZsR(>i_rOY5J@c?+v4YUmX5PO3iu&Hwkm|KBF{b;A|L0o4ujG-Io!Wi7!#?MlrDj71e{EFDwU4VcG`NwPf)@rP=X5ano;qw_w419ICJ%9DJb^)X=%; z>bACR#~ghmI5qaUEiKJDo?&5R83z{E#6|ak{(*n{_IEW@SCqsf7|=&Pd^rJ3_Ar_T zJNx!`zNh^IaAsE#eanauw~lAT9(LGrGtIJtmlXNgFj5oA#E<^xr;T-ySt`m8CrKKtbl{*xivapH^v_OqAXk`!@&nL( z@Y0Jh-M#1D`#6=3{@S~@8&pf@f;sl)_*wx9yzs*FpLpWQM;>{!h_imItEbM_)LZXwDCL9IGuEk>eehDfnx(4^ zB3X(%v(m%jM?8`E>ev6Zln*fm8hbzjr^L;h+mIW+W%w2IEnwFLwKAY>eg)}$Pvanl zpR-;=y7G$4^d`&w34F||ju}aB{_qC{LmAyW+LqZIF3Q-pb?dKweZ7tZM~5ZXMlzlQhvPipS+fJLUfy!W#$^GJsE@2-Sc2T9cb2uE?{V(76 z>ds%g%0^7ul`2`aA$0qH+`>}*{#rD1=1k2T0#25k+1$84N-O^FTmrFZoYx)pBQkB1 z<4_!KpMT2qSy(qKC0piG`eI^O9t?JO>?#XafG}5EsWR766HWSYwCr+- zPmF1i`3Ikvad47NTGV!?U0RJ7eu`%y0M`-LQb6A2a#U9O)ijO|OO9XkQ};jB^K{#J zixvc1W`%3(TkGpQ0|ST7XwF5-(!;}h?aAJ3{E$Nr;SI(sD-teiUE1mkNBVaSxjh^t zBhyn(5agbY=UhHVZ+9Qg0n@o`%gkvQq-@yI?x|lmYw;0ece&YcX=lOS=kpw>CZL65 z-QODtSh(|hBj^7;r7$T4DK-FKrdYadAiu_DTOy74qLza%6N3iHYCP-n+T@uSO%L18 zf3YwhBZd<*%t*Ip#Z<(ycP^5u^?0BX*uH)Hm%j8R+)AE&^2uNR@|VS|auQ!+{i~~| zZNUJTmG@h|$^ec6uc8EK_!pf+jApZmXlF;)>fZjXV0Ui3HoGvURc!?QGhO=gj3U85 zf$}6#P(lsinFu9FQ7XA8dW=WotFLNj)=NZ5*{24k+~g8`S}QhU23$<2*<#Kst`o$O zf>c=7O4tan2^cBH(*j0wDI^#Io&@+7-g0s5vHBxWwII%NFC;;0go#&KB|=z_b&-Z2 z2!YX+jc~z`)lNEV$he!#dC>l ze&+Px!YR$s*zlh2J^h}<;#uLEyf+t1Z0yNQshc{bdCsPu-b^e}9th;)`TpHeXEx(X zWxd&S^}Gg00Mh|qXLnC`kFBC{{)XM{!|{0kmKTmaWJ=3aUo_#%+sk`1J%c-ToUy$A z@aFoA(=(K?4`;I-eS_T@@5YY7L^9(DamJvQreRkjIbgCWgf2``6*MU z=GNxe@uysM$kN1ne6gO2rI-dmii%#dW}Sx8K+wP?wfiZ6lDqG@w}|pxd|b13-JIF8 zFly%1yPBGU;Tyb1WEw7!D%c8$jlRTE+8$CM8gP_Zqn!J89eDk6Udk^D=+)R)gLc{>I`D`;F}GW zfuE|XBVYLZXEkI7*g<2pd9~TTSZ60@XlQ8Kv?e&{P2vwd^r$j#EU*Xo1H;k}KCkby z|8T9w5Ze?!NIWBrrS#w2aO13*GXY;~a91V61J!=4;xQH&}vmav;< z>zn+{O&0_2x?f$-Nsl^?*Cx8_*S_&hgUSqSO}sZvCH$p=nAI<6op0vOz+gi{S63I~ z+3WSNZN;4WHo^=KnveS3@UahL(a(^>RQYZ2F|sg*@r!c*gAXybae)Fu+=H-Hf}x1# zhxzm8&7U`y0SSnyvmB7XF|)dMhy)YMZUeq)oa!*SkTJ$3;nt?8Z{<2jMFc@_@XhB7!O{r@AUVbhK;uN zeXq$T!gfrC?|mdc#uP5gVsTt;@Y->CUD;#?rG;1Yn3cKUtP6kotzSE9NAZ?yN9sSX z{`NSaGkjpH-)R&?aTGcxb1Tx4Ks+Yf1bHKA4O`9R@}Ww+5AEI6 zF@4?~jsRzEyLI8To>TU&+qlQmwl}~a_Bw|%@xgHF!cSi6_hfC^gi_dzZ>vm26!a|9 zE0Mg`zY9vZ%(GN?6edh;hI4rxyN5VRkY$Xcoj7xE%c+hZ}o$^w_iMs+#IdCjZK+Ej0^{ zY+iUM?y8+0r^k<>w{2i>*ys1kUQg?qtP&V~4^Gw^TJ@TY62Se1c|K!yph0yf;%5W0 zA|^%cL`lWMx+v0mv?TD(B>?FBlb`(Ly6diEclkT#_8xE$P*{J?#r3f`DUQctU<6vd zaN*5YusCOZUG=V=JDHvJbpRi0E!Rj~!# zMUlu&p6xal%7sFQRVl27YaT*C+rTDCRbh!26-lKN;GYo5HCk2utg0;4p?28Iie{xy zPE}b!oy`|SFcQ04t~`J~@V}VgifsW!OFUVWoE7K^CG<2Lp6Of;I)~Sl9*mwgZQe0+ z=3{ZTV|%AB80j0dWjN$7=*#6Z3xlcd!T6@GIQGZR%An8dcDk{1$Lod@tI2pQ8uU6M z75+n)F2sNHa4gl|9e0!kl1_)m9fo%)B&_=bvu|PwM#zd-mOhXt)*1?%20#`9NU(YqRx+4ig+vu+#fDDM>_}Dv zM{*&5=?ng|qnZZGBOER0#^*JMtq9Pq%2k}-n;SSIxN}?ERt-2Bg%U$pM{e1&^*jIm zO^vGp(PD8%67T_-wLx#h8!>Mq05C_nXPka2GGxUU|Egvt_4W0v`+~Ik{bMXb0e!An zvlgTYNLPAdtP8s~ygDpiya+IeP4pbw@T=e45XLQ^@>Xo*0G8!!L-1%F16KR+{{1^^ zkaV17LbG|YQG^k|sRph#_UG0EOcOK~ClZ{ohE+09*AM>dyX4h)8Qx0_KH~&HQcgPI z1Rz3iXH7;702!i&xsG9q1?UW-{qc`|7~x>I2=<4MW1WiM51i6^JzgG>t+7`fGjlAg z!SCkHo2x0g&z(Dme=rAk=8>)h)> zV~?*OBX%dqhf#fr=}D=98^Ezf#&lv9A>5r75 zbDOkwQOtS2D#cj^)J+Y1lP)bm`JbOTMTG0hd+ez}TdrnqeXhyxc1)|o)mz0NmWs+GLujOz|G5-FMAuhh;9qh zJPf-~$4i?AB&{Pk^7wy#@^ejt1vKXh61MzoluFEsnYaWVeDJ{!evre9{x(2o+NGyY z63~t0?1XI8?#Q5L0FpZGoc!R)+fsY>Y;(DMYt}uPh;HOq8u?Hcju`}iLoG%X5C)nF z8iWd))CI-7K%~N&QUyzII-@x|!4R=$)#?n-V&*J} zA}W%Z83gK4c!|$q?!rSZ!E@!W;v;+BK__+FxRXy^n$XNqOI7C;Tv)M#lgg^3BP9wx zDoIkV(8!a9H46?NvbJC#*grJr@Onf=6BP+a9iM7UxAJbz{38byPG>4{K2ceb@Ho4A zd*Cz6lH1j#~f{M_F)>F%z0wzJeJe$ zpnpmzGMo)D8X@@<8zqL?4olULXK5S11`cj#sr?NMl&v?B~P_7)#oza8E zqnrp$WGJ1g!%CQ1oDx5BNsM&6&2+n8E@MN})2*sEB$K9LF@rGx7LA)X zypUk%t;$t>Nt!Ib_(J|N3?vyVBe^uQ_wEjS`JMmx-X)h@WPCS)HE+H3k6-(0;n=R; zzFy8SAXRpS-}qafU$!Y=SO);TcHKIii(Susy@E&UYuB#bBf$gs3oxg#35*lFyL*bZ zOJhEB%+W`g+2LE9P3~Y-*fU~*2%=P8QHF;H03b8`p|jA3+65|Zlyyu^O*Mzn5!P0~ zIudkaI67>G)OGy+?wH6iAu;?=?~iQEc+ji8d%KG)NzIgqec7^uLA9VPFE8T`(4#$O zKn5J#-o69$wzRQkCWJNkMS!Uw&|6Weer#!J2Kf8q?RS6{J@&*3tT+wI(@s4Z8ncvm zWEu(XhLJe_RRO6>VOGr+5TA|kya4s%Nhh6P3^N^5df&Wx%bkC|=h{zRjoXAj-EkMK z10^>&l+yooV_2p8%9lQm!&y{ETr2SFz&ixKIMmzVFH*IM^yWkgMwMl~1iSU|iHD<6 zeme|5$ao3XjjUdfasB!Y!C;{I%+tr`Fu_zt6t5J3Y-GroA3qm<&(Ar#;5A-*t0VWj>=t8J9>mkvy+uU`53`e}{zyyS6B;PJWBiS#&yzVGPwZN9T@#m;9d z?B(yDe%41WxN;m~l5kdw!bSjTckJ1_Y{@Ec_5Iy`Fmd`JKBu-hbX%`r~`o-S=;A z-wE0DX^rQdQ`mN3&b2?bM#hs)Ja%F0TOjXdhE{lg65#EJM=$m`i9ReJ!h!^8l=?xYGaY{XO++ zxkzr{ZewgZA@oilB$UtzB|X_Bo3@)|ceC05Cc8;Cl_VqqLJ0%{gl-`8VjF{dm*gT@ zvbtXH|KFK;x_*{qx!|yDaxda}?%bI(GiPo&^UaxW8c&`!WveGxoSPd}HBFpO4t3UIZ&k*>>fBeUD&pr2Gg}leB`q!JazRU zN%>DAjYC7d#_3)GeQkJ(LU!s&Vs#>>fWitXSIVLgiN`dOc%Vf^#;X%67h{>-9-815 zAzGAhmPux^Fza1Fn#HUk54+*1qHuVX33eNf*(#&_2uQ5#FfJ)cM2a<~4*|1vE%}!d zol#wuB6J3+y%LDHp^VZ7Ra^eernCNlKbA^j{0J-xUvtLhNZXuQ%Y-V|q{_M}wG$>* z)=wNiVa4w4KX~vSN6?q=8vN!>pLV3<{fS(2Z#|i<<>rUnDiDcg8 z^p-m_QCPf7D&4(3y{ULQ4Y{-5&)y*e39BnKVHXx;mKg|3KAN<}*jq4F;&Zln-Cl>E zwPw8?z5TuY)fMHDa6fB8nU?789|-3H)}W)cughr<&1#&|*wA42*)z!)E7z)j zq{Y&0vpQ_nI2;!qMAXXgZPTkEXMcp3U7QWu=`y9~*)|HIhrlX}+*n zWW~WAe+rZ=JmK<>XjvJ=O5vhy=@qSM-3R)F=>zFB)mKW{x~~dJM3n9e5vV#vr6ioq z1$PKIWK31~$YdW}0Q9SPn2Z&bDWtc?Q(apyA+~P?0hOz3&fyWZU77-*9d5 z{#113i!Z&rV#Pb4nIlnJNHB5c)x%eqju;FV=PfRDWEgE6am2JjpO3seBF5!*O`kTE zaSkIcmQS&59ozx{XJ?&tIs_y7lFmdVkRPnp+js0_?=qDC=9|l?8;--EoTLG;UcP+A z6Hh)3EPEgoKnav8WKKu%E`>!v+?6+KK)5R`C$o)Px)q{XC_Wy_J9TD*SG%; zxaX*&=8vq#w(Z-GUA$=B`t`?`3G}ev1E?K_lk2X%T66U>DRS5E?|JA?k6v`)c_TXx zX*3Ez4X9>Fx4j(mV+ z;R5``Q_q}p)+pP%4U@28!^XmfiK}oCcq8wyE}hBapDB3!EMaU#Jd6S5CXwB zF3GcI&iwYbzQHW!uYUcT+Pd0{FS>AF^fmkScczk&NaT+XKHS#U_VF99$FrU%4yp~j zUFXf4qua=xQ&(H7!~6X$R(Nq@+}YR*^kY|CRvbwfK$eN3=H?dQZ}!uxtf(|zXv0#D zddgf5%Lqn3P@^X1oq6wl4@{gep&0uvPDv$KuUV^c=i+!HOvaN=I>9(C4zR24Y3HB9 zTfI0^hnWT&7RiDo?hWXJSWtq~_pqyDpZ4|l^GX>t4by?>pRWM8vrgdlxM4TaA1RbP z%%2*CKo3G<7~2iC!~4(QsPg{?BE24WO;!2!ogD?2XP*;*m|ZT$Xxb+)yyc(DzXr$1 z>u+B9x95UAc`9!3s2V33+GRr(xj1PFkc|ur=EGPVO;$cmtDf?E3dtI zadp+G$@rAteB(8Ij!E|TlS>R_*(eSN{KuYLQdwCJXM&F8_MR}l05^jp14(P7+sHy- zRIwyxj(Jp^x;U>HK3EOJq6t_j#G)0un%9^NUl`8F7UM-nHkXgalRX2;(wG&a-oow5 zpA5Jd+T@ubho8$&FYEl;eMby%5vsg|l)P;wur(5x=LR?~wx-24FWB#XpXVRG zc;lZRc=q`h-%KYmHRa_lyEBnUSIujfck!`hRb_zA)=a{Zj_7e8-ZDE|cPwg}$y!N0 zw$tM~J|*1VyQ~J{(Yr+Wq$)T-IxU zrQ6mLwPjSF92RwOw>A26CsgK+E+73PGDayT?mUKa%u9!;fdk~(Ksroz2BC9tVcO-V zI7Wv-sQ>lb|4bNs!MJMhN*gg|z|_FLGyoL!_SolWFPf{OJRCC%l$?GI8pRXiy_WO^*9Eb2Uxt8&pGn>indNX#Dk8EolSlQU`)%VQyBrp-~sorm!Hd(i6&~x{DT9X z)@-)I=gV4b>(;MBIpZfx%%xHer)<+f7YJ#E&6-Li`v>}yF1NEZ=m`cf{!)OxqFALl zrB=e2k4mN7r)suCUFD+cm_q;Qjv|}n9y&-P_k!vLv4{zA-GKZhOq_~W*F-u)zbN4V z03ZNKL_t(O6b@TFE?#@o(+#QU1Aio1Th2N)nW#_W#7SFQ*GYfMM24;g*Wc5F(filF z`sIBU3G}1s9drW2KX;5=x8D45{&ad=_KGF5w_fq-urSXTUTOHG8(zsE2raGKrcIw( zoKn!?WD=iTUYIO4I%e^rt3Gyx#wD-3;-kPo-}&zMV1WP(1^WXB0m=k}xb>Es3=G1M zMv3sQvbCM`vcS`?%$#wAfw>#Wi~wo48MNmY!)8EXD36V+`wf7h&zN!KQ%^qwGcwR5 z#0yj#fDA_92mbh{*|TPVL~9pRFg`q~smV((y#fgaUchfITgL8K>W-Ci$awi>mqHc7 zIxT!TN8K2$xIXw+<4?*AhmMqoK}~C+f%f)Yz%&~-Z9eDhv+ytb{oVIMKXT%U$Im$O zNP~Y_=OPmz+I{!`5kNJ~wc1klt6ybXW))1x2DRC?eaA0< zbvu`gn(=PLXe{P;=2GL(#*zoso8XD*Oy+-n@^e%N-e(lCuK<`PyX^s#7Zaq6nwT;3 z(xuBm|L?i?ewIPt-F)K>*RlH_Gd=Kzv%MSl1Gw|ge*Q~t#RHtJq18sGqmVb=TncOX z#7PrA{mEOj1Tf;Se&tK+)~)~1kADi1e(DE5Fn7+J;`@+?V$}WaIz=?JWY5#b6*)R3LJ#Fix?W{^arKzVqH zN8+!;!L5#!%f5g5w5+u3)1SIk`?2B({vZGOeI6n%VO7GfqSFlf<%Lh*1_J>$JDoXW z2DgnYCR3}(hNa|`rxJw_V6g~yCO5#o;P_#AspL<7`io))_Tp-j`29&SZ?t04g!-i` z)>KxMhJwp-91SoW5V z;a*xWzc87!ueC}e#UdeqVCWlAB0p z2OSeS+P8{9jcW*~v6v;w;?{`}!G8iJi{&MlG7r8svI_}BxCAjA(-|4@NHVZQ8Jq4o zyhpY8lZ>`_9c}F@m=&uP_OY#nD(wU7gR8Tcm4-QUM$>h$K_7hw# zT%Vk96v%-?b7p`DIr zckea*a9EVVkZ*Iu#@~*Z_2LFbt_N|Lxbs0M>+d`%Be73>>T|RA@G$nZ@7lGmug(GL zs-mKNn7{Mb8L`C;H!)IDC7qse;K&^a#};K?{kzow=-XLmokjDZ+F;LU{O{i9xN|$Z z@f4Y}K%R{Ez#8mU2VeeFW^m2=SN*Skh$;2Loyz0{2vGAr}`5W$V}i6j(3^ic^w7MpXh4O4)Lv%1|alLE4@|3uO<*gSQSD z7y@o;pc#_|N!k!1;U1e_)u>Q5spU|))sGZgC{rQhN)b|>AqhI8{4%=2@Up_`tUk=@ z0zYi(%;HJe+u1I^)IxTvv)ce(X+FctL_Cp=r;@3h)g|bEA`%Hfr=8A771=p3Z`;(m z%{}D^Hm~pPYQjw};NSnx76OQ(tfkCe`Yhyv3Fr6voDD4Oq&V7KD31p3_mW@PV z)hNrbLth?)00dnuINX^dyZZ#fhdRvxpNS=B%f)hOrYRg*OGUs_<_frjHLcx|o^ZUb zetf|1XWyIt!7y~lbO<|);LrnYM>3n{+!^o*1+Bvw%fh-L(ga9UI;C!Mb1Kp`hWgTL z3Ubr^E4?NA{uKZV=_;jmjmpskNj_w3${F29l=QFMv!qp}NIsoWI-f4giYlZmj(i^F z5EeX6371^z0-loTWXfTa?GAH$+sShM@9Y4ui$LIvk!0aNMeD>slR#AX;z9R(=UsPS_R&irt=ZMlF>&H}5E*d)$&;I45y8P62>zjm z9(KB1?AJ$LV06HDx!sueDcV;Mlym9QWkiDUfiU9g#fXUFm;)dSUg((AcKq0tm(y5sF}2Xu)eT1c_S^3i>y1mm$2g6C;+C6=nPfq%0MK7~<+Ziz z)*mr_`Y&$#72|m(7@mFZ`D2e+q}5KR@COEskWmjn zzRO@L06_eoAAWySIqzBI3opL(*yB&J(dBW+9b>4D(t%3p+|y1y<<(bTf9mOHFS+l78TIJMiArGNB`9Svp&5UVF_|#(gzvaab43D_nf>g)oNeJI6@IO%m`2^gW;> zp+atKoWvjQu2)~$JMnTgZU7{}^a2w7!iz5hPwQOz7cl7Rk6odc5wJHV*dMoI zb4yEARn_&^UQHVAJ#Lj*vu1w%YhUIOD9%eAh@Uxg2Cn_jJo6kMIAHza1jE9tQ@r!e zyLnDApD2r~`hL^N;O)8d_xIr3jX-Wun$H3Pm^ygk47~VY6>d}j485^&61ev5zrB+W zFn6XwfDVvKGAyG@KYX!K5HY9jk8OrYGVY=Sd9f^Ay8M}EpW|&np~bz)Y!KhIFMjE( z%#iU3s;;WUJJ_f*0sVF*!2AIOM+ENr{k`w36z+9)*wZnDIS$a@nTGSHv+!#y4>e*& z4Zz>>@BjAgQ7;uoGO~kD2@D-fnKvXa>NCzbt+3LRCAeW{EI))98A?pifjtaG zqs3Lev*l$_+I$Ms7+V|b+KzRv0%Fq1pX|)eC9$mKmor0@+}-L9&*f6d1mqSDCf6l_ zQIhcF$%z&&&O_Mlc?Jx}FP?quqFHICZBuDRAxwf>Q{pH~9O)cN*9XkBx23kzwvPxLl`1mMBI^#vk_@jW54u;qY5`8|K>HY zFUmrEH-7fBpIvgvB^qnK?Y7$%FJ3%v-sr9_Ski|@Q4BsAoytd29mwQgE!hb0hx zCJ<*bwo``)pqk3`km8gOty!fj(V7;e)2nR!ND_60a$)U|vLq=J_gF|6I1pasoeH;9 zuFa~wAk>*yf4SRU+%0*)Vk1v{oR@*kwQ+@97=j_;-6Ass|(uudit^!yC)D@v3($8b1QwL z@m$bhsrDtOjQ6AQuHHn?K!#oZIsxPX?*PH6r1Ya`2;~KW!GZpM@NsF4bRFFMuO@PAbU@6yaZv?256t=pMgKXO{5)*5z5 zDw+~+1~ECrq|wK!)hmO+P~#*?_Lmo)Kjj0b3|-mtFK{!S&Iahbep3t6=Tj$7*pp&^ zAt)~Zf+4cd?#UONdzQwLA-Dh?Hu#i{WQII&>OVdD#0O74!SIPTF6qE9fjSauj#aDH zj-=)=@)nDwP||Cr>5&yMvY3HG(7=!X``*bDCLTR|9+0b;;>#yK%8-GERF0u2J35;chd}4N1>0WNNq%`MiYi1F{&aB?T)ks-r9r!`9ox3iv29x&+qP}n z=-75TwvCRH727tyynCO$&l%s}_5537RMlOx=DcQK(`bj^aOL*b-Je;%dm3Pgav;yD zJ1nR=&ECUD4ghG67KXN0_lzbBbybzmg}^Uzk=x@&Pw8rb??Yd8U4J(!Z^X>-;k#ft zd7Y&1^~?;MF<-w-q(Fil$NU8g$X_$EPpxIZybJ~!?CaojKCcoC;E@m(6a;A3JlmfN zwHVj*zC<50T01=-IYQ;GAhDdvCj!2oG>b#!Vc3jp4i-3l4W@4or#5sR_tPBqKluNj zi&eTVdp6C@9NG7y6EHpKcZGdbexXK-8oN$?qpv-GI>pJvK@xhLO(ePLquGATL8%Gn zIfBW}zu}KmHgyAEoM4PLbz%>Yr63|up1a-FV|^@o(ynfe00UDqF9u_9gWZ+avwS(x+v6M0MC4R(hk+C_6H_=Bggh@1b zK$>jC`HUssd;SL9EhpDsLLGlBy`(A|%$>bsmK{Nz&zY~Nq+`cj1pbSBd;zyLYO#=+ zWVSF`sG0*esI-o-G4&}3q>`ykyaT%vk3DOu-SIyBHOXVDN0PPu*HIaW8En^S{1%p; z7mHwHa}!<#A0|v%xP(Mi&VWdsJJ=F9dTyK?r6RXSZ$zHHH7n<2l^ij1thTnc@s2r` zlhnb%AOIV`W8ly*dWv-bxKZd;b)_5wTh~MsnKV)48#Ye9V1DJU4y5FtIIvCHFJBtz z(FOU-WJ#fMQNO*RQrk|Bz^(HONk+u~yTA>sek430OCTMO%dndKSsbE~yW0?6%cosM z0G!$U>Ca;&SRgG`+f5fN003B(sVQkbM4O}d6 zP(Vr}0V*XjGI5fMcz@fio*^9dIT0YsopY0)G6kDN6y*$*>4oQb{za=H45coSm{BKI zmpr!R>zT6_jroi38?@}+d+sBcZg?nXJ6Qe|Kvk&u%HPy=#q<3p$HxT+b@%!GL4R_y z@_h>6pLkFk zSDwqf)Q|mh`+e)#0I;e)@hsJ~a(MgJbt{ag8Oe z+^yEm_VwVW9cG1e*6XYiFD=kx>hLjaRW#_2b=@Q+I0!5kD1i)7XXnqDN%)n*_t)?} zfAkU|yoey3$5d+VzM%rxo(#V=UG2d<8@ILj@ZL}a9fXrQIS{KFf>ci)-J!bY3r7+{ z25bX^a&J#WDgnxtGD4NKbP`FAR=8P;L>x5|t&e(Mis6B{(LyE_wuKXn`<$dcsjc!* z#;USI9UL~@#pu#6>zO-QQKg(lK8ti|`?{HHmorygbuv~-IhL|%6kBXbEqpi?*8o*W zhTCv+c|n`YIfyM6{_vv5;@9J+_qL&#k9K z9k*FF41EGIOI3j&jeT>V%98W;<#)-JEw%veY$n&_h71-J;wxm8szi9`C+;x2%nljK z!wpBv9NzWWWJ70~U{ZH1psreRSnIsXj&3~I{8#?E%V9stZs zrf`=L{{Noa239-ytc>>&4c@^#8F?ZrFR={_fe!}B*@Jx`U^(Z+ao;S19^ zEkVFj|!JCTS*ah6yM}d3~R8`esbMl@20EVIT#pc1koaQqg0G z>C&;-grjMvg0>7K0BUZCkM%NKR6}c;S%8UW%@8zMGvu~w5sUm$&V(t#L*hLBFT67q zE24eY@rf7V5tbo`=_J___8ME)aGd;sre7`{8a^J36uC_6?qRC!w8R+oTE!=X;z$JX z(ShQQwY|qTh8vO&aBKuN|MjB5JS{WG#yIu7)}|v%Z@#aN1%V+V4BVV`1`l%GQ*Qixh&`DtjeABvlZ+=SI8@;N;X>{IVL zlaA*M>gAJ3pEs}J*hWgC>vL!Xnvz!M=Ht$F((T~|*Q|D<2hB@A183wV7Z%iM_dFgx zKUf1F&xpd}L>Y7;Boe=LTv)F^F|~oDtzd`>Pz=OS$=b*g&rJlt3c`;z87F7-lvYVJ zn1$)4msUb6#_`|+42<7y?G)clthpwy?ZAqgZy50*^L&h*(i`Yxj184elJEEZak~X> z0k3}Q+0?CO&e9N=NosxtIn?iYIRkuu?3``od^=s+>bGAc?|&}6>dfOmd;l)La}Z2y zPye#zejl)LfHxf)YIB;(c{wlV^2W@~c^bG;J)vx*I=@QyHc#cQx0`jBvF=baG;?ky zYKTr>@C=VBcWq6qi^#ZyvyJBp;31S#-&uVVu1CXD#-`w7hkJ!Qy3d^@DprM7oj|)_ z5@F4dAmr;?44t2y^+mU{S9?oN;qTqPD^jjDuDeQW$ThBEsjS@CKe#*(C66a1{cZzD zj=M-|17@No?gaZrfASEcfR<+Alxc^EmA29SQ2*fRL%}Ln`)s#$OMkzI*(Ekr<~Z!bNn>1bt2ptbmw6xp-=~kG8i%`)(1vv-Z6lRh3m2H-04BYYup0kQP0qkkByK zco|1EN4qhgskYvsFLPuY{`3YfZLRlxDr=&XMpNa1q(H71-)STfS##{`G22Q7*x#e| z>CY)uR+FcSMz?m$`AsoI;doV#uHbx=XTO=1=%>dn?KazuB?`^Vz^@oY%>0FbS&OU8 z`;4fPDVSOUH3o@i<5W~8(uLPJnu{0h_h!ITyY;`B9FL!^XEPp|fBvr>U5fyFWWq9c z;`|#nZw?d$b-m3rkSQxUF{93x5tyz_d83(9=Zbm3wMbZVI$!5=#A^+1Yom_F9=N>+s(#lyL)&9gcp&kqy9FU6=MbCe6YRX2E>`V zTqWITsYat3*RvSxRtC-W9%I12(d^arbSaJawYJZiYP!TmZrye=eXq^G0|KFL)C>#6 zxDtZ_^U&0e{j7@WscS^KMcPAfJnG2cE@K$Ot0y>g!!F1fxI!P{uysnMZTC(=CFI}$ zG;OB*!fXe#W)LQlsCEa)FnM}dR4I%*B>6yFWvMn6yi=P$)4rn9FXL?Rj|Gm&lydOy z&q2wUv-+wCjlOoCUeGMcP(`*8^wg0&J+T40BdpPyY!xyk!ol&h#A-xXx zkjM{U_!K283Ya*_^UhJ`y0{?la-`{ZT1qf0<}`W*1p5{w9S91oADWOBtU`bH7*8q-CiW-8ORJRf{5bhiGp`&5Ux68}5rVl~ptFPx zUrZ)gHh;i@N#Kz?PR&7V2pG?HH|2c=j;@jAr3|~v{LcLUtxYk|8=H%>3%zbTXI;6a zkT5OCjW(kaZG3tj|M%3fxE_GJ+s|hs(*BOjiO*67`8mMC^V7uA$LUxkD$Wf*gj~;e zd^}PG$1Ugq{+}3DU0uH3&U5}8WEt6e225B&Y_ssbY3)q^hh+UT8PZeEns{68fu&QLggmf)bda%w|HYGEuQ0XA`lIU?;9V{+wn0X)VKlVkn6a_u9% zUl*|EdS1CJz(wG}1Yz3LERp>#4K1N-*e~i1x_n`{jpGu_O4_F)w<#3HY=4HS%IrV4f&!}m1=@i1f}=DaNe_-SM035+jy>kUZHl83 zz&2zo!xjn_MuQE1CZemkFTk5*pXP$R8TBI9#@ZvldU=J>ZtvOOD}3d+<8dB$hV!}W zSWlC?wwmHkOeiT&Wp^62!fBW!_n!s=C3W1N9$|-csMNR3KPv1U21e6;M{+$$QCzNU z4We!SMDwh6!uoAB-S*)-ZW>_TS=iti9_9TSz^mvJ%ZlYq(sVm?ZHE@gz)1x6fuP?y zSv;w7J9IR#bui&rR46|{UNw>-**$g8qM-I9ddQbE!(*OKHtWeU8ym3&P!yKhe zO$##!1l|aNRYEmvjqy;XjPrb}XmWxuI-(F8YkdlcF7mn*-L46bn;(t>Ic z{>KYowgC}JCJv(eT>udO)A=jT9PAY*1TzUEiyT=lrY>t0{hELZkYM_MM5X^dEg{Q+ zZ}ukc=9e!o?P>LO^|e)%b+5vK-2Ek3F|Ic@0bBo6l~sEz`e|v?J`b_{@ZsFaVxlLV znYEDrS9I&=YPF*=|D&1QnZ z;3goA@pI@gAgi)5Ws^5hq^0##d`eaDzE2IOoXzF;-ldfZE6I-X|8pBcGz?>B_Mx5M zpooUIzC{4AV7GCCCJNvE6Eg?aYj*Mrsi|@H6>~CIQmQ1WVkr0%^jy8Al(zZskbIC` z->_Ivng5MDk$V<5KnbU*1-SK z+0_35DL?yo!CI{MrvqU`g#^z&tB)4|tBHb+&14DKFQgsk$Rp;h#gHE(sJ(uuzRFg6 zuIx0#lHXH6sMoD&X*1CuJNy{%OgoEy-cx!Hw4XPWcW?9jH!SJP7zpIOvU8i{c|Kz? zmuLQHDj$xULas|wE~~39cXhZ-FJi;9nHD(cJKZJTv$H?juQjq~MTN6mX*hZNmfPj` zGMGZ&506?1HZMxF6Vsp$-bAS;6bz&@fx?Kx@Dr}GWME8q_1!7bE)94S)waS&fq9rv znsw6Hbze>3rqgS;`0aDMX$D?KF9QAb%+7!vc$%+gl#eJ;xk-{U|6Q#;G`yBG^^PCc zk^dc$nfVqqQ7JfPS`qbdd}e(L zeJeIB_GjF;fwWuC9Vf}S3O$7b2lt0rX{xV==?!g`-vZS*Ts#bs5F77q*aMb~T87(q zH8LVKO$S1+ecvL=YUa*`90Uy0EiNMytyX@5RJK!Hiw_N3n&pBhv^FsaLfCQP4JFn# z`A1SCsDI}T{=C91Y8p(LYR8imGEGimcRmQn4iO`502{wD$d!yk2>nM^>Aso--5g%Bp$DQDZ7Q8eVp4v*L|0}#Sx3^&J_7?RbmfYKf# ztdw5N#eP0e6z}yBI+{_8mAlQ$@&8V-vha9a5Q4FeK6Y5@O;w=V$8^=CG<4A5!3laE zJAftmxi)s=H6w?x!G^EEel#+y)I*7Bo+L6z{ro@s*SerF!#it0UTPRDMbu1Lfd$0s zhCGC9M1Ud^-n9Ctz{2~O6e|U<+lmz$N>&wh@XH%rv~pbRG=pGkN(}7Ou{^lI8AOe-V5G ziv~b2nI=I@K&F%Ajxa`>fy+_=EdvvtCBs0$9Et$<^6XS!iwW}|UQkd{1P!O{PFlOJlLRME8kx%>a)X?* zZSrO9Uui*VLwUVmEQH<5ceUB)`yZB~yLZ2MxRx6^Ey%Vu?QtOX`b;P_ZLcp9P%&ij zxq8hJSe~C*#jQiKi<+~iU0k^F^}Joi@a&9n{*Lsq^fV<|x1a9BoYnkmGdLNkqGMP( zQLjjcacrRD7H%M9`x#+d@RH7?IMk!420K1%vD(Q|kC&krp3l9V_cj!6SO0K4lj-=O zIhuQSkTv_0-XeHj)i6VPiy%g{a74fmkz7*_360hGL{4rvI$C1O{lVU~m9;(dzOW>D`6|~N2SIkdq5K>TgHx&a%LxPeWDY|5r zAWI*x7mOesnkcYwyFra;?`YIoPo3nX!!~VcCqCgc?su$Xuagb4A*$I$f{f z=|c&N)_;_<>>i44P&@i*!#GF&sIrHhN^RKTdYP2k@B5T8ZkWF0Ova*0=tZ6(KUWyQf*BzP+ z3j|O76$3;i9L5?md}DRGwbWoGCNs~T3#@1Ps~nQ3W4-d|b!)4ib|dOHDuRxcMhvw% zw|E99c0maXIXSTHN0rIZ?7I@^&ry|ID(SW@M6ac{1#hHJal z@im;j?O~(itE@cu!Pc3CEm6;RByA(D*7p12VVSjL;2Qo?erUgX?hfo|QI-A8H`TO- zjt>;DZZqA9+V5hy@NlnQ=Y=E=9>Cl43FPJT7CMw)zfS}a%8bRRq9RCS$pkl~HrI=z zrz+TtWIA^C>j#AeT&VB3n~KrWX0XMd>c2mpUgi6>!0$3xxpZB9r31*rzVYz!_4TE% zn;q2i325Y;fQg%|`=BW~XhPDMf>z~do8;x%HXuRx3|=`k)x|hUZ!;4qL?*mAwa8*L zEOg_bKzP;y1ET4)S&muvjNiolsWSs|*0qVngOX=}Zb;UnrpsLcXlXaSRtq4>nzOt- zP!uA&%}2w*8C?88PI{R)rsEkrDJ~md8<%DI^BlB!srnZ`-By4A?h!fUH6wzk&ExIm zGLjX;c*e>S)S@Y%DjJq>L)beyA7D-wuNkvqkdVm@{WjceraEkCD^sMUHG17<%ZsPu zCfuge#rQAWM2cSt5m1_z>FBSLq-qutf~&)j!20^P+LXDl;L7q#3f01RaW(ZClhS-* zpJtI1Bng(Rtt~?+(BYHBeN5g)-rbAr2all>G7UmJ+}zaGRr3RFiIF2k{fb2C%?joA zCue5_+bVf2Z6vp%eQD0(8H?k^HC(Mrk@w&>OscBrDt(uZ2R4oz%J^u~aw>>Q0w5i^ zLlbml?2I)kY{x3}(ixK6P~QmsjpV_9rLSN(b1vB_2oKZ_{7mshwtlN>iTlG(nDOzBPuBOpK6V2^e79-g`zE+RR$ z{Ms4|zfQo9Z(gsb58fBtyjjm5J?81vX_4Vm)Yg^L48&BON7LAH64P{ZejrsMeZSQR z8cZuulaK5GJzU9B2g60`g8hbCif-|%7(wr`oFQ?VV#at0EHp6)YVH$W3$N;&_wo|$ z?$*}#6X-NE{GYPDfJwBcaoBhPcAlzk=l3x9b5cEj?P89r=F!z8#AxZj^%Np-XmJ<` zku74}BcXF(+E`Qv_MHc?&p->ZG-(QO`DQLdEOAS;$~BoCJmuv~aD`(Of5ya!eVSOY z;HMOTJ%83rP`1$mP7_K zY0v^T?dA4?Tj1zuZZ6%P=4k-s^3rjiN;|%WAV;yY7BSj!xiCV*vLbIZ&<&V62VzMD zO4z)!>fPP9V(+eCKs@7Hf2imEG98xxU*w?{u(BXQMqbW{eMW@gm$25>)_#J`mCfO| z9+e*!!Mk&XsFSIvwP8H5khC~Qjh3X;~6zCQ>h95Tdf0fzu-Jd&Z{@agZH+R z=epy9G(9af6~X$2@TXoVWE>`gh zjnddvu~UdCo!Jy%fwZ6sZb0yHbV)N$L+%Buz5w`Za3QXQ$o&Il-~2Hy)0MH zDEq9htKInrUwAl3f_V9mC_#wJQR}y>1S@WKeR|n_-2+MAc`+Y#cX#}K2eOX!C#+kW zp>2n^SHVry_qHTmq+ssD(^-Pz{QSK4`U~Nq2~c|2f9zjRo8j$PlCR- zqQX(5)1#W;^WGRU+kdM*_mCKzaxb{Y_T3Gtx>PQwu-9t?dY0Dns)(@NBqKYqjK}SY z%*jVY=+0tEl$s`%WDJ_j@BtW#tC~WsfKf8^MIi2Sc2A zpks5-nY7`SOqm#?-UsOJSDc+B2+h&-fU;C?n+iR+VY1`|DvypvR;s4niz=wL8gR8v z$6adgU$YO`OZs>o>t{|~t6z;}CJ@ZNzQ}7h5}qXnlYpiZ<4bAi-D&Twn)xfdU88z=g@ZKfDgV*0{!5R))&m70 zzcUT}E90XwOrAE&uJ1(ghd6fd{!eUpU`#<^y#}8)k0i5X07L8a-a0u;+K2V*ZiDq~ z**^Iw!<&V=!er&rWS-7lXUBS}CX0g0x=6)eQsh?nkz`3&$|N<3o7m;2k+6|SJsBwq zcJq;oQxb>KxmDu&Lq3P)-2(>um;|xb z&Hnvr3kpzbQWQVIF-m@XexhKp4A2tj9DMOXD`2=icjNvfsAJ_#uBfX{^tjcSA!gmV zH#OvN+wG=N8OF1S)KBN+uDUG#7kfcPhc@vsK0{atkx2aS*EIEs!~0B2?pIIdx>mqd z|5yFOW#PDP;>q%6r*Dg5O0^p7GR0Hr^m*JNi(eV;simmqnzm8~d$H0TXlDpix_qDj z&Zvdco+&~hT|qZOrLgbLJVk;e*^lSc?fNQElbn}vj1?$7V5O?6^3@biTUifThC+IB z;_dzItkQY`$(C%-5A$(aJ++D0m49J8>_dl=qtg+Fq zyt%TJV>OW7h&=ige2Md)^n^~Jw2rBZHRrS%uPV-GeTI*FfS>EbK#}-x<(F4zkIeXv zwd5+p;tRbD*Xl)nRB{$4j)a-$xJ)`dWp37ewEoLQxuy6KcX`IqQQGzQbG(7rO8XB# zJquAi59ETxxp!V1Ts54nz;V7fe%k~8XU^2~E2-)3ZY_HbL5&MHQt5pNBPV$L+w2Nx zn&pcJMZN4k?h&}LczSpc_Ss%qI&|rn;XjW#JF8S;Ig`|*w$X-J_c*8H00;5IA8&Kq zFP%2e^~+2|UVqN9wWZ8<$VP6e6V%nc-09m{u9;pamBUXn13cmPek@&fxx4V%mf5B2 zKP4K;SsmDEjDQNniWYWuc4XpEUUI-X-2aqux&avMzhB^2d~Z?^r}8-LFFRbL-=R@Qk{x>o!pVR2pfhyb_oA(}Sx3{(7^mF~U+R;-Fzi&ckF$Sv_lcD8M;-jSFQ@GgaEqPx|vbjy~ zjs>3o>@|u@^YmqaLi+sFwjN(?mgT$&i7+d`JgC9L@5f{$0?)1Lf1PnusnzX18N~8J zXWT$cgzv^?nH(%|U#M|_<+>i7mgTuom-(FgzjyM~we1yk5yw`ks-|WTZqN^T`UGHV_*=}D!r%jaa!OV2j;U;twwR=c1LL^J)|2P^bv8pTTQaKV(%6?yd ziZqi|WbBIcCINxw4kzNO+k3qAb1c-p%DZ#XnEU#TXlmUM5Ra>L_!AxdogCrS5zPgZ zWLAwZeh_8InIZk+p3_=Q2EfIZ1R^TbXX}~wujKp`*@8dJksaE}PyI_xqi#Lq&_-<9 zzt0VP(0F97`=1BTzV9T69WfxW!92`mAT`zstq8V&wZ5`k{8vVL+LrRW9q_Y|+Q94j z1e$U+OjB9q%~ExrFy3f**}CfS^=`2>VU zhOJ=oygu{7UiH~_TGrF!{24Z5;XZ$kz}192x>v-1^TOgjGOrY_U0Mfzu597l;B~OC z;CMC{0uj?)GIJLWS?44eicW0(Ik41Pt=Vp7DHENH4;$e9{A%{QBIbl|8f#hCXwiblQ4AU!c@c1sc$A^H)^W~Wz zJQuf?LCQ|J)TgGruADkZZ=AG24l3{~JC-71*SHn_DGW4F$J6u>=|mP)(2X2DqVyLU z?PB0R(l~HM4FhB;TOtdL6E)!n;aR~vC*kF<$wFXeOYgW}M<_rkz^d5sf?sQrR`BF1X2%xC_01ER*nX(0pnl~E<1<*O}2a|_*aKUQj8Mf1ropiR$Q z7#9XPF*%70Hp$k7A1F9>d>dpAP=;3E-fh;_`9tQNWAHR$j2v}eQdH4ZY!fgsj2m^V z^I4(8jU+up@*?Lvw?>4icq$DArwhoibBw>SFpWSl3Ym!(EIS$#G%4 zBzp?+F=WZm4W`=JhsVpWlMFGjjjUYO-7ak~@x0Uacog3YS%SAk0yp&9cbh(_4J@M7 zfLi-wF#!?wP*w`32rQ`7bsP9t{7aH?y}blirWBlK@;s%ISEwi(CY zdUe&*)HIn*lO?6`zb>Lslq}ck&JM1ZC)~EHKm+mRq zYFe(93AobmH$6nyH9sMgX8jdp*9X7gFAu|Iqe8gY>c)MHi{gRZ{w$sDLUCmoXEU8R zaGvF|-XD?M@hvGKXJca%c+1O^&*2U=BXFK7RM>D*ZU9)?+D-?7-~R;PPUCew*XCrZ z+YWrg9`V2Qx8LJIZE|jDua);QFvEn#i&a^hUstw0ia7J0Vu$Op1-yj3Ll@Z2Ic$iq zuZ_%bGEjf(e+l;_CCzd4e8mq7M-BRv>U)32{xquYmV@6%?Z+|>^xj{8|MX_We_vj< zo=Or#`M=DoBY3Vu58K(=Ei=|CO{@Z^H0@owCyfuaw)%vp;E?FwK24<3sQW*jf7=}3 zpK`+a_)jmXx3t*hv6!oQzte|gyI-vpk6P==!mhbn*9B{TieT!_t*v=paV5zT+SBW@ zb7CzU8eILPIfuLbJq&IOL*oT*7Zp)tm=h1$7kJi@E3C(I1_|?<5~tw0AaQ_P&=LA_bNd?`QJ&OxvCX&9giJM0Go-ojk=B?7s5k6Wf(kASc!YZT znHB#*zuraYUQk&}mP+UP6?#fI9|!HnRb#8yIM|4@6yYaHO(s`?nF1N%S>>0}OBQw` z*jBOp4!vQ>y1c&HZgbi%a_`>x#rN-!))*;iT(oKe{j6P`U4|qvMtr{7JjE&+*xtE) z*f|0fq7MrKPNP0o{kWvzhIj zh@%edcCK2RTy?0q5!tSu)+CMj#yVScwVu*mlhk`}iMf z=2NoxWNt{h?TRTrEsbx)E5j8B+d}BPqs|jMs1638+_vdeBWvua8@hp;$j*LZ=g)EG_5f&3rr2Ew>m$g;$O70IZ!FSCg2saTP-!T*t zU11j@*AM}86|?NfVtGD~;e2KlLO3@8U^)GMi9mTMzNeIL=)IBp+2qq+?9;Hn>}>PP8x*84l8-&+$PYW$anY2dt{?|tjbR7@8!6@L9v8@g+|f44qR zkYR2;=_H5+0e~ZoVKJw-*IdOdJ#juFkZo^<=Ne+}`%Jxu^KXcchj6Ke0UMRy+fP$R zs?wi9{!7-bivs7A`%{IjLVdO_l8nL#Q4$AfpX2QwRjuEJ%GeXY#eVNOsj@$kgUjoh zd5+(Q<7m&#o=kJ|lC09s`?dh%&b=3*&&dx7l{a{t&W?Fww;dIz`R8?Xr05|KF+1e> zQ*r$6dbx(~{`h*=(s1NtQvZWDgYD``CzSAFrS}!T31|PAVml$56u~Ur|6%_}Z)RON zZTumSScwX=>>;r!!f{(atcBzvDy5pSmjLr0j*D95GyGQieHF4lYZv|?ykU5=_k$^_ zPnS0Cwzh>9r};j{zsMJX(S#YxRE#mf{yx~PsZTGh-fC5AZMO40JQ;Rn!JMX|qUq|7 zdZ>}JGqu7Tjw2}cdrNSFg%pGK)~EP!(><1qZmo84UDNp_w*QY8pqx7yKGej*sHv1? z{H-Ii@E}wNG`JqAzYnu`kD5G$_$E*?*v07L-GY@E>S1h3L@et&Zn1BVI(pX7GFsDa zo4G@og^#0X(Mh)CF!n039g%5dCK)&Uzhh6DQ zvRUp!Mk1YA*3i^VcQF+6Hk%7LQ16a#Cf0%g4OLBu?uU~4dl!g$4;z#I^;{(gAdMg= z6(pSM=mj&s31J53kuDUMT^)%QP^LPV|EbL3K4|l$>pmb)8Vn@2PUkT5VaE@lBwq5k z7YFf!@z9=9HN&I#JF)h`ae-v~aSehxwu!4Y&UQb#fGxF=Z~fk@5V($TGvuAF%Gpq4 zXCe$W7(8=o%eLbXj|$|GX=+9g|A0B0>gNx}Lm5zQMWVDq+1CCl5c?~Pt!(rTl^u;v zKE7n?*np11VhRJ@BVS}%W;XJtT2+BEY5u1Hjj0@cOheE}Rp{XOgVw0d;aKN2fMdJ4 zbMU%Re5W+SXXr{-SIvI2a9G04#nkGYdQAtpTpdn=ZBj5`{??^*CW3iPR;4*5tGP0F z5y^J~lF$mt&}6)D4zC%NGmXa@i8{7lh-jyn95%37*NtmxNqt2{T~#rpl1$BJ-|%yDYw_-&6Veresl z`SRlGOiFy>ypnS91=9PSm$}~%Te8gC>s=;CwblSys|aMHdr`5C8BG$=pDlxrV6BiR zv%t;&XN;Z%Tk{ge%q~id@o#1f7SC(Wy+9-k8m8aJpuw#I$3Ds18y@Huvm0pV4MA@#NddF{N znh6U($M%pP^d=^ODmyI-nE9%cy_Jy%%=r++8y77DAJktyl+$2N5NIvpq84inYrqUHSKXXuI&~oml4CAQ% z{-&6?<-@P5xb5HyA(Mjc7zwq~Cg*48*3$*ROZ_TBLXy3vt!?I+p)0@v5khW0C+$V;sv6uIr&!GsI(cB4)FOSIz zKUI&@>s56?Lz(C-nhCrdYwTFm~IRLHRRl94$-AVzRE5-h*&zW$P7 zctzqiu{y|ozv|uTa&{a%MhSm1lt42~Vrq4ql;fzR@lVbBPj|&@>-F7gT*{2~YsBe- z_{ewcFxpRrt0l$52gma8wXbu1{2*M$-f7friAS;lr7`1v*_81}53R=LGTAY5f8?-?s zZd&`{BuXoo2X&T>4ttcMv^A&S@DYz?VCb{iI;_s5Wx^jnEjVLUh3TEJUO+BjaCDig3)JCtwFG)r_340kEqS{3G=q zkyb-hsR?9rW>9f?#lY!Ju$T@%(Wr)};_*v-?d4j3*QGP{qiHVJt0}SW&F+_8gN=ji zTuG9|SqTW9Rx#(D_COSUF8QgZQvB^MTRCO`U54`(^bHkJo5#7Q2#ra z#8gSmagNVZ_U*zOx7Y7Zh^om-n|~>jiO;LLCH*Mos)e@dfRGWXr9cDt#qisdg^4pp z1BWw21~LB7`>O4nG0HsMuVoo~UjL)W`{dVKN(F(+0ZmI8N!5VR60`}_VJc%W7={cP z71^BFyCQ~wt##g=O3pPi$IQ}=eh1F3|ZQI9=+(qpk+?JLWH_uPc%w4lPd9;3kP=TUa0j}(`&Yd~c?`AdlsfD*6X2e!U z`oAmG67}dES2c3N8wwh<7Ok#N&#$k~`{f@YKm4A`W{x*7v|UX-e*yi&eN3gpKt2E; z4OijbDboQz)mqJo?{%=}AV52{&}T%7FuC6~p@3t?PwoVgLGF#Bj~>0erNC!w z9U16wB4_C^beyAjp=*lddXywia47?M+mmdV<2r|x=dX| zq9(IVe8q5;s9Hwn)*$k=JJaFL0ecxik`RFkED|SjanqU-d9(S$Zp&SPaARR-2V6e~ z+X2mZM7h6QqYVH69)sLTzRw{AKz0@kZU+&+Ur}4PiU;%4#Hoh#UH-lHEla)(+x806 zT0((}<~oj8w#_A>FrJ^9=YqSlJE24NNyMbk&K;o$j}=x0{sQGA`{L;BT*wcbi;Nb7 zhs9iJf2Qlt33UB>fB#1G(6zTIA_1wb~W4`}W#nt1urpR;jZdjYk4q9Ne_T4weV^pH z9uv3ibaSoN?2L0K-L1VM@J-$Nfi{qjAb4B&?U%}N_Qk10$m@ShDvxiZ-U_1YuU{_+ z6?FMOc!#ZH^b#VCIddm*9L*!@S4X$qMa4G;ZY|8x8mjl1P@}_u#}*<+Wetq6S?$zz zUgvNc4ygCukA$4~94GcBkCRD9+zbB(tbbQG<(6c_jp5i)Z1fKCC^d-j+ zFy1}C?pAu+Pe;z#9;WsOw|)IR0>DTcymdDWKj^6F+Fwg?C4BV@%zGHZ8>*iR$`kXO zYKx)ydJ%cfzZFxlcHti+7PptyMCsl}tAn9>phiNl!P+L7K2 z6j?+QfZ@l-vW$_7SQ6?zS{_p`yt-T;v(7PcSe@TK)@&Gqo9POl#&A)p3&Z6fdbyQ$ zg>y-o+D&->byS!RPgVikHND^YW-67P;m(0_VE09^e{<%vPdI5BQy-3DNdW z{cq0HW7`VI1{n!G8U%4c@~?V^=hE&YSU=xNtu~kMnU6;|8m$Z|8bqbvs{`y7MYzux z8y*!x`&l3FE=`St@@od@H(Oku&(OoTb`}S%?$csaNgba11?2fTWxXFwULY~fwq+fg z0W1^*bQY#l&O#=}m6g5uBqT*8yfv7y;G7Wn&1uj>-70(A#*uAp_GO0D0^MdqxjSRB z{S?8abb;+1u<@fh z71077BP+cR==Ss2jSqmFT$}mKVId6bC}{sp@&0XCRn!CZkc$d5$#X@%RQVw>L9VqU z+UfJ+YEpmbZY7vOT$}avu7D8*J}FIT5v5&*09p=6~?wE zx((c>wS`2-u&KyA`gS$6r1h<#CGWo1qRSI_QK58i`2X3K(I-FyrkQfAG*<*t=u-5#IU0}AXp zqk6mbzXjB2R<_qS?M|2fVwRMbaIquI@bv0%TkkEXp(SnZU*}M9!Hq~L7k2XzS2-;s z#f;Z%R82#}vx4}5EHU}OSKOARrQ3sd1YLxcM$Hna+{;r;Lp)oEk#V`sP3(Z5u&d;r z(nP0Ssx~H_^2)WSw$goSi<+9E=sIk3S*ywZrj7{X<_3fdt? zAN~}Tf-I5>lIc0o2123?-|w9i#n0#8GrsQQoIP^p>CmRFoZilmb~AlJZW^%i(-t{S zkl!HtPK?BZrP1jds(?0lkO$}faTV*=4L5ux`*8s0Ctmc{L_*OBZ zN(yxMYiP7}qnJ&EH#f`U)lw9tPpNDXXAUYc(fvZuk-TDR>JN*HOsvkd$ia;Glp!=@ z4p1gbOS$_3J=xFx9HT@smlT#aBH3iO>BW1sb~t+y!GvOOYiFnlq4+gw-<4}J3*TQV zo_5LOhT}|3%H@wsDcAAQDC5ae`J9(%`5-7&PKHO&wO`v=*Lg&pS63g6Y}dujW*@ww z=bzk-WIn}t7yW(1wWY+{860f5=HqfL6723VWUUtUdVhowT+rOi=1nQk)|7d6HtYYS z3~0Rul0I7Ewlb?9_I-WL^*W<^i=@vrFhCKT1l~A^ml5W(ZKSzJ5L>s&mXjF4bMp_in!R+i4bg^bo^h5(jUw11=$az#kh-Ma95x~%09{4i-nGT71`fVVJz|9@P)Q*^Cev~3&Pwwheb z+qP}nwr$(CZQJ(AzxO@2+;ZRM>sRK(=wtNOYPCf9=Sw+UJS=8N7mdSgxk+E3O&TAJ zVWrm`Sw-mvdPRL#dIvTe`N3G*P2!pf=i zyA-{QkO>X~eXs8AOG6c!tp$+O`OJfkV=)q6NUqX&3V=UgXHE5_RJ%R2)wI70l1SzP zH|{z;E%^Be;Weg{{cWTMR^?}lOOW8SeYLo3+AqKs6%`E%A_8BrbuT%ZYJ61hf3ZiE zo1-}$D@I~4+SX#NqMueCrOrO|oi9k*m;!iocT~h=P1>RFar@d$w8Yne10!5+iZVsl zO>P9&x{D!D8oG=*_J`bnfz=8A$y3^<*LMe&XUs>WR)aWxSk9edE!nYlyT6N?&~CT6 z8*9Kek#z9j)||h=QG#Vom*;h_RVdBClit(JnjSW&o5scE?f_@)?6SKWm-aBNUQ#lK z*Ody3n)%U>m-xl%`t%~=tVgJp59TgJuSj$kRLJ}(|3f2cG=b*IUs{PpTFOv`mNPSj zVI&ioN5)tS4@-}BpTQXj&L$2GyeSTV5I2?$0tT6(^UBGj#CGNAuDD$Urw?HcOTnj0k2%jWT~NfAh#Qme9!` z`e87_aJP+#WJcpZ>y#<kSa)m1pI znl^CDB6pBQgAa5Ez4mG+uA1Ds+;S|2lAC{3dy))q>!Q>K8mVE^ z0xnAd_drg|)AvfE%9m8B^n>ycfR-bPE@G(|dYyXxmp7WcY;6IO_s`4Ib!#)9>kw#? zC0%ixT}II#Ke%~ph_W-;x&a@tFM;8pVpgI)Xc`_Kp|l9gg=5ZnFAJe`e5omRK=I1s zjTmA28hZS6PcSEy5Qli=5-Ndcdn+~x$GhavZDMb8eW-sXR$$5t1GZq zS`0p}RhiPjY+mv;ZI@_3c3jySG^Z~nicdM~$kHT4C#fITElOC zNsRto@@94D+Op@oA7+txA9|@;sPH6=fTZ&#W5m>pZQb>W`rwap$Q%;_z-!dbZ>$0NV>yd>oV(=m3IF zw;GwqfKdE(w$Zb_i`h6Sn|k-pQOPlwJ8L-5$-&$ToB7VCgsg`EaMIZW6Vs;xNNQ&zsI8mo7NG>OSiR2-t?gv6S^3o1CxO_u;TK*7bVaN3Zh93brvm$_YKu>De=R z{zX^nG~D}BbNK3?QI;C48AhtX1{VvVhk*09wmOkZr8nM|zWI3G%G4s|aDZfBiTMpg z);^~kZZl?Hv<*_iWe{xfX$gzt_FAPKeFnOf?p+fCcnn{vH6(L=a8(j7;*7`>qnAJ* z&kQv^{}Mn0ngTMUf)~&t_HHVT?klf`?zBIJqV283HSq_j+Nh(Oczj(V{?#0M6@BI>-e3DXb`sAY$v1CfnU0KRdwI0^7 zZS0w|j59>|0$|zs=2yL#%)~&HkcK2U~QtY%cZ=mAd<-r%KD}i&k@l?bQj5U^%m~+P)g+G&&>u%sVil*k4-{ga z-easla4Ir~?1f-am}M7xbIQPccTt3b5m@Q(>t&;eFp}=Tj%-+f!x%#%Pxd2dd^3Qw zlE6y|?CnJnVW6C7@sXBPt3i2Dr(r$AFkc=nJL>#IfxyAJ9e5pVuh_61?}iL&udjI5l%_`49lum<#nzZO!N5!{T1juIc*=(nn+gUc`7I~wG|pwIf# z4nRFBHPi``^t+o#o-)Zo&_alw*N^(w58MU32LY$QY>R~O}$&_a6o6*V0Clzp11qi$rX=j)}giY0A~{}#fsxB zR{~3ig(2Xip9hfRcB$rzIB^7kNJ`3q%)d&Zl?7V~HCs}_*q6#Pjo+b{3HC;XNukxx zE4-K)285!@r3QErZT!}Gy05!$k;$)j?;KNvas1O%Q>jSm5*3a+|O5FCT4x=Gh?y)3zgQL%Z!4&<2G7->3& z&qapL67Li1UPEd>FFa;u2VL6}(nNbZ=V&5js@A*1PhMvDG$N!#&=bbWuU^VtXO6me^P z(4Z-&Jv|HaH2(edE1Gchwy^kUJIS7M2Dw*MOl;777_Y$ISm#*IcE4xS@$kkR6;ykK zp^6gA74l#5+RzxV1d{u$4dK?k!Rj$0fZ(EQ-};@syqh{if9(CCnHE^gA?jgFCjSPs zLAIk^6uj#!^($BcXnxfF8QmOez#x5_+9QunBlrcpmqq?tkS1G*eH{xFFc#Ja7KD`% zwf`G51TX5!LW0|&)iu7~7#KBKBAz(jTWsZu{*hp2L$L4h_|fwxOT*zl$V6o(8!`y@ zl+NjXf~@1;P&xWTM@LhY+s3uubM{om^Y9;NPbZT-vwaGKMO`$BFL9K*(IsB9u%9Ka z!SsqsioO(~>LGLV6=b;K?>O832R zl(AHQ>4kaug@~_^sfox=3(KR&TDR!);SJo6nDRRP<9x7iEDH17|Gw83OLqin58c>h z&G#BZdvBu&NX&o(B6avDd?TVR)gwM1d5JIPqagi$L767gVZSfnh51(>on60t0%!Qw9E4|3iWxd4g#BjI_82sV%PnWg zPq3VU=O0!j7^1)iU@DS!Mpa$CabKhw4~~J>vMR+TnI`CW|J`f9+QaV!GVZPwn7N^W z#i2j3=}mJAw+epyq5EmBVxwuc`!WK@@7_)D*guFZlBAt1@H0PjsS~(S^D~j%R*!MjzNJb|SHvj1Pd zeJu2A#x`OQyofcu&s@Zi86peZU+Y3tNshC!%z)hSw3!n<{pgCCalkaNkJMZGnImx; zT<(wMtakm6X*3rzGa@wUVd1QX^Lx{^%W#MTQGeRiD(hPMpyd9eEPHnl%8}Os&}?Yh z(Z(nO0S-WC=<@u**l%5qd7Yq>aR(&=8u>ZK^%F|j%@Ze3Pp3(CNWIkY!b8$nbl_y> zdTK*#4W-Ovx9Hd$$NhJ!>Ao{dJ?E%zD*sq5)%iD+g>}_`{vzO>MRReY_H0ZAB&)bs zQAhUl6cQWxZf`q5K0zA>20EE)oriY;y&L`;(kZ}sINmbzB$*R&wrmIx1mp_rsj39< zxHuR@=15Y8p$KQsCV6JR!oIRWTOvGWBlUy3JjMR2yIc9cFUM=O_r089BCHFp3C#XI zRp+cKa|h@DHw&oUbB(6M+nP#ZqD}}4ZBQ; zkW98Y`y^Yk$Lhrf2w0%E0f4_4w@;Rz@5>nqekgb9!ZmFH4{m6WQynI@;3vVxV&#s@ zU8D1YW+F!XGgy3vSVQ#7=(wpemL=ugn`;~%KARF{J2k zb^w4PHp*xxkl#9bzAU_~bKBYe^>n*U7~!{r{HVojI82@JY%FirIbTuQKHby6kQ=EY zzP{f&9hcE+QnWTykEmXymgbj%R#%nrqw4M}m@K%Mz2`^Jn%daVIsQ9B{Iv#89fSwm z=C^o#z(szwmu|3mV9~|L>6G}c^%>mu2EhB=BjX=@vD$JIZ)|X>^;rM;aU?y>^z}g4 ziVPT<;W?zYzO}ra04}(8Oh>~PXLiT?%P5nBuWmrzhxmYvNimv1f9+zR&nG=)$iQ`< ztOM!I@7Bl1Yd6G9Woc=;%N&rsD!LbVgH?U!`1v%Y5f+zA884&3%kJQ%*GHWFV05@K z^1*(sAqHjSMD&jjtfT8rW28nl@1#D?dk`K*C7qq5=s{hcq_iC+n^ zxmxvZLPu+7&JKYKs}O?+Rx^eMZ1ui!IyniF6t1Ub^^`V-94qQTub-5cun;;r z(gr4bdS8_&w?PuG2%rJo7$Cls3^bld4KRy+FozPi64qGUv+r_JQszF}=BM6Ldg&Kh zy47e|H*nUAZcZRb~bY zvy+l?%~U}AXnw6x3d7}!O<`lQ`Tg82r`>#S8(8DUXLmV`@i?pd+A(7YJcB=MEp43i ziY#OcO_j&y?D#m#x2ERX@8_W zh7;?L&%d5-$pYfX^*QS=1TT@`ijd{};srOJoX44OW)J*H!kHdf$eU|I&t7UO zX(}EBUS3z^UbtvbSzgHpQGnvV{bws4h4eCzC|XhmlWtzCLT~KWSRRnC+&l`2Q$0w` z+1qnhE5u``Rl;J3aBOf!(p1jMhX-6_-^$e+n}5kNR_a*9`hXC7ud#|G?vP^XE-iNBb=;dne6Ase-}4hxaxZH%s+Szs5*kKgF-OF=SavM&l*Qg z4c^P4ift#oxYWp#uAx35KC&v{_XmJ3btB+n+xa7lpht1;H+s$M+$~el-eL?i6f6mh zljg?b!e?UZ>0yz~T4TG<2(aAF!SC(I69#WA%MKifNNz7}04z)6*tL#|)mhM11PZ6` zYrGG5j&;jb1Z|`2mD*r;%b{3;;HByHgbMYLUI=p*B$WW1i)><;g>N(Xbg^tFEy7~G zS%_$&2<2S4#Ue+nhiXT)q6Ew)-Tty;np$lqyDXaaXvoobn*2vge}5$IPC}LOuQA^A-*Y57T^FVW)dKf12qYDbbD&`+hwv#fD3_P%p zD43#mNWg~o6Di@PzuWvP6brVyC@aa~*Yz6f0C5=p6{K`^8+JjVK>&+0hTHbr&@b#3 zvq#DBKHxk8c@Di|)u*#HsZ z@6l`GhzdM*GFvG7bzZ=DuH|(MsVJhK@b{|Qz8$5QhurmxN4t6>$sNEU%3n;f#WZ+_ z-@bWvS9EZqz?roy^p~IZ`*{6?#M;wnv@b${sHF1eJe2=Dp7fAlD`j=`5dT;&s~G&RyyulD4JzpQUT4>NeGsiq9&Re|gMz-<6)T7Aii&;4&O^Tm8NA`&#M+*gIafjRsq;83Cw6J$KaYbm zR6$5_-HKmfFE6Q4QoIE>O0@Q zL{q!aug2C-e?0EXOfbXO0& zB!LX9f>(TZ3++{3%RiOmRb!Ub|Q zk#6<({b!2fDZ3C-Lslp(`tjLOj$M2K|HhC*hNLGQ;yQ<<-ym8W!MLDFsHqJD2}Vp! z(geV>WI=UgQKIY7x3pQpmQ;xg4X}h%R2CKWRDEUNY^638rDV687uv+8GM8a=P#PHZ z$$O;9!mMlYD9|Oy*|GBDrFq_oU>=HdYKEFslM&pDRbtf;>u6yv2E+Ck-!c%w7Pv`h zlqeLV#z%Eb2K8p0MU;!E5CjptmRH_O=@FiO4$TO_a@o!@4Oo@Gq*rGerC%^^`PAMP zXEt=b9PuDSJlSzQR=%+*t5%km`u*bf!k9)^r<)#d6#G!zwE37wzaM?oF?G{={E@F{UPCrM|{8i#r}XABM3U z6ABalM~Yf;ITJSuPKc8;Ae+yi*4#zM#=<0pG_GziKd$e4KCMqN?MWqOtJ!U)nv@#N z=ky*{V%#_*foW=PEzUHQMGpmVExJU0@86_Rb7E4;NWGarc##NFny9Jptd5pewli=L zv}4Xh;b2F=b*M5(H2Tt*1Nsy~dpIk8kjxK&BiKPM`=-iTE37uaG9;j>g2I8x&%OG& zp9Vl@z~kA9*&)aUAoKE50tDy7uQn>UqB2fzGt3&1PLAHl+RqFLAEsOufr7S)B-8YA zH$vwd>O|dA8sZLI_kD-=8}o!fBuh&xQ__wAJN9o9z@Zrfth{oKb`f_syh?4Y*}bW; zximtOk2(oe=i_{Y6D&!#^EyYCbPtd7Q zL)Q;-U(MdXK~=qmR=JG7llu*@Xw=;?K=DC9SEmvMw=jVg< znnAQt*m7&TC>@fK~BFN z&tsv?9gC^hJdyk-t1-zg>~mkrF!y)@O7DenhUX_u#> zu8tpG>G8s*=Uznw1?t4{RsJz$>lKkrzbp*X)ePE)HInXiFjE++yyKwSLsbcAr}JyN zBMi-UF9^Rh_tVce-N8y^rfC4mfynDQb0&JHZ#kr83z84G0enMhx3upF{~r14 z{?;iVLKxZkX0RR5V9+0Mn$h=W`$>S|aEDzU@T&HDbowUD#^M#-QObuUofCY!s=kzbYBg-_ykZ-(G=* z>fj-&3+beer&TM6X|h=0>Tv2rp@E$NRf+tZXCvBlg5X^S@o9H z?41(JWVvM~CjMDOj4;L-gwyq1dpw{H1DsevRb?XyBUV*qJzJMm7qE0f7uGvIGk((Z zVv5Lm5_<^CR2WCL#D{0}Z)@qRVhD#QYr0M*Ui*@J*4oA0@R>-P8O6^WiCsxpDXQHF zDx`pUxo%(H?JhMKj9|94V$0DfplsbrT|rM>s}HC*W5|}#r*Xn@2Za883TMP|811B` z>Fg#I>kk@-HCC)xBgZ3T&bzKY{ZQpoE3-~z>3^q0aUS636Q3O>`4c~+v?KdLpiQ;( z9J#@cA)5nZn$PQ`i`}_YhJBdheG@J`KPccc4C3H^u@d7%`e2#rcY++wg21;*5^&Sm zc;D+Hlk~X>)Zlr`<_Lw{Dpi<0Es+?kXW=h&*EfevVRYB2gK^QMt{>{Sq1a)qvBPs& z)YWz4ImM-`?kEsdLYniANuvLHTs`Yqv&QZ8#N})JuqlF|G7-6X+R(lY2MB0Bl%19L zsN4N0t=N#|z$t_gfjiX${M|#?L-?JeT*8YwJ)KtT!_Ra05IV82zz%ztoG5~WZ=p=e zl7y6DsX<24jT}0WrV97Hke}I-${NZG?_lZh%M)R6LzPGFPo+sh+h2UK(L_YXQC%XZ4-b+4nqRc zlp=bFh)JqJZ0g!kcwnz_U_3#wl`#Tx|4EYm4~~Vr?yP)^A$fqOxCw|#a+K+K2zo5~ zn;Z2h1E>)n*slaPs^X@#4Yj$o_|w)d?U$-iW%B^OVW95f zM*~UZnuZMVG!C3JWpWOdg?}-8Uk{p|Uv;Mq>PoKic|(gEtXmcUQ?MoQDaez0vuc@S z_g_-rf&_@i*x2O@!iE@umWsCH40+6(EZUZcmy#*Pi^1<*-vSg^5`>=^)Z{)ydcI-| zpxEDeANPN4-<`jyi2jbbv}6!ix^Ojd=gNZcB;z&Bg(#NisZTOR58bez;z^ZD#z>EnXPjqe(8Hriq6|)2~VFsF325lS;zCtND8&f=f}^(+vf+p`U^)#@_<~L`p5r)*Y?52W)Jc_F6iHR8mr4S zyw4+YfOwEy=6e)A=9ICZ=4^s8t;t`=&9?*muJ=+~6YcDqpIwnIudi_=%EhS6hX8<{ zho+pLi96Ql?{};8wS^ppk$BM6$+-zN8o9+@ySZLs_|90&vFsK-+=cwabuEJ%TbS!@Ui8_vhLwz#w9SkRUAjDk4NzG6_CyXy4m`j75sygoHVoq?qj%nqxIgn{Jl__9C;vu_j}EpDO*+rdU8Gicae`(! zZ^)KzoY@&ZoZ%G0)H_C2#RhB(M6EMiEA(J_F71|M5r?5%1ETtuLuHNc0~eq_tc7(;O#l-;*cPdI~-OZs}i3p!KywI1wXSZ%>ZS2J5rScgL5=uWqcS zRPSv%KgBIHB$T|of@++-1P_L&(Oqu|VMVs!d{~4x`SL-DI_kq>arO<^F!k;3q=n@H zb&J5qb5uA2S3Sl39kC+ibfCa$77mLarOVwX@~V?~29e_L+e-l|`&086EeeFD&oD!R zy(uFi#j^}$)uy~_WRee^w1}vr!JBba^aW#X_}^* zau(7@wbsB$HZ|kV?ACKK-tvFOg`;34@NNdjDbm)=lS=lT$dW7}2&pbDwN=SO+4Q-w8@Av_11*ojmwu%$Rni9X;2FU_M z^hIQLeY~c=o{<3}=G!UMIuT;Xf0jz$3k~b7T=_X3_Up_0eYpk1C^`_-OtO*>-l+S?Vav^9J+915wv{u@5ABG#VE7sJaf6i#q}f{bC?rC zH=V^SQMBFu%`yV^{=R%n+7-~NKBV+G;+`_fvc=8vEyJ`n7aZ(nx$FceIDAR!Q30%2 zq;h}g^t}D?23*~_jf>GN&SPR@4GjZt>)SiTPno7cpPhX?vl~m$6lZZF=uPP+@E|B= z%l14sV}Y%$0_;Vsx&3*q!AJ10!V!?N^N!$ke?pD*kd#~EbdNX@8k7zWSdi8jaRwLM zXqWQ^gCKhS1Ih;X`t@);#oWu8ee-LxgKnGJ`Fu)wtmii{7!ZW#ecybblWp$q?xy!8 zuVwz(o{R1jOhO+<4UF_pLc$Ut4&E41nC+cN1a&n z@7)Hb@YC2LpSxpG3SaCA2RJ{^D}!N;r(hmUc*q? z9Az9D`-s_b3!g@_L1m_wf&~C+xB@Or!Vk0~-f}cQJ-g&}yOXzcFb2K^FR!FBsVyLA zuC_%sZcvmEwN;;MvO}*#J0Z-t92>+No)}7uj^?P3vv;vyMtYeHZmPrzUz-Vx(xo{& z)YaMPJAQud`a@o&N?i~)w14k$jyCfI_Nle;QlclH@3saw#-jeMYekJX>BdRuiKGW~ z$23{Rb$2LK)@XJUy&S#FeRz2>Q)HinDM3lh7|Q&BS~i#on_TBjGYqiRXA{&FpBX}2 zXUcU0!jj@SxqBE(2_e!~lKKL04e6QYSU#T1QyPWJ|HjOc5#~{u;rifw7uiZox$p#j zh@Xkw&{-VUcosG1B1M0w-v!{SBi3js>6GI?e7nTpUtp!Uz=GPLP z^5YuTcRG}Kh9T)E2I`s-jj{82FQb1qYRa_8yf}})4ZS<*3)9p0j*2~=#Q+azae$om zcfRDozY^e{;h;IRp%Ol$L^(BwD?CbrIK-`aB_V zPOsG0Q*u_(J>O0~gb_JHFR!d5(o=VaFPFVZDUudSo#wQGpxaR(uYMj@(?Kl}{l{n* zyomTRzW?RlBuc$l(>ZV1zeHj;Q+1vtpUl`epZ9n;`#)9T-$reMYn;joyH3N&-gk%r{ zyR4Y{h1udn%47d6kr2>47qIa}5K`t4LHG6$j4@HD#{wx*Mlj$AOys>X#AsSLCi|>fGV5Z`3l<^_8z1a7c~eN_k9>OX>fmNth>sD(q%~)A{DD{=xR(ws?(g! z-`l@|sadrOMF!3n6cFR(bmUV}Ll}&1!#3;5;&RRH@pPpKW21n_N3lS|LQ#5t!tocsK=AMz9*yuNb+9|N76@xv&G8^mAW(i8@H&V;|f zJ$I@){kIhQpP1F01%MzBR~G-LYuZ8x^4|YWP3T`)@GlVIXA6tIse5mpK0Cb)F+FS@ zb>2hi$ay`o4FP7#1k)2gUt2p~pYstC5W9RtjxfL<+3Srb zxr|H$d5R_iuCF*>w%va&Sn%Vh?g3*;?1Zxhj5C-SZO6koiXrruD#Q>H(oeM4PiyQd zd5kAK;N7PFj#%}Mh{0Kvepn^dww(O?spH4D8mmOw!pXhpCpU;&l#H|KL7#rTR>Y%)7;sLCI zv^5s)7EjX|m%ZO2RFV;^bxFWDMa)edtCy&_AiPasxk_@ae#zywT=_zen`dEKtXWi9NmaK~SMi-4|fBI(l|FMV6?Iu)x|ve!BbjCkpaD-94H^`Khb@_n4a0TLw;oz#z&SJ4G$gCrqkj)|T+!b#@*Jp~Wchpin($bv3iHE1fak}_5aWV}q=@Fs@n*1{ z8LtTs*e0`dM8t3*0u3h1%8~6XUEM~mj)CX{N6#QYMNf<-E7PTwWsqd^cDve8z$zv2 zswHVioOC6`md{t0r#?-r+R932w<_)OX`T!N14m~_p$O?FtZ^`Bc3fxA?(YJB&wt6M zjxJ70i;8;OL@TCvobe%*C?!c1?!+}v*|TR%(dwpuup*wH;AlAS{+%Jv64s^ius6$m z#>Ehif#D6_c#-e(LK4PYnW0Ib{$?cqXSIvt0;@|S$#3JenL(|ry4dTX35>MJk+$C8 zu=A&Rm1#afmOJ>+?ui<=M+h{SnW4+UXN|{fEOJ`=-STWN3#hGfEr=bdS zbB~V?d&Y8zWdRaFGGzT>PRsA0r#Y>uwZKWZG&H`e%&A?3q~=x!rKauaV{H#7B{eH< zPJ*!afSi!rE;NfI>eH9D^Yize)wwPM69*Rj(RD6TBRC)ub68u#fb`XR;}_SrMX z4+aL6{siG?=WvgvbVtmuB9sKI{y~z2gg_{fjX2xIOy^&j=eOC$9~13X9Oo?o6mzC86Vt_Rcz{HPZef>Mfc4OAM$f97D6Le zkW?n%%pnl$Lx6aLtu^B&=#fPV7V1iY>)g@6b+zw>`H4bl=cBgG}1QhW-43RTh*XAj3Y%ns4Sh)%lb{Bl;!MVZI#Ne<@~ zRP!J3$Kd;DLAm}L#%iLY$7_y4foxkwAc8c0M2!6+eWC zn2?y?pmgNQB*Vz=MPYc((M7dBC)!4WEd3N>qz{uzNVZ3inC0=}HUZVp%RmB>*L@4c z&>YoJf|!igw8?=Ah+EnInPtX@toYA|(+dLeLdk`kmry`WroqQaUW=ykpYc>l;60^G z*<{+vqDEk`JLZU!YH6>OQLB8uitJpRUF|MO8reFw7z)!AS5N=eMA@^dWxV$pWm`!h z@$)}VDgB9E6{KKq_#R{pT}ByBok#Z8M2|iZhV)9?Z%bO(9?W8vE(=*Z_iURBrQmGL zhR-2{h-0}9k_e#$kk&~T zQz?D^Pv-6a4Zr}%)A&P1OXq9wigNmRaD_Qlsu`|Q!s5aL_pZyw zt%@EPJr@&)#dG9e;?(d|N($CQMXD46GI0_iZ)34dz4cQU&J-4PbXs*t<3G_8{e2-z zbap1GQo9F}C2VvPFujM4>=gl|s07_#1-Q6dfnY94;9f;YqeCiqOrSWZ-DH|s`f{sW z^>ulG4h#p9YYbtTq{ndY=E_>$Zcm<&G&I;Od%@8`2E@PRWI|nutI6^E@p{yXgbkgI zm&J&V3@jDC#?qu%aTCEkRkL2fDcmeUI1~B=P}$@*ILy?1dd8)!r8lK7_L70PX&HY` zMt+#&6ePppBj57*@A&~v7wa{b?+|Gl)AE@8x3% zy`}?V-CEUJ28SpuT#kN0PEi<_> zIHiBHJ%E6IF8~wOU;_M6B^5#$mJTU+IuajNGRPQdP+{xq#64s`xhly?W2gzUiEfYb zZ})kiX?+PX3Xquv42_J#W1>sZ_y!xJIo*oAp^D0;;tpgDl9_>_(fcl}25%J=Tm!{Z zgEfknMJ{T>!3L&80+*$P@?x|&E4S`Va`G_TL#sNzb1H!)N<5-gip&1J2oW)iA~n1CDo6s%m9RQ%sOD5{~S>$JvWkI){}NZYpmRS?q+n@WT$7h=iEUDnTQOL%#D&;uICCn-w@F%n#g zyF|OenP1;`kc{Ua zzYF{91Dh1X4>cuhtEV%RfAUHF+FU>w{&!EtbgS;t+DXnaylZMMZc;;=b=|AmBo@W~ z^hjkp?}&e3KSXkpndEbUiq_o@@7r7aPz2Q6o64I#OYhx(NWuh+lCUPUut2tXGAJw;_XO3EK9U<+`J zYE!|}GALAVFJT`nV?Y(5L?zD;z_(fbiod7jv8lu(6!WOzNb~x1zm2@Hxe;t!6V=Jv z!A$7A?Qs+HNhQbCm<-FO(kOx;)n6V8Av=;(LV_Ci2-UiRaxF)OlabwL`)K6wZ&5Ju zKhEhufi%tKcu=DzXh%xixN66i<~n+OJPg{q6tE1edv*dXUtz*bJ_4Nlgu21eQBg6W zS-E|M(l!j$M*%l=2deZu@ci<>6_UL9f-Dj3`Rqn@kbfb_#RXS6{4K@_bK(Vmb%Gso z$k`+QQ~uTd!Q)kPtwobPH&NWjhG?ctL#O2gT0n-4_?8zgejUrTuumM}oeQuic< zM7~-$E<;{w0H<|a^B7h93Rx{-J`M4Lvxa$kg5dXyLMrmWs#PdPY6A4mSs-S?{qaRY zb_6NoiWTuX+fY(s{SL`Qk3xRC>X?eut1X)cVxnqDuK4z7`mV+kmC+eGo@T~QLzEFz z*R4m!DGMA3c*jwFWN1){hQn7*Bnzz-C;h|)MMZw$^$aM_>%~#jDphr>SuebAj#g8V z><(zd@qcwsi=v{~+~CtB^G0ho4({A0tXM>H8&S6WNeaw~Od=$L``3bI)-C(X*7X`n zAmxc@xArq_z$;nP^u^xlC#_StIXJ}2zWw|}nZi>#XRvEIEv2B*9bI0WUtXrltB`R~ zV*dXpzpE($4jk|IEAlTJGkWJHC%-#I$2*O_Ji!qpydGJ|*AiLPnu zt!D+#`w8J-MGW8K2*o~9gk5Bs?odEToRwgwMbXK8_V$mEe9E~o%yDnGFF=@bzqqBj zxmvZ(f26N!eje#hXB@2Rt{{Hcp9X^>F z*1chD6*qMZ*m1}wglw1mWXFOsMdOj;=Ne6iKf|Bhz*ZnT#vc_7uS3l%2_TkEb~As| zI@~{wN6J5W2%`qCTJk$B*%n!N5ojthKr8abt52ZjY5h9W@agv)g~Su$WXbR>G~4Jo z==X3>s9{QV0W-(RN1(D+(4CKHe~HbbKt7Vx#=4(zL(T z|0fN*Y~0YhfU~lgaWZK2;`A|I3cN4Q_=(@SWC5`f!f{Q|C<&Esi#TAwmDk4oyf<0p zrE;s*b7^ei++>O^@yqKe#f8XV@_D;1`;67*eF@#}nhNEQIkl(CNqlpMZ5u)*{ zX6KW2zzZYvIb-Mjd6!_eFJlC~=abb&yOhzpfUf=a^H*G8qS@Z<>2zQr%n?ctzyupN zzqB+})!!k^B3-&L8dfT*IOb+-a77T+;jmAWcBTcHlkJ2Q(ul~Z$b<5iQUV zlejOvDH>*^lSPFsU9YxIV=KVR&SCw!&h4S>@_K9IL*(OxnYJ3XRX7+-7cfsc68Khe zJvW?G0@0J^a?zBa-;9qC_hlfYT%Vln>)UBoi+9((G8e^KG zgM~#)O|p_pE3qpJkWPiW9eYZTx^!GzkXN;#Qcf{@2`d!*^Z+1iufte>2!1Oo6T=}bUDMzn=ah&gM6=9MlCj2_tAjJdo7nPZ z>y7;f_Zjw+&h78*w1#w^mp6-Mn~fnKhhNSaWb&=5-OdON9LIRMMLA$LWFE$k0t~L>o?+uqyhaYUQ0Fk+iLaV$T2J>K)r7>l$d? z*tV07?T&5Rwr$(Ct?t;iZQHil$*$)*=iMLnU#O~8YtDgtj0^cFu@}!AKEol#liwdl zh|0V_Z7f&5Ty4=!P!s%rV&DHg>Ga*t0m1HMG`uMi)HeXWOluqD0%w2$ahmH+AZQw( zOz3^Zq?^{s1)44o5X}cdVOg>8;UHk=^=@v~>OnKs1UmA)E-X464PN(~>@2n`MZUh`)h0X>EHVzSO%#05kK!ie8?8Us=H}Q_w)|D8UfAnWjn&Nb6f(Pm{Q?cp4Tby z%UaS##hma4=TmwNf*7!6TK`u;D7K4>leTUaWMlpLkeUmP>IB$E4 zZK1+qlm)<&q>5F>x?JB@F^mJXhVij;us)GZ;o`E}QKNYi@9-jj(u;J*VnkEi;=>z& ze-HA14Z5!Cw)(s~l~@6KdmF1gD~pSR@1y+R_tv%DFWn>;B}oDQ*0*M2$Yj^RAg45# z{Tf3qr%IBMa6x4!464MXfsw$Ez^zr!3K_*2rDzP0yA(&P;F*~*0zF}pAtWd0)Pdtb zs+2U^IfX%|>E1XT2%4?;;#aoGy=j?^>b=594F9x}v!WQOtNeB4@F!w1i4`CC70+T@ zFD~4!h*w63f`}klht;5$MTh__k>*M5_4(0lCtl%8YE3ZlXB(kX7!G=05Mk5UF@2D3 z?5_i4_7B_L~1@yK_fUHB+yFNaJ2=tiH)e6g0tKc<=;8&qd)u; zAM-c|Xqytbi_h$%()-+Mkaaa04n>kBNc;8SW7O&oh!l?Wffu#`2ipmpv|Rl%M;$xg zd4+sLO5Ci*Zr*wzOj456$mWKfwlg`LRUN^YG@c^V?G(@FUZqZ)>0#}nKfu+YU9rlZ zqz4vogJIb5X3rwa!V`{xAt18We>KwJXoYHmf(2mMFbXx(C}=6W{z|w6fj((Oxk%v) z990BM{R&@@_*JaA@~Z?>N@j-fHo{!#0HJGs+3UC?b!CWX%w4pO*pA7wyGMh1{MOKd z6|S2(k0T?#0j{8;VSPGX|9<~Zo{yOaE7u>#n>hi0Z*kboe;?i*YyZ^MRIMpIig-kl zm56*C99${W?Y7lJ1SN}b@_5=EfM*8+LKvWN6F8+6v<3PZP5G!WO-WEU!WN`F{ zXkJo1G_9)FrN4Klck%4GAIWwhu%Yk;0ek=4-GyYWV$jyo0%YW7d0%<*iN*{PO@ftd zZnoN6cf2+~o-et$xG05a`bL4u%yV7K!t&4~d@EkYm!AXv8r7XUgDU>sv!sg`Q-_3r zaBNxTq%!h&OENlIbw967gEyp zuE#xe++BL^*EyLlnW||oc@4p4_Qsm4m$e(2QR@#6FjTE&HT{N*F&&u{v?de5)p{Dg zPDz2dIza;8?i9#l8=K)X+G_oWF6kUQb66!HjpmomEJCV$BDuW94aTKU7Y^V^r+zU{ z0-KJ!im6YtN|vd(!0uS}+Pi!I$wP>-PM@5(FxW_u*c(Wh*b5F~iQ2q2)iRx2I|N<# zw(~nl#cc68V4%-dR3FTfz>U)d=lCAl_*PL`QU79cFxTRw4n=c3Emm61H#QS6e`AHS zKX9a;lyYOIop}2YZPT^1)T(tl#b6bXcFw018J^ z0g{_Uz&;)jeN$R0xG5#ZjPA`CRX8>ADvUr1KWSo3op>s69uzp;q(bZ=B~emE4>FA$urbuNRk!8ymIdy2-EB*Qnqjd^<&pZ!3limppnZTcP1*h=P!0 z6D4cKfp@z21_bLE#bFvOPC^u~U?lw@a}Fh2jD$dqAuPK@40)~)9BsgZnOEZ_pi}WG zJsz5sl1MR$ev#AZG*(Gux3qTF?b~f1^74G`YrI{tJnMcFQ-*>p6fHp{5xsa$?v_89 zI&2mzGWf&g=^T#msoDXM*|N z%p8Jv@!&3bnLBqjB$Ep;yOCqhmn%&G$qNe)uLR11+<~Ql<&7$?LpqI?Dx|L2Lkk7S zNSHKAfXomIqHK!p0xWR(jAD)g{XnU}x>y{j_V@2)2-MIK$z~h0eUae99Gk5-tzQPR z(_zl+K$T$`&5SsvBO74*rEPXgNDmPd854jQI@--nquKK6@^ne+cBec4*WDlhGK`Qc zsFO(Gb@nR*TaLr9aQ2iC3yZ^H4=D09{|7kbWgk&rtTqwy2y-aMzk|~^&TNhpJxK!1 zde4uZQ~l+4CtIUU)8^O43I%~*O)XuDJm-Y2E3J@+&j2l6{4ixvtlL9)@_z8PqHP*3 zuaGoWJuX|0XcV8lg$3gc@dDsrQBOhW+djx{)STsh%ZoIkDb7SU4gS|+n^ zIB5`F*%E16F>k?)Be`BhZ$?1WbaGsh%dLZ0=#~6DkIYPG( zc~r!boA@#UpiS@rw^d4$HAbJ1U!6cdrpk!FAjg&e&b2#d%kkU#?r+pOrl*br>eGYJ zeQza(jv-5E*kb*W6zRHNk-sj6I+aVVwwk?_iV(N|QNdu?cX#5G)&QQca_g|gFk;Dmm@y%>dZ}ALC&~|2U|97QWf-_pMTO#Kyc3D?#g8Rk;fc z0ranh1iSHG;XMwbdXVVS(}$RnL%at;#3SIb4nBlEw#Hy_h*72{lyMbO;IVM4@vbBC`b%%I7viF=QldR*Jo5Bgn#So);r| z|JVMR;6Ub|E>uiWYbhDw)EW)qGluPEe}Bk5Zp3*jI(V>s;rkD1p~3`8?Q*W%3BK>Q zL&EPnagVJ=v*{c~?ai%?9^1>bV~RYB)8U2;4A$xBKLHn7npnfU{F#xj_bCTItA)od_dBlLbnHzHe`gV+`$$lv?+#n9~aA7@qP3ycm zF1Ki?YJwZNuJ+EJW%gCAEPB)Yf0X?$e0ZOi#(X9qqibAlQCsmR_q?JiN7zP4!cAW9 zmxh&@JUNA>q$Gh~DR3IlAkuzgtZ!h`Hhe=%RfhWT*tqCcRqJh}ET>_U)p8VCEX|ho zTVY`kZ6&cY#PK6m&pgpVCIS7RtT_##L5|S${`bR}&PD-~S^6OP`dyGN+RFY`9BX66 z$d5BKGr^GDm<(YfM`*s4g@$Y>cAG8uTb`ROwgEHd`Q3rfK)#sE-47Eqbad4~PiNt$ zK?a8%a4+yna(>s5Q_!+!2kg6Fn+}wCu_IpG07c-5>w#?f*mb3g5MmJSjM|T7p3$)( zu(ZC>lsU*Asu3>T_S(`~$1c4_M0KoT2;&+--Z`f+$G}6_8rY!5``__O^h{^S$wnvF zBDSOGLO9lA#zzPw9zHAKmfyqH1uv)}@foS|xC80=>!C7jRmneJLsRKXA!T19U2S|h zc}-C+RvFmChQU?MrPzIB1G*vRe^ zcb|JRzp7@p>20WeGA&<0Pfw~!$V>p0=1W=f{ccL8o8o66pp;C?<>Qe2H*5Bs_1?Kp zQvnMK;HY=_g0-`YZrQ3&{<1fm|L=(cxY*TyzZ`4TF()W658k77ZZ~s2+9L4iG+f@B z(E1~qLC-zbjhK9JWR*=Z2QG9OgV_VE%(=#zl7?paT)DU}YZNpQ20B+3SN3qu3Y3hU zr>)!vz`$XQWd#VqMF_+c8yejoC62`C47-OoeZ=qXuC!WB5xrz&WVeoiOz_nR*zW?t zhP-`xzz%d&RNygjqs1Scpd}TfXqpHZw2FZ<1uo24law^W;5jNZ$soKiZ{=L{WM~uY zY-ymQFlROx#1>9a&%h($6;U>%AmV94EeT^9Qh5DD7{Q<>%}ci#+I+bC3z0hRuRxBc zv~UbVSQs(d2(^pI(6J^)inZ(5IQVcYDv0n1B)P3%XLyk6T?WTU3MyQTX4nx|5{a{$ z0ydFVV@@sG7Y`lxM2v-~;6+i-NdvrUcT)GJVc}XAiW=mg^=Osj%Z zJCF>LQO08jwxC=?AHyGTGFXqIK1!Te0MZh@=TWOD(pSQFS9!gUS+Sd>met7+rKmt2 zuiC-TgER$iIO?Mrq~hCx$zVGb7Z-zo{H&~?@d4I1HRUt~C`+J-{7*y}uLEUe64Z{2 zJRuJF+t&o?qx%&i;7xECGQ$~R8awXWuI#ud!RV(?yF(El!<^k7AbOGi_F2NyA9Az%Kpsy5_ z>`IAuFn^$p9}R$T_!ijaBL!&ek}k0<`3@zk>-$#M_7dh%dJbLm;q?5A>y+m-oz5A7 z$W{9C$+s-1?mj&2eM7(81ymuW&+~gv7|dsJvWJpvU07WnZ|&aS#A~VP@LA*#)YG24 z{r&mbmK#bB*i=0XWOMyCxCXZlR`%xR03{cB3;3OvY`Y%Q$(8ERcR=UY39wHYkCPrs z(c60qyk-fA?FCI^4x7vCAdv^3awY1~7oEjJ!&G%>^RcJ7qrj}8LI_7g3hisq3=mnHz_L8Fc zB`7Zkro_GdUU_@@4fjE|K3w`KJ3~>R_mU(?VfL}c5a3G0P!E||h_^fzZ{@UmTkhbO zp7E+ZLajJA=+PcAf8SA*0QU+0#ocr6gEEB0{OVPPvTs8VUOs5#N!-nB*o%Qs+gw;M zS~4@}Bx(uR4uKpx&v=a7RVyAFLS>X~-7H>&#~v{)7V>iZ`S)slKeD}?-nL~mY7#4A z&36c-1FyxQR-5*65J!p+^CrCOuu46K*{s~))kQ7b$V znM1guvJ!4ClP5M7ezO(eRE<;(QsEN$;pJ3c7Rnj;>I_?^pouN~`+R9_X`0RaefzBL z{&a;K6SGzc^5~E!QL+%JB1Bx;=!;m38ch}|nH8g+w!F8LJX4Z+2p9U-we8!8NnDv$fGq44ui)X5i7#*!b5WPzVaMZq`TNRH}@dyJa15`u6id7Cz%75%;h#aqNMN zDiw9L0~-R$%p=_J+nCW?9K0y*DYxeIlojW77v`j}U{N323__;mI_>Uriwf7(v%qZz zp6|Iw^PI+$m_|9*_FSQpHwx(=}-_Kb1_k>JH8U#>NP05lNVA72)!I z?k9n=&N#mpUf)pV6U`m_`_wc_Jiham`$R7Ux&RL0-RJJl_wG+O$6l{_sVE~PtG1f+ zj{t*0w#Q(DfkksXLVQ{VXpca<&;{7`p+B%EdK)!~r5^F-eYnYphhPyEtT7{%fM?Y& zSl33PI-umJVh|S1id3Z^+Aq({pk zJk+W2SQ`GyE5RbB%AQLhop(`ft?EO#WRH2sq{$Ft_noafGcxh$bb3khu;#oXqicE` zFqZy>K@DSc%OF#OTu%(|^R~Rx4{eXWh?udVzBdzNW);R1#Y-?E3*iC2P>2sv{&uv& z3&JJgdY!I%0X;d~%8?c_lfj)p0?{t@(X5LpinO3Tb%hTnRsdWn<0jBlqi(XOWJ`;H zbM{KH%hAV4Me{nOlK7>HbD+HFn(*tSA0tXB^+q}4SBI_O5u=D@NIN>ctMTzESZ8o? z@V)kjPfr0KNZar>`k=MA3?x&pZu7{@1xX$}p|`!; z$2p4Jps<{I5slZ6>h!(ut*t#z z4}>e#ysFXbsd7;;Q4C`{(tY7HJ@K-#y9u2_t&d0J1L$p88O;F&)tMq z%AK_n!Tt7Mi~KT6Yyl7KKhOU1g?MnF#LHONZ+5)zON*6iHDE4gLI0xl^>!CFthSC# z@Z@|a#;tEUPIo+=PjR3O3{M7}Nr(J@`ojs{$BxqjX{{Zw;qJq5?fI^oTu~FPCy0S0 z&OA@^Y};hf)i|Cx)37cZYVCJmzIa{bZs>IwZ&x;Nj=X`%{f4H*r{<~#qVCYiDf(K) zjN>(=%mHIGzb;J6&#}}}H@Lad82INI84_dV0%tH^f(Y-@R$8RdS9CJ??tP+6AxK!b zIlnI^_4_vKo13pADTW2`;X|3Mk$3FebsWAuUw7R3K_S&DXHWn2LCzfWvg&cZv3h@g z%y4=KE8-s2aZF6-XquPEc!Ah`j}^zucP+2YIsAw1THGAXlBLBkmpxdH#T_qO%=i8d z9Z>Rc#oI-X&i}f?tW@u|+>}SVjZYicw4fEm(=P5}t8&wEzy3Wk$Q9j!T&<{qMn%FnDuxm~qaY#aw(}j7HF~ zgZ{)F15;=!tBGLAm|+_u``sG#Jbf*7t&3O2{E7;sULsrtRuWmMmP`<_)#a7uW*0iG zjiWwHEi)!&bgb0`$8vJ$xf5iES!V0~tr}2Ugx2J?-R}n&eNCiCJ_7lcrWb%}{Lim= zX$ZB9XI+JwOF&~FfmLks-RH+(>{!U27=ju;Jjtev_W2Wv*?y*MMyK(tblN-H7`w4E zMiV=E7wsu#N~5nTl9k?HHo*n}PO5YW8b7(PqVeoO%}!gHGW#<~APLuLYt>q{juICJ zA^ss1w5*nm%5Y@^@tsUtADZKamxGT`Ihr%J?fn?-{&RD`IIGuukz(42yPxmLpI|Rj zk_f;NbSo#&qk9tb#3RwPeg;ogx$ zF!&uM*7x#!KMFlD_V|0-=JQ7~FAN$KMw2 z8(x`pwfsR$lt(Mbc(}1L`1kP)s7ViGV43H3bt=i)4`RrVK$TI*RUX{ZTCl+0 z)+f#lyu)HqF-f=xUjK%b87+VdlZa%B7Ag=DyUJ0fq(0&c$La6)2FEA=6NKvMKprZ6 zcY=2UR5PX`2W+&pk3VUE7|Z~sn^R{SlSt?&;Kxhv4bcJLSiVFk@#jEduw9JJv40rn zZw*x0qNFmhqG07r&QzsY-pov~S%sLguH0zmYHmbVuacMU zBo0ix>6EtpW`F*VUgQyT3yS@5BrLEvat>%6H>ijHMF7*9ZL_DY+p?pkV0!0A<}a*_ z-XWuz^-_wUFY0#<*gdTScq!QloMfX9qWC-7V6|dV$7}&yK1WEldP6wjg>%<-UOPi& zP$&3N@h~H7)C8K)M~=kDaHkIPykszpL$UGGnx)zY6H`E`D^iD_|O$q z?5!xKnaCqbvam2QJcMjSZUR2|@IhrQwL_;*6tjnhIik z$VO)e@Uf=sSOclSjCv~JuvoazT=*PWcB@T4JCY>Ot7ER%31HeSPC8EB{{l66!2jb$ z(HA7(d$ACyOa; zF!lj~YsqfEK9L?b+59KZ={=m`_$X#k{`2{n9YhU;{Nb8tXP&Ng$MJbtomRIYqw~vP zAcxO?N2jN<14U1f=j3fE-Dk()5C8{xb~|jii>33Kb%oe*>xlr|Ui?V>iw96g_rtc1 zv!w#w{J-;mTJJ_v>s@mw+7xHeD0sL7T7KSUdhv1R)ZS3!<|kO~pP!$BF^aDv-viTL zuC`B|xB~6TcXH)mfa+&2e;4V>Dh_FwWw6SR_6PHD?*J>1GS`*k)mphZ7}sN-n4i1n zKz8>?udlM(1LJ)2fA&g7y`-CW8(ywl|GdTiSS~5NRbWLLOaMyn6G9%_ZNrgzjr)N; zZwrKHL3+SSw@2BfPwLHeOPl=upSuUGB*8cH_aEnntLOF<(b~=;(Dt4G=rMBMxDp<> zRmYG;eRoZOZhQbn#eEGv4$cD5Q;9BUDYzA$`(y;o-^J6}{MC6!h1%}(lv9|qu-FD9 zamMJtVURivWm}%lt4265F$lT7xN!*CkeX^F74QR}=jGU=@cwn6Ab4?`U}xdOLXQ1` zuf8UCJm``AuiWOw#(D6e&$UrLn1M<|HDL)lM7YT%;psJ}&;i0hPa-4(zYyiDuz6Sb zz6q>wILWd2RcFKIwz-3~eFrcY)Y05i&WNg{nWvX0``xb3amXJef(eeQor2oPdc=xW z2NO~h{MaF(c@Gtiw8nJ=CBXUvezW#)tR!P;WH2$ux!f=8Q<>3H$?Ya|&&J7vAn8cC` z{RP+xb@o`>aE<0ca6$x`1`t+B>(~PBtjM;PRy7hs6;?P2=A_Jc2=MJX1g(qLuAe$` zh;i}#;Xr^T>{$x0i!UME063f3HKM4?k zoGoC-F_gh~|1lh84H^s5@3(`w4awl2wJ~QE3OI&6`$p?s`^;m@F2bn z8n!6Mh-m;23l1f z2CF>}%Yw$n!INfp_aFb49nij-hMCXa?$`6*nKCevM1`awazs#31wj(ZXf{Mfo9@2q zjz2dyox{(%Tg|Jgg6iN@MG;Rs!j!*klVr@u7eBXlCVw8eXC2yhGNB8jx?UN#cwTe< zfiv)WRD8#)1MBg3h~)vxFqlE zS^c^)14ismG<8n~!#)GIMUz3T1Uga%%%X4^TPq+a(hjI$Fp-P7Cvpj-V80tD2mZo5 zTbCrmqeRC-UKTnVFlm{I33uExo5UVz2#xW8L*u~_QMF2(Wq@Wgxu=OGWfi&Vnl>r6 zVU(*TCx(#;%-R+?|DteB106$IjHzVBvlb;Xub`8tMOJspU{O+kK*BeMCtuwtCR_F) zm=!9|NoYv<;cGAt)NR&@rXoy&9%E*;r_^Jqzd9q;&A~L;HlTvi)1Np^{6$~lOkc^w z!-gF%_ql-s%c-dg8P)uYfIL@v8s@nNC`Y$(xa^tlMB!JW44O0c2XOd;LAk(e%BcSq zkzg>`IR>n}5Y7c1dXn%>GPyf#GkZ2(sSDL@^Dztbk(AOf9vcQ1%EkhSCc19F0bepc z9**cn2IytnRK1^O`Cb9+`EP0xQ)lOUq3Ld94k@hTg>EN30>&Dt>o!+{sYtKQ^-PbvNUAZ?Fh{+0lxXry#nS1wkf`62*-s6OHlg zkQ9>`&qK{(Kv>6a_aBZjhFrDH(wU^`@S(zvURVWX#L=6x*qrIqM8tU5>gM8lrgVIK z2O8#SLw(>2=IsRYBEWs%+0ZY0*mo1OJ&_PD(15$O*y}TViG(hlodQqR{2OLq;Q0YX zKYfNe4vdT(AIJ=A;))V?3PmYeV`S#4IAEmf1&mlcUJ5rnwzBWYoM7ho@0?6)CnytvFmmPZ%}_sd zCi>gGN79)3r%t<^B#RKd-~dPWON3 z@8vsuS`?u9%MV4Oq8vZUYkv;u>;!nx&b8{}pZPGp_oi`7Ip+K4ZMFrcpKLT+7tBzp zh;B=TD4^A+YfDmf9pw3clhLJU@XTZ@GvvN52O|Ou*YVh42m@qh$TwlpD{AT!J7WKo@x zrd6E8w9y1a@<;#Ym=Kf!CNUA39Ww&#+fUv;zhVbDy!QD$^pTVi>$%~l(7 zkb`JA5PW0LUo`3^GEsW^SrK^#{$r^>hThZ=<|V^`=lo!M$0AnFO= z6dk`LcaT`{XSGs?NSJ{5N{+pysM=}O8PsYJ?NwmA0{{WP4+)Yg?3Y}4O8SG;pscKH zlj&?8@8xQ(x}_#W0SF+>BeN-7NMzbC0~xKZjyz_j5Bq@QB`C6@%aC?=n#W*pAQu}- z=zkYFrV_`SRw~qYZKS3WQ;Nc*Fu4ZDYQB_a$omKxxN-`;w9;b86CeL#@_^l^)3^>3 zN+Iozc^_f~E+V#Q{4b2ef_Vl`b>8JR7?H2Z?;qDQRsaVHrktrq&D+-@;jPa@;kJ3# z<-oaw%k2(k$A=zeic_Wy0vlqm7z6B)~e1HG)Muj)-6$*g~6KXLE3XK3SCbBmFiCz!Z^Nshe@UV)OU5$py{ zi8XPeiI{n%SmJ*4I0OciRb13`u?qUs zR|W1FfVC{WOi%zB;65)RcH4$mijR#g8XGr0GU=8`?-K|n4z31!{$~IEB25kX;6G~l z$0%r!YGjmXPEt8JqXLp6EIhQ1C*4J7#yyXnQ&lPC*t7P6B2vs3Ew6?vPDjvqsC_?y$J4xcz0l6b$BgnKYFP?rsywD`LC#w^=rp=YLa9{@0aj=Ri|g-ZBmtIj z(t!QAT+mqf*tx819Ngi^{Jsc~qw#PzsAx1Dd8{EuSx&Ms(jSRDfrcPK>oErNn7ta5 zMUWbsG*PSU`MwU0&BiN?dt^bh{83er_g~r)X+zh+t0!A*Yoj$<7nZGSC1~)kF5HP< zu37LHV}n`I{J$`riLe7-Kq;uS8?oPzl7&)YWZzJm47Z>HGjZb zp$wWd1+5-oUfJsND_H;&f##NYnNi%9#WqcU%tA`w%Bv>w>Qta@HY`C4{tzkFAZ^r% z%zgh!8gR$Z(YW)4KRV7@K`E~;7+y1~BFkXEz4qyS_dLNxX-=YDymlO&XJBEgIv0pSJe{1pbBP zIb9b&XSrL=^>2T^KGZRF9s1$fw_V=R(?M}zJ#r@(Yk4@8Jd=NEGYWBv;F4hE0~w8! z8h#$g6|y zO%ugx^b}ph(Q>&P)uFZk|3q{^(m^RR6wTYq`1!EchfFZaQKEO~f8a`|ZNJR(4up;D zvavkHpRGM4g~4^-b-wjxja5&w@G0F)AqF!}K)`=Vp+W%^Jm0Ul zI-Um8r=r)VtD#F9f3#FVL)V?;@EB1$21OJuP-B+r_*_%cs+LafLoZ~eRUh<@(m12(^@7Z-?^K(un)uE~MkJ*p#SM`u{#Y-18i{CNjM2ST77-FDCOdbKVmgm_D<T?cdq)oiw0r5zYM z)c3Q@+x13w_0^k2w%mq?1oVW?@>!Y%cQYTL*pF-3);`Nn1O{Q-^?rPxt4In>P9WtI z-!`k|U#6J)d~ZX^@~&6#|=)U%l}Q$ zX1nDYKUvqSlVGd=R&ljY(VpjdryzYoU)Jh(gn97z@bl_!hD@o)v=QcgTq&vw z3eV`@R-JY;Y0qySHo0(TJ?6HGtF3f-QRC(8gjSvR%J_qf$%NqVx^w%_D4WS$SM*sH z8odis?e7ZpaaHGu*-Dn90*G8dt46!~riJG*<^l;NZFE)tv*H`}pN5L#@@()qu--`* z6PATt$GO=t8DfeuB-12jI2sNtcINTl{|*)z#&L>ymq1mnPnoHC^Ycv1DiL&R7V7Gl znJNJ@eO3R}txizCSrE#Sh7?UqKxBgIR-h>3UILQ`rRX6;J@?|!U$sTn(-Ix;UF~sr!QfO&a=WUPq z@q{oB0mIap@8^pm`wnJ>$et@k*gAsu!#J+;xQqYo+@gGU-ElpA;!~q%v?%velnz06 z9Hj#bn7QF#Ur7rWuMJ;Fbh6~f*7pXN<<-)W09Wz@$5y5eLT9o&;SrpICC}1PLqXpP zz-s;MX1Lib%lm8V;znNx; zw;cMn^_~{do(+ z$_+Ws60MT2)_M zs`GI0V3;;BG_bL9u`(MtGm>OwH?D9Tmf& z?5D);m61PX3J?0AbTI4ZhyRzpOhZ(yIC4HEzo5OU?QLJ$M=SyBcH{0J+ zjdVz>`yonRDgWlimsJfjj2y@Cq5aA@J$*C!c)W7I)eQ0LOq~B?xz@R@lOS3=`5aBy@@K7pf6uy( z?cf0Jrw>!uhw{uX?PT*K2y|cgama$pK1LL>sJ9@QuiP%e6k*9YO7OEI_cNcMfEy<1%hI(NXQ$x~zxm0PgD<4XlnShyV=^d_z(`sa{3KOW#W@I7C)7{4(-SC&Bq;J*3rZ-0U0v z@AETO8<4b{ODkcUjYe*Ky;^-FJNW6aOIm??@(o$cV2o&7i)%dv^M^993MzRN^gX=_ z#xFZdDE4rz$zPbi**aWuSfz`SnCOTujOBUV7Rqt`-->VTxl9jh{(Y8nPHa~x_tmaU z^>=MC(2>Q%v@25BZT0N<0`P*(9`i-8^lf!5YF*P^#*5^#gt+F3eQ$S!f77XKS?hh~ z`B~RDSu$ixHN&==EJueUVwVupZ@4+d8%IVqg=L8IMu9eJ3E>i z>AjcBGm{w`%@$64?jZVsRjclIi3G@14gg)!mihg3?kX|5cpm#bX7BnvH6SJ;Ihvh z58sw9;EzI=4l78W&>|8(69r;@JP}JJnyf6cJZJyD)F$k9X<0VU`9|ojfW#R3OPPyO zezfhrTUml@ao#mv{;S}zE5Vl(@16hW;kRe%wENv!u!du(fJ^eHM6l_u2A7`?d;b{<GxKge>bCIZw&Z9_qU^&6uQ8; zgnkB+AFK3xPe=<-CXB9N0iUOT&eA>8rFdrW&Knn84zcnF{OVK;ltzu!+M zCD)G~3!E=Q&K@3{6n%ZwoclXG?u~ksLWud&|5SKPrkXRePmvlemMM=Xvo!!!g=rnd zEEO?RQ<~@dV(|8L;Je}1a)>EmATTLFL-}MefPof@&^kZ=e4HB1#F@Jb_uH_qHdr#` zMVK>}i!i6jfK+4DY2mYlt8&at84T$`G>23vuFlOsOy50OP@{(r`OG4`++IEKC-F!@m2rL?5t$sISmFFU9| zdh+;ez{ngg@6T&(+-_(ahGn#!5}{&E9GWkM&tWBC;PbmAEED_G5Hu0~rA$}OLsh?B zjgdZT@7{rjtQ6(qtS-RHYcJNmm=8Vya3=MOE%;VxjpMHhUn7TtON<$a5b zC*l;c-Ov(3wc6+!y5|m<@_*@iVB$knx87Yl;q6yrJXS&B(_3pmMCf~2*{8k?=^1tH zc&25UTZbMvj>@W9ACjqcfY~pRPcT{)P^qn?g#fDwcQXS%WSn%kAzd&hb#gvrBJ`rx| zC4yF|Mf7_jT8H|iuv^(gQ$y^+ESCW?;9Flq#7RI&FdE_Fqj zu~;t%9GMVPwq0P3D_2&!B)$B3-V`D;^H zX1TFo5(ZZO!*fx z0?%jNq<^Cn_^H!iMdv8&E}qF=D1Hj;v#Qg-irb3igRbAk%7K-ai}h1+y3e3l1$uh~1CSm)nn=frgAL zVMPBVne==aZzNGvBQP}=1f(_=C~u%S{6>O~X4x0vxyjN>&db{^A#uLkS5D%hj|9lIt z)sqD>cpAyJd++l+Me(;|ow;iRd1NX!t^r?`*ugP{biXdswi|8)v`*YU41%|ykm_k_ zKe{%E3zFyna)J8uXjxZG=nc0J@t4NZ{`LS8>Bi^8oDQz-z_|RB%nl#m;m#7|)_@?IOnNVW^*IB+xnN)ONjhjt}OV~}m z*G!uC-}h+9fg3?I{cBs*3BX9v1U;Av@JdRrBCj)@cJT z{oeV%q8yE()(HchAZh_ogeJry6DK3(1occ_-#T$Z7(E?e2CfB5OKnIA*0O?>ojzVF+Z(&{bsHS}fla zU&)zl!)FsuL?W(w$HVcyh#WM{D0CXMG97|&_OP1&0|G()zN=7vUWIwpC~XS9f{p6< zFUT?q9$;H48kgWuQxM3t9$#Imolj?jOF+X9YYG@Z$y7|i)|@AkQ%>0ks0~*D`DSou z1$lFcQdFLbnytbl*Q=q<0O?W<=(ujLi0c-fCn{GPpxZ{>CT}me-MWQDGsYmjH_fkj4 zl0V&c=jaf-OjG$RFr%AMt&qp1cN#Q0gZuPE1T>s!ivv9dr%kM54#s26JQn&$F&_vu zKm&hQ6sWhs_0Z2OQky@Xd^DWrJ)y9A$cgk1fVjH3b7`_}TH#m`i7@ zMoWFjS7V(VDLQ1{Cvy~Lky?K z>mp{eXKXmzzrX9r$GiMN%dy8FcEU*;LNx)IK5G&jFBbln{P&hY%e~{3?C;lJAt3C% zaT9+7N#nV#m8(z(&cBK~AGm+2SF1fx?Sa379$=)^MxocUsui>7*E8!^m>1()Lv4*V za%&1z0BO)X+50S#7$pWtIJE_6wS}VB<%Y=F&{W4Z^XciSOfG3E+S*)c{e?ZYYRjU-B2QxnQygshPq7Ql(2E zyTVAt))GkzL4(EW;-6HZ5KpJwHanjFhG!;0D><*Rlo{PoiY~PHL!$dDLI^@GSiAf``*;XgT6t(?A?ZL8xrA>(lhxoX*s__FtF<;dJ`*@}X~}Li zxNP9u*&?*@l1qb?=?&@(N^Fehp1$u+it_~n%TL{mU)m5-_-=)uItY76at2b7zH-oRi&orVxx}aN%|9d%E|v)HXeN|0B_S zZfs)e>Z`A=t*M!gCNI0}vIif2czj|qGBfV=`6vscO;C8V1vBywcihq3+>$fp(Op9` zWF(y4);AqR95)*E`8v#6;CJ0Z&$Fs0jAASl{A%tfFR17TP+bmnvOHWKZK3l(!yM%?_3%QM=4PcR)g;tlaQSJ^ zJxF!gWtXb+ z+g(01@aAV*C;1S7ieY!Sy#Cs3I)%B*Njo}yRwr<$@I8P_MKn(`1ck4ub$GmP249!kkw|7d_GEHqvfl3&Shnooi`Q+BB{N=^ z)e+AjF%gSpVC6P9weIZA1)OGo03BrjSRrB;kPf5)h*Yr`iLAfZMF(bzyu}cn5~uc71Iu| z_!JbB`V$wmPjW@aL`dIb0AAG<0-zp4TwBNOSg^gdGo77tv^ZgB8!wsH$>7IVSoNN19< z$V9NV1vQef(LP$Q(XC_-A$e*OvQ#!TGPd7gcLw}*jHk4MDGYO&LctylTYi7@v$x*( z;4#OqIr-G1n_KEbHLMD}%m7zW$=CfWOy@TObS|$a`M0@BuZZ|qy>t5C|QOsE@NSKvby-bEC+WME5mG&*zi(MJQ- z0obit+&SuWPmNCoS*mVo!W3Y5+}ibgI2Rqy#t&<$UDo2k!H>fqGP`Wne!O8g3wD1p zZnmWJcDvw#5M(I}WC2JLdx<|Ns}_;05RC|k$S|2vEKqT{WOq7~iA2aB#85y0PMH~4 z07L>S#Uw*?*jh*m9!(ZSl+H@nHY_Fc1uih?Cf%LG9UqV=khYB2B$XP7H79VVshCIu zjyr=skmg(jR~SBQI!)qPk_f|D93jeGlY6JtUwswpNvjY{TWTUr(hg|>Y51UU?Hn;R zOM(4xfUTu)K3S@Fn`(WSHkc_I5g8gXoLs4`WGkIyC|Qjwj$7|@yJ2KQHg>x`qEte3 zL3$+y6a$P`a8hGDNzS=MDl#_d4)~pQE-b9y-}zXo;42(qJnX2|`9unji$;q*JTWmi zKC^PeG40uu!|j1ve$RdP9n(TpQtg#m(FX1ANGAX#D|3)uR(uKm)dK1%P*ycDl~F4_2H^lLY_ny@ z-mdzVhIL1-`{o6$(A7aE zJa9C!Dn~XC9Qk0b{`SUOcpIZq0)E%Ac+qL6o%*$}U!&`*=s6s|b}h~-A$i?%-~A}A zKygBG5}{tmp}=Q{uU)f!$4=EtH2laT4zHNQutLB}20vR8-gf&PkW!U5KRgQl;D+A#~h>Ff`AiyOZBIDrB6?wjjuV7^SWVqL`F9{zY2Uczl9N_?IU&WNmp&4p)A5?R85#J6Xw4U_G`3HN@=|ST;}&i12~mg!~q+`^Eq01rcDV zDHndxFU?i_P%km^|JyGzdi-5E%&Mo-17J4_&(+Vo>HzCc6-!WW(97olH9WxcOl3%@ zuVSh<7&x`AJ#v6-U)`m-9rEh(sivy-z+0pT7&>|1rjn_V!O=atd-v|@A0LjRz?@E^ zK{101boAU(5N^}B%rPMog!zZNZYC6(T|GNr(B=S40tC<$8y~JSdL6+A-f=Ti!XEAs(x_ zp2+|}a~3!@0nDCC!dy*-Z9*{ylLr*wq+|8H@7sv zj$u)Ovh+LhrUj7KcoWK^lq&B0CiHW)h-wd1d*Ch91MJ3PRF<*ibvhVk$n$l|?6qc- zOvQ)#M+E3&@GhFMZfa`kya)(nFc&ZmGQhXVbb|d#J$v_@aKf>cqMOmCrgN#Gb1BMS zyLRouUa{Hj5uB}=b1k(sv8kzJR<^D>WVOZXd1hl5 z{n?10L!eMWI1!S-{sJGh8Lch>Sv4F}@Lu*j;jhDJLr+7)fwAI5djc#JnFxWWy>&qY zY;C*6-B3$>q2DUCYq25#w1J#8SefXWqe4z=na|z=X^9q-@7!W67e1*If)?ZhkScbD z$Y;<*ILZcJTZ5&!A%|fCJSrQr1bL>xJZmPqC7nvrL<}o7vjuA0QX8%UdwSeZ)Msm? z@gSJ$vmlQkh!f+Zh~;FeLHWdCn+ivt+rB?m01YkOx#hW;aO~LQPTbz#0~QN&<^UjE)SAjSPXq4(#s__i?vgZ6Gs>{j1j(0v=8lOT2wwzL$5$Y@ zv)zhYGr;~#CTnM9#Or_J+2@ABQ)2_Y-ax=@%y~?f2kyG3)#v|@ul>hWSAOP8SO5Lz zKKsS{@40_?c*yO*op&S|PI&#+UAy;q1GT88TG+mpPBsPoHKAZ#jX&si)dhX*Wt2MN zdXXo@Z|7maz7$iKA3TyT`63%0@$DFn#A(&|#3Z~FE=*0~@f%9D%@YVZLxtjW7)lA9 zk2GJ%?eRFAwV_5bJow|)@tyVjnYx1)C}mHWgOJ^p7&_Ed03CRyuL5ocXajU$zqSG> z$qm{XKX$#)c>{V)%C#@bV*=j*Jn6WGy2KQr9JQn%;QsPdFB^tk2p5v-b#~4+d~TAt zMN<%TJYph@pk%BG^M;`VRq}GeBWLgqM?vb+!F=BE+nX-D-~)OG9!!#X<3KvT{q{R9 zzUYDveegmE%ksp&cu;K>L}vh^cX?T8I&(W!&XNI8KM)9}$^^S6y`ldMW$_r~^97*IxHakM7}TY5&Nye#5yDfS zy2Pw|F0!vKz0%Kn?!7;V&jXF8{F9&l{Je9|VHkoahogvt&x+;4O{bhPK0dB9=-Gph z5=(nqE4cH)BIOP+dH=6p zf0VweLI1GQP?1XiI(Nw65*tb&PwR22foc!DEqj15k=YYt6X@#9RCv#>o@X|1PsdBF zSjA$w>FIbR8cwH^$Sh#&5!qt3y4^m;MBZ2Wa4rlS4w-CfW-$i0jJ0Bo0#esEcQ9Ru zhR0&K(+Q7LteNU|4uok!L2kvubxc&Vj4!0lU z*JLSr{Z7Vr@`R(4N@erY69IE^-bpJAlJ=(1bU41a(f9bCy@wupBz1Q>EgpaKj_q3_ z(P{8yg)K{~q$%38NXR&1V_WdZW41IbJLHTD&kNPnQJ@?pqs{HjCSpY4TkDec<4@o8 z%)NJ(3P~n$z^t?d7IQkAH%D1~ozSVK-o!IL(XKLKPsJX-Gv?f!zvGGLT{ypzL zzHRI7$@-w9KImeuK@Q|hR!*<5#oODO%-fz$xM3Q}Yz@CL%HAL*yzilrv9)X1b!3c2 zk`!0olQb5yVPt43n}N;(r&|zzX{I*yBNP6$+gz*}uw{69dKiTiU$6o3Zk_>@ySXlR zO`6TLP;?;SJ2QAOtK|+Ri*cF@0*z-QbX3sfAjrgM@2*JCo~eiKeWtlBaQeGW?&xd> zd?z2dVe$;TNe7zFZ$e40w3I5}`AxVf)gr1rQ0;*?wg-5XgVRC&eeLM8j7BDLiS}j= z4+rj@iK%fsGYEfH4!|=R18sJ*%k5<7OJz*)R58QCbfFZEOe5FDBCPD?LN~+i0PJ1X zu_zLa4UG(&g$-+%ipDl=Jh7=UGcYolAD+DF-X}&=-k^JTE*;0W^SX5#e)gM3R=DdC zSP(&I0iFfE)JEqL`3mx_tpNj0vc`|3gO~^Ae6o;<#N#2a4`GgICP^pKld4^COKn&$ z0LQ?$7&2&6a0T>PqKIuHLpt~cLnPLllq$?z%mpFuasguzYay3qxf$L!Rl!KgYqp=} z`4EaL2rD=!fUDd)u?Hnb#3smXwhm;2B_oywWoRvenxIurLC#!~q9Ik2oP%qEzM4%r z9ExCM;W)7%xHj3530zy^IKAwh=Y-guMSyk<;YKckwo;?KrmL)FCLC%b=f#L4JJU%2 zfH`Y2g#253C;CQGS&(>yBh0Q{ePdIJhxd#RV%?C?!tOkqYo=t(dTQAu_sqVLz8Ngy zf^#BHJU?_m8 z=WPtO20NP^ZkrQZ4uj5^FXbVT%i4$3kopQ^fhHF7#T;AkaATN6bS{!iXXEiqEN38K zMJtB8<8tQ<2DDa3$3|e9Hw6Q3y2N70IEu+w!sc@B?CF-K9rW?)_|Cu?J-xlU{-#0% zpyuJ~3fw`V9-y&onpTLwL04xsBB~VE-*BU%QBxM-g>sl%6H349o_hgwKz3BB9Xod| z>FB694|SKT2%HWN5BK!+a#aTJR%U0eZ_80@OF-mgNxz`Y`%bCuA)H1C?FEW{Y@Zm?uytcMx-@bjImI%@E zRsn$4TSr>{_=?a3{eS6)KcoYuJS41JltW{BD!d>9T%LaVY5JLY1L`@{5NDy^vcjPN z;)Q-VuM~GCXC6gF}VKv8|V5JoVRWWH&+N=BkaSSuYmO-)9v3saEJyvlh08{ z9U-Cf+=8(<1cJG14UXkrWX)Dfi2l=tEpn_{eIt{)vo(4Ca zdJ2zv=Ny4VLG@8~9)T_3Ja?8MO%UmA(JSL*1c?lIuFK zyu5KR2%Z0uOD?|m-uq8Ib>j^;+;r@*8{qQm4`+Fvg!wt^5VO9#^z_ru@D^3)S;pf& z>Wc>z$q)RM)hQ5g5N+N$#3ZY|-TM|wGVjZWr-_epH?bF;g7Mpb3tWiyXKb zjZB7Y_L|z(sj+_62Uv)g2r^@utv_wB!LG7e9VOA526jNDDxQcjTXpl;Al{v#Pt5pu z4+L71Gv@DJb7O729-{)&?X))RA@tX0-U@wvv z<0Hnk?Hye^`qwWz8Xs?nR}@6LQ9wsQg9Z2&Fq+&TjtT()(}NmeMVU)En=O{fwgzi4 zI}&+NRIwX?I57ekqubm*qLEB&Hd27&k_(4m!2(^&q2bYDm~cgd8O63CGWHAfTbgUN z2;G{mK)kbd34J2~X#p?NRzu!c^1vK68wp6xk~i_hj?xOiLKIhh8n!GTwUkMIoRo!V z$^}{`&g>y_A5<12Lkvb5tmUGyggHT-ggdPr)P}@jkO@7wWb@c_m|j#~AbP0=O^C(g zwKYK$#n{wU4IO1)K(bI zaw|c|izQHS?x)a-)gj5H^T}2$X3TcE7o>x$q4kE`L{~5x=CG!^nk}23?%%)v z+073j*L%?g=gXF~e8B;tjQxv-n<)qVoK**I1D&1DKvgJ?j!nSu&lRCOP)oSaMV3{j zrovdc>^*dQZ262RxS%WI_c~jf8&k1lA(ix)a@Ks(kj~PR+^^|yqB->X*ncOTbOOS< zT8Gc`0T$5Rz3-ZDe3NTOAH7cDT!b&W=zK6@g>=CC)8UnQvN+%=mGH`|K1VDdRJ0eM z=27U}MDx~!`XB&u*~czd@u`V|$ji?wqbDL&L>>fv36+E%fa0f`Ko6huzF9|S<)uR<*7L6j;7#bxyYALc zg4oX8(a%OsyUh-SSApQ@sd!$g&!RWpmuNFXN@g>=7q^~!^X4#9BwnSu6_56~ec z@>*tM3?!{`W}buQGMs48IvNh%`mOJLPg0po7hiZmg@ghFBF}?fNdl-mkByDv(eA7> z-*xu?K2v)YymY;L-@fLiM%n@g93C|2C)dvZzUJcR)uIc4J}Uuw zwt9e`*Ooe%56^QTy9|vz;PvG>3KeQ1?1(9BJ!ZczC%@V@t*&7zCa zGA@6k&P{vZGyImpUeybYn7pG-KIudjvF1&+(97r24_|^xkE+baF8c^SSe3l|<#W=B zC(N5CCl`9xEfgPc9N}sH^ax5QiQ?1{K!?yj`c)w2YyR_Fym5J_=_iTIN**o;)bH!n z^&!6<)+4EZPfssPWeUY+C}9~uU&Yi*tOlw*@aFdb?->q0Sq*yb>22G$?n%aq&~+RR z+*}tC{DqVNwKx=ogVfKfpH3(14U#5K3$k5h#k%W%>ppoEL$)gTb|x_)X{4g zUgv!Ws;*-$wx?@) zaPRa4O4f)I8?7F@!t3co*{PR;WOb%vADRSY4y=Z!cx}q zXDYzIRGZg$DW6Uja>zd#>zeBA-eCU-ux}Av4TxK4OBjT{1s-c+YKl?ByoSyr=lVr0 z!^L2z#-E61$HpK#?>_I8C4*xztGU=v;{uG>!Q&_ZJliNQ3oh@K&) zaN@q$qfT$24!w<7coN)MyD5Ck4z*G@?!QcJ<>muf13zOPWOA8!5&%5L)=xyhp@hZb zxTpyP{msk-Z@cNq+J+sAI~x`)X+eWEf6XJe@*9LK{d;>w?~QAKeaO?RI9fZeRak*kp7X zOHN$$!9BGBe`>Hd$hX64MS9oac8K}`Xn4^;3(xzft3Us~4{Tg{=oLTw#uS2CBGUnA zTgn+qYeOy9eDafKSy~seanS_A%UCaiEE+X?x*?9#lBwsw9$sv?#NEE8RgCzSz~0Ry!yVTf_vkuVLkU zssad*g`Aa)X733h`Tk;-T2O3HNx~<#q}}nsD?e*+xUn~}31K%_vbisR{K^e$)|xWe z>`ZK+dvJUAz*Mpr&6ZLKhB=&(cofwzEBbMou30z+6~YaJo%uWu4{boDL>x&P^FD|9 z=+#TtE^k3@1alUv8ZRL1V7%T!I1Q4@rS3Q13j%S5r2X#k4`Vl4ArU|noV@vC8B zxf=R7{v;tnim8sr4ApDgAG$C>6>9y}~j?!DR04+I`y{f6Qglz$N4G z3MR(r0=LJPv0BH%@l-ws1pomJNRBNnt^LCzn@)QN&Wm_3Scd=>X=!T6WwKxWhks~p zYe$#-(^p>E-qMVhZLw8ZXu(NfCLf6>`}PkE4Uf`A%neXg1BkZ6%FJZLGm*)e8Me`3 z!}@%FT8*vO058K-$|U1-4K2aKL_XYQ%=s)urvW+wvH%$@R1D9L-~J1^l?QiJh$O(3 zTh!iu#1U)t)N{}1mns7H+RxJ%sRr|8U#w??3l_2M@%* znC0xhZ`=oIfBMs1ymM4So{g)nyu7AHRu@!@=#ZcO?7DN#c@L@-dgeS-h@9Z7 zupD~kzW?8A{tIk_ThO_r?|)Z=D$5ABjx^a<(=vcRD>#X4@ABK6%yo z?TcII70RG0logG}ul~F5Z#?C_GvV<=4+|Z2)Cy$oxOCeskK`h`Kyv?4M;-biG^|x# zo0LdOnVSghmkCs^SlTlb^|l<62mv8H@%;r!>xQAq~+9w>-IG zI)f}l>6jCa{rm6#JNPR7pbh;pgMbU1oF0eA#3X|r0;sckU{!q;EV{-LSi=g;1F=zUM_@wn`#9K8%} zXsrP+eb5FrDQ-J{`j(_)i+gh7KUT0e^v>Ulo6B85P{LU}F{Kd;Lu3p&L zlQnzzQ7cZ|xFHbmVHIFBYExl7pO+f`8ben;D_cL`gyZ{1&bppDn6h576b~kLHBPk$ zsy$Hcfoc!D$vuGSg6NniA_%fs!tw4A8`e*bj6J<;+n)XVa#mCtN=}cnzrXLa4JV>X z%%ZsvqqTifsbs?I_5{5?W~%X-nQSy+sWJEfjBDxu?|S?DS(we@gc)lpUkqon6PeOs zi<~KU+G5R^$K!^)6$1kbF{3V7GH+&VWRPThwWAgamI+B#Fbrb~Bs-UDu5W;aih)(K z*fG>NFIJDCR9jPMU-fVJyowH(_4@3R5Dj0q~b+#p-mHGGYyIL947(or7i)0o@YHHk$3`k}VO# z22VL`S<-ntUd*6OCauLZWJ?8LXmTw8(^{=i))D%MCo&V06Y*Grt^EMv^$jhCe0uw~ z7kKbO9>2$pI-7at@G!!57P|v-8|>sD4krtRGfzA9_kXzgi+}T(6`h?R+CrD-W;q-` z`{8%4`kOB{G__oR{ck)z&!v}MIu)57pPbm&JJqv)dVFfeLcjRjXlU?LFdCA$JK=5y z;O!Ft03ZNKL_t)*YL;6Cc5b!}O{WGX(aUr5ppHfQP5G?HkQI`u$s}@Y7{PY5IZAPp zEnUjm9VV~C!sLV0uk=7{_dDPH0Xxdk%suhM<4L~1f8fVI`6;kPeO)b#xmTLuYmAQ~ z0pw5xVJm{9Ql)r}*}f6U!Hm>~?l&UyH#$#*X#e@2zIrgFoc`w`5}&>5%7aNooc;a% zkipr?`t9%jpj-jt!ymdBY;MPnU5G)WD)_$lo(0Iuy}tXN`w)N*hhGvDWjlh=28TlR&ecyk(Yk_sdv8f9sl^% zuc%bV9lPQAtuLT(0zq=)$tR(2^P?aAH(>zrxhQr;=IU$zz#wZ*uNrioH_umn^3g{h zM}987f#bY78O`0sSHpoASE+ z;LgC=OsZt|B=0>g3PF~CByXdE2?F{RXk2(aL3A1>#uJ;L+}haGurTgyV1AX&GJ8Vu zxCn-+kGYheO+=cTYb)NL8tg2#zWN^yF?c+CJ=<%XyGIATo@SrNYjQRiP2Gh;Vk#1+ zYOsK*9nC7_;fV`bMJ5kMV`Cfc3T4V5J1J!rD0u>;=QC;ggx-@*z{sx)S*&Iz7BazL zI;6J4YR$)!O(K~l6)cd(`nKV4{_vHHlBs+omK`10cgm4VrowS{ajje3X0^^U3Q#wz z!|rEpVJCl(ZkdHqiq@NqQ`uA|%}N3k;)eQ~sn|Hhs{_)^$nf}%?Y%~Wn-u6_WV2~z z1KdaMH*v@rU|DX9cBjFJsbee=iN|I<-k>i~KQlSxwje4kv5BU&hNuLX-OlDAWyysS zj@A*kbi4iNbtIE9D9`EeL^K{D9F0NEvbvq_*4Eaxww68H2JgS?`>WP0KKaz6@jdAE zd6=!JI=}5dtGM&q{uWmoSnYvo5Bzoa036r^s4xZrLmOTc?2e$p>JK%nUfj`l!(cjF zuwXBk3~>fj!8--(#WWBd1tc3B4#cPY9>z5fV$hAt7cp$(n$4I^Hix{mp_O|F21h0% zFoub}FPy*j-mXQi%zG~06ewgC*LU;}N6_mq7Yy-al+}K>+ZByPmee=1ndrHFyG}ZC zofs1An=%`ssSM@f$}Jp^B#g4f4K!KxJ9b%%%Qv!b*z5^->Oy&+HE+mj28{uq3_>sv zqAoZ&NH~;SX(I_`NSF3Xh_;I)1fSaYE=I>}1kDT}mWFYgQdtZ-h^(|lQtQ!FJ?KEe zV^vC(J7nG*altX!7-m74Sfe5ez)yMDHJaf?w_~ytOeOk3GcUC41cp{nc*(|js~IPY zs6i)&$IL#1-C~PmGh&bti*ik-WHDtd#nSOeIGG&@C-byZGhk^qh&-BKA-~^-t37cz zl1ZkL2sb;VGR5hciBP~F;{Lgui<)azEnnjIK|q(CaG0LRabN(U&y4nobT{@;$%Nky zxE$%^G!PGN!o)z+(0o}2z~I94GZ@%y=nneRiEKQUOU0dqyxrpT5}yPU6T@uBZ*5)V zbmP$35JU6>g0tB&6A4d-ql1H^a3Z{3dsA~0dlL8T?HU>$@CPtq?W{c%itxGdhMlu} zJ;3dFotFDXsm0>t#KcACpLfEBBfj_DZ-4!3|58M$EuR4yjz<&eRN|{&`SQpNMUiP!G-ENlYQV^+Ct?8KG?Dwl<3*#$7#27^08JYiH`GAT9*4Ms z;b+O1n{B?PrUp3FlkudH8(}u{(57w0sdyGHbdBGwsiVl z^*TmFj+u?#O0T0_mEv_Q;)XpF0mCDDdr)=b}JQ~O&^jMuC>vp;R<_n)K zkD!P3=ICcs01tcoRh;}weFb#ZH5TR-S9zrsqklf}@ylLmDuqX{Sh0NGgbZPj;^)2e zvL`Fw4S6q0Cfu(y8O&SVID&M%CF9w7OGl# zoHrrNF9>qF((#};T?^<)K4Yr>RX5>nR(T9mcrUR?Y-D)i@kh37-Ll(h z3pyMDEJK73lF12(JMeCh)W8;IjSYAaFCbuq{AtckX8S{CB60}WEQer=Vm|Y~AhP0e zoUNo-pMv2csVC=4u!EESKm!8Ok?16|2(LFt<}!&uM40)F#1b#(vrmjnOPEwyaa@ih zG$L{`ttndX`P1Xaop6-hfoJV`ak)}DC7w%IS9Um!Ah2q~64pGf`QnL4UHuB`D|J@~ zm6rdc=KN_bP>d9?QKPpI$z*-BGEmbpxU1l_6|vZz4!A5TI#Uw?o#FVph3ad}XOqCF z#XL*eC5y!-_IAmTiH9LO15q12e%i#!4i)=X!cuZ(YdUP=h8U2EN$#FHN;14`DkY*1@h_WIc!?Q$lH< zL}Yg0_Bw}0#%pUrG!?{OOCcX%+4tP_C<=z$CpK>;60&(z>lT?S5m~#_v$!)eDXYcq z5zmczNagITbbEs~ryKGzv~+S)kB2-Lau10PcLv6fRteQqZNh4>K)b@5#FO%6wY`I9?Z7u9wwZC<{zqot(*^!d+7>v~JxMuC@Z z&)cX`)uvQ?pxOh~9(eoofHxRO_U8mr)W$ZPq#7{rN2~ zTzKSadnsqN`)8st0Me>`=7Eg_yUhWhH=$W>Q6ws z$|-e2wR&p(pyDVi0#iamxdC0pWYK`^@&{lxF&MXIK+1|b)uV$78JtmA*y|*lpvgr{ zH*6yeAF)ozO`Hm9c1j*}SGd|7luRwfo-?6QL6oUfa%6C55Qzy(Y9iKn$TC1^a@6cS ztqCR*1YwfRBx7Cs`!g7w8R6=pxtuqd@n(`O7;0)Ap@1(DPrF_22;^yj;jwv(p@uq- z%i*=VYik0vZcieYG^WtVDBxGkY<3uJ=xJzG#% z#(|-!gpM0VQ4Dd4SXihHMXST(-`&+0Pn7EF8$gzkQ(L}zeaT@P>g_`~1A{S5ntZ9z zUF&y*hO?u~7Pkj$U6fW+Uw`*qe*ib1n4aJXWbp$>(dle@$+D#bgA=Jtj=qI}EPV$5 z+G5$hZR@HP%Rc^zkAC+DKe_VLSM2KU>+2hU9)Tmt)|NKZ)dq3n@^ng9#WVKM}KZmdO~WS+>Drlv(LElwL|H@)l7zZ)v(z%>gvA@8_0mzT9v^Ib^SAY3`ztU81a(p13 zYyRVFZ*rm4;@*Be@H+l*s?X$K^Dv6NY|v!ip2rga?nFNUOHnL-Kw+i| z+97iW?GP3W7YVDDi4iY%nsY^sd7|y6)FkR<@u8GXC+s#S(UYk-fAw{34u?k&Nl_41 z`wYb_$L9>0@W1>CXIV36v*~Om!32tJOl-{i>5s4f)Mr1^)KovWPchWt&LReqNX8qR z9Dbj8c2Utn0dLHdW0&NdRI1|IX=#M^zfiP`HEwHve9~a5b-IH%m@#G8)Cl}dlc^ep zIZLQ2qr*%}EM_~C1@b~Y zLV6K-3#WtafE1t27F>3Fs$i?BTSVAk&iC)%b>XSYkP(}ji5+$5A|$A#o3#0th6>9! zb#S`^p`h38$l?4@(-P!!_CUR)E*OqPNrw*@W;^OUU-#_pee&_0cAG!V)=xadq!SLj zwG*11P)ZisY*9LsWEPVNxY_Rwr8B8$bc$63pRaaeY`>k!n6@2f_R*kWgya!IheIZM zOr)5kXyv{*SLHdgA{yh^b>anhp2E!wjQCu{Z=tLD6IKC8I%+vZkQ8&d6oY7e|UdjQNAD^~zm?T93z`+B-t z>Kn0EmbZ6wzc7-wSxe#g35Omb%DVzQYG|(38G_>S$N!q~BqOdY2%9l<08*`*1;&_Z z5}$HdBr*)!%oY}DAKbQM?egUzmuqCSe|U5Z4|yerAFvw+>n#sFhGk&N8uskj)4XXT zhSTuC$o~C((3;SYo`GHpzX!J)yj*J>9~KC{u{amP-TTwy@ubCO z%$rAsrwj!og#}iYQbbLnG&K?L-xCQ>XUU5_#d#Dfh*B^lBGJaWhD;*WULUZUkS#7v zv$4zWL~bJ*iQ&)ekmZZfMK$CNjWxB2*wj#Z+G5T6{jT=Ki>RcwwhwHJV@EN1uoI=* z9kx;`-`3e-6b842Rebb3AS4taFyu?q6JzO249&43tNSkV^i*_wWZdcq422Wj!@F!Y zi^t>a9@?GGrOh^TKaN5$>NDxOy1J3R#PsCI`lDCja-*lOn|rZ&%ahB2m>(QKAq~3| zLIIo2o10p23|`3Lc@hdX(7E&h|D(2X%gr~}eC#rxH{f9UAllw6^4{p#VVu^qd2kBmfXLTw>~p}oBcgAoPolH=vIajACosP;g$ z2dX_#?SX0!RC}P>1F8pXR%13-g`WSyj{_RSfO)&N@A>t$zw>)qgTY2zrA&t->C8+r zj#R=lihtPKHoL>?3xPW$fCpB{^h84s1z*-?RD8?^IDxUs7p-A3SK^Sbf-G|3rS@uj z>_8gx{BLtQkfi`jbi4e1ZxCG$rXez2V+JASIIIt*Z$iM}8yRsCstdfEbRI?ro=~iS zafnU+eUy*<00d3Mc) zb(;4X`iMppkdzRG3Z@9^04qkkcQ_+9whCFk|%>sk!JG87wI>-A(VpSK?_c4T;7~4 zGccD*q4yGr%}j?Ur)NU!JB8tlFN8W@IN}&NGM+z1c4?oCRow6LUT>0(_}?N2(mH^YpA7+suJ5cmdbA4)pN>* z^-c9`e)5z|1((;eeMi^$OfhCN;lr-g9a_I(UH87d9*=L^uCB3cy;F2&QMWx9+jf4j zor-O{V%xTD+ZCtcRBYR}ZJV8YzrLgIzq?=dc{pS2hcnh$d(XAzoa-Nzs6*`VUSifk zP$<}Mw!q&crSZaYEee0#ULkX@>$sfEz0-Hj>Ru2iD}E~l{TUof8c+iNZDE77Oec6r zIuw(Q9{!s}k)tdJiOKvDX{kQB@-Ceh8iDpQ*{Nu*&IC8RAI>s*57ej|Lkn!7=*?8w zRo~ItN{uN;%lRR}9;9#63pC6Hrvu@X?gBO>m_q5_m4RQ+pXRJ2Q)jZ9RI{v%fhz-e zJW}-u%CGq0i&FyMqLxL=sXdKae||n&5qhg#1p4ZJDCbq-Dw{^RQj_u2QXG)b!Z@9v zcX5oz9NX(EH@?~W8qC}9C9+G7C0Gxe#zvyj@iA&Hn)|wG*evRlUs^fAu-NGkB^-6* zhKBvUBc-rZr=dcCYzes7*r6njvvCG~fUrS2e&6%u)*u&eA(beiZ#%kJlDW!M_%sU}^nd`FVj& z*85XBIv7cGVTkZx>_~6%whXN~u?e$^wp^;qOv6>(mrdMTk5h=QZqH8$7a6fb!zBN1 zPq9~4e@w<^q}2P(t>Jnw9Sm^xjb=}&lV{HA7k({3xqwitj~+O4WIC3Z6&Nr)wSa<~ zQzRD6&tl6uXtzMow{!l9d(UaDpI%|isr~+X8m{BCstYeYWmU7XJZ2Vo5HH60|D>rD zUVodzm+w_CRDJ2{dKt#&%cITZ=9)&eG8Jl@RBMeU6I@(S*L5r`2y=3*%o4LegpweG zz>J9Wlamu@b0{b*bF5T@4Snl<@OAejvhh*K8=mvRfT4e|+I{zN}y9ujcA zt@kcS6iN6rotpToKv4QI6vlaLHt6TCHH{OU2CWpw z*uCgw+ZOi7h|paGa3T)r?h{Jm&{CMMd$nby3{DM(_RZgTgZsiJh}r48Rqg_`L5Dr3 z1YlL0XB6Kj43^wlc7E6GNo8mQlEg>sF#VcKf<~pUi`}o@K9@?m$NfcH=Op6=h!5!c zEN3Fzz`%u?7f<+vR~@A)#-gTRHQQTl-vjCA?w7Hgic`esM62(b3!$cB37Tj;aDU*` zy@{$C!T%CDQsPLk@uG^xJqRkof!&r7dKw-^QqYOXD&e zF^rTFbs>cj@{v9o>Myjy;zL)=y``5#SxP}sf|HzmFQb7hBp|0lp^}wFi+W#5ee-+!AqMRv zj0S~~BNDEs$&ev!iP&@=5)$SZ6O=Rl3VW?UKazS@{f)Ul)jU?`(E1PD5Ox5=U7A+E z&X;u&p#eP;A^55Ug=X2kY9PwkX04=Yw$~u?Ng{ z(2&6p6!N3^lJ`U=!1cUUK$PT*9zs$ZDKGm8xYCMuMh+dyV>0l{GL0;IKMELI~_g%+Mf?e;|pPOFq+M{>9S; zy0S|+i}xEU)W0;4?<6tG$`cMj3&e-aOgRO60{$G`Dg9Q6!O|P zOO>hgNOKbTUp*xVLo$;sIG|)H_`5f%iLTDlG04pGIiJCnxOSw%Mre_y<>8Md)sOoVFgz=W--2 zfai6EA;uo(Jp&hG^kUay^ta|t^StCj{!B}7=r9EuF!1a!0;oN&>5Lq$rdtCs5gmAL z%25Y>Xx?0biOT&90!%ZYRYXugYGGry^#B!Y(V zx}7;Q=d6^ka^q^f6ponHW!O>mDohV+SqH3u{3j~I>5#N`9@T-$fea5Ex^koTt+qPA zcUpl5L_qE*QzqrVAJep4S^~@WZzo+*6LB_O@rkGM8UrI?Td)NP7`wumV7_?+vq_SX z^r+&)`F7Ig{8o^Z^@UMS1sXQPF%)QC6K{kiCouztZx9%@fO&`u0rsNf{}Me_=K<|9 z*=dxu0DeQ{&Kj|+-!MQYPDmfX%-#spI|Qy6=)VRR5w2A&Z*ew1g39dJ@>* zA&2KMpDa`65to(T?A$X8nzX%cVmYaE(5I9(NN=r(k3Q?!M_cK<5oI)HE zgxbxa_lNGt>$(KGu@gcLgNqCJ*pozaCQZA8via#Lc|}0P`txosJo1r8SoWPH4qLiB zA77lsk_Ig+Dk|;{Bqz+a`$`#2?NIV?Cr?*hpU1RxJYon->%k4tpw);~)q362JbFRP}kxE3& znuk?WoGkM-em<+95zakJ{RBm-9r^>_PhKkl-B&XD$!g(rHy9d#WDDy;MOw{%P$s(H ziuO=^Nbt!)0_fmsNS>E+Y+2~SO;-pQs;O(2QyUWt5?l<@SQk4i;Ep{ljuO;^M9mGq zCr$3JddOF)i-!9p@H{B{9SHa!W$_Wy@73t1WMaBLK2H0S_TQy7ERZJROc7<(828~? zoUE*#SN>VREk;!|{WHW+8s$bH>`>4fGMApy4Mv>jK#(WSkO9L_(%kiYbuQ<~O{vGx z1QCam;2QF4!?7pg;XpAjIW8a~koVcV^#`}d#wW$XXCxK4IH6t;#GF&dU@C#m2V0Ap z({1l{rv(13!(cxmQX;K@ElxA^;(v4qsg4Ft|Mc(uitr_9?T;UC7M;f@pMZBaVgTH- zrJGWS#ZVZ<5gcjP;@>E$N#nlJ43fE*k)Ec$&Z#SDSQT2X(8yBPJmwor-xE-~@g6@o zaD_+@S>dK$JHGoD-s`q*1vzfjFgH?TG_dE@YcDIzr8HM=2HL8s%iqr?upu&*p57|b z`qjE%MRpmwr9sB%d%6|n#dnLBIT2DO-yb|L8xm8Ut;-v3H?b)>_`ldw7k@WxKj9Ug zayaJS#DwYDV)@elv3&7f1X2sj$>A@jn)!F5RmDZVsGI@zf{?v!fG-V~{pYppS#2me z;opNlIF_uoZ5?gxlLFCn6!Kk2W%aoP(h6HUbqPkGAXnN|L%6m;4QkkgN}_@D2+Ro| zDar0Y{qfW`0&t6;Vo7&%;vfubI~$kvOYi*nIhK?=1C#`@`n>dG?7zWmJCpt?yF4W5zc~H(E*7*O zCyHNRTg`I)z-!%`mrYi99_2d*e}WQ83(zF+KUvPZTNB6@Z)sYmt@dV8JlAVCLwfZh zc%NupeE1C1$+m&pWdOA2dgmWSA~tC_?wxY=ZX}XY_zCqvq}UbZXGtE(8ZiiK*Y0c$ zBsLo644-9;5F{AF0T61FL?U)_R}OT56>K8R5Ck!*#1JwQMu@+I6Z{pK@*dxxf|T$u z;Yt9EE@c5IvRX3TvH-XM=cKQllbcJCvA6Zv|8N0#sGv^yKli6y)^Z@X@0(=EJxC@2 zN{@NAj6SoFKnr6|`7$-wxkEwZ9!d-Pp3u{&WlQihc%n5iPO&WnJ|y*RWC! zk7l9uI^DY?{OYAx6&!=@(DczkGS=^qSVfS)Y$lq9w+x>M3@`7g(xH<3zys&#}Dz&xMFU;Cll29up?jK9l*yu`Kju%#DPkks5CpAC6wshBn zP=b1di-GEgST|+qmBUjMd4dQf1f%qPFDxc#m!C503BTe2E6lK6RJL^iAaTE)HK_C_ zIzF5F<>_=L&QAB;@LrPazUW%P0l!J~h+5T&l#l~ywdL+Z7ilKs4#lM_r{GzU>#)*2 zL*HHdrvbHGb0v9Zz!Kh*h=6XyQQ}Y|?rNe7caDMmBcf)1QjuC6BVdv3Q4&Gm2aXod zW?+nvPX%VFHdmjb#efP2AjDB-$DZe}BZqK4QtZWZVFD2tYetX39&uZENbo!I`q$Oc z%7FH7P&Y|P*s+fIY|I|69WZzhyT#6-@YIPz$F@v!ucum!a_lcC3gf5{`_c&K2}30? z`4Y7nbk^3kjzgBSR8C6n$)_vZIA_Key5Y{+mc!RMoiKTsG+4EoY`sTt zfM(e1SI^^7Ny#1O;YmO{IFm&>hQy)!(rM7}w05U9`{eiCYt6RPM^k(3#kg5wYtdbM z_qSGVQ7KHZoKt&OJ;W|T2b!tVFD?4GBNk|0TFgO5qW-ALKIm2<3}UkbC>Yt$_2PkG zz;9*w1a?s$uzJLo(Xz5(0uK~XCU@wBU{YhI*900guSc#EpoDhZl1I{X$_!_6C?Cfe zb;Jl>nA3~a@u|ULry5U7b&@}?7ZgKcu;IkiA%+&;T}t_Y0%Sn}2Gn^Y zA&N62R~~Ns;#+`OtPz|N6y!Hv62!vsgE)|b8B~kF6V6uG?0Ikh_WHW?NrY;l#t7z( zy1T>A0QRtJ$q(%Ro!|cZ6#g^?=5P_nu4sR(`TX2J*3Z(u#pY;)yD8VXeT__o z4$~%44e1&RB1gj`i`YetB>I;ERv<_+9XOW81_)iSC!`{p&{3i{A)r}GCWErC=Xd{K z;Ksxn*yWr(s5@*2Nr78v5R{ELdl>~*K#sWpbxM*5IN8iE%Dc=zc#D{=;{p_A0NSl6 zj#_8r5$2iC6xMY?dJ%6$1-Yt!I#lwIzI)1lK8~j3E{*ta0~}j{(oqkIY}yO_0m6Er zhs4HK%ee6YP=cgGB<9rVO!j^?i#VS`JN?2Bh^KEnF9RZY`QemxU^7d?sI4_TZoZz| z8-K~sogytXy}WWX@fQq8Q4r&e>-ZGND71iJ;t)mRFpid*aASz(U^n3RP+`WPezb( z5+yNRD{x~Wdo%;4La({gEqXTl*Z=A%U|a?jyHsr&8=wh|{K~*y6kRyp)ir)U0SCH@ z{sWad^iCzLh{I67ce`M&^aIGz1C?M`boKu1`GDN(W@Ub5Id4TB+oHd;eD z(>Ts_mSoygK}rhsIoCgWXlzdEq_uo#F`+-tDBQ44Va954^J6xszOL8mL$~KCxbHA@ ze+^;Dn=C;Ngyckjhtt+jU=({IKwt3*tmK$O&-39HvFqNq_uQD-VuWvpHZ_(=Sj@+) zQ}fcTDm8KLa*1Avsb{?q`MJ%Hq;OAVPJJDpkc#LY_jnbQcVEws*gd=_jVV}(p1+N* zZvT-8{R+HGciX5|1Ri&Hc3t-l2_T4x20 zK=43$4{1)BMEb{#q`K54?>noUpL<`e_SW& z2jo=1Q7?S!R}YHx4NKr;o1Oph!~>InV#aRN>ejfD_?pTzk* zO2@=?e3!-%@LoK$+q7t=qj{TbJ%`;KF(N4t>Js18+@i4Pb38;7z-`+++K8R5gUC`8KoZW6DS#62*C%b!uYSsrTeoJ7srunFAD2fYQ&Irnqf3WFf-zC}WL5ya zqQm~$B#wYH@DPjvrP~1X&}{t&O(>q)8(XZf-fK~jAZDnIjxOM=&}UeG)D<#Cy~6s2 z0TeoU;|X7iEUJCi5NRwiw>X{YLu!yx{<|2pv@|xq)9sIihY1eq!65U@fv_+54Qzpv zp~XXM>R&+nm|gbUZMwUS+dUc%B=P2~;EllKF*9;6cMsaN>A4EAvL(5`E?$j`dLZ-Q zdmjG62~T2D6WgvQ2cXZKn^$LxA!dZWA7h6pW9pLfBkj^ONk(MGhQs@$NjN7Q8QPvM z9*1QNz8=P;-z0?ZyUI1$T3u}*4`?3RO>S$@vLYA{hE%-V%4d#)K9HqN?5RVE7wSy# zfB7Syp?pGJ^xZ%L4VsD4z2^Hx+6BVzPlJzFvJ3X8)lq~9QuhzWsDi7{wYW>CviW`9 zP?$-i3f9aoU1Hcsnf1+2GQvmRB;M-7=mp^*?J5SZTKYu0SEErq6wb>`Z>JOp$RdCZj^v&(lnzdj{75x&d>&FBLo|EM3j za}v7RjkYnI2{0U@@{Y0GzOFneySV;?4z`V8XF#X`J_CoO=)mJA=g>YoE=<|8wZf=t zFJjmp;0av_JbwrQemTF`6~*?9wDbQK7m6cZE?U`6XJ@zh)I(>ofSTyYtdJlM12IqY zS?Cs{Qx!9w8bg#Tn{H-e{rStz4VY_df-eI_(md~!i*>+)OU;MHj7Bd~Ff>J!^D3Bo ziCUU%M{HA4w_^pBEEMEE;E8qM^ow1t^sQpnP^s5gLafwX?zSA^s%r~)9}9}wtX_1H z+mi-o3CJGA>Fr}pk)cTeLO@xI0?qRfKc8S+nHLsQ0q0@qAaw*5h>YnmpI|PW8%gsg z1Zo5?P!WHr#|LsAvX9f;rQC@}EVmAyK=7&0n#Qa+m#$-v2T?3DhNO`tI{1)~1}oBN zLAU1SFyEzenClaIfRLS1H8L zFt6?O_jC)qg)3X7b=?jaA$ERVIaoZ5-ka&MPSl%C``m0IP9D#Dt$U@Vs%F{Nu3T~Z zY#BAL7HL|k=IHwQIyxFV*D2SWrX)0`H0J0+%ILat(yZsiY}ztq*)62i?o`fS!W6*B zJ!i0##%>2hgk4(qx$m5GV7aTYGq_yj?K_xFGyJu5G%Z)6JUtw>_65o zZ>2elC+%pz@#%saN(N>2)&fOg_cHHta)kqSyon`C?_#R)}e=Z+IfvH%EM^jwy4& z3=vr0@Dme$4`2}~j{0RSmME^e)UrvG+y9O zOxONHTUAl6B0BsGm0+u)%fUPGOkUI}1~t@{DQQT64i`vRmUd9x(!A0 zx3=HP2?((%9DCrLYBgOqlN2?&>gMb?sfWMMj|RuRIx@YUhxt!DLXFu=O2h%ULTmzlvncCOLor?3 zC)HMTgkQw(4oC|^ zqKplqY&9{W`nUQUr@d7hdyeTZrrnzIcE{VzkGAc_?>->O4WB0Uu9j%=S*-aQhzl{Q z1O30@?(9|Mb<}^?O?sXOKm^8WSs{fnEI~g?iW6_}LP-vPeKEK~84tej_5dixl2fow z*?~Y1Saylw_3L$}kDb*FcRC+3A8!*B;kpE|KaNW}JAOY3(ZsK%mXa@2Us6N6h~*$d zekGhTjh|5{w;4S6la-(t5-$KhiJ~K@Yy7pVqHuPJ@8u%*tK%W3a0&OF(Z}^LFQ0bj zVPRomavn48BBvU<#l$!V})2^+eJZ<-BbF9h;05hu<# z1!C0}#arN3KN>QdgX7c%2CW%|fU*YddqPRx2_R22fO;c3o`ozJg;44dNX3a27da&3 zhci3j>XYm@mnC4H<@6Nm1+Fk)k(`AMIuN*N2{2gCan)0@*d=fd{f9CZ3fb#4Dnkv% z*_V{LK1Ad9%xdH`$y?avglzMtd%wrHmGxiKcqMD-6r81?SI?-=+p4k|J+1j+L`_cH z+elPeu{JXcm(hAv4bSb0vDE7+qF=)$0@wMk3c^@8&jd@y!CB$>t*c0 z3sAL2WEsf8HwUx*T~^kWH7iXNHzkz+j0!bEpD9X?8Kqn$Z;Q zr-K0h5=2E?Z+^;rEHivPh~UoE}0k_!c@ zZagwz42`k0%gbh#@4&GFx( zTR1ibk2VWOM~d}8^?k{qku1(IWa8#!aUC8Np62s8v-^I+4N?)6KO9{r<*-Y4=Ni+( z^r*h!-ZcRs2P+j{p4S~ozajNN?qWM5x91XKfc6rB3v45~c5{#RH`PWph%+Y*m@=;w z(6&}o0tTT#!JZ+@YwksK$EDKd5npyf(Kioz@7(@6ck8%sf+Xk|uM=bg3C2!|lJNnA zvU15(0|DXeBKnGG%1iz7%Yq-NDwn{HFZ3yy#kujWUtG0n9@I{p`&PF}`hC^%J;i;^ z$>(-ArIrhZc#xqy&9iN1d#p52uljH?+b++xybM|WXQZ?jAHp5}SWChrcFSdNmEsTh zQ#tiSp`J(4BHNYsaL%>+b^EpNG3c?L_v=O3y%)E-I!!7Cq8jyU2n$2k`+zZ5PCVc{ zd+E@5ZmSAdw#0NFniM(rTULqaf!6&9N;quQv2|k0mX3uvmO!XE4}N57*}Cz^=}x>_ zdrQvTBpuCgyKxQUuTm|Gz1bd`QA$y^z_-T&c)B#u6`tVWEO(HW?E|J~Y!}H^s3atu zqbRXB8S8+c-Eu>+iO`kZi=hbn?vr`RzGj;Ea6w;a@s8%l%-R@|j9Z7QyCRgg*oEY- z*@J!y`U8&r?mwbi_&|J0Z$LDLWXr}$TWn{2edb9?;%K%}DY6V1s5e821dL^By+8f%&1sW&cOO0_)C5;G;1OCh-E=# zd6Q8T9z1^F6uV~5;Nalt7^O3WQfBUNqV`Gw6oYtqJ@qvSXu&`iW64xVSEc!18CjDD z<5avEAT-#vSP&K1=x(% z70WFRRl=vVDNt`EW)C{U$;z2U(##@@?pe8nP5zPC#o;?1@D@W3w9Y(`M*@4?O<~R+ zaK<}3o#Evm0QBYgf(oShpZjB|KW5meA8*nTE38K!hfrxzClH?aV3&T=GB zV;#fe#8jfh2*Pp2=^ZuG@nLE`x8);}7N!Z(!5)KMS4T5O-|wNv{wY9`?4c^>GEwMM z0qlm)xWovoKJ5ATIq$q|3C&A<*)gSs3$*3GoT+WT*)) zYA`35=x&}Q&Q`*%A~7P*{|E=Qd9oFIt|~@NKipVBw^Fly=}B}aq)yojbDuC)!JPRu_Kgf)L6WzCV;WBfI_;69kY|-4!b>sxz(4Z85TT86}n>< zAujB6A6hT)Uq$%t?^o^nyVKrHt@Z;7MO>a;v44MAG4Omn^cscn zz5RTqnYa!&&+UgoJzsaL z{Hw2^t{8g%03sF?&lxr%m;{Set@d_I23_yl!L1`P@kAvFbfa~ouPeh&ax}IXzu-+R z-r!D_RhK5zwbo4HK{o!+$TI*y&I8tK_kmVAyhFb+GwQ18xU#>rLs;PGG$KfE6FuW-K>f*cfa~ z^q*>U&vOF!PK$nU&+)I7v&UcXM(|&+Lm#hh?{P2ZG+*#KgWycngevgm}^RpNY5IR74VCL!*pvAMaf&vzhU!xo#X z3y@^6#FklW!(uhNnytA2YEZg^(28`t2+;J5S(T+)0MrC^B~J<@Avbrb!3S`5)6DT_ z5hdDK8_Yi@bVHmLjXp~*9*~Xp+)=1#Wjl|i;$oGhD?2;e6A2Y~+2(?&5x%T}yi=BJ z3P%i@KHh!Mfctu`8YFTAn!h)UZ%A}OY~hneHxILI_WB?(132s}kPMIr9!Nk&puHQm zq>YJ{dV!QCQKG&oaSw!2w?SP*4rW4-l>vKij$8lUEw%g<|v~9QU}32jOww$0iJF;b;t=%Y5~fND}K@VuC24>auAO2m#)2)$s#_QY#wOKx1WK)h4|?=&4@DTnA8 zd>R43ws~7+Hl2IrX)x@DqacVYLE!(CR~Ak+1Ua774;JcAn;08XJqXr88{T9>loMhn zb*U=bESQF=BAM*nR8%BJ19#&&f2j(S@o4JeE8ztpi9e zcLMPnmp9Tn7LS@Jl9Q?sJl$j`Tktz!SkFWVAI!ByE1BJC2gq2C%-@A%5XKxp)WM7o z=GCEp^YE*5G@$llg;ptT=jNaVLU>M87(d@K9^uwnl1#<5)$IDluSvRN*h2c%rE zEc^9T&pl6tUc}StK(niH78~4$M~(K#_vx75^JC(W!SA(9tR_doG~f_92~v)_Y$RcX zh^i16AmIgMJEq&zy3$}id?Xv#}6OXYm zwFoRQZy^$jU!J*{z^pa7%`EWlC7cf<=Em+c_K?PqAYphu8&2}@1vL^ z_bQ7HI%3*`J}3FHDA4)_kKu~nl`?4&*%pYd#^$n!8C$^@3F2suQ()KWy=1)+ey55> zS;M7fxq0)xRGv<+%klX0ndhg5f8G85RpWbFtfuGAMB~hV^Yw>`ORR7^3oqvo9UB<~ z$r)%*cUr^|zX2OEp%-Ep`cC}aP9j9RnbKY-1JNcaT;RBx-uskBPfKI=I~P)- zL%6{KSP+&f(m#MKvTk!tFq01{8!1)D+SnY%n=BmLfPihmxzqcjYc}Bpg4+<8qQLYf zwwFN28>9?g^Nt(L!@^+65jr@>l!P?(bCs;`=cx3-#?f@hYq!1 zS>+sakl*2UBG-K=@<{FG_X!fHnbhhOYk!;7(v}&r#p|-j<}a=;9yKRBg&Zo?D`jLi zzwTJ9)EGYb3BPW`j-F+$GI3I#Jo$60nK>goYWq6Y4EY-SvIWkvm#vT2z<7gBHxSdm z>pn73?cS_@TFMrvL*V~u)|mmr!2v`K;l6CMLbYnSm@01mhYPR)-aO7MV#TELJ#Tjk zd@Rm+Y2GM@G*ZdP&61^{(ipF!p#{nAYHB)k;z}mjH&c8LT{xeSneM+ATF`H#c((X< z^b|`^BZ-vFt&_%nD5NPu%qzKT(wXfLD>oW;L=k?86ABH*S?>+fu>}Y&U>X@`o&yoy z1c9Pu_m5n?9KHr1X)7`TqJU*rxpTTkN}1ZsiuaaKFv4%69c^}oYM~R3k#!%rb%-(; zJ8jd!-YyhD^r(nfIhTV;K_2*Ih-%#Mvzmiyt)PJxYN{!~25Z|hUa97<$cACGH632{ z3zF+qn*iCBhf2{900OCTB-T(}yTAl@`9}!ogz=Iad=jp4F5p`-G>ks34ebaXD^c-sl}; zYf+{(a`&km$4?j|2K-$b;9%o%uy0kH)=cgEHzF15#6wk`d!w9!Ko3V7jJN{~AjAS- zVKe+?xu8w79#Dqlw36my&RnN0{RiMP9S~S`*#vC+(w1<%Vy0Zzwe0L+n^%&a`PSCy(8U3EBitSGo4RHzn+1uGcwWS!;|1wW$5CFa zPwW+t`e8v|ZQc1!oikGdUIWNq3)@nuD0UpUEHt^&>Fh_!9o7>_XriJXZCI2?ijy+8 zf9%N$bP2j2E@`$on05PHAfBl@<4iN zb2g0W-hS(6%fcBf1Bh1bre&6>RVuF;M$L+@kwvS?{`!=L>TIp+9G&Zx67bm+;OnPo zF;6wlTlw!{{O13~x%sa!|6vwpf(x*vZ}W5WF-dXI%CAtxiYRQ-F(FHdF@lmmc0LpQ z$;$c&+WsEUtxu(j1(JYR&M~i)3wtYaKLACzyeQT z$MfkoiZ_y}B~?@g<_Zdw9xzE|nZ)2&kN^Umg<>plK&D{qpak{>d)s(M+88x}dNnWDS`j;6Va}O$J8>PHRDnK}t`@7h;?UDVuJ> zJ04nBA47Vwd380m#}dbffsoyrAywG)7P0LMT+N-n0FBOr6prYW;)nz8kT+-m;Onldwq1*4<`{(xJ-?B;ha3(UkmDL-Kh*olaLvEd#_#`l>R zdAugn_zd#0j@LrPk45Mplp`w@_J09dMFtB= zDA{n9en@NmHSUC=CH?eVlsOYkUa}90BbFx)`u#nzBr_asSzC&G^+EA+_8!4h`z{vC zuB=oqJ@40CzVE#eqq7E)<97EF-;csjcD=4$&t2=l0&eX?A@^$Xo!+)C9^T6+GgwEcBT z=Z`H6hilh@--1a7 zMw`;apvT3b^)<%cl}dvqMw4=T`_HgAdCHiHKRQJ5JnKC6@PgH`Mup95 zA4Ag)ABU~bE@ORnV>62)p3b_3t2S<32RMGVVjUD*;tbF;^N_1i>7x3^T5$Fccjt56 zHV)D`D!6a44M6>Mvm1~C3JcE}vDn0(nIv8(Ln(#iZBL6#thCq(WC^Q7LW?d0ErpHb z9q%@!O>OGfDK`z`^BbNKa*M-<=yOJ=3x_z4B`hJk(c^##;&t(=-w(7dN)jZKH?$NdI72KtTnDP3?qYF@GTi8j~s9Ccjg^#0m2o3XfmAeE8?T@AwhzETtFC}wB8)B1mzlO>*FiWy3PFz(&~^VF zfpK#L?+Bf_J$bG=vhD8r$A03`I;T>&TE-p3yNtu?Ww%Rcp{?>iti%6gz#m|g)c_>u z(Qt!iMc7@6%Rxy(GWh+v>~}l;b>ReiPRE-f+yT6d60y=N4t@vK3IP}@F%kI1kuwHr zTlC-*tg8E-rw}t|*-idIYL>nbY#g-~;|0L?4qFZ}hpqViwnNOsb9vc+T@^5R6@U9#lz0ax9G7qte4iQW7VgZt+KJa(1_f&m&c) z1R>-7c3Ub&K3-n(w05amkwlZ00BLSzGk)51bUggyJixks^sjKg)!NVu6I$g&60)nY ztHa!*Vl|kbEvH@yMSZ$FlQK4%%_`;=6r0upJ>G!85>1XUk0m$2y*qg_gze3xN_3Vl z7EZ`MCHicOUDwCA=9sB68VJcv7y&n)cVwubJfbHpVqAuLqLu;<_R?BINS6qu8ww;a zI^eXQV}W8hVwio#Ohrm|7~%vwpFH zFiIM8ih+SX=STP?!IN{zmlA7D>$S4 z3;DVGJz2*n#6}A~7xD->UQ8dB`l~>)ypCqiOPLu;iWD$2)T)qRvbI%w+rO?*qWcg` zT^`RHfmUtX=JkoG>M=nT4p7Bi%f>NEY}(T^)fm;%s+%62ECX7Kj|AR zL4mCn;JM>hz_=VE99nTgfg$%nW;RO6alN$=UL}rgKN{^k4#${?34k#${kFZa_e#~T z6J8!gXgcSzvxuaYs$~0?o1k5#$_6JkS*o%*hHHGX)Ug=vp++ILF@Jav{ zbS6w^`4Fv&nGM*-!saE6Lx=-_Y zURJ$2D3nEXaJgVgB`ik6A|_TEY>ss%=4Y=AlY_mha|5Zl0@N+&@|`M%+C>*HAG;>K zs?ZjEarvbyFXy0q)O>w?o{W1r+;1xajoOScm0CnOq7#Tb#@c*J4$G&TiN5(`2Kt)* z<$xE+j#jyPU>B~LrBSc`Z%__D+M}~DSV(|lNhrt?sn80kb952PhLdqaoL`VFY<=8Ty>^YjE5)8X~*>O6O{ z?Tly_LG_Gi6E5@g{(LJKW(LOTZzVc-eid)v#w-5F1nxImRq|gx$)Myyv?M%eUv4m&b26*Lt&WRNw798Yjj(tmtmz+3((kz%J&<0=7rQe0S%_!9oggZUu2K_?1TU z6wC$puY`x=cHqUbo>HSMYNPyv zemh#b+j?7DdYBl{Qr~pj>{@mZ{=wP^B%k%&2XSBb-#*Ja6mfWb58{3wrG#Izh`j`Q zFMDa5Po5 z&R=GQe~bg#E~3$x*VoruCjZbHG_&=GA}7Oesxg-w4|#ze{Twx`B6Gns04K~eHkeVB!pnY7H4j5HO>ILH%ae8B1s5<|c)nN|a@L({Cg7pcQsEoH}rDbK%@k z$0V-$b>?c_UKQ@b^W83Qiz{~^e&0gNKUz|;hwpRx?c3n3?uGN{K5^0|_}f*5Y?yDz z3cR7#5f@LMY=kFxkMRdHGjp8tk82neaK^KT ztzCZ#O`*u3&&wK8j}fXipc7hp@1)Nf)*!_=+~3H z36oBo?w!I!A!5@|VbYe_-pi7qva#;>iTPO^IE>##DyJw&{W}5v!k?|H34QTql`)$! zWvkc$Gy$*Gmdxq%z+u^A+Cmfkry`L(@sMR8Jza>3)_}eN(NIHZ6#hUXg$aM`d@k>~ zg!#56txeHHBt#3C1pmG!@ZVvkP7MneT2pxBMEbz)-g(sfhc`K2v#oaz60YCsU5UTJ zhxdpMChS*@2_7yy#tbCWh?IBkj;^FJ*|oZ$Rra zT}g^Oa+ZhF{twxV-4KYd_48!%P3pFna*}^QS5st`YrvnbrwiHk9$h`JrxKl=rW#(a zd3u4ZgGR6|XLKZkkByeE5}mx!msW?L*FBT}=Tnn~0{M$?W5=UwiI4pfB+u(|HOqDP zsq?>f6qwijuN@b@*6LR}%Sde3{(GT2i0|-u)4AsPDz3>HI}i_`Fbtr)4S;?~@f@kS zYNetB_Z*&?1^4v0d@awWWOP5)cI6sW5Yt*+q8hBY-;&pL;L!&RSJ1B*&#I(2w>8KcJ9rV)`4M>Ku)T8}2l zvA)M0N#SA@74>!UvT62Qo6E)XX(Zur9CrA+8&_IY(8?_v0mz&xW`l>>wKpjB4qL8| zd(<7yfDC!^wn+W3jB&k&llP&y)(p=dzUKcT>m9o@4ZCd7*tTs~Y}>YN+qSD> z+qPXvB~NVIwv(OS<8+@s=N;qzaQ%XHueql1CA5^H`g4-ye6{Cv20de>U{s%sKnWG4!EJeVGOwH1E;F4Wc6iWpwH`bM9yb% zC#HMv=ehbun0`(|{61+DEBU^qr-B#z+zt5pz5Qa~PoL$tAHen9e()k`8${>|>nVu5 zTWzSN7|H5mTcHT`9&h*1!E~Hq6xSKvIWDoVJ?#;~#-U6k`ev@4ZFX@EY9D-dbz-tocJ=Mw&sjB!oPb8$`L)C{L|!L;3>Q$>68QB6*4p-3}T0?2r_u@+&r1J+bG5%)M) zA^BUN3J5L6_tx%ZR$-2balECLaPbQ*F6@oU#r_&v>34Pyhn@SR6%?f z(xCrZ-}5zN8dFA{DY-B$FKEv-D)l_ssWqvgeDIdjICH=i0pU6|+Uyy7-kKU=&E6tg zeka5u!~JGpq|}xYjTQ2isp9wR?C%-VdANOQE}K1NIE8Fh3kzVNv8+3Sg4h zJpF)zsechVKgR_{BP@sI;N<})38yyITIEasrEIYg50Z`sYC}YQ>5sxTtv>jd0pb{s z?XO)Vem=!C)K45lO4?bXJVlt{I{UM@OK<1GR)U`Z@lAwkNbsR|xaQ->MnVs6)p2=- zgaSSfx)3TQg`@s@QHY9pf?nc$m4pLT2+;;M!d7#o$i{AYA^jl&Sm#?yT8bRm7MY2} z9L|N&TBag6q5A{%wJp1yJ${X?oXC5?e^t!dmVJ~JhVahXJTwGCY0G*@5o|-Z< z#S7HealEM4vsS)i`9{$0tNibc`Tu$q1@bZa2gf0|A6pgt?r6O`1Id^jC57IF zTHPF*c{V9dSS5voXUKr3A0jydbuM-l!T9!Dca89X^rex^LREt=@Cv3}(?9fcQyxS+ zS8FWpNL%eljEjVK@g!y_QsiE!9(bwFp>K@YF1FoG^$YNr9thK0GghIwa==a@W36tS zACd}f^i2+buLJIDXRnuVWi(R%KE?5UpX^_X*CdX5uResu=qMtULZC)_+f5w04zqRn zBvP5GoVqepnM4s=GSmZ|Eb`d!bfvYzM)!L8i%pc~o0o6@4!wXVlnJG5y%e$rHPAOf zp;=OIBz%rzOhs%i=V|`hRBoZVM zpK>>aV|{~y7TgY30@9U7SFvC}ugnA~gV|fQ6wm@u6GsF_K|)yps^IXkQyV-}Fq}gh z69`RctNl91|vg>}^NoP#&Ga_^W>)}W`sn)vWz9W&z}7&!{>y0?j0 zcWu`X%y-K;&AS(?Q9l>>7~QsI%{-pUiNFuf>%0GPp>2OoC2y&P(MZ`N&df-t>pf1cF={=%K$Vnp?QG&KWt zPz;lgq(}eL_xE=8^)QLSc;)0o&gJzwUJQ%#?um)*Idw(;-Gv141lp@@16l|N!Riu^ zefXnP&!aVYV1sk3!ku#0av`D*q?V(+lXA0yFPe#$zz8kJ)$JJHm)uI!@tGX5}iw#r0dAUT_ z|LuX9=0a^L%VJ9`1w?gJqZAZc=KA_)Dnc((5fZu{gy>gXiK=3sAo~FhJsd2~OjSR; z-^4)Zi=bhOE($`ru7|pSpV_5y1fz$&&k0c@i-Z5=-ta|;eNSrbflqwYho1w_FJ&Ev z@xz9un5qulS z+lB}HQG_cyj@^wwPxvSH56Ye64k+53&v`Oz!R z)zcY)kwCM5ZE@z0Td-b=G#PW{^LxBNDzDUG$^-dRF6$H=?Np-)LN83D700V!4l`2B~ z5>y8d0*XSqCx5ak^vvbmcPlS(d|OxqMYL>aF0vM~VIEn8mGo>on3py6Pe{97hPi|U zZpFH#Hw-&XTx7mUf$tpNxrVdiAFUnv&;_&PZ2)ukww4CE} ztO>fU`wy}D3dpcD#KXq`BLB^biiRru3=3D8qtJV#8=$t5B8X?GjS!?SR7rfttXUpW z-lkb5qeBQpXal8S2>AhS0_6jaAJW%(hNu5B(1RaJjeR78K9aTn`x&yAMkocGCj0<; zh)4W(_M1u_4Bt|A*}QZ##WZ+Eg>y+1-blz1;t>#(+*@e^Wjrh?#)5v1;B-V)y8}oggt7 zKQB5I4+|j3k0mVTT)z`Yc-*c26~`IQM8p9J%n1y=KE9NUR2tR|oi4#Je8=2XCK4cM zybz?6kK&haDvOmb5soWOVGV~93?+f2s@9g2umwVES*>3eY!Y%ckdiMDauIvLqCy&# z@I4H9v$g?K%EI?fztu_)A<*XiBX-oW+a-Lt8{q#^=zAqB2m!A4vaxxGK!U@L>sZyw z9z;b5*S_^(37OWq?OPz~I%dUnbXMDL-H{4C4|6+)0t8 z)0)eS6+@}cxDe$RKqUtgv!_WDqk?>-h!+9-E-`tJ!Eo~MWXRL@*tcz3%PW}L^Slhj zTY*$Ua6-+RG8Gi){frxsH=7o(W$6k8+GEl6OOZ&>o7)%75*sX*d6xS1iutm4znwtV zE7DV7U84R*u$!bv>{Ff)l;Obm!KhlmtmT7?yS7#}F znIXZGCoPfkT6S_dK0kXWq8Bf@+_BOdNgB!rKLHkHBSFijP5Y`Mia#?qU5JlK16639kgXp$2u6Zdn~>FnAXgtEijIT*w-&&@?=Y_3 z6T|7fiOmL(-T579WlQ;2S-vhOkkANZ54&uDUKd939*M^{%pl`px+(Wfx&|*So_4@~>qyDh>P0{s?h}Od{k6P;^~c-5u54KrD>K& zMeSsXh!swYNi_s*DU-kxVlnu9jQy%xRANd)T*esm)pUhOK+$9(GJ8=RbAs}KiAshf z4t)h-mnCy+|GUE*s5l_W%jBb(6rn;_&+I=h3QFHKcrNiN&31!C3GGQZ$=~G(t48e|T;mE8v~q z&wcx~WqG|jt4PbRAN>*_f@7ln7T`VMV-t=x#AmSA820q9f0OoQ^cjA<(s|Hyr6I`N zQS~6{6nK^-w}V6BUC|$Y#jijdnqUi+Rs;))DW=<&mHd&VTb`DC7hD^zpAU3jwb zWt30T59Iti54GNw!b1ZptpjA-}#g8#Mn&AQ`Wi zqhD(4)fA{g-IKGeHsV*8j#x_<*99r~z0z2*gJf(5Smx%tppD(v@w;_8Ingpw^s5av z#l*&nH9nT)*#2T+Z(~dv*Z#~kS}9SEhI95CQYpgld@|qG(yN-5O{-+v-xuKR|Q$;atM1Gey?{B@VSQ zDkS_-AuuN1>JX9zmjth9+wTpb7VaIiwVxY1MNxy13&9pXu`^c z6voQLb0W^Xq#oU$gX|ypi5Et5vJX6d!>3_do$&dR5JdR}3d6n4G+6V6@)K9HHuxPt z72xG{DDXLT9n{Cm&i;1&J@gGdc&G3+JlbzbfQvt}51bs{?sdfzZL$%V5+t{O9IlkV z7L=^ie>2ATjrjfam)iGrlo`K{4>urz{^l>;%}G%L$??{21%9t1K*rC>vhSnC;GL~H z&&x#2&*5rNmDb1}OHqp`AfyR%+6a!3l39vAsv5i(e60ye6bS^=kuz}{2$Vitp&j96 zqS&+#u8JIm;Y+$e0Ps@R{Wi|$k#q6f*&%D~jMoSo3@T^Z58x*3aK{Qp~{MP}?jAIydhK9)AB> zeHHuao#A@2N(%41X8P8zYTATA($Zwp zHe>tGTgH~PnB3p@T%OSy_}H6oA3R-6CHY)E@!(suZ9>O_s4(?9v-S7q?b=wJt;uHM zn>|KXs*a*x7nsia1~{ z{+d>q1pb|(%ee4kWYf$4EJ+gPu8IN~G8*SI4GS_r%$~d0IAj!1l0v_JU0E-%ZSZy% znkZ_vLSq%N{#FA z0BSQ5o(SfQpLqIl*>+4gde3K$Bjqt;bC*bx6TF4&Zk&TOBkx1v14$XqXM6$zH3?4I*fgt06 zBw@Wmk#tPJU-0noa6fNXT}Dxa@_GeiL~MQSR2(jD@~17KB0a*QeTbdxrzEA6gt<4> zn%`BKdmfdPISBY(Xut0n{0A6q04IU%-=8#9xxe49>u!z;rToK~xL?o#d6U$PFL)nh z9s(tp?E7gWNuI5r-~1xFA?C^KAH)ruhaC*(SV;YdXHQuh#)Q@g3Ih|7&Hww=w@V*f zI7SCZkQ5lPW23+HUtC$TBTOHXA097vR#skc*Sfyu$gi5nl+Yo^+fHPOIgkc56D zNiNgtH-AX}7Q0oub?I2N-(eS!4&PFAgu333uFe%UT`V5J?>n zZe~F$2?>H`v(LdJ8ko;hHJA^qB*5O9)_AmnJB)Cx7#uVzn%CS~+na%nO=QBCArizx zWo5DFhGJq3CwJ19t)|{j{m2Ze7JvVuL}!m%r2Mg8)Y(a{dd*G;yNqaN0~!@k16@U~ zF^9AOg?tM_LqMu$h?XYyx&9vA%IcqRO10?ST+~}!T=aQf#mtfGGSzDBHtIIQ6{(LS z7DN$7F&`5SXUdRG%{aKr+Su;t$T*Ns-+*J$f|43@b`gPs_UT^{?B0=UHPc#Rz(2jP zx%N?Wd;IKEbAH!M4TEQID3FoxtE}pMOKp>`eD>=-_SxdlV|iXI)1jfWedZiva}ru7 zjz4rpy4NnrKZSTFMcamwUlrgOWuNDDC%P z1V86trG;SRSJC$)q+*$oav#&GVcFo7{4z*gKKRk`ab545HBEMU`VK0>wGEyJM8!Qd z6-?kPmo!yM+84Te;xF=}X4*yzKoR2v{@1L?ubWdmt0 z3UK5kB1NAwJ`p}F9V(PXGrIfUXn>Zvn>0{`cW&u9jTbq`LZ=?QeF=vI1`Pt^9=8_*>03?aI~m(B_%ZovG7R z-m=V>(6hvmaJX-TP3N@k05F5N(@JEGG~88He%;q4EAz1d{i;-@+PdTkWQ$te;A;Rk z7X^$e(lQcPlFpQ)!gQ&sf*05Sj zkP|p2#ONVtti~|yaFxme6W0he*<=jjKYUVhlPP)|DbT6OTrQpo6vmXmA+>L0i1i9}tI z*)k|no)xxrlcT698WOst4EGhEw5u?ZH5D#1hObZ3MSl9WRkOJF`|eBH`O$^8`*FOU zd&#f0ZHwW-4qGQbr=()ej*=D?$h)9+wp#E`j1%pA zo1p*o;Ku0p;E27sal8(B#)torn#)m^5!RCeOdA(>%^`(3cNwnenCSQ`eW-hxc#fgQ z^HUmA6|HvNc?73DCy>~SiF_>*Et8MyJ(IZcMs7x`Qc#GaOC@m3H)o0jiwC3rB4VCs zec1XBP7WR{IUOVrgUk5fQAiqQRNz$C97_RL;CR#Plpn`fs(H&+!%51q_ zzSP<|ssouhHA0S#GKY{Fyf19mF--oZP};EHa269~hZ(^s|0Q@kmP$Xw!$57}LP_`; z%&37cS!A>OWz^33zB5&fExPGR#K*+maDB8B6wxOpUZ6dB@o(6g&ALCvp-B?c1d3W3 z8X?vptNZOJDyOS{aqhvEO~cZ(33~#Cm%x|6vs1Uhnxq9dMMr2?i3BLZ4?+@Ha^qG` z#JmG1HuTw4`B}i7W}V2_sqSx1S|TuvB0jm`RgTp%>S-)lXIgvlpz~OB7cv|hpv-AR&nf_t@B)5pMpo;A9NLlkEkF!puf*MGL)IgaV#B?4nQ~22MG!HmCm7fU$L4yzmJUIA2g%$KSXIh4)rUyTjWt&|d z*BLApMEsN}Q5tnM8pY;)gwJ~$WHgBkzZ+-W9bGs(bjL9yYhsR3ponIP>U965?(~uk z?92Kb0knJxL^0Ce-Eg3Qa3$ia3-z2%ZfK(7S@a~i6gjuD9>|mV=ZG+(p_8+j)-V-5v1Ys<^xYYkD=bNC@dDz-6yHI5?64E8Z;YO!zKk^7+z$y zNSE2$U6|GCh-mtlwt@74DZo4v1MeCpH_*~_U%J};9%as*+P)iIRn5Fd4l5h9lL5U# zvxO6)VOMgb;`e|zZPlQz^Xs7^NtWaQ)y}RZNW(f&RTvg*%q|uu9H?o-bL>Pe0H5X; zJPRn1DlGf1m5c%BxG*0MFuS^8SIGVvl~(-&TprdaEMRRDIPGuJP)xEm?{TaQa9u^h zkEfGvwSFP)CqhYXGgM~LTF*zvH47J{%Q+UX+a5ZT{r`(CtYEgs7`$3e7 zjdP)D4(f&t7SxGUXkug$qf8~&SFC-5Xoex0p#&_qR40*Da|JVoa^2G7{ZFrDY@(q0 z@#^Dl`fSnu>~lpr^dBETJ`_jk)azOf{ScGP6}BzU-j8h8<}Nq-nHIri5ItDe|9*TJ z>HyWL&o7w5jK^0as17A56GuG5yo^!fIgnj}-9Pk8FK_8N57%x~cfc^P_T`-+)w?>?+0dfHkVxOSxD%(AC3x(q&hj}!5G zZ7^)fVD@X=DUu~shj?o3%A*fl3XuS6e z1x?d2f@TiISC<%LzY8>A4D3|P6>mIgi0j8Tu zs?e*V{t7Q_rJH1~mCG{XB-rtzXd0QIHnSvuEWl_R+9mCofCGh0C5-Wab4JE|i}0}v zcw}FZN?{v*{*`VOp*l3PjLh4+j>C=gDP+>@v?eLDaw5v>HdZF;f$cYoTb74rc6uAH zW*O&@4L1)>mdqg%KLyCZp=JlnwcXC!+kR(+K$!wJ4gt~of^&&!d>83;is|#GXn4o> zKc%ULtYj*hbBMezGany=e_exTN_y0}$$RQHr)$CWkzqId-!BQjUq&6;cf)lYdeD>N zG>WG*T9N}5B=ln_4oXhAIn?_-T&>t6anzAylOH9Bna^N!SMI|8mE|XsBA_W?pAcHI zp3%t&i@^e60wG*iEV`nI4_a}C9n#H#4LFvYvIoy<#y@u&{7bDG%KGc7hKsd=;h4z@ zm0?MThXW>JI?km*SAB@go{sr>(%NKm@5qgkQFnNzKv!w~t?izp>%?h{WZU!1*bCbM z{`+*dq~-Cq3=2RW{_&A5v-*}sC(>I;oPDrM1sbY(6{~Z4{3+>afkMs)6vV0`46AI5AWPL1{8VZz8mq&x z_lPkF7~BCQSUEm^Bq}QEZSuZ&SfrRPMnNiH1kAx z-4AuV<9tSx1hz`_JZR)$g}rk}CTE0Aa`yrdk`nLJIT^-?T3NdS%?0_ztPvE)O0CLF zbS-1cMcnEHJuWwhdY_kZzKUI;xGfPm@S$#RZp%+) z1b&`wEzK_PiYqgm@t&-wFA(CRTb|479=aWjeB*|qqeK?O@OHX42U<;-GVe`RCrL9&-!o!#_QwM?w-rIq60bev{Z zOE^53|F3^Mr#RqemEwQZ2-vSMy;$o2HRa05+@M;$ScR&_=F&1Om8F1B%fP?pB(rp& z%wtU4it|H3bazH{f1S#8>ddRl1@A5nb_jT17kC*!oB{wo{)Zt?|5bm~webuBd~oG3@W z@CaO0>S{j}Il%Yrpq>EXDO9S@V(sZ;oOzSwTu$n1r_@K0p5??Pb!sa9iQ*XWCTm2o zyS(=3O_MJUDo-~bgXO4Zm8<`Q>uSter>g0SO{|$^-ylkxrK~rk;mAK`IjvZPL%RH| z`{&lJX<%q*t^&m?1o4U2?lUJW*b-cgngkW*ve2$;+69 z`=O%YPfTH|t1*lI=~Hw%*W4-gWq+*02o=gTcB-DgrAJog$3zMIA?fe zWin-ArqbgL_)biSi$IfddMh2$DSbnEMjb(Jz~HX6!F%JRlIWn3g9!ERfVlI}ArDIk z5mNJwB$x+=yemzzA*U4E-=Y2e*{Zh-@kPSMvqQQ{mw%!tjYHZMDOH7F^EAiNvx=Mr zI3^-|_2_~hJ-e;~UH<|7Ix$u(gEVbwOg`68)64m$~yD0t(2=pcchdf zUz|z>vT_KO+PK}Q&mC0kiVDJqOm*_J0>|u3wJr|pP{8$LV{&4V!((2#4#*pD8jH^V z`xuNa4Ldg{FE9r~DgoN5Xy0=$-&}EDjZZ`lpS{pb^}OeN75;0uTPX4)hdML0c{?~U z>xyV|h$}9x!X2GkrR*-pysvgsO?sVQ*wnbXBD~`3{uVScbNB0s9fR1Ed4_+8jpcvb z33}6I$B(J7W?IdYYGPJGEC|umpFYM=&w__-+iCz5Jzw{I)HtlTUA9CZ6I7?*$l=oS z0OmP(xm$cBSTS(%@CCEL5;dxK?SdbYYZ4ZV2jsdu=8T#N)8yrTN)dKa`w!_+@G-`z zBA}L|%j265N~1Jc)mPRDfPEyEKNEJvu9?&@cah;XAkSu+gn1q-nX zAzsPrSsnXy3~;-kuK>xC|L#uQqkVRQr(?(Bf-IMMqPH2qB~Iox#N}wyf^v4bBA6I` z?k&o;-}jeI#7|Fbth#ECeS&!A$0u-He;}aN(c1w1N9wx$<3a}VxZwHfP||hBGj5rD z&JmO$>&=7sIUPNHQ86%0&+X1%zv2R=+V&l*}w&+CqF-T<;si{+g{hzrJMwQ zU#J#io{Nbz+)A04MaV)vA4uOIU3r!`$vQ;M7P}%F+f{fdNak0EqLhnm{}F;QK=h_5 zdsj`e1TuI;Bqv8Z+RpFV-W9G0P`*0$Kr5^n<>dK{M@KXyd=jsIiPvoOL&w$|iofR=` zyUxQ#xfWJ0!2{hrINily4Kmz@kMGN+rVu)Df^rKooXC>c0lg+0c@RXrDhaxWO4yhw zXk;ki(ZHAHGwkh5iEFEi$nMt&zuP)ZZQ!u3V85}ooayy>s}LZpVSSpgBQ0P zd7}|Wz9V4&YA&8rlYlc`Bb=l~u}G|1tKO$0=1R=hXxaxt$r`lPUbDdR40rpZyGPe~ zlD528mBNvWOV+wVHGo|s*hHRW+!GGnDk!@IK`HGi0sbK&4ql+C*Pd(S)wfsOPJgKi zk#cZEd;I~@qA4s%6|vh9Vv_RlmJT*e=tCS1hGeprgnn|f16 z9_^|RfsC~7HMDd{E4pyt4c={X#}w zja$@-R(2m&mgo(e+$T3!*-@e-_A8lkkyShDm zFMjf$(>szWv6?mR8WGXZh+Fn2dP9qHY~&028d3DwK0eI*AY7~KOUn?1OY~a zL1H71<|%G%rb@y3@Pt0Du8C_uflMv+0cM?S8u!~>-n$(U8pRQ9Pc1*NPwg?2WqzVD z)#1Oj0260^Z8y(&6+ymaB$EB`9NJ`K@3+HHi&s#DknUyudVZ%jfQr=tSw>hY zoF7j-Y^Zl(O|sVWJ1P%^w)HxIjfT=fZHXB^;cbbwa6!$%d|935am{dgrvXwP?h;G# zQX0IFUZp~l0RSV0Sz`=L>({z6sAiw9!X8W}1O=wqU$Jb;mj=Jv0W5rqIAYR^0fK|w z1v7JsB`=VP-dl-nOM-pTmU?{dg?f$5*@DD8BoZ|vSlxGaZsqVkSk@O??KbvTubBU~ zLeyON11<4@$UnE71~fLhw&71cOroOfa8HSo9!tKt%YL^S5#BImWi+o?`WLM`-+@hR zfmoBz{R0QA!MPZ!|Th7yFW0d28Qvv<*yNMT!`sa-Mu2`^S%yED>~RqUyM znuXwGVxrKd9$tpe@J}P5q{r!>m%qaCN2rDxZ;W#oSB79AN7M(PM|=oa3&)1s9p3K5 zX9>!YF^6@6^Vy=FQ-I>RohghidDtYBfvC+YBZhVNc{&S~Ob6yG)*u;zX4+ttt^!K)Ym6K{zQGM)F`gZ0+LWmbhctI%Y-; zTGwMr*>Ybb7JK=(cz3(qd+8*R7D1(wF#(S zCU(}QugC8DcIS&)HR+MFc0^<963oMJ^wV=|>Hf4iZ0gmhR+C07$=GB)>*55nWXmHa z#78O;IL$X@x#FPl;f;m96A3LxFD?lai9Ia+##v?6*3Hp=* z7O77#PN6^(IhN&vLPzL&@e`ck1ap$-N*Op$z^{fKj(fLiF&w8Z6Qf8JI#B`aGlwxY zjvWr+b4v)3(7NHYG8(!0c&ePQaXET-5HcbkezZ6xGmK0ej4j>9y+wFLN zsgBYo?F;Z6CSY4btfjT69H%XRj4frk!(qxXU^t1@Vt8}y6$dO`{_U#-FV*uqmT|v+ zJID*zIEQk)cle$P$jZ$A7;}hZze0ak&Y#8uCV$;a`@+tD{fk>`psD-OK0e*q+C)rkKIzGETIp2Jm-r^E1h=?HE?gR$|~Skure5jnjo9( z+N#{LB?kA;3(8fSY25I-vazx!(x^?Gs;)FlWcKl{rNvh%iNT9C7yOP{g~Ys%k1kb< z<8Wk~R&`&DlrMJ+7;!44XkGFh8O2PvUhRDBpB++1epy&Vb5F8J9<ZIfECpSnfTjC}hF=xEjaI*;)hhZANrA^0oQ^>bP1`l9gdIxxEee(Q8a+(*hZB z;lkie%l?@_9*sA;g(OXH z#sm96vk15PNEP80vPA48FqhKh#Q+V*aIez=6;rH3SfBi(-Sya5Frs8;sl09$_h$V_ zK+ef(Iiu|ERM34y2H~Sqy^o41wMasI8hpS|Kw8KOQc^J4$fTYj)h22i&+t!G94MNF zni{+e9S0Owe2C+KdntF;PU$Ey6o)gX)#~@JVTbpJ{Lb(>=?;`zoAO>LTe%YD2;Fd= zC~nw@dV3d%4`fVln(XZTy&=Qf>#A(qftFkGgdJKgW1i`WqN6ps>J_!$-Boo`2Cpo(7Cw zviahT*7DsVGshGalxK0y9qw-z-Bzo9e5V6J1kv5XmmXDK7)Y5c0m6$=$puORBtJTDbu{?x|pU6!eR))nH^qMVyH%^Ac|*1FW#E><}z-<+Sy{xZnqa`rxaF*cwn5(-)p=Fs&p`KcwIsuMMKDj+^L zweUi4<*$PdhgQtBB&!TFW<_2MNvc6jdw6`p4Hx=XGUUR!v)@I*mYmnN{-_)j2^AM> zC<*CDQA^bBsUIe+0ds%_WJJpx?m=E@_3y!WM|3`Gq~0aM0D!0{p)(b)^1`OB8wVY9N`0aPvFDzz=8=vWH4@yS@b(YR z5%+v^Q6`MGHoCVJPXa;1C991&2}T)#x)S)Bbd9o+G(WQ3eJv)uUdFZELRR%0bJB03 z<3U3M1x3)PTDvSfDTx;CTDiME;gLqP%PW&I7y68Sc%7i~&DubF5dpR=+2IJ10&&3i z4GZLU`+eicVv34Qj3;qnFtKJ)AD6(pK)~mapVJ>+v`r}T&zsb&Qe!Kb)s&Hr-hu&k zV;yb9xMu(%ulAT3WcYqkffDW_BKo7bMAS)*c~eRA$Bmngzq)^rymX_vNZX%OC7XpK zj5B^7L$29KV%WBNl>04cjFy%Pk)ulR+Z4nBO*08!o_c*`l5pe=`!tyrNfK~3?Qz4) zPV9PMlN7-YVk;r-OLxu3vZ8@V;{2Lm_3$yu{ScwE8V+1w2{qj4B1GREfv;^g)kr^o zQTC1E=wzTQh#h>F#K|ysy&IJoMfI_Uzx3s=pKPPcnE03QkENG)OSeK@YP4v}_I>A1 z0dF5YrcSJIF4w*EI-{)z%M&gZ7Uy!bcvI<*$*7iRcHgGltC(}i$b=uefU&^*ssbj$ z4ZI!G;qDSddZ9Qk&rrhHAjeW&PwbVh8i;yVD9d!e_NC0q8Po&;{2MIYx_~q-k1^wZZ&WKstkn$& zs4<{T(_-J{R=cpbvj*cG&(;cYlf_p3$`srdb?zNF^Al|{nxkf^jbMY-JTkS?B`OUF zmf6Qc@Rd6;f%HEAvxDx_bC%fg9Ea`I#^vbMr;7~R8To+&L2YdU|J|zlC{XI(NZy=N z_!1i#P>DWX$7KThpGD{X?*Gjg{?|3W|9k;tyCmx~IuziTIX%TtTYVS~;r;$TSI^g5 z^Q)@mZQR=4$*ZQ1gRj@>gsolsdmUl-y{mt2Z;kMKzyc%fEM}sN-QnuHf4axwyj98` zHJ5c=2AfA{`r~7q^6Mh+C=KV;mLcatDNeCa02OX%E=e#-n(X6#!%h{*&d1BVREtQY zeY@@*LR_3Rlyt$pF}Kfp*<9JAz?!$y&f3!&(4*_?etXHdgT^=LoP?R(e#OB03Csw1APw48b)JshwW{Kh5S{(how#s zb&9QFZD-0Pz0vK!*RHSq6aKZ=zTUMjOY?I~R=LkolVIBQh9Am*9RqgWXF$4Haz_BY zL$m+7ZrB=UkvZy!{vlR|bSVg}|eCCbtiBz&I@^#yHopDVkoppeTg zipc=z{5mz%c*(EH5HMBFqUK0`$Gs5^pjrNN>Y&OVkNgIH-vjE?2BPb9oIY$u><|jWV)8 z9M=;C3gQCk9vX0<-CwA3hnB2E?M09Rdy#^a0~A>ZPpE1r{U)UuKfFUuA7On(A*Zm% z*nIacA)Mhz#y%6*`FOpw%1#B3Y8#)F&F`bpLeyIYzYmpX0D-2a{Ts-w^}nSL@^Wx8 zucu|5By~9!?T`?@iXNS$P!$-p4U#+q^fTsccL=IB5!Vtk$eqPQ9@uB>IfpDVO5g?Y zd`u=;Ot-QL25}iJ21g}RZ0M{NQ6iu2>4798%2dr8>aOtCY(A&XU~BMK0U9%Udmuv= zPwJJYybP|U=gg{HPIpm6ut&*!)v=-&NYm}R3itkin*)H^X@j%kYKx1ZMvu39!Cgif zEgOACwC1g3jiLif&dfyIQ;RaUt%E_0WyGLR8M>wxLn+BA()lypu`Pcdo+Q3D1G{b2 zS6s+-$Jt$|pE=!TQ#;_kwAEM596nv&D6`)W&+Mo`IR!0SlW=~_?&LoppNB^<$8nLOh}a4t9FZPjTKq3yM(*h<6|T@vu$iZCqGYq7`d0D6PKR zQkm_~A_shI{O(4?Mih)AgIkq z8i{|z7Kf5V3zKuAu&e^AlJC+OyG*U`mze!af-N|ITNB86`?ncNM3 zotB=0rQ};J?uA(4<6Be7wZG`+>1hyd!TDksWs+taCj&u+!Jmjs4vuH=*!Mk^a_B9t zXC)2v8m8w@cQLGflxEevji-Gd&J?WXrv@7rN5m>~NvMv9!<1kSO&S1<1;$3Z+V2tX zHm~D*Y=W+JU~iar>~1&V5^#F6CJY8_gj5Hnfka<{i67oo%VyQH#e4zkur@=9rn-&`uX2+tN9hhp9onOInaeit`E zjuhbSkShQ@?rU2IQ2h~dVQOL|RwS^$%M}vU?^A$l|GU$!rwiM)R^)_NwH7<@#;TUt zU%uJ1?AASDbb_`sOlu8^_;*cvGNh}_Xy*CnnyT4QjqF8$uG}(l9)oC6l0h5sTAA3P zg_de9SP-w6IuP%(6)N{A%g{DSfLeP$<}MS4+Xua)fh*n)C#?`KUvoxC{$CP9JTSdd zHif3iZD!tKjCq@AV#(@{lni)a3!O{rb&3eLe#O%WyuVIK)e-dEq9Pm2w>ka%d2W`) zAehkR)l3T}1LnoOp38`OeEc{X7ukKm(#_wU=VeRBxtzD2yW>f68M{&6&n^a;I(i6@ zM4}u>zhlH{e-yjR7H}o)-1FgHy~%O%akbOwQrhyRvi?h%}#joq)lOL?jW!Z=bsha&h@NGEi&WlaE3gkY4Q8+XTlk!@Pwj+s>EIGZoSamPQzR8F;PNf;FR4;-&R?n0-JAT3NoTokSAjorK zG8j*386|uf<>UD+S!PR+CG1ja&z6z98?=LwSQO?%?nBkb1U#4swDR*ENaQi?8>q)xPgtlhIr)?erRT z88+MxMpjPVZj0kw+}gfdyS7bam#B=Lh5Tv0jDw2PRq2veGi#NyWQVT*!_->_wbh2* z!nivWin|ndcPL(S9yIiL-y-)V@f!1gxDi_wn7}|?^M_!*9}M&oPkO(Y8DH13Ce9yC zafSOorM>&|zX~rj7S~7qrW^FXON0E|-G!qiz{eM|^Qurq`!W&B?2N-dT^7sYZoQeW z&9Vnr+8$8se0Z5x5Wz!nN%Onya3IbjdBYH-CcBuZH1v*3lFC-m70Y_`qXt*Ld>ua6;PIH1C$Qa0-NjUD^!gmB& zhTN)WHN{}tpm@E)pE(nn#>+(VP>VrO#hjjZGupbID_~zHn?LyD$sfRv(R-q_ynCNDo z$A^T6D7+G{i|los(DOf^l|Rm0Q$;GF84e=tn2IQt4K~@6zJDAuNr{QOAO-&w=y|MK zdx|as4P%?| zPOu~!ZAl2xC2cpW<{%>J!3HQ`>pGgU6n5%ateej_J&&@HVZtd0gPEg9$U*Js6PR?U9;Ij}C??vw); zeBWvE_2^HYbi_Hv-}>%4sQpUcwczYj=?D{n7NtH$=`?AS1kswalPUpAsx2UMI@4l) zQJn#n8_x=wv1P`Kst%Q>wL4v9!Y`t%2wGJ@^kE{xW&>DW+Vp`0xLc%HDe7esHOzG>&M98*zC@9h5+YFcAVbN(<7^zNUoZLsJ(i(haFE7A`fGAYSv0>-nEe;at7 zeRhl|TC)7?(h?eZQl&Zq(x98Ye2U8!URmU0|NO1jejkh&oL~^O1m=Nx!@GQ&UykaZ zDTZ9#=r<{?d%iUsG+d4)ngSpLZwI8iCmV_$4$Mk5>ctL+>8BtP z7}6gsO`J{jj~~XlwL^2S(WU9Uc=R5!3IMhq9=je z1Doj6A{okQPbW~c5#r=0xcL6zAMxz(9POxA+K|9J&dJO^6(7jy{jkRdB0{J2lsGiM zw{|`50^F1n>wi+`3yb*fmwAAtT>kx&A~Rn9;?SN#eMrk*6vc^S8vQF;BVVp!YJ;9^s!Wr==17pt8_^?pQ; zLC!C17l^>uooC)|K%Gb-oR!bW5$pIX;vOkS|4#46$1}Bo-}WOTe;9ix80NQFVoo!! zQ+8&huifHaT&#QamrO!t`D_N?nDLb9x34^VPZsO?+q&2+0$I<294D@m|7nl^;|8 z;>~wq*U;b~>PYn~LKmG&zl!l}BqEV{Axed0-G8rWS}0t$qE~N-x9aoJavSKv6ySvw zG~ivCe0d_J?(6?DSDRo0O`V~(pK|_ta!IwFyj#F+K5EQ{ZrO2D`BcrhPJ-xmDg2pQMH>F1u4?PZQ6v^U63#V|u=p&x(6vY(j)cJug1U$o zs>#pBe`!^lYBj3XuFm-y2rP+X1t)Oefu)4v9EIjQ&ZG7gJ*hlRXbvw?igfPEjV>o3 z=PT(Bv!I#ZMFpYx{DZehOcQIaK|ju=M-eY{#7&?6NC}JnPDL9Ow>}7AqLWk^YGN=< zRl80`u4N{7CVpakah_nI$c7exvbAectJpVRZCv+xln-AuX=D-mMHkh*c-~PAi$5pA`0`aLh7h*>@uX#)W}wTlw#en#{57VV=>EtI`O=cSiscO(6Ik}ovr5q zY!33P(7~MBTW)N*ld%|)<^h@C4`h|^sTX<|7&WYxewy3<@fLPV7V^D(14*Q>^q&;2 z$XiE>0^y6^n0`RYj*s(>!H^-D)*>2beOeth4cK>*4}87PXSc$AZL;Wl(}@@!jxd>> zlk<7?w%5coOGYrDRvWfQV0wLEg;zzH1o+H8=y9>894#B4+kA81WXpWn>&s0QPm(1Q z>EQYIBGeMFjeR~L=69}ma-!QT;PE z5tm1uV&a1{;5jN}Eb->N-^)B#fRUzlT_~3TB9sSFKM0(3Srg;NetZI7B|07ALO{N+ z!xIfTJ0wSVq8_}dXu!w939&cqy_Ay+wex3zxTZSA3dmhqr*jX}4%ppm)6)OM;OV^T ze@#uBJ|=WFXuFLw9C!%WWQ`$W zddw-C{5&ysgkZ1Tz5~d49X##KYF<#JQW{HH=uHboY};P6<+B{WRLtUE{1?QSyw?(; zu&`%9D-8xUNZ`0*f29Lgz0m)v*dMa{&h;!VLzmLJs@V9SwQ9KN82|J?N8Dlxyr<2z zn!lmjQ*Ta1iQPK3Mpc@*XNPZzwUv3Nh8^Fl-)^99`_QuOVcYJPMtuP-2c8_LZG>HX z+XkXLlx_+yc9bXKq;~XGGE&kEeFM3^U(`EU1gWW>OtKBh>#8w+BDsIhxz&*MfAXIG zTGkq_sc4F|n$>1~Aimmq?=c2FMqjjL;JKYFk9P$B>$qbl8259Srs5l2tTlepsO!ZcxQEl$59ro;~qq-n&kBUQQmV8-?iXk$7Hh33;bdqBT_pkL7fB z=sHkNnz7^$=Xb(d@g>(FaztoUjSkQbOG);EV4gGJ(TO&PkSYe2bu)nf7qD0TAle4& zh{k@Uj`%^EH*5m2s3ZnWQiZ+}NcWEl(=>u5y5xxjae7Sj)0wz__$_2H8ECen%B&|+aZ%K?js!!c%uD2{!&=6a&)v;GaRY@Kt|kd#{b7G=xW=91MmP}VNp#w z$7EM0hC|5tE9z$*e-)Wy5kf=QZ&5BlrqTEc2gm{VOK5-uew?B+(2i7SFvL(XM1t%p`L%)WoakS^x>ce%Jy4qWsdAboQEggGsKwaT7f<54N!GDXV^2{$Gbz zI}tv=n{}pjV6IoR-G=Zm287=KYSe>12^rH#NW}O48=sMf^)uS+Z;Fb5iH(;bpJgux z#LAqE9Pm;{EL&~tY~`yM5CV(I(KCE{IzhUce!bguzDRmP7?95Afasbl>bu?bzThwF zx|@-J-&<#`&wOsZ$SkC7Hv%Wfv`kZnpzM=yI-j8O{V)^{3;E{*@ZG^uMfhzC@FvC= z>oDN0fpn5FBE;jseT4du*dngMn4-`tG_iMmBlA5P<9anP<>UPav<&zeA3UZ@ z!{&Dac^oHbyz8YFpJea}_@@43=g`?tZJ;hN#Dn`ue1@0}`tjTtoDB9nZfFtXUi+{N za8c%birwb&=gTTZ2oHaG@lI-nzpZ*chjVX71-Ef!_f}!7Ow1*Sn4d4!Y+)D`CtSEigGymgzlu8& z`LHfH3SF)tt|NusRivFh)~H?{zQ5^LwlYpLk(J!0uZg9KaJ4;VsDKU4YX0CNos7i4 z4%vx_{M0pk=Hw&l^*X<}c*5*@4UC6ufh($XS`3DHrbo*U5gR-SJl-WbZq}VV{%1<> zgOQnafS(?<{xse#60W82sn~?kTDopn(x8l9{fpy)q?e)5O{qOE#j#{DyA6*MU3aQp zk@x9P;$Q4J)0)WP$T~~Q>;4smMyKHkQVToQL=L&DG{cHq(Pu}<9`1V)z|Q7Mr(BK6 zaAA=v9}&SMQ*0ZP*cvrmC^Z5;I(7cD@}qLzdYAvZnGkP~PwYte!#(~39P?*P7yz8@ zB7O_da~l`xurSjr!1W zrV)Wi!pNCeY;ttHfxCOo2q&y?xLxQU{h`@0{zbB$sq>oIXyRza>KbFAc7S}*t`SXZ zof~+4?hrD#>T<`ADeUY^u=qhrv9!2R#wh{YfQ_QevA0Qm6U;pkQu>@cIu#GgC5xSc zZXj?kscXiGFoq9f8#{xE0;`8r)mW8(wlK3k@J>!(8|EJ;K5K%_E~6UVb@av1M|uE) z8x@O%iTNw{sG1b}=e0?>XJ+kGV_n3VjYc@wc*a%TRUp@n42I5-kjboL4#q z-bj;$6rcrYLl7CUC%gnx>#QvgEMWbnXZHi<7%AHHlYIjFdF(9gEA=X5q;j_@o2z5e zrmt3=U*8Hp`cR)?`D|B-kZCS_*d3%fpA9e`#eVkbfC<#@tU)?F-&zSDK87EzA3P+A z#kGOm;+&g{4V}`EsWrU`a;5{+0?%Ld%v8g@IxP**w93ay3HId%zsti?B)YwrrCULJ z_e-Q3im%2jyDxsHhDIdsCTUpC!QC*6Y5_XWQNBJ~sF0zy^A#i!+$0YqlN@j3D6cf& zVem)RGf-Cuq~?~-cGIhv-zxTcxYG@{mgSpfhyokxyBQo#w&6cIz8G&uwC;&aN#zJD zD-#~huwYA-;A_8eUQ(P#NJzHEpAbvX>q-|Sh7-xlr1$a2{jhIuteebK#N&0p*x=yiuZCQ~Dk^@oiQjY)l9P8l z6`ct23wff5<&zZ~WP@DJyo6d{uCEBhKRT5;9-Uu~5c!PY<4$dOlNCdV+&2(PT6~{> z?!A#?uRSe)6F;bWcO!81TOeBp{||v!WfAzTkoq+(;zAbFjGpMO^_P6{ND9iVrwR%G zP&wt&@}AGb*f^WtrR4@>zREWTGA1D`R3$)yW1-&>Dq8Nk1$mwD3@CmAq*ZO;QGcYc zL0;OmV?I`B!0oumc!+I{S?g$;N#MLDhEbrJs-;eiE0WthzG zwvuuQ(e5fHJPVxj@ITv#4Y4A6o(lILZgac<2_xT-NC0<6m{_~`<6=ez=^?LP&l5(p zRaYw6!{VEtpmGT5;y6X0mzKI;UpdpuKd^tLkE7}Ab?r1_YOMdx!}sQZ;L`)?-;DN< zRL!z#dhFo*F;y$1!B@%npAAg?GczT1WtR9vdkFb;*wHdcHCBw3vZ0HT^L=0Kv$sQu z?1AEc@2H4b?1lenvzo4YPOT17o|5ba(l6yxO2(T3qVl#CD)q`A|0U|sq_XW|u08DD zGkJXdXhZ8J%M#{Zi0p5?0rRz+4k)$qAcA2 zjjgNVHZpw@N9)x~*MmH@C?^k3i}^|4=s4ywA-2#h{MAX8earI+z>71FDaSG+mbUHX zKzFl+ey1Jx|3}DG!J|SE1*rzjYwGvRdeLv@`|VYIQuJp3%p=)#E5_ut|AvTDRtKQwwCo>oD_jue9fpE5zn;QNyH?sDpJ!<*7w_UOB3F zZb)#PsxMQ!rLOQ20Gn;bz9c=dC@0>`esMcv+C5VJff8_(yW9D{-LP+6Xz8z9`sNb> zbCgH8(8*8k_NjV)$hK!DtuR9)fX>z_#=L+c17=sFZka)~E5kk;?1C8lLu#lxiWv=h zU&m3Zk}WN0V>WbkXfjgj_MCaXs2vWn4r2Hb|{HKL)?)RduWfC^E z+ix9aN5y_^t;NC&rMeX?8!z*YUqHL20%?)U&0vSl_b^bM3nz0|x(vJj3a*3dPww)& z`ILvwv$!WN%Y~7Xk026mG8_06-=p_Tb1DL^HgE5ieZ0?wx=~g#HOXa-Z{GlyN{wea z^SL^nHdNjVkp!=9r3A=dWvI>EG6(C|)ct@W8GhLlVasa$8`&oHoYmTn)N~KrIn#E= z)l-9m(GxkAqUpHI`SL#h5EvOj>*PJhFCtUpNsO+wiGo@`=BQ~3aZXM|+% zVp6M|m$+pCufx)cEcpY#%O?D^eJiHQ_xLAdj?CX;YH-pwufhM$-IbSNGakemq3+P$ z*arT;!|)1zKmtkB>#vvhf}ZSDx^XW|SBXGkgXvd+=b_9FwY0 z($C4WmIv}Qhi(?nbCHm`5yoC#DTo9zuBOBx79U@z3|CZ z;iTf*;t#&OMX4yeu_e-X^3RSsP-{HRA*X(GaE-MgS5`Ku| zxJ-vC`^-tx{GJu?|l&!M5g9`8y>g zyEw~ViDqaeR=aT>VIBPN0May_h%aD!p-H?0U*DRt{s-AMHR_Bw1z`S>o_BM6t~js~ zZ=|OBJ3}fN!@}cZ++-ovkVo8S7#87S?5{aHLbzlls^f%E7 zHzSNB1oo5|I-LHyJ82b6fI#f5TmUzR04JxQs*TmoPVgISN8f<+lSgY{g~Ph2)BP z^LSw{THhL*D{_3jonGQ7jV{XlY8Q{s#HDU*Oba{yy6!euTmP-n74!xEN~PcXcfk37Vv`{6)Q@%S38hd;2X!2lWgy&C23WYAKp#Ih(m__eA3U%hOirm zMR}AhWQ=}4iV$eD$p%W@Ls1wP0>PD<{2d+vNGK=p7EkA|kDg{Lc7JzVj zcZ-=RUu`MQH~aKssPI4Dv6ecV#?ZuY|W!VC}}?@Gf- zAie`l{b#x*GB;79p*EE*Pz|p5#N?jF>Aul7)EG zB$HAugFU2z4?LvzQ+UVroTL>UPf`4Ffv@Z6+y`QAoL^PdG}xBFGr>NQZ~Aa+_8|fA z$PS%9bu~V`(Yv~32t&-i=HtK$cno>x^2 zQQi6iRcMfWtLR`M4_n`V^V+t;iiqh^)Kg&3%hhu>=E`4}`=RJgKV;*cgmbS2WNzF% zjPkGbS~?&`dyNm?#e%IQ6NMfxCMBrba|D0?`279fzlA3cOZO;6qWB8WIOIO+1-2+xKb>so&;h>U2up&+=XYUAOxF z$_*OIxZJKz4Y6-8c~Ax$9X6J%d6wbhrcCPpG_{SK$nsCWXYuLbjCoV%v=k22)Ql-E zv*AV6uVzRe{K8;a*)gC-nE7c{czdH*^7>K~Qv~nO>;&!>7sTP|Bk)bE_%-^QC~(*5 zr`>YnxFdH_{y0@6^tTy}UdGkNEa}l{BlNU|?7npn7ts9K4RMQl7`i#Aexd zz?5|vVBYLC+`ef(?>%jU0j3vmMgR8)K&sP?79|K(HOHRm-S6C@L(2o>c-oZfd0XoL z5~t6(NFvaQH3M6svsO!N!^DIesZ(c2ei3c29Cv#M3gBazwc3~4PE%}%x@b1Fq$5=V z(W~Q1*@eU^rquX)Lk+Pd{bbYEn%1t;bc(z)T92O#tjLcicAY9k-CflFHOzlAo?=^I zy+|(TF0)A0eucer-915&IpYQ+{5c^B#vX=lVbnZW+F{qfuFuO^g~D@ijpvZr)0H?q z=T}hnH31%8mz1oaF0ZP5kK_;MwlriLEg)Svb@7^SfSFT11BGbB+^!J=U@zPysMdLH z{V~oS4)KWz^u+qD`8~Q#QZbvegrvtZ@Ec)OcfWIl%wxf7pjrV5diZdF>?e`}CxWMB zy1xl3ta$l`f)uiUVd)j(xGaW)Epb;2<=@e()fw@Vm+d688IM@rK5=K-7)k}pBihk3 z$Rks7DT>P6O00!lb_@aK*!qDivwgqB`(0N`xJ$G~E)`3ij`kBeHKWu%12oSg>iddi z7g7V+6|5}=4O>T`0{sRmyxyzCW=OyW=dZ5i-w zw5;nD6lX{`f#otg)==Xik|545PBCmVO|~X*S-)MJMo6aFGk$7om)q`Ri5V3OX54R$ zb=Lwv_&?-@5kb5aBX&uNk-rc`j8$?!d5FhwkVNxZyRB~Vq7Ir<;;dTbYg1u*B7d>#Up`^tw zH~+n&_NvQ@2xN`URyNH&_aB2jNn*092sH4PbxxmNjMsY7P_4T+m5XuNLas{)C!8<+ zA^Prmd5>%r#pI^}Lz5htd0=7i$_>5mRlWbo9vlD8P0CHDUJI%Spqq1D>VMAX9Su-8 z5XWrYJ4pp`C~1pRPYKu7%efvY%gKpebqi;_$Ipje)IXMIy*sy_`Bce1uc$}dSMH%- ze-OvRaW6BFvJ39#m9-MSOeUKao66?ClZ|4?wLdrN%?@l0>A#HSyY0nXU4^iE-wt2u zf2JV1WtL>JTXadi_1aN71M)Cg#m@U9 zv6eGgzuXbNSTy15$AZKyKQ)K053^p@7B*zT0m2HO&SgvixYm21H6O$!CxXV9%Uh`7ncpx=UbohkCZb$xN9cn z)2%H^R$<`oA$-;e-h1a-&sn@Ql@D8zn}t2MW8inSfx86?2c)duxqv3?y#(wn3N$Mk z{ILCP+N;?kYIHxu>12Hy;;V!fI0_h0cVWQ!s#ImJYkW0s(y3bk)rZP0#o1>#Q`ZPt=>3mWFK@A%g~Z=sEA%Waq2JmgPgo^n#}xq;ycK#i zI=Uv`_pVI_KAoz=ZoNSE^z&<2Zu{h>7gGB$m$V!^ZvY1{1+BU0_OV@RwB!0xC5vBe zdVMufy%~pUtVA|nH%&ZmE_(@OpwSKVr;dw8v9Rfn)=o%C7QdR6=rTIWmv5^(8bS5D zu;O*Kiy$hnD`%^MzK#T`8ASXGJNZY@)ArQ=Jure0f0Hih+O->8PlSaa4U}3V$3Pt# z_VSkJX(e-$JJM;|E~xIBuEsXn7nNt?RPV-cYc+jn9iXkf`Vw0ci8;@Cd)Ye^#nr&V zaL8HrJkyzw2oEVjz=lrjweJ#-fW9E%lxsykg!&E=mlthuu=1_HnQYTeQv36g}+LkH5XxFQ+E5 zta2K0416SkqJJj-;m13$bon_Q-0g|rDNKeY931}8O*Rm-9CO9EDj7gCs;5_B-!K>5 z+S*#ydQba6OGV9j^EMe4um${f?!m9okxWft@;;4l z%h9|tU;hu2Y|Kn>YG%HWBdU+xfa%j0=f*|(7AA@92!1Xut}3rlAq=rw_Wm+kBl8W~ zj|TSjS(k$xkN1)I4j-1bsQ!Ys*(i4J{gB^b4rC}YN~ET@t`Ae*FgUH0|7b@{bc`*& zDEgHc@_(%-9BE$rao+;^6@b3S{mAT}B{BZ9wG|_qR6H;d6)@Br(Y*Elv;eWt`dJfe zl?3NHKGL!#LjSmSh5kYIN^e~0+j{{|QE9$MqX5MI&gat6G;J+xtpVoOuB%$&%28K$ zzqc$8X!N?u<Y}yoUOK#!fwLla z-gq6O&liaHMwna~mMS0y_#2U3sNVA3+d>N>dKhlBo?M87n!^4xF^{U;vTW*iH+A0_ zLpP7P+@LD){XPnbp52deW6)v-y)v5$n}B9ns~(yj2D=Lt4)VY+PLu7U zXhpL5ai;NwOywp{oKKLp$pjYnJ6>Z>=6(P5_%!ll znGYRS+45M@FO24R^&AN-{P|5rq0!DZ^FE-Ln^%;Ze@RGqt!X;q;;t&D=Jjk@r+Y9b zFSg;ey%QdY`XT-9VafjjjM1)aMnC?B3d1kD5ag7{pG*lvLvu z1n7=|#YeMOa+3UL2p}z~MQ;HF{cmR}w|hQYN5uGn`|w`CLKqW)0p{ z^A;n~t)d-n>sLACch^E6p@_>-1`(hbL@0zv6VforZaWM)GbY+xW~2Xv*Bx#;_fJ6X zFxf(L2{ev6TLGD)0E+O}h`xyTByKx>;fsiZw(Up7MM@c&YiPyi<|#{x_4zgdEuEx^;8}z58R^Iea!Hj&Bo{|Dx0ZJ20onqOY zo`^=;GCW(3-Mq4%$TLdWJ+d@~ zya3J>SWi^YKEe2EVn2_N$t-p~$VJhB0267pJv1$g?5j(^OY}4+a(``%_-z(BprkGK z1(R&8#uO<85G|dqTXU?O{rS?zYj2;ITPu=%o$v+@N z1N!mASQXB0_k~!U7K?>Te2fgfI3&6eb6Ood zxHrZyEKR^V2mW>yOldt|DYJ?J9>G+EW0HPE4_t`bQKu+uc)szRje(sGsK)FoL#4Qd zxjlbS*45n%)4)QCX`>B2hi5sOhml7}hFIY}K0NUce#j{?Zc`bz^8(ZM_l?#iR|H+5 z)nQO05w_VvpH?35?l9R177-o*;Ky6~-is$Ua&IHP9LQi(fI}d`KNzya41yl?MMJ6X z?#1Td2Xs97U8L&L?5+ptBi%?6K1?c}D( zwtdjwx|;UP4qFIo6)OGt%ZwUFmsUd>h2<_PGvqlM@LDiynf7d|2abEEN-C>)%uSS7 zwUbm>U*%!PlVTbZO=BZ5(hULwPjWkixN`FRZ)-rmedqwqCWu=Mmv2P$7cY7j@oUPT zd^<7<2kF>?gvgh=;%$pnR04$n9_u{n3d@AbSABhtqyPxrVcnwg#SK-@8*9j)0%cgs zJni27nU$BZ95L6+tyQthPL=oNyut_H7eqe{d!9#5baAK&-+Ul~f}bvDnBHRpkTp*09)=2~P!pOI2bZ>b_qIlauB?c77mkdB7hTdD)iRTx$S23ixj3+qF) z3If8um#Ze-Sx|=Y*Q*Lj*%JS&VS!`XRFbR0PG7j3v??1yweAI_*{m6tk?mq9JVtOQ z5+lTCsVmPS(@K7xJ(S&y(Cm|B#6M~Nf+u(Hju@gn5JH?Ex z1h_K+0!UNYx!{(BU+)>$mE7q-->9;_KTpKG5}t_}-fXG`t~-2@IyLNFygzgBnZ3d- z{%@(1s$gD3_&ER#NI5da<+T_~*>+U z!DDXTD~AlW6>T2S~XA$T?Tt(0_uzy?_ZX3w>J z;!DHSRBhH}kt}8(!J~Kk-9gYxCA>Gr9LojT*kPmlp!&_T?EjqtI+-_-%~b^;rb`vOH<8PlZ?uJ4pD~~h-8K31`xA(U1H@*2be>KM@^f17AM+C;JSfRSo z>oxaY+j&VEAtaCBu0k`UX>?CKv7O6`<383S#k$|f#p|8<0}dzi?B0I){x2Mo=!hFDs;Y|sm)|>32UT8| zzAXY4X8V8rX)7+$(p#~s^7Bd?F!SV9uI{!fPnc|bDsA@|ofzs4!RD&d;z^r~y&yy% z2xbaZFi;`)+Pw+|X{t6YXDo}fxzoJ}p)SL;ezY*OR5dMDG_?x7Xs4CRu*XWN*JWjF z81+a&n@Ol6qc1t9mccXOi93v)kg@q(vO#+-CtGgiEID$n_{H>TOk@4Bhr!=@K#G#% z77$$$51M`v&;E#bSHn_{knT#*%Zz30F5HD-0bymMQzzyl;jz%z2vgmxi`Sc78=I=_ z^$EU5uYMhdi7Mq~^8MKpFbQ__XOIQW5*Fy|-&yg~z2c%uYqL8_>d2*|-eU(=XWr!} zm1)##;1R*he{Y!}B%$0|pE1}YygJgAo~Q3F`KWo7A#1OYELkzCq$Nm1AtCwA-V>1Z zTXzlV1Y4MK`x-k%id*WCFN)-(&xX>u?s6=okwSAbOhE+%G?4#&tqGk9JM`O0IRkst zvGqrEJ)#SgCs5+?uOwCX!AJQSmH^QM#pfC7c+IHrvWX^@Y%Y_Y6S@I1At0bov!N%f z#q>DLl;tRHDXhquLgc|-;E3X|#`SpWYEaf2v6g9cv)6b%2xC<98kxke|BjEPB_vB( z!aD-PEQ)DXsBJ7WmoXH(&k;^sTa>HisZ4?Hi}mLZp?={9O%;&K!A9|ok3j`ZzdX>G zFY@kcGxA@^Xt{bwAD*oycDs%EqkHqihfBe5*N>MN_L}@@t4TPEY2ilF{X;(3)PDTw z%%EV4;X0uE!OXl;KNL~JIuT5B#x7Nnw^h3<#<}=zoDfCrZLM;p- z4`xIxgFY3_e^(_}cx@@Tf@Fgktkj74p0^<{H?D6~>-00grUCMdc_!um-xvrDhGA=k zU#X(hgDD#8`_NQ9)AKczihNZt(YO5Pqn`*fbxJw6K}+_Q;hf+ssA3k3W|xD0-_$iH zQ=k#ncY1fC|M2QE9`te3F#3KR?uR`@x=gPVInett;7tW`shwAGhh{`(7ZhC+HHz=p z`dtAuK`SWO>N7Anpmot%C-z5x<=}&k{V-#93YYq;Al5xMdTSM-FUs?n)3+DilGY&Cjb~&!rm?? zxgks=D7?o4Aexw3MMgxICtdd(>`rie8?Qy=!hYK{v2Zc=reNc#&FL(!kA>OwCxgA^ zd+-f?CocA=EL+$05Z`|Ea`~5Oer}e(ggtURP5e{qX)%L@I0^xu=xC{$TT$#SV(BD= z@U`uTd&Khh>6}KV^ER0W@c8rw;H@2Y(xto@zU$c{l$XNyht^_+rfv((hilP?N|%Hhc>G+i^@)bZFcR-BUWr+o+7J;P@y-G38~4Xs-lB^3 zlA((NTZkGMrV~Dw72m@L#f+AYGon$4C>g~ zFZ=`k!IDh?<8q_#`I^6(4IgEDD%oj8=jD`vQSR4`bzBMz9E8Z$Dch7g1?YI6Hvr< zH$dgY;kVz+wSa+}xzg-(ov|y26wO@K`TWfJy(pw+e)?_-o5RLK)0tb?6<1>5d#MVb z7La_(fI^{%jPe17VMO!#O9EqF(8M+3+Nah!yX9<|v!Lw^p##Zr?yCZ6G=b0MJD}=& zB{QlZbXR$}W=)m^%;mi$SmqASerz?jzxyIj5?NMEmx9En;Od~dFX*^D)9Uy}JeQ@e z;jlS!yQzk;A>fCj$);b9lGqih&3v9UWV$S$C>&7#qLH!WBwEd-E2OV9t8%JIv=GK| zl&!-Af_k<6w>qYsp{GIDBioB}vcPFx?2*L}21U~Jwz?hSq@Z|^5Hz;65%X~C#cQMZWPU+BhxVQQhaij^ z6QD}jQ5+g;yu)NkU+iqZfvg`p^P#v+d04wjQRvQ{+&dy_FxEW6+XtO6A119bj+r?* ze9`c#B+iD2Ft<{i5yyRnaJp5k5pqw3jY;g8EiHAO12oFZy8Fd!ZX4Ax$U>v ztox~-`*(2}|C|5e+5QJxI^m64@gK?7Pc22w{9gNxHgc6z(v*VUH~io3s(@P#PM=wZ zKye~jEb9;C{;f4y=v{lVemC0wC!K@wXWxqb&P2pGv8{4PwJjH-Y*LP4<9xtx4{lcb z{+^RCh611jyFY@~}o9`i;=$jZly^6~x;O@BKsDA1Wy*(2ugF{ma zKrdUs-Szo!%TtgR8fa_j?tC=zrVSEQ;|MdikfzZ4^p_+&uLl8@1bMr|**@|PsMSy^ zTiE^fQnkd#&k2{hZb72n?0Hy0=Y(WAF=p1v6~ip}()uO#>XVd!`)3toRN1G?jRTJ# z*898v1`%GKKS%Y7VI}J#i~q`4`D9AOW^^{q z-b!M-7ror@Dk)4TRT%7q?n=Uegm;wS*KcD)aB+%v9Bd5<<$3N5Hd z34o}=)Tqq`P*ui5eJ?WMHkJf8l?wt3A0&f#VdHVgf`LU)WFM4r>89Go)OQhYvwaOn zT#rLePHVmYpU61LspgjgSvR}O!;Bq1K*?lI*4Q7mz{#1!hy^>5w9$obYQtjcPj01K z8qAsFX?AVhS)J6R9#}uDLKd7sNax?!hsM0wZH4{p^lPd760i+h=dhqHBwdK>Pwf%&@2SBY@GuX-5ffiN@vU`Wkl(HRt^nY0wj9zd~ zE@xIqy>!x1O;k2U-oUZgC`3IbqeyA;cMb{w_d*pP@DD=dXlna-CHKqx^5@r>EdvE^ zA(*E5tK_h?yMYwLjm;?l~gU`wq zH+pZ7eQw2gKO!%k03KYwM&a)zp_~p}I(qNt8vuBzG);AVxwq<>cofxiEJ9eAv3|R{ zn1FQ(s2ZM<HK*V~S+-x@*1|TyP9+qXyH2hv??`4f2i@X1L z`#7-H1N7Z&hP4UU0r~H8>;|of!JP;891f|Su2ZuyB@XhiWjoAMMQHHH^S9FX3F!DW zFmlwrS+NKwB{lhLdQ9u`VgJC;u<)l~f7LPQUdD_pWE(P%GyuY$NHa}Ex52cjyfp5` zA%+J>hxv8Psv;uF6gAx6-)IbJfLCDCp7HA)A zCn~Nkr9uCda0>YqHwB!HN)`Pbf|_|$l05prkcI%s*a7Z=3AJ+Ru^6@_$yzAF&E1Ve zF&_uYu2SA==Lulw--3-)7Hc7=wJ->q!~-%`3^l9D3(CHAb62K<(P?2>RABk)p~?c9 z7Rg8IbjD8|4}o(3%hZH5iDXnK$vL4t1ot8=-_*;%*TR z7Az}y#9vU!7nFP@JVs6I9>Xe^AU-UsX)?%2FS2|ZGOcqP$re0z!4iXljU7IONpP=) zHqT|DPv*}90(C%AVzi-iYZ;Vga8z6fWH2WD6Llj1Hxd)N95e@@O-zL=4{y=@X<4Mt z??BR^xN7w)u`!%RCz-1tDN^y@cS^PF3RycU%+lQ_zkw})y&^3_LAFq~5OYAu@XP2B zj2Y)wPvezJ3HtlBmzsVxIL$=^De5kh5od>R^B&|EY#2%%7KZZP3~ccGOrOyNfRB7l2Imf%>|KvOW;cHr>wNk zMiKE*?9#i(zawD9huT(N7$y0IMxiFn*oqQGu|I~%L{6!Zq@O~FIUO2fT%|{q3g+)+ z3q1%vaAweMR1l|5V~G}Q+Qk?^#EG{eZGEn6K7~;1g|%30BvwB>>u^KAwB1LVdiI+9 zcZmW+OP%1Vx3*Ol*2-5LJ%pHHAfLow?n3010db*Dht2To88EapHVd|+ayQ3KDOYY~ zQy$kamze|urCvw`HC>%5bLl%-{OtcQH{&!(=1#Ukd#PJ5<6eZVCd#I%Dq_s(`Bzce z<117$!V9~r`&`0A2;xGlojpj-e=CpbQsn00$9(~zP+|ocBwC=e5Qn_1gZquJ`$tdp z)=!dtTV-K4AptFMdgg!!x)#upqh&ML*|VKBYZR(Pk0i(dQ?My%YYg2AC<$ocg~#Gp z5O(4~proh*93b8&D5Ci5qCjW>ww~}GxZL`okVK>cqpK`p{pm%5QS+j|vrvaV=W9fTCLY$`h}l6Rt>QpZWLz0Z5*K( zf)!Mks85SbreQHqS!l#fQXY?!^Ie*!Pe(FnRm@Q&R%xl8#J+C=VmWMZdu7%TM?ZrW z8IrD{rqywNVfcgnG-JV<|6#9e+uLp{i)1O2NJ*4uXcdTxuwU^clj9J9M3Uz6TOaa2 zH0<`l8dUE$VrM%IVz;e}FZkk37s%p;N(y@PRf9KDWdkr%;?H{9?)Hq$5yD{+igGmeg2;%*Omr~04x;PH^JE3p;Dv1PzlOYwdb=RE+8LPG*wf)c1|>< z+H(rNe;bxb%jb3t%={`rv*do%!}HnVJaleD2@()YE@M8#lz1mq*BbYG@Y#x`Q<1R^ zN@`M5#!;X3dP&e($)ld_^>2?at>46SK_9N?^HXeW?8OF`>j|UaWFC4?`$(f>Bz^Dc zy55q-vV|d6Xo=a3_;(L34p7=*Oh*9FtP36#!TP zWXRcUX%w@?#XOTQcxU5gY%H<>BZ86~#ErsQWGo4Hss;{el&`u_r$rPM`oFEY3wDCa zC$2KGEpKe0+WyK8r_ccVV-?sLsS7Y)T{4Jm>C#>n3`2p{(KdkRF%i>-9Ojt?93M;2hmx$>kA;)6e0n|VT3igv88oe3>0VsJ}kPF~f>2eeY z(kCJa36<~i8RrczrVMMD4;OHp8th^R?56@UaY*Hy-yz6L;jdH+f|BT&IYq5d{a&hi zOl+bQOPqTN>Lc?f! zb9YlPJUm=7GbLV`^p}LILgFow{psawU->5lohRk0p+kxiskN{B+vM#+s8lw~-K|)P zWl&h_d=z7ow`?%ZC3p>c7{7=t0_dYy9IH>)|1nu|3=o@X4nw-Z9pj#?D1FiZ-reU9 z(%DXjBo*Xe+o&)SbZ3v}E#~Z0Nr-9gfR5Xj!{0mxyBAOzRUMRBW_>ny?vGXIl~+tT zwRcuyyUojk^&-B)pA}cXWhu3zC?$3sLQ!M4Ezd-$l}yjdU{`f zpsjyM9RJk%gNwez~C+D}1=tB}WolQaJKhYPDSSI{95 zsQ-G$Aub0@#Z$r%i0;Uos>OnAU9ZCDdo+_(eI7lL5!pwKbO^6=Krxb{WXh2nl(FR~ z?6RgzR1C%Y)ui$(l;U-Bb3b$E#st8aPHEpqgHp4I^E75up>hwyQq%nn6KeOFI8f|E zSZIcp9$g|?vbH0s9ft>PX`YhHU>cXJ-t(I7v{SfSAU1F<{bqU&aqFz-0(Hgp$tnGo z;#`pZ!`HmA*IMYG4#(C->67@cfngbKH+Zx&apq~_MIAk#4&WUK_(*!}udC{Sqt8-- z=BfA}7ncW_W7B4p*&t@<2=sZ?#$WN3$^3Sse4*BA$WwYeyP}uFHEQFcxoLe)F|(f5 zHx|+$anfBnD7J`6(3Zk_%z}_xF5}Jfg0mWsi!4OYAqKLO)sN5STi&812$*MEo@cxE zD?gd0}*CIq8}ZFuLnDZOoEP;1X(nsLRf&8kY2R6NnO(XV$J1Llq~#eJoyNXHj;?N zzf*PB4h09+07WI6xE=^WT9Ou&D&%Be^FS!I$CKl*e(}8I=5QcMI|*-!4&|2vGWR9W zcjNI_7MRnbv&dOt?=@-kNzv9Eo?Ld|lYgSMf~V;?hqc(t7J(t0GB23^J_1yRRV;T9 z#bK@DP@QgtsUA0wMqzUzrXVcVbSD02XO2~dSj+ld7>x^-Yddc7%WP;g)h-mb+`Rj- zVl#!piNf-??IO<&OsR*IiSiMcORbE1^bUv6{99meyz?iN%xJXIBPG4O2q+9YWEzIu zAT61Y8MY&Vl#N-4Keg1a00cvKm|h)-MBI5D$_Ni7d#OUX8p3PeD zvOg6L`5y(lgq^Yib;|MyvX5)XIPt`Ans+qrTg1RSKoa|=-ef|?cYOZ^C;v~)p||>t z@IFz@T)+CC-?uMOhK*J05tY!(*0P>U=)t_!v5FGU3J1wzEl1%w%||4AHK!=zz|FE3 zC~UwrUJ2_IvtzDZ!H)*sNqyEfrj=4@p z?pd3nC8ZnF=vb`838zu8@If$!rUY@~rLp+GLRj_>Mq=?f>iE!HSprAUnq0SrQV|m) z#c=FsxU!`B_`#s3kH+sKsbQ((Gtp*2oV^KKij-BxQ-E6v01EogV%MJ6piKMWPWwCmybQ;fVoM7T*or6k>M&yN_fcjU#77q!QlUM1T@gI5#&k0lnkM2fL1?ktK)k-M zgPBkQg#>6dbE)D^+WY@CwL;K1yOwij>Bs~}Grc@zDlMMHSWiIB;wCLfG)w*|Hbw>E zNVY>H|39R&Vs_116RNAu_UOSdf)9o)yKyrj;H~oHWLPjTAAM?^Jw_Y-9kACw5kzGx z7!`%{*Q*SCgU{`t0sXHF%v@Xx0DrJ^x*ya+P#F|jdgi&K2lW?rQb?Dy^MHtJwH{NuvVvT_n_OUSkm9_qb)p2>f-<& zZxl|@|LuRYs!W{`CVBhSa`~?s`$Bt#{fFqe%cbtu8lR^;vn6Vt1o`l>iTcWuRP?8L z|5li{bGTE3B|cF4xVnEi%?Zw;&u(fvCr4^@G8Az~9Ii-l*}|o%*Rq0PkUIOBN1sA) zDumEX3jw#oju=6N4_c$9CRa;sdbvWx3k}F@B=FPTP}TSDrq{>wuHS?RM|OzGju8fE z0Wu;okiY^P9DSOghi0_sg-CX7*&Eqj*)E?nkRaE=){dS<64=Hmv2Na)5RX~8PK6uY z_zCYCP&X(_f>k!z(*G>NP4tf(h;F}Pv7K{jw?lcFpg-2_mdFPnMUvJF+Z{Fek7+3# zF9fAnL1$GH1p$humMW7$mb0~iGwjjAPm747N(GK3Dv>7$Gn`_~*6?jIUT^lGGe{E! z7T1L@@RxoNe50&BGT`;oC`NHXL6B)ouD5G0iy4-Doga82(=nWD4l78DAlL51Vqvi` zamVqpwXeCrqMjX{;toTb=Qc(?&9usK3Y(p-uLQ5HSXU|rqEpP@1b;=SM|CdZEgq>L ztXP1WAPYCPl7>RoY;lCN6|)lf+*g-q9xxIW5$22tp6Un+5Kh*-dLvU+S{KVut+W7b zjS%9u5cD6lKG4|LH!upvrc6yx-Lc12F6o&`hEV-OF zT9QZd+bw=#&`kw9*D>#1BqKzEjHP|;W-7w@Pc*^{+KU{TfJ3ud-TozccN*E#5!%#3 zxz%b7uv7t}*(6n!sM@X?70k7!eJVk@R-J9!JlJC)#aWeu6b!DG!@sR0%z-}+j)ged zPrJD=UfiON9CI#9B`%Ign~S`wMJ`*R{Zoeae#Tc<6X0*AINRJ;Pe~YcjiST}BQHJ6 zUY>c=OX9?sqp^DZp3kT#aP_hU8y^od{EC~6O^f>#P9&l}!o-8B<-% zI_?@F(oEv#juj6AN#U06B!4E??>Jw6xIbwncKx>R=i>O0eQ6Ge@4B7yJY<{v4{$s) z0Mx~mD{^I;^7u+|pT6YfLzjdP6e5gf;*I2%9!eF$ilcU`L)~nFAytD|mNEf?U!VOZ zXhWB8xggotuSP+;KWZhN!X}VGvF1YZlkQ#(N6J}2`~0%Le!FQgtLLA*?UXT8veZD8 z9;PB~gc5)ihO|>7KiJ>jL*QCx>CEiXqGJ&x{l}9B;pXF5A+s+$Kxw}O0)-O641npZok-H04fd|nsxi%`T8 zof>1Z_?TWw(s+(j(CFA{oujqb&bDNTD|z8(waPH87;TWWT~S8fK)XjXVq}98EE#RG z0R@1!OFb%V35hu;GU&X^SU;^IjaDsr&aKf7oB*FK>@czmu3U;I9$hk(a^fj~ke+S_ z@f#H_k*yx%(e9jjJ7rqxb^_6K7KT4nQHU9JkWlz(Sx!5cZQj8Wm8%$FtrH?OBya$2 z5MSR>KE}TJriJ;S#|6(*fjo%DVT#Z!<%Y`=0GSE0lsiWb7Mz-f<)ahDOZ5^K6ybaX zteG0t$r4p;VACa1ccWw^-BRSQ5sC9L8D>DXDv3cBIRZhBRN;jZx=Qs{O}IQqG2iw2 zz0pK6*X50}4DZ{XB{2L9l^e4@x%mXF%xl^06P?@@d~I|6bqz zwR@bZ`>DP|FP|6@sZc32)$#2saB-YGyL+P)BRisaP$@*jGZOKu+#;os|}% z2lW_4*d~)wMQW1iVWQGdgIs?*iFI>SD!UT+-um{u*|mQ>%&t*s2SI)nib7k!k9Zt( z9=q?4zpAv8;+jO|4?X^IqhiFvX}$1h(c1pSJ09j2iglgKSUDQNAV;f8U98~3syT{| zS@6eT&ZK#rLRr+dgLi#rqv>M(BLRe4i8zA*p&eub(fKr*cfv1BHvrE0`H?2;SL^dS z^|I`%Z%Zqv*QUGYPVVJa2j6ESpYKh6U=yPFej)zr?8}Q9UF!Q`?&s?zzMC#Nq6j;i zUjpCDAfM0YxlQ*|MkV|F;dOr~y!R)ztIy$J?__X4rsjkV?}U%4>hX&2r6Gz4 zr0-k#_p`OFJF>Ey`?|7cXs_M-`waC*SHZ{NwJo$&7ewxa4llm35BeoA+eW?N$j2%2 zlqfDpdMiVdx*m_deG5Taz+$_onjw%@aUdGl_tA+Ef4fShGPon$`I16%Vm2=B$v)db z{X0B~7n zEt8t2GF_)M;`_jc+;2_S-|dV*AArFg08X=@+BU&hkLzkg#eXG_z@QDL^(Rn+i2B9l9q|T~yw_K&s;dll5q=8?W z2crs~E<%9g<8l@a-Ck%+tro`{p5{P_Vn`ts^gG+F*l=RKAN=1N_SOB>7UU=s->2jJ z96&(PCtH4@#ccA{%T_K8CIgIHgc)lRvV=FsA;V!(zR*+~MPct_g0w=kEy!z!`q9WD zl18=%nNf=<0C%sQNWR-L8{w>Wk}FbkeR>1p#>yQSup>t1a6u1mlpVW}afTTCrG(<;;aSX1(3 zPfYW~xY%7OElB;2N1^&QLSFRpHndy9h<3if!r~l}A>fiJTkPC@XTLw}+oQl08BF&Y zMw!Je3QrfYf-S7~Hoa&N1Hbj_W>H~{hat!Hhf`G^trsh56pG{NV%TSxvB&Oy+mNYc zc{HnCTu7XjK)OUdgp%AJCi*|dRGk>n@)t+Uy1Te1J5G6cTiXa2R-4vG9oU*EcyMDa zvNDM^I0M1etdy?{yzWkW_3noYzfLw8u3(nLmC3x}Z>#|EUUhk2Pd%BZgX74`W6(Pdxi&+CC2Gjl8-1+#N@!j>du5;7V^FE7$*&SNZcAW~wU_|#oxOZ2U zgNSQVeVi+dwO<}=Tg!j?$%2d4N&l;Tg#U)-Hm1(+$Kd|XXMC?yK;OAHTq~PvZ;j0e zqXnX>6krdCqCf@JLJQ5H_zN^l??#yl#i3>ZNx-2JE(6VsIS887)ZN-=rN%p5X~(KX z!;-B8%@j;<3BRl1Z++E0{m5gHO01=1XQvST`pSRq)$1l9An)~!i72N44^^9?>JM^yo&Gxp=HDckZhI%2wORGYSw zOFsnU_786lv@P5H`}4)cEcBh5XcVt#k#IK>thdDNYf6~;>C!huCs4!d4sV#WlsRBCB!tDjz8#Dq4dEVvzR zh+)w&xFr~ua>Jk^{EZ1)uEs{HsZ*v)IfVABti*$S`ZK;M#K;LB95i(}2LbLZYQuJU zuvf7XA|?jU=a5DZB-b1^Fc#5Qy1K*nAGcr~2Q+@KC^k>H`=4tW(`^^`%o#(rOoK&@ zLN#Htep>yx&SM}sUYDgs{vnG+CF=R{gi9Mwc(J*)wauF5E}Ebm3=Lc_3~$hlNS^h+ z0y|biL(QJ(ltE$qZ!F;S?PBudZ2rLk5vHgK8xPvx1%`i76IG%gn0<5A0cKj#ri$k& z({&MTzkh$DCW!oD`CVxW?b0GwyGkuFq@b?C;sy}f(j-l zGBie%RDcF@*XCFAn}SK+2#Yi(69*2_ZwehY-o`~yXg9a9@tcwN2{$2Dp-mf5_Con- z_PH9aSz)^t!p^>D(y@#Le#Qo{~j=LfYS zL_(_4wfHDe!+Z#8d+k!S7Ke5XI`rk`WYZ#4yep|piXDb9QHVM?lqpKzjcK$S`ycaX z*A~?cx&cZsXp{R4PrdJ+&g<9Z#l`d~yL)$@y^HJbetdt*M4xwXzK@Db-LdJ@a%SJ# z)bBOPhdW*0t>)d8-8pM4)^9>VFWy>~@7dPA=R{Dq%sZ%3v2D0q+qTP=k)9jUlT1L4 zavJIZb6Aini{RP55dY1dYkVJ=ZM3gh-Dkw^G70 z4G*RRT|?UAj{wibd2oibM+LEb{XRyf_JV%S>J90^$bj z0GJvPI){b~^7{DHDMVfE{>(1Y5r?;MvUcO-YXsm+)CK|J>ZpS3VM!FX0<=Yh57G{S z-Du{xKy!_ln$|My=R4G^XkUaxSgreuK4qt?W&HO2XclK_(r_3bB5{F{+~v7yYn7VL z1dJp1Gl77Z;xTVGA&HY{cFG{31^itq4OB9yZ{nVT9>lp1#!`L82>~^rbIe(%?FMI7 z5XRD=@Dyj!R{%)~nKJ3YZlIvx+kKny6GJh}4)oBSq-ho62}Kc*CK!`4Z1*uNiFRVg!v@C(=KUkt!q5P=EiYA$~0@WQJBMt(RWhzj+u0k|V z=xrSwxdtWAB5myrAUbyDIq-YAiHSLHQ~x&FoPVOabIF6ch|oWvAp2{I>-ys4-1q`~ zNicjM-Z=8_llgUw@4)|EELMHc_?xEgeY<3_R=3@Gu{Jic)itJLVxf*+BkGZSk|uPou6euC|*^9~Q&QgWHEn3~Of`*#ER91xMKN0Q-xx*px6)!1EhZ zq-3s1RPT3u;@a=)m{wjL@!hD@9w`Ys&xp}~FzHI5^)*&=HIN~SskTU8Q3v6T$n$n1 z$mylATuRvclxws!ho$T0L}HsTpv~|)Fs&s|M?HuwK=Rm#GG!+n9p2NV3?;WvHID_x zUUV6a^u+*5h|K}@z!~C&_Y|gJAa&NZB>*d_6vCD3_872;vIco$iPjB-nHM1eOh-i` zY(gtrG#Bo)y*E_S6XOwBhj!t_j1egjK>|?>I<-V3e@OJVV0V;*E0ieKr^-$t>QXLc z2Rz}NO9>Ppa>`2%oVX#hpY?b_M1o+caBObuL@tUx^W#5cJgNJddTRUw!2b1i|J`C? zft&%u{@SwAi-z#p%6H49W4i8S{xW@VV3_-n$hTS5=+8M4BypGkE%NKfN4*DzWqMi$ zz^o;;$oWIGR~+qSv6T05ZN?{M+;^YcXaDos*S8Zj?l<4pZLIGuFn-(JIQ2&OhG}Rj z2Ls`y{@?ity3QwD+t*IpZDm_lB!WH-ezDpVbl$o;+~XtI_!XAIuE21g)QP`>k*0HH zh^B&hT;Jbb-%aRxawVu{$-z#JteLRIupKbIXjhidtH|`!?a^q!-5aT_;R2Xl!IOxDD_oGy-vvL!#;?kD0X9OGeTe zi1Y3GP(PyVh8x8}-$W!oT~L@}tUY+EW`V)%W{YYMp7|vV34*+>i!&C0#!kdkh!LuL z>c=H7?N~Yaf)Ns7X^{EmCf#IGUxs9ETC3F{Z*=t^J0|ODkAHIk@;UT&um}+l--c;P zz)u?G0+a5sWYblut3ru6p>V=6tb!{HEnQ%b&}bGaT49vxRL zha95+R@>&8dg+BO=gW$!AE1++d5FY!6lA@|#wSv#vcD@A}3m1>Q`O+o^YMy_Qt z5fUz%dO10Nk4^#u{LNZGoiJGrj0q#3dj1=%k5pTzj`wRQca%Dwvbd#-n90s z63d3yfyH!3YG`!|BAG(Oa4aFAPY;s)WqZn7d`;YNj-x}WH zxo&4%x1=R#e)5R9wlidi6IzB`o_Th1vNL}iske;=OdvpdZiZ@QW+oe$8ysJ(ZD0GL z>D%g7X)Swi1o@6mX#ff?md~r&l14VL(X6?TxnF4x6$_A=`VnI?w6#yCx40yr+b|Vk9$k)I%p1FE}<^kj6(9Rufw5y_jNI=r!?< z5@0g|ub8AJnbvCLO_w1?Tc8lbgos;2`G+v?GF@>~g)>vH1)sKOcZwduSUOA?zeX_q z5nA|F#(EDh{+OrTAW=L}ewv(IEGk=QxuRD^Aey) z7|723dbNEe7MtDnFkC9$&YMm8`GEebhi~unQ`( z9e~eOn31fUokTK&fV{4m9t)QdqM80hyhxEM#~F$HXZg7_Nk;r~xTH`-=;K%tlXM@} zq(}aw`4p}BrpmdCYui}6KTwwEnAuGKW1o8*9;#pCO+mMQ6L6zea30rY7)D$*z%{E`h)t9BYcJa#}hT*=y$-eWYG-E*~@?%mJ#2RGdX!tAm;9~wBdXF zUWF7hmHiM^?nNejc54T6m(IGg;7(&aI=-@#4(CNzpcG zT&4cd4|^Y%ly$*k$yMsY_cC_-$~lOtEbNSKzV_%Rzon+z;^GEf&ww0|ON(}5T znBV3&!np|p084U7xOFMH+WyarwBr@t`;AMhmrO;890HLE{yv^2E+1;mjuZ9ZTxmvk zKIC^3LKN?@M5i3#!O7?`22f-+6(-7T-bg(LFixqQB~cAW_)C?Fu8MY&&I~hAImK=C zWoDoKURXlfB8f1UkYbWx^M;LM#w@0hMX#F|)46OjfsBq%65)420WOy-_l@myY2uiY zEjc%Ze}Up}9?)DeoF9Dv-H}zLT(bpk`u0G(<5Wi?=Jv0)?*unrBv=GE;3`IImN_o= z1I9`aZ#cJmwPHbIQeZpVS-w&GC z-p{foj=yI2Y`yMtuV3ESTQ4X@`fYf5Seq?Z{%mZ&nG`@L(B{%N6+#DyB?biC7lS{2 zFQE5c_)p`1uGS)YBHY4;&1|dd?zl_dzlB>v7cHD(+jh-y;o#xflm?2;Oi%Y*TH9Kd zT5aIk1Mr^@?D2hF=YD+dyl;Jf_I_*NLf=6b4WD~|KGL_% z$mLZt==DDW>;`zOUPOd?*lCHEkBc2#6@nLL|Hc>xl8dzTf9Hobx>VS5K+usBDNj&N z$6?y*a!)*#r-aa>kSkM0GC^t5sP`GdBt+VW5}fewXrm6%(g^9t0?368twQ>WaQjuE z+JvpoRFprI89zL+(~=52OhI9ir)g?a%xtGnq#u&TmqEL!@jTfV23CsN| zjN24&Vz-Fr`F1Gn2WUEGL7KGk&%)J1mJv=OugUWaB1kr1*(w~x;erv$kx45-$b=fW zQ=F=Mq9I0)I5TS8n13ULU0VaM+T`I?xu}-hwZ*r0pQRv2OFC*?{y?RHha;PBZr@5q zNp#E67%4^$kr%TIbl{pLfhRbNC@FD#{sUyIYjpuyZ{ zX4l98K}SU;C^c>U; z=(U%*>_B)tkE+f};$UJFh_2I8zNfXF&!Zp9Iou2sww1s3L}>i}W@~D!*^dQrA4P@Sqz)O|@YwGw z+0df@9^OR;5YBLbTWKZMd{H#NWN%&}?TKnj!@fE&e%~ zrCf&M5Ij;s*16dedhLrLpXx>g*PK3&60V`;A<9ETRdqZu(4&7M2=v80>)=_aKEOVZ zh(3xLn(4bu?|=m;O zw_{V%dtacb7x`_h^T75B>lUs7z~N@6_cOvi-LnN;T-;{IPxB}JgqXM^-(g+Wc;8Cu zreolf-@mM${HW;YoY*)y=X<|Bzb^%|qj$b$dQY{7)Lr;n{Y!1X``)=9(otCQHiq7~ ze#E2GKmb$hn{{}2Z;rX|IPdV>H+>7nKK2Xl`FHCju$Q<`x7EH!2fZE}*xN77wLXve z@7KARBBt%rop`VYcWla4ZBtWE56;R^tJM5^Wat9B9Eh<1QYc+Xy+BYcFm~NWNu%Td z1qmUY`F(=H@1V0Ia>amZP*D>-L@72kigu#=5B{Hs39ABy>I-^>Zr+IHkTMWym;E_8 zqTryvgUfv7>h5y6fy4KTqe&u74_bn#G_j>f!n{tvEc(F` zF@L;CQComvkmYL8N+PVZ1hHvX$|DM#!iYfcOEAy1jO^UZ8DFS=6(jL`d2z6+1^kWX zbmc+e&I$av?e`4YwI7ys{!{NF) zpe8J;-q4&e<`w`RX?D@~hy7s~p2W~(QW#xEhN?~V$ny?33LA}s?-_O4Bucmq_+719 z6c(S|FRiVkn%hP1k27`wu;Bdma91$*z5ANMWR^o}$e?T@Agbt#?Ik}t4p zPdM#aED*XeRk=_`gP~LGoBhd+7fmV@I}NxJAelp!0rlwy_V7PveNQp5?lmO$lmtX( z>TYkcZ!`Gg`m+J!_b}}U^;phK+o~=F*Voo5FXH^Ia-xQhA0n@rgLaxNKZxAvXj~@N z=@kNe#~T4+z0IRvVIaXq)k2lCUYD8+M{+RIF}iQZf#J8kdlhS%Fs5#Y?6f)+v@_Hx zXi(8+Xq=rM`H$T`BwZiB24qWIVl^Biqa~IqkVUwKIR;jD<(hFg-cRa(NEVXAT!mc7GvTe+A1-3(SwdIIH@YPw9JQlMlXFu;WT}y92jvLEq*_~=;>x7 zmsgWCG&H$xH}T79>NKVXv@;+*^y#`9^zW->-sTbvZ1k?{^i2>F+V}g>~T{2+*mHx9TZEk)Pr{cA} z=Xla@f0avT%w;+|19<|EMk)LEpWI&bzkkOmzyn z4mQ{;y(zBkKo9#pdOjj1=)0v(;P>II#xIJSY9C#_pt~s0Uj9TXoV#kCj*pMKdY1cU z|HlOUq0#5)x8ZDeQVcOk8qjQU{9%q@N^knU{@2AcueMXG2G4hYvPTl+5^LRgm#6nF zRQJ1*kJI^LHd$4K9&^n1vcEkqMWSf(HvV{@J1$ETW;%1M$I3=zr9CPH5gO+0aT&YrAeUuJU~v1KUIX z46L=Qv8d?iOwm{MwVz(#w@g6q_93w1WI7kOm)mZ(o;S0n3w=IGw8%H6b=y-f4H&rG zjY6`|jyk#gNw5#e&}$orz6DETdO#sV*kODnPQt`=kw7D4rmlf=KMFEJq6^)fK1`;k z)RpB0#Vl!$;qrB%lB2xrIc^Xp!!=;7)EDmH8Vpyn_Gxcu(x}`}9=T*DBBMzU$(%AK zmSM`Jr^`-{9x}93oQ;YJ5?bj#R$fa!5`)8=b~1jt=nXO_e-lT!jgcDpL1D{GUhp^8 z{{a`PZD-ibaT>=j&3s0+vPS506fCB76v4s4V|bt3rW*b^YWxN?2ub_+*~fL`vJn>m zqR4=`+O@upGj#!*-5tTdPa}0-TRX3B6}You;isQi3cH=u=98{3d%v7pbv&bMiF((9 zzP^^x_}9{rdtWnq$NoM%JZQUaIlo_?pP6gw)@3WWTi+M_O%$ysZtTQK;Ve~8TgHTk^w)cO5=_TagF+Q_}kM(@e(BzNKU*?%ZsV7`#!D*HJ|eti2J=6?4w z!+*;^X|ZTzwoFNCOK&*(t>P{?wtJW|ICW&efu0HDho_VZnXH?oXCi!v@hc$m;rkGo{xZf?Vi8U6U+H1z%^F>x$YUNhKZ55DBf(mUYjii}5_eEHp$radsjcLiV-?riI`xlh&&EZF z)x>dD4ridweII{sX}*0t+d%lViDQ?Qu^6O{Rl2*A6G#YC(8-kP&RYt5&)==<^{n~r z=RfQKh4NltqoPTHGc%u4J3>8QF%=7!f*;wwxo7}Rq6)w+jVqsAS8WH-7WZ&`?>`6V zj{|&LaBQzR=|AuD!13ML_q^sh*nvKCnP=?(BQg13{(IlOh5wYAf@dzS?e~Bz)&VJR zZFRv7uqU}+&PJ7~LXF4NjFgtoM0qIhCAWj_L=!qxi99tq3o%L)HLGPY9(kGOqB>+t zMZfr6!}-qbxaJNsM_1{VOazcq$*RlvkZYe~?@Kb5j{O3xHLNj7nut|@%iPp%6?u=n zK3fDRZcbK~$Ii@$Q74oE(%lB{rUQ5qrhD|%+Vo&2{Xbo-m1a}6YZhoW_zu7l`*G!f9h|!#)&M*J)Y9%65)6Ylf?N1fPgOQ#^vuLnEMEf?p~MkvtZRL< zK(jGET2x$tg==7M+CQfT7dVNTkG=JI`5c^n3wf5VdWzmWT#aO54=uum7e6dxiQm%e z83Tz$DN0&6vv!TdO_DM7`eIuAkD%{H&A+fp57QRu&OR@F3L(0b6IuVhKzQ84=dNV| zsV4=wj+fZ)k&#*5uS?kvxXF|I25tog?OP}wDnJ=7&wUxCO zI;;2VJ*3sCdbKK8&V{4r%Bk~r_qYcaW{7L&?Z>~~9?=i;^qV_2+BX{q|Eop%_a9}~ zvz{OOtN_9G`;@mgRih`;vOi3p0-w{tYvo0Tep0W(^dkfRqx!Qo=_matgKG_&a&x6@ z>LgFUT9jg~x3%!^aK2;>&&~bH=1rgp%Un%7e}EY$aqaD7`m`3;FXxip)>c@~M4&4v zzkcFaUY~nv-C^~(Kik_m(2f3}z?`0Y;2YL2F zq8}3MJcfLdv(=#9;q{qam}Mm}c}+IU5Z5*P^9lz0)RUvr3(!n1n^W>zWChaM8Kk+c zxoKa;qWGwJi5WV*zFw(&zTJ)vDOP^qB>7#)<7Jcw{{MA#6>d$qZI>=(0#ec;Arex8 zbW2KzBSczilz_kpLHb4MSLqliHEP!cgb4@(mF}1u?HIAqA&mI;^Y?w%_j}*xKX}e{ z&VBCZy6)%PdMvPoXvE`H)T4WfCVr&2P-bX|umFD}k?@q!i}(F!osNqRXfWxU zwn9^@P0dvshkvCE zIM5lqHKyT|6$xi*kqEe;R5(@Z_jnZUweL}!Hk=zy`X;i!+fw7(gnc30lD`@4CBzHsqQ)QTH5p3HZJgW4XZ z^I&J8uI{*dc(<`%T^Ga{AzAjcatQg}X^-zOJ3Bk#p;Pn-A~SC&AOZ7-TX2+>{#akAbf`74=*e~wAPWLktJiZ<+%Fs2iEdhtcUs9LW1z--4R%^r@7fJ zf6D#F@p*c#j)))$#OIkT`*tl}qcs#+{aubR{}_l;A=*6}tfx`8UyP2e#nMG`oGC0OLyJXTEA zCL;X8p?j6_cN{E}h4I}RTB{*`o)jp!PARYP7ocYgA(abtY#hEkp2YTjBt_GYWL$ro zrf!h|`>gwS#Kg*vw^7i>)TcBhdcE*xTCa6L_M-{q}d-a=r0(>>~nUh}W znh2rHH|6~2ijR*_Vk>l-;R9*RfVjaY}nXg^c97Lp$j`cI2P-FovEt3 z?pU9|W(FHrwDTN)B@{SFS6zE1XpmsLVN%1suk?!Y?Sl#9>YKNq9;%ZlCXK%1%3{rY z*uWf-@K{`zDus+$fI=^pj)`1Ii^`w&bpzsg%FF5dmvH7hXaHsEOY0=uz3nn}irKE*lRIE$ilOQyZn zySV>KP=N^xzVXTp_PI$RkMr$yMq`*ESoHw8h{LoaaXEqvw8GlsV%_3yAQ7pgcd#mW zU+$n!TfzLC|C-68?wc2V?w>XDP?(>iSTRpgSkz*EczrVsuV3(TH+zXQGtifQxa!r6 z%2sz(on^rJ>7ZxVB@!2;u)m|J{zi_q_fnzXrdb2jQG{WMVe%`3P_81cb_i&{>)JDPw zX6@fYRiSzQdz>}Z!A`RVQm9X66#%ad>Rz&J&F?rEr<6IDJnMn*U`jnJ4{O`^B2d+! zZi^qn440Yw|sh&L8dd9d`$H?lBecpouQbklyI9hnRAv>1L~%Pq~BNlNZK= z7a{KUK1+#hPmAt0^NtO)wuWv$GEc}sjsPRimJinkMWT3@wyVr<%Vb=ZCEH$Q=Jv8j zW_kkoEIxs=%r)|COPw$dwn_9UGWlNYMJk16_N|^UbVDh*FZ(@OW+#`mt8^7?m(@Xj z%LQ5IDyHDD94Hn)eNx2NP`?p3%iSiQs&a&^HF@9E%YSa$6e3u=LS0fE1g2+s&}nY* zgI|1H1GzDEa_x%^&lUDzP*6222jtBqW>Rl(b73q_vi$*oX6F4qK17w;=xvq3tfNe_ zn`JWkNwxJC@-FnRv1x6(N&EWc6Cwkm&Cs=MOWf}mKu$snXK!Iny8dSYa%J^pj@n`! z0`*-L4Mus@O|^yglG1fuTuPJo5puzMr>*4D68e97{$Ip==!+sqdml!igjw`V*`1ua zb9P#+v>s`iEODsBJR6@UEIIdG!84dUAbjrbT@7&bc4VEQw^tJDevhsl;D`UDJI3ec z8XI;%P>AqMt#P_AqGNo;Av2ykIk`^>fd+XmEbFMrZPv|hjRj^|$WJ7;M}@GI=b?Tk zw5R`c&FUl^jySbkasuw|^*S%k(eXgi4B`{buf+iymU3kQxsx3GPp+|186v;M_o*Qq zIs@;K5(f{1_FjwQ%`#9MWMtH_Mta)TjRC2@7ruIruK6|<0EDxHYA9T1xs{F|m(8CA z8-;Zq<>t{CQu%9=2d}Xxm=QNNv-9J`ruO7k?d1aEHzeA~Xg3M1FM ziFBdV3C58@mV_{lk3s&gXA6e$6I{Ru%;KChhsn5Yi2H43x;uV0k=uQ5c5q!e9hajT zL?Ny;+W|$;)_Ki*94?4(YBLH1ay(43>LRWj#IlIH@1uqs&yMU1uWS~z++Edb4wGT; z1%w)z|IIkcL=PJ^qokRU&hWmy65>4kb^S+~2j|B0A@nqnls4h9s?NNBoehokI#64z z1wyf@_>)q};7jeXTe;@3A-F+LV?`Enp}-?5$&J%ZbVnR}z1@{$^r`C!mCcx+PuxEh z7E2c;K%unGXDgpqu=c`9?*~!qu=*#TSZv;Md@+6sAA3~UjhKH+dgfGnDqDT}c`vvh zw~yQl*E(Ll!E=A<-S{cQ8BF)tpQA{@`q`*dy|CoZ>Chk9N^(s9>OIppV(pk%SXcmx z)~ikv9A3P9uE@y{wAQ0jr#~YKrOJl~qB5$RybSI{k>{g8JnmS5)-w+mUod{TBAI6t z3nyiv<`1o<&jpQ+4&NQ$BxKHXamsTm58-dUII%3BZ`;B;EFVuWfof-CLZtt`abJ#u=kl zVyr!#xGo76N$Gv&rtN|+C89N%=XtJ6bZ1Uf&v4*4b};69UufBcx*031>+l={$?xpV z>LDKZPn+F0j`f|X*x>H9qu;*^L?OFTra(K=R2*+e8)mrDvW{!R@u1EcFd)^DC@rhWe3-VX5ux(NrJ?bI z>_X&;SVCBIwPnhxa>sO%(?i)p^A83Pk1*}BVMhTin~xj~6i2WB;>2zYvvSGSBD+V9 znh447{w^qgx`jY)`l2ty4($p&Yq8W({s$a)$Y}!%n&>Od!_cG4a-S8blt+-ozbytJ zy#yz~FTsTVoDB8yhrp=p#Yn4=Z+1+ev=wy>JlD`gB6u;JT z-rtUoYG8Vgjm$aOeW5!h%dkqH(?4pPv#YG_b)VY1D1mbRUj)TShOPlrh6ecZ918LB zitym7M;Z&WZZz@&qqSqejp7k~339CINADOuy0)=yU$dLIkGcQJ0FLr%S1&^P4a^NC zBGd8+y@nJ)U_mFXDR_-Be`|WI{|MG=eXQajKR(GGN4@-;^8znO@j>-utgo!$PoFem zvShIMrZlX{y5v8FgQ24+E{9LMWS0c=CL)d>>G(IiZ(8FkFI*HAALJ`RLJI7iqMFsz z)kRX`W@St?WJ1ubSe2l;MymXkAqCGWwo*)woyB`ltpx4)SgLvvZlkf}k!H9vXA+f2 zLA`Ir{+cGSFEv(!!TWxxM*VM`Fg=&%P>~(k2w%07qQ>@KV4!15$rIu#thhN%OTp>~ z2c+G2{6Z< z@Y)+0ggY8}@EA4{k2Q2xGBZ^$CKv$#zPJ!q1%j`SU$7CuM2QX82>cFzj8sx!FA2e$ zDD8p|R6yArRxtMu!YSx!>T6)Nx9KTtH`LVD*WG4lsIH)+rEP%JGC*qUYG~^lZPPN+ z(NS3ZQUa$1xqBELv9MY^3p|-9od^jDFhU~3!^1Vhbv6BiJdxUlhK5Kj9i)zq23VmH z9N`z@O3?5NR$hW&feXe4c?E=c`THrr5MAB;LqklI0HzBh_y#P4^$T8P6JQvU;2MC` z*3^PYVlQ;ZF0Ts+4f0_h?v6#`d~m)vzmQS$=`X=v-gOLcXCn15Lcw8q^v#Pxr>*d1%+;UDDd3TXE7 zb@jv{1N=Od6qY$@WbW_d9|R5t*y*nPe4n}b;UIqxFCXxS;3Io>E9|p0*Vi`G2gqw` zv(dG&G1})B9OCMS#qF~&Q3CwY^zw2Ccy80u(s%XHFvRK^XlNO1Gth9w>bh%qxOreb z+zqhWIyn8M{TBY%P*@9=_PhTd?mrad1+383=f4aGwoO=ljP`m31HnctTF+5j;NovS zUJ7iDF>=MimSCcUg;fCOuC(~E*MFG<3t+=f-~iBnqZbRyg8e;0!d-)KyF3B6{xhnF z1o$Iivt1ws`FASWe_LVVOUr@ZfPYCB*p9=yG4S%3^CkKbg)IN({#|WQ? zI-=e>h2{(duI1tWjr&YIZtV-#>vjU=>8NzKXBUc9;to7`*lM;;dfm>7Rl7z{h94dd z7rp3MYT0YBQSu`9-o3l|rOM9BXezDZ(&4|=v)}2rfb2_=Kg0jb-}`cW<3L-?lUc@& zfysN3O&=Q%=H8vn9(S6tG3&^(IdH%S_T(I8L89;vQQ+J;ICesu%ilQ=Lhwi2>VJJ- zShRBK;-dd(>A!%ta_K+e?S%dZoh6?Cf507BTmC~m`7a3n-@^O9)4Ts}J^r_({3luS zC!N*K>F(iXA&a+q@fv((UQ1EL2%vVZS5Ak{5OE$J9;z7j2WoEV*H?a^U{`!OIAw8# z0E!=_aQvJDKMHIBI|NXil7BsON^)ipd2TN4_W)04;OC3Kz&oz!p@_K#zTnNAlKl3& z!M1<(3^uD^;seesZ)czGB(Qk;!f8(>mbQb%itOboZ0Oh6&x%fp?n|ffgYy#Y`Iok{ zk$Wnkl(B+(g?}thM6E<_#c6Eh2xk(PXk#PyTESg_&6)+|dL)zLbo|AI zXLvKribU`e<}90YX9zrt$idHm6)R4IMWujNbXzzL76d;k(OzNk`5&jltWiYA|J&0O z|8Y7v^)JPMPg~+7fG^o2@hfZodS0e=C2RhU91z7KXW7dYJ^qHAM?9c-K`UU^Bs%=c znyX8!SskYdc$R?khRTDd{X|kizxLj^7R>1~Q?R z-&ZiieS@Q{<4EXAEF*Z+<06CH9`bIR3_NRf;6`nM2BHDBHg0u<5TZesm>F@=M4LxU zNX!}%r!4=$n)2#vt9>Xx8|kiXZ*bFDPLLx|2VO6DwNufj(ztW~e!0U%&dYbfw(U%W4j-lr1vE(wSw z9klobsieT08VKu`yMHCXJE~$(8Dryqp!Q}uV8;?tH_H+D-H^94B;)W>++~RlHn!sV zR%;7RBJel0lq4Ully8RsN=`i-iHXpM9nfDY+hd!+*=+H}Lj8R53T+q?LCGojZ$yV~ z#+-xA?k}|vu;=pU<9YDug4$T!Zax5zG^3#(I4(>HJ~ zUn0tVL*ZX?_$)>-o|2$g0D-VYb^r)KoN}6^|3VF6UHdC{Dz+M8Y(jodw6t4^%4=eO zd_GYHnBk(6$zc2N9$TrN^pzjOTu^aJm!YVN7QR$oA->-M3V%vaj;|?ny0T2U3g%rE zu^;hZ1q9fixUZ)eU)>N?k*S0cuv3y;XSq_Qu=@U;5SR+_!e1n|8``SlR%X|Ftad@$ z4}fhi)i4onjd}=r`ylbVe}hrG1Oqk=crgs^pUe@boX~eG3ln2o5F4g0CgOVLAxQkD zg}Tm#6|(LXM#)`IF+>ZXU`M=CH2}j_ieClu8wMJKjzQu;Vt>gDJ{^3tOq3A(Sir3g zj$uBLT(n?#QH3`a63^C2M&*0`wcARHV$A<$Vpl$~-{EhX252MwBZZyAmMR@BLI$|4_V+`oF96!UH%XF+E6G>u;>2;E=~qy)q!6t_Q-*py2wzJn7v;J>#j%jr_Z z!&}we1>g6c{xkR9B*Ffq9sQbp&rx$~t+#7Mq(J~nD$IaL=0~fwys~o0slNSg5g6d6 z5cMg*?-1lYe(K{Ol{~yp(>jd)7CGgdEN=Vu$<~N)YbwcXz0cu>{Nw^&IxBg@Y6UZT zZ=~U2qgOrcLz%{sCUHh*Vfor~N-9YzWe{yMH$}yr409?fCN_CDaeWL<6A?m%Y{YbY ztka$f*rUAH3_;sCy*Vj3+||s5wz$_>5cTvj`?@Hm##Bo2c3DB*mFv^ir1|owf0m}a zkGb|PN(1_)ZD0=xT8>t#{85-&(lXKc){?Ea#?YdvlO8J48tUyh?PxJ(hK3PoM9T)w z<{m^9%lAW#=-9YvY76H&FY>_9!@1Z8G-=p!fwsD@FLa_+Rq?17-V$M`26K}SPVKq} zT!Ht;LCKiPE@LRr01XMo&_9Lgu5XDbKMszRj)BH@9)+GhgpGzA{a`J{=*CPiX&tBC z-JF)o1(T^F1lfEsN`<5yV&DgHSAH;Cbll`d<5Gz-xU%R`GrnLMbL#?^iZ)i4uuy3|R#m8&FtdA?rV1ZSfI6DJO2YHn%$pGkI6Geys0G zQ=EkSk@hLeqC;6+b_hnlM!lEq;U6YDhKCii2jo@#@kgOCO350LA5^bzGcL`Ay+0o! zQd$U4`>xYD^ zmHV4HGbAR8DMd9j*2wA&CA+wqgX=@=yZ1IWJ+73ZN&!sS?qW<`{oVa&Ajsl#&?xGZ z$jE#NF}*)#?!ee2@4Wh-Mf;(m-TAZYDz_`27@Tc0++Y-DhVLe51WBayIput;oqT|W zT{8iA2e)%}W!&U904iRY;oH*pwC~#V|kSwW#S33`5El^8V(!@gj_^x8VM4MIL6@sP>%S=wdfPjof8 zD>#}+#9eb4*e>$r(CtItUKY+qnAg#q?0XJVKO|&6c^t}?2HW+$+YiLDpLvGR<-V`Y zWumkJL6fM%Nx4Ok2O-VMlCdp06}PA84ZUuFoP zEVBpZW(}&F@OOsPFb-BNkV8Bz+>727Z93xbCra6k-s@4Ov);sP$EH*uH_2PVsGFBy zui*sPZ)aGoMZdy)M0H8YJLDkS(cWulR6Kx0sGR3yF2C%0W}Dm*~|rKsj~Ejc%D zoU?9z9Y6$*2)Nb7;7||PKM%PxaH^obH^!70v2{8aK}sBF&YL#U6#=UP<~=v!@n|lQ zjcwIEUAeNQom6qktJunlr&Ox1P4%-o3t>X~GFt270%N0s;_|9Dc3pfoCrZ(ejZRse z+m?{Ffk%D)__T{`sRuH$soG@oh(9Tu-hLd4oNg^f3*jFPeEkrQoxcef4#yyz8B)Pg zKqU~QhX_)*@ndT{#=64Q4SlBks4P>f5^uyXYW z=X#p+ZLYj5HLg155kRZk2vJ2+07a0rYkSu8iFyMZko>Jw)^;#YTo6^9`azzv&ighI zhc#yG;mvQ#x-%sm%q8FJjZkCm?r{may*dQ#F^OJVJv?d(>!v7(O%M%0o}@SXjY@#7 z>GfeBl2a2yZxd}_Pgmag!%P`?$Cw9b*-|^HgQMDE*14NUL+4&dQmoz@JagEb0}##-oAL>^KguM5EW~8=elL|zTN;D zAZ-;89VRsIVBQ~wAYC1ga@!JTwHXuoQ^rI$Ai1;jTxzIKH`W=6v5CWuRYKZ3S|!?A z46n%>yf8b^xsd(=EJ2ttwA%hb1uyI}Eb30!$;a&{Jc8|^Lw|Z+p+I9Jru8CqHaWiF zyYBYU!p8@O1)?j=%VjAuiE2%Coo%-3jpQ8}ozptZyP0gFRWQENFf&Pggr*tVP8dx> zwkAI>Ig5wv);Oehs-irLh%+}H_z)Q-(o9YYNjvtqAFEhU1{?MNZi2Zl9zmF&Z#PL;)t&s}Ts?(qo$`vnNW z-UL@iI_Sa$V|TVU6gwg{%*BRvsw@s8$k5+26St8H6)_b#?fPL={I@jr&@vK@DG{{7D^Kr)_^!gNnS8IKkBju4|yc-Vw47X zGPUcscq}7Y=jbwukhcN|E*}V@T2BMp_|v7EWLf~O`#95r zE6?AddwfINB(Z5$`YumOt499dWJ<^Fcx<@qny!b-x2lmm@K(*dWC5Tgf^yZ4c)4eL z(wt9Uwc{qA;mi>JE-SA+s3ji#qUEHdY_BS3b4@(fZu$?>Y=5u5T7+Ui``2ZGo7M zb?&@sm-8Z>H+#aT(fr<=e8 zxCKxl>L8%VS&do)thM+Y7R8_{WeA~KbDxRy%@-?Risxl26i14q{GR2_zNycI23R{= zxa{cIH^Qh9y3}Z0^zwsTBG4ksTteRSCwgD7(LpM|T zZah7esDkc~$=xFh!^`TCuF{xxeS?k21#zKa#Sy4TJGbrS4g^~Jk2cW=zS_Y<1CPH& zLW40Cx8r;5OoY4|R-?NvNmZB?e$NYK2dx4-IVE#|<=WCXn_uSDZ^49qm6~``o!zC1 z!9~o=ofzBofQYLJULO(u_>k~u7O94r##H{sy%4vw)0jcyq2Ie$F!$A6U3O^+76-ys^J?8 zB-r6OaGz?@6y|pfp36>>?za_F{8MUD8Mt<8TU1(Ci!nM?5Y;?lXreMQ8QGBN_u*Q6 z+oQdJ)WAc+vL%E1KRU+nQ3-uDkaigcWkzFXC_u!aVhs-qxXDgRAgZ159CJcqaG{NM zd?_s@JnHzVY_wGAd?R(6vFt`nB{Q(ZdYCa+QXo2mDk8Drp| zPZ8tLePz-dq#uo~am~hd)q8)6QOGsp>mn-e0jFR^X#2`rm71-Nc`*Cwl2lEBTT7Tm zRh7S>Y|`y#%mtq;nR5=+V*x@RLen4&Pyn@#hpfv(R&Q*%2^Busc&beeQ%svls!fSd zuJV-^X@6XP894bbn_EA(Jl)U0AMBPk&U?Lfk!P1cNs(g38ZHEeVOuA`+5Cyxw5uju zc=jq0C!9y^kEhYUX}4Epah1@MIGdlO#zl9RYWROIj`^)yI(x^DMWqE;NN{H0m6FCY zU7<`kNe!$XDJ0s`q)lWE4sQ1h0x`u;r#N{5r?`^T@A{gn+h6z#plGJ^h#G_WcNxxY zx>3~o_oG;5z}|r)-!`%HC>gG2An+eSW;_UzPa8;v7V*Snier2uqCv*=$^cJ(H4ghE zS@&|Wo_}v|eH#xsG_QBC9i1I_x-Q(SyQ<6JJR7;Dexk}0Kg#V4u|IM%h_Qe(ZB9(- zPYQLZu!m&Y3}+5#q30A@?VuuFYHwC#i)~Kube4OUc4xC~d_g);$Eqso#GK6Gb#iUt z6K)yvi1|A%5i>F{weLe4;Ns2XsYMCLv1q76%j;X4b2{&8oeL1->Sp~@~#Ud z1Zh&6$$^ek;r3<_xJ;T-hn~esRjo=LQi-2s&h29L64~l<4t7r}m|_hKj&(eW{d;m> zJJUvf)Z1q4t2mdPJfm3n{Yul5fW4E9olfyufBdR0~{8ClR*Up># z46O|RgB+DNkUF>+=K>!9IKcD_H05E}y(s#D>W>ek3@M*whGoY+0VU+YC#~yTQa@bw z#CN9FU3S(jePf^TGcxcRH<@*r8ElUhB1LX`1;xauw!*2qDEto?M#aL7D}ci8kdIPf zOsv~wn)zi;jN)y&My(eg^ksA2jrVVT=R>;nyDs@?0=0HZ+CLrqj(3<=96$Rc==ViS zyQwQ?T`O9cJ$sYOPP?FF6Ho(AyWYC)m`c{Gu0tFSx!+^NDT1t6+e+H;?$~I}TWv9p z-C=QPKz7+3zF5s;rq16OZCqT8!pMhdb3k!~5J{sv>Wa6r5DkHi-Nu3ooUI(JV%gGj zKFq)MWP;*CDqyzo7iNsX)PXxK9wBW~e15arVfl2mf=e8CqbvN7V0)dK)!bqnYP6=X zb`_$*P>Ny&SAT&g8>E?1$({9T(;XaNZbf#GSeHg))>2-rMqLV@*rENf%~aXJ@jX5q zx0YfmZ9qqEd?+~ESsvbf)y@=-%lJ_j%rF8n9fGKoK-B@tbx;_9=^kf{>(zUv`ER6( zNSoXrnY?nX%LPGtOSk{7@0%5E79c;b|7=!tTKB0CjO)OAsL=7ZPmC`-@v~txgGE;j zvQ%$=aDe&w1Zgl=WmeTt!bZ=HR~Vg5gUx+6 z`nn=-eBUEnm(sO~uF*FmP8qzG^QA1QVtt3@HFRA0&v|3Y@SFiC95D<__6@5IZP<)& zFF4A@xHr>TnZ~w&g*c+0n;k5@+JeDJ%H_+C4v;!;2NaylFL;8W)#sazZ~Z_h_M|)L zg$_Tf-WZoTsyFopnl{)49jA{s0_3C89tck5J~9r-lT4;9>VJr;n*gZf2WK(L)U-eq zj??ZSg4B>9L5OKujjED)Xykt>U^Mkw*A*(?u=V7ossb@^&vaHszN;7>-Jw5@|8gsS z_Q;%1wkDewFlRaKA{HVYZgSzhdH0c#-33Sl>Gk+y^?;aI#qrsqh@d^)^U-zytKfoF zvgIn*T!aSrh8x!Pu5jeL6NvrUUt>Di$^=5X*z6zZkx3OydU)e%5vROxyZAqevmr;i zO=HYqIP@zO(gv}7o{_?@S5=MEK!E^cukb&xV_kv1%z{#SJ5A1*U&)XKB6g#;8phKm z`gRY0h>xE=R{3oWnR`l8}#lh;oUw*ey#jVBg&4w!8X_;J7ONw`NHa>nm> z7m!PXika0!_mK%vN_K-Ar=42o^f74bJc7m|MHth?DQCY{b>dg&T=MBEqFF;*Y0)`a zjo~NOkHuuIFZC}GK&@{-+jJ>B>CKNR=Zg*HTYv$B#$Xs+6q;H6tZI#s!Nh0!9sOlGDR|}@3C@5)nklV>`O<0+dl|cTB2NDI z0@bg0tbH%JHpnS%{RLEl5K8~W_}Ym0;SYk<1#$AF1>k<-N6|VmM1CJx^q{7>ToFQ1fSN}y` z#iJc?1oGT0G3v(GLS{O#i7_{02g)PJh+9OQvXNQT#C&vdv!Nim!M6wnG(z85+#t3j zb&6owxfko2QeFK`n$xa@3vMt)#Hb*IK*Ogf_SU=m7yPWf5H#odL#ISC4vA8HECxK$ z3Ac{b`f@h&mVDn(-y4r5OeFfXByg5|Z*|XPdyFp*s0*eU2509(4g)1pstdT=_a(D# zOcsH^J{#sfQZx3cvkcsD?TmQZ^Lw97H88#b?H88Pc^flRpF2mxz)z)9aZg-4JIX9=+*h~UYd z&ru+?{YpnL-<83<83N@;`geD#Vn<3&)TP2<-|3TVeBObcX(sSBr(oAQ-97oK{p4?Z zIGZ)=Z`JU<9v7@`<|dC-^NsA;E`&1GFGP%`@uR zx!z6e`=)P7V-@pe9GTces6B6tiQUrb03j{4r@s=wG$ug)PuuB*(=(LhkBAImS$DmJeBY3P4if}at0V{x%m8J(^ zrJprp-Q~=i9qk)hR>7w4>>%TeF~LN2BxzowEayW8H#z3A3%C3>`ArxH^MO7=F>i&E z3tzHv8z?gbyRJ!W#hoiD(=^b61u@@9BrtpS?cZb^mc&*4Ef0wi9-5ci5dGGv(su3u z2+j>QweaPaJMQS4hXSYnfaR2(VZ7epY{IsQ2u~H{?_)8b6$^)tg{Rln9juVi1w~Q5 z{5UB>z;BhGrZhR557WnoY7#?F5pi6(spgz5juIh{X>SY56asuSLE2uKL*l9%xp3BW z;JhsB)&(G-cc4*RC<-n=Aazo?2wEBWD9STs;E@f`oobe{bRp<^`4Gngt-6nwU&q#c zO@s;~3|jZW9=B@ybj+K!87G|>h+5(~7Sde-u!FN^08RoFzu9~jj0|`j-o5K^zc>QF zkrCymg)vG00a7{n0XI@#CsZ6}!I%2(6*M}1pQ!iUH%H3gY!aw7jdSJUBUD?iE(A89 zRi6m=MnDaAoj0T>u>yHFhIO02RS}YOL&#HD10gR1Y&bJR1)@=8>XmP`bUK zE3^O(9djs05n~e>rCdM{_sGlZRg0&Np6at%)C!e+kR3>H+Rcl+k{p=#3wK_Ps+^7U z)pE0?8WVsN^r+ABZ0kzDmi@`u_-M5}X+5V)0?@O4{`81vv5#FwI<`r9gv5Z50o>3^ zAR=LF*il)M^GVmfr`d7${PED>hEv5g!IKh*2JhU22J5H?*R|zHA3){57!W$tQT9Y5 zzSm&W)ToGX^bhh$@*>O5si)*D0IMVIIrW?S!N%&3CB~QyYmDu&5s$NpwtdCL8v~qk znntmcpi~8o8tsQNC-jjr&2a|z=6`6Fyxa`JwN=|O5u#@kn{wawd`jNTw#9gn+C~xH zOX+2-BVA*}VsLAYWP<{Ht7>CSO+4-UjlKsdtrJ3Abw7?E@bBB4hRW_>qept@O(P1} z&H;4qKvYdQLriCIQ3lVnu|zK@%CDgmC8Cf#)V3R(8NPk8*%?PKZ0WoDMnLu<+n_a!!!?oRB0{pyK%%yNbTsS-&$B1;<0k+}k_l+s>KL!F zhJs|D18c|;sgM)kz1XD^2U?54^FO~?-aB_W&r1P=3uLBhOctNiF$fb1o*t(i0fn>2 zU2i|)U2Sh@jTHJ(C!WAPD$t?@uy%tY0XMm`&_QyQe7g1i>DyJ{q*PDM0~7N<0>DLx z4rNMl=ihjq@+q>;?>K$Kk3re;!F2_|t?l!lwdZW<4!_*u(}(Slok9%=!Lc*Y6L5u{ zv*$-mn|2#jq!K0xW2+Hr4dW5!BTk)JJ}MXo`X_oW(;$K4=!mvcra6bYF{V;++OOLn zHtc-r_$XBOXJ<^f6ijgppm-bbk=7Mpe1jZj{5G>=PsROc${#L+T}`#D50&7uO>LElGrpo zB7W|3QH~tPqn!ya%Z>60P1Vj~Qzf3Bu_nvr)=vQXV^_jyH~GZ2 zJ}2e{Y0#OERa6Uzm!zP@3U3Zfi6TfJ-t~Wc-&Lb?3v0M3KwW-+=T@LW@;|N77v}jg z2IGFtcUjIkR4jQaos@J!`dyzmgwH6~ea0j@I_Bmf7U?4ZDGm5J;8+vPgk!R%dVK$6 zy>mRi|HK~Ow7Q8q(5SIBlsOjbByNy09>wyAJr^g5T(rQEvr7VJ^~`?l`@K(utCpm^ zfBtsWvxUHAAQH`6;t0viX|s-W%anD9kwOnh@uqwaLf~J`jut|J706bjvP~oYDGO6+ zu)iM_MBtg#6LxX2g&xEJTL*_3RN4xR5(|5X@JsX3IvDGB%3~XY>_8_=E%f!|p)8rf9CXk%}%@ zDMP=`eA0-x`Bj@`Q&e!vZuXO=P;`gJTFRXYq^DKqMWvZd32dJVk07d`!3fYMC+FiP z6nQNtTf36}D>M0gz=&piN0{Z~7zkTd7$V0x8 z+60F;c-M2F)Jf~P4o!}LI_51&(-%@aDWlI}1UHRkx@8@iiED7rh~BjAx37;9jK*xnJWp*cIo0ywXuTXr zCJWBAsD$(6pFtXU$H>!OGKPVx*+T!YOL*?}4ln}+?r-By=4@!^MNst*l*3%;#iUph zXvY>|H`^K!K_2pycH5?D%MqDtSMZR`vlhI7-KGJR9sWHAaoPdG?bm#U)&8X8jmBnd z8o0^HoduS@ai_##6akXn_=><)FdL^oy_2Z+8sj;|L%x~PcK2kzW|Y5xXlnM{uFtvn1{nQ!Opx@Kz2GxK^!5E!iFA2S9y z?X(_5X-zLjXBpj-!DOOscGFSW-Xt!0?4^PXt9+U+S6%dNV)47#u;21rM3Mw6!vKUN zMP79gPO$~UQbRH}ZQAJX)5^6Qfv5Ct-%i-@08Vgl*LtK~+M2_C8m4Hz37zGunoWkm z6w?-ZTb?RQoOzs}c};U+ga8f(U@PcfpMTKiG5-4kpc0Ukk7OQK$E0tdyk`wVP<25k z#x2}MBiXs_l4q6kW{mH|yoPYBMt1Yh#q#nZm!6BleT-vGr!v;xcWF*5dBm)_PSl&y zHdY|S%%PyIrkI>dOEzsFc~H$hIFjS+ibjE&KaNc<@2a(MVR z0HNu1V1>t9vwdqQ=LJ!$j5b9d$l)AIh0tjyW9(-!v)g2D`bvBna(4p-jbr?U2#GC$HL`! zn@#UBHaZ#|&oa*VfJY}i+!Nr~d30|2_o+D~nq3`P1~EB^h^=Y4}BE)O({C zK9FuXmJr5_62m{=7SnK2xQ;^R9M-?fp@*aHoujF`@8s*?Ckxk3ATh4 zOOJr1nTe>5)o>>b#sHq$w-f_`$3Y9SA1~;7_O3u;zYt1}pyU>+wh-AZVZ3%7#hAmg zb`W&?;SgW}L2=4vBTR(C`NXDS_H^Ll$TG-j&V#|-ElPGfxWK#^h((rP9pKrJjPk8Y z?y*hkUBCq%5&2z?Vr*bp3kECU5!PkcCw!qX1qm?{6TpU}OnB%Xc%64ML=`X=pS~V= z+ZA|otBV#EfrcDBG_ds2Mh>8*Ldh+C&96(1zyxukW$i07K;j}xU^GHZF%eoxiRu2o zk|;_!4P@X0Qvwz(Qv#-)-EjZF0hobW+pqX4vi)Q$;Pd{!gwn8U1=uA9v1dH~0Tym0 z{R8Zh`~4Lx>_=bjt{qg<>}MMOjXP`*smPU_1dT5+*>5famBw zz31(p{v{=T)NV;)%0?K-LQgU~XqvDB3LHnkP$potSP~tKGkjq39&%uu>`HEc z>1BZS=M&K~19hS+)oX!CHoSiZ&P9#x2Loq|>c7Ok<6_>jEV~Nv{Ds+O5GH^SwMcYL zbn@GI8vMEfY%Aae2d+>H9+x%w+A9oe1hY=8VLHTlg-H7m#%`zZd3I=PSjr2-OLA|O zjZ2%IcdVGk|FX+8M_8;ehi18KxqRRyh=-yoPIZrFJJjHF7iPpyb65zrkZHSCypB+d zFp|*7R<2pHdRV%rxtvZl7A~76;8T#IUujkCmSuGR-@mfhunT_AZQ-S@fAPlSzj{&c z-@g9!fA=OE;(yTjH}9+d`}a%#h4dC)3|uLa|29GYcPq|{7kdAB^#8DC@m=Ttm#n!S a$dV81ii-LQMFzq?WuN6ii~QY~lm83OC%|n0 literal 0 HcmV?d00001 diff --git a/search.ftl b/search.ftl new file mode 100644 index 0000000..ff56275 --- /dev/null +++ b/search.ftl @@ -0,0 +1,14 @@ +<#include "template/layout.ftl"> +<@layout title="搜索:${keyword} - ${blog_title!}" canonical="${blog_url!}/search?keyword=${keyword}"> + <#if (posts.content)?? && posts.content?size gt 0> + <#include "template/main/article_list.ftl"> + <@article_list posts.content/> + <#include "template/main/pagination.ftl"> + <@pagination method="search" datas=posts keyword="${keyword!}" display="${settings.page_number!5}" /> + <#else> +

    + + \ No newline at end of file diff --git a/settings.yaml b/settings.yaml new file mode 100644 index 0000000..3402805 --- /dev/null +++ b/settings.yaml @@ -0,0 +1,1885 @@ +basic_info: + label: '基础信息' + items: + access_key: + name: access_key + label: '<必填> AccessKey' + type: text + default: dream + placeholder: '请输入 Access Key' + description: "需在博客 高级设置 中开启 API 服务,并使此处的 Access KeyAPI 设置中的保持一致。
    注:Access Key 用于主题中 Content API 校验,填写有误将导致接口报错。" + small_title: + name: small_title + label: 网站副标题 + type: text + placeholder: '请输入网站副标题' + document_hidden_title: + name: document_hidden_title + label: 离屏文案(离开) + type: text + placeholder: '请输入标题' + description: '浏览器切换到其它标签或后台时页面标题展示的文字。' + document_visible_title: + name: document_visible_title + label: 离屏文案(回来) + type: text + placeholder: '请输入标题' + description: '浏览器返回到当前标签时页面标题展示的文字。' + index_inform: + name: index_inform + label: 首页通知 + type: text + placeholder: 请输入通知内容 + description: '在首页显示一条通知。' + copy_explain: + name: copy_explain + label: 拷贝说明 + type: textarea + placeholder: 请输入说明内容 + description: '当用户拷贝文本时,自动将该文本内容追加到最后面。' + night_logo: + name: night_logo + label: '黑暗模式 Logo' + type: attachment + placeholder: '请输入/选择 Logo 路径' + description: '在黑暗模式时显示的 Logo,放空默认为网站 Logo。' + page_number: + name: page_number + label: 分页页码数量 + type: text + placeholder: '请输入数量数值' + default: '5' + record_number: + name: record_number + label: 备案号 + type: text + placeholder: 'XICP备XXXXXXXXXX号-X' + record_number_ps: + name: record_number_ps + label: 公安部备案 + type: text + placeholder: 'X公网安备 XXXXXXXXXXXXXX号' + website_time: + name: website_time + label: 建站时间 + type: text + placeholder: 'YYYY/MM/dd HH:mm:ss' + description: '按 YYYY/MM/dd HH:mm:ss 格式输入时间进行倒计时,非时间格式则直接显示文本。' + cloud_by_logo: + name: cloud_by_logo + label: '云服务提供商 Logo' + type: attachment + placeholder: '请输入/选择 Logo 路径' + cloud_by_url: + name: cloud_by_url + label: '云服务提供商 URL' + type: text + placeholder: '请输入链接地址' +basic_style: + label: 基础样式 + items: + load_progress: + name: load_progress + label: 加载进度条 + type: radio + default: center + options: + - value: none + label: 不显示 + - value: left + label: 左侧展开 + - value: center + label: 居中展开 + drawer_toc: + name: drawer_toc + label: 侧边抽屉式目录 + type: radio + data-type: bool + default: true + description: "在非桌面设备上,显示展开侧边抽屉式目录的悬浮按钮。" + options: + - value: true + label: 显示 + - value: false + label: 不显示 + enable_image_bg: + name: enable_image_bg + label: 开启博客背景图 + type: switch + data-type: bool + default: false + description: '如果某个选项的背景图链接未指定,则不开启那个选项的背景图。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + background_pc: + name: background_pc + label: '明亮模式 PC 端背景图' + type: attachment + placeholder: '请输入/选择图片路径' + background_mobile: + name: background_mobile + label: 明亮模式移动端背景图 + type: attachment + placeholder: '请输入/选择图片路径' + night_background_pc: + name: night_background_pc + label: '黑暗模式 PC 端背景图' + type: attachment + placeholder: '请输入/选择图片路径' + night_background_mobile: + name: night_background_mobile + label: 黑暗模式移动端背景图 + type: attachment + placeholder: '请输入/选择图片路径' + enable_banner: + name: enable_banner + label: 开启博客横幅大图 + type: switch + data-type: bool + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + banner_image: + name: banner_image + label: 横幅背景图 + type: attachment + placeholder: '请输入/选择图片路径' + banner_description: + name: banner_description + label: 横幅文字描述 + type: text + placeholder: '请输入描述内容' + theme_style: + name: theme_style + label: 主题风格 + type: select + default: 'default' + description: '主题风格效果,不改变主题整体框架。' + options: + - value: 'default' + label: 默认 + - value: 'clean' + label: 清爽 + default_theme: + name: default_theme + label: 默认主题模式 + type: select + default: 'light' + description: '未打开过博客的浏览器,首次打开博客时的默认主题模式。' + options: + - value: 'light' + label: 明亮模式 + - value: 'night' + label: 黑暗模式 + - value: 'system' + label: 跟随系统 + theme_color: + name: theme_color + label: 明亮模式主题色 + type: color + default: '#50bfff' + night_theme_color: + name: night_theme_color + label: 黑暗模式主题色 + type: color + default: '#5d93db' + web_font: + name: web_font + label: 博客字体 + type: select + default: 'default' + options: + - value: 'default' + label: 默认字体 + - value: 'WenCang.woff2' + label: 问藏书房体 + - value: 'custom' + label: 自定义 + custom_font: + name: custom_font + label: 自定义博客字体 + type: attachment + placeholder: '请输入/选择字体路径' + description: '自定义博客字体,在 博客字体 选项为 自定义 时生效。支持 woff2/woff/ttf/eot/svg 格式的字体文件链接,建议使用 woff2 格式。' + sidebar_column: + name: sidebar_column + label: 博客布局方式 + type: select + default: 'all' + options: + - value: 'all' + label: 三列布局 + - value: 'only-left' + label: 仅显示左侧 + - value: 'only-right' + label: 仅显示右侧 + - value: 'module-left' + label: 模块化(左侧) + - value: 'module-right' + label: 模块化(右侧) + module_links: + name: module_links + label: 模块化布局链接 + type: textarea + placeholder: '标签|文字说明|是否新界面打开(true/false)|背景图链接|跳转链接地址' + description: '以 标签|文字说明|是否新界面打开(true/false)|背景图链接|跳转链接地址 格式填写内容,一行表示一个模块链接,可填写 1~6 个链接。' + left_sidebar_sticky: + name: left_sidebar_sticky + label: 左侧边栏悬浮 + type: radio + default: bottom + options: + - value: top + label: 固定顶部 + - value: bottom + label: 固定底部 + - value: none + label: 不悬浮 + right_sidebar_sticky: + name: right_sidebar_sticky + label: 右侧边栏悬浮 + type: radio + default: top + options: + - value: top + label: 固定顶部 + - value: bottom + label: 固定底部 + - value: none + label: 不悬浮 +post: + label: 文章设置 + items: + default_thumbnail: + name: default_thumbnail + label: 默认文章缩略图 + type: attachment + placeholder: '请输入/选择图片路径' + description: "如果文章没有指定缩略图,则默认显示当前缩略图。" + top_thumbnail_mode: + name: top_thumbnail_mode + label: 置顶文章列表缩略图模式 + type: select + default: back + description: '置顶的文章在列表的缩略图模式,除网格布局外,如果文章元数据配置了 thumbnail_mode 项,则当前配置将被覆盖。
    注:设置网格布局后,非置顶文章也会变成网格布局。' + options: + - value: default + label: 默认模式 + - value: back + label: 背景图模式 + - value: small + label: 小图模式(左侧) + - value: small-right + label: 小图模式(右侧) + - value: small-alter + label: 小图模式(交替) + - value: fold + label: 折叠模式 + - value: grid + label: 网格模式(强优先) + thumbnail_mode: + name: thumbnail_mode + label: 文章列表缩略图模式 + type: select + default: default + description: '文章列表缩略图模式,除网格布局外,如果文章元数据配置了 thumbnail_mode 项,则当前配置将被覆盖。' + options: + - value: default + label: 默认模式 + - value: back + label: 背景图模式 + - value: small + label: 小图模式(左侧) + - value: small-right + label: 小图模式(右侧) + - value: small-alter + label: 小图模式(交替) + - value: grid + label: 网格模式(强优先) + code_pretty: + name: code_pretty + label: 代码块高亮主题 + type: select + default: atom-one-light + options: + - value: a11y-dark + label: A11y Dark + - value: a11y-light + label: A11y Light + - value: agate + label: Agate + - value: an-old-hope + label: An Old Hope + - value: androidstudio + label: Androidstudio + - value: arduino-light + label: Arduino Light + - value: arta + label: Arta + - value: ascetic + label: Ascetic + - value: atom-one-dark + label: Atom One Dark + - value: atom-one-dark-reasonable + label: Atom One Dark Reasonable + - value: atom-one-light + label: Atom One Light + - value: brown-paper + label: Brown Paper + - value: brown-papersq + label: Brown Papersq + - value: codepen-embed + label: Codepen Embed + - value: color-brewer + label: Color Brewer + - value: dark + label: Dark + - value: default + label: Default + - value: devibeans + label: Devibeans + - value: docco + label: Docco + - value: far + label: Far + - value: foundation + label: Foundation + - value: github-dark-dimmed + label: Github Dark Dimmed + - value: github-dark + label: Github Dark + - value: github + label: Github + - value: gml + label: Gml + - value: googlecode + label: Googlecode + - value: gradient-dark + label: Gradient Dark + - value: gradient-light + label: Gradient Light + - value: grayscale + label: Grayscale + - value: hybrid + label: Hybrid + - value: idea + label: Idea + - value: ir-black + label: Ir Black + - value: isbl-editor-dark + label: Isbl Editor Dark + - value: isbl-editor-light + label: Isbl Editor Light + - value: kimbie-dark + label: Kimbie Dark + - value: kimbie-light + label: Kimbie Light + - value: lightfair + label: Lightfair + - value: lioshi + label: Lioshi + - value: magula + label: Magula + - value: mono-blue + label: Mono Blue + - value: monokai-sublime + label: Monokai Sublime + - value: monokai + label: Monokai + - value: night-owl + label: Night Owl + - value: nnfx-dark + label: Nnfx dark + - value: nnfx-light + label: Nnfx Light + - value: nord + label: Nord + - value: obsidian + label: Obsidian + - value: paraiso-dark + label: Paraiso Dark + - value: paraiso-light + label: Paraiso Light + - value: pojoaque + label: Pojoaque + - value: purebasic + label: Purebasic + - value: qtcreator-dark + label: Qtcreator Dark + - value: qtcreator-light + label: Qtcreator Light + - value: rainbow + label: Rainbow + - value: routeros + label: Routeros + - value: school-book + label: School Book + - value: shades-of-purple + label: Shades Of Purple + - value: srcery + label: Srcery + - value: stackoverflow-dark + label: Stackoverflow Dark + - value: stackoverflow-light + label: Stackoverflow Light + - value: sunburst + label: Sunburst + - value: tomorrow-night-blue + label: Tomorrow Night Blue + - value: tomorrow-night-bright + label: Tomorrow Night Bright + - value: vs + label: Vs + - value: vs2015 + label: Vs 2015 + - value: xcode + label: Xcode + - value: xt256 + label: Xt 256 + code_fold_line: + name: code_fold_line + label: 代码块折叠 + type: text + placeholder: '请输入代码行数数值' + description: '代码行数超出指定行数后默认进行折叠,指定的行数需大于等于 20。' + img_fold_height: + name: img_fold_height + label: 正文长图折叠 + type: text + placeholder: '请输入高度数值(px)' + description: '图片高度超出指定高度(px)后默认进行折叠,指定的高度需大于等于 400px。' + invalid_tips_day: + name: invalid_tips_day + label: 文章失效提示 + type: text + default: 99999999 + placeholder: '请输入时间(天)' + description: '文章超过指定天数未进行更新,展示文章或图片可能失效的温馨提示。' + enable_katex: + name: enable_katex + label: KaTeX 公式支持 + type: radio + data-type: bool + default: false + description: '博客通过 KaTeX 做数学公式渲染,如果文章或页面元数据配置了 enable_katex 项,则当前配置将被覆盖。' + options: + - value: true + label: 默认开启 + - value: false + label: 默认关闭 + enable_copyright: + name: enable_copyright + label: 开启文章版权声明 + type: radio + data-type: bool + default: true + description: '如果文章或页面元数据配置了 enable_copyright 项,则当前配置将被覆盖。' + options: + - value: true + label: 默认开启 + - value: false + label: 默认关闭 + enable_post_share: + name: enable_post_share + label: 开启文章分享 + type: radio + data-type: bool + default: true + description: '如果文章或页面元数据配置了 enable_share 项,则当前配置将被覆盖。' + options: + - value: true + label: 默认开启 + - value: false + label: 默认关闭 + donate_alipay: + name: donate_alipay + label: 支付宝捐赠二维码 + type: attachment + placeholder: '请输入/选择图片路径' + donate_wechat: + name: donate_wechat + label: 微信捐赠二维码 + type: attachment + placeholder: '请输入/选择图片路径' +comment: + label: 评论区 + items: + enable_comment: + name: enable_comment + label: 开启评论功能 + type: switch + data-type: bool + default: true + description: "如果在进行网站备案,可通过此功能全局关闭评论区。" + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_theme_comment: + name: enable_theme_comment + label: 启用主题内置评论区 + type: switch + data-type: bool + default: true + description: '开启后将使用主题内置的评论区模块,如果使用其他评论区模块以下评论区相关的配置可能不生效。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + anonymous_user_name: + name: anonymous_user_name + label: 匿名用户名 + type: text + placeholder: '请输入用户名' + description: '填写后将允许用户匿名评论,并使用此名称做用户名。' + avatar_loading: + name: avatar_loading + label: 头像加载动画 + type: attachment + placeholder: '请输入/选择图片路径' + description: '加载用户头像时的加载动画。' + default_avatar: + name: default_avatar + label: 默认评论头像 + type: attachment + placeholder: '请输入/选择图片路径' + description: '如果用户头像加载失败,则显示默认头像。' + enable_qq_info: + name: enable_qq_info + label: '获取 QQ 昵称和邮箱' + type: switch + data-type: bool + default: false + description: '评论时,访客在用户名处输入 QQ 号,自动通过 QQ 获取昵称和邮箱。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + priority_qq_avatar: + name: priority_qq_avatar + label: '优先显示 QQ 头像' + type: switch + data-type: bool + default: false + description: '如果是 QQ 邮箱,则优先使用 QQ 头像。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_image_upload: + name: enable_image_upload + label: 开启图片上传 + type: switch + data-type: bool + description: '开启评论区内置的图片上传功能。' + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + image_upload_api: + name: image_upload_api + label: '图片上传 API' + type: text + placeholder: '请输入 API 地址' + description: '评论区支持快捷上传图片到指定的 API 接口,搭建 API 规范要求见文档 halo-comment-dream。' + enable_blogger_operation: + name: enable_blogger_operation + label: 开启博主操作 + type: switch + description: '如果在该浏览器博主已登录,允许博主直接在评论区上进行操作。' + data-type: bool + default: true + options: + - value: true + label: 开启 + - value: false + label: 关闭 + autoload_comment: + name: autoload_comment + label: 自动加载评论列表 + type: switch + data-type: bool + default: true + options: + - value: true + label: 开启 + - value: false + label: 关闭 + comment_loading_style: + name: comment_loading_style + label: 评论加载样式 + type: radio + data-type: text + default: default + options: + - value: default + label: 默认 + - value: circle + label: 圆圈 + - value: balls + label: 小球 + reply_desc_soft: + name: reply_desc_soft + label: 二级回复列表按时间降序 + type: switch + data-type: bool + description: '评论中的二级回复列表按回复时间降序排序(默认为升序)。' + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + unfold_reply_num: + name: unfold_reply_num + label: 默认展开的二级回复数量 + type: text + default: 6 + placeholder: '请输入数量数值' + show_comment_ua: + name: show_comment_ua + label: 显示评论的 UA 信息 + type: switch + data-type: bool + default: true + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_bullet_screen: + name: enable_bullet_screen + label: 开启评论弹幕 + type: radio + data-type: bool + default: false + description: '如果文章或页面元数据配置了 enable_bullet_screen 项,则当前配置将被覆盖。' + options: + - value: true + label: 默认开启 + - value: false + label: 默认关闭 + enable_comment_html: + name: enable_comment_html + label: '开启评论 HTML 内容' + type: switch + data-type: bool + default: false + description: '允许评论输入 HTML 内容,开启后有 用户注入恶意代码的风险(XSS),建议同时开启评论审核。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 +sidebar_show: + label: 侧边栏显示 + items: + sidebar_profile: + name: sidebar_profile + label: 侧边栏信息 + type: radio + default: left + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_toc: + name: sidebar_toc + label: 侧边栏目录 + type: radio + default: right + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_notice: + name: sidebar_notice + label: 侧边栏公告 + type: radio + default: right + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_love: + name: sidebar_love + label: 侧边栏恋爱墙 + type: radio + default: right + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_music: + name: sidebar_music + label: 侧边栏音乐 + type: radio + default: none + description: "三列布局时不能在右侧显示音乐模块。" + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_ad_piece: + name: sidebar_ad_piece + label: 侧边栏广告 + type: radio + default: none + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_recent_posts: + name: sidebar_recent_posts + label: 侧边栏最近文章 + type: radio + default: right + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_recent_comments: + name: sidebar_recent_comments + label: 侧边栏最近评论 + type: radio + default: right + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_categories: + name: sidebar_categories + label: 侧边栏分类 + type: radio + default: left + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_tags: + name: sidebar_tags + label: 侧边栏标签 + type: radio + default: left + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_tagcloud: + name: sidebar_tagcloud + label: 侧边栏标签云 + type: radio + default: none + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_links: + name: sidebar_links + label: 侧边栏友链 + type: radio + default: left + options: + - value: left + label: 左侧 + - value: right + label: 右侧 + - value: none + label: 关闭 + sidebar_priority_profile: + name: sidebar_priority_profile + label: 侧边栏信息-优先级 + type: text + default: 9900 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_toc: + name: sidebar_priority_toc + label: 侧边栏目录-优先级 + type: text + default: 9800 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_notice: + name: sidebar_priority_notice + label: 侧边栏公告-优先级 + type: text + default: 9700 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_love: + name: sidebar_priority_love + label: 侧边栏恋爱墙-优先级 + type: text + default: 9600 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_music: + name: sidebar_priority_music + label: 侧边栏音乐-优先级 + type: text + default: 9500 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_ad_piece: + name: sidebar_priority_ad_piece + label: 侧边栏广告-优先级 + type: text + default: 9400 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_recent_posts: + name: sidebar_priority_recent_posts + label: 侧边栏最近文章-优先级 + type: text + default: 9300 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_recent_comments: + name: sidebar_priority_recent_comments + label: 侧边栏最近评论-优先级 + type: text + default: 9200 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_categories: + name: sidebar_priority_categories + label: 侧边栏分类-优先级 + type: text + default: 9100 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_tags: + name: sidebar_priority_tags + label: 侧边栏标签-优先级 + type: text + default: 9000 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_tagcloud: + name: sidebar_priority_tagcloud + label: 侧边栏标签云-优先级 + type: text + default: 8900 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + sidebar_priority_links: + name: sidebar_priority_links + label: 侧边栏友链-优先级 + type: text + default: 8800 + placeholder: '请输入优先级数值' + description: '优先级越高,模块排序越靠前。' + hide_profile: + name: hide_profile + label: 侧边栏信息-隐藏方式 + type: select + default: 'is-not-hidden' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_toc: + name: hide_toc + label: 侧边栏目录-隐藏方式 + type: select + default: 'is-hidden-not-desktop' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_notice: + name: hide_notice + label: 侧边栏公告-隐藏方式 + type: select + default: 'is-not-hidden' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_love: + name: hide_love + label: 侧边栏恋爱墙-隐藏方式 + type: select + default: 'is-not-hidden' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_music: + name: hide_music + label: 侧边栏音乐-隐藏方式 + type: select + default: 'is-hidden-mobile' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_ad_piece: + name: hide_ad_piece + label: 侧边栏广告-隐藏方式 + type: select + default: 'is-not-hidden' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_recent_posts: + name: hide_recent_posts + label: 侧边栏最近文章-隐藏方式 + type: select + default: 'is-not-hidden' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_recent_comments: + name: hide_recent_comments + label: 侧边栏最近评论-隐藏方式 + type: select + default: 'is-not-hidden' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_categories: + name: hide_categories + label: 侧边栏分类-隐藏方式 + type: select + default: 'is-not-hidden' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_tags: + name: hide_tags + label: 侧边栏标签-隐藏方式 + type: select + default: 'is-not-hidden' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_tagcloud: + name: hide_tagcloud + label: 侧边栏标签云-隐藏方式 + type: select + default: 'is-hidden-not-desktop' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 + hide_links: + name: hide_links + label: 侧边栏友链-隐藏方式 + type: select + default: 'is-hidden-not-desktop' + options: + - value: 'is-hidden-mobile' + label: 移动设备隐藏 + - value: 'is-hidden-not-desktop' + label: 移动、平板设备隐藏 + - value: 'is-hidden-desktop' + label: 桌面设备隐藏 + - value: 'is-not-hidden' + label: 不隐藏 +sidebar_config: + label: 侧边栏配置 + items: + enable_color_character: + name: enable_color_character + label: 侧边栏信息-开启彩字切换 + type: switch + data-type: bool + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + color_character: + name: color_character + label: 侧边栏信息-彩字内容 + type: textarea + placeholder: 请输入彩字内容 + description: "按行输入彩字消息内容,一行一条。" + profile_location: + name: profile_location + label: 侧边栏信息-地理位置 + type: text + placeholder: '请输入个人所在地' + profile_theme_button: + name: profile_theme_button + label: 侧边栏信息-主题按钮 + type: text + placeholder: '按钮名称|按钮地址' + description: '需要 按钮名称按钮地址 两个参数,参数间用 “|” 分隔,放空则不显示主题按钮。' + social_github: + name: social_github + label: 侧边栏信息-Github + type: text + placeholder: '请输入 Github 用户名' + social_qq: + name: social_qq + label: 侧边栏信息-QQ + type: text + placeholder: '请输入 QQ 号' + social_weibo: + name: social_weibo + label: 侧边栏信息-微博 + type: text + placeholder: '请输入微博用户名' + social_twitter: + name: social_twitter + label: 侧边栏信息-Twitter + type: text + placeholder: '请输入 Twitter 用户名' + social_facebook: + name: social_facebook + label: 侧边栏信息-Facebook + type: text + placeholder: '请输入 Facebook 用户名' + social_email: + name: social_email + label: '侧边栏信息-邮箱' + type: text + placeholder: '请输入邮箱地址' + social_telegram: + name: social_telegram + label: 侧边栏信息-Telegram + type: text + placeholder: '请输入 Telegram 用户名' + social_rss: + name: social_rss + label: '侧边栏信息-RSS 订阅' + type: select + data-type: bool + default: true + options: + - value: true + label: 开启 + - value: false + label: 关闭 + custom_social_options: + name: custom_social_options + label: 侧边栏信息-自定义社交渠道选项 + type: textarea + placeholder: "名称|图标|链接地址" + description: 一行表示一个社交渠道,每个社交渠道需要名称、图标和链接地址三个参数,参数之间使用 “|” 分隔,主题内置图标采用 FontAwesome 4.7'。 + notice_content: + name: notice_content + label: 侧边栏公告-博客公告 + type: textarea + placeholder: 请输入公告内容 + description: 公告内容支持 HTML 标签。 + notice_show_mode: + name: notice_show_mode + label: 侧边栏公告-显示模式 + type: radio + default: index + description: 当满足指定的条件时公告模块才会显示。 + options: + - value: none + label: 无条件 + - value: toc + label: 目录模块不显示时 + - value: index + label: 仅首页 + love_oneself_avatar: + name: love_oneself_avatar + label: 侧边栏恋爱墙-自己的头像 + type: attachment + placeholder: '请输入/选择图片路径' + love_oneself_url: + name: love_oneself_url + label: 侧边栏恋爱墙-自己的主页 + type: text + placeholder: '请输入个人主页地址' + love_opposite_avatar: + name: love_opposite_avatar + label: 侧边栏恋爱墙-对方的头像 + type: attachment + placeholder: '请输入/选择图片路径' + love_opposite_url: + name: love_opposite_url + label: 侧边栏恋爱墙-对方的主页 + type: text + placeholder: '请输入个人主页地址' + love_time: + name: love_time + label: 侧边栏恋爱墙-恋爱时间 + type: text + placeholder: 'YYYY/MM/dd HH:mm:ss' + description: '按 YYYY/MM/dd HH:mm:ss 格式输入时间进行倒计时,非时间格式则直接显示文本。' + meting_api: + name: meting_api + label: 侧边栏音乐-自建API + type: text + placeholder: '请输入 API 地址' + description: '自建 API 方法见文档:Meting。' + music_mode: + name: music_mode + label: 侧边栏音乐-音乐播放器配置方式 + type: radio + default: 'playlist' + options: + - value: 'playlist' + label: '网易云歌单 ID' + - value: 'config' + label: 参数进阶配置 + netease_playlist_id: + name: netease_playlist_id + label: '侧边栏音乐-网易云歌单 ID' + type: text + placeholder: '请输入歌单 ID' + description: '填写网易云歌单的 ID。' + music_config: + name: music_config + label: 侧边栏音乐-参数进阶配置 + type: textarea + placeholder: '请输入音乐参数配置' + default: 'list-folded="true" + server="netease" + type="playlist" + id="7355014621"' + description: '输入音乐参数配置(id / server / type必填),详细配置方式见官方文档:MetingJS 2.0。' + show_ad_tag: + name: show_ad_tag + label: 侧边栏广告-显示“广告”标签 + type: radio + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 不显示 + ad_tag_close: + name: ad_tag_close + label: 侧边栏广告-点击“广告”标签可关闭广告 + type: radio + data-type: bool + default: true + options: + - value: true + label: 是 + - value: false + label: 否 + ad_mode: + name: ad_mode + label: 侧边栏广告-广告展示方法 + type: radio + data-type: bool + default: true + options: + - value: true + label: 图片+链接 + - value: false + label: 自定义广告代码 + ad_target_url: + name: ad_target_url + label: 侧边栏广告-广告目标地址 + type: text + placeholder: '请输入链接地址' + description: '填写广告跳转的目标路径。' + ad_image: + name: ad_image + label: 侧边栏广告-广告图片链接 + type: attachment + placeholder: '请输入/选择图片路径' + description: '图片+链接 模式时不能为空。' + ad_custom_code: + name: ad_custom_code + label: 侧边栏广告-自定义广告代码 + type: textarea + placeholder: '请输入广告代码' + description: '在这里黏贴广告联盟提供的广告代码,自定义广告代码 模式时不能为空。' + recent_posts_num: + name: recent_posts_num + label: 侧边栏最近文章-展示文章数量 + type: text + placeholder: 请输入数量数值 + default: 5 + recent_comments_num: + name: recent_comments_num + label: 侧边栏最近评论-展示评论数量 + type: text + placeholder: 请输入数量数值 + default: 5 + categories_more: + name: categories_more + label: 侧边栏分类-显示”更多”按钮 + type: radio + data-type: bool + default: true + description: '超出展示的分类数量后是否显示 更多 按钮。' + options: + - value: true + label: 显示 + - value: false + label: 不显示 + categories_num: + name: categories_num + label: 侧边栏分类-展示分类数量 + type: text + placeholder: 请输入数量数值 + default: 10 + tags_more: + name: tags_more + label: 侧边栏标签-显示”更多”按钮 + type: radio + data-type: bool + default: true + description: '超出展示的标签数量后是否显示 更多 按钮。' + options: + - value: true + label: 显示 + - value: false + label: 不显示 + tags_num: + name: tags_num + label: 侧边栏标签-展示标签数量 + type: text + placeholder: 请输入数量数值 + default: 18 + enable_tags_color: + name: enable_tag_color + label: 侧边栏标签-开启标签颜色 + type: switch + data-type: bool + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + tagcloud_more: + name: tagcloud_more + label: 侧边栏标签云-显示”更多”按钮 + type: radio + data-type: bool + default: true + description: '超出展示的标签数量后是否显示 更多 按钮。' + options: + - value: true + label: 显示 + - value: false + label: 不显示 + tagcloud_num: + name: tagcloud_num + label: 侧边栏标签云-展示标签数量 + type: text + placeholder: 请输入数量数值 + default: 32 + enable_tagcloud_color: + name: enable_tagcloud_color + label: 侧边栏标签云-开启标签颜色 + type: switch + data-type: bool + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + links_more: + name: links_more + label: 侧边栏友链-显示”更多”按钮 + type: radio + data-type: bool + default: true + description: '超出展示的友链数量后是否显示 更多 按钮。' + options: + - value: true + label: 显示 + - value: false + label: 不显示 + links_num: + name: links_num + label: 侧边栏友链-展示友链数量 + type: text + placeholder: 请输入数量数值 + default: 10 +page_config: + label: 页面设置 + items: + links_thumbnail: + name: links_thumbnail + label: 友链页面-缩略图 + type: attachment + placeholder: '请输入/选择图片路径' + links_default_avatar: + name: links_default_avatar + label: '友链页面-默认 Logo' + type: attachment + placeholder: '请输入/选择 Logo 路径' + description: "在加载用户 Logo 时、友链未设置 Logo 时、友链 Logo 加载失败时显示。" + show_exchange_info: + name: show_exchange_info + label: 友链页面-显示友链交换信息 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 + links_blogger_avatar: + name: links_blogger_avatar + label: '友链页面-交换信息自定义 Logo 链接' + type: attachment + placeholder: '请输入/选择 Logo 路径' + description: '用于交换友链的 Logo 链接。' + links_info: + name: links_info + label: 友链页面-补充信息 + type: textarea + placeholder: '请输入补充信息' + description: '友链页面最低部的补充说明信息,支持 HTML 格式。' + link_comment_id: + name: link_comment_id + label: 友链页面-评论区ID + type: text + placeholder: '请输入 ID' + description: '友链页面没有 ID,需要指定一个自定义页面的 ID 用于评论,被指定的文章评论区将作为友链的评论区, 放空则不显示评论区。 ' + journals_fold_height: + name: journals_fold_height + label: 日志页面-动态内容折叠 + type: text + placeholder: '请输入高度数值(px)' + description: '动态内容高度超出指定高度后默认进行折叠,指定的高度需大于等于 260px。' + enable_journals_comment: + name: enable_journals_comment + label: 日志页面-开启评论区 + type: switch + data-type: bool + default: true + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_journals_share: + name: enable_journals_share + label: 日志页面-开启日志分享 + type: switch + data-type: bool + default: true + options: + - value: true + label: 开启 + - value: false + label: 关闭 + journals_share_image: + name: journals_share_image + label: 日志页面-日志分享背景图 + type: attachment + placeholder: '请输入/选择图片路径' + enable_tags_tag_color: + name: enable_tags_tag_color + label: 标签页面-开启标签颜色 + type: switch + data-type: bool + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 +live2d: + label: 看板娘 + items: + enable_live2d: + name: enable_live2d + label: 启用看板娘 + type: switch + data-type: bool + default: true + options: + - value: true + label: 开启 + - value: false + label: 关闭 + live2d_model_url: + name: live2d_model_url + label: 模型地址 + type: text + default: 'https://unpkg.com/live2d-widget-model@1.0.1/' + placeholder: '请输入 API 地址' + description: "Live2D 模型 API 地址,可直接克隆 live2d-widget-model 模型仓库实现自建地址。" + live2d_tips_url: + name: live2d_tips_url + label: 自定义提示语文件地址 + type: attachment + placeholder: '请输入/选择文件地址' + description: '提示语 JSON 文件。' + live2d_about_page: + name: live2d_about_page + label: “关于”按钮的 URL 地址 + type: text + placeholder: '请输入链接地址' + description: '放空则不显示 关于 按钮。' + live2d_model_id: + name: live2d_model_id + label: '默认模型 ID' + type: text + default: '0' + placeholder: '请输入模型 ID' + description: '默认模型 ID,参见 可用model列表。' + live2d_model_textures_id: + name: live2d_model_textures_id + label: '默认材质 ID' + type: text + default: '0' + placeholder: '请输入材质 ID' + description: '默认材质 ID,参见 可用model列表。' + live2d_waifu_size: + name: live2d_waifu_size + label: 看板娘大小 + type: text + default: '280x260' + placeholder: '请输入宽度(px)x高度(px)' + description: '看板娘的(宽度x高度),单位为px。' + live2d_edge_side: + name: live2d_edge_side + label: 看板娘贴边方向与距离 + type: text + default: 'right:50' + placeholder: '请输入位置:距离(px)' + live2d_model_rand_mode: + name: live2d_model_rand_mode + label: 模型切换方式 + type: radio + default: switch + options: + - value: switch + label: 顺序 + - value: rand + label: 随机 + live2d_model_textures_rand_mode: + name: live2d_model_textures_rand_mode + label: 材质切换方式 + type: radio + default: rand + options: + - value: switch + label: 顺序 + - value: rand + label: 随机 + live2d_show_tool_menu: + name: live2d_show_tool_menu + label: 显示工具栏 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 + live2d_can_turn_to_home_page: + name: live2d_can_turn_to_home_page + label: 显示「返回首页」按钮 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 + live2d_can_switch_hitokoto: + name: live2d_can_switch_hitokoto + label: 显示「一言」按钮 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 + live2d_can_switch_model: + name: live2d_can_switch_model + label: 显示「切换模型」按钮 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 + live2d_can_switch_textures: + name: live2d_can_switch_textures + label: 显示「切换材质」按钮 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 + live2d_can_take_screenshot: + name: live2d_can_take_screenshot + label: 显示「截图」按钮 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 + live2d_can_turn_to_about_page: + name: live2d_can_turn_to_about_page + label: 显示「关于」按钮 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 + live2d_can_close_live2d: + name: live2d_can_close_live2d + label: 显示「关闭看板娘」按钮 + type: switch + data-type: bool + default: true + options: + - value: true + label: 显示 + - value: false + label: 关闭 +enhance: + label: 增强功能 + items: + cursor_style: + name: cursor_style + label: 鼠标风格 + type: select + default: none + options: + - value: none + label: 关闭 + - value: breeze + label: 清风(深色) + cursor_move: + name: cursor_move + label: 鼠标移动特效 + type: select + default: none + options: + - value: none + label: 关闭 + - value: bubbleCursor + label: 气泡跟随 + - value: emojiCursor + label: 表情包跟随 + - value: springyEmojiCursor + label: 弹性表情包跟随 + - value: fairyDustCursor + label: 仙女棒效果 + - value: snowflakeCursor + label: 雪花跟随 + - value: followingDotCursor + label: 圆点跟随 + - value: ghostCursor + label: 移动残影(疏) + - value: trailingCursor + label: 移动残影(密) + cursor_click: + name: cursor_click + label: 鼠标点击特效 + type: select + default: none + options: + - value: none + label: 关闭 + - value: firework + label: 烟花特效 + - value: granule + label: 粒子爆炸 + enable_sw: + name: enable_sw + label: "启用 Service Worker 优化" + type: radio + data-type: text + default: "false" + description: "需要在 Nginx 中添加 代理配置 方可启用,配置方法见 Dream 2.0.5起移除FreeCDN,以及SW配置方法" + options: + - value: "false" + label: 关闭 + - value: "&install=true" + label: 开启CDN并发请求 + - value: "&install=true&offLine=true" + label: 开启全站离线 + - value: "uninstall" + label: 卸载 + enable_compress: + name: enable_compress + label: "启用 HTML 压缩" + type: radio + data-type: text + default: format + options: + - value: none + label: 关闭 + - value: format + label: 压缩空格 + - value: single + label: 完全格式压缩 + effects_sakura_mode: + name: effects_sakura_mode + label: 樱花飘落特效显示模式 + type: radio + default: day + options: + - value: none + label: 不显示 + - value: day + label: 明亮模式 + - value: night + label: 黑暗模式 + - value: all + label: 全模式 + effects_universe_mode: + name: effects_universe_mode + label: 宇宙星空特效显示模式 + type: radio + default: night + options: + - value: none + label: 不显示 + - value: day + label: 明亮模式 + - value: night + label: 黑暗模式 + - value: all + label: 全模式 + effects_circle_magic_mode: + name: effects_circle_magic_mode + label: 上升圆点特效显示模式 + type: radio + default: night + options: + - value: none + label: 不显示 + - value: day + label: 明亮模式 + - value: night + label: 黑暗模式 + - value: all + label: 全模式 + enable_gray_mode: + name: enable_gray_mode + label: 灰色模式 + type: switch + data-type: bool + default: false + description: '向英雄致敬,愿精神长存!' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_patch: + name: enable_patch + label: 补丁模式 + type: switch + data-type: bool + default: true + description: '引入补丁脚本,实现对部分异常不更新主题进行 bug 修复!' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_busuanzi: + name: enable_busuanzi + label: 开启 busuanzi 访客统计 + type: switch + data-type: bool + default: true + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_baidu_push: + name: enable_baidu_push + label: 启用百度 URL 自动推送 + type: switch + data-type: bool + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_toutiao_push: + name: enable_toutiao_push + label: 启用头条搜索自动推送 + type: switch + data-type: bool + default: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + enable_debug: + name: enable_debug + label: 开启 DEBUG 日志 + type: switch + data-type: bool + default: false + description: '开发和问题排查时开启日志。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 +custom: + label: 定制主题 + items: + external_css: + name: external_css + label: "外部 CSS 链接" + type: text + placeholder: 请输入 CSS 文件链接 + description: "填入外部 CSS 链接,无需 link 标签,将插入 head 标签尾部。" + inline_css: + name: inline_css + label: "内嵌 CSS" + type: textarea + placeholder: 请输入 CSS 样式内容 + description: '填入 CSS 代码,无需 style 标签,将插入 head 标签尾部。' + external_js_head: + name: external_js_head + label: "外部 JS 链接(head)" + type: textarea + placeholder: 请输入 script 标签 + description: '填入外部 JS 链接,需要 script 标签,可按情况指定 asyncdefer 属性,将插入 head 标签尾部。' + inline_js_head: + name: inline_js_head + label: "内嵌 JS(head)" + type: textarea + placeholder: 请输入 JS 代码内容 + description: '填入 JS 代码,无需 script 标签,将插入 head 标签尾部。' + external_js_body: + name: external_js_body + label: "外部 JS 链接(body)" + type: textarea + placeholder: 请输入 script 标签 + description: '填入外部 JS 链接,需要 script 标签,可按情况指定 asyncdefer 属性,将插入 body 标签尾部。' + inline_js_body: + name: inline_js_body + label: "内嵌JS(body)" + type: textarea + placeholder: 请输入 JS 代码内容 + description: '填入 JS 代码,无需 script 标签,将插入 body 标签尾部。' diff --git a/sheet.ftl b/sheet.ftl new file mode 100644 index 0000000..407921b --- /dev/null +++ b/sheet.ftl @@ -0,0 +1,5 @@ +<#include "template/layout.ftl"> +<#include "template/main/article.ftl"> +<@layout title="${sheet.title} - ${blog_title!}" canonical="${sheet.fullPath!}"> + <@article sheet,"sheet" /> + \ No newline at end of file diff --git a/sheet_literature.ftl b/sheet_literature.ftl new file mode 100644 index 0000000..cfd0534 --- /dev/null +++ b/sheet_literature.ftl @@ -0,0 +1,5 @@ +<#include "template/layout.ftl"> +<#include "template/main/article_literature.ftl"> +<@layout title="${sheet.title} - ${blog_title!}" canonical="${sheet.fullPath!}"> + <@articleLiterature sheet,"sheet" /> + \ No newline at end of file diff --git a/source/css/cursor/breeze.min.css b/source/css/cursor/breeze.min.css new file mode 100644 index 0000000..ab52ca8 --- /dev/null +++ b/source/css/cursor/breeze.min.css @@ -0,0 +1 @@ +.main-content img,body{cursor:url(../../cursor/breeze/Arrow.cur),auto}.actions>div,.expand-done,.main-content figure>figcaption div,.navbar-above .navbar-nav .item,.navbar-searchicon,.navbar-slideicon,.photos .picture-details,.widget .ad-tag .click-close,a,button{cursor:url(../../cursor/breeze/Hand.cur),auto}blockquote,code,h1,h2,h3,h4,h5,h6,hr,input[type=text],li,p,td,textarea,th{cursor:url(../../cursor/breeze/IBeam.cur),auto} \ No newline at end of file diff --git a/source/css/dshare.min.css b/source/css/dshare.min.css new file mode 100644 index 0000000..16ba4a2 --- /dev/null +++ b/source/css/dshare.min.css @@ -0,0 +1 @@ +@charset "utf-8";@font-face{font-family:"dshare";src:url(../font/dshare.woff2) format("woff2")}.dshare-container{font-family:"dshare"!important}.dshare-container .dshare-icon{width:32px;height:32px;margin:4px;font-size:20px;line-height:32px;border:1px solid;text-align:center;vertical-align:middle;display:inline-block;border-radius:50%;-webkit-transition:background .6s ease-out 0s;transition:background .6s ease-out 0s}.dshare-container .dshare-icon:hover{color:#fff}.dshare-container .icon-qq{color:#56b6e7;border-color:#56b6e7}.dshare-container .icon-qq:before{content:'\f01a'}.dshare-container .icon-qq:hover{background:#56b6e7}.dshare-container .icon-qzone{color:#fdbe3d;border-color:#fdbe3d}.dshare-container .icon-qzone:before{content:'\f02a'}.dshare-container .icon-qzone:hover{background:#fdbe3d}.dshare-container .icon-wechat{position:relative;color:#7bc549;border-color:#7bc549}.dshare-container .icon-wechat:before{content:'\f03a'}.dshare-container .icon-wechat:hover{background:#7bc549}.dshare-container .icon-wechat:hover .wechat-qrcode{opacity:1;-webkit-transform:translateY(-15px);transform:translateY(-15px)}.dshare-container .icon-weibo{color:#ff763b;border-color:#ff763b}.dshare-container .icon-weibo:before{content:'\f04a'}.dshare-container .icon-weibo:hover{background:#ff763b}.dshare-container .icon-douban{color:#33b045;border-color:#33b045}.dshare-container .icon-douban:before{content:'\f05a'}.dshare-container .icon-douban:hover{background:#33b045}.dshare-container .icon-linkedin{color:#0077b5;border-color:#0077b5}.dshare-container .icon-linkedin:before{content:'\f06a'}.dshare-container .icon-linkedin:hover{background:#0077b5}.dshare-container .icon-facebook{color:#44619d;border-color:#44619d}.dshare-container .icon-facebook:before{content:'\f07a'}.dshare-container .icon-facebook:hover{background:#44619d}.dshare-container .icon-twitter{color:#55acee;border-color:#55acee}.dshare-container .icon-twitter:before{content:'\f08a'}.dshare-container .icon-twitter:hover{background:#55acee}.dshare-container .icon-google{color:#db4437;border-color:#db4437}.dshare-container .icon-google:before{content:'\f09a'}.dshare-container .icon-google:hover{background:#db4437}.dshare-container .icon-link,.dshare-container .icon-poster{color:var(--theme);border-color:var(--theme)}.dshare-container .icon-link:before{content:'\f10a'}.dshare-container .icon-link:hover,.dshare-container .icon-poster:hover{background:var(--theme)}.dshare-container .icon-poster:before{content:'\f11a'}.dshare-container .wechat-qrcode{opacity:0;position:absolute;height:165px;width:140px;top:-150px;left:-54px;font-size:12px;border:1px solid #eee;border-radius:5px;background:#fff;-webkit-box-shadow:0 2px 10px #aaa;box-shadow:0 2px 10px #aaa;pointer-events:none;-webkit-transition:all .3s;transition:all .3s}.dshare-container .wechat-qrcode:after{content:'';position:absolute;left:50%;margin-left:-8px;bottom:-13px;width:0;height:0;border-width:8px 8px 6px;border-style:solid;border-color:#fff transparent transparent}.dshare-container .wechat-qrcode h4{margin:0;padding:0;height:25px;line-height:25px;color:#777;background-color:#f3f3f3}.dshare-container .wechat-qrcode img{width:100%}.dshare-poster{left:0;top:0;height:100%;width:100%;position:fixed;z-index:99999;-webkit-transition:all .3s;transition:all .3s;background:rgba(0,0,0,.3)}.dshare-poster.close-animation{opacity:0}.dshare-poster.close-animation .dshare-poster-container>*{-webkit-transform:scale(.4);transform:scale(.4)}.dshare-poster-container{top:50%;left:50%;display:grid;position:absolute;width:360px;max-width:90%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.dshare-poster-crad,.dshare-poster-download{-webkit-transition:all .3s;transition:all .3s}.dshare-poster-download{width:50px;height:50px;margin-top:20px;line-height:50px;font-size:32px;cursor:pointer;background:var(--theme);border-radius:50%;color:#fff;text-align:center;justify-self:center}.dshare-poster-crad{overflow:hidden;background:#fff;border-radius:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.dshare-poster-cover{position:relative;margin-bottom:-68px}.dshare-poster-cover:after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:140px;background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(#fff));background:linear-gradient(180deg,transparent,#fff)}.dshare-poster-cover img{width:100%;min-height:180px;max-height:340px;-o-object-fit:cover;object-fit:cover}.dshare-poster-content{padding:10px}.dshare-poster-title{color:#333;position:relative;margin-top:8px;padding-bottom:14px;font-size:18px}.dshare-poster-title:after,.dshare-poster-title:before{content:'';position:absolute;width:20%;height:2px;left:0;bottom:8px;border-radius:5px;background:var(--theme)}.dshare-poster-title:after{width:63%;bottom:1px}.dshare-poster-desc{margin-top:12px;text-indent:2em;color:var(--main);line-height:1.6em}.dshare-poster-footer{margin-top:18px;border:2px #aaa dashed;border-radius:5px;display:-webkit-box;display:-ms-flexbox;display:flex}.dshare-poster-qrcode{width:70px}.dshare-poster-qrcode-info{margin:auto 0 auto 8px}.dshare-poster-qrcode-site{font-size:16px}.dshare-poster-qrcode-msg{margin-top:2px;color:#999} \ No newline at end of file diff --git a/source/css/mew-custom.min.css b/source/css/mew-custom.min.css new file mode 100644 index 0000000..d6ec0d3 --- /dev/null +++ b/source/css/mew-custom.min.css @@ -0,0 +1 @@ +@charset "utf-8";@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:30px 0}}@keyframes progress{0%{background-position:0 0}to{background-position:30px 0}}mew-hide{display:block;cursor:pointer;overflow:hidden;position:relative;height:4em;border-radius:var(--radius-wrap)}mew-hide:before{content:'隐藏内容,评论后可见';position:absolute;top:0;bottom:0;left:0;right:0;line-height:4em;text-align:center;padding:0 12px;background:repeating-linear-gradient(135deg,var(--light-b),var(--light-b) 1rem,var(--background) 0,var(--background) 2rem)}mew-subtitle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:14px 0}mew-subtitle>span{position:relative;color:var(--main);padding:0 47px}mew-subtitle>span:hover::before{left:12px}mew-subtitle>span:hover::after{right:12px}mew-subtitle>span::after,mew-subtitle>span::before{content:"";position:absolute;top:50%;width:20px;height:1px;background:var(--theme);-webkit-transition:all .35s;transition:all .35s}mew-subtitle>span::before{left:0}mew-subtitle>span::after{right:0}mew-music{display:block;background-color:var(--bg-d)!important;max-width:620px;margin:auto!important}mew-music:not(.aplayer){padding:10px 20px;font-size:1.1em;border:1px solid var(--light-b);border-radius:5px}mew-music:not(.aplayer):before{content:"\f001";font-family:'FontAwesome';color:var(--theme);margin-right:10px}mew-music .aplayer-list ol li{border-top:1px solid rgba(180,180,180,.2)!important}mew-music .aplayer-list ol li.aplayer-list-light,mew-music .aplayer-list ol li:hover{background:rgba(200,200,200,.2)!important}mew-music.aplayer-withlist .aplayer-info{border-bottom:none}mew-music .aplayer-lrc:before{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#c5c5c52b),to(rgba(255,255,255,0)))!important;background:linear-gradient(180deg,#c5c5c52b 0,rgba(255,255,255,0))!important}mew-music .aplayer-lrc:after{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(255,255,255,0)),to(rgba(255,255,255,.23)))!important;background:linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,.23))!important}mew-bilibili{display:block;position:relative}mew-bilibili>iframe{position:absolute;height:100%;top:0;bottom:0;left:50%;right:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}mew-cloud,mew-tabs{border:1px solid var(--light-b)}mew-bilibili>iframe,mew-tabs{border-radius:var(--radius-inner)}mew-tabs{width:100%;overflow:hidden;display:block;background:var(--bg-d);line-height:26px;margin-bottom:14px}mew-tabs .tabs-head{width:100%;overflow-x:auto;overflow-y:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;background:var(--bg-h)}mew-tabs .tabs-head>div{position:relative;padding:0 14px;line-height:40px;height:40px;color:var(--dark-b);cursor:pointer;-webkit-transition:color .5s;transition:color .5s;white-space:nowrap;font-size:1em}mew-tabs .tabs-head>div::after{content:"";position:absolute;background:var(--theme);bottom:0;left:14px;right:14px;height:2px;opacity:0;border-radius:2px;-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transition:opacity .25s,-webkit-transform .25s;transition:opacity .25s,transform .25s;transition:opacity .25s,transform .25s,-webkit-transform .25s}mew-tabs .tabs-head>div.active{color:var(--theme)}mew-tabs .tabs-head>div.active::after{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}mew-tabs .tabs-body{padding:12px 14px}mew-tabs .tabs-body>div{display:none}mew-hr,mew-tabs .tabs-body>div.active{display:block}mew-cloud{padding:10px;-webkit-box-shadow:1px 1px 5px 0 var(--bg-b);box-shadow:1px 1px 5px 0 var(--bg-b);background:var(--background)}mew-cloud .mew-cloud-logo{-ms-flex-negative:0;flex-shrink:0;width:2.4em;height:2.4em;margin-right:10px;background-size:100% 100%}mew-cloud .mew-cloud-logo.type-default{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjUyMTY1ODk4NzQ2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjcyNjYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IGZlZWRiYWNrLWljb25mb250OyBzcmM6IHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUud29mZjI/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi8vYXQuYWxpY2RuLmNvbS90L2ZvbnRfMTAzMTE1OF91Njl3OHloeGR1LndvZmY/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmIiksIHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUudHRmP3Q9MTYzMDAzMzc1OTk0NCIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMTkwLjU3MTQyODMyIDI1NC44NTcxNDI0OGg2NDIuODU3MTQzMzZjMTkuMjg1NzE0MTYgMCAzMi4xNDI4NTc1MiAxMi44NTcxNDI0OCAzMi4xNDI4NTY2NCAzMi4xNDI4NTc1MnY0ODIuMTQyODU3NTJIMTU4LjQyODU3MTY4VjI4N2MwLTE5LjI4NTcxNDE2IDEyLjg1NzE0MjQ4LTMyLjE0Mjg1NzUyIDMyLjE0Mjg1NjY0LTMyLjE0Mjg1NzUyeiIgZmlsbD0iIzkxRDVGRiIgcC1pZD0iNzI2NyI+PC9wYXRoPjxwYXRoIGQ9Ik0yMjUuOTI4NTcxNjggMTI2LjI4NTcxNDE2aDU0MGMxOS4yODU3MTQxNiAwIDM1LjM1NzE0MjQ4IDE2LjA3MTQyODMyIDM1LjM1NzE0MjQ4IDMyLjE0Mjg1NzUycy0xNi4wNzE0MjgzMiAzMi4xNDI4NTc1Mi0zNS4zNTcxNDI0OCAzMi4xNDI4NTY2NEgyMjUuOTI4NTcxNjhDMjA2LjY0Mjg1NzUyIDE5MC41NzE0MjgzMiAxOTAuNTcxNDI4MzIgMTc0LjUgMTkwLjU3MTQyODMyIDE1OC40Mjg1NzE2OHMxNi4wNzE0MjgzMi0zMi4xNDI4NTc1MiAzNS4zNTcxNDMzNi0zMi4xNDI4NTc1MnoiIGZpbGw9IiNCQUU3RkYiIHAtaWQ9IjcyNjgiPjwvcGF0aD48cGF0aCBkPSJNMTEwLjIxNDI4NTg0IDQ3OS44NTcxNDI0OGgyMDIuNWw2MS4wNzE0MjgzMiAxNDEuNDI4NTcxNjhoMjczLjIxNDI4NTg0bDczLjkyODU3MTY4LTE0MS40Mjg1NzE2OGgxOTIuODU3MTQyNDhjMjUuNzE0Mjg1ODQgMCA0OC4yMTQyODU4NCAyMi41IDQ4LjIxNDI4NTg0IDQ4LjIxNDI4NTg0djM4NS43MTQyODU4NGMwIDI1LjcxNDI4NTg0LTIyLjUgNDguMjE0Mjg1ODQtNDguMjE0Mjg1ODQgNDguMjE0Mjg1ODRoLTgwMy41NzE0MjgzMkM4NC41IDk2MiA2MiA5MzkuNSA2MiA5MTMuNzg1NzE0MTZ2LTM4NS43MTQyODU4NGMzLjIxNDI4NTg0LTI1LjcxNDI4NTg0IDIyLjUtNDguMjE0Mjg1ODQgNDguMjE0Mjg1ODQtNDguMjE0Mjg1ODR6IiBmaWxsPSIjNDBBOUZGIiBwLWlkPSI3MjY5Ij48L3BhdGg+PHBhdGggZD0iTTI4NyA3NjkuMTQyODU3NTJoNDUwYzE5LjI4NTcxNDE2IDAgMzIuMTQyODU3NTIgMTIuODU3MTQyNDggMzIuMTQyODU3NTIgMzIuMTQyODU2NjRzLTEyLjg1NzE0MjQ4IDMyLjE0Mjg1NzUyLTMyLjE0Mjg1NzUyIDMyLjE0Mjg1NzUySDI4N2MtMTkuMjg1NzE0MTYgMC0zMi4xNDI4NTc1Mi0xMi44NTcxNDI0OC0zMi4xNDI4NTc1Mi0zMi4xNDI4NTc1MnMxMi44NTcxNDI0OC0zMi4xNDI4NTc1MiAzMi4xNDI4NTc1Mi0zMi4xNDI4NTY2NHoiIGZpbGw9IiNCQUU3RkYiIHAtaWQ9IjcyNzAiPjwvcGF0aD48L3N2Zz4=)}mew-cloud .mew-cloud-logo.type-360{background-image:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04NDMuMjk0IDg3MS45MDZjMC00OS42OTQgNDAuNjU5LTkwLjM1MyA5MC4zNTMtOTAuMzUzUzEwMjQgODIyLjIxMiAxMDI0IDg3MS45MDZzLTQwLjY1OSA5MC4zNTMtOTAuMzUzIDkwLjM1My05MC4zNTMtNDAuNjU5LTkwLjM1My05MC4zNTN6IiBmaWxsPSIjRkY5OTMyIi8+PHBhdGggZD0iTTg0NC44IDY4Ni42ODJsLTEzMS4wMTItNTIuNzA2Yy0xMC41NC00LjUxNy0xMC41NC0xMi4wNDctNi4wMjMtMjIuNTg4IDEyLjA0Ny0zMS42MjMgMTguMDctNjYuMjU5IDE4LjA3LTEwMC44OTQgMC0xNDcuNTc2LTEyNC45ODgtMjc0LjA3LTI3NC4wNy0yNzQuMDdzLTI3NC4wNyAxMjYuNDk0LTI3NC4wNyAyNzQuMDdjMCAzNC42MzUgOS4wMzQgNzAuNzc3IDIxLjA4MSAxMDIuNCAzLjAxMiA2LjAyNCAzLjAxMiAxMy41NTMgMCAxOS41NzctMy4wMTEgNC41MTctNi4wMjMgMC0xMC41NCAxLjUwNUw1NS43MTcgNjc3LjY0N2MtMS41MDYgMS41MDYtNC41MTggMS41MDYtNi4wMjQgMS41MDYtOS4wMzUgMC0xNS4wNTktNC41MTgtMTguMDctMTMuNTUzQzEyLjA0NyA2MTQuNCAxLjUwNiA1NjMuMiAxLjUwNiA1MTAuNDk0IDEuNTA2IDI2My41MyAyMDQuOCA2MC4yMzUgNDUzLjI3IDYwLjIzNXM0NTAuMjU4IDIwMS43ODkgNDUwLjI1OCA0NDguNzUzYzAgNTguNzMtMTAuNTQgMTE0LjQ0Ny0zMS42MjMgMTY3LjE1My0xLjUwNiA0LjUxOC02LjAyNCA5LjAzNS0xMi4wNDcgMTAuNTQxLTMuMDEyIDEuNTA2LTQuNTE4IDEuNTA2LTcuNTMgMS41MDZzLTQuNTE3IDAtNy41MjktMS41MDZ6IiBmaWxsPSIjMEZCMjY0Ii8+PHBhdGggZD0iTTUxLjIgNzE4LjMwNmMtNy41My0xNS4wNTktMTMuNTUzLTMxLjYyNC0xOS41NzYtNDYuNjgyLTMuMDEyLTcuNTMtMy4wMTItMTMuNTUzLTMuMDEyLTE2LjU2NSAwLTQ5LjY5NCA0MC42NTktODguODQ3IDkxLjg1OS04OC44NDcgMzcuNjQ3IDAgNjkuMjcgMjIuNTg4IDg0LjMyOSA1NS43MTcgMS41MDYgMy4wMTIgNi4wMjQgMTIuMDQ3IDkuMDM1IDE2LjU2NSA0Ni42ODMgODguODQ3IDEzOC41NDEgMTQ2LjA3IDIzOS40MzYgMTQ2LjA3IDk5LjM4OCAwIDE4OS43NC01NS43MTcgMjM3LjkyOS0xNDEuNTUyIDQuNTE4LTkuMDM2IDE2LjU2NS0zMC4xMTggMTguMDctMzEuNjI0IDE1LjA2LTMwLjExNyA0My42NzEtNDUuMTc2IDc2LjgtNDUuMTc2IDUxLjIgMCA5MS44NiA0MC42NTkgOTEuODYgODguODQ3IDAgNi4wMjMgMCAxMy41NTMtNC41MTggMjIuNTg4bC05LjAzNiAyMi41ODh2MS41MDZjLTEuNTA1IDQuNTE4LTMuMDExIDcuNTMtNi4wMjMgMTIuMDQ3LTc2LjggMTUzLjYtMjMxLjkwNiAyNDguNDctNDAzLjU3NyAyNDguNDdTMTI5LjUwNiA4NjguODk1IDUxLjIgNzE4LjMwN3oiIGZpbGw9IiNGRjk5MzIiLz48L3N2Zz4=)}mew-cloud .mew-cloud-logo.type-bd{background-image:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTI3MS4zOCA0MjkuNjM3YTI0NS41IDI0NS41IDAgMCAxLTMuMzk1LTQwLjc3N2MwLTEzNC42OCAxMDkuMTgtMjQzLjg2IDI0My44Ni0yNDMuODZzMjQzLjg2IDEwOS4xOCAyNDMuODYgMjQzLjg2YTI0NS41IDI0NS41IDAgMCAxLTMuMzk0IDQwLjc3NkM4NzUuOTY3IDQzMC4zMTIgOTc2IDUzMC43NjMgOTc2IDY1NC41NzhjMCAxMjQuMjM1LTEwMC43MTIgMjI0Ljk0Ny0yMjQuOTQ2IDIyNC45NDctNjIuNzQzIDAtMTE5LjQ4Ni0yNS42ODgtMTYwLjI4Ny02Ny4xMmwuMDAzLS4wMDRjLTIxLjQ0LTIxLjgyMi0yMS4zMjItNTYuODkzLjM1NC03OC41NyAyMS43OTYtMjEuNzk1IDU3LjEzMy0yMS43OTUgNzguOTI4IDAgLjY5My42OTQgMS4zNjUgMS40IDIuMDE0IDIuMTIgMjAuNDI3IDE5Ljg3IDQ4LjMxNyAzMi4xMDggNzkuMDY1IDMyLjEwOCA2Mi42MzEgMCAxMTMuNDA0LTUwLjc3MiAxMTMuNDA0LTExMy40MDMgMC02Mi42MzEtNTAuNzczLTExMy40MDMtMTEzLjQwNC0xMTMuNDAzLTI4LjczOSAwLTU0Ljk4MSAxMC42OS03NC45NjcgMjguMzExbC0uMDk2LS4wOTYtMS44ODYgMS44ODZjLTIuMiAyLjAzMy00LjMyIDQuMTUyLTYuMzUzIDYuMzUzbC00LjMwNiA0LjMwNS4wNzYuMDc3LTIyOS44NzYgMjI5Ljg3Ni0uMDMtLjAzYy00MC44MzMgNDEuNzA4LTk3Ljc2NyA2Ny41OS0xNjAuNzQ3IDY3LjU5QzE0OC43MTIgODc5LjUyNSA0OCA3NzguODEzIDQ4IDY1NC41NzhjMC0xMjMuNzExIDk5Ljg2Ni0yMjQuMDk4IDIyMy4zOC0yMjQuOTR6bTEuNjQ0IDMzOC40MjJjNjIuNjMgMCAxMTMuNDAzLTUwLjc3MiAxMTMuNDAzLTExMy40MDMgMC02Mi42MzEtNTAuNzcyLTExMy40MDMtMTEzLjQwMy0xMTMuNDAzLTYyLjYzMSAwLTExMy40MDQgNTAuNzcyLTExMy40MDQgMTEzLjQwMyAwIDYyLjYzIDUwLjc3MyAxMTMuNDAzIDExMy40MDQgMTEzLjQwM3pNNTExLjg0NSA1MjEuMWM3My4wMzQgMCAxMzIuMjQtNTkuMjA2IDEzMi4yNC0xMzIuMjQgMC03My4wMzMtNTkuMjA2LTEzMi4yMzktMTMyLjI0LTEzMi4yMzlzLTEzMi4yNCA1OS4yMDYtMTMyLjI0IDEzMi4yNGMwIDczLjAzMyA1OS4yMDYgMTMyLjIzOSAxMzIuMjQgMTMyLjIzOXoiIGZpbGw9IiMwNkE3RkYiLz48cGF0aCBkPSJNNjQzLjM1MSA0MDIuODY4YTU2Ljk2NiA1Ni45NjYgMCAwIDEtLjM1Mi02LjMzNGMwLTMxLjEyMyAyNS4yMy01Ni4zNTMgNTYuMzUzLTU2LjM1M3M1Ni4zNTMgMjUuMjMgNTYuMzUzIDU2LjM1M2MwIDIuMzktLjE1IDQuNzQ1LS40MzggNy4wNTctNy42MTYgMTI3LjgyLTExMy42ODggMjI5LjEyOC0yNDMuNDIyIDIyOS4xMjgtMTI5LjczNCAwLTIzNS44MDYtMTAxLjMwNy0yNDMuNDIyLTIyOS4xMjhhNTYuOTA4IDU2LjkwOCAwIDAgMS0uNDM4LTcuMDU3YzAtMzEuMTIzIDI1LjIzLTU2LjM1MyA1Ni4zNTMtNTYuMzUzczU2LjM1MyAyNS4yMyA1Ni4zNTMgNTYuMzUzYzAgMi4xNDEtLjEyIDQuMjU1LS4zNTIgNi4zMzQgNi45OTYgNjYuNDQ4IDYzLjIwNCAxMTguMjMgMTMxLjUwNiAxMTguMjMgNjguMzAyIDAgMTI0LjUxLTUxLjc4MiAxMzEuNTA2LTExOC4yM3oiIGZpbGw9IiNGRjQzNkEiLz48L3N2Zz4=)}mew-cloud .mew-cloud-logo.type-wy{background-image:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04ODAuMyA2MzEuOWMtMy40IDAtNi45LS42LTEwLjItMS44LTE2LjEtNS43LTI0LjUtMjMuMy0xOC45LTM5LjQgNi40LTE4LjEgOS42LTM3LjEgOS42LTU2LjUgMC05My4zLTc1LjktMTY5LjItMTY5LjEtMTY5LjItNzcuNiAwLTE0NS4xIDUyLjQtMTY0IDEyNy41LTQuMiAxNi41LTIwLjggMjYuNi0zNy41IDIyLjQtMTYuNS00LjItMjYuNS0yMS0yMi40LTM3LjUgMjUuOS0xMDIuNSAxMTgtMTc0LjEgMjIzLjktMTc0LjEgMTI3LjMgMCAyMzAuOCAxMDMuNiAyMzAuOCAyMzAuOSAwIDI2LjQtNC40IDUyLjMtMTMuMSA3Ny00LjUgMTIuNy0xNi40IDIwLjctMjkuMSAyMC43eiIgZmlsbD0iIzA5RiIvPjxwYXRoIGQ9Ik00NDcuNCA3ODMuM0gzMzIuNmMtMTI3LjMgMC0yMzAuOS05Ny41LTIzMC45LTIxNy4zIDAtOTQuOSA2NS45LTE3OC4zIDE2MC0yMDYuOCAxMC4yLTExNy45IDEwOS41LTIxMC43IDIzMC0yMTAuNyAxMDcuMSAwIDIwMS44IDc1LjggMjI1LjMgMTgwLjEgMy43IDE2LjYtNi44IDMzLjEtMjMuNCAzNi45LTE2LjcgMy45LTMzLjItNi43LTM2LjktMjMuMy0xNy4xLTc2LjQtODYuNS0xMzEuOS0xNjUtMTMxLjktOTMuMyAwLTE2OS4yIDc1LjktMTY5LjIgMTY5LjEgMS43IDguMS4zIDE1LjQtNC40IDIyLjMtNC42IDYuOS0xMS43IDEwLjQtMTkuOSAxMi03OC4yIDE0LjgtMTM0LjkgNzguOS0xMzQuOSAxNTIuNCAwIDg1LjggNzUuOSAxNTUuNiAxNjkuMiAxNTUuNmgxMTQuOGMxNyAwIDMwLjkgMTMuOCAzMC45IDMwLjlzLTEzLjggMzAuNy0zMC44IDMwLjd6bTExMi43LTMxYy04LjIgMC0xNi4zLTMuMi0yMi40LTkuNi0xMS43LTEyLjQtMTEuMy0zMS45IDEuMS00My42bDEyNi43LTEyMC40YzExLjgtMTEuMyAzMC41LTExLjMgNDIuNSAwTDgzNC44IDY5OWMxMi40IDExLjcgMTIuOSAzMS4zIDEuMSA0My42LTExLjcgMTIuMy0zMS4zIDEyLjktNDMuNiAxLjFMNjg2LjggNjQzLjYgNTgxLjMgNzQzLjhjLTUuOSA1LjctMTMuNiA4LjUtMjEuMiA4LjV6IiBmaWxsPSIjMDlGIi8+PHBhdGggZD0iTTY4Ni44IDg3OWMtMTcgMC0zMC45LTEzLjgtMzAuOS0zMC45VjYwMWMwLTE3IDEzLjktMzAuOSAzMC45LTMwLjlzMzAuOSAxMy44IDMwLjkgMzAuOXYyNDcuMWMwIDE3LjEtMTMuOSAzMC45LTMwLjkgMzAuOXoiIGZpbGw9IiMwOUYiLz48L3N2Zz4=)}mew-cloud .mew-cloud-logo.type-ali{background-image:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIyLjAzNSAxMy44MDZhLjUyNy41MjcgMCAwMS0uMzg0LS42MTdjMS4yMjctNS42MzItMi4yLTExLjMxLTcuODQ1LTEyLjgxN0M4LTEuMTc4IDIuMDA4IDIuMjYuNDM4IDguMDM5bC0uMDAyLjAxLS4wMDUuMDE2Yy0uOTU1IDMuNTgzLS4zMTUgNy4zMzggMS44MTMgMTAuNDRhMTIuNjU5IDEyLjY1OSAwIDAwNi4wODYgNC43MTNjNi44ODcgMi41MDggMTQuMzAzLTEuMjUgMTYuNDk1LTcuOTY4YS42NDMuNjQzIDAgMDAtLjQ0OC0uODE5bC0yLjM0My0uNjI1em0tMTEuNDQgNS40NTdBOC4xMjcgOC4xMjcgMCAwMTUuNjIgMTUuNDZhOC4wODMgOC4wODMgMCAwMS0uODItNi4xODdjLjkzNS0zLjQ0MSA0LjUwMi01LjQ5IDcuOTYtNC41NjYgMy4yODUuODc3IDUuMzA5IDQuMTIxIDQuNzIgNy4zOTdhLjYuNiAwIDAwLjQzNC42OWwyLjIwNi41ODljLjI4LjA3NS40MzcuMzcuMzQ0LjY0Mi0xLjM4IDQuMDI1LTUuNjkgNi4zNTYtOS44NyA1LjI0eiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhciIgeDE9IjAiIHkxPSIwIiB4Mj0iMjYuMzY2IiB5Mj0iMjIuMjA4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzQ0NkRGRiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzYzN0RGRiIgc3RvcC1vcGFjaXR5PSIuNzUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=)}mew-cloud .mew-cloud-logo.type-github{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjUyMTY0NzM0OTg3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ2OTUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IGZlZWRiYWNrLWljb25mb250OyBzcmM6IHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUud29mZjI/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi8vYXQuYWxpY2RuLmNvbS90L2ZvbnRfMTAzMTE1OF91Njl3OHloeGR1LndvZmY/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmIiksIHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUudHRmP3Q9MTYzMDAzMzc1OTk0NCIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDg1LjMzMzMzM0MyNzYuMjY2NjY3IDg1LjMzMzMzMyA4NS4zMzMzMzMgMjc2LjI2NjY2NyA4NS4zMzMzMzMgNTEyYTQyNi40MTA2NjcgNDI2LjQxMDY2NyAwIDAgMCAyOTEuNzU0NjY3IDQwNC44MjEzMzNjMjEuMzMzMzMzIDMuNzEyIDI5LjMxMi05LjA4OCAyOS4zMTItMjAuMzA5MzMzIDAtMTAuMTEyLTAuNTU0NjY3LTQzLjY5MDY2Ny0wLjU1NDY2Ny03OS40NDUzMzMtMTA3LjE3ODY2NyAxOS43NTQ2NjctMTM0LjkxMi0yNi4xMTItMTQzLjQ0NTMzMy01MC4xMzMzMzQtNC44MjEzMzMtMTIuMjg4LTI1LjYtNTAuMTMzMzMzLTQzLjczMzMzMy02MC4yODgtMTQuOTMzMzMzLTcuOTc4NjY3LTM2LjI2NjY2Ny0yNy43MzMzMzMtMC41NTQ2NjctMjguMjQ1MzMzIDMzLjYyMTMzMy0wLjU1NDY2NyA1Ny42IDMwLjkzMzMzMyA2NS42MjEzMzMgNDMuNzMzMzMzIDM4LjQgNjQuNTEyIDk5Ljc1NDY2NyA0Ni4zNzg2NjcgMTI0LjI0NTMzNCAzNS4yIDMuNzU0NjY3LTI3LjczMzMzMyAxNC45MzMzMzMtNDYuMzc4NjY3IDI3LjIyMTMzMy01Ny4wNDUzMzMtOTQuOTMzMzMzLTEwLjY2NjY2Ny0xOTQuMTMzMzMzLTQ3LjQ4OC0xOTQuMTMzMzMzLTIxMC42ODggMC00Ni40MjEzMzMgMTYuNTEyLTg0Ljc3ODY2NyA0My43MzMzMzMtMTE0LjY4OC00LjI2NjY2Ny0xMC42NjY2NjctMTkuMi01NC40IDQuMjY2NjY3LTExMy4wNjY2NjcgMCAwIDM1LjcxMi0xMS4xNzg2NjcgMTE3LjMzMzMzMyA0My43NzZhMzk1Ljk0NjY2NyAzOTUuOTQ2NjY3IDAgMCAxIDEwNi42NjY2NjctMTQuNDIxMzMzYzM2LjI2NjY2NyAwIDcyLjUzMzMzMyA0Ljc3ODY2NyAxMDYuNjY2NjY2IDE0LjM3ODY2NyA4MS41Nzg2NjctNTUuNDY2NjY3IDExNy4zMzMzMzMtNDMuNjkwNjY3IDExNy4zMzMzMzQtNDMuNjkwNjY3IDIzLjQ2NjY2NyA1OC42NjY2NjcgOC41MzMzMzMgMTAyLjQgNC4yNjY2NjYgMTEzLjA2NjY2NyAyNy4xNzg2NjcgMjkuODY2NjY3IDQzLjczMzMzMyA2Ny43MTIgNDMuNzMzMzM0IDExNC42NDUzMzMgMCAxNjMuNzU0NjY3LTk5LjcxMiAyMDAuMDIxMzMzLTE5NC42NDUzMzQgMjEwLjY4OCAxNS40NDUzMzMgMTMuMzEyIDI4LjggMzguOTEyIDI4LjggNzguOTMzMzMzIDAgNTcuMDQ1MzMzLTAuNTU0NjY3IDEwMi45MTItMC41NTQ2NjYgMTE3LjMzMzMzNCAwIDExLjE3ODY2NyA4LjAyMTMzMyAyNC40OTA2NjcgMjkuMzU0NjY2IDIwLjIyNEE0MjcuMzQ5MzMzIDQyNy4zNDkzMzMgMCAwIDAgOTM4LjY2NjY2NyA1MTJjMC0yMzUuNzMzMzMzLTE5MC45MzMzMzMtNDI2LjY2NjY2Ny00MjYuNjY2NjY3LTQyNi42NjY2Njd6IiBmaWxsPSIjMDAwMDAwIiBwLWlkPSI0Njk2Ij48L3BhdGg+PC9zdmc+)}mew-cloud .mew-cloud-logo.type-gitee{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjUyMTY1NjgxOTQ2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ4NjYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IGZlZWRiYWNrLWljb25mb250OyBzcmM6IHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUud29mZjI/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi8vYXQuYWxpY2RuLmNvbS90L2ZvbnRfMTAzMTE1OF91Njl3OHloeGR1LndvZmY/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmIiksIHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUudHRmP3Q9MTYzMDAzMzc1OTk0NCIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDEwMjRDMjI5LjIyMiAxMDI0IDAgNzk0Ljc3OCAwIDUxMlMyMjkuMjIyIDAgNTEyIDBzNTEyIDIyOS4yMjIgNTEyIDUxMi0yMjkuMjIyIDUxMi01MTIgNTEyeiBtMjU5LjE0OS01NjguODgzaC0yOTAuNzRhMjUuMjkzIDI1LjI5MyAwIDAgMC0yNS4yOTIgMjUuMjkzbC0wLjAyNiA2My4yMDZjMCAxMy45NTIgMTEuMzE1IDI1LjI5MyAyNS4yNjcgMjUuMjkzaDE3Ny4wMjRjMTMuOTc4IDAgMjUuMjkzIDExLjMxNSAyNS4yOTMgMjUuMjY3djEyLjY0NmE3NS44NTMgNzUuODUzIDAgMCAxLTc1Ljg1MyA3NS44NTNoLTI0MC4yM2EyNS4yOTMgMjUuMjkzIDAgMCAxLTI1LjI2Ny0yNS4yOTNWNDE3LjIwM2E3NS44NTMgNzUuODUzIDAgMCAxIDc1LjgyNy03NS44NTNoMzUzLjk0NmEyNS4yOTMgMjUuMjkzIDAgMCAwIDI1LjI2Ny0yNS4yOTJsMC4wNzctNjMuMjA3YTI1LjI5MyAyNS4yOTMgMCAwIDAtMjUuMjY4LTI1LjI5M0g0MTcuMTUyYTE4OS42MiAxODkuNjIgMCAwIDAtMTg5LjYyIDE4OS42NDVWNzcxLjE1YzAgMTMuOTc3IDExLjMxNiAyNS4yOTMgMjUuMjk0IDI1LjI5M2gzNzIuOTRhMTcwLjY1IDE3MC42NSAwIDAgMCAxNzAuNjUtMTcwLjY1VjQ4MC4zODRhMjUuMjkzIDI1LjI5MyAwIDAgMC0yNS4yOTMtMjUuMjY3eiIgZmlsbD0iI0M3MUQyMyIgcC1pZD0iNDg2NyI+PC9wYXRoPjwvc3ZnPg==)}mew-cloud .mew-cloud-logo.type-lz{background-image:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik02NzguNjQgNTE0LjAwN2ExNjguNDQ4IDE2OC40NDggMCAxIDAtMTY4LjQ0NyAxNjcuNzA2QTE2OC4wNyAxNjguMDcgMCAwIDAgNjc4LjY0IDUxNC4wMDd6IiBmaWxsPSIjRjRDQTFDIi8+PHBhdGggZD0iTTk4My4wNCA2MDMuNDEyYTI0Mi40ODggMjQyLjQ4OCAwIDAgMC0yODAuMzkyLTIzOC40MDdBMjUzLjMyMiAyNTMuMzIyIDAgMCAwIDI1Ni4yMiAyODcuMThhMjQ5LjEzNCAyNDkuMTM0IDAgMCAwLTQ4Ljk1NyAxNTMuMzg1QTIwMy4zOTcgMjAzLjM5NyAwIDAgMCAyNDAuMTg5IDg0NC44aDUyNy43NzVhMzEuOTkgMzEuOTkgMCAwIDAgMTQuNzUtMy43MTcgMjQyLjAzOCAyNDIuMDM4IDAgMCAwIDIwMC4zMjYtMjM3LjY3ek03NDAuNjA4IDc4MC43MTNIMjQwLjE4OWExMzkuMzg3IDEzOS4zODcgMCAxIDEgMC0yNzguNzY5IDMxLjk3IDMxLjk3IDAgMCAwIDguNzA0LTEuMzQxIDMxLjk2NCAzMS45NjQgMCAwIDAgMjQuODQ4LTM1Ljk5OSAxODcuODEyIDE4Ny44MTIgMCAwIDEgMTU3Ljc0Mi0yMTQuMDE2IDE4OC40NjIgMTg4LjQ2MiAwIDAgMSAyMDkuNTQxIDEzMi44MzkgMjQxLjYyOCAyNDEuNjI4IDAgMCAwLTE0Mi44NDggMjE5Ljk4NSAzMi4xOCAzMi4xOCAwIDAgMCA2NC4zNTggMCAxNzguMDY4IDE3OC4wNjggMCAxIDEgMTc4LjA3NCAxNzcuMzAxeiIgZmlsbD0iIzU5NUJCMyIvPjwvc3ZnPg==)}mew-cloud .mew-cloud-desc{line-height:normal;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}mew-cloud .mew-cloud-desc-title{color:var(--theme);margin-bottom:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}mew-cloud .mew-cloud-desc-type{font-size:.8em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}mew-cloud .mew-cloud-link{-ms-flex-negative:0;flex-shrink:0;margin-left:auto;background:var(--theme);color:#fff;width:2em;height:2em;line-height:2em;border-radius:50%;text-align:center}mew-cloud,mew-progress{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}mew-progress .mew-progress-bar{height:10px;border-radius:5px;overflow:hidden;background:var(--light-b);width:0;min-width:0;-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:5px}mew-progress .mew-progress-bar-inner{height:100%;overflow:hidden;border-radius:5px}mew-progress .mew-progress-bar-inner:before{content:'';display:block;height:100%;background-size:30px 30px;-webkit-animation:progress 750ms linear infinite;animation:progress 750ms linear infinite;background-image:linear-gradient(135deg,rgba(255,255,255,.4) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.4) 75%,transparent 75%,transparent 100%)}mew-progress .mew-progress-value{width:38px;color:var(--main)}mew-cloud,mew-panel{overflow:hidden;border-radius:var(--radius-inner)}mew-panel .mew-panel-title{color:#fff;padding:6px 12px;font-weight:400}mew-panel .mew-panel-body{background:rgba(255,255,255,.88);padding:12px 18px;position:relative}mew-message,mew-panel,mew-timeline{display:block;margin-bottom:14px}mew-message{padding:10px;border-radius:var(--radius-inner)}mew-message::before{font:1.1em/1 FontAwesome;margin-right:8px}mew-message[type=error]{color:#f46c6b;background-color:rgba(255,228,226,.9)}mew-message[type=error]::before{content:'\f057'}mew-message[type=warning]{color:#fec008;background-color:rgba(255,243,215,.9)}mew-message[type=warning]::before{content:'\f06a'}mew-message[type=info]{color:#1b72f3;background-color:rgba(232,240,255,.9)}mew-message[type=info]::before{content:'\f05a'}mew-message[type=success]{color:#2bde3f;background-color:rgba(225,255,228,.9)}mew-message[type=success]::before{content:'\f058'}mew-hr{height:4px;background-size:50px 4px;margin:14px 0}mew-timeline{border-left:1px solid var(--light-b)}mew-timeline>div{position:relative;padding-left:1.2em}mew-timeline>div::before{content:'';position:absolute;border-radius:50%;top:.1em}mew-timeline>div+.mew-timeline-title{margin-top:16px}mew-timeline .mew-timeline-title{color:var(--dark-c);font-weight:500;padding-bottom:5px}mew-timeline .mew-timeline-title::before{background-color:#50bfff;-webkit-box-shadow:0 0 0 .4em rgba(80,191,255,.25);box-shadow:0 0 0 .4em rgba(80,191,255,.25);left:-.32em;height:.6em;width:.6em}mew-timeline .mew-timeline-title-elem{position:relative;top:-.4em}mew-timeline .mew-timeline-item{font-size:.95em}mew-timeline .mew-timeline-item::before{background-color:var(--light-a);border:2px solid #50bfff;left:-5px;height:5px;width:5px}mew-timeline .mew-timeline-item:not(:last-child){padding-bottom:16px}mew-timeline .mew-timeline-item-title{display:block;line-height:1em;margin-bottom:2px;font-weight:400;position:relative;top:-.1em}mew-timeline .mew-timeline-item-content{padding:8px 12px;overflow:hidden;border-radius:0 6px 6px 6px;background-color:var(--bg-a);position:relative}mew-timeline .mew-timeline-item-content *{margin:0!important}mew-timeline .info.mew-timeline-title{color:#1b72f3}mew-timeline .info.mew-timeline-title::before{background-color:#73a3eb;-webkit-box-shadow:0 0 0 .4em rgba(115,163,235,.25);box-shadow:0 0 0 .4em rgba(115,163,235,.25)}mew-timeline .info.mew-timeline-item::before{border-color:#73a3eb}mew-timeline .info .mew-timeline-item-content{color:#1b72f3;background-color:#ecf3ff}mew-timeline .warning.mew-timeline-title{color:#fec008}mew-timeline .warning.mew-timeline-title::before{background-color:#ffd350;-webkit-box-shadow:0 0 0 .4em rgba(255,211,80,.25);box-shadow:0 0 0 .4em rgba(255,211,80,.25)}mew-timeline .warning.mew-timeline-item::before{border-color:#ffd350}mew-timeline .warning .mew-timeline-item-content{color:#fec008;background-color:#fdf6e6}mew-timeline .success.mew-timeline-title{color:#2bde3f}mew-timeline .success.mew-timeline-title::before{background-color:#6de37a;-webkit-box-shadow:0 0 0 .4em rgba(109,227,122,.25);box-shadow:0 0 0 .4em rgba(109,227,122,.25)}mew-timeline .success.mew-timeline-item::before{border-color:#6de37a}mew-timeline .success .mew-timeline-item-content{color:#2bde3f;background-color:#e9fbeb}mew-timeline .error.mew-timeline-title{color:#f46c6b}mew-timeline .error.mew-timeline-title::before{background-color:#ff7776;-webkit-box-shadow:0 0 0 .4em rgba(255,119,118,.25);box-shadow:0 0 0 .4em rgba(255,119,118,.25)}mew-timeline .error.mew-timeline-item::before{border-color:#ff7776}mew-timeline .error .mew-timeline-item-content{color:#f46c6b;background-color:#ffeeed}mew-btn,mew-btn>.mew-btn{display:inline-block}mew-btn>.mew-btn{color:#fff;line-height:1em;padding:.5em 12px;font-weight:400;background:var(--theme);border-radius:var(--radius-inner)}mew-btn>.mew-btn:hover{color:#fff;-webkit-filter:opacity(.8);filter:opacity(.8);-webkit-box-shadow:0 4px 15px -4px rgba(41,45,52,.3);box-shadow:0 4px 15px -4px rgba(41,45,52,.3)}mew-btn>.mew-btn>i{margin-right:6px;font-size:.9em}mew-quote{margin:0 18px 14px}mew-quote,mew-quote .mew-quote,mew-quote .quote-container{display:-webkit-box;display:-ms-flexbox;display:flex}mew-quote .mew-quote{margin:0 auto;padding:10px}mew-quote .mew-quote:after,mew-quote .mew-quote:before{color:var(--theme);font-size:2.8em;font-family:fantasy;line-height:1}mew-quote .mew-quote:before{content:'“';margin-right:14px;margin-top:-10px}mew-quote .mew-quote:after{content:'”';-ms-flex-item-align:end;align-self:flex-end;margin-left:14px;margin-bottom:calc(-.5em - 10px)}mew-quote .quote-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}mew-quote .mew-quote-href{padding:4px;display:inline-block;background:var(--bg-a);-webkit-transition:-webkit-transform 2s;transition:transform 2s;transition:transform 2s,-webkit-transform 2s;margin-right:8px;-ms-flex-negative:0;flex-shrink:0}mew-quote .mew-quote-href:hover{-webkit-transform:rotate(360deg);transform:rotate(360deg)}mew-quote .mew-quote-href,mew-quote .mew-quote-href .quote-avatar-hexagon{-webkit-clip-path:polygon(40% 7.67949%,43.1596% 6.20615%,46.52704% 5.30384%,50% 5%,53.47296% 5.30384%,56.8404% 6.20615%,60% 7.67949%,81.65064% 20.17949%,84.50639% 22.17911%,86.97152% 24.64425%,88.97114% 27.5%,90.44449% 30.6596%,91.34679% 34.02704%,91.65064% 37.5%,91.65064% 62.5%,91.34679% 65.97296%,90.44449% 69.3404%,88.97114% 72.5%,86.97152% 75.35575%,84.50639% 77.82089%,81.65064% 79.82051%,60% 92.32051%,56.8404% 93.79385%,53.47296% 94.69616%,50% 95%,46.52704% 94.69616%,43.1596% 93.79385%,40% 92.32051%,18.34936% 79.82051%,15.49361% 77.82089%,13.02848% 75.35575%,11.02886% 72.5%,9.55551% 69.3404%,8.65321% 65.97296%,8.34936% 62.5%,8.34936% 37.5%,8.65321% 34.02704%,9.55551% 30.6596%,11.02886% 27.5%,13.02848% 24.64425%,15.49361% 22.17911%,18.34936% 20.17949%);clip-path:polygon(40% 7.67949%,43.1596% 6.20615%,46.52704% 5.30384%,50% 5%,53.47296% 5.30384%,56.8404% 6.20615%,60% 7.67949%,81.65064% 20.17949%,84.50639% 22.17911%,86.97152% 24.64425%,88.97114% 27.5%,90.44449% 30.6596%,91.34679% 34.02704%,91.65064% 37.5%,91.65064% 62.5%,91.34679% 65.97296%,90.44449% 69.3404%,88.97114% 72.5%,86.97152% 75.35575%,84.50639% 77.82089%,81.65064% 79.82051%,60% 92.32051%,56.8404% 93.79385%,53.47296% 94.69616%,50% 95%,46.52704% 94.69616%,43.1596% 93.79385%,40% 92.32051%,18.34936% 79.82051%,15.49361% 77.82089%,13.02848% 75.35575%,11.02886% 72.5%,9.55551% 69.3404%,8.65321% 65.97296%,8.34936% 62.5%,8.34936% 37.5%,8.65321% 34.02704%,9.55551% 30.6596%,11.02886% 27.5%,13.02848% 24.64425%,15.49361% 22.17911%,18.34936% 20.17949%)}mew-quote .mew-quote-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}mew-quote .mew-quote-content{margin-bottom:8px;line-height:1.5em}mew-quote .mew-quote-name{color:var(--dark-c);-ms-flex-item-align:self-end;align-self:self-end;font-size:.9em;font-style:italic;font-weight:400}mew-quote .mew-quote-name:before{content:'';width:2.8em;height:1px;background:var(--dark-c);margin-right:4px;display:inline-block;margin-bottom:.3em}mew-quote .quote-avatar-hexagon{height:5em;width:5em;-o-object-fit:cover;object-fit:cover}mew-link .mew-link,mew-link .mew-link-info{display:-webkit-box;display:-ms-flexbox;display:flex}mew-link .mew-link{margin:auto;max-width:420px;background:var(--bg-l);padding:12px 12px 9px;border-radius:8px;overflow:hidden}mew-link .mew-link-info{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}mew-link .info-desc,mew-link .info-title{line-height:1.3em;display:-webkit-box;text-overflow:ellipsis;overflow:hidden;-webkit-box-orient:vertical}mew-link .info-title{margin-bottom:6px;color:var(--dark-c);-webkit-line-clamp:2}mew-link .info-desc{font-size:.9em;height:1.3em;color:var(--dark-d);word-break:break-all;-webkit-line-clamp:1}mew-link .info-desc:before{content:'\f0c1';font-family:'FontAwesome';margin-right:4px}mew-link .mew-link-image{background-color:var(--bg-l);position:relative;display:block;width:60px;height:60px;margin-left:16px;border-radius:4px;overflow:hidden;-ms-flex-negative:0;flex-shrink:0}mew-link .link-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}mew-video{display:block;text-align:center}mew-video video{max-width:100%;border-radius:var(--radius-inner)}mew-photos{width:100%;position:relative;overflow:hidden}mew-photos>div,mew-photos>div>img{position:absolute;margin:0;padding:0}mew-photos>div{display:inline-block;overflow:hidden;opacity:.1;border-radius:8px;cursor:pointer}mew-photos>div>img{-webkit-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in;top:50%;left:50%;border:0;opacity:0}mew-photos>div>.jg-caption{opacity:0;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:.85em;font-weight:300;font-family:sans-serif;-webkit-transition:opacity 300ms ease-in;transition:opacity 300ms ease-in}mew-photos>div>.jg-caption.jg-caption-visible{opacity:.7}mew-photos>.jg-entry-visible{opacity:1;background:0 0}mew-photos>.jg-entry-visible>img{opacity:1}mew-photos,mew-raw{display:block;margin-bottom:14px}mew-btn:not([draw]),mew-hide:not([draw]),mew-link:not([draw]),mew-photos:not([draw]),mew-quote:not([draw]),mew-raw:not([draw]),mew-timeline:not([draw]){display:none}mew-bilibili:not([draw]),mew-cloud:not([draw]),mew-panel:not([draw]),mew-tabs:not([draw]),mew-video:not([draw]){display:block;overflow:hidden;position:relative;height:2.4em;border:1px solid var(--light-b);border-radius:var(--radius-inner);-webkit-box-shadow:1px 1px 5px 0 var(--bg-b);box-shadow:1px 1px 5px 0 var(--bg-b)}mew-bilibili:not([draw]):before,mew-cloud:not([draw]):before,mew-panel:not([draw]):before,mew-tabs:not([draw]):before,mew-video:not([draw]):before{content:'加载中...';position:absolute;top:0;bottom:0;left:0;right:0;line-height:2.4em;text-align:left;padding-left:12px;background:var(--light-a)}html.night .mew-cloud-link,html.night .mew-cloud-logo,html.night .mew-progress-bar-inner,html.night mew-btn,html.night mew-hr,html.night mew-message,html.night mew-panel,html.night mew-timeline{-webkit-filter:brightness(.8);filter:brightness(.8)}@media (max-width:1023px){mew-quote .quote-avatar-hexagon{height:3.6em;width:3.6em;-o-object-fit:cover;object-fit:cover}}@media (max-width:511px){mew-quote{margin:0}mew-quote .quote-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}mew-quote .mew-quote-avatar{text-align:center}mew-quote .quote-avatar-hexagon{height:3.2em;width:3.2em}mew-bilibili{padding:calc(30%) 0!important}mew-bilibili iframe,mew-video video{width:100%!important}} \ No newline at end of file diff --git a/source/css/post.min.css b/source/css/post.min.css new file mode 100644 index 0000000..b723879 --- /dev/null +++ b/source/css/post.min.css @@ -0,0 +1 @@ +@charset "utf-8";@-webkit-keyframes dong{0%{-webkit-transform:translateY(3px) scaleY(.95);transform:translateY(3px) scaleY(.95)}to{-webkit-transform:translateY(-3px) scaleY(1);transform:translateY(-3px) scaleY(1)}}@keyframes dong{0%{-webkit-transform:translateY(3px) scaleY(.95);transform:translateY(3px) scaleY(.95)}to{-webkit-transform:translateY(-3px) scaleY(1);transform:translateY(-3px) scaleY(1)}}@-webkit-keyframes shake-little{0%,12%,18%,24%,30%,36%,42%,48%,54%,6%,60%,66%,72%,78%,84%,90%,96%{-webkit-transform:translate(0,0);transform:translate(0,0)}14%,2%,26%,38%,50%,62%,74%,86%,98%{-webkit-transform:translate(-1px,1px);transform:translate(-1px,1px)}16%,28%,4%,40%,52%,64%,76%,88%,to{-webkit-transform:translate(-1px,-1px);transform:translate(-1px,-1px)}20%,32%,44%,56%,68%,8%,80%,92%{-webkit-transform:translate(1px,1px);transform:translate(1px,1px)}10%,22%,34%,46%,58%,70%,82%,94%{-webkit-transform:translate(1px,-1px);transform:translate(1px,-1px)}}@keyframes shake-little{0%,12%,18%,24%,30%,36%,42%,48%,54%,6%,60%,66%,72%,78%,84%,90%,96%{-webkit-transform:translate(0,0);transform:translate(0,0)}14%,2%,26%,38%,50%,62%,74%,86%,98%{-webkit-transform:translate(-1px,1px);transform:translate(-1px,1px)}16%,28%,4%,40%,52%,64%,76%,88%,to{-webkit-transform:translate(-1px,-1px);transform:translate(-1px,-1px)}20%,32%,44%,56%,68%,8%,80%,92%{-webkit-transform:translate(1px,1px);transform:translate(1px,1px)}10%,22%,34%,46%,58%,70%,82%,94%{-webkit-transform:translate(1px,-1px);transform:translate(1px,-1px)}}.admire{margin:30px 0 18px;text-align:center}.admire-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-bottom:15px}.admire-content button{border-radius:50px;padding:8px 18px;border:0;color:var(--light-a);-webkit-box-shadow:0 2px 10px rgba(0,0,0,.1);box-shadow:0 2px 10px rgba(0,0,0,.1)}.admire-content button i{margin-right:5px}.admire-content .donate{background:#c0a46b;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:relative;margin-right:10px}.admire-content .donate-list{position:absolute;bottom:40px;right:50%;border-radius:5px;background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);padding:12px;-webkit-transition:all .5s;transition:all .5s;pointer-events:none;opacity:0}.admire-content .donate-list ol{border-radius:5px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}.admire-content .donate-list img{max-width:200px;max-height:260px;-o-object-fit:cover;object-fit:cover}.admire-content .donate:hover i{-webkit-animation:dong ease .5s .2s infinite alternate;animation:dong ease .5s .2s infinite alternate}.admire-content .donate:hover .donate-list{-webkit-transform:translateX(50%);transform:translateX(50%);pointer-events:unset;opacity:1}.admire-content .agree{background:#cf4750}.admire-content .agree i{font-size:1.2em}.admire-content .agree span>span{margin-left:3px}.admire-content .agree.like{background:var(--background);color:var(--dark-e)}.admire-content .agree.like:hover i{-webkit-animation:shake-little ease-in-out 4s infinite;animation:shake-little ease-in-out 4s infinite}.admire-content .agree:not(.like) i:before{content:'\f164'}.admire>span{color:var(--dark-d);font-size:.9em}.article-operation{margin:18px 0;display:-webkit-box;display:-ms-flexbox;display:flex}.article-operation .level-item{-ms-flex-negative:1!important;flex-shrink:1!important;-webkit-box-pack:left!important;-ms-flex-pack:left!important;justify-content:left!important;overflow-x:auto}.article-operation .level-item::-webkit-scrollbar{display:none}.article-operation a,.copyright{position:relative;overflow:hidden}.article-operation a{color:var(--dark-b);font-size:.9em;background:var(--bg-b);border:1px solid var(--bg-b);padding:0 8px 0 29px;height:26px;line-height:24px;border-radius:13px;max-width:125px;white-space:nowrap;text-overflow:ellipsis;margin-right:10px;-ms-flex-negative:0;flex-shrink:0}.article-operation a:before{content:"";position:absolute;top:0;left:0;width:24px;height:24px;background:var(--background);border-radius:50%}.article-operation a:after{content:'\f097';position:absolute;font-family:'FontAwesome';top:50%;left:12px;font-size:1.2em;color:var(--theme);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.article-operation a:hover{color:var(--main);border:1px solid var(--light-b)}.copyright{margin:18px 0;background:var(--bg-h);border-radius:6px;display:block;padding:17px}.copyright:after{position:absolute;right:-50px;top:-30px;content:'\f25e';font-size:200px;font-family:'FontAwesome';color:var(--bg-i);opacity:.1}.copyright .copyright-title{line-height:1.2;margin-bottom:14px}.copyright .copyright-title :not(:last-child){margin-bottom:.25em}.copyright .copyright-title a{font-size:.85em;color:var(--dark-d)}.copyright .copyright-meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.copyright .copyright-meta .icon{width:1.2em;height:1.2em}.copyright .copyright-meta .level-item{margin-right:1.4em!important;display:block}.copyright .copyright-meta .level-item h6{margin:0}.copyright .copyright-meta .level-item a,.copyright .copyright-meta .level-item p{color:var(--dark-e)}@media (max-width:520px){.admire .donate-list ol{-ms-flex-wrap:wrap;flex-wrap:wrap}.admire .donate-list ol img{width:200px}} \ No newline at end of file diff --git a/source/css/style.min.css b/source/css/style.min.css new file mode 100644 index 0000000..101da4b --- /dev/null +++ b/source/css/style.min.css @@ -0,0 +1 @@ +@charset "utf-8";@-webkit-keyframes swag{0%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes swag{0%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes move-forever{0%{-webkit-transform:translate3d(-90px,0,0);transform:translate3d(-90px,0,0)}to{-webkit-transform:translate3d(85px,0,0);transform:translate3d(85px,0,0)}}@keyframes move-forever{0%{-webkit-transform:translate3d(-90px,0,0);transform:translate3d(-90px,0,0)}to{-webkit-transform:translate3d(85px,0,0);transform:translate3d(85px,0,0)}}@-webkit-keyframes flicker{0%{opacity:1}to{opacity:0}}@keyframes flicker{0%{opacity:1}to{opacity:0}}@-webkit-keyframes code-expand{0%,to{opacity:.8}50%{opacity:.1}}@keyframes code-expand{0%,to{opacity:.8}50%{opacity:.1}}@-webkit-keyframes dung{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}30%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}60%{-webkit-transform:translateY(2px);transform:translateY(2px)}80%{-webkit-transform:translateY(-1px);transform:translateY(-1px)}90%{-webkit-transform:translateY(1px);transform:translateY(1px)}}@keyframes dung{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}30%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}60%{-webkit-transform:translateY(2px);transform:translateY(2px)}80%{-webkit-transform:translateY(-1px);transform:translateY(-1px)}90%{-webkit-transform:translateY(1px);transform:translateY(1px)}}*,html{-webkit-box-sizing:border-box;box-sizing:border-box}*{margin:0;padding:0;outline:0;-webkit-tap-highlight-color:transparent}body>.footer,body>.navbar,body>.section{opacity:0}.navbar-above{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.load-block,body>.footer,body>.navbar,body>.section{-webkit-transition:opacity .3s ease-out,-webkit-transform .3s ease-out;transition:opacity .3s ease-out,transform .3s ease-out;transition:opacity .3s ease-out,transform .3s ease-out,-webkit-transform .3s ease-out}.card,.load-block{opacity:0;-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:center top;transform-origin:center top}.tips{margin-bottom:-.6rem;background-color:rgba(221,234,255,.9)!important;padding:.8rem;border:0!important;color:var(--theme)!important;font-size:1.15em}.tips::before{content:"\f028";font:14px/1 FontAwesome;margin-right:.5rem;font-size:1.2em}.tips .click-close{margin-left:5px;cursor:pointer;font-size:18px;line-height:1.2em;float:right}.tips .click-close:hover{color:#333}html{font-size:14px;background-color:var(--bg-f);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}html.loaded body>.footer,html.loaded body>.navbar,html.loaded body>.section{opacity:1}html.loaded .navbar-above{-webkit-transform:translateY(0);transform:translateY(0)}html.loaded .card,html.loaded .load-block{opacity:1;-webkit-transform:none;transform:none}html.pjax-loading .column-main .card,html.pjax-loading .load-block{opacity:.8;-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:center top;transform-origin:center top}html.disable-scroll{overflow:hidden}html:not(.disable-scroll) body.move-up .navbar-above{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}html:not(.disable-scroll) .actions.show{right:16px}html.clean{background-color:var(--style-a)}html.clean .card{-webkit-box-shadow:none;box-shadow:none;border:1px solid var(--light-b);background:0 0}html.clean .card:hover{background:0 0}html.clean .footer{-webkit-backdrop-filter:none;backdrop-filter:none}html.clean .footer:before{content:none}html.clean .pagination-link:not(.is-current),html.clean .pagination-next,html.clean .pagination-previous{-webkit-box-shadow:none;box-shadow:none;border:1px solid var(--light-b)}body{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column;min-height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:1em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:env(safe-area-inset-bottom);scroll-behavior:smooth;overflow-x:hidden;overflow-y:overlay}body::-webkit-scrollbar-thumb{background:var(--theme);background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.4) 25%,transparent 0,transparent 50%,rgba(255,255,255,.4) 0,rgba(255,255,255,.4) 75%,transparent 0,transparent)}body:after,body:before{position:fixed;top:0;left:0;right:0;bottom:0}body:before{content:'';z-index:-1;-webkit-transition:opacity 1s;transition:opacity 1s;background-size:cover!important}body:after{content:"";z-index:-10;pointer-events:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:rgba(160,160,160,.2);border-radius:2em}::-webkit-scrollbar-track{background:0 0;border-radius:2em}::-moz-selection{color:#fff;background:var(--theme)}::selection{color:#fff;background:var(--theme)}input[type=text]{-webkit-appearance:none;border-radius:0;font-size:13px;font-weight:500}iframe{display:block;border:0}textarea{font-size:14px;resize:none;-webkit-appearance:none}li,ol,ul{list-style:none}img{border:0;vertical-align:middle}img:not([src]),img[src=""]{border:0;opacity:0}canvas,svg{vertical-align:middle}a,button{cursor:pointer}button{-webkit-appearance:none;font-size:13px}table{border-collapse:collapse;border-spacing:0}blockquote,dd,dl,dt,fieldset,figure,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}body{margin:0!important}body,h1,h2,h3,h4,h5,h6,hr,pre code{padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:500;margin:0 0 10px}button,input,select{margin:0}audio{max-width:100%}body,button,input,select,textarea{font-family:"Dream Font",BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;font-family:monospace}.section .card-title span,section{-webkit-box-flex:1;-ms-flex:1;flex:1}a{color:var(--theme);text-decoration:none;word-break:break-all}a:hover{color:var(--dark-c)}code{color:#ff3860;font-weight:400;padding:.25em .5em}hr{background-color:var(--light-b);display:block;height:1px;margin:11.2px 0}input[type=checkbox],input[type=radio]{vertical-align:baseline}code,pre,small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{font-weight:700}fieldset,hr{border:0}code,pre{background-color:#f5f5f5}pre{-webkit-overflow-scrolling:touch;color:var(--main);overflow-x:auto;white-space:pre;word-wrap:normal;padding:1.25rem 1.5rem}pre code{background-color:transparent;color:currentColor;font-size:1em}table td,table th{vertical-align:top}.container{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto}.canvas_effects{position:fixed;margin:0;padding:0;border:0;outline:0;left:0;top:0;width:100%;height:100%;pointer-events:none}.canvas_effects.universe{background:radial-gradient(1600px at 70% 120%,#212750 10%,#020409 100%)}.canvas_effects.night{display:none}.tag{background-color:var(--bg-c);border-radius:4px;color:var(--dark-c);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:.75em;height:2em;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.button,.level,.level-item,.tag{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.button{-moz-appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:1rem;height:2.25em;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;line-height:1.5;padding:calc(.375em - 1px) calc(.625em - 1px);position:relative;vertical-align:top}.button.is-link{border-color:transparent;color:#fff;background-color:var(--theme)}.button.is-link:hover{opacity:.8}.button.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.button.is-transparent{background:0 0;border-color:transparent;color:var(--dark-c)}.button.is-transparent.is-hovered,.button.is-transparent:hover,.menu-list a:hover{background-color:var(--bg-c)}.button.is-large{font-size:1.5rem}.level,.level-item{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.level-item{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.title{color:var(--dark-c);font-size:1.6rem;font-weight:400;line-height:1.25}.title .top{background-image:-webkit-linear-gradient(0deg,rgba(57,169,255,.8) 0,rgba(155,79,255,.8) 100%);border-radius:2px 6px;color:#fff;padding:0 6px;font-size:12px;line-height:20px;vertical-align:3px;margin-right:5px;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.is-invisible{visibility:hidden!important}.image{display:block;position:relative}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;font-size:.8rem;-ms-flex-negative:0;flex-shrink:0}.breadcrumb li i{margin-right:3px}.breadcrumb li:not(:first-child)::before{content:"/";color:var(--light-d);padding:0 5px}.has-link-grey{line-height:1.85rem;color:var(--theme);background-image:linear-gradient(transparent calc(100% - 1px),var(--theme) 1px);background-repeat:no-repeat;background-size:0 100%;-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.has-link-grey:hover{color:var(--theme)!important;background-size:100% 100%}.is-hidden-all{display:none!important}.card:not(.is-hidden-all)~.card{margin-top:1.4rem!important}.indent{text-indent:2em}.dream-emoji{width:1.4em;height:1.4em;margin:auto 1px;vertical-align:text-bottom}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:var(--main);display:block;padding:.5em .75em}.menu-list a.level{display:-webkit-box;display:-ms-flexbox;display:flex}.menu-list a.is-active{background-color:var(--bg-e);color:var(--light-a)}.menu-list i{margin-right:.5em}.menu-list li ul{margin:.5em .5em .75em .75em;padding-left:.5em;border-left:1px solid var(--light-c)}.menu-list>li>a:not(.is-active)+.menu-list{display:none}.expand-done{background:var(--bg-k);position:absolute;bottom:0;left:0;right:0;text-align:center;height:1.8rem;cursor:pointer}.expand-done i{color:var(--dark-b);font-size:1.6rem;-webkit-animation:code-expand 2.4s infinite;animation:code-expand 2.4s infinite;text-shadow:0 -1px 5px var(--light-d);-webkit-transition:all .3s;transition:all .3s}.fold{max-height:320px}.fold .expand-done{background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(77,77,77,.4)));background:linear-gradient(180deg,transparent,rgba(77,77,77,.4))}.fold .expand-done i{-webkit-transform:rotatex(180deg);transform:rotatex(180deg)}.loading::after{content:'';display:block;width:70px;height:70px;margin:12px auto;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTciIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCA1NyA1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM0MDllZmYiPg0KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiIHN0cm9rZS13aWR0aD0iMiI+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI1IiBjeT0iNTAiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IjUwOzU7NTA7NTAiDQogICAgICAgICAgICAgICAgICAgICBjYWxjTW9kZT0ibGluZWFyIg0KICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+DQogICAgICAgICAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giDQogICAgICAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMi4ycyINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTsyNzs0OTs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSIyNyIgY3k9IjUiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSI1IiB0bz0iNSINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTs1MDs1MDs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSIyNyIgdG89IjI3Ig0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIyNzs0OTs1OzI3Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI0OSIgY3k9IjUwIiByPSI1Ij4NCiAgICAgICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI1MDs1MDs1OzUwIg0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgZnJvbT0iNDkiIHRvPSI0OSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI0OTs1OzI3OzQ5Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=);background-repeat:no-repeat;background-size:100% 100%}.bg-shadow:before{content:'';display:block;width:100%;height:100%;position:absolute;top:0;left:0;background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.2)),to(rgba(0,0,0,.05)));background:linear-gradient(to top,rgba(0,0,0,.2),rgba(0,0,0,.05))}#dprogress{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2000;position:fixed;top:0;left:0;right:0;width:100%;height:2px}#dprogress .bar{background:var(--theme);-webkit-box-shadow:0 0 10px 1px var(--theme);box-shadow:0 0 10px 1px var(--theme);height:100%}.logo-title{font-size:1.5em;color:var(--theme)!important}.logo-title img{max-height:2rem}.logo-img-dark,.navbar-above .navbar-nav .item-dropdown-menu a::after{display:none}.navbar-above{position:fixed;top:0;z-index:6;width:100%;background-color:var(--background);-webkit-transition:all .5s;transition:all .5s;-webkit-box-shadow:0 4px 10px rgba(0,0,0,.05),0 0 1px rgba(0,0,0,.1);box-shadow:0 4px 10px rgba(0,0,0,.05),0 0 1px rgba(0,0,0,.1)}.navbar-above .container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-above .navbar-item{padding-right:.75rem;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;color:#4a4a4a;line-height:1.5;position:relative}.navbar-above .navbar-item,.navbar-above .navbar-nav,.navbar-above .navbar-nav .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-above .navbar-nav .item{cursor:pointer;position:relative;height:3.5rem;line-height:3.5rem;font-size:15px;padding:0 8px;margin-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;color:var(--main);-webkit-transition:color .35s;transition:color .35s}.navbar-above .navbar-nav .item>i{display:inline-block;margin-right:4px;font-size:18px;-webkit-transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s}.navbar-above .navbar-nav .item:last-child{margin-right:0}.navbar-above .navbar-nav .item::after{opacity:0;position:absolute;bottom:0;left:6px;right:6px;content:"";height:3px;-webkit-transform:scaleX(.25);transform:scaleX(.25);background:var(--theme);border-radius:6px 6px 0 0;-webkit-transition:opacity .5s,-webkit-transform .5s;transition:opacity .5s,transform .5s;transition:opacity .5s,transform .5s,-webkit-transform .5s}.navbar-above .navbar-nav .item.current,.navbar-above .navbar-nav .item:hover{color:var(--theme)}.navbar-above .navbar-nav .item.current::after,.navbar-above .navbar-nav .item.current:hover::after,.widget.recent-posts .card-content .list .item:hover .link:after{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.navbar-above .navbar-nav .item:hover::after{opacity:.3;-webkit-transform:scaleX(.7);transform:scaleX(.7)}.navbar-above .navbar-nav .item-dropdown.active .item-dropdown-link a,.navbar-above .navbar-nav .item-dropdown.active .item-dropdown-link i,.navbar-above .navbar-nav .item:hover+.joe-icon-arrow-down{color:var(--theme)!important}.navbar-above .navbar-nav.active-shadow .item.current{text-shadow:0 4px 20px var(--theme)}.navbar-above .navbar-nav.active-animate .item:hover .m-icon{-webkit-animation:dung .3s .12s ease;animation:dung .3s .12s ease}.navbar-above .navbar-nav .item-dropdown{margin-right:15px}.navbar-above .navbar-nav .item-dropdown-link a{height:50px;line-height:50px;font-size:15px;padding-left:8px;padding-right:3px;-webkit-transition:color .35s;transition:color .35s;white-space:nowrap;color:var(--main)}.navbar-above .navbar-nav .item-dropdown-menu{min-width:90px;max-width:200px;text-align:center}.navbar-above .navbar-nav .item-dropdown-menu a{display:block;height:34px;margin-right:0;line-height:34px;color:var(--main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 15px;-webkit-transition:color .35s,background .35s;transition:color .35s,background .35s}.navbar-above .navbar-nav .item-dropdown-menu a.current,.navbar-above .navbar-nav .item-dropdown-menu a:hover{color:var(--theme);background:var(--bg-a)}.navbar-above .navbar-nav .item-dropdown .item:hover:after,.navbar-above .navbar-nav .item-dropdown.active .item-dropdown-link a::after,.navbar-above .navbar-nav .item-dropdown.active .item-dropdown-link i::after{display:none}.navbar-above .navbar-nav .item-sub-li{position:relative;height:34px}.navbar-above .navbar-nav .item-sub-li:hover .item-sub{visibility:visible;opacity:1;-webkit-transform:translateX(0) perspective(600px) rotateY(0);transform:translateX(0) perspective(600px) rotateY(0)}.navbar-above .navbar-nav .item-sub{visibility:hidden;z-index:10;-webkit-transform-origin:top;transform-origin:top;opacity:0;position:relative;left:100%;top:-34px;padding-left:7px;-webkit-box-shadow:7px 3px 8px 0 rgba(0,0,0,.15);box-shadow:7px 3px 8px 0 rgba(0,0,0,.15);border-radius:0 var(--radius-inner) var(--radius-inner) 0;-webkit-transform:translateX(-20%) perspective(600px) rotateY(-45deg);transform:translateX(-20%) perspective(600px) rotateY(-45deg);-webkit-transition:opacity .35s,visibility .35s,-webkit-transform .35s;transition:opacity .35s,visibility .35s,transform .35s;transition:opacity .35s,visibility .35s,transform .35s,-webkit-transform .35s}.navbar-above .navbar-nav .item-sub::before{position:absolute;top:10px;left:0;content:"";-webkit-transform:translateX(-50%);transform:translateX(-50%);width:0;height:0;border:7px solid transparent;border-right-color:var(--theme)}.navbar-above .navbar-nav .item-sub::after{position:absolute;top:0;left:7px;content:"";width:2px;height:100%;background:var(--theme)}.navbar-above .navbar-nav .item-sub li{background:var(--light-a)}.navbar-above.solid{-webkit-backdrop-filter:unset;backdrop-filter:unset;-webkit-box-shadow:unset;box-shadow:unset;border-bottom:1px solid var(--light-b)}.navbar .navbar-search .submit{width:50px}.navbar .navbar-search-mobile .submit{width:80px}.navbar .navbar-search .result{position:absolute;z-index:2;top:55px;left:0;right:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:hidden;overflow:hidden;opacity:0;background:var(--bg-d);-webkit-box-shadow:0 0 10px rgba(0,0,0,.15);box-shadow:0 0 10px rgba(0,0,0,.15);border-radius:var(--radius-inner);-webkit-transition:visibility .35s,opacity .35s,-webkit-transform .35s;transition:visibility .35s,opacity .35s,transform .35s;transition:visibility .35s,opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,15px,0);transform:translate3d(0,15px,0)}.navbar .navbar-search .result.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;visibility:visible}.navbar .navbar-search .result .item{height:40px;line-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;padding:0 10px;border-bottom:1px solid var(--light-b);-webkit-transition:background .35s;transition:background .35s}.main-content table tbody tr:last-child td,.navbar .navbar-search .result .item:last-child{border-bottom:none}.navbar .navbar-search .result .item:nth-child(1) .sort{background:#fe2d46}.navbar .navbar-search .result .item:nth-child(2) .sort{background:#f60}.navbar .navbar-search .result .item:nth-child(3) .sort{background:#faa90e}.navbar .navbar-search .result .item:hover{background:var(--bg-a)}.navbar .navbar-search .result .item .sort{color:#fff;background:#7f7f8c;width:18px;height:18px;line-height:18px;border-radius:2px;text-align:center;margin-right:8px;font-weight:500}.navbar .navbar-search .result .item .text{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dark-a);font-size:12px}.navbar .navbar-search .result .item .views{color:var(--seat);font-size:12px;margin-left:5px}.navbar .navbar-search,.navbar .navbar-search-mobile{position:relative;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar .navbar-search .input,.navbar .navbar-search-mobile .input{background:var(--bg-a);width:170px;height:34px;border:1px solid transparent;padding:0 14px 0 16px;color:var(--dark-a);-webkit-transition:width .35s,border-color .35s,padding-right .35s;transition:width .35s,border-color .35s,padding-right .35s;border-radius:17px 0 0 17px}.navbar .navbar-search .input:focus,.navbar .navbar-search-mobile .input:focus{background:var(--light-a);border-color:var(--theme);padding-right:28px;width:170px}.navbar .navbar-search .input:focus~.icon,.navbar .navbar-search-mobile .input:focus~.icon{-webkit-transform:translate3d(0,-50%,0) rotateY(180deg);transform:translate3d(0,-50%,0) rotateY(180deg)}.navbar .navbar-search .submit,.navbar .navbar-search-mobile .submit{position:relative;z-index:1;height:34px;color:#fff;border:0;background:var(--theme);border-radius:0 17px 17px 0}.navbar .navbar-search .submit i,.navbar .navbar-search-mobile .submit i{-webkit-transform-origin:right bottom;transform-origin:right bottom;font-size:18px}.navbar .navbar-search .submit:hover i,.navbar .navbar-search-mobile .submit:hover i{-webkit-animation:swag .3s ease infinite alternate;animation:swag .3s ease infinite alternate}.navbar .navbar-search .icon,.navbar .navbar-search-mobile .icon{position:absolute;top:50%;right:44px;width:28px;height:38px;background:url(data:image/png;base64,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);background-size:100% 100%;-webkit-transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(100%,-50%,0) rotateY(180deg);transform:translate3d(100%,-50%,0) rotateY(180deg)}.navbar .navbar-search-mobile input{-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%}.navbar-searchicon,.navbar-slideicon{display:none;cursor:pointer;font-size:23px!important;color:var(--main)}.navbar-searchicon{margin-left:auto}.navbar-mask,.navbar-slideout{visibility:hidden;position:fixed;top:0;bottom:0;left:0}.navbar-mask{right:0;z-index:4;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;-webkit-transition:visibility .35s,opacity .35s;transition:visibility .35s,opacity .35s}.navbar-mask.active{visibility:visible;opacity:1}.navbar-mask.slideout{z-index:6}.navbar-slideout{z-index:120;width:78%;max-width:480px;background:var(--bg-b);-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);-webkit-transition:visibility .35s,-webkit-transform .35s;transition:transform .35s,visibility .35s;transition:transform .35s,visibility .35s,-webkit-transform .35s}.navbar-slideout-wrap{position:relative;padding:35px 15px 15px;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain}.navbar-slideout-wrap::-webkit-scrollbar,.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.navbar-slideout.active{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.navbar-slideout-image{position:absolute;top:0;left:0;width:100%;height:150px;-o-object-fit:cover;object-fit:cover;z-index:-1}.navbar-slideout-author{margin-bottom:15px}.navbar-slideout-author .avatar{width:50px;height:50px;margin:10px auto;display:block;border-radius:var(--radius-inner)}.navbar-slideout-author .info{overflow:hidden;line-height:25px;text-align:center;display:block}.navbar-slideout-author .info .level{height:23px;margin-left:2px}.navbar-slideout-author .info .link,.navbar-slideout-author .info .motto{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.navbar-slideout-author .info .link{display:block;font-size:15px;font-weight:500;color:var(--main)}.navbar-slideout-author .info .motto{font-size:12px;color:var(--main)}.navbar-slideout-menu{background:var(--light-a);padding:10px 15px;border-radius:var(--radius-wrap);overflow:hidden;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}.navbar-slideout-menu:not(:last-child){margin-bottom:15px}.navbar-slideout-menu.is-toc{display:none}.navbar-slideout-menu .menu-list>li>a:not(.is-active)+.menu-list{display:block}.navbar-slideout-menu .item,.navbar-slideout-menu .link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-slideout-menu .item{color:var(--main);padding:5px 0}.navbar-slideout-menu .item .fa{color:var(--main);margin-right:5px}.navbar-slideout-menu .item strong{font-weight:500;color:var(--theme)}.navbar-slideout-menu .link{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0}.navbar-slideout-menu .link,.navbar-slideout-menu .link a{-webkit-transition:color .15s;transition:color .15s;color:var(--main)}.navbar-slideout-menu .link .fa{color:var(--dark-b);-webkit-transition:fill .15s,-webkit-transform .15s;transition:transform .15s,fill .15s;transition:transform .15s,fill .15s,-webkit-transform .15s}.navbar-slideout-menu .link.in,.navbar-slideout-menu .link.in a{color:var(--theme)}.navbar-slideout-menu .link.in .fa{color:var(--theme);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.navbar-slideout-menu .slides{display:none;border-left:1px solid var(--light-b);padding-left:15px}.navbar-slideout-menu .slides .link{color:var(--main)}.navbar-slideout-menu .current a,.navbar-slideout-menu .slides .current{color:var(--theme);font-weight:500;font-size:15px}.navbar-slideout.slideout-toc .not-toc{display:none}.navbar-slideout.slideout-toc .is-toc{display:block}.navbar-searchout{position:fixed;top:3.5rem;left:0;right:0;z-index:5;background:var(--background);-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);-webkit-transition:visibility .35s,-webkit-transform .35s;transition:transform .35s,visibility .35s;transition:transform .35s,visibility .35s,-webkit-transform .35s;visibility:hidden}.navbar-searchout .search-container{padding:10px 15px!important;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-searchout.active{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.navbar-searchout-inner{padding:15px 0;width:100%}.navbar-searchout-inner .search,.navbar-searchout-inner .tag-search{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-searchout-inner .search{width:100%}.navbar-searchout-inner .search input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:36px;padding:0 10px;border:1px solid var(--light-b);border-right:none;border-radius:2px 0 0 2px;color:var(--main);background:var(--bg-a)}.navbar-searchout-inner .search button{padding:0 16px;height:36px;border:0;background:var(--theme);color:#fff;border-radius:0 2px 2px 0}.navbar-searchout-inner .tag-search{color:var(--main);padding:14px 0 10px;font-size:14px}.journal-operation-item a i,.navbar-searchout-inner .tag-search i{margin-right:5px}.navbar-searchout-inner .cloud{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -5px -5px;max-height:250px;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain}.navbar-searchout-inner .cloud .item{padding:4px}.navbar-searchout-inner .cloud .item a{display:block;padding:0 10px;height:24px;line-height:24px;border-radius:2px;font-size:12px;color:#fff}.swiper{border:0!important}.swiper-initialized:hover .swiper-button-next{opacity:1;right:10px}.swiper-initialized:hover .swiper-button-prev{opacity:1;left:10px}.swiper-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-pointer-events{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-pointer-events.swiper-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;position:relative;padding-bottom:40%;overflow:hidden;-webkit-transition:none!important;transition:none!important}.swiper-slide-details{width:100%;position:absolute;bottom:15%;padding:0 50px;color:#f5f5f5}.swiper-slide-details-title{text-align:center;font-size:1.5rem;font-weight:600;text-shadow:0 0 5px rgba(0,0,0,.3);line-height:1.5;word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.swiper-slide-details .breadcrumb{font-size:1rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';-ms-flex-negative:0;flex-shrink:0;-webkit-box-ordinal-group:10000;-ms-flex-order:9999;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;cursor:pointer;text-align:center;color:#fff;background:rgba(0,0,0,.1);border-radius:2px;opacity:0;-webkit-transition:all .3s;transition:all .3s}.swiper-button-next:after,.swiper-button-prev:after{font-family:FontAwesome;font-size:44px;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-next:hover,.swiper-button-prev:hover{background:rgba(0,0,0,.3)}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:-15px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'\f104'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:-15px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'\f105'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(.33);transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullet{width:15px;height:6px;display:inline-block;border-radius:8px;background:#f6f6f6;opacity:.2;-webkit-transition:all .3s;transition:all .3s}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{width:30px;opacity:1;background:#fff}button.swiper-pagination-bullet{border:0;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top,200ms -webkit-transform;transition:200ms transform,200ms top;transition:200ms transform,200ms top,200ms -webkit-transform}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left,200ms -webkit-transform;transition:200ms transform,200ms left;transition:200ms transform,200ms left,200ms -webkit-transform}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right,200ms -webkit-transform;transition:200ms transform,200ms right;transition:200ms transform,200ms right,200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--theme);position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.banner:before,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s infinite linear;animation:swiper-preloader-spin 1s infinite linear;-webkit-box-sizing:border-box;box-sizing:border-box;border:4px solid var(--theme);border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cards,.swiper-cube,.swiper-flip{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{-webkit-transform-origin:100% 0;transform-origin:100% 0}.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;-webkit-filter:blur(50px);filter:blur(50px)}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cards .swiper-slide,.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.swiper-creative .swiper-slide{-webkit-transition-property:opacity,height,-webkit-transform;transition-property:transform,opacity,height;transition-property:transform,opacity,height,-webkit-transform}.swiper-cards .swiper-slide{-webkit-transform-origin:center bottom;transform-origin:center bottom}.banner{width:100%;height:54vh;position:relative;margin-bottom:-4rem;background-position:center;background-size:cover;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.banner:before{content:"";position:absolute;width:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAKUlEQVQImU3IMREAIAgAwJfNkQCEsH8cijjpMf6vnXlQaIiJFx+omEBfmqIEZLe2jzcAAAAASUVORK5CYII=)}.banner .banner-info{position:absolute;color:#fff;text-align:center;margin:0 18px}.banner .banner-info-title{font-size:2.4rem;font-weight:700;line-height:2;letter-spacing:.6rem;text-shadow:#1c1f21 -3px 2px 6px}.banner .banner-info-desc{font-size:1.4rem;line-height:1.4;max-width:600px}.banner .banner-info-desc:after{content:'_';margin-left:.3rem;-webkit-animation:flicker 1s steps(2,jump-none) infinite;animation:flicker 1s steps(2,jump-none) infinite}.banner .banner-waves{width:100%;height:4rem;position:absolute;left:0;bottom:0;fill:var(--background)}.banner .banner-waves .parallax>use{-webkit-animation:move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;animation:move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite}.banner .banner-waves .parallax>use:first-child{-webkit-animation-delay:-2s;animation-delay:-2s;-webkit-animation-duration:7s;animation-duration:7s;opacity:.9}.banner .banner-waves .parallax>use:nth-child(2){-webkit-animation-delay:-3s;animation-delay:-3s;-webkit-animation-duration:10s;animation-duration:10s;opacity:.8}.banner .banner-waves .parallax>use:nth-child(3){-webkit-animation-delay:-4s;animation-delay:-4s;-webkit-animation-duration:13s;animation-duration:13s;opacity:.9}.banner .banner-waves .parallax>use:nth-child(4){-webkit-animation-delay:-5s;animation-delay:-5s;-webkit-animation-duration:20s;animation-duration:20s}.item-dropdown{position:relative}.item-dropdown-link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.item-dropdown-link-icon{-webkit-transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;margin-left:-10px}.item-dropdown-menu{position:absolute;left:50%;visibility:hidden;z-index:5;border-top:3px solid var(--theme);-webkit-transform-origin:top;transform-origin:top;background:var(--light-a);-webkit-box-shadow:0 0 10px rgba(0,0,0,.15);box-shadow:0 0 10px rgba(0,0,0,.15);border-radius:0 0 var(--radius-inner) var(--radius-inner);padding:10px 0;opacity:0;-webkit-transform:translateX(-50%) perspective(600px) rotateX(-45deg);transform:translateX(-50%) perspective(600px) rotateX(-45deg);-webkit-transition:opacity .35s,visibility .35s,-webkit-transform .35s;transition:opacity .35s,visibility .35s,transform .35s;transition:opacity .35s,visibility .35s,transform .35s,-webkit-transform .35s}.item-dropdown-menu::before{content:"";position:absolute;top:-10px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--theme)}.item-dropdown.active .item-dropdown-link-icon{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.item-dropdown.active .item-dropdown-menu{visibility:visible;opacity:1;-webkit-transform:translateX(-50%) perspective(600px) rotateX(0);transform:translateX(-50%) perspective(600px) rotateX(0)}.model,.model-index{display:-webkit-box;display:-ms-flexbox;display:flex}.model{gap:1rem}.model .card.widget{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;min-height:140px;position:relative;background-position:50% 50%!important;background-size:cover!important}.model .card.widget+.card.widget,.section .columns .column-main-grid .card.widget+.card.widget{margin-top:0!important}.model .card.widget[style]{border:0}.model .card.widget:hover .tag{-webkit-transform:translateX(10px);transform:translateX(10px)}.model .card.widget .title{width:100%;position:absolute;bottom:10px;color:#f6f6f6;font-size:1.15rem;font-weight:600;text-shadow:0 0 5px rgba(0,0,0,.2);padding:0 5px;word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.model .card.widget .tag{position:absolute;top:10px;left:0;color:#f6f6f6;font-size:1rem;padding:2px 12px;background:var(--theme);-webkit-transform:translateX(-105%);transform:translateX(-105%);-webkit-transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;height:unset;line-height:normal}.model-index{max-width:100%;margin-bottom:1rem}.model-index .swiper{width:70%}.model-index .swiper-slide{height:100%}.model-index-side{width:30%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.model-attach{display:grid;gap:1rem;margin-bottom:1rem;-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.model-attach-2{grid-template-columns:repeat(2,1fr)}.model-attach-3{grid-template-columns:repeat(3,1fr)}.model-attach-4{grid-template-columns:repeat(4,1fr)}.section{padding:6rem .75rem 3rem}.section .container>.tips{margin-bottom:1rem}.section .card{-webkit-transition:background-color .5s ease,opacity .3s ease-out,-webkit-transform .3s ease-out,-webkit-backdrop-filter .3s ease-out;transition:background-color .5s ease,opacity .3s ease-out,transform .3s ease-out,backdrop-filter .3s ease-out;transition:background-color .5s ease,opacity .3s ease-out,transform .3s ease-out,backdrop-filter .3s ease-out,-webkit-transform .3s ease-out,-webkit-backdrop-filter .3s ease-out;color:var(--dark-c);max-width:100%;position:relative;word-wrap:break-word;word-break:break-all;-webkit-box-shadow:0 4px 10px rgba(0,0,0,.05),0 0 1px rgba(0,0,0,.1);box-shadow:0 4px 10px rgba(0,0,0,.05),0 0 1px rgba(0,0,0,.1);background-color:var(--background);border-radius:var(--radius-wrap)}.section .card:hover{background-color:var(--background-hover)}.section .card:hover .small-image,.section .card:hover .thumbnail-image,.section .card:hover.card-cover .cover-image{-webkit-transform:scale(1.1);transform:scale(1.1);-webkit-filter:brightness(.9);filter:brightness(.9)}.section .card+.column-right-shadow{margin-top:1.4rem}.section .card[style="height: 0px;"]{display:none}.section .card.card-transparent{-webkit-box-shadow:none!important;box-shadow:none!important;background:0 0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:0!important}.section .card-image{border-radius:var(--radius-wrap) var(--radius-wrap) 0 0}.section .card-tab{height:52px;border-bottom:1px solid var(--light-b);margin-bottom:15px}.section .card-tab div{position:absolute;top:15px;left:-10px;background:var(--theme);color:#fff;padding:0 12px;height:30px;line-height:30px;font-size:1.1rem;font-weight:500;border-radius:2px 2px 2px 0;-webkit-box-shadow:2px 5px 10px rgba(49,58,70,.15);box-shadow:2px 5px 10px rgba(49,58,70,.15);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.section .card-tab div::before{content:'';position:absolute;bottom:-10px;left:-10px;border-style:solid;border-width:10px;border-color:var(--theme) transparent transparent;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.section .card-title{font-size:15.4px;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--light-b);-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:45px;line-height:45px;padding:0 15px;display:-webkit-box;display:-ms-flexbox;display:flex}.section .card-title .card-title-label{margin-right:5px;font-size:1.2em;color:var(--theme)}.section .card-title .card-more{font-size:.9em;font-weight:400;color:var(--dark-b)}.section .card-title .card-more i{margin-left:3px;font-size:1.1em}.section .card .cover-image .category a:hover,.section .card .meta .level-item a:hover,.section .card-title .card-more:hover,.section .card-title .card-more:hover i,.section .card.card-cover .category a:hover{color:var(--theme)}.section .card-content{padding:.6rem 1rem 1rem}.section .card-content.main-title{padding:.75rem 1.2rem;font-size:1.1rem}.section .card-content.main-title .breadcrumb{font-size:1em}.section .card-empty{text-align:center;font-size:1.2em;padding:60px 0;color:var(--dark-d)}.section .card-empty i{display:block;font-size:7em}.section .card .thumbnail{display:block;overflow:hidden}.section .card .cover-image,.section .card .thumbnail-image{min-height:280px;width:100%;margin:auto;display:block;background-position:50% 50%;background-size:cover;-webkit-transition:all .5s;transition:all .5s}.section .card .cover-image{min-height:360px;position:relative}.section .card .cover-image .category,.section .card.card-cover .category{position:absolute;font-size:.85rem;right:.7em;top:10px}.section .card .cover-image .category a,.section .card.card-cover .category a{color:#fff;background:rgba(0,0,0,.3);padding:4px 10px;border-radius:var(--radius-inner)}.section .card .cover-image .details,.section .card.card-cover .details{position:absolute;width:100%;bottom:0;top:auto;color:#fff;background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(29,41,49,.5)),to(rgba(255,255,255,0)));background-image:linear-gradient(0deg,rgba(29,41,49,.5),rgba(255,255,255,0));padding:2em 15px 15px}.section .card .cover-image .title,.section .card.card-cover .title{color:inherit;position:relative;padding-bottom:8px}.section .card .cover-image .title:hover:before,.section .card.card-cover .title:hover:before{width:60px}.section .card .cover-image .title:before,.section .card.card-cover .title:before{content:'';position:absolute;width:40px;height:3px;top:auto;left:0;bottom:3px;-webkit-transition:.4s;transition:.4s;border-radius:5px;background:var(--theme);-webkit-box-shadow:1px 1px 3px -1px var(--theme);box-shadow:1px 1px 3px -1px var(--theme)}.section .card-fold{padding:.5em .75em;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:-.7rem;border:1px solid var(--background)}.section .card-fold:hover{border:1px solid var(--theme)}.section .card-fold .title{margin:0;font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section .card-fold .title p{display:inline}.section .card-fold>p{color:var(--dark-b);font-size:.8rem;min-width:60px;text-align:end;-ms-flex-item-align:center;align-self:center;-ms-flex-negative:0;flex-shrink:0}.section .card-fold,.section .card-small{display:-webkit-box;display:-ms-flexbox;display:flex}.section .card-small>a{width:34%;overflow:hidden}.section .card-small>a:first-child{-webkit-clip-path:polygon(0 0,90% 0,100% 100%,0 100%);clip-path:polygon(0 0,90% 0,100% 100%,0 100%)}.section .card-small>a:last-child{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,10% 100%);clip-path:polygon(0 0,100% 0,100% 100%,10% 100%)}.section .card-small .small-image{height:100%;width:100%;margin:auto;background-position:50% 50%;background-size:cover;-webkit-transition:all .5s;transition:all .5s}.section .card-small .card-content{width:66%}.section .card-small .title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.section .card-small .main-content{-webkit-line-clamp:2!important;min-height:2.5em;max-height:3.3em}.section .card .meta .level-item a,.section .card .title a{color:inherit}.section .card .meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;color:var(--dark-b);font-size:.8rem;overflow-x:auto}.section .card .meta::-webkit-scrollbar,.section .columns .column-main-grid .breadcrumb::-webkit-scrollbar{display:none}.section .card .main{padding-top:1.5rem}.section .card .post-navigation{padding-top:1rem;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-wrap:wrap;flex-wrap:wrap}.section .card .post-navigation a{-ms-flex-negative:1;flex-shrink:1;color:var(--main)}.section .card .post-navigation a:last-child{text-align:right}.section .card .post-navigation a:hover{color:var(--theme)}.section .card .post-navigation a i{font-weight:600;font-size:1.3em;margin:0 .5rem}.section .card .comment-title{margin-top:6px;font-size:1.3em;font-weight:700}.section .card .comment-title:before{content:"\f0e6";font-family:'FontAwesome';margin-right:4px;color:var(--theme);font-weight:400;font-size:1.15em}.section .columns{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:-.75rem}.section .columns .column{padding:.75rem;display:block}.section .columns .column-left{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.section .columns .column-main{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.section .columns .column-main-grid{margin:1rem 0 1.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.section .columns .column-main-grid:first-child{margin-top:0}.section .columns .column-main-grid .breadcrumb{margin:15px 0 0;color:var(--dark-b);overflow-x:auto}.section .columns .column-main-grid .breadcrumb li{-ms-flex-negative:0;flex-shrink:0}.section .columns .column-main-grid .card{padding:10px}.section .columns .column-main-grid .thumbnail{border-radius:var(--radius-img)}.section .columns .column-main-grid .title,.widget.card .main .main-content{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.section .columns .column-main-grid .title{margin:8px 0 0;font-size:1.3rem;line-height:1.8rem;word-break:break-all;-webkit-line-clamp:2}.section .columns .column-right{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.widget{overflow:hidden!important}.widget.card .card-empty{font-size:1em;font-style:italic;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:24px 0;background-color:var(--bg-a)}.widget.card .main .main-content{-webkit-line-clamp:4;text-indent:1.5em;line-height:1.5em}.widget .menu-list li ul{margin-right:0}.widget.profile figure{width:98px;height:98px;padding:4px;border-radius:50%;background:var(--light-b);margin:2em auto .5em}.widget.profile figure .avatar{-webkit-transition:all 2s;transition:all 2s;height:100%;width:100%;border-radius:50%}.widget.profile figure .avatar:hover{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}.widget.profile .nickname{font-size:1.5rem;margin-bottom:5px}.widget.profile .motto{font-size:1rem;line-height:1.4}.widget.profile .address{color:#7a7a7a;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:1rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.widget.profile .address i{margin-right:.25em}.widget.profile .address,.widget.profile .level{display:-webkit-box;display:-ms-flexbox;display:flex}.widget.profile .level-item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;margin:0!important;text-align:center!important}.widget.profile .level-item .heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.widget.profile .level-item .value{color:var(--dark-c);font-size:2rem;line-height:1.125;margin-bottom:0;font-weight:400!important}.widget.profile .level:not(:first-child):not(:empty){margin-top:1.5rem}.widget .ad-tag{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.25);color:#ebebeb;padding:2px 5px;border-radius:2px;font-size:12px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widget .ad-tag .click-close{height:15px;width:15px;stroke:#ebebeb;fill:#ebebeb;stroke-width:1.25;margin-right:-4px;vertical-align:bottom;cursor:pointer}.widget .ad-tag .click-close:hover{stroke:var(--theme);stroke-width:1.5}.widget .aplayer{background:#00000000;-webkit-box-shadow:none;box-shadow:none;padding:.5rem 0;margin:5px 0 0 5px}.widget .aplayer .aplayer-list ol li{border-top:1px solid rgba(180,180,180,.2)!important}.widget .aplayer .aplayer-list ol li.aplayer-list-light,.widget .aplayer .aplayer-list ol li:hover{background:rgba(200,200,200,.2)}.widget .aplayer.aplayer-withlist .aplayer-info{border-bottom:none}.widget .aplayer .aplayer-lrc:before{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#c5c5c52b),to(rgba(255,255,255,0)))!important;background:linear-gradient(180deg,#c5c5c52b 0,rgba(255,255,255,0))!important}.widget .aplayer .aplayer-lrc:after{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(255,255,255,0)),to(rgba(255,255,255,.23)))!important;background:linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,.23))!important}.widget.recent-comments li:not(:last-child){margin-bottom:10px;border-bottom:1px dashed var(--light-b);padding-bottom:10px}.widget.recent-comments .user{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:8px}.widget.recent-comments .user>img{width:40px;height:40px;min-width:40px;min-height:40px;margin-right:8px;border-radius:50%;border:1px solid var(--light-d);padding:3px}.widget.recent-comments .user .info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.widget.recent-comments .user .info .author{max-width:150px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--main)}.widget.recent-comments .user .info .date{font-size:12px;color:var(--dark-b)}.widget.recent-comments .reply{position:relative;padding:5px 10px;background:var(--bg-a);border-radius:6px}.widget.recent-comments .reply::before{content:"";width:0;height:0;border-bottom:6px solid var(--bg-a);border-left:6px solid transparent;border-right:6px solid transparent;position:absolute;left:15px;bottom:100%}.widget.recent-comments .reply .link{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;color:var(--dark-b);font-size:13px;font-weight:500;line-height:24px;-webkit-transition:all .35s;transition:all .35s;max-height:48px}.widget.recent-comments .reply .link:hover,.widget.recent-posts .card-content .list .item:hover .link{color:var(--theme)}.widget.recent-posts .card-content .list{padding-top:1px}.widget.recent-posts .card-content .list .item{margin-bottom:15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;line-height:20px}.widget.recent-posts .card-content .list .item i.fa{color:var(--main);-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.widget.recent-posts .card-content .list .item:hover i.fa{-webkit-transform:rotate(135deg);transform:rotate(135deg);color:var(--theme)}.widget.recent-posts .card-content .list .item:last-child{margin-bottom:0}.widget.recent-posts .card-content .list .item .link{display:inline-block;position:relative;color:var(--main);max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget.recent-posts .card-content .list .item .link:after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:1px;background:var(--theme);opacity:0;-webkit-transform:scaleX(.25);transform:scaleX(.25);-webkit-transition:all .35s;transition:all .35s}.widget.tags .card-content{font-size:0}.widget.tags .card-content a{width:unset;margin:4px;line-height:1.2;overflow:unset;text-overflow:unset;white-space:unset;text-align:left;display:inline-block;padding:5px;font-size:13px;color:var(--dark-b);text-decoration:none;background:var(--bg-d);border:1px solid var(--light-c);border-radius:3px}.widget.tags .card-content a:hover{color:var(--theme)!important;border-color:var(--theme)!important}.widget.tagcloud .card-content a:hover{color:var(--dark-c)!important}.widget.love{position:relative;color:#fff;background:0 0!important}.widget.love:after,.widget.love:before{position:absolute;left:0;top:0;bottom:0;z-index:-1;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.widget.love:before{content:'';right:0;background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,209,218,.94)),to(rgba(255,162,178,.94)));background-image:linear-gradient(to right,rgba(255,209,218,.94),rgba(255,162,178,.94))}.widget.love:after{content:'LOVE';color:#ffe0e5;font-size:84px;line-height:84px;text-align:center;font-weight:600;white-space:nowrap;-webkit-transform:rotate(90deg) translateY(75%);transform:rotate(90deg) translateY(75%)}.widget.love:hover:before{background-image:-webkit-gradient(linear,left top,right top,from(#ffd1da),to(#ffa2b2));background-image:linear-gradient(to right,#ffd1da,#ffa2b2)}.widget.love:hover:after{-webkit-transform:rotate(90deg) translateY(60%);transform:rotate(90deg) translateY(60%)}.widget.love .card-title{border-bottom:1px solid rgba(255,209,218,.94)}.widget.love .level,.widget.love .love-content{display:-webkit-box;display:-ms-flexbox;display:flex}.widget.love .love-content{margin:16px 0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.widget.love .level{-webkit-box-flex:1;-ms-flex:auto;flex:auto;max-width:520px}.widget.love .level-item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.widget.love svg{width:36px;-webkit-filter:none;filter:none}.widget.love .avatar{width:84px;height:84px;padding:4px;display:block;border-radius:50%;background:#ffd6de}.widget.love .avatar-image{-webkit-transition:all 2s;transition:all 2s;height:100%;width:100%;border-radius:50%}.widget.love .avatar-image:hover{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}.widget.love .love-time{font-size:1.1em;text-align:center;font-weight:600;height:1.4em;line-height:1.4em}.main-content{word-break:break-word;color:var(--main);font-size:1.1rem;font-weight:300}.main-content.article{padding-bottom:30px}.main-content :not(pre)>code{font-size:.9em;color:var(--color-a);margin:0 3px;padding:3px 6px;white-space:normal;vertical-align:baseline;word-break:break-word;background:var(--bg-g);border-radius:var(--radius-inner)}.main-content h1,.main-content h2,.main-content h4,.main-content h5,.main-content h6{color:var(--dark-c);margin-bottom:18px;-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.main-content h3,.main-content h6:after,.main-content h6:before{color:var(--dark-c);-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.main-content h1,.main-content h2{display:inline;background:-webkit-gradient(linear,left top,left bottom,color-stop(60%,transparent),color-stop(0,var(--bg-g)));background:linear-gradient(to bottom,transparent 60%,var(--bg-g) 0)}.main-content h1:after,.main-content h1:before,.main-content h2:after,.main-content h2:before{content:'';display:block}.main-content h1:before,.main-content h2:before{margin-top:30px}.main-content h1:after,.main-content h2:after{margin-bottom:20px}.main-content h1{font-size:1.45em;font-weight:700}.main-content h2{font-size:1.25em;font-weight:600}.main-content h3,.main-content h4,.main-content h5{position:relative;padding-left:12px}.main-content h3:before,.main-content h4:before,.main-content h5:before{content:'';position:absolute;top:10%;bottom:10%;left:0;width:4px;border-radius:2px;background:var(--theme)}.main-content h3:hover,.main-content h4:hover,.main-content h5:hover{padding-left:16px}.main-content h3{margin:25px 0 18px;font-size:1.2em;font-weight:600}.main-content h4{font-size:1.1em}.main-content h5,.main-content h6{font-size:1em}.main-content h6:after,.main-content h6:before{color:var(--theme);font-weight:600}.main-content h6:before{content:'「';margin-right:5px}.main-content h6:after{content:'」';margin-left:5px}.main-content h6:hover:before{margin-left:-3px;margin-right:8px}.main-content h6:hover:after{margin-left:8px}.main-content blockquote,.main-content p{line-height:1.7em;margin-bottom:14px}.main-content .pwd{color:var(--main);border-radius:2px;-webkit-transition:all .3s;transition:all .3s;background:var(--main);font-family:Ubuntu,sans-serif}.main-content .pwd:hover{color:#fff}.main-content .note{text-indent:2em;background:url(../img/wordline.webp);background-size:auto 2.5rem;line-height:2.5rem}.main-content blockquote{padding:8px 15px;color:var(--dark-b);background:var(--bg-h);border-left:5px solid var(--bg-i);border-radius:var(--radius-inner)}.main-content blockquote>:not(:last-child){margin-bottom:4px!important}.main-content blockquote>:last-child{margin:0!important}.main-content a:not([class]){line-height:1.7em;color:var(--theme);background-image:linear-gradient(transparent calc(100% - 1px),var(--theme) 1px);background-repeat:no-repeat;background-size:0 100%;-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.main-content a:not([class]):hover{color:var(--theme);background-size:100% 100%}.main-content ol,.main-content ul{margin-bottom:14px;padding-left:16px}.main-content ol li,.main-content ul li{line-height:1.6em;margin-bottom:4px}.main-content ol li.task-list-item,.main-content ul li.task-list-item{list-style:none}.main-content ol li.task-list-item input,.main-content ul li.task-list-item input{position:relative;top:1px}.main-content ol:not([class]):not([style])[start]{padding-left:34px}.main-content ol:not([class]):not([style])[start]>li:not([class]):not([style]){list-style:decimal}.main-content ol:not([class]):not([style])[start]>li:not([class]):not([style])::marker{font-weight:400;color:var(--theme);-webkit-transition:all .5s;transition:all .5s}.main-content ol:not([class]):not([style])[start]>li:not([class]):not([style]):hover::marker{color:#e67700}.main-content ol:not([class]):not([style]):not([start]){counter-reset:li}.main-content ol:not([class]):not([style]):not([start])>li:not([class]):not([style]),.main-content ul:not([class]):not([style])>li:not([class]):not([style]){list-style:none;position:relative;padding-left:1.2em}.main-content ol:not([class]):not([style]):not([start])>li:not([class]):not([style]):before{position:absolute;width:-webkit-max-content;width:-moz-max-content;width:max-content;right:calc(100% - 1em);content:counter(li) '.';counter-increment:li;text-align:center;font-weight:400;color:var(--theme);-webkit-transition:all .5s;transition:all .5s}.main-content ol:not([class]):not([style]):not([start])>li:not([class]):not([style]):hover:before{-webkit-transform:rotate(360deg);transform:rotate(360deg);color:#e67700;font-size:1.1em}.main-content ul:not([class]):not([style])>li:not([class]):not([style]):before{content:"";width:.5em;height:.5em;left:0;top:.5em;position:absolute;border:1px solid var(--theme);background:0 0;-webkit-transition:all .5s;transition:all .5s;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.main-content ul:not([class]):not([style])>li:not([class]):not([style]):hover:before{-webkit-transform:rotate(360deg);transform:rotate(360deg);border-color:#e67700}.main-content table{width:100%;max-width:100%;table-layout:fixed;border-collapse:unset;background:var(--bg-d);margin-bottom:14px;overflow:hidden;font-size:.95em;border:1px solid var(--light-b);border-radius:var(--radius-inner)}.main-content table td,.main-content table th{padding:8px;border-right:1px solid var(--light-b);border-bottom:1px solid var(--light-b)}.main-content table thead th{font-weight:500;background:var(--bg-h)}.main-content table tbody tr td:last-child,.main-content table thead th:last-child{border-right:none}.main-content table tbody tr{-webkit-transition:background .35s;transition:background .35s}.main-content table tbody tr:nth-child(2n){background:var(--bg-j)}.main-content table tbody tr:hover{background:rgba(179,179,179,.15)}.main-content figure{margin:18px 0;padding:0;border-radius:var(--radius-inner);overflow:hidden;position:relative}.main-content figure pre>ul,.main-content figure>figcaption{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(153,153,153,.08)}.main-content figure pre,.main-content figure>figcaption{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0}.main-content figure>figcaption{height:2.2em;line-height:2.2em;font-size:.9em}.main-content figure>figcaption:before{content:'';display:inline-block;margin:auto 44px auto 8px;border-radius:50%;background:#ff0800 no-repeat 10px 10px;width:12px;height:12px;-webkit-box-shadow:18px 0 #fdbc40,36px 0 #35cd4b;box-shadow:18px 0 #fdbc40,36px 0 #35cd4b}.main-content figure>figcaption div{margin-left:auto;display:inline-block;cursor:pointer;text-align:center}.main-content figure>figcaption div i{-webkit-transition:all .25s;transition:all .25s;margin-right:12px!important}.main-content figure>figcaption div i.fa-angle-down{font-size:1.2em}.main-content figure>figcaption div i:hover{opacity:.5}.main-content figure>figcaption div i.close{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.main-content figure pre{margin:0;overflow-y:hidden;overflow-x:auto;border:0;color:inherit!important;background:0 0!important;font-size:1em}.main-content figure pre>ul{margin:0;padding:0 8px}.main-content figure pre>ul li{list-style:none;line-height:1.5em;padding:0!important;margin:0!important}.main-content figure pre>ul li:before{content:none!important}.main-content figure pre li+li{margin-top:0}.main-content figure pre code{padding:0 0 7px 5px;line-height:1.5em;overflow-y:hidden;width:100%}.main-content figure pre code:not(:last-child){margin-bottom:1.8em}.main-content figure .expand-done i{color:inherit!important}.main-content figure:not(.fold) .expand-done{background:rgba(153,153,153,.08)}.main-content .gallery-item{text-align:center}.main-content .gallery-item>div{position:relative;overflow:hidden;display:inline-block}.main-content .gallery-item>p{text-align:center;color:var(--dark-d);line-height:1em;font-size:.9em}.main-content .gallery-item .fold{border-radius:var(--radius-img)}.main-content :not(.jg-entry)>img{max-width:100%}.main-content :not(.jg-entry)>img:not([class]){-webkit-transition:all .35s;transition:all .35s;margin:5px 0;border-radius:var(--radius-img);cursor:-webkit-zoom-in;cursor:zoom-in}.main-content :not(.jg-entry)>img:not([class]):hover{-webkit-transform:translateY(-5px);transform:translateY(-5px);-webkit-box-shadow:0 34px 20px -24px rgba(136,161,206,.3);box-shadow:0 34px 20px -24px rgba(136,161,206,.3)}.main-content .mermaid{text-align:center;margin-bottom:12px}.main-content .mermaid>svg{border-radius:var(--radius-inner);background:#fff;-webkit-transition:all .35s;transition:all .35s;border:1px solid var(--light-b)}.main-content .mermaid>svg:hover{-webkit-transform:translateY(-5px);transform:translateY(-5px);-webkit-box-shadow:0 34px 20px -24px rgba(136,161,206,.3);box-shadow:0 34px 20px -24px rgba(136,161,206,.3)}.main-content .katex{line-height:1.4;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:0 2px}.main-content.literature-content{font-size:1.3em}.main-content.literature-content .note{line-height:40px;background-size:auto}.pagination{font-size:1rem;margin:-.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;text-align:center}.pagination,.pagination .pagination .pagination-list,.pagination-list{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-list{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;text-align:center}.pagination-link.is-current{background-color:var(--bg-e);border:0;color:#fff}.pagination .pagination .pagination-list{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1}.pagination .pagination-next,.pagination .pagination-previous,.pagination-link:not(.is-current){background:var(--background);border:0}.pagination-link,.pagination-next,.pagination-previous{color:var(--dark-c);min-width:2.25em;font-size:1em;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:.25rem;text-align:center;padding:calc(.375em - 1px) .5em;position:relative;vertical-align:top;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:4px;line-height:1.5;height:2.25em;-webkit-box-shadow:0 4px 10px rgba(0,0,0,.05);box-shadow:0 4px 10px rgba(0,0,0,.05);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.pagination-link a,.pagination-next a,.pagination-previous a{color:var(--dark-c)}.actions{position:fixed;right:-48px;bottom:40px;z-index:200;-webkit-transition:all .5s;transition:all .5s;opacity:.9}.actions>div{display:block;margin-bottom:5px;width:35px;height:35px;border-radius:5px;background-color:var(--theme);color:#fff;text-align:center;font-size:16px;line-height:35px;border:0;cursor:pointer}.actions>.bullet-screen span{display:inline-block;line-height:1;font-weight:600;font-family:ui-serif,serif!important}.actions>.stop-bullet-screen span{background-image:linear-gradient(45deg,transparent 46%,#fff 46%,#fff 54%,transparent 54%)}.footer{background-color:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;position:relative}.footer:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background)}.footer-container .logo-title{margin:15px 15px 15px 0;display:block}.footer-container>li{display:inline-block;vertical-align:middle;padding:0 5px;color:var(--dark-b);line-height:1.6em}.footer-container>li>p:not(:first-child){font-size:.9em}.footer-container>li:last-child{float:right}.footer-container .icon-spot:first-child>:not(:first-child):before{content:"·";margin:0 .3em;display:inline-block}.footer-container .icon-spot:not(:first-child)>:not(:first-child):before{content:"";width:4px;height:4px;margin:0 .4em;border-radius:50%;display:inline-block;background:var(--dark-b);opacity:.3;vertical-align:.2em}.footer-container a:not([class]){color:var(--dark-b)}.footer-container a:not([class]):hover{color:var(--theme)}.footer-container .stand{color:var(--theme);margin:0 4px}.footer-container .powered{color:var(--theme);font-weight:600}.footer-container .cloud-driven{margin:0 3px}.footer-container .cloud-driven img{height:16px;vertical-align:text-bottom}@media (max-width:1215px){.navbar .navbar-search .input{width:100px}.container:not(.two-column) .column-right{display:none!important}.is-hidden-not-desktop{display:none!important}.card:not(.is-hidden-not-desktop):not(.is-hidden-all)~.card{margin-top:1.4rem!important}}@media (max-width:1023px){.section .card .cover-image{min-height:24vw}.section .card .thumbnail-image{min-height:20vw}.model-index,.model-index-side{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.model-index .swiper{width:100%}.model-index-side{width:100%;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row}.model-attach-4{grid-template-columns:repeat(2,1fr)}.swiper-slide-details-title{font-size:1.3rem}.swiper-slide-details .breadcrumb{display:none}.swiper-pagination-bullet{width:8px;height:4px}.swiper-pagination-bullet-active{width:20px}.navbar .container{padding:0 .75rem}.navbar .container .navbar-searchicon{display:block}.navbar .container .navbar-search{display:none}}@media (max-width:768px){.title{font-size:1.3rem!important}.container .column-main,.container .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%}.model-attach-3{grid-template-columns:none}.navbar .container{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 1.5rem;min-height:3.5rem}.footer-container>li,.footer-container>li .footer-truncation,.navbar .container .navbar-slideicon{display:block}.navbar .container .navbar-nav{display:none}.navbar .container .navbar-searchicon{margin-left:0}.is-hidden-mobile,.swiper-button-next,.swiper-button-prev{display:none!important}.card:not(.is-hidden-mobile):not(.is-hidden-all)~.card{margin-top:1.4rem!important}.pagination-next,.pagination-previous{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1}.section{padding-top:5rem}.section .container>.tips{margin-left:-.25rem;margin-right:-.25rem;max-width:none}.section .columns .column{padding:.5rem}.section .card .cover-image{height:40vw;min-height:130px}.section .card .thumbnail-image{height:32vw;min-height:95px}.footer-container{text-align:center}.footer-container>li:last-child{float:none}.footer-container>li .footer-truncation:before{content:none!important}html:not(.disable-scroll) .actions.show{right:8px}}@media (max-width:520px){.model-index-side{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.model-attach{display:none}}@media (min-width:769px){.container .column-main,.container .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:33%}.container .column-main{width:67%}.container .columns,.container .level{display:-webkit-box;display:-ms-flexbox;display:flex}.container .column-left,.container .column-right{-webkit-transition:all .5s;transition:all .5s}.container .column-left.top-sticky,.container .column-right.top-sticky{-ms-flex-item-align:start;align-self:flex-start;position:sticky;top:5rem}.container .column-left.bottom-sticky,.container .column-right.bottom-sticky{-ms-flex-item-align:end;align-self:flex-end;position:sticky;bottom:1rem}.container .pagination .pagination-previous{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.container .pagination .pagination-list{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.container .pagination .pagination-next{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}body.move-up .container .column-left.top-sticky,body.move-up .container .column-right.top-sticky{top:1rem}}@media (min-width:1024px){.section .card .cover-image{min-height:250px}.section .card .thumbnail-image{min-height:195px}.container{max-width:960px}.container .column-main,.container .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:28%}.container .column-main{width:72%}}@media (min-width:1216px){.section .card .cover-image{min-height:240px}.section .card .thumbnail-image{min-height:185px}.container{max-width:1152px}.container .column-main,.container .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:25%}.container .column-main{width:50%}.two-column .column-main,.two-column .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:26%}.two-column .column-main{width:74%}.is-hidden-desktop{display:none!important}.card:not(.is-hidden-desktop):not(.is-hidden-all)~.card{margin-top:1.4rem!important}}@media (min-width:1408px){.section .card-small .main-content{-webkit-line-clamp:3!important;min-height:4em;max-height:4.8em}.section .card .cover-image{min-height:260px}.section .card .thumbnail-image{min-height:210px}.container{max-width:1344px}.container .column-main,.container .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:22%}.container .column-main{width:56%}.container.two-column .column-main,.container.two-column .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:25%}.container.two-column .column-main{width:75%}}@media (min-width:1700px){.section .card .cover-image{min-height:320px}.section .card .thumbnail-image{min-height:240px}.container{max-width:1600px}.container .column-main,.container .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:20%}.container .column-main{width:60%}.container.two-column{max-width:1400px}.container.two-column .column-main,.container.two-column .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:24%}.container.two-column .column-main{width:76%}}@media (min-width:2200px){html{font-size:15px}.section .card .cover-image{min-height:340px}.section .card .thumbnail-image{min-height:260px}.container{max-width:1800px}.container .column-main,.container .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:18%}.container .column-main{width:64%}.container.two-column{max-width:1500px}.container.two-column .column-main,.container.two-column .column-side{-webkit-box-flex:0;-ms-flex:none;flex:none;width:22%}.container.two-column .column-main{width:78%}}.timeline{margin-left:16px;padding-left:24px;padding-top:16px;border-left:1px solid var(--light-b)}.timeline-title{background:var(--bg-e);color:var(--light-a);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:.75em;height:2em;padding:0 8px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;border-radius:var(--radius-inner);margin-bottom:0}.timeline .media{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;border:0}.timeline .media:not(:last-child){margin-bottom:21px}.timeline .media+.media{padding-top:14px;margin-top:0}.timeline .media-content time{font-size:.85em;display:block;color:var(--dark-b)}.timeline .media-content .title{color:var(--dark-c);font-size:1.1em!important}.timeline .media-content p a{font-size:.9em;color:var(--dark-e)}.timeline .media-left{margin-right:14px}.timeline .media-left img{height:64px;width:64px;-o-object-fit:cover;object-fit:cover}.timeline .media:before{width:9px;height:9px;top:18px;background:var(--light-d);border-radius:50%}.timeline .media:before,.timeline .media:last-child:after{content:'';display:block;position:absolute;left:-29px}.timeline .media:first-child:before{top:4px}.timeline .media:first-child:last-child:after{top:11px}.timeline .media:last-child:after{top:27px;width:9px;bottom:0;background:var(--bg-b)}.journal em{font-style:normal}.journal-date{line-height:34px;color:var(--dark-c)}.journal-date i{margin-right:8px}.journal-content{padding:10px 12px;overflow:hidden;border-radius:0 6px 6px 6px;background-color:var(--bg-c);position:relative}.journal-content .main-content :last-child{margin-bottom:0}.journal-content.fold{max-height:240px}.journal-content.unfold{padding:10px 12px 40px}.journal-operation{padding:12px 0 2px}.journal-operation-item{margin-left:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--main)}.journal-operation-item a{color:var(--main)}.journal-operation-item a:hover{color:var(--theme)}.journal-operation-item a:hover i{-webkit-transform:scale(1.1);transform:scale(1.1)}.journal-operation-item a:not(.like) .fa-heart-o{color:#f55448;-webkit-transform:none;transform:none}.journal-operation-item a:not(.like) .fa-heart-o:before{content:'\f004'}.journal-comment{padding:12px 0 2px;display:none}.links:not(.widget){margin-bottom:20px}.links:not(.widget) .link-title{margin-bottom:10px}.links:not(.widget) ul{margin:0;list-style:none;padding:0;width:100%;display:inline-block}.links:not(.widget) .link-name,.links:not(.widget) ul li{-webkit-transition:all .3s;transition:all .3s;overflow:hidden}.links:not(.widget) ul li{width:32%;float:left;border:1px solid var(--light-b);padding:10px 30px;margin:4px;position:relative;border-radius:10px;height:100px;-webkit-box-sizing:border-box;box-sizing:border-box;background:var(--bg-d)}.links:not(.widget) ul li:hover{border:1px solid var(--theme)}.links:not(.widget) ul li:hover:before{width:180%}.links:not(.widget) ul li:hover img{-webkit-transform:rotate(360deg);transform:rotate(360deg)}.links:not(.widget) ul li:hover .link-name{opacity:.9}.links:not(.widget) ul li:hover .link-desc{opacity:.6}.links:not(.widget) ul li:before{content:"";background-color:var(--theme);-webkit-transform:skew(45deg,0);transform:skew(45deg,0);width:0;height:100%;position:absolute;top:0;left:-60px;-webkit-transition:all .5s;transition:all .5s;opacity:.2}.links:not(.widget) ul li img{float:right;-webkit-box-shadow:inset 0 0 10px var(--theme);box-shadow:inset 0 0 10px var(--theme);opacity:1;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:all ease 1s;transition:all ease 1s;margin-top:5px;width:65px;height:65px;padding:2px;border-radius:100%}.links:not(.widget) .link-name{color:var(--theme);padding-bottom:6px;display:block;text-overflow:ellipsis;white-space:nowrap}.links:not(.widget) .link-desc{color:#949494;font-size:13px;border-top:1px dashed var(--light-d);line-height:25px;-webkit-transition:all .5s;transition:all .5s;text-indent:1em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width:630px){.links:not(.widget) ul li{width:100%!important}}@media (max-width:768px){.links:not(.widget) ul li:before{display:none}}@media (max-width:1600px){.links:not(.widget) ul li{width:48%}}.photos-teams{display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.photos-teams .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:var(--bg-b);height:28px;line-height:28px;border-radius:14px;cursor:pointer;color:var(--main);font-size:12px;padding:0 15px;text-align:center;-webkit-transition:color .35s,background .35s,-webkit-box-shadow .35s,-webkit-transform .35s;transition:color .35s,background .35s,box-shadow .35s,transform .35s;transition:color .35s,background .35s,box-shadow .35s,transform .35s,-webkit-box-shadow .35s,-webkit-transform .35s}.photos-teams .item.active{-webkit-transform:translateY(-2px);transform:translateY(-2px);color:#fff;background:var(--theme);-webkit-box-shadow:0 5px 5px rgba(0,0,0,.05);box-shadow:0 5px 5px rgba(0,0,0,.05)}.photos-gallery{display:block;width:100%;position:relative;margin-top:12px}.photos-gallery.loading{margin-bottom:80px}.photos-gallery.loading:empty{height:0!important}.photos-gallery.loading:after{width:100%;position:absolute;bottom:-80px}.photos-gallery>div{position:absolute;display:inline-block;overflow:hidden;opacity:.1;margin:0;padding:0;border-radius:8px;cursor:pointer}.photos-gallery>div>img{position:absolute;-webkit-transition:-webkit-transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease;top:50%;left:50%;margin:0;padding:0;border:0;opacity:0}.photos-gallery>div>.jg-caption{opacity:0;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:.85em;font-weight:300;font-family:sans-serif;-webkit-transition:opacity 300ms ease-in;transition:opacity 300ms ease-in}.photos-gallery>div>.jg-caption.jg-caption-visible{opacity:.7}.photos-gallery>div .info{position:absolute;right:0;bottom:0;left:0;color:#fff;padding:20px;max-height:100%;-webkit-transform:translateY(calc(100% - 45px));transform:translateY(calc(100% - 45px));-webkit-transition:-webkit-transform .35s ease-in;transition:transform .35s ease-in;transition:transform .35s ease-in,-webkit-transform .35s ease-in;background:-webkit-gradient(linear,left bottom,left top,from(#151515cc),to(transparent));background:linear-gradient(0deg,#151515cc,transparent 100%)}.photos-gallery>div .info svg{width:1.3em;height:1.3em;fill:#fff;vertical-align:text-bottom;stroke-width:40;stroke:#fff;margin-right:6px;float:left}.photos-gallery>div .info>:not(:first-child){margin-top:5px}.photos-gallery>div .info>div:first-child{margin-left:-16px;-webkit-transition:all .35s ease-in;transition:all .35s ease-in}.photos-gallery>div .info>div:first-child svg{width:0;-webkit-transition:all .35s ease-in;transition:all .35s ease-in}.photos-gallery>div .info>div:first-child p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.photos-gallery>div:hover img{-webkit-transform:scale(1.2);transform:scale(1.2)}.photos-gallery>div:hover .info{overflow-y:scroll;-webkit-transform:translateY(0);transform:translateY(0)}.photos-gallery>div:hover .info>div:first-child{margin-left:0}.photos-gallery>div:hover .info>div:first-child svg{width:1.3em}.photos-gallery>div:hover .info>div:first-child p{overflow:inherit;white-space:inherit;text-overflow:inherit}.photos-gallery>.jg-entry-visible{opacity:1;background:0 0}.photos-gallery>.jg-entry-visible>img{opacity:1}.tags-field{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:1.3em}.tags-field,.tags-field .tags{display:-webkit-box;display:-ms-flexbox;display:flex}.tags-field .tags:not(:last-child){margin:0 .75rem .75rem 0}.tags-field .tags .tag:not(.is-grey){border-bottom-right-radius:0;border-top-right-radius:0}.tags-field .tags .tag.is-grey{background:var(--bg-e);color:rgba(255,255,255,.8);border-bottom-left-radius:0;border-top-left-radius:0} \ No newline at end of file diff --git a/source/css/theme.min.css b/source/css/theme.min.css new file mode 100644 index 0000000..7c08998 --- /dev/null +++ b/source/css/theme.min.css @@ -0,0 +1 @@ +@charset "utf-8";html{--theme:#50bfff;--main:#606266;--background:rgba(255, 255, 255, 0.94);--background-hover:#fff;--style-a:#fff;--light-a:#ffffff;--light-b:#ebeef5;--light-c:#dcdcdc;--light-d:#c0c4cc;--dark-a:#4a4a4a;--dark-b:#909399;--dark-c:#333;--dark-d:#9a9a9a;--dark-e:#7a7a7a;--color-a:#409eff;--bg-a:rgba(242, 246, 252, 0.8);--bg-b:#f2f6fc;--bg-c:#f5f5f5;--bg-d:rgba(255, 255, 255, 0.8);--bg-e:var(--theme);--bg-f:#f7f7f7;--bg-g:#e8f3ff;--bg-h:rgba(237, 244, 253, 0.75);--bg-i:#50bfff;--bg-j:rgba(243, 244, 245, 0.25);--bg-k:rgba(250, 250, 250, 0.8);--bg-l:rgba(243, 243, 243, 0.8);--radius-wrap:8px;--radius-inner:4px;--radius-img:5px;--box-shadow:0 0px 10px -5px #949494}html.night{--theme:#5d93db;--main:#999;--background:rgba(40, 44, 52, 0.6);--background-hover:rgba(40, 44, 52, 0.8);--style-a:#080c28;--light-a:#232323;--light-b:#414243;--light-c:#303030;--light-d:#666;--dark-a:#888;--dark-b:#777;--dark-c:silver;--dark-d:#aaa;--dark-e:#c0c0c0;--color-a:#cbba7d;--bg-a:rgba(65, 66, 67, 0.8);--bg-b:#303030;--bg-c:#373d48;--bg-d:rgba(40, 44, 52, 0.8);--bg-e:#434a56;--bg-f:#080c28;--bg-g:rgba(210, 210, 210, 0.2);--bg-h:rgba(65, 68, 74, 0.6);--bg-i:#276b92;--bg-j:rgba(36, 36, 36, 0.15);--bg-k:rgba(30, 33, 41, 0.8);--bg-l:rgba(63, 65, 75, 0.8);--box-shadow:1px 1px 3px 1px #1b1b1b}html.night body::before{-webkit-filter:brightness(.3);filter:brightness(.3)}html.night .logo-img{display:none}html.night .logo-img-dark{display:inline-block}html.night .aplayer-pic,html.night .brightness,html.night .cover-image,html.night .small-image,html.night .thumbnail-image,html.night .waifu,html.night iframe,html.night img,html.night svg,html.night video{-webkit-filter:brightness(.8);filter:brightness(.8)}html.night .canvas_effects.night{display:block}html.night .canvas_effects.day{display:none}html.night .main-content figure{color:var(--main);background:var(--bg-k)}html.night .main-content figure pre code{color:var(--color-a);background:0 0} \ No newline at end of file diff --git a/source/cursor/breeze/Arrow.cur b/source/cursor/breeze/Arrow.cur new file mode 100644 index 0000000000000000000000000000000000000000..0b9bfc33839f2333d5e21f51364051348cc581b4 GIT binary patch literal 4286 zcmeH}JxE(o6vwY$wQXqaSNcg+Is}^*N?I}qmUL(-B`Agvvbg>D0H8@d1L(!CQnTngwbLCqK|9cfSldAtI9uUNrHy^9G|t}v z&Vj4oF6aYhz&7?7Y1Gr!%egy&3ET!Y@Ep7VkHHPVeK2YdI1lx>t_z?CTm$`J&~CTC zU0+|1rPJx(e!u@c+AM&v@oe;(rhO3;^@4|hYa9eGZ8qDxY&M&jo12sA>1inziv_el z0`xaZpX;W!1H1-rfX`~R&TMUM<)}S8JX}U#=(B^%z=#~+8o1{VHa0d^Ie)FyYBL5J zd>Q90&<*tF0QI?-HqNcB^RWMlz8n5Lrz?Q(rk)t6&wP7w9Q|A_C&6Iw3;bUJ<{@L( za}EvZPfkt>@=-#e&}ZmA1==~_u_OINyd&Red(TK!pET$Dng z@M~;rjP<3J+Khp-QC@U&*!_3w(~&G-G=GXP?<;5(ol0ASD=o&W#< literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/Cross.cur b/source/cursor/breeze/Cross.cur new file mode 100644 index 0000000000000000000000000000000000000000..a789bef3cda6f816843fbec8018cf558045e1499 GIT binary patch literal 4286 zcmeHJF%E(-6#Y85N*oxN7>$?EiGhT3ka!Ar7FQR-=moe09s&=6iIeqxtOgcrlO}(l zC6AW&^}qH5FC|*ig5sDcz;z9XLL%A%=%NFFQQV1681uzvz*Pp6QY#?f+Eq-OIM5CA zJU?=6GtU(lx>1&8s8r-CrcE5L-{-#*&VMVc-w5m1!upkKeZ*s53pwr-%Cg)gNphLu z48}N~kxzmbu&=SV4A7z70u4|DRhp(}_{9e8f}eFik28pOq{mip4)|Bdrtx@MO=o&USA{zF(F@}l{lv%d8CPxSoj@?Z9`=9vLD Wk5PH;l`_DSX#Ir=zvqmEJ`Zn%OT69y literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/Hand.cur b/source/cursor/breeze/Hand.cur new file mode 100644 index 0000000000000000000000000000000000000000..52be830dbf0c04082194860ffef12694955da533 GIT binary patch literal 4286 zcmeHKOGs2v7(O}K*yPLIN^(`3z;L7CR?N^y zB(w}u5lI&oDItQdKpSLC!|?rf@bCKuub7o{XKY&a!#DSF&iTLdKhGVd0@N-Q9NJ2?>MDRy{3`VjWB=v92mX==c0msjunq&Rg!a7ks?Eog9Se2s27-WK zzyeseff-{aAQ0f%oe1sP1F)Ko180CJAQm{ke&xM}7~G!&B7g(HPWHgPllveL30wnG ztyZhuVzJ}|2M6bvOr~tYXf$RA1_s_S7z}pIxdmJYP5}D=+Tg8_n|r4XkWN~p(mY0{^SY2Hem&+w4hw6wIlGcz+QcDr3SH}}xp-7Q5$MfafN7+};%uKAtybJA=!Cyb4a zIg5*nz2YW+Yip}iRaF&2PZ&U7>Jj>#b;~-tQdd{^s-vUBYi{x*SEZ?`=_&LufA#{N zM2q^UtjMtH~I7P^93gKLnnJ7^JzO_ty@s9 zu|q>cA6r^lBtAZVgFiVrS(=-hH=e2A6SA_hWO{n~8}#bociZ34(2$0hOHxwOhJNaC zI2`Vt=81FjcuGnN`{5G!d0yy=zq{8?OiaA(>FJU3@^WcxY?QgVxy8!L%3^L{vwlza z%v<#7ui(~Oe_9Tj5rbUxuSdPTy*UL11(%@Xk{*8cDCT`?YN{}QMn^|qVlB@Pz5Q3~ zKlBCbfqjF0@WP+?8J~)Z3L$q}TN}?MC(fji$;ruA7-Rot@1tICg!8q%@H-=RD}Qx$ zwdCdH3C|?t%x9c8Uy$!lLPA19F`wTj>^ZcXx#g>HE%{@%^79$~{nX#z{}|r^{0qPu zqrd1ouG4J5thW6XVM@Mp~ZW)SP>CvhpOEGeT*DT6qGcfiAS;2V5x j9WGpPnEe92=NzmtV!ai3AP$4LF=Z4XmaHPKFgNWFHRb@^ literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/Handwriting.cur b/source/cursor/breeze/Handwriting.cur new file mode 100644 index 0000000000000000000000000000000000000000..801752c8ec201130feec1dca1432cb9d3ecbb215 GIT binary patch literal 4286 zcmeH}OKVe66opS(Yt-6SK`gC8L!CHq;zSUwReXShmbN6(AJCQt90?SNxOM!k0znp^`n zz#!-Ybd8#f)WQCoYd^RHp4S+{_btHd7lBb4+EAOG4<-_cPq|#~`^LsbY;tmP9@nhk zE*Jpx#|RDV&-J#H%jIt_mrEj%h@?^}$z(D=>~{NGj6L8uFhT?UKMQ)3$s}4wWMpJS z!|(S?u~;nIY_@k8=XzLx5gO=g_uAUp3(mXVpWh1$3)E1uTCMcKC=K+0`@C;=clRrM z9@bFv!AK44PY*hS!Qi94y}jIV8pg-Rjq-sScm{O^0)fYsN+s{}`I>xKTwK)FqNd?K zaxKgUdOa5n4XdlGPkyIiX=zCcg+l31YVdl!O+M5$jE#*sF?U0Kz%%ibKKyMB)oS%P z4aFlq=y_H*_5*#O29L+nv=+?92n6BDn| z@HV&tI`n8>t3eH{*HzcxcDpqn91e##olaRqyv^_I3^AdS{ck@iwGmdK5rUv%T z=kqc(HKo0`(&=;zO?!df{W+J0hEOQPwa_%M_w@9%WV6|WcsxFfy!x5Md-RTmhHyBn z?aB4^b*=a2=H`1ey9_vY<{1^N&9k~Q8jTL^?Ciw0wzgj3cQ@cZ(QEIc)UiPgJonj; z|KB)gz1{;Tb?Tsw!<_oYR$|M6mIME<1A_QGEHc*v%%B~ZfWme40Stoy`J#HHpv+QH f?Xs^-a-fhvekBSL1POu!k$n_6Kp~lD`4i(OT8YeY literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/Help.cur b/source/cursor/breeze/Help.cur new file mode 100644 index 0000000000000000000000000000000000000000..b4fdf1e3ec2bc471ec3fd5bf31025398cb9c50f7 GIT binary patch literal 4286 zcmdUxSxlT&6vschh=LY3Tw{TzAqD$_hKCw-G&UuKZ3sbVFeF0tfuu1?h!7u!Xnf

    Z2G)3~eweQ>1RFTf^A38;c-CC7eNe&182Qomg#3b;}{<-<9s-`XTWK24y1ux@S*q1GX1P)9OHwr z4(x;TVV|6Da$#ZNS8Z)=e~yojPp!fDWto1~d*c|-b_X2;_mgXSIxH+KW!AIM zT`BhFLa{bnP`@nG&w9o&-rJ7t_i7xgw$G2_f94dmUj}bAHa6Z^vv!H?W|~;8zb&)B zT@?4ygv@t*p_b`qJ>wA1y+vI0lPft%X+Qk8`-&Uh8^*A=3-w5zLhz92p6B9q_>+3U5OiYXz42G}aOSM=m z|JYkDZPKAO?cu$OO@78%t=18=I}6yqziHYh;5-Q!^9JC4B_|{#T%MVknXav^mGbg( zaXOug@atVJ*D7;Ooj2$1#W~t2E=QkOZ=Cn}tPRPszP|26yY1#rea@TOI&cwO0>$z1 z@rJ3XDGRmJ)6-QrKh$N~Y_?&0^G7}nP2c)Uig;G6vO3Y?tFyO$EDnd`Z?ua6)bcmx zH`nC#k&%%u_U~{0+8hH7vHITLUeki#{;T_b{T)@4`%QB|m*ZMAe<#Dk!#o4qr;@ASC^NUdp#ZxKFhrH|UhP!@G+b>`Q~?ope#H z+P?Jj^YdkFY)l3Q2DtXmfPtB4J@c0m1%j0|aQZ56xSem5y8iEra!X#4B? z-XCh4OeUF|o9jwVO+AGm-X+0YbLwiwe%1F^dw&`l8f0N%;X!V0ZY=5!Q=4Pp9Yu|k z)UT_nlclAlf#TxgIQYWA*7p*wpc?ggf1ZGDGv1E&%F4Vj%b$by_&?}DHWZz>l_*(NB4l0(B^$V3-QW(W0GP&h@ZF69I)LAVI$!|! XeHa3cf>00vqJRz<0CKznv;o?`H*L%+ literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/IBeam.cur b/source/cursor/breeze/IBeam.cur new file mode 100644 index 0000000000000000000000000000000000000000..7cf1e6b4abc256df543e5580b2c879aa01cb9400 GIT binary patch literal 4286 zcmeH}%}PR15XX;N^aZ8_LePg;i>OV3v)xUV@G)BS3N35x7$xvG#ZWGTdmeB92q_KV4aWny9Hs*aaW?hx?!HcDoP5;m|glP4^sdWb}%i6@2W!+`2to7T+us3g_e-=8cSA zz#et&<#J35`nMsRPR2(L^w@n8=MFV4PQ@<-;Bo*Z;)Jxm@mgGCneT!B_tyKK*}>K0g=?Y@^X|{RfWx zNBw^*%=?G_?`!@E_dng~bZ&VD=AK@!_Z-eY{eJ&m_3<_T$+ep)nJst^n0JZwSM#qz sIie1{3-g%&Kc67J#ubRD0({4g-j=L=Nm=`t_zLvcXJOX;VXO)M0a#dnkpKVy literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/NO.cur b/source/cursor/breeze/NO.cur new file mode 100644 index 0000000000000000000000000000000000000000..043b4ff1093d3675249446a1090244b03889a618 GIT binary patch literal 4286 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 Gh`#~N8$2NZ literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/SizeNESW.cur b/source/cursor/breeze/SizeNESW.cur new file mode 100644 index 0000000000000000000000000000000000000000..b0e5977c2e829e8f13a73433b8fa63d4e95c8043 GIT binary patch literal 4286 zcmeH~TS!z<6o$7=HC=Tox=_(YGb=1ggb2GmgcLMVcp)=F1fl53P=rcGFvSc7CD457 zO$tH0#6Y5$7ce8HUK)}JCk>sOGLDx9b!PYfhmK5;FU^@Q(2~zNXZAjO{d=u-)>a{w zi3qW0j}Qj@JT(ZhMF?>K;45(!U=+WFD8|@7W)aX!ey6EEm%-`s@96MJ)G=I!&FF)^ zR)Hw65ioOWfgVs3wS_A#T$jGpGCGFqBOn&+0Gq%%uo6&**2cX@g4n{s!kf9dxrMmC z0*v4cpq?188LS4Jua$A{jISXtFYmn9>y<8-i@4g_+Bz~bGw)+83nYVhKn+^QLD_#s zMn=-i%*;Y+YN{+KD3C2JEs7SW)9Gq&Z-1VZm30liqXFwe%RF$cHDK@P=%}T%v{V|6 zMun7=6h%vGYpaAdH|FdI%+(6O=d`FvuECgY>*(ls(B0j==wH=QR#qn6ZnqV44uY+K z?+I&xxeHYTpJxsXX=!PvW@l%W9H_n-gQ1}zSzB9MggGZb0-%nafI1ipEi^C(yBrS3 z8}66>>ASJ9QI3s`eZW{6xT@3XSdW*%Nx*ub2F4*2qkisVgT-Pg>g(&1RaI4TWMqWC zEeQz;*)=saPf&|azu&(Ajdt8W!u%w_I4~EX)+C?T7Z(@ro0^(>0eYL7ny%x!dG)42h^Hm9z)T==NSj)f@`uT9vdGYx6!ww>C__1y~FVl z<41v7lkAi1*<9yWjk(|+sDm2f=I7_Xa^J!JdGGW2ycjOioT( zf3|2P=2+o1vJ{ih;!Dm_5kzHL~*+0pDproY4g!kb(de&p~t`XFX2Ypn_ zKB>MJk^TMs88{yX=H}+?sE5~;m6f*>6BBRY9kC4#4oYZ|?33u#jnK@R;5n{Uf8shk zqgf9;gP7~&;o;#=4Gj&8{gUSfj;=2lI}Nr2)?z3*z~hQ>4YelM<9c6pb@g5NS9(-% zujKielaq6Ua{$k(P~HVR{)172(kJ1^Qc+Q{xOY`Ub91xo?CgAod4~c2j$-VzGPNEy zO;1n1>*?u{?A1K8RsZ?<`Ep`n;xilu*ML_3xenvG3iTF)y1V1?cm{B0`FneNWqEnI zOixdjXw$sDfO%S+4fGjo!L`6#7|^rhtyb$j^odvKNq)SC{QHGx18bH!3zty~Uhj?P_g!iz2&i7dC{5goWDO!6@jT1(83x5Qqc`B{-A)$P3a+ zS}1C|AZyBkizq5$LP$CU3MrX6`6HWga>f~TbRhNgJYRFVF+b1OE6*I~ysz(j-s?GP z+6pZ~OH9Lg-^=}7$2QttL7qOlLjsqzG zYtIP#?59Y8bN5J5QPJOSw|jCK!QTfk zN2+Hq<4^y$&(F_Kc{N>@lML=@0d?1`>*ki_c9=OxOc~z&n@A zHBen$eHHsjfKmM~@4qdu!MDa=Kn8FDI15++zJnNlzJn;QlJxlxg}YNzQ!~)-^&=xA zuh9F`V`F2Ey1KeYn2YDZ-wSL6RL+0Kp88_S%F52q&d$E??(P=(`S~Ixmw!XP^$Q*3QLm2(*$S=`VlhFGJ^;k^C`14N literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/SizeNWSE.cur b/source/cursor/breeze/SizeNWSE.cur new file mode 100644 index 0000000000000000000000000000000000000000..c5f89cbd7137d1435029e85ff90eed422b0c8232 GIT binary patch literal 4286 zcmeH}+e=(m6vp>tYR5LDruUnWNg`8AVn_>xCZ$-=kSWwlP0^4}+drU1uqF>G)^S7` z3`j*O)k=!!L!VTFH>%b=Da2kVNY#{rB5{nFj5FSmnX~$Rr|!X)zUZ7vp5Ar13Xf10gU2TDKEzUV`f9Vnu7{m>)9bl9@^m$ zu6hi&mK*1$2K5}^FyM|qv2%R{SB}xoYNPJMfSS~M0i=O5;1%#Pcn)w4^tIABUovk8z)h{$*ViXyWo43|pKt1ymX=Ti-kiM|6aJ#XwF|Moi`}_N4 ze0=;1_&g7IE)uDKzN=$?5%+AfuY%WWYHCUr7Z=TZYwf(eJPC)xQc_alhL06{&wj#~ zkAw3d-)^_RkLwli-t6q`kG;LU@ikObR0!&C8e>ktI!Pq=jGZ~>**;faUw<9(-i^g# zQS5K9rKP3A<#K&EKR-Vf2n3|LxmkvWhGc4L>N@6T<-V3E0G`k5?v2SM@Pq37(dt9*;%x*vhv;P>gq^aTiaXZvS2U>+9?D7*7R> z_Ia+GxpQV`XJ5h@3N9@z1<*rpBqb$%g!6PQx*3Z8b^pi4#y-Y7y2tG&ZoF>B&i=x0 zXGV8-_t(S2!-8*!OioS;YI`9oE9+CQ*ZT>|etdg-dvR@TZ36ZI{JG~k@3`HUaowyL z*3cWMwL8_-)$zX8+S)3}#a)NP@ixX;53EV*vR1fm<}MM_xj*4{yFI8igWnL{(|Dbp zo|g9Zc0WX1V0X;>&H3*2@~m(VPxbWl++Yvct z3S}2vbR(jK2beSzRAPo{22(Sg^DLWh|Nq!4^N^jcf<5xvx9@r0=kPwy`+ZYUd=(!h zGEz}O@b@}IQT8c{5(}VG5&^9ERFnePyyESEw*&uO2YgU5`4jmYAJ6#o_XRtEpBvuG zxYADDR(k0}e`&|pUy6*o6DtFO8iavRup7v@{`kHJ1iAIRmp1zGZAU*|rQddSc;@AL z`bK~gARg$zeh};?9M@=Y48#E1SgQ)qb{w1m^gjX^&$ABPt_gFqPXRy!BEe~p92^{c zx1yq=vb3}`->qX!QQ$nd4sL@~kN}PX+T)6fik{Zi)>emwh26(}GGIK`!T9VC^D!@l zePL~^oAq8&sZZ)MBifct@XQ#_AJ3CvL zOeSHo+3XDs4UJl@mi;;f_%pc+um?Ol;ixkk`<&o@WnShc`T6-`baeD1*4-E$9`2j% zs}keJgf(Wmi^TNw^f>H#i^XCtD=TyPNq*6tQ(^mUOU0-M)85wzBUS7V=KQ}j5^!N9R z#l^+Xn8z)w<9TCV3VXow=#TTRF`LbgH`dYG+A6xbx{9&pu+eC|iTOJ>&L1<+g8fiS zOUo0UJ@(EsZ*OmJR!mHc7Himd&-0I4R}HL(?~uTabgec5gU;-9 zI_I#bKE!?mJ)i#|yvloc+kOClZX<{Q literal 0 HcmV?d00001 diff --git a/source/cursor/breeze/UpArrow.cur b/source/cursor/breeze/UpArrow.cur new file mode 100644 index 0000000000000000000000000000000000000000..62359c4cee709e13d513d79cc1dbc53a1b37320d GIT binary patch literal 4286 zcmeH~&x=w~6vwYK*3>jKMo|q!GeJR%pn^8Sz|5{qY6i0`5M1;xNQ;Icav_2QZd{AB ziCVgtVOoY8!2%OEk&6To0uhqL+xa~1l^RCJQJ+wB;5)~2&yVlD=big>l$ui>wYH{| zPkGgApHdf02iUCRCysdXO#V1C2|v&9LMD@W+HSXh?(XjDSS+T4!Qda< zb`PxMCysdX$TxMUcU)oL=l1sYo)rp(Lpd$?K}|e)V;$Q^r^%jHJmCysdXO#V2%msCf%KfY8dwbf`ebSM-Wx(EEk z5l^0g{7HnpbB9*tj(y(Q*%``@pE%-8-Xv$25{@|cV1IxA#ZhyJpE${~b8kvar0C(& zQFC};?v^BH(%#!mk2HrGUJsbA0!su~`>P>&^}0rw9D*zT9fHKIZdz zjm8!%2=KctoN-ZpcW!mN-LJ)BF@!B}`|S2yoDnX*8#y!g0(%x`7n;7nXVG8$n?CUW zLtnb9TK`zq`ul>`U*@%b@6lSR=RKu1Kv%v~fwj^29c(MDEyx4Zu%ITOKIm;Yw7&pj C-Ygja literal 0 HcmV?d00001 diff --git a/source/font/WenCang.woff2 b/source/font/WenCang.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..53f41aba79cc7841c2ebd5f072f3c685128d8f84 GIT binary patch literal 890344 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

    AEsZx3RdL>d7q5StH;= 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

    )y&1n@(5*=~ycfSl4Nxl_FFF z!qh2M35!c1_dT>6jju^ky45=1-tgc-`+sm+tGpe?jLjD?u zr-Ur0>yE~(5ANj%<%Qd*DlB6%C?#s8{Ok`--U;uHVKG>T%x!>&Y~i+|CY=B8rOzO# z*D4rzKXz^vgoI@{BApMH&Lp(m-3?ZUPb>k|e@R?wK$VOdz{!VdS1F(6Nvh5!N&z?3 z%r3nzA7mjbwqfb?#p1R*ZWm(6gQwK&D5JP)z~}V^??s~OpMQn^)M5cjIG;-g^q#9k zqJ>9JJEt1Sa&PCjkv2C5a7Ju9<8UlTJk?W>7k09r7=P6`Lu%xV5m%2FZMZ#45`+sM z3#XrnqrH$FGU$eem((q6p*AF;?{JCRUd>0_Rw)W@64Ric+-;@bzEBddf3mp>O=Z_z zsHns&pj8(UzCd^Fj{sp1F}x>Lt|SM}m`h!6dGZiWA8z{k{zpXl{_W>~CVP9DJO zNZ7E3;3>;%Uqe#U z8|eQPbq&r$Hnrk*tyx7yNmAX(V=kUOsb3`+cwa?$%0>vP1oYHY5M8sBIHSk??Xfg@ z@4Y-8C9#ICVK!GTMDSwX;tMxydiUDSDeevD`>@!Qrbe8JEQ~nd{Z>q_n56&5y;6ds zoLG6^t4wzDW+sWdnV|0n>+ak#DKeF2brdjBV}mbeq_~jmNFioH_qeEtsA!PoV}LD{ zD>R5HbIF@!3Kpd?bfXsnQ)P{U^(keK^HaJ<~hUp5!FIo?3a9UK0M@WGUR- zg=ae!dUAERCtw7*PRj812b~KS#KRLLiY7Gbe-LtB|;9hf4JZ5jjO zif+$Y8vW!KJoy+2ONT;X&YwN!_0+UkTd(SK{gdi%XU?3;W&7Ha={ff}O|ikrXRckI zn)b5wS`!Q3maETz968bOEUoW4NrGcs4$p>I=LPpI{hD3;u7eO%+%&2kXO8b#v&XsJ)Tv+E51^h@qo z7|1D1qgz1_)YG3+K;2!pabl#p6?sqlNQNu2NGcSS08{M#T5*gw;^U1~P)kx_;)1HT z8cCkvOfd`ZzCpx!6*A6uOMkP*HHULm!0e>RtYYPzn50sRXl=@kF}^se=c(>&kEbBNvoeaw zfuv$y+@z&xpRn6$p_syZEF?Y?e(Cpa`fkx9eI}C3#b)K|&g=1GX|#!K5R(jnMnVx@ z2%)zG(9>{#Tk&9>iBMq}K$qS!D`H`(RlQsD|D$jzQpAM)Bcueq_+XgP?r0k-29#vk zGgJ)Yrt6Vu`KSAm_NSwfDg}rOi>@d>B-XvVvRtQ9+4069n@&#)=dY2ke};cbvEx#p z+#$`VT#I@`!{v~CiZk)5zVS#~!^-GOdhNHoKmr}G=?CBp=-$*(Op#0^V3Fo|tj=|L z(fnk(sJHn@cy?#od++|V>DH7aEOVSP!@25H8WDxOQD%&|5;4$!K9>OmMp&jq0@|6;Kdn z>R4`i>f+q;6=*k*%~CQ9QLxOIAha(Xh}lcb0&1Jyrd7p1q27Voy;AZ>eF3Ow6QtHS zijnKjn^-jo9kb#xuL*%gFva_z?Q38Mr*hWxnt@YSiq`D0!Vx3sv&|R24wX1i#w+7F zXda4Rp41N!AY##rX8GaKy3|sGVEg5T?=;o z#ZX!~0jMss=3}DnS&EH5dRf9Sv$$!Q&?`A=BJI$4>LTEF#iS^%d@16jWD!s}1PGjW z$M_wugqZme5h5vgJtJQdMawJ2;=&gre|G93B=`A7=LJa4`}gjUfVWTr@_=gCg8&$c zjWiJ;l;A&;^?Cjq@9q#H@st(X&-ETkfjnQ6;y)|-Ac#J#u@fcymj^GO`sEQZ!CiFDyF1uMGs;W; zKHZ$GCfs?!XuConK&yFMwoNu5Gv)e@bQ$@>K0xkE+UuzHK;x@_VaDfXM{Ql5@J2zj zy#N$fHBMv&H9^cUJVNWdSGboCXGT z+=kwp)8%8hgeanpp-~F?VBFRY(yZ5qEl27U9Hv-D+UqxE!#(Fs1-)ltPNxI+HYJx> z=_Z)iglCN)6pDiGpKt1@Z)L>!J>@cQbvDeY1RurxS+t(KmjK4BPWX z!~iDaB6{c@g2|UJi?Vf6z^!`IFKqY@AOO)Z=IgB(*-jLrX&P4DeBx+~0B%S54;GcI zD=ev`bIOTkAKuuMIW2+B=LyTP2(A6YWX?o03w+kzCVB*ajZ?;F=I-fRD=2x7t4<)* z|3Ln+&BNF(6}jGdWX5`4T{~jT*|eQuO$J|O=SJqpCGMy>DS3;!$Q=W!ev1ufJT>zF z%#PJ9AP!!1f2PJ#81?zpcp_bZR!Q`OaAF*l^KOu}n*3WJhd>jo-u#@Q{$vnK%~kIq zd92r0TQ&Ds&)EEFC)cC)5&+6xAXWeiK^hydt%oH&1@<5Ne4*rS+5d-PJAZa*vjA3LO7Su(;)hGA@EUXR)- zS??C@Y%#xvykk)}dUA}V`9(#wgkN4R8zU4{-{1I@<`EZwO9zC^P7`5nsnM5k(Lst1opQM3!X81cd9#}Tk?H>u zRkBIo2`OBJk^9Cj-Tast46lzFVB}Jt?b5X6C4;U9_b8kg1D@D<@vT~?X8i9BSDGzc zsg%I;tK6PnmKF{Q>2vLT$qgx>nDW$%J0RFZ%)G9z)z}KFsi1;gAffVJcGSXK;R`q= zl?1Z@m5R)nShnav^@~!GpIRRn&BgibEZ9i<)m-2m^Bip-mo^`hVGkCBD{{l2N0hfBMoun{$p-l5?NG zCypqM*|oV}#hg35Wt~>KSAveUIC~+Lgi#&maB>rEil2wgi>6zT3zIWClmiEV3nvqC z!axas1pmZR+#0_It`xiMLiRy6R4O}*BS9UdA{!Ucn;ejV)YMq3-DuQ2@aYnKTV#RP zp^Zk1Rirku6)GR*lzn6MvQoQinfyo%#vJZdQ9S(`e7IWy3HPXht4*8jxi@6R~vb`Hj8HP zBkI_63cf^b%%1}a4XXRyd528zg6cp@#x)`?6yA+KQX|sF%_F`!Aq_{C-hC%mcI`{u z28(B+#phpqq>i=^+X7!AxL>qXP3Oa(HwRg(kF$!6DGU${&MXNw+k^a>9p+lW(g9UTSP#KR_%lS$^0iWw|y%A`c z7p*(&G#LL2KsVhN#ti0S7jUgt`toE76pJDQk`=+1uEU%LYA>#*-AvWM+D83v>E^=p z51p9*{1%{4EiML>vSISOM(1)Koah4`=x!0q)09f-v2`k4{&42Q4w%XnZwJF8NwSW} z#!UxTNitQ@u>_9>Y8ysajWWPgDD3s!ghRn4me!^gAz1!~eaKi%39|d2dL+%iDLVga zs%IZVr3i2Gwh!{*0;`{;ZMK9TX3W=85<;0|QND;$(V>A~zuy8ti$-IY40?v%7&Vrx zr5a}+d}G)`XXg%u3++&Y@UGbsRZ9Y-_dR|s<5AG&$S)leY>!Vr`K2YVn4#7e)-G~ zQP1KhA9UoUKV<)G9XuogH#Hb%3q0;ppis{r$^?FXy03l?a6)Kn#fRtX7SW zbwtjUONb!w%~pH}@r zZp9AQ&FVfNRBAFXIvzZTEtT1%blH>Dygf!|Ms*!xziU;4s1IE5D_4@HDQinK0{8P! z5>?!tAR(q35w&2FFsJ4vX-W)19t#Z$CkGDtiUllh`i$FQzVHKdA>@uyANr(kr*UPK znVZoQNcpJEmaS`ToN6lB4Qk$UH%Ic(=(mu!1^xD$2U4|4asn`oYll?eeW$m9=aC~j zV*`<4H;-F~0YFvN%a7<{4~dpFJn-PWgIZm7I|u>l?{2Rl2H!eG6jWQ9`3E6dG8)_k z=yA7ZcY;o$v<@s^cXS3KG0Q=ODh&ogG(Qnp65g7M1mEG5lAGtFOCjnn+kb&xVsVX99!suz_` zEPj-QUd&#*ZFig1zR$Ol;I2G0yPz5cqXpWy(d+U-8B&klddkQ{i(T$<%%^8p{nSLI zzdGgHWmzR@EGt^P=Qc@Y6fe9;P_%6|j_Ib||I=eF>6^(wg)!7q57d6YeRP!L|R z-*|Kjq0B8F4C`6pQwrJY#tZxTO zRs`39aMPL^^@<<20BKHI z%$H9-pcC9q=yJRwmL-c^LtB>dxa1zwCXhi$?1k+WK;hOD3YGp-0X}b1(?_Dft52bs zvjCKtygxenC;g=;8~9+tr%(J$I2Z|-h>@;UFk^E>=T*QZ1BRm8BpI#&I3ZcfmA@6o zq85$69SC%)KNeMf-dz_+0TP|0LK0mgem-?o~J*D&=o+5)g)-WGMuq< z=;yLUjK6bqBgpIw_NS+VK$1kvFJCEdAcfrKm9iyC|B+V_L{b)k;S8o_k{S|`uvY2N zO-Cq&_k_n|E5SPTDOrIhAL^WVXy&i~ZRg$j-Wp9&A*S|v!!xsVxjwx}2HWEr7#FIL z7lyivrwvpcE*wt88c!7mte|PFNPIC1TFjtUJkIemCDBS}Tgjj+$mNoDbbWPOJJ0q* zsq#*0M-q)zQU=}yKIfr{u{e1~J8wJNQx4JRep#0-O}YAJb?2%81LfN)maZn0Gnvx6 zmz|s^?xa_TGJn*5*Wu2twRSH93!3X}m^*##EK&W)j5NV2qngtm@ ztvmsS3E^FOq|D77$tn{uy>mn!_sSQd>xUePJ)=C7&Wo+!C?od9W=`1m_csYN#|PJR zvS^}d{`S}rw{p^zYbVh3KrUPF0;{xoBsNpMhkvW{_|!+~_ShR}AJM2eTgNsFlRgyp zo64_gtDTzfQQ5}5f55(@wOCXq0tv+39e@ zH%b6yHLm#U|5_Iwui~QE>{E@p4N3ut6VH>gNCJCQyNK}#8lg@Gq(2B2ST9d5gId<^ z5uxll$NUtsRF!%lKKn$~z8QzgXRVnZ=&>ZJMpoBgq6$hi>m)8?XWPh43H;7*tE}%* zqNI?mBXm&lyKwp9;xDn?hzPSL%HAiSh#d{-**1xK3sc1e4&00pPysER?7`>GsvAWWP9h(0ClTEe+6Ny>F%A*x^evyz(JM)0K5HELvb*R(vD- z*3GkWz)})uJpdE{W&4?IKb#Ni`3HL33sBYL;fGFS%Zl3qYhmPwTm(d6p+04ra*-Z% zOXozbX;IVEE3R%-_>(3=6rI4GHw6z7#Yp=s^V#*x{%#0fD5mwExl)$7-b}KrKyZ{Q zqzZ;2gyh5FWC0mCF)i6-bL*gu$zzq)PINI(1orJ|MDuO}iCvtB_+WWeSCtLaDL>`C zWzINBr%l%IJ%vkb5)la{1mIKIN+C?<6f|Re9y3J1o8jt~e5N%6EDRpRwzkCD8<1P- zc6_^ybhD$ZWfq{4ip8XFm3`1+mAEl}?sZzqN5KYCJDM!v_RrNZ)vbrGz+QM4J-eMG zihJ0!+R*;=h9>hfu#!>eCBeRW1^)c#$RiOC7o$vQOuLz!Lrbe_NOi|D+!NT?3PhE{ z4tTW*extFyXckpTR&P%0v#MVp_Ei7@$p{|l)u1yE1M-ix<}3soQs;JPB)oi^Nh5uA zQHQfc4TRtb@?{MAw^`w|rBPy7iOgX|R-vk2I)@+F6+|-yTAmK^j8fn|8uGBfUCBJZ zx&SJ#3KeWt2l2E?VZ29+{k<5nRn>q5wElOpXGR-ag_RM;37=yHmnepf zcrbrB{OKltP;E;YZye)bu%QW)V0~(iWuTN27=6PK+sBTfaH)df@s+dINlgil(D9^w zVNJJfs#awQ+W3hwxJ*=vT5>OFWMo+twg+7HSLh%_C_k0z-SNwd4oIAx&WqKpCx}as z5tYaY+f}7H!QCfnsE_Cewxh`%}U0XL>@>-phrii@acTsWV^yuJ* zX|7gVvldYBz{3U!t3mENuLCD8xA)?JYoujj#Zo!2#;&@ zQSiS}jiHG!{zCY(u;1?#Fd6QOCU_YcTmaxQf#Zj5-w=J4)(W;s)22k9oj4(4ju=wh zvMV2;dxlH0?K@Vpnn`kHMSE^72 zsF1pmW&}qARegj`qM2P*wdjl4R9$o-f|i#!J*ZrxIy5dj(9cratnc1||D-s=HFXvo zPQ}a%x0(-=-U>S`)5LI44yhBzfkg5+q<$t|k%`6{Iw3GcV!a z^02&|qD>IC6Mg?ZISZKNz?V3bXn*&SZ!RV@dchMa!HkWI(7 zU$)%^sbR({`j(zyq_cMpXx0He~xH>GZiS8={wx?Kki6*B;SVbMjxzOd; zB}d-~zn3|C6f+)B8SO~?y=L(~qx=M}Y~ih2{u|m7*2Vw=i~)M(`37RzEtT!~p$!yW z!>mY~eeq+BW0qu@ir1drnwkeSOJ!O~*4eewm@_TJuTWw|oqBIs7PN;wD-U_4#5A&o zjJHem7uVW14<*5?z7`u+1j%tq+MfUe*A>!Et_>7MlkFkiBAsr{`Y2nmpwTyM8C2)! zoUU-f-enhyzj3Q0Gd>xW_It$4_H@u>uxsit1G;0_iP7|T5PzROPpp8qP*A6Fylk*i zo#9RZML@d00|5tk!_I4oCz+c3;i)qnneW{Gebm`5eI|t49ctfK@J;OhGlu@ywnqQ; zYOymvUG4M>CzYjW66+pH$_+5~Z~RCi>q*_J*c%Vc*08OrA-pq4x#x0gAngD09$$Jj zuOL(t+plAp$&WE|WWlu?W#WcY-=Es}6P}jJ6dGj?;7&2_J`u!rN{G!*H{J-2SNK3g z^KfC!rKQ{kLrD1aaq1(NQN{xWsJb&8X!kE^8XrHkX_WtN+otR-Az<48)v?vPvQQ4m zI8Mis-Gg(cjUF}szcO8V^I2SOoY3XP4uG*KdAIHP;UPSkpQTr1WtOp})m#wtCm|@d zM0lx%`{3uHjFUj|KRN^%cFtdU$L&J+?mx}Vm<|k^?~{Cd*~@C^l;6)eFED&O4IOX} zjzn+}umA-eJXY%M^{o5L2qR&3Nau(fuz|Lo{qSpw|s)oAnTXi~Dk zNlD$+G~`2A>k^~8Vg52|AX~u;HES)6-J$;n*eDyj3OF@n$J@M4HoHOmS+YuQbznTF zKPz{$#sK`fn|g>bx-YifW4sxn~wS% zuiUd`;qE@b&t0~tw2!zA1q5#g!tk_F8(N}}F>j=1Z%y6%^Vz)3S%>bzpfrfAmV%5<(GGy9PN{zzNaZB)Ux>v?f21j z@2w-vo+nB$1SFaS7o5p-!wNN)Ky_wxP1OGN0F}+DS(l(H75Vx2k(F5ZQQx-Q_H^~prFG_sU+GkNgLaIG=4=f^y9)b9;6MFT@gww7L zs+%&(^UEhKwwrq6KU@!^Wh6GBlvj?AyWl%7RmUq7By+a7q3+j3#=}#p)<&b;=~7fu z;!Da?>>A)Le-%t8$zFV|SGuoYt(640#bw|nu3pa02(ahe%0=Htw)WKdv0jucOv5hl zB3~Pz4m=eUX3TrPDRAx2A94}Ud#Z-mG(C2>E2?)(EgSMZ#L%=|-Co4I*5>h~a|;=N zevY}em9lkX{aKRb+=;W1GXU)GP-6>g2O|OKIqe5OOj`IVJU?9<<~S5zSAh3~G_E_m zVC0c0%N&L`KUQJ6dVUD+G=$onx%3l82ue!d8a@IA+S-4G3_NY;7v5Mh8fS_2sJCA~$@c@AgUB z?8C@k2Gc`lm+(F(916b`-OyIra^)15w1y6s6N*ht>DRfx2KGn>H~edSI4&Tmp827R0q15#q{m8Kq6tgB`W4rPx zgjyEvx@l+=_@@h7gkZzHVB-uW+L0v|uaY}e9y?4dR7W1ABr5f`)BC&C-Gmn9wGmMi zo?)cZ&W-j%(Q(!z_vDV@kN$@=$^>=NSpx1M`nx?A{HP>pa0p z`kf-#NI>{W*a_B6I}5$V@TC>EfNeo#LURC=xn{;@Q@94@X~A{ zn!?oQ0w!AY1W>?OIv@iYD3RBE-@c>^Hl2-Mz|8Ul%cdaReIPpBsS_ug zfZ@%!%8@xY6PNNxcxLxrEZ{P}(Wi+hb2TPZ1YAnsrkay#IhbFsi})ou8*?ll=2D zEQ8pKi{jj)V{Pe84|66bxtBZ?a|Anx5BnY#KT>OBehRythtwz_6@T1Ytxq-fTZX1Q zXw5I3p%VxU8akF~JG#!I+8JWqtmIrPbvbZdfXxnM#?fS zOS9F*XLn}|lMlYP{9QLpDl0LD1Z2p&sfYGd@~yZ3muEr_&${PGB*PjEhT^IFl)K5V(c;ixBQ6$n zy~+yhd9G4}FHO)W-ue}5&5Fve;gy;ui&ovDPt5+woR6&=e0x;LTBTw;opwy(=J8V&SeK|q z6HJ2)NE(|0J>eerQ-;SA_REF|;WzZB4W0ynzsG{D!x20iN~8uJITebdIVyQY?9>u) z>@;8zSphOuf;YtCSC*Yya6_Znp;4%H(8Kw?9i3agRVLWnn>p^& z%LVh?k%v`vtCaueGTOwi3BoPsz!fKAfmQ6m;g?)AVWe6S@}V=uJbbJjp}* zGIyQVvX#klHZj-X1uo$Ovg3dl1{EY8X8Vx&RPrY9dW5L%BAo|xsltl&O)tf$O^7q` z14LU#@i|9Her+8IK}DTKc0Vzij5{~pH=A|n5Ulh|Kq%AR*)Ddwf19kG+~1 zF23mkeBgZ2&xIUA4&5&ha!HV;D+&i``eUbqq_5mTIhwl224s)h1l<&L4`P`a>hrJd zO^vi%daK ze*m1q3-^-XaPr$R1}b^xwc3C*1hVq5bDk5TEu*mL-2IUCWNQ!jADM!64_{6&3~Te# zh+(@)&?#QM9B-b+k;E%{xVfFQ&t5#?J3kQ`*k@vYFdHl~=2hU0ExSycte! zJZcIDp(^_`{_{>@$1K|nz$_?V9n-&g42w-+Vzf;X8p5&F-An|)t0LB@o0*#4>VH*L zdQO4nor?s>e$_98)I!N?xt<*yihN-4x(ovvI4ymuvt!7s%X5BA{Mno1mqG(fyaj)I zzyo5t%3DSocpB!lHkc_!|M~-e1A7nyrawR-#w@?8QI$wH1->FK zl+amT^V#c8uF6qy*2*HeLeIVCCPmlg=g4Ri6@26XnoQ{1ISb00py-RZ>&jxeoQrxhU%8hkbzw{%)}wFb9Oc1y z|FyOrpgXrDuL*cD;}j68x$0nKZ>usR(>gb3IJO?w&CF0(BWtC;4PfDnP-WpNPnRx? zEfK^i3nUkK{XDBU8)Fm;lp!8XNuChVj z!*SxbYntwYTsF}p>DPSY`plgM#{fNq-tTk7uOCgkiB=az7AEZAj{E@Pi24i@U76;e&)Bj^B@K+Al@jR2vge-AYT$Rp= zli3)5m7R~yXn{IFjh59qsNp#!9=8(Eu<^=68XOMOodP9QuCcydkrj;$AFg_2Cxx|7Zy?Xb)^!f!!}~Ptl?8Am{((m7Dlx&QF)MtIs6K|NobpAbF8j4n<>v zT+uBRKkBsZ~ z)_b}vfIO~Urz7HdWpo3r#8HW)T-&On_#l)oL4EqH4=n&q*OH@;Js)OOpvvi@C!Y!% zEb%qkdg`P#YEx=Q|45=$Wy3jLQ)TqZ95)S0IJn4C&v!|WJ|8rQ7Zr^34l?y2eWzC8 z|HY<4MogO#?zS(u+%WI&YjmTdvOl#^chhKGMWT(Jf^yr_8yB@!VnNHN;w*wxbNk~% zhGkU=|3DO-o0>zEzf1phmF-Xso1g~XboWRYom*hJWMiq;ko$5ZuVk@x4;^nsU6^jk zi2x)M5`CEqDZ{421Co?jtYvvG_8P#hb#h4~&?=RF*M;3@gxdg0UkfAC^a%h4Y-wljzm_)8nBHp4z^Vyv>(x2twZwFM~T&&Vr<7NvX{G_2sIbnOG9~T_T%X8q>Ue2@(yXw}r zm^v6jJ4X{3SKfeZ?W@ry#SMYeqQ^n8wICbBd9M;&K~?^S6>{tw zF?OveM@}!KJ&ZPeEqsDkbswua33O8tYyP*SHlCNf-qkk0XxF+BnUBDM9J)F_A+cDS z{MV>{aj>)IsAJZOZ{0SY@1)NBs#5{jOFUXi$N|K z&~}BC#E+AcYY3HRqVUANB=jRgtV3>|TjZ}WB=Wy3;r(oKo)lJ62!Lh^AK%P`Rmik| zeKXSm10b+P>s^^6Srx0_(nqRCAekUC?kJ!l#;;3^SpHL6Pb_|4=tF<{D01)dyAf<8 zcp&#^;EKbEj$%dRuTqs8cd4}Tl4=;PjbSubh7QouaAeWL{$bu0=Eu70CHiogBLU*b z1xZ`42~Eq!qTfO>?7n8}Qexugp(ixvy>`g(VQNlRj5)Hx@z4L8;3e-}DQG-O`dGa8 zwfpt1AH!s4P6c6`{7dVMnSaL9_{Ul&i`R)B6Qa41&2V9KgV2Pdep6 zC`O|+TZ-DW2yA(=13_A4FjL*tfO0Cpj<+}aolis00RX#WaC{}W=Rzl&=gvntIz6yqY*C8q6#=RauuMfK&ky3_10 zzzGt}UqDwpD$#v@JBLwORgj9$lKq$-rxw3#`?F6f^teLR?;p`UGzEI$c8`~jqg?M4 zv-U&F&zkB$QXcv`tAK0C1bs1@p2Iv2J7HNM7Z~`PLOuR9$S>0@+4t5_&tna5T0>jm zo8^IXNSVNwq41v^_Kb@l+_~=9Lti3FUwzCglpg;EVl;_~FPG?8SsQl4j{nJhS&=VX zF@CbnSS@Kk?4Z2hUvE^5kNA2QJ;pk>JgUh$2Q-L@;2Zk|VhI3<0!p(NxtXu5H2d!o zNEYssHq*!Hq8NRX_;pGhX!7=Rm(PJ7(E1fb#@5T&MV&HmD2w1E-J)!)t4BF;2sT`%Nddm*mC{bE`y@(BPq99 zW0>RzM^^G=0x%^#hH7(7!b;}JcnXSDc(^M0O6jNnQvoMIGP-H}GB>IuT2aIe4wpGh zIc-15d_YJFLSC{j_Z;3WI9#$-*y_(H9{D)jHPxb2#&E^B07tRr*hmdjC5|`LhyD`* zBDhj2ZX-q9&72p7X{8#k-zX5;Wpum*V@N+nbif{J1@X!5+Dcw*u$w5IaWq)bx+0&@ z=L|8z%MUFWgk)?xX+yiRWyYA2$>g?47{O@Qi3K-48S>UMdBl2BLV2$<6(S7xk6j#S zCRUf~+q?IV#%QTB?O+^Wgjrx0(2aV3;^gw-jRx>FGEJ0408nb>>|)9w0MWj?+FlYu zTybBkasY7DRMqvN%UOjr`juYA96x$Eckrd_UgsGqvr8%MMB*swG5d|7Ly9N3Gicom zqp|}1#qY!TG%lE`ZXI^cwm-*rw)uyK1rtHKb=){mBf67S6t*lb9Xi{HUXyCApNE-i zGh@U~wo$+D`N|*)8D%Z{pt|x4M+&09EagB5(8;q%g^=?yh&n^T&Sq5j=$MpZ?0a47 z=a=YGQ8T|#T5k=V%te+sS1v2f*&afZDGp=eJsXp0!QHT|rIkl4B z;_$A9J5gsEO@mSy#f)_<^I7h!=Ovh~H>OQj1vOF8z)ptII^bi){sW~lZe$K$)MU+S ziwI#dS;{4e3m}TM6_H6#4WkdLwYT!>=wr2TX+Mb`ESlCjKa*#$im%Egz1Kty)bs;d z$S-o(+no~qpv_o-svUm;2G7mDr|(L>m;5ajCE)DK0Swp5b3f<(E+G#oBu*&&pE;#} zzOO?doA0H2jpAo*ArMHE`VVrwkpbHU-&)a&4qVoxvh$qMNd`{|ky3!{U^9>aAKq(m zh_i}JX_M$VYFozm>%pj%gzhX&7n=_$adv3S_?I?zL=Cr4gFM+-5=#>|tJJ;jJz5o| z6~K)g{@&!r3H0Zb-!7PC@QVGCun#PZiD`fG^ci?uICMb${QR3-c&EcY+YK+^R{dF< z)ib=A9rU4y#DMMasfk{LqItO@7$JT$>w0c8b4{J#c&Q_}$1zeTdJ^au{SyHZNsk0J zz`m8FV2(S zD{mF1(DQpb<^9JYqya3&B4W&s1R;E6WN|qcJADUblgB^Qi0r}d4PQ2(XBlo zKlA8?uaY~}ERk61m2^cJNz(1v#-7~O!j&7o``7TMO(IKS0ca$p-y6?zz$IiG6+pC1W1*6kxV_B=6`^M(N#3kaDba8QzCWyiu z?Mo{=7tYEu!|E1F@J#wx*Lu=y#Z` z>r5W^rzDYWOhaK)oFv`lhj*0TIivSZP*YJI>6IS0m|E`yH7AIkR8Y=~YSCS#aGs#!Dk$|zDHJ}4)((u3-3qV~mE8m``f)6%ozeM?t z3iFCe2Fm?2uZ$Ai712FwPglxAoBVfQM=TMD2PtQx3@o(v3SG+qs`a}t^&KBL_jc^H z$`7PXoP?B1b(jq8$Gc7oJHvIPn-reeKd0&$>*akQnmm#gt7$bYMjMR~y%7-nQrmM) zky$~2Q%kExj-^c98}O>mIi!9WL6`NE7BKi~eM#Gp;)IrKyRC!v)02$FWj=VBAQQ#) zwHM3gKs%`aH-TEvhJoE64=c<@y1x>#ji`#!A$bGaboH3$x}x{Vp}=P2b}#B_pPYIZ zlRrgz8tCj$eUECZ{fVe8lR3)U_4c!C@pt5Y}C^swaw<%$~rJJPNVu!fL?ygn9Pjd#CwVMx- z3<3}qS{+)WG*=;>lT#{A!qu=uze>+jAnd9&z-=){ER2L=V8{f;IxpB|4(A#>bH^6L z#N}c`y0}biXiC{lvGZ0v|7QGEff753`QmKKU!;s&CxFEqxCC4Js(&>T0w+9|l)Se$ z1Hk13<&kwArtVO4DMx){!836P!Do zc(9c{ubG_O>B-5x>`Hpa&i~B}$sQj-28D(w*qw0VPn?jX3i-~cVfC;H-+`tv;N~U% zSm@DmO~3JNu8_d)_S!o_y2QJM@#F>eyIR)}@66=1vGL;UMk#`nN01E}Q;7pKxfBS4 zDkKuu<3!@{O1A&+Sf~E99<2>1<7xpO-t~9dFzJ?)YX^Rh3yM;;Rao*t5{iBzYWZcv zIOmEi{`|%T;1Dwzx-7Lf* zlzu5jLbvV|oa8o9J55^~$0EK4$X-3Owr-pptP~~w%$6BTvA)*@3A>-~8);attn zJ2N}*Dyin3Ve&1tZRU(_SdZUA+9z@g!xq|joG4+$xHNY=5||svcu-Op{4{aVq`Rd# zM8y>Q2I`B|imU*nviKH_%=Dm@PU^j_OOnuK`7WHc4eZp?4dQ7%s#*!ZGu_f3s#`_Y z)i#yl&=sWi)Loh7n~lMCa$NTZn~;R9Kd#*yNkIAMu6Sa<><0G20lc~Xe7eKnXvVG@ zwSDn@L$FDh<~EKu;@+6W+4!2~eYt5eK_2V&`tw8rA>9~UxvUl&PvZ$iGFo_W-!y?L zli++zi)z_?xg@}#rB?tQr(U{Lz2yTo>&z!AJ73?8M~&OmVDgp1M>?x_rZq|SRhTA2 z+c(d-+)ePZ`#+vxFt;XWo~c&5}6(WIL$}*(w5}K?*#J*O49Lan zOm(F!(XB}cFQb1tn8%^l3<>E@j_&94VtrkI(C0>_dqKP@3fnR&1o-_;ci<U-Mf^@%Xh4RB%D+w8&uikY3Qnfan) zmpq++Ecr?z7XY`e;b5~C2{3Pda)r}zsCEV9^q+JgS}uIajAE+?jL}+B^nd}_vll>| z_e&>%OYYqe#*+;uU8_$}x|@;TFE$CdF!dM9ne#m-!ovne>wc^#%oN@(7S#xZyB!hq zM4OM2iIwAf&uSW9( zlGcsWedj9`g8a2tjQs+M3agtg!G~ERMkoD(Ig3=xzf(xM{~?|V)phgg!7OecOHU3i z2G7!EW%CG`O5eY_#YXpi<36vP0FWUQ{i+#Y(uVfeJ_c6IykMjb;c^IW=IgE^oP##d zfA)`+h(E@MP@pk=z5yp4LMT?yWcDj&ZODJ;=PcgAmn1{c4kIM3j>_f4D4EyE|K2&C;q&ubo&N(EvW(Q~BdYoexuQ<71_!drU=AcUN&#uRZ}QL` zB;`6Q@sd4Ld0>J%IyQTs(PN9obk4=1YS?`8%If-_VMx`%rntI47AZz~v_#H#arzb- z$%X;g;g(~jI886jjf~=0M2p(5jlr-t8|NmtqhJ(1$#6Dk4@ zwwG;##KUzqo|QP|Wm0&>O@DJ39a8t$eHsA=68@|HGX6pzqK7;sPf5E1{`-zRA)4mT zA6RXVK4=wU;dfpAWF)CQ#6nZL-?)9Y{_Iz^we>*8$=3j28Y!xC?Ek|#ajcq*Y$&d2 z1dmZ>3Yr+}Eo@?;@l%PB=QmXd#jTHNscCsr`u@o;@3zvya0$c~VnN)KJR{5aqQA0U@BfGdrWnYdlZ73bTbZ9}w-PQKXVQVm^_E7?P zpU5b8o7-Dze}YM(4eX%(10N+!n#lqD6?b`?g;a-kZzXE{tO-K=S}-y{^dRNs%wlnQ zwGYiN!~y#&s1%{a^|8iw-aQ>;18c_>9wbsL(ogSE{ocxJE0IdlZwz`$2_jVCxyQ5! z6f!94Gx5DghEu3y>dHp}8v2VDg1rOIiev$972ebUP{zq!#f>qp>5=GS5XZnZC)5%Y z{xn%?PWk6ZuzGnwZNE!4bX6Ig#n8zHl|6QtHL(Ei<@dUD7e0M1Oo4pd-ih2b1w)D? z75SFRL?;&R6n%PQD0Tv%#@&UF6Yf2Gcym;#2Ozd!?z&g=sbNW8q6}8t7MSJD3H2$d5}uveut=p|9D~v zm;eK(Fjeia%JiG{GpzJ;TeKM0khS^PW_^|w#*g=<Cxw-E*gIBXFArXDLyh1-Ukef5`L)-DcJwGS!I6jXr}m4G_c?asNeVak9P{MXWqtNfx>Yrf+Tpf#iQa8dPE)+};*r9$(5P-9xa>{+ML#5_3c!dC(~DF>P+`7A2QMO-L3n&clKOKe|o-1NXQfA9V6$9 z^F>R^;yj@8QALi5mLQuIW9oAQ1VTVps-OTB#!%xy833I80wTfp25Rl|0bCRDh^}#;B#D#1)G8jna z(JQj5csrzt=Xg(<3mZO?Z^R>MmcK3^HDxFVNL71*)offtD!@y!BWu0TP!^J>*vf{N z&B%wGH%~YSv!98mZD+s(W-BvuVP80?O??7;U8hG;3$=)if2$q9_Xx7@!DZo>Z(AbY zRSCbx$30rmpyZ0|`szE$?fYAD&l`Cg&7B+IE7ugdp7%31U_o%-fkt_1c*ZD`q>0tsGpbYwt;?av}jG2~P z^d@20v8Iy_*&+Si##2B72x^(u!>Svr0h8%g=Uf7m zK-oL)T_%zj2}YS?O!*`f)2|%>(WoE@aJ#O%%aA4vy>czMywIP8WD$zfFoS;y;(JbA zYXCX|T&N=#D`ji{lIX<6+$+@B7+cFLZaf>yOi_#lYmKo3$($n!vjBH9`uROf&z6Jg zIL9UlG=)H9hNlB?W)K^{Hei<`CMXkw8n_N|e#+}I@kcp9xXIR7Ev`+3 z9$)AFhrlTI*KC;CQ>{IWm5!HDxnh2_S46M8b}H1cS!t&cvB+uLogK|rUH+k!XNIIc zagBHs$wY`)KVP1o-==z<%^_R&`)-~#?)g>#Cg|b9^_v4?>R&wqYB$Li2W4 z@`JlGpBl>4ffTMI95#Edm^Z+Tb&}iJnD24e|2Xm(DU)ZNvxCT~{f1=XbUe4UI97LQ zOY?ZPXzi!};hIU4arKENT5P5}GXPRT<#hVTM>fEl+_36^6Fc=c{F^Bs&*yd|srvM>Q`|S^{GbcY45BS+s^OM%IwD?Qu+#xfQ?6qXk5=t7? z`K9vzno{Eb{4*Y=f4>?e@+`s@B25v&XIT3)Lwu3WjA@rkq85m`g4CcffQIurbk!K% z>C-8(Yj;b$3j{T%1$Z8V3rz_?@4Z!YfJS1w%jeWw+n%WAOP4;nX+Gb=7Y2_$%Wk%Q zJ3N15>d&V+=TnbUKQy%=4L}cF)mG}s@{6Usi;ebji2|jUEGey;i1bV&%U)u}Bp3hi zKV-M~q{DGji)_XvT`j{rMY5uD4J2V#F3FL3n{rc5kIV^W2?U9Q7etQ_BHC!iRjm&+uWKjXui3m_?aE-b%tZbQ?}E$>upEe#)5} zErUJ&QA|DV@kWWcbI>E+zE_+PErz9zf+7}==Pt4_fYVjR&Z#brgI?sjAz$M2Y;G{ zg8zW+p(v2n+%ijxelDxd&-+*BlS))n^AGM8=nj*vic^Uv&Rn&;%3# zCdJH=%s~*4q&Fx0Q(Lbw9sYx7#Ro?Mq#^SgS;D#0yIH9#hP>q*5m85fc(1&|-tV&k z_fEz*7F+VRGB~;$Zm)lqNfZe zD{Q4YQpTaoz7^n~v`<7o%!$hm`U4n|CEo|o0RRUXCH3z~VU@2^FRU#y!A>IQGQSMi zGAZ?W2G#b!RdT{KI7jPYidmDze4Hd;0&Fg~e zm7wvP$55z@G(%*;cn-oU4PY}s$L4i;A_eCP#BvcTImzDVeShk8nSiDh&5ZQ@R2~_@ zNxojOwqQg~s0v`byx8V34WWV{Pdv<_ff#{iho@@VO=RrpkBM@^g>qKp-W#NmZDL(~ zLgObhJljRCy;|;e`tImA1UkQ4uUe8)-{P)onTH_E`8&rEA#j&+a!R1lW(>*CUtch! z$7iJ1%_FQbQKqqbUN~LzZP&!4nW9ScnJ7qc%c{brjO1xJg{L8uuiF50m5rN~-ol@I z7EPCB>xk)>AW7)A*!A#$J3d-eU`DOc6@$Nn3EClx1xeW77Abx-bi}I26$l7Wx)|k= zL6|61{?Gcp6%JrFAbFo!#WQkv@*EaRCOoyN7SfHN*RkC4s+RJtRYm^M8g9z`# zawT~NUs1>0+Q9_9Iv3yz2Et{ITiTsF1hOUN!bJu! z{!j%a6DgopxVEG&E(oVL`4Q*l4D+>!e+8}P>~PIN1QJJZ-^Od3NZkW$Y63hl4KGe& zXb*@dF>iZJ=bWTGTjqC<;gd@-hAuiemoa}>M!YT+wnn%xcnR~i zmpeK!UMxAt7!GeP6r^zeXXYoni?c7XF>(MB|GCfbf4As|2+xsuZlb1H`%&niVOCmy20l&y$~xR@I;JR}2Uuk54CUA4k`gn~Nj46a;;IY86odX1 zgixHAp{giMeBvPa9E2GKBBEN zsAxv)Ug5la4p9jrE*w#a*A2%lCE~KVvx?>iD-m84-11?abNZ-S6&^VS0Ysw*BNq&w zK5n5oyy}}|%5y?veUf0}lk-KXhPcilG;UF{<#n!aw+P3K&9TjIT}xj2moGX@IE;|Z ziT3*PUXyM^m6K3W2iz2l-H^q1;Tx_7^#L;&0oZN9tgWuLp&0&nF(wJaCuVYUc&jm{qo$NPBeUA$1uNS`z@irGRWw<{OhU7>m7~lFsWub zh=AJK;Veb;9o2LQ%k`uds@K=;B=dzd{@SLDy=0#ZS&7fX76^qT!rom|ysuPD=D;Cr zphTRP{5TX1Ay83evx3ZKfWTCoe{ z?i@Piy^2c1+F>?Kr{$p$K)Tk%wtAiiaX}y@mX4OsdiVD3#9Oym{q|=Jy~ZlTpMQRM z;M@iq1nIC*$hK8B_1Nf?TOuImAOCOicC>8%2I6$fy+XeJ>1@qYv9jYbtrDS6DvM{u zEXWix8U--p?NfN_s8rDRE|bl)aVAq#?v zOzvR~Gk80=Z38uImX!GP+1hh;nZ8PapMJKfhVW$$OrSl8^L#ECp{c)({9%8#^J6I= zqbTA5@z!%q86lfgAe>QGUhcoKekft2<4DIlA3!;kC6fcch~eoe?ORaqhsqki0Ie$@gJD7@Y{lKTlNCY(xm_81xCYY3#!#6hbT zcm|5oLmwxggm2GkNP50rptGcKy&2&afmsAZEXh47Z$Qc!wrHfQSJJ+YVgum`jpS$_ z9e6I|e^L0C;z2f(t9Q|H-Ux$O0W4F)tTxprJu*<`pI{gC|K#-2KY~9-VA$<7*`J`- zb+kYD%{ob?@?6jE;jw}}TX5_j8fYUd`${EJ-;4af7?zyk^XALpC|?g{cGr00&ElUS z&F|{yS7RvGBXNSv5)i&suk@rlRYDk6pvm>1G$1{}P-m{N@}IJdS&|h0-L-qgUbI-XmZSb!&RN%9RK;V| zkA|KM(&qInmEGL>)-X#GD7a^hxC~&mqk98;%ObJ}Q>}Zk+!e?nQ~C>l_1lo`hpgRsyP<27e zOj21UYxTul4fPqUi>OFIDNWtTcz;ytu*Qrp^o9YPut9K`D18~Wg(;YAt(SRFUzElP%Wb!i2=>vQ^^T?HO8CuFNAmN3_;`1k zXns^&4sSS~j2PmbKZQPGJ_F8`Is+4c_lxN2K zrdn5{7Kt`;D%Fv6F#~B2V}oF$X}KA%kC}}s#w_A*tt|m7f_YLMO>y4r;bzDAT(?1Ga&B+4<5> znUcoPDeu7mGm`(}h?<+*2DZ{#!v6L2YK4DowzZ0VqI}HT)OZETUB2d(1l(AOIu-1g zS{IyEHtv$T2f3Y!&^gp>gn@=CV#YQ)HR=RHG5{|?(7zEjeHRLU9Xib`2WSEanwbja zl)xxzg7HR&&K=M!r9A)IdT!W6h)T~VT0g1EaKrtP`~bNKm5E2WD=SoLy(LW0IV9+L zVwHp-0fxI5Y}GUIRj1N^J0=_7;Cyc7i>k?%8i1Hli4qU6FZGUV>Z~yDQx|vnO5BfK z@y4W)$0wHvU-oTgV@7uuF_1j|Cc;7P@N^o`b4~{lKm(;!)sVRQcTS>P3VF*bR`vks)a%F*k`l2R0H6{$~C~fqLY%1{>^> zBcf1C*2L2-bT}`1*qWwL-KwjOCoEI`9>o&_Hbap1BPy;dd0PFVae_VGErMH=77;f3w5NdTGs zDR5NHj=>Bh7cA@xh8Dzr(3E-qWJd6x_kx&c}mBeD%dl$io zh^j^Tasn#`#)}4Q0kEj3uU>j0)c+==pc_2pD@YGwA>_hOx~atX>8k1;mIZ(jm5)Cd zXXsd&y81}FT`$N9#%2_{Eut1hc3N}prtKF(m;Rpc=(ty?)1A*w<*YIlL8TjIqtNAH zl{L@s=XYjHW#K--KjQ8;-S_z6m+&C;pi4utpdDOqN>JCR!~h5Hd?FANfY`Ljs}jdb z@aPVIY)9!bu)vj7CTdouKl-p-oE~M7oJsB)`@v{rGu_;au0)cRg!^t$*AOOL>(zk>Y|541pabXTrj?MrX%mlrJOXPff#=EY6wy2>dz8W zgp6M;mTt1JtU}aXLq?u&+Z}4AsxonTl60wRZ?|ckRhLHM#hBH?j3&{>s2S9&HJI|O z*S9oPSk+V?c3nTnWRAlx7;{7C2a;+>Aa;daRH4UdB7WBk|30}V?KUZB&pus5DNH;` zlp1U^Lgq+^K`KHROwz`{53YBzs`xs#Qbm3H34rFoHGNb%GgV?VDA&MZ16x}Pii27G zw-EN>$GU)(g79|aLFyMI-%H*8OKKT!MX?bn3NA?aMqv-Kf%ppAAs~Hv#p(38`8Jdp z?>SES;eKcrgDJ9(kga41DVrf;i9}3pjjX4A21VyfQ32Tq>QO#dHb5e8X({k4iJ{it z)NXMHT~30h4O0jbL+yP}`^6T3-hX6pldH&+E{r@k+D6Jx@+fx5SdvN zay+ylUH6|Bk}5eN6gf#sm_?BnH%pD%nR{3ZE2{YVOMS~RYw%%GR&!e8>3SU(6!e5m z5QUC@+lxhP-|=c*xT3hbK^N8j&P9lucK8r({ojt%}x2W z#Il4#xQ%n0e59zjhEbao*2J}$af(o1iWVYuzB^JqF* zFXQ2rzH_WTd$V5kdl=@>a&~R3O({41NO4dabwx}zLSo&#p^3gv$&50DG$>+Jtlb5qPX${~su>V;y_y#jJ=?hc-G@mE=KHJe5=d0{4 zyH8Rn}Qkw)A7E0bv^;6L5Bb)9Cl_ZB(*3pzKg3z<~x{1yYGB)b}9mZx0gW?KXx@X}_qV z!iewwAj`*8yAY4%Ka@bNdm)#zk~!&7tg}qFp3DxfVuNr8DwB>8&4y+`l~?(ET>M1n zH_j0jl*koDy^BI-bN5)@_LGVVP*db?`$RQry9OHx6K(}e#jx( z&uMY#UnwSifKqzD)ryj{a=NPPX`xVCT$5W4`?DfpaIrX_^NZ9CX@vZI;AXJv7e5AE zL|yLMpQ_KEgQB&gF{=0MA@I#?%@;bN6|=-E&V|B?BB3*UG_r^~{e60M`k4XibUE3l z&r%T#Z-pG390cAoD-V~qBd`4(OgSu{WL>LRkcis=B##7r ze7*JmU8jBNPF78Z-2xZMfV?vr%J|EVm!+>bP=m?!-$Jr$%-#j!q?oCe%wi_OP1Nl8X!0OiZ6HcVC^l)_qk)9JFc%K+TkMQ?PnaD;R+%@X3&0LJm_?5sQ0pk- zhzf(?*wtNbfoI=gm+PTfN6AMDj~1R0RMfVds&1)n0SJblAc~W4(WT5NppCj#ex0ig zD$oq^z2yDtlsDCLEuc?{(FF<1Vs&LqVCwX&T+vf7Q&nMUjYCvnz3`>vA z2>C(9SP0&{#PV*d4g zV~FEN%=74lziE)u2AP^kSIc+)YAdb2xtK7Tt+HyVIDV@gmU0ll473tK5-~1=0|-II z>iD-JPL7B-PS@FFYsg2hKD8j=O?fR?{&~F;n)ZgqHu8ATM7&YL7W{y&6muFy3^hfs z0H^1XIyRI^*^IFzRe|6F%iZ+OK3uNNlKr`Ho;-B(OOO{4;PC;f>p>^0^0PnZWk|}1 zrGAm5mXI&WKbLHEAo@T)wLDEVFOGc_N6uU=cKw}A@yv)9IN4E>MJaR(TA+f8ikP0Q)DHfU~y?7KRTq0j)TSRkS3N_YWe1)g~{&~ap z#3;gC(aA}M?12y1*loEuP|7ukOzc2nr>_75JE>GA9#Zd5@S~CfFo3-ud|AgHD4OwX z#)ojft5sE-2$W~Yj{vqgg$7HaK1DvLrOkLVQQ^qv z%y$bEp@0XYwCF{Pv{Lt2{kN}nWdN5$XDDLX-r!BXt~FB|BY@Nxa`_bIjbwPtxg{F_lotkbe?ImmLV{ z80^jEj3L0L2v9*{l#9f&Os%Aw#=K$b)Ldxxn;~Y4AZ}r8oq#~3pp)~kk{p{15iC}I zD+j{xa4b%(^O41MFVLWN&xU=vhSNsac<%Vv;B${%&8O~q;#cfrd<*CA9B!O;$S`+B zoa>51o3o;ayKbV|qaaU?Nzv`a)iGkYErTN40uk{XzA4rC+Wpx@Hk~SEEq!FJud5X^ z!^4$9alN3^rO-nqNJ~;-I5N1+-!u*&GwJG0f|~>6XaCOIG%A1W6e-x70O1qB0djfq zJ6`wig19#!qT$igA6XQ1Tke0IDZ{jDS1RWu7rEQqK{;!6*KQ8fz$cHdDkdh|>EenQ z7hJgP>t1DUCc(LiLiS7!;2RlXbQEYEKq4I!#dNE-BqTb7sdx(v%iWFD)bglboImi< zCf&p%`~PSSv7j~|JM6Iw|KYfN3_{0af=W0@l8}FWvdJ*XNu=A^hI)s=uW38624{l_Nkvqf5F(OGeNRp+l8Z&EZHYFhC$_oZC2;WDSv$5Z%76%xxHDBk_`V_02 zaJ+OxXv(y>F^KJ#L493V5wXH$6S>u~*=DXb5xY1yHra=IPF$L{WmIorcsnEhQ&`^N z`2n)>{(>jj`v6Bd!S!~JJ!eO8(3QjmnDuG~`2}DFq~mbXu`tk;t0G10-4HTD&E25$ zdswF>^X-FQFOZVler=GR!X9#K6*PjtXJ< zNJFR1@n*=wu&GXivT!7`sT`Y{0QSbLBGp#4q&BO)cCrh0wx7jp6OsBRXjQp7HmZ^g zd8)?NoL*8+yJ-=M!+I}D#54Rj+O6J+l@wGAWE#LUi#vvYpaQLUrJB7_8KCTVh45Jr%tiEI$=eDA>qyNaW zi1u?ZO}jRTuN{0b9%T*@Hi@4+NO7lZrCtj_aW(e&_JWUk5&~<1;O+MAq#oN#rq}`W z=!rD%suv01mEvp0sPeq+(@b|Ls+fyWwfr}c&f46yor7=I@$_X#Gn?jamlB+-vX5X2sGbgYW1Gy;c@QGh@YvDN#!UI!^4&?JeyB>6RWO=AI0sS8%k*4 zyVf>|_#(QDhr4^t;KhCO4%M1{d4m_%N2>|cmX!I(p7lr;pUR@lli}g9ourvr#=%op z!(w}nLll4W9Fv*+b1ihqxPYC##n7z~K~)+`I3MIHi3{uFk@nSpTQpaZ#SBIUq{FRT zb9x$J8H=2wvg0<|a|TbG0lvs^b)xdp`~c$ehtLDm0HVK*blHL3klUZQd#dL`vq3Q_s$@ulatc_s&3Gj+=%R3 z+SA;Tzp3>q5e^~D9qLtC)Sa`?idMRwyTT)6>f#}NEV$s;xp0LRjALhPc^g9~#lYyK z{U`~G<{cGPLu_s}kSoeT)r`X1f)tOX)c(4nQ$<(w@k4Oq@5|zJ2As$Jtma}-{mu@E zUJ>Sg`??CFFSkrOc2;Z=!A>n;mUpr?0xO>F<@QQ0vl%k-@_NPdF`taGmP`#(fI(&D z7+GgeVIFkh5@u_sIvv-3{G%>sMDV@a+ujLkcf(g*HehGk4iQ#ah+C7sLfWHD9<#!` z=cSLDCB<_yd2K43v`?Fiz)P52nV};cXBMhVpXxnAnChYX+1^G?k>%(FJF$G%{CL_zP*2gVT#n5~9YT*n$U?Bz@*lq#uue|#{E68$VxMR*={F|Yp(Fj?<2O$GlGsTAOvi*8 zPzpBc!L08RI-#Kslr)G3yntNBmvAL~Mv|lSVtvCR8mi8UOAB5?b~B4gBy!?Tz?XrT z9J~6l(RwziJbl1erMT~Z*pi&yfByB#1u_v7L*K*;(WUqzymNIt7~m+NHkoS>jBK2_ zyM4-t6{}h!5@yV?Q5n)_2@=x6m{W74TMgLj&6hx+IqQ zL$GbPr~+lEIwu9Cjf~U)nA?&=GlwyPKMZ)nAE56zFdwjxI@p$zENE^NE#cFu8DZcY zC$r0}`LHAt{}g#=q7V@|%mmC)D`@La!ydpckwExHq>-)fQXu@@wivOs|9#D2MXc+% zUeJNOPeCP#>UtD``Q6U`=3a3oT=kcNcqMBqwY3y5XJIHiNPr$R_bZgZtc9ac-xTb~b8{on-Z_0-IU&R#iYA_xb3 z?rW>$op7+r#?S0MXJfB&|I!%yG{%2nE#kF6s_v)bNp?NDoKI;w%F2Ya{)KM06uIo* zKx*39HmD<7X5sY?Z`S;D`w{Tz?)zU+$Z{}(k+T&JRq1%mdINpK^pY8F^drn-z56){!f12#I>AEXUssnbry*o7(LZ{WK5Z$ZF3 zF^3q)e*j8(JB~mfsm&QRA|}?=YKVv)#6YAoiwQ{vFvnqTPJHI1n zFFFOvh{&+<8{gP2SYX#_QC*$R|E*iUQ-$8|FE37X4*RLn3zY-zx-3#vFq_y!IyH1y zl24^`BqSjH_Azd9>;`R+E1AJ8lda=hv=`Z~B+W>a(y7LEUD1ocZ^9|Ft^V6jY&7bb zuh=~K(FY-Dzz!{NpCx6aH zE5d3)EVHh9Ls0N_pl?pr)tS}2Lmqi`-71gB?AdSqBPfvplv%dzt#$2xDu{!vhc~S2 zMb(*#)ehwvNaNH%6O{?Y$L;b}fai$tlv|wbKyxmCjPDJ9f9MzMBOkCTG>gOaYVSt# zth@jWFc4CA8UOUj7J1@p`ej&{Iy%%7lX|I*tYJ&1f_8v=w{m_YXvf}wA+4jP7R?hD z@y5J430TzbC5ry{(eK1^P$K#M{sb9^`0M;3ECx(duxr5mk=#iSH25>a$@ zwU{^-o{AX^f=KM6p@6H78(fJ3Y>PTksW6&^nCKkyGIJco!6Rd)dK<-L?|2M?H@QMp0}WQvEL)E9w;tVLCfGRuU^w_&3gp>lW;2NoDa^|3`=} z0Ueg;-$!9b59pC`w=kagHz89fBtGnBUj`2p0GSrlrj-jJ}*IwLq=QX=VwNH4)qlxyf4z<3STV zI?)M5gO(Q~1WHH|D|1AmFZ~B5MlUuLImdIORW3d9WL7~~$Tvd39fuenHQk30fd27r zo)6zn-VqO-mYEqc-#aX$Eo$zAQBa7lVc{`(EM(GaEg$c(C3V0F7__)Frv3IKH&u2n zQ&L>3OO)_{S!B06vAvd~%0d##@!tpQ+1n4VF4I|PoUV15r)aRHKJ`hCzNUaK>K^YH zJNXv3)}R%0BuOey8n;C>#BM?dFj+D^jr`w8M;@$SnaT0|4qq^^J^9Z67%}aAOE!b( zQrXvFpP5%eW8mv^`8>Z0{qdKV=fz8us;7RH=7i?eI(@BnD*kGG0-Zu1H+cz|b?(@h zR5=Tykd}BguLF;UJ>R_Kzk3&IS5)@Lr0qP*OBf`KAsvyT)5^oh9R8)ec*rDQ$ zD=8vtZ{CGz11i{Egv2wyT^L`D46Ch+eJLE<){PQ54oe+`aS%|^2=iqcV7^^Tgf-it zcn7#Bb)LzL3;6&7A#w-Woo7XKuTiDZ;+r>I5R{>4d|iL@`W;#G;uxvY)`ZI$4=d{G^Lygt!F~)s(Ev`>q!OpK6dD38W$=@^M3tg^%n&^Dpn_{ql-_!2cR#jVU>fC_a>+kU$0mix(W{JuMgJ07~?n=bHrdvx_<09nvrErf#Ay*;1_>Lh)f?HOs$ zV7=~yk`DYN@g(e6Ea@vZpN=lv(-5&d+~mgfnf}m!8g-q?)DpT-rCCF;rRbr+cu9@6 z57$o-iN&II-ifO$V((G1aQhSE;&4x56<57&@Wafj-?SGq!F5haoH4ORD)dsXe&Q+G z4`;@LsMIim##tJA{sxfF$#whq-0@ze=`-Uk09#96e5P1BGWnZR8ym`g#c~u4-n8qx z$vkey{h*Hg=bJ!>Fxj_zXyW`E!A!c0-%`fKr{Vlttv33az#O?0?P5y?Vt>{RFRL(0 zNAcUQ@;dsFqPas<`Azmp$MP<(UT2WLw0WB>a7g5|tn4sn^s@_U zHqa@3KZ|58DA8JjD@`~QrVq*L!P+Xi*o#Ary2UL#XO74>eSibZ9Iy*U5V zqR_@%vwp>oE*UGmeLFyfv3k~Axy^=i1?5v zR+#*14Odl|p2X~F$|0-Gxbd|)WqU@wz|H2<>5q;Oc&gXL2)_(FVb`WHUcLeO26ijQ z!SO6Eqsk!}Pd+P=XLN<`q&qIv7%Q#&l$VGHSjkxBV?;SJhUo!hnHY&Xun%DdrT9m6 zH?MO~dGFqI7u>b`LfqmaEb%xRora?pnNFc%T#7##$1~tcUI>Eo+yDZETzv1zcKR{B zphFOSNQUX6(3eUx!~~C=sc+licU+Mko9cp?9qy8JfqD&4YJPUhM zA2nS{?ITZ_wJ~{;u>i2n;5@du>aMl_Kw*H6m#O`bh0M@3#817VwX9NI^1j%HsW0C$ z=ut1Kz=U?5ddoHf%Juy-a~0)A6qZd&PTkK8&9~w7SP(1I7^PBjr~pA*J|MWXR5)wZ z_@NAq`3Y@WC(JgVQCvzhzFo$o!a(M>f+{BI6pB+1)SNL=FGX4pGXJ<*Wzxb|%J

    zBHaFD1f^D?-pTlbk32F( zad6-KzP)nAb04dERWZI}?nZjlhj+nZFz%zg3pF>wsiE8|h+JDhw$60G0G2Cp|x~?QTXI0Wl z{&1ueS0=s#i%X&@p2ppu9-~)d_`G+`ClvPlk_}T9gxJExaMVompo%#htX>{r6{dFF zV0z|nFxiC0+Y$5^uN|>7;5RgXUWN_wZi~oBSWw#srAQuLF3z5 z1tYBq@jWEio;oNlm}|+7*pF&^ou)7L!^=RW{P32{e2_cf_gzhSsdJCO-f|y&cpq?I|i(qtVi(749 zNUNIa@az_cY=c*gC}JiRi)zAvd>aIjlq;l<`s52(XQd)L)Q6FFP7CPj=`7qn*fY=Y zB!mpX{J^<=BU{(Uc545f>l9Re!zdPR%dEkcI*ew<`qjqVe)3Iyz6+K|Ao{@OjWDQe z&zJ7kdO=V|DYT`iHFt+i$aWaEjOF}yJl23t-9hNu>6(Wi@aIc) zWktOUP=n{##_|?(`&#BFfdG3Ln5W3sHkr+@HNh_qR@-{o&KZmcihx+6fimEBAz}`E zFpO;jaS1u544>9jk2}pw11>n=@)>gvCabM&tZPgfO_jg%QllQyRz-;+-o%s1_NtohrM2O04Kxim&K z%^Z$-=mAk@h{6_DeevTtVT=Qi4RAi z6_QDspQELCq_*q2e-U#-owzej+HwMf&E3bBTXFVGj-C0bu69AI zlpx5E>*jUh2jdMm?}C0vlV5xblb=d=hBQpL^}7Es`-wB>r)-)2lY}}wES?>XC<)o- zmpDS;Mw2T0F-TAW7usff(KxA4r8aL{w|hHiyNyj5m@c&H9q{W$Bpkus4dIn+boFrE z-yR(t)H`^~MopKjRjLE0O>Y}o#Zn+*B>it2MTlQRJ1D`KTu=fX>P8*2e!PBCh@}tK z@x}Xqy8dC`n`W=#T2%efqR}RsmC>ujU}Rb2{P!s9r-kM;zPof=(7qX2S;Nm=AJZ`= zozsEr0s|KSRZTO8pacJ^L`re7H7zt2=7)9H3P$prlVnPSMu#&lj@wi_`3~RIJ31#RDoyI% zw!HExi3JY1zMw9`^$pK0T2oQIzkEMsf60CzSmuub*p8%dshUA`SR7slO{S?Q-c5v+ z#J{w!Pp>Sl9(UR7aw0~iD^Xz$ks9xy6H!zgI`fP$WH%z4YQaox9Rr2=yUThzG9G9yFi%cw}9F$Ekye1jx( zbUuAECptGqw{GL)uPOI}L5rAEAb_hiWRtzoZh<@mpsHAMk@$qDVg-!q!Ou;KZv$ggnHWgV17RE>zy{C&I6wqaQO!6un|*Ig zI@B{)FqpCDvx9Spj|SBK2iuZJY^XA7(U8_qUOrtEn!}%j2UF_OV5md^L?h1*HrT6NQRXrWw2dRL~tC2oMh0l-rcu zHBZ{`e5MJV?MAK}R9!6*`n($N2g8z{=ZOh9R=*#&U^&6R#)F3BSe3XlUZO;vi%;N{ zAlA#2fQd=fXq(u-Jh)8~2Q#f@=cQ?fWZy}jOiY?Z!H}Ai2 z6I&O*{v?1je9}7%7QhI7xc` zi%|eRW@ZZ&dPZ6HoSG|r`t~B&WJPYn78D^tkQo=8n#{(AbqbKJ?MjBtKS=Z$!=1rH zYzt*;W;LwCMAzq%Yn*C&Ce@kO;KOfg8DBJ1G`&<_Di}64D>>#DS-2i3#aIb#z0$bn zNG5s9wuacS0Kpjs-dMg*(aG=o99~X?jRrLe^hZgtPAx0L7NGSsGMnv{f~h`Ac6r$JaK;MhoX>x_D1D$Qdz;F zsx0i9_4<7r$<$9-VdPu%vCvDI17CTBOsO-#kKJx_iw5p{1##KN8?j?=&PF7)s-X7_ zke;jhsXo({N4sWtF$RPN2ojs)&J$_ZLwfmsgg!RF13IR1%YwA zK!g9R7SWfUzdv>Pg6Tt=?w1tk4Uo;b;D3Ms`Bwjf?5Xp^ArPmrFAEOQGjo^E5_q|) zW^B1%cV4M|BNS?owb>cj5?cD*YmB~8{D$+@(3dd=`Lp0-Qa2e&?bF`KLxUw3&_H|6 z3zKVvtUN!EF)aRv*OY!j&)1Cb(Rcig^OY>lF`wQWev=-@0owOp>9`^mw;ooL^ier9 zNaSEV+Noc;*F8X31r0b45Flz_Ze zc4+hLx$`v!(=J)CM#ZU23_=BgkN>cv)PZLmTl(AUQbJ$2{R|=#%$3pJ6&HDSRb=Nk zZHw&Eyb-*OFy(P` zXrR<_?No-9A)#^t?one$A3*3@|53Yb+zC(%x?h0AZu+b5f!kfZzu1^+^a1hN(^TJ) zUQ)&EjXUHYr`(R?l9{~8jPYzk=zR(XM}B>lisE0bRtb5!joON2$L}XunTvPhAq?;R z+8k%UlY(?mT0c1O#5ckvwwjY&MnzVJk*nBAzu0i2)+z&%C^k;DKO`SMIg8qtRwUdk z2u1(o$f#>S)uUpVbO8it?TtHr*hQDZAm0h~DW=+;q<=ceJ?eN46@ih66umG@yNu23 z?VV-p5E?oNI?}C3CK3QHh8}e}BVUOmV_F-b)m9LI$slvSjx=&uQq#k2rKn2p^PY8M z_G-OIy{+;Ox4_iLv=-8-3;yQnHe6j~cp7^m3ypi@DL?jqEuX-e%JDBcOsn=(I`xuJP|pY%qU6q9OBJOEv{4udB6xe zy2p3~k|@ogGAv!hgRIA)iBc-x;uL;Y{tX&eSC3+^)ydmPE%Fw@vEMUfE8IP83*jQu zm9MF%dFqkSTq*#PuyoK%MnDhF0EysBM^6+=1tR)Te|7$8< znLoIoCZCI3Y%MTlPl8Tj3Z}4wwVTXz2HH7FP$G?>3?&j%Yy@yEp^s=AoL7?n*mcwh zyvDT}jN-K5r+B5&Q-}3Ow=xWno?@VoQrHH7pdp+>l}zhK!I&3F#xaw!6HNe0Jht+? z5S9t&lz6SBXX7c3yeMv9*m4upqvk>M@R3N$8aWf=g5O|=4wfHzed9G3>~okeyYT7b zClBPRvPYiLcK+9BZ_=r_#~`GrDfm_n3m|Z^lLws?p+~ur@3znhk~csbgVjm}Am@VA zy#P7y8Nm-Na9~@wW1w6Z|6As&57=FQ^=q1*t=P+q?lPHb%@(x66zgAGx!bBqAoM1m zL5_rtFX_>{^rrMse;5&6kyawwLiU3p@^O1am3(S_=#b-fBf%nfu3>0JY~`&>-DSvv z3)#UOhT~|1EHGd@bbkLtaC9xpwdE+Fh!S8C?^~@cC@Qq&V%h!6!dyxg2PWVOp<@AO~K`d(>7Bv+lFyFp>C|Lm>=aL0~7GhI14`C=YkS%k!_sq&!YbghRPXnI$i1 zp#n|$MEPT2W_qoh((3{1kQ!iC@R%Oi>T_ycoXOx-LLK3?*7dEhzM*)Tg>v%Ptq9|~ z(h}#cu>7y_%@qUSDC$wYMP`Q6H9Y^vXtONk#qJVFkaB{LYHHc62fcqiq4?-;f+Mfo z=c}y~b7?tCZ4`dvwfCFOY@cqpUasVcqs|RoWmuSWu5y_Sugh8#e)Bjbhp~DSrlw}Q zco`rA*#H0#?rz)8yt#rN{48*fx~Xk|d$eLs{t zjp}T7A!mC5ZKXn&>K_@`v*K9jzR(THHzqj*i#O4n&qh;^TE-k&89HlqY|?cAegFxZ zqjA#Ya7)fpHUcp23JJ;-B=y^2v1v>pLxAcIxJJit;4-Ez$h14-cH-KaGts(hW70Rdxu7nJgEZLzmFob(@!JBwY8(7eLk*(O~iHJfQzV}bn4w@^SF%oCueL#>l1! z-v1)Ty0D>pKhF+ztv8L=@Fmtbi6ZPpi@LN^OSlr`P`OfLO)L6RB23}Pma zwR-xRXlGBoa~NU~d}M3L7qv>Bu|08Pyyd=SFJ7;o&=l8j14UF*ybSsoFn8gY13tVCMw-JiOdZ4r(}@`%YZ;5qB$p+=(I$rh zfc$mC`5DjJEw{;cBo8)Q=ih@F%;;R?p}yRl)`sea6)H9lVG7kVbEXE53~5l2Vo2c1 z(8ZRD_6^4_PQ6%5B0@5x`9F+kLrl?zFqz zLD8A8J;n(R?*skA?!A2Pcy)|3TkL8!7k;N#hN!J840quIU0aVh=8*~oO79xWIv8r= zj-O2I9f|i&m$hfhWrh2++@s@uw0aovCZ1It<-?!j&1GbW{5(Es%S71qFffH~Pp+h7 zv8x}*R7uN8ZGuXOx$0tyh|Q>G*!t4{sULF>4CPuGQzPaK8hNlVd-TJZ(_D+h^tNr^q z$Oxl0a;ug|Mp%s2=~MG!50|pI#hG_cqi0POG_#Ak6h?Vvdce$dCoB5mksG%#0gZnU=AAUMK_TXcG@L2k(_j z|BZu4))05)LOMFh;BQ1JU_tgSTCCSC&B@3syOq@NQk4*HcEh^Erm@3PuQ=AXw4_gT zdu9xmRIDwtrZnCPi)>icb`DSdq@=)%(RJ+NUBW-OKKWV+RYHJNOanf7KMZPYRMkeN z+9G=CKdF-a2o+QKX)J(i>^}MB{f;Mxv(SXiep5{6du#uDwZ)5oc^^ji+RSY2dqx}jbI%5N~cSf9SvjTN%L5uH4ue zB|o2&Ae+pcu$I%RwT#N~L- zTJyJ8VRi-tyi9>6&Ot!B7?QAt5z#tW4xY4c>2KZLQCzAnq+@@)WtKv$Hw!FfjWsMIDRzJW7fznI?50FK{jYo%XL@wXn(aj8ta| zc^BaIbuX35a1Ne;!LqcY2FdT`LVL@!iTiG2VLbK#|_%qQ@lPoV3L6x zaWJnrif1B+1Ti{p4fZRy%!9Q9>59VQ4$-=DL%)$B^7D!XC z0gO5p(xCK*oVLxK`2hLEapp{y(p(*<827qpnax~}gknRc89O(D8|st%YiAE^fg>bm zAAcu0FhLIO3rv#d?|XQHWW2zuRW?%34O-7~E@1DD3KVR3V+RwQXeD-^ zY(05#R1k;)gyUZ6F2kO`=3@;JC88)xYXGK{8*5e{8Oz?(j7Y|zn%>kx9z^w({WZvO zDyxE%eB$QttXD4Ua_U90?;}lGOL!YnTwpwk;s(Px-%&Hbf(da|es(5Ks^0u0P=P&L zf6wqRi$#*ZwBuJ|i&lFI7Wo2yu|vNZ&h)ahRNqzw4 zYrYKHL0vpCj#ij3_cY!!YecvJKxo-m9p_2vS+tV7JjEa?rpC zTj@OeI3v$5C7F2kW_g+sy`MM=a$P$V^;1%MXbr~gpmXt9*;ixvrndy88YdNHw}8>% z)Ec{gp!1n{@hHeAfj$aS@3Ns#ibKAJ8jr380L#o!!5L)Cfr7S zc^J!bENaz@BathILu7@lC|!iXJV51ckvIQL9zp(f;5@MRODnJHLJsy3UFr7hEnuFN zbWUC=HUbv|*~~J0>}wB`c^j~+e*^|T)m-Q$G@}m?EK==;yPm(rYNL9JY*nEJh+;b& zEl29H88!|rTPxUXGZAW{n+w&|p>cq1fDei0d}9%QoWPqMc{E2XA5HAgH|)M~S^nx( zvaPyvG(GL)S9w)+L}{J0aynce4%Ey>b`(uJ@K23!5I-SR^CpO0(!uS@fkX6zlI^P0 z_@a~3q-60>TKVJ=%(qu{m%n$eb=#PfrI4N*wkR5y`~W{dz`tJtKecc{ns=aJt9*ie z^n$B#X{a7vcBS4J{~Z)pKFHTkOW5WJF|qMm$5diQ+Hg!3X01MEOAj;b zjWCV|!n;Qrzj;J^h~MTatGS~rVu$!_pDM?`*>4wVYC_03k0|iJZ3a8)Ln(P}p2*+S zAlLPoJHwg;K6#*=p=zU>_^1>No3*@*a^FcP$R$+qr{>N z!}e^`1s&4ot{T##ZHRGO%gyveHxdCtTGLvAd09xRK+)HJ) z0v5WjJtdY;NcdzbPzrq9Ki=&8QZM%SkaQ0?@Y$*l35 zVSavG3iZLhA^VP38M$E3c9BcACKlBf(Q+#`DyTFqpMy_0Z4g?c2;(V?U+M;>SGSlE`%* z9~EdUadoco(FH7Z>77bJciN(D>d$x+`53+N9opMJ4^^uP=5B7WaX=X~WE&XZlcQRZ%pZ3YCSzpS5hjGCqlK~v$Z)?? zJf)TFhL4G~!-!$fCO={7Q{9p3fT0pFrm*IDRkSF&_?*H%mT!9fQ6a)N~;K zOa7!jZ_9sq_3l``K2i5#;-v@tS;AZ>{2^*(&afl9B-!pPmkFE zyuc3Ut84v*?pdw&+e8_5NA%+yv-0VjmJ|z-hDyLX)|+_}im)A|c`>G9dkNu@x#8mh z1cNsld^-ZqynWcASd*wby#+WT%E@rRTO?vWW*`Go28w!K!}l>YQKBldv*TJZbc-Ab#BWuBF}c`!+l0n#|@z zErte}o*4^I=8~?3vWq>}-yRrd-wva{wlEGk>u`hgWxrq98_A|K;fALYR7yN za#U*Z6VeZYxdS;$-^*1%yjk!TsEVq&@^d9czR2luLFwxq_zdUmp=*bwq!6}k;CH|aRMKfQu#mO<4lE*^b0>5z3# z>wHh$->J`T#PWAAa*&#nk{MLwgELZuIQXdK9`mR^<)S_3DC2zgooZOkiN88^gkx~h zHZIW9@ih2UEX3(CJy!CL%}>UN>c$3<<4^e%squ}IM$T*abW4Rs6s%?X}tw*Y{LCl zxUv6@8*VMSX#$85DE;9#|M0Q54vZKWu>a*D$l$K(p&Us;8{C2KRo0qLzW_4>eWyo8tUfu<{(mJ&k&jxgG5TlN{&s-{-FNT$$g?&uUIXjso0 zeRy;$=`yAL?2D=Ad$&AaSIFIdr^tNqfGf&)h-7NpF#S>vA$fnpqzw~tPGz8UC}L~0 zI^0C6C~??cg=1P!TtOZh{J(#MY{oUuwRzDP+&;Q9E98`kkR3uywW+HCGsirykd6@*MTZ;W`mMOPaD|~S)H_e-<+jC`WbHGP_ zK)V15Fc6(JuWL^;UO~N^`nhPwcjghO<>o};Up#;d)w+meE13Uh17tCE16dQprS%l! zy@zUJRCp;p1Dy;q3e0>$>u?ld9zif#%SU=m`CYs@z3Qk3&h3~Cn21u`lVkaNfGlZ~ zqsu<8c)~+0dFv{3zIbc;$-v`I$r$gqi>qZ;Sf>kNlkKBnqQ4#->eKhW-IX!DkVdPO z&1rLcMZ9p#o{zUeoc&&0e9YN^-|vFQwm__nVwKNP?c8pK&FCEu|B?AQSn2j92+%k^ zNdt@%!FN7C>Wv5_sF=AUHpX39rkm*g9C(9mV9Zs|hCdtTk{YL6HyqLT5D-DP&z5N8 zDbeV8kI)34KTTveCtaWH>^^q=Ua`K0%86^jVA{$YkVDEN9z@)LYMYDdW6)|Cz4gHz`_WgrfUNz!wlHYatSdbq}@ znoMNjKPs31(w$MCwcJP@_l8p^H78X)J8gigHY}~p=+@ZX>kkCRhv-9CKdwU=2N@M& z+3G;$8k4SbhodO?t1$>wNQqZ_Si1Q`Y?t8+&-E0^sY<*_ig5t^@G00j9#ZG?p1sa@ z?d8=@ov}|+3pMfs`o(d?cz>-KtbXZn)+D+;_&ajUax-HscZcFSb+>pwuGJ@xYDNUC z@GQ1;5P)GXV)H z>MdHt@iGGAy%j<%|C|g_8Yf0N10C~>5pL*9b|@PwjXWtUtQ)fc7P0xk84V!De0TNn zQe`w-rJvhjlI#uz(JMotg>ZW8Q7w{+2D~>Gt9*v~z@G8JG5oIxUHs{V{{=ek%AU4A zaJvz3db6d`cXC#a1<=L}YKP$d!spDA7TyI2$Y;+9bAy669=#MZ{4y)@nDdzaed&rrN&7_9JKrH-=7*s0js7382uK zccA*?fvMcFqhU3l60zq{<_dFVdW?;4wtB7jQ#yN;pHQaO^=5C!uZ7X!JN0X+6_n@t zo5YM0C*5^Y;?;pIL{ERu)(_!-LM$bgbehy6ORDj@6fT8BAg2e7aCz)9 zD`Z6bh;9~8&g){#Bc*mOx#48AZlIW3c%0HgXe|0NCTIP`smXib4x5J5Tw`*G*`Wz4 zPs-^#@ZAk{(YQ$`b)(PFkKzc-;XBfayBlCaYv-1(z91fhZbD#2X+-i*Bc&88%lU}7IJk9I?wI}@J!$hIzw{)c5+<->jYf$4in~(y^^nNQ3Thsp zPF#Z+)(1$1i~a@^>SgdsPiVdzG4e)uW{5@_$dViUI=+g+5~Y}1%<|{p|Htf(n1}o) zNVk2ez>36FHDtJm;_5viOHCx$5Pfhxn80+_I;e7t7-kr>pXo%#F;XG@{$PyijQv=x zhQSkpu{2NapM()vKUsUno7A)lKD&ZVVwbW3+)ag3VMjYPyvQZ_9%%M&X$fw@>4H zwa)oM?P@c8baF^*BerjnEf4nZUTyJQ);`G3^KnzZW=@5PNX1l`;hT%}rTxbtjJ{2P z$}zei113w~o3mlf-N2z&r3xfeHDB|Z20Y{;m(2(8a#x0`f2iUOjokA@a(0Vg=LS1k_qzV=I zv~8ZF7XH0AOqU}xqq9$Et+Mrh)p_=oW6$n9GBF&rG%;9F9qME4i~OU^l3)qg_YCEO z22MF@9%d5`MgqT*ERVLvPP0ws^I)=-%)~~lJMkytObu)TcrUBRQ&h4xIu*;qurov- zRQgYYVLWba@G=;VpIMk&J5xtXj9P7Kk!U!Ny%xJ&M%m$Y3Mnnktr!15r9rYtbOAQx z<35)eYCCAsk)TYEl0rt*0k-yif@$k$tYd+^x18kGGUX|bUp-h8FH)0Uhp!{Zv2|D= zG>+}a!)>(JXg3I#48DtSo;auAE_Ccr6&+_?Zf*^4%4eov2Hw4f6cXFgy`0pCo(ETq zevtIY;Y?Z2$ATrJRxY`}AP2~mWkxHk(GI9U6(oJ3AHft(JZV)rt>Njc-!Bo6!%aC6 zOq+%IUSR>V1pv9GS=%FbLPv&rmJaT5KN5`(GpL<$?%+3rTlRZ7im!KGnQuy0Y>OEo z+GMN69M4A%s!c)IoIyEHb(=gI(PuD90a&{R8>i}Igx_~JFYxL^9oOIfg8=BW_ZYRb zmdy{VoM#}VQ-Hf%Q=G*b=Zr3NeN0Qhn=Xf{(nV~4H*HLLbb3lI*<cJ&A^W?!xBZ1>ocHHKFZ2(MCIhN(gpudn0FN8tKBfqjsx`-~X(- zN}8JHexCcR4~~2i_wMcBO>&7gbmXomRzi2s?exkkFRxN^F@o=r8y0$tzi5(19K@xc zR1vTl9M5=doYr6pxURjdQuDaNZ1K`znBk*@TsFX8EX+YvNQBKkK~lfC$~8BhUPt;6N$8Hr?I7Qs=Ga@fH@n+YE zh12VUPj)@JX)@k#lLDr62N)u)P=^MB;nA2#5~a(HVQXh_$jN=lK29EA$LD~MX&VIT z3Vw9oQUiwT@}<|O%2H~{7< zJ`VD>{djIVu1p1l;s(kwg!7Lr-MNQs>R>sll{KqiA>?>?yWBF%@NVJ*!_S~W{A|Pl=sQX z7YG5vLX8j7G0dF#lZUfnqS}iXq820&=X4k~u~AX>qlntx6>k+x-nYqjU3S{cHPS(5 z;<^g=-?W)3Z>(cbJcUHX5(l`f`PSHtwFqI1OV)=G0fOTX@0a~es=gQ-wcgP?WO~cy zoL}yXtz?A1zJ2UauKq6PFFUm)uypCrxIlU>njYc`4RRejE14}{);F#k9I6}}&}HQK zi=9UY=HlpU*OGYiV!{=obyYhBma)D2Ltl|&jmeM7+RDuNYTsj6eBj=LxMUVGzieX#@dOz>3`EGc41v3D8i4;ObF0Gu)3Boq~(sh(O+BYNYSc zfEnZV7nDy(BU?+1eBO%181YS-={|~(#qaNE)7tVmRJzaA#KKkk>o&9lG;&j~=_bZZ zeJ41)ZYy>p5|H6LK~XdP?fthnYcevLisxT#%d`rRW5EX`OA?~=sw2Q7N0{i0e;$09 z{tW7t(zbVgKU;tJ)y}6LYLuwivG~aC%0^#tZ0#IzH@g4+6&UI>d%Y88db#l{#8GBYd;F zaDTx&J)W*aa;JG~u*r5?tC=Jge_#0P((05A;gDuK4tDMwohqH=9k@PRKkOVQnA8S_ z-t-t&FbFOwJetw!Xx$H=jA6;&{wUR1tl{JnkIx>-Uc;`m9foz})OR+{4?Aby&a29cXI!3Y0JLsD;Q;B@8AV$aF}bXUl&95;W&>T(q)7s6tSOOXtx%n zV6R?kH-)7&=~kai@vC5a?$I$S&XV);x~MYBtO01s5Tr-55{p#2$#W9Z;T1QUX#hDq zjSzmS=e-%-F8+E=l)tm?nI;ucO_90ZxE~)5EgWTC7@DF)#;}qvfqmz=YNtfr(2lhR zJeM-I4&@Ft^qxS*Ul!w-JqOU_ZR|lA@j8P-X2qfF8XZ~}x?HSL|IX{r6{}$}!_O7U z77-CeinrVUswG@JUVb!8-qN=FAfxjeD~Vwh5mquliEs3Dk>DwQd3Ku(AIQoDUw>t* z0jW;Lc?w&IMO%)lF);GlrSS+5+-8yJLth_BvZ5>ixYz5Rj80lyO=FW*_yFh$13|?_ zi(8=55lg%(A3f4iOk3LYTphsb6>k^+4?7{i0_`iF_RV>@Neb_>tdVQN{$f#xVv>Op zolFl>jGPTTP;u~-yL?-_BPA^3r3NZ>dNo>YE%t>Z`TpZ}e^T5QJH^ABVdomnb+g0{ zXsvdV+!y|{J{Tr*0#D2yPZ)zqMU~*$REbgpS(?I_TIAV&y1Xp{;^*w6BkQc?N0k!H z#q`-3kgtH8pD=%7svX9o;ttnDFsj?%{&PH!wIQoyqELEWvL*y8J^Z&EmePxqot3d# z+3l2mZO=+z6*E^!c{+gU41sa;8YB7m$*XIO_j=3%7uJQ4x80Rr1QF2tlTCUu?QlJC zGF`IvlcWQwp6qmI&u~}M2M?0o8#5nV*BiUkI@3%GHC{=R*Nsy)<2~>yf}%eZxbLn+ zv7w-s3v6x(>2~HL8MeZ*L>~@$?YbGgSg+sMXJ!>{#ZKi-%0_1#_MMAQ#SdG7p7DzK z8{sv_!%5~d2N&08P33GOIV)gfPEd|GO_lhBzxnZxIg;K#NyWb)8tE@0KzjKkRwH?x zF%S@mw${{+H=5a|!6lgbSd0RqPu0@7`1La9M$2;4Mu~@B5r`q8N7{X_lpcUT@k9yrayM>CMl_t5bgB5<2XnsJqj=qs z?Q>A5d83eHr77Nclyy#_tGzaA$K0pZj+GAZb%6 z7%C3nUGm0lHzrnhRQOC@`yEg9t8#qII=V=_ocv+a>(wE0OZ-1!PRp^8w`_qta>+3$ z6WHtpf5&|W(4%b2q%b@c-huGN$k#GFOMrDVr{Ai~eX#HUCvd;-y7-aTe^vY2xjK~= zNNf*!V51a5C?^pr%sELxv`hf8JX!01^1!o1EMK>z+6~{95TsfLbTt;744tds|QT=g}j0LJF*`7ilz&CV=xW@dnLTpX`5 zmtWz|KW&M^rII7Hc!_m~4QLNBpM-~=b>qN?I0n@6VKz~-?n5)P2lUbzm-Xvo$mHAUVbK^NfIQqrVmZV~mBSGwBBSQ@bpOF;{&pS%?5RKg7>U8iV+8;V z?lcD=`)bouFz424zOMY8vKxA?JnHksGdfYPF^RKKhzNzl-c47YJbxw%jAOG(rSQtC ztl+Wjr|XcoYpXbr-By8#JJV{Q$OnvU540GJG+>iztjXmLzU4`2aRk7Zu6O-#FUt2z z0?o|d)XWr2hKED8uyuR=4o36LNRi8h6ivhF3l8vU>uWZQv?=0~CuVCA+^uWHbIhxt z<^Wo8vZlcmW=j12cGn@GJe(xoOviZdN4@0kt=kLi!auf$>WRpb9Sk)fY8>9V*slj3 zey}76z&6c<7PMCwOZ@wp+9uWllCSDHns^ym8-a<4+O8N)v)k+Zv4Feq9iQ68M-jM% zyhbYflnRAc$m`L==q2u0xG(QBWI3A1zNvE};U9&- z>+g1X60Cj^8TZiBt#-ur%{9**Rj<7+N!;UgI&Fw&0Q8dLv4*^G_L&?k{4G)3A)|R; z*qqVipKao0>TL>$xlaScyHgCg_>dv>z6A1O)_A@iO1DHPX!b4jHir+aP|+-CfNwZt zpC%O(Cn12wm!!gv!9bDt13r%XxROgoZ}E3XC%75vIU?Hp*M(G_V0x$*pd#!g*OWJ< zU-^w|&Zdt7SOqthqCw=?q9b{DN}blhs)1wA4ZcqhAJxUcN@E1zPsO5G_au`@H<;dr?(?rH?fAvVUN#*x?b*nH z=(I>Nm?KmvCws17fZQI(r%;>iv@V8z6}B+`orNvwq)sHL;;SU43yCL-Rx!$$)MI>r zq#(#)9LzldFRv1azsDwH6v9fF<$wqt#{~f#XYjXB7nlXd38QLgJy6v7cr~)c%@sy_ z_PzPMLID9}f9GRS3y^WD=1N0UJJOBB3%)FMrXqdDnSr$d`q_CrH~J5^h%8 z?pfqTIjm|SBJ^KLwaQP9^qrOEP+1SFai^YSF4S)@c2GRrV>>IHR^8QwZi_~yICFBe zyi~wbtrVXBkuUh)%D|^oCGi0fz$Ib`hgh9oiSncNU*-k2CJhBXk@y$;k!34A>INzt z>@=UsF>0qsN>ZGA4}+uN$PwGf>WQeFOgvdqhUQW4-Bco7tfon+CW?VB6{(JG)C*SN z>D=j5W#L*by0okUH4~XLxVXJ{)uq+%_dQim6>E}-jY;6Przed{KD~s~*bmpDz62)n z?Xf{^Gr1+9^)|i7km5evVOAELY9mXmbxu>~GiJkOcp!>hQaUgCwH?Zv93avZb&crd zWvLI;;-cSuk}cbLBe$)0?Bm|F{yQexb^aKB>dcUTNE%l_jL&Yp<;q+HGM;X(STR*r z!^0wd+Tobero2X*DU>5~sw-9vK7TO+)>*p{#5?EfzM^?RU_5{E=*n6F0#DuG(wd4I zA=XD8Rao{-zso}Xb)CeVYT3$FW2exX`~k8IW#;LjgC1#xy_wY-nxP04L(a=>(oXUU z%8_D+HDhqfcde!d*J5&hqWh`KE~y#|eI5rkvVi%>e#yvLhF_H~bxM?UCdC1WJ)V}@ z|FM{#WtYYI`r3ky10}X0W2Oi5eU~ydfV4+lGI(Ex&_2PSJ_9S(euOdtZou%DO;Jg% zI;W6aQXDkkJsEttMXYI*EE2uF;If0_j?N3f8pRzdSwx)5!jK}~!idzFxsUqG65SWA zdz{pmu`j+o7pnqgs=3kI6k7d9n80m9Ll+!la(4m?fe9QF_tVgITWf2|Z1Ovv)Au__ zU)m&2n_5*u>E>S{-Y`}j;5wUORtwoy$PE)!rE(sHj}T=Bpe`vi*Z z;5_>Kl9F0W>7whcKOHuv8r6ojF!MnzvR=Q5*GrU1&mSr_&h`@3BBm1Gn*;uHav))B z&XeR-^%`=q(GOp#uen@d4*=mRP$-vcd-sh7`EuJ=Jf#rQyndx1VS>j>bdA?Jl%N2w z-*&5Wp&b!t*O_;twI|h8_8(&?fnam;qYbIWrExF(Mof!e?=GH5QJG895bkSMfT|C$ zVtCl?eSq>ZiU7gJ3j8+7fHT#uepkD7?LDJoO?fRuA%o=~3yUE0RbCnDkR937_WXC$ z*1jpYPoDuo!ylq3I~oh*TS~eoRG3|+T%LMMS+>*N|IqyRLl$~{dh5XtnHRm=ynogw zNXCp7!_6sPO}DtG@r;Q*R~|(VNSCuZ z0O7Cii)w)Vm-*QH>ErBfM&DBwtIx!_pMqDn_T4=uCp zSoJ+Ozizl{av|9;AIUQ$ehtl9Njg5dXC)Ev9%K`fm91*M+_`XeP_QW?rz1Yf2R}of zr)F~`n5?GQo>`IeQYVM(5V4Mf;ZoVM((ZuSv+{TXkW!u4f7*Bp4> z*Zz1_@0nm?%&<)}E4kz_)1gIW|FtV*Zn_^t8Tt=wtC-UY5^2dBMLTK#=L~LvPji`x??!+uG`eK=tnuVA{`gA4m-j#WW3Z@3nG6K z)2TtD`VJG^7y&0u6!@ZC;!len7qS4i4=lR7x9hn9v@{vt zA3wTZjf_ISichvX8)S(BEXoQ`An$*>#u0u@9v)4S#r5#p`=hGifAoLgREar^XfUB> zM4gfag_;m6OE$j=DBHjI2QtA$zd9uhB55wRjkSdY4qRZoJxGmO1M&PI0z7$sT*Z$@ z1pIrEbc%F}xn84aouVJ(Z^mCjg%lun`1B39{A}mLkHD|h6OP!HltX||CZZhh=^rah zhG{#*y_Xv*!oA+_^r1TR&mAx4hrIJbT>zkKHF_b5jZr_`AHPu=NFaMeU@*rX4Z}+| zf8UjU>qRe46VjQqC>TkDf%*E37`Df)eK!2-b3S6Sy!4(id&1br%1K? zC+zzcBwt(^b!Sz_1XB21gO1&pIpX`_Vz7%8CIAohQP5Y>2Kkvq`%V_j_zlimg^NKO z_a1bwZB!1&8sd#Vrs@I-SvTn3tBP`4nHhv0%0b!`_YJV--M6eu&_MUrp85QFDH7mU zf7}d|l=GcH1NKxaw!!%A63`DU>O-=V17MkMsqcy{XhVj3DPlJ}m>jDw{ULizf{c82 zsSS0%;>Up0?{WdcI3Z@dU=Pqk(O~x>*-BP>jI)}SAs#&*B8=nz=;_9V(bmCwMJ(h$M0 z`(nZ-m%I@~Y~w(8-HD;>9@XeugQi3Gv^& z>*M7jX6Z%S9-Jx}$+0$;v;;-w@1ik$3Ka;JGQ~6@PySmB3u!y)E!;L-uZ{78-8pZA zb2T}`Y>l7(i_$wJ?R};+amm$oLX@Y!7lon#d=B>v$=oY&E3lm(l0kztbTAz7m%E2hdOE!KtNtP|pw$Rc|4MesPrLQCwdjXwNGQ+WZ?nVfqh|wR zA}fjsUTIlC^I6oOe_OP=Uv+;xPa>}h+}zEtThF>id>Fw%`EgZv!+yVkdibdNS;LdZ zA`-Vs62QuP9Jboyrb~^`s6`jOasV(XA1hH8G`UP7f~*lS`QM|Z8SPt_#noSat+hQu z(N~77zo^SDt2Y4sE!C7XJmwi;eWh-ak=&O;pM01kPXr<#y$@N!>cFsCHB{L|C?eynvQ5~F114;E z0#q#f)!48g>QvJEQ1Byck}QyriL83t9VJZ;3PnmwW*|hKBRwWr&0FQE-+SD^x;4z9 z$k`@r@vg}CyB^N0B7QwXht5dOCp~0g(IVdv)~OuSE*y1VPA(|1(Ec;C{wIABEK0=J zB6Y#97{{UKNUsNq)y%o#kzhr=1k@AvwsiBs1dAt*Edpb{oQm?fD}HEeE?NBja8j9q zlg%ji(XybT#CIW^gvGj=A7Zh6)j39sT`})59TFl7_PnX+d(Il`5m0uPyNu+TjM`99 z#{~;5YT&DnFaA3*PIyDPt-qtiJ2a$eexqq}CJ+0?H5%80>J*E|1KZH=*GJbK8MCwp zaA`d2R0ycp&Lm96WHZ|_hzoEPImYe6|ZcQ$9|g%Ad{18k zUlVWa4#!{pSA*+5R6aTH<{cNE(|k)hWbMZb<<0E!{G~Y3tZ&qn(pnSTTgsV^n{JvD z7>cA{Uv94oNgdw6VftA?#Zfn;I<7twGZE;(gR$%6QNw2NygPRDZRDhDA(w3(p5F3s zv4i~k*$A^%;?{FFo{VFJRO$-#(}^;m##pw5*2U}jlXcdHFG%h7XL)6+J8UhjL3djH z$9AeIA~PxZ%%=nh?QKkkljowYuw6k1_pHt&yL23e>m>e7GlGw3tEF$)_S z!J;Qc@%+JB5Uz0da}-!vhCW9skicGmRh31EPQ5d1LuOt{3g4UgrF%@X!f!D{#;R9I z(nS876@USC0Z3A+M2tf_Cp0(Fgn?%6O#Cb%iWJG_sZXv4i3p?tYJyU1QU*)yv! z0g4LClnEIjRir13>AJ;7sxZ0k5_qg$8Gfa*feuT^C{G+?Ml_Z*8t^Sjc1odW$o(3Q zc9`1{BY!9{g3~2Qj^NxQC377kJl)!x421JPt_GHa&|E|h?9K*ZLpLa7IGRe6I$sBX zXIg(%xxFKyIAJ53#oi#Tn-p}1Q>ryazA5l?6zAWg(3 zqyyMXTWiCuvn1lzs-chaxDs@>RHml=N(qMGAp$2wj|@+lq^MW0TgpoEyA9< zEO!bKDU0ej4&cy^hV6yk8SOw2PoyB=vO*mdDs8`sTY;WA_IME8eCNCV_kdA6b`C3O z!=ypL^)LOWquj=vJk@XH8pyi&b90)1o8AwaY?iq=CtFKGEs#)tUdGVwcZ|dP0*=Yn zRCEeKSlo|fd+VoSmiOmG8=S-JPd(HxN#&V2I9GRwCv!;)B5toiRw=n?qKTq8dPaSo z6&5g(`RAxkfKa2!0+0SuQ6ZO%{-E~X8Ex>QI>3q;*Jt9paw>l}mOt-r-1NOU$kX1~-SxaIdHedM$<3QVg**x`R330KURMBIJ%zj*q*a)iNN;oPCV zK&SqW(dyeuGNRb>u1WW7*{ZE8#`5(z{~}wNZ{F4@iiGBhHfBHQb$Bi&h=f9Dn4Oj#^0Pk5nb$Yr6#sDi5GhZZIVcA-cKG?hlR0FuM2KvNN>mLi31 zG!I$IP%mU$ae^-Pa@vwIx>5yQ*hOM$%xbtw`fA3$dOwX9_@IMcqIw%YvmyESJZ~Ew zfyN?NkJ;y}U^*1Skdwy51m1KL7th0xlanN+Ao>OWJhyW8Mx`sG)TX5=F_Xz%HiXjp z^5jos6lGw=m&_^Bl!y1%Nmzzen0IMCjlEU;{fUcz+A20LyPtuIw{?nZwzdpV`A~g1 zY3ns${OXA1wx~s_R?~mo_KNVzgEO~Wt^oQ;eHL_Xz=KM_)EuHt`+SqULy3Kvffrwq zAw?OOG&>E@4i-R4@E3GP25Ha6%tXoXGl`@MP55d{Zn=+5o_W`0tcDgo6X0h9V{2#s z3@>}tNN>Pd?8_Vqv6ZR3UPY@_ard5>(zl{#{Q3;S!he77F;$&fzOJ-!tppWhoD*?U zCML0>Imk$1HvE>rt{J?QDra@1$E4iY(V8gs&rl99d=u<)~gDF3^mU(ZiIaU_`0FC^H*RGIU-92#AT`1mU33!veP-5n$9Y41uFTpg{;F89g@ z>E!zh2ZF-l2ww#k&d{DtkNxdVzIhYjNGnYxtcYRov>U(|006ZzLXhqeOsk3nAsEV) zoF>P08M$hy#Y@=x8~KsS{j@;(v+`q|@MjqiF(#_p18#zcU$ZlJPcw|DGoN?6N9{k! zZ_s~A>@m;|krD&$Vj#$gVT2qt+1z7j6$r>67l@EhaDQWQEt1y<;u^J>by=*DMb^XJ z?F3+^EvLC+X5+k>%N)y1T3Fl3f%A;;h=h({O&^$Ri6E!gKf#L~6^mgKBdLSN*FD*z zIG2$afxFaHa|(WEyH7ev2nLrN@U8evA5c*9N5`c}UmUeJvmY|L6H>Qb&7mEWJXP?` zgGB5`KVI0FH6!mq6$3LJ2=_$L^xbWTtIM_}&5zp?7NELSYnZ+pHs<%F0M7O(Dd`;| zqo~KRp39BTRUzE{onsUuvf@=HaL3)wMYzuwp#<84PrpkVgfdn;zpaud{`RFz{hDlr z_8XHBxKoY}j-u3XUlH~Vbq_Ib+3879C|6;8d+y7i0o*ErO}~-|E5`C5K0$W48tzU8$~@R+WaKXwPA+t!)8GcaZx3UVcR<~K{F z`|Qx&ZCjKgR}zcm?CjQk_eK(9yDbEDmp;fMd;Yy>J^x;$yC8tX%dOh%Ey!)U)wq6g zJvn53FGDP3V!y?ex3vrJ2-mUi8E?fw90L(i1?(2B7y9tD+$7iC=EBZUwp$~ttG*eb z7!D9#WS@s~j|>g*Jw}4HL7ZYBo=^s!OOPVOEGOhc${3{~h)_C#RmgZUY1MwOwlA*V z{<^9)_4wJ9JL#2o76`I+R=#|kWcApr0r2kGiAh0A6M9G7NRVV9R)PKbl=DNhAiKwF zu42YzU{}=U>|}e!`Pl}usJeUyA?rh*g3}b09XpVwpa}o3qo1;5UJ`|Hf35$bV=U=L zL%stCS6q|it|DS_J|2JCmNT4093?edj>=?Li0&FFGWlmYp-A$44o)@7+l_)b8Jb?r z`D`36an(T){@(-^Xv%&AAjMQp`}M;21sa6n#z_jKAd1&pY@x>yujl+a+^@K59;riy z9*|HO>_0+KuT;UdDOv_anq+{-!_+j|St*RLB`?pXo}wVAxLywnj?sWSZC@YKPsQJv ztK97e?h{W4-6^pmhmC`xSDVZzK+XSydn77!~%Sn=h|*yoz28bM63!n`Ld<_TyKh^~TuitOBCrm*9MG~n9eicAN z0Hzc%=8rxgu^@5pPWZ0&Z~uo0$-FGlUtE~O>cW+Tz(KXmv6s#y;y884SH^Y%=g895 znK1*9SaNLm_bZSTt5gwE5+b+busfRyF+N=~rVsodIr#*@t9Ly(6E*oE2la~bb4U#cIZa}P;rwa!?mI6auznS+QvsDgzy3Yt+ zl!5aX9-}@~$EerX90UOQ_%_cDaT#*G-W~4TcVfwKLtUugn=GGi@3mg78lrvlHX4jKj^4E>AR}|N`wSNN{J;;-YE{n? ziDxepKy)tLZfHd+`}&u_MT})1pI|i-6CpB zNKwoB`Mucw6ay*3;xmp#>Lz1^Ms(6gKK|vhkj62Ts8so878btW3W5ul4zLbD?h} zpF0Dmo81lK*_2&+nZ8z{DsRou8bM+4oL4faMm(u5S5$3c&D&-RY8O!nNd|*G3^9*PYPyHJGt>O>fPp zk4=i~>eW5{>0ptO3nOTod0U}uyqF+q&d3+!!6&*f%oD9C%b#=%;Y%lOVD!6-20hS7 z8l#MvBZ#AJKz$Rq{3TfyYQ5>P`rsTtq7T3ySnnTGV?vfi*m81w%BQoJZL#4IE>lb;jcMvd_lJ#oihjBoF0M%x$YPowGH&SQ zaNRIfHv59v&66G})g*V+Xev=yoHPLVXGb=!7nI+sfedEDBjR&hT0!h7eb!#XU*%>L zuAdqrS6EQUhE5o?+%a>kj^g#xh_`k*@nnb(no*gn|3^T%AWfxPK1fKX+?aJ-Yo#xm z8F=Zy5O$lsW?N?CNly*d#STvUbBa?@q7+C71ROMF$SBO;eo23zHq_5RpJ-Y^&ROYv4w?shVUT^_?x zt{rG_$qfE-z~Gm8MMcMfpB?1>r0&{)<~L3Ax-{iBWzJ~aN1I?;c_%gy5=qlPOIjYv z14&5#bzxHacSK4|5W_U6mx)*--P163y-WBXkL$~!hAnb*e1wrmC1wj3*ns5|35ejl z>Hq~L$iu_n(yWO?m{een&dgvr7e{Y3i7U1YAq($Z%Nrf_tNM1}(!@see)K5FQyR{( zdiVjvW{p(&rdiUQmrqAcOTbl5zOcX1^;W*aa*bqZ#UejA_Kgh}k~HCCj&4?Qu1G=$ z=D*~3V;MBBY9yaaT6-1O8>9lsan4|rEgDf&+-gtSixJKd_g;s-$#jj;I43-i@Hr>DhA23bxv+&zdD2gv7?qz z4ggU=uD>!6R`Yr|w3$f>9>kC#(th9DS{rqD(JrpMw;v9L*#LWd3GcD4Uo)Z`Au3Fw z%SK=-1=p!@`C+yV(MaD6;2n$0gOi0^L-3-z-QMsR^^MJ_-#_Dk1HVlpfJB{%=If+n zn-df63L*fKYKwH$vJ9}`Ql8P}giG$EfCMV63a>|8f|ZL5v=V$ibx(paTl40zw)nYL z+z&pUA8#69_0-Mi#(NRB!$yNjzS`bO%*t()=8T&gx?l3=tKe3i!QxUEDoriSzB$8P z@A+ziUr>;23b0S*$1^_BtkCNb{bL0dbN;)tlTqx}C}=7!3O}E8DUJvb6ucsAy?who zBN)=Gtj-hTw0I>?1rv{`9W*xI?DUu}y(Ay-8Ws=OQhcT=!gJVQPbf#9+689$V5%lS zA1EWIq`bOaq)N*ZobhSDRdNNdhuhOx8KPlRYr)Fd-PfMdPd9{3&PAF@$_`}RnRxqA z53H(9*xLjQ=5_%OG5tPmNYAJ^Lj5J*)Q@4i4JDgxFN z^(+DZ19~<6wNe-MJ{K8EY>#^*!H<7=~A- zOuLoFFi`QkoWcE}&e*{=I$ehp9 zCJR{|eRsRx(mF@$!n)f6N2(4~f*32rQe4O7p_L%s@R2|kSPz=IX<*Atg4xfl$U?6z z6oz>#|3dV|)wBlRIDPoG;bYkb+xRRi_DP?^_T!OZ$pK&}L#-Ww56S*Ws?tL?N6rei zMFZgCCj)sLg7m?w)Hm(YNL@GjdFJUe!+czL27io~Cr_V6uhrR^z*(Kc7WvAK13!be z6A3jDL(yra;4yp=pwn#dpj~7^4^hxXMaTb@Pd$1nQcC3I$YrK~TFp9#q^9JlvmPR) zLd5NA*+(`u%Zio0jdW`WSBt|4YY=yn?+FMvd*vT!y$g@oA(YqSHxLmfMj%I;EL>yT zqZ>PCml4X04}PRTRaJgcd#D7YEhk7+?fM19!*DVZ++ ztLl2Ba7dFxPjk-kvhB7 zqhy>BkNR8GhlBFTRD8Zh=}T!q4i1+QMh46u6HmX+-~;#?`;kGXjM4frnAQj0#1FXJ zMdCjOd5G&O5<7Mj-h;PSs7@O8_VL3G~hH z(`5TA%rM6e%EF-w!z2TcLB4#cji>BsH{gcvSAOGNKW8$B^ar-ZjzVw>(1T0`p8ccl ztiO(!n*1g}bHYdM!kO`EqfSyiM(aJt-D z^!XpKu=G(NX_cranzf?KroWYKs5O_Efh&)U<9=k5$gb!qKO~ISK%;yLejmx3?_)50 zSpG)!$~;Jycz#eiko01*NK`;EFjh=jK) zcTDPNwZFqxvfvYR1r&Kq4`&U>G$-LclJ*alNab;PHO$q>Y@WK(h9tmckBMHi9d1vNSBwu(Un^jgIyDP#%2J1#TgBWA%r~g+#%L0cIsvb}sIamK~{+{(83jIMDpUu-Yhs zgmr@+-bPOGY6ZPZRTOR`)po&+_^CbrW4c;qNuJUjqUd5teNu6ncuSNx)O4sMj|1u?o}V82oz2F-J_$UK$3NA)vJ+-l3vdiVwu8Y<#hvw zL7DuoJ^AW6`C?%PZ&{=1obaw?to8;KYXt*1~qvn}~=Owk6GgQQGqjF-g$Y`E}Dmt@7P34*Bh z8r-ykbLJWX6S8W#zsG(5_(S&HN>i9$@=#Gp3-KKE`{(OKyCQ}t~^S$fy{y##@fPa0$`5)rrM z=G3HGQ5 zuitM)xe@b$K>z^|TTJ@W71Q1HrRKstQSAwSLPz)z!F$8$?@*{t`YdR!p(Kg4DY5s$ z{;BLwzeWQJ+Dt$(Ul9$~H;_h-OeLwk&c#Vz!t*I3|w!2+~>iMf?U&Y(9N9^2jbF0P85BH^IKuDIslE*Il z{kM2CS77!a4LgGoW?W%UOo?n1$SzEHWU27X=7fG{wDkPVn1zploX9(-;9Lpm>z&Kp z>E@Pd@EBu=UgG;|hEL=I2C>h%$EzWfjbm<$FlqJj0-H7!T`R-aPV8_s+a}iGJo&9_S9X2?y_pQz>yN+a$k$4DtLIz9xYVF5MxJ8*7YDg{(On`k zX8(s{y+X0B1Y0y8pO=U447)n|B=Pp!T`r;KWUE+fydgZ>d-MP_^R`ry8P^t0ozAs0 zJYY8Ehzd_ zY*MW{U|1oak$2JlvnL#}G8MAa2?v`LMnw8)_pf<<{5Ug@OJyEya#B%y(mi-^W7{q{ z)H>J*#-xkjfg3#;@}|K=v1(p-x_O7LZ4c&Ox+e7ZLR)splDgKZrvUA(m2)^REW65y zd0HX~65Xk!AeWLB???z3RX|wr`<%|AN2~WGpIPe|fqP%I+tP`fUT&uGu|#>_gB!d~ z|9pS~<_gZpR)+Yz@o+E*`f^Ll1|+JVJ`^d^8dkbgH}MF!#Z)^|2TRpxvLQuY2Ao>@ zbeL!ni1a&pq(c|nYY|rv!`SudR>@6|@)%na!qPIbZAjZ#JPbbaTxb*5)_HBG{sq~( zRjJmzr-R}1iJSNlF*VEnn#YxuKHDi{k*PbX%&#n5-Q;@rS7_2fxggGMr-a?wL*x~J zF{bIaz$M2nX@N_MqypO)K{r^6qYDifCqB1W;JjZ|fJMX(tuZp~_T|x==IE&#V?hFkVtK3@^wdU=_CoxVN z=kw?99X-K14Lk(6+NEkgtVyOJ(SQ5Y2HUCB$4wI~DHOL@$By`mr~gcuntCG<2^99{ z;pJ4Xvc!|tTHHDQzAiMz?TXO;EA)GC>B!;zrvb$ubxroSLut^Se>-VarKcfklo)Rv zA+H-%aWYsaE)wD#-^lQ-PR`0u=T6dTbC1%#Oe!o89yUwhgG-Ks#o`2F>%N56F{?^V z+@DZ_vBL!AU$hM!a7!XD&oz+ePly-C?mH3Fjk(vvsJEJ@d>Ff{3irS7cKY* zv?gn{rta!>^y9@VN{RYIxUOeIq2F7CVT*SY+9?hid(rDcnoVRYLl%)_pmgDioK*q+z8cXw-eX2exTrp5QPydNirF^Fn?Q^g z={8E*@SltJ7#x~6TBmkX>g}Lcx|Ff6@lsXcAT4{_JQF#q!%Bb24Lf`(Uap|n(=JZf zNN<6BUw?_KTE`Y!k~V-Fxgs+DThEdW$1*#!D-@mfGE$dMjAVHc2!Jzp)~+AhRYXofJAz&2=0sHV0_3KH+B+ z0LA_zb~fSVYN>U7>;^KM0f8jM(IZ-%qPlggERKqRF(^hmzmhPu7WVZ0Z#AovF$|6p z)rC!>*b>IYCw&x;<4&%an}6Hu`lx?5fHWvr7m5xLLaRt6(IEZ^hIq7*~y*ZR^IV6`UX|>^2e9Mo*JX8k;W^% zA$N2cm>k#W2pFR=gzm`d2dK|V7j&hBavO0M?=d_dcmDcKNvTN4W@wh}`FHq9DoCAd z85eT@q2y-88`EHG5k3aH_xjt_e|Mi{o-|99gOcEqJ1FgPBbmR3p&0AmUw*I3x{pgm zPcob6Au<5DO0aZ(6c#r|0AY8H&xtwlpEhdIaC^>f*rys2K`JoHm&9}DYO%`cA8F{r zj(7eV+|QB6OZ_x{v+$7R`j6t+Xs4Mz=wJivM|wwFSA5iuc5uZax$}QN5N0R&lDcH!?sKQE)x9rmQ^-_k zpP11@bNxR4hu5;?c3u5y{8Jl=Q{?>tpl?Z@0!c(g=XA1rHn{d=L|m3MenGkz=s8Bm zN2N`R10SAw_5IHohxie!};_+3VyZ2^)9yQ(b2A^`C7wOb6FrEVEX& zzL_+dg<6c!(r3CD;9;ILR5b4d3!4#C&^R#tG51wemVT8vx8y}TFBzZ{2q-Nj zByAB8YD!-Q@0+*M{l{h(X3J%9=$AiqcluyoSlZIlcwCF1 zp0#7iCxz29$@!&%#0@mYJ-@jr(UBloKN@k)f1pX4ypFsD5=<(u+oXgtMiuR~s)<7( z!lagD$1Ag=YByn2cTdb+WK}}YRQQFJ4)u0);j0bGY|5rfT*82a+w__y^vx(u;w?s{ zvX%HU=Oc2S{$}#7c&DO3Ix6Vv9c*{AXv_*b^3Tr7Geyz|_-(@RqtdW9pbV;=+anVg zbQ%7^qDUNnH{OTKoIRZvZsI;H#&X9;Hd7)>lSeHauI3*VW z67J_oew0x*%$u_35$GD;=FCae#glLi4xingu_M$L`QVT4kJI?c_)U##oLQ+-26H+B zR1ZUMbP&MgJx80Thb)PDyEEloUFvAp%%1*W%Yx%A`>3R8HRqLI@Qt_RiKW(MzStCo zYxM$D{?qt&cmgUH$S-u`c{-_|)eaXEU7lnHnS!hA8HQ#!zZ*@^r< znzk&u0n@Afl<~hc$_`(BHOCV>PQUuK# zt{95LeZ;P;gvn8m=Uiks+53(r_?dgg2LqLST$3OTXf7GuqE#m53^}Y?3lj1_sN#4w z{-YD06GaxfG^lN7=er$o2#mFzD=rwv1HtC|DFm_U7%39J4v+S}$e3@`N3xrB_$t&H zbMDc9#~yk=k!@03Be-cZSqckS^$RfqhzRG%P&v$rTHl3PilGFXMm;^_quX2>17XI} zlHylkBlE>bLAZ39EHggx;I^#;JlLR{^8=r2n}ttsrXc9Et=Wq~ZY5(Tx;;DR0)T-) ziA$bWr(zDfV~}H>VSkgp>>Nq3LWJ;-aS)RC1O$W3q*K=goXKoAPHy%p*9uHLMuf0u zS_V38KR?`>Bn(ZtcGmIyCR1rEcyRl@tDqGc)Udi@Pr$vpl_zomWzw-Wcc1^0U6s;+ zIAEQi+xZG89Vb>^HnoINs*7U;PLw$K`t5gJoVq>RM`_$PtLBU|3?jy>OTmSMeby?6 zUmU_Bh}?AYK%9QXKC`jfdbiP2PtIj)&e913lGzyK6KioPuE$1LY9puWUzRlIq4DJ< zk`4zYj+`z3kBO*vpbER{LtSdloikyl{ln&--kw8bIEMwIv(>kpK~9ei|EjNV%m3|c znCpV+=$|oF6#X(utbM$}ooUET@mGS?Bjd4-UlVNkJ z?SDjzRSPgDdCz^d_g#Eafwk6fk`6j46uIraYB?tBTXXmP7cW`%Rz^oiW@a@UjpciW z7!Q?g87LFQh7UVdxHWpXy)^nY#For0R0GB8aSvgD^3iuy84r3l`47YG%c}UY%HnUf z_Bq0Vy*aWweBa{7gp(1>B?6=Iml9xi$JUG~)%l?GkrSI1p5QnKY&Ax%$5-MW;h=#~^-&iGUn2p?5ps?SF32jH z@m!+|o&3VT)Ex?Z1uhAb4r|t{41@jFZ%U8^hutz3!I%=?kjXb&Vz-?NRZ9F~!;t4kq*)znbir)2hFq9765BqUA_% zc6t-l`+~pVF6M-31^*>7&<$HwnP8krWawI>W+sl@vmd5WqAI+mtT(w(&e*2J$+zDsNPJITFKv?WgAT5ExhP|xyiXX3P4pk8sL4Z3=WGg6iD|6wVB3F9L$grR;03%3Z$LXe( zW>^dxgqY`CODz_-sdiKx_xy@W?L2RTLP8Ks0BZJbC?^ZewrvlRvl|}*w?#RzWl53l z!ccok2Zw=|y{LbC@q*&%r(){YA=2Rl&2A$i^yoLe4P%OK&VRR+WEpgK9br=)(90gE zhAI{aHte=Or91_GI=}dneH5U%kE3)0j3#Z2Vn6|Zo@SSbl?{TRfFwZ%14fH>&>HnQ z7!rQu7d$bq5s?{Q0Olcev|keK`io*E7%}IjD-Ke7epl6 zC42F0NnW%v^822bYwq98z6@-#56zxsebw&M2jDjD>Kax+YST_S3XWk8ik~!lL+bqS z&-Xr7=L|7>(@**{=RWt)b`sFHG7UA=(EFUxi#9x}r+l-E2ugso+(vP8_}uAWBn&XT z+fr{eh%yvJCq`HFDTb7djws^hoO&#zz~pErdvT@{u0JyBcHDYeB#f6{CFi#rTY8Aa zBl6}car~SYwVW^)wgAAB6XK`27$OXE3S_mTyD7va2iiyd)3;SxTN;OeC4$D~CTU1xYuanUMcUL(}ohlfs@nt8UHi#4ivo0)W=-|Kl{< zF2{4p0DqDCbiY-NuXJwjTZ9O-*5ZvmYEmYq5ZAC1^kEyC4&(A((096DD%)w@Yb~G_ zM>S0q`>=8et*ExW>@Jn!ZY`J$CS2GHcoI4S+*!R?FyL1LL0a_LcFN|3s)(tOgLQV9 zX?#NisC~(ZO8Q3iOyyC5(|7)$?Ged1%euIG9c(r}=zD8dwRl&wl$pfWdyI=ODqcJK z&-w7sF)Cy_ZM6DJdKb%sW%R;_j_80p_LABf^er~T-CZDZaevi+^N-;IA-9OAvn*0mK$~H^=QgyQ$2`bBi5N*uB_fwYluuObRLN$*ax{9})pGvrK4{D^`Iu+0k{XjTIcyPtv=I#eqe_0X{ zLWw@R%C~r^$T3Uoeb!0!sAG%zw(ZQq4|f0&_yu}88dM3IO54ze0*T@BzO<{6t|L4) z$Xi(N_!AhaN#LSU%iY%>66_M;?FOq`t_~!cka0zjzE}ZCQL#G&R%-!b2gyOpY4at> zBqGyr3vvG~ZiDgz9u76uT;uP@+@j>R$jzUhIIokC zx?V-0yx}hcRf`(5TUI&`HA4k!Z?+~qd5_Fd`(ErDAvb#WRdhv& zCm@#*F^lR!*sQ^;PY5H*@Y}_nh+dQ^WW+7LV++2rla9+hQaYfF(2^w))|)s1fsWz; zQctQQ)dLZR|ElhF3hO1SZg=(-BlWGtCW>ygK5Gb&xwOo`v9-XrK_ZGe3kyy%-d;}1 z6MpWQ;K!Q(n`1eXaU3!yoLfra07a+1Ref66DnGZ$Ebmyow(?(M*Hm<0vW!>aN)JHr z1BUj(>xq^71(X$z?~cNZ4>92m3+tsx1>p6@QB(xFO?;{JX9##T%TF}d%F@`XXTL%+ zCy2n1y?+%XxXLCcJw`f)-AAS;c5fO164WSl>tr#r88_mnxROdl_EP1_@M`KQb+ZDm z0sY7sP2&|(B!on7s$_T~1GUg;C(v@`gNMP_ucz*p^CV-?t<-i7FXN*jOoGKQ!$*k# zCep9-ra#S|B`5k_bYJ4lRcBlK*#=*OCy^C>gJ_NvaD97#nvYb&&Hf>p#ptD3`-)jy zVA&|>T4ezQ@qw>ahsU%2OIVdfOEk(~>tBT1P@1$b%957z_5o;R;_D@+V!?_Kc+!rLYTTFl+tj7E%Ge9T)S zFHhyfdXlI*8g#5_GHO7yrU`ops<%LSxq{7|6 zOZ@tj1HLMOrFP0EgNDou1RwhzDFE5DIZ&A@#)o~rokI6t{QL4PWywYJO50ys9L40-r9QZpgAfI^Vqo&1-^y8NK z_G&X`_XM*8zb8BogRm}my`Qv7DW1Vk_E-+Pd1ElnEa?~oP~b?xC&B3^L-fbMiz1tK zq)p#=IsJ1 z->hbDdqtBeKFO*XwW7h@W=%Qcr7~5%738OAW}W8_R6Z;pD(bE%)s-bRt|Z9RDMmyU z-!=`i_kq3j19JLP5)WMb>)IWNWX@;Fo`+lTRhnbm!2WtDh_MX;jUEB$R3rCMR6Oe3 z8-1Q|g*{g1Dr%cH#6-Nd3rd&2SmB6a46MPc+uhOQS+vcb?ls}A^gzG={@=ZQ7g6{T z?hun-V8$H0_xEwHBGgOIWS@9BC?A!l%n+M_Hjg8@J6n!-j~<4-@M zv<^cR4NP)d?-Z&m=X0L;$ zv-q&w;N8;fdp%5x zmFJV1Q|OeipAN=khrV{|rx{Psgd9QtVU2-W^}Ux;S(!0(Uowz2Jqq2f&lD)Y*tf*vccYc81 z-v1MI8+$2Dc^Vc8Izh@!s~1=jSpd|8gY04gg_a%rO`n<*_F&aboxKS*X9$C==C^%J zpQ&+NYr`JSFH zzeG3YAgMO&k@$^t&Un)Q=uqp)v1nZ|A~vK|R|`F~tv-W$(P&C+)BLf*Xw9;LIuDUP zgPALe=-&+p_wJ=!-KOZhW0G;}PjU9Lv#QkVo^CmBG5y`9;kd*pL(8c1h)uyakH+Cr zIXNMWu9Tty1NP4g)9$1Vcy#4Atdm||w^fECgN}S>v-^?XOp9D8QPh3WES$5Ns&q0k zq>B__F8Gb?-x|>VBVCsWN3oqLv3zV3Yb%dzu!80*t5F*I!n}F-8S1v|#+urFURS#hk`u^IAP7 zbRKM`P+$6w8!afH&VhDu2Mh*kawlu@GTF|7bU+uG@Z*4)$KNVQ$1&%7kg~84_P5~Y z&MtLDpS_QdDnc#`J;C{LG{PoPjnbImjOYZ`j0`;3FRU=TN?oC>GO+Az1TbVj6qJin zTet=S`l@**FZ65qEZG@kpT(w>yj+DPwcqbWLmGi+42_F2>eWltC7L4XHU2#d+SZ0H zd7fth=78+;iU5BVkH&wgKAT$av>_w@I&eRKIm3L?zqm6dx`SAMSGR97537DLH!$X@ zM0i~7Dlz*EyK&yAmE#-8f2Tu3LWZ$^hK7BfYIGJ|!w68}oKJz?&vYYSOMmSb*a5_U)42g`M{ zTf>3T^5VFO1KU`R{0|$yaetK)Gp~IvB_vDIvD=ctmlC)GXy}R@q{xMhn$sD(E6}A# zOVPzwR*7v(WF=sY0iVQpuJt$b)9Odd@Bl}O22N#il9Df5|69dx+*4H%OHk`+2sV^A zkr&cC&|#_NNUg^n6YBXS3ByuJZiNJaSurDrkNhMBAEU7@*k<*yg7!npKy| z&oVc!qaHP=K5*t_hFSAvQqtO8VxW6zt}=aI4gegJ+O;%6*+^%g(0Hj zgXA zi0j|~Lp+ZL1W& zZRBmZ;fD)v+j7R^DWbwLg?cG39|s6yB$YeSFViyHLwnuwv4x{per#&N{Hp}3I#_1* zS%0nd$_ac89LDK#_!3+4h1A>+JZxgCH%{r4prV;%_7N-uVb7lB{)Jne&kD;yNr_h7 z0myy29MWC^oiE9MM<#kd3q%L0oMscpNr4J*8A;9azQ4R7uh$JmlXzIWJn}a_gdLLX z>US=)jMYhu2!qG`K=23z8Hx~^1_~(Py{EVSR+br8BO`;}(Oq%{tHC~13^^yC1aohV z8dP4v0}(B}buzhvYz!xtli#-jAc)Qv=l6p{yG zL}mlFJAzqmxj$3LLhShGWe*)t=C-;zZLq(0Qi)*L37Y_pfb4*$r`h2;C)ohkNFs*O zC%H0lg{Ms>+1BzCY_pOY4*VAYr~_@l>}E#BFsF|(OYvqxXN;1wb?qVgpl6;|0OXbr z{rDp&{8cA_VN<`1=0r-qZ-KXvCFY64Mu^Ojk_i~4=krT?ftXdV!oK_|(BusA6`$YF z95Yk+Cn(AI^~NOM9Wa}wL}^5Ov{x`Dn7GJj>hT2cW3;L7jC*{RD##&Qbygc?k(}e& zWlMl|=f~Y`u*jVlYA3*Riz7%B+-h?=f z&(A;|sJ+FH)R$K&HM}T64{wu9ZXj=jlk3TkNOXkHTskn!8cs&@1t~bHi5b~avnkv2 z`oN`sjmZX)ez0@UA-gynWm9U$1NwS&R-%<40HB%MaQ497WyVcxbjVdSPcJcJm>^v7 ztkwu(W>m(QS?$P85h^|Z19{aD<#su%s$s>83@jHvPJ@po$_=)TWb3ThpFCr&82A4c z5;u)4$n}7$Ndpod0JpJ?b#0ptGOrM^N<}o2?o{UAmmsPvz?-;VDZ z`D|K}e~DxWJ+BC!ecz?I65B>%eaBye7N(}w41UmMcNR%AdENIN17iqR$0M=k2rOaD?FUTi8HHxt3P6+|TYuhkEkh2* zGl8BFktWSLaD7+5?>U*_jsY*;#5R`e||{bVQl2EXfeS^5Z8#N*lnjW2l9mvY6Cb-@78} z9J0Pute}3Prb*UJFXN{HQ4CLX1J@Y6MWPNFt%|tfn})St_Z?OILTkoOY52mv{Tj^^ zRpe*Z9_WVYtHpjs>*;aR0Rt?^0^!UX$bF%)JOCWfP|z$Z929^ZH_5hk52ZoF$~(5v z#57BAdPB^1cq(i@*lxWEEhLEAjs!9)k|T5X_oN*B0k|EgbXC;O_vI}f$vD56`FS5i z(VpQv`rXQmrxNdtebd&JYT!bl%=hF5$!W3#b_ZqnI_Q;w(^X5r_ZIusfZ1$}i?(i{ zH3O{^ym9=|`PIj*v63pT(gh5<$~fiZMZ$nQVA-onT;~0${8YI)KgkFT_RkCU zp+`EzlaSd^Y~O?)(i-<(VO!u(CIxxYO_Bn+!ptV&hrc?aB&F%xxKWOocLUm7PU5c9 z_bJ-02?Kz?9dpU5&x0w2L7~3LEw#9(sUsy6I6%1AiZ^)CZk1iO;l6x_a(b5f@$5x721&!H4`a!%(x~NsE19 z2vbe2wiFC_9=^(#0^(r)LKvAGe}`Cn`6OQFe`u09HMdbGRU(joT4kqxco6aX?Cs_7 zn6zS5>Mi}p<-kYj(iu|fDmTn`g4IY!S2)n=#IG**{|DH$iiOMh2^}IpW@0#!v?%QT zRXMd4U)Mi=)o)V~F*+U5G%)g@i*#gKSyW6s$7+dqwbz!gNkh)-G7#Su zsf84)+Bv;4IS3k&oz%n)GGSBt6pL!B{URbQ1maoelzd1gcx&%$s^U^A)0b-Tqh!)* zVz^WYNF4El4IHindKMcDNic_3ae<`cJ~OO&9vbu1KB|{^#B-eS!rJ$mnY-1nhQ%6hM7Vrl}YE})>%aSIfd%3O7y(RIQ9enGJ>_jfBRNAG%VL8MVG z8j_g>rXGQ|Z<0kU#QAtz>{~A&7#2=-gz0|Io6PnGPgTEIBCWbXSX^pmo`YQLX z>@B`FXIIj6z`R9MsW8{L&_}IYZh{k3fqkAZDQafTD45)gND&-(=vh{!@GS#?>A}N( zNDfsa8~}&`R6f;a!wy7U5z*kcU8Rbnb}84+uXFjZG{0o6#Yok<2XmyB8=ThCBbRi+ z77rW!1RJFp&tmAV^YD(DIA%SJHm&Uqr2r0kWrpC7t?0TFF0x)?Js#T4n}gMNvlTI~ zgJsFYcguEc1fFmE7>dqZ>WnJqy^NSTZhaX5TwYH}zY3!g)x6020hs&sAbc!o-F7Z0s>CrunT`KGxJL)u?0q_eDvanne zU}Ma3THRwO>Bgny>WTQO$F9ol?J@I+aWQLjyz1F|1LKweYx%(Pp&`IPJKI(W$0K>| z?On8ZW^x{x9eBHJ7O$MesS3RP_5d`LP7z|-G`U^RT%vAjTNKLDFcsP9<_-WF zns){F&6iwl<0wvLw0t)%og}MT4+V^8D0st_i1w=CF5rj zq(Y@lC8YO$K*+t(^kl9Ogz*h?V}tLPPbso2FdGz{Y<$H*FUv#sKtc~1&UCOxz=sME z!~X-=95M+A%k@WAp^doI=g3n-JtS`DiNQ3@nnXttlSB@$;POjM_Hm?{$6NSX*|+YC zDsO%b%G#l$5FV7WsG~6pi30ltNMNnR863d#Lc`22a)Azi#%xschMs}Ik(u5N-8bvp zeJudUqBTvh^f0PJ(}K$}C)PZ<$*AJ#pLu()H<~50)+a921%o~kDJ8#DIO_)&HGCp?{4-j{QKgyz{TR25?486w?qy8=f{cQHURP0 z1`lQ~Af(r7*Ol-6GimPX7HXSX_V9(k`qM$Vtju&u!`~mkB2UaR`d|Q7avUGMo-rJ{wg6E)&M~DN9~o}Q<-%HS^ax1V>7>UA{*yuIFs28uj3Nhq?=AHqdi|o zRrN52V%0bb7^CaCN7|SrY(^imX3)?d;o>8hr$OrzlX`=;$CQxA)-xh>B2H{Y61#84 z6|A&eaRx8Uwo9)63l@>1G= z;naLT;JJb%=x?nAP-{}$>@~CNcsM}bf#ml9%@mZ00lep?bAviodR)<{jLyOQA>U|_ zhCJGHkok|#I#<9%Yggk)h`P+_`hZ+d0xp-h9`f(i*u5R|$2L>}QX2vwW-v^VBt@Kp zG&cCLN_`OjB+1oZ`=w3|mb#8srgSa;H}qWq(Vu>n+m(YZRjA#MK`PBnw07g!M4ofm zMQ{q$F{a0Y0g5U;-Ne~+|J~XJebk2D%3c6CLrL_MChk#M8>S3V>toXlJDnaMGBucIFezMN!Dv!~^P>@4O zVIDO6nl!WsOB!^%W9%=!Y*PwIvmDUt)wH{slE^C`CM=1CW>rMp>NIYfyE?SjcG!V9lgs}R*XRCQI02GfLb~*{ z!w!B}?h6`h{o3s^@vFv3<<@vqqd@Y3=bry)*4lX`A7A(lR-Lw_ufmQ`lJo(ORm&db z1W=|sSUsOP>BfasMgf9pg{rzdha49%cL)T>sV`|)_6#zWAezwg1iCe&X~t6z zWv3AK5QT5=7v*|I>;h$R3w2hJ4ndqWxEZelJt_(_$k`v<50y;In0Q2U-7UqI{7Qs} zW@vASF3qL0HPtoBJy>^T>C;?8_Jyb|@EHi?sHGTnvojUz*K)CPi zClXh30s)Ouys>5au5vUZM{01EquZksC^)Ql$rSpw-CL4sYg_y;q zpyjDvYWr<-+uKVFit7GO10bwGCu{;Ud5Z{<{LlX;$fiU`+z>815^zF9S#=}ie(AK` zcXrW%MFz#?KHq3PY^bEdhpyvJVtHk!d%a442{i8Abc??<9&q5(boh(A%$E6|KJ|@^ z?HZ=xlUVHfdC82jt1{zV@RC2(-m^p|OT$uA{DuiUG?%SqY6P755g9QIGuV71EdTv! zxI}0So0VHyjO8yrxghOE40tdFS$ztkHOvw(Z4`;j;=$PfH9*S0v6M67u8dYY z7K>lno#IidPHC}jkK0k98$L6Tc@D5^r7$a({X!!G(r%+dT6M@_1e2q66ej9WQba8s zOH@a?DdKR)sg&7jTI=a1KQa9=(QZLj4GTWK$`P>-izFWuLr`H8b*&aJ0hPydUHA~f zj2g{fo47OjW`Z@AIW}WD`79vGjfI|qBr!-fO>oF;nm5v|!;!^_ea;vVSt^T+C{+on z=`Nj%NT|nuO4e9!eaG50+Pi~c@{7G35z8S{a`-RTkDdT`UG?`K%H{EHI-lRYSyM$% zusxn1lkwIXyTwsZjRvjl0I7BDHQAKA)BL!)3?KIjXPQrCFe}5O+>+_)0lM;+^(IKm zlCzIIu>=^P7tSJp0gJ?Z0CLOI{t4YE2pVVMZ$MM$ z@!+j-9dx1M^|MIcclX}P+L@mQ)5fex+L3g_#kzY9%0^;=sH)2Yh<@Rv#bflb`Z?T~ z7@LztB2>{NAX&V~BDRPlhtlN@5iz9`kAWm@BkI0bG8m;BqnEs!Qq1N}_pq8#-CcXC zA$|h*8|2HEl!igOBSw$NO0sD`oll#i(dV(xBo!fzwvH)feHHt*166_X&Cy`MW2cT* zMJz#6t%Xrq`a|0{#BpD9MkxP#heAu}$Eb{qJLRts;=V|LZVxFY$vN{>Gfx0OhKzj5 zwZSLQ9JRqD#P_rdT~_4s?AeQ+K@cq_C)RnCV_d=_)IvoGRmYo5D+mTDZgqymkfaOm zx2gPT#br{VPmkE~FM2U#{u4>byau2^QN@x=n39&e!I3tljR46s-H2Mv*L2bWraj6Q-tU!@y zB#LIzffQRR5ocLg0)Q2Wmd)t2$w7F+GsLjB{|W`)57Z$%-4~0Fxhq*p9hOU&E>x|G z{#NMy0viGo|Ja|1?uSDdrg9Ll*K6EZnKQ#sU8M(S2fJkYh`+K~*UlFgMhvM!`SNSO zl)uRLYS}*t*Aur|crDE>M9<0t1Na6+Na(uxWL}#q4%n5Er_FlJqmHrSP3G+kGis&# zCpyXLFwyRKeR}Q3E#H;?1ie=ygIu8BptGt%P4NgPiYf))uW!Av>N_hBL-$J;S0?AY z*#CdG??%OeW)-4z#|&`0IQ-;=P<7-v9ReLjn6z}_Kkj~VS&?h9VO+D0Qc_|~s9Z+1 zEIG9BlH~g9bswtv{d`0uN$iXrd(rmz-oIa1s*W1=$4-#r>;-d@46p6VfF2d)Uiy^B zIu5eu;o8)U??V_(sPHEh!~*3#WGDfF%txn6!78f4rI0y{tP13eH@2&|Mb#$Gg2^qmJqsl(EK#C z{5~q$4XzI&wyNbc%o=TO72KPFe^8DlE~xfUtWX=MbuwlSVLJ{@oK;sq9^Fx(78g=F*lPL(O;1J-_@_g^OYKnfG zGK_P5F_QOP&UDTQ*`)=biZ|s@6g&woe&H6mVCk%YgSBn<=ZA+wmq`tBJuDJ`tr&XE zuH~T6D4HAVQ%ETq=NVeqzV~>mK9!$dxWj*~T-RQV>`!)P+-H#TqmhAzx~d>st^pZf zv7jUlPRt0E2c-!5E*^Ih1d>I~E%ADiCTkbKHE0GH1OGu3su;(ruSF7)K7}X5Y&55# z;C?LIUSAlzBw9N=io$tWvUB^Z252LtC!xBSkVOL<*EBb zOb8m+aOGkHT~e`1lnJ^3ZD60?-_g(ZTY$jFw!#|c!8&Q?N2Rc>ksd(lGE1_&?y8Z! z`QZ{tPD~1bDKnml#-D_c)=H%2mV4{yP#*FvWF-EP$g-b&%C&xoRQ8e}iswX>$D% z62(cbekS=IkFREO$UkaSKSDx6yy@)I=Lj3{tFJpkVT0z7(N$~8ctDI z>@UdcOW%e?imDAq*Fj^vLGe>>Hm?tMNdS9lGp7Pzc@3m#fAQ67`_2h{=%VxF|MOY$>6itEw8vb)eJ{yV<3@}^hQ?g$NAkQih3B7)G@?T*RZTxO6n7bZ6KALqhQ$f-=aSV_W z&|3LIOmg~cdyI6nsl{_GO~Y_GQNPl6NP_Szzd-#~<~v=sC>@f+V^wg_55H30Tl zYoumeJe*}wzBG!cY}*i}35j1tAD(;y42QS+ zrXdKb*$&+T0{YhQGG(>-{$1=4)*Eohry|rMqw-pWCtIym8w?hi+rsKGb?^p*U0fE0 z$gDs5;(WHWfL2gw4Xs*Vtcjgsb9J7bLNgq~Bm`kg`E{z=v08bizIa%hUtN63KpsdU z;7KH-;rSc(APT@t30Nq9{p-Cm3$GN6=^@bqJr26)PIZe$j0?^$jf7IIDqgtyV1I47 zt2Y2XN0yY)js5%>;cOA3Jy_f24g+y~GG?Oo`uo4et^nueG9VghM(+iT!{ zsEh$=Qa6mN#87}~^ zX4gXqeQ;N)D@+mWuJ4!LLYn_6%YH~u_9FN5(oA^*Fqt`dld!5hP}x^l4rm9=Uh;Jp zX6>oaVSsDuSLkmn8@=5JI-xp}52DT+Fx@~-5CHR1)S*EeB#?U9D->vjpnCzT*QE3< zo?F~TY%OjjT}|xab*m$K$lXJsJviVLqZpcwcMk=AW2V_(&F!u#;S2{i#Zw?)w#+x; zE+4CcsoPi6RP>fHjGH|k{^C(bHTQ~x8ezjeGB=Ff}P*PxI=7f|Ia z=>2&6W)j~2Get`*mN2({j3f|1j#)QOjB?mwv{Z`EW{MXHI8-T6?Vo1GO18UCE zG6+*n=FcV8^)^*1P9Bja<3#nngZH6FIMP2I0D$*O#|lq8uKP8W#?e{TtlP)H|ln>zJ; z1J__NV(~tmVc+|`z_#ELf!mEk=FCKjGA{kz>`pCtyI}jK)A9u|5X>lbK^6W}L5{Sj zRUL3e%^^J>QAZADSU)k2G(B(}H6XR(u#H)}RF`cxrk0>phA@#+>7aymyte(7n%374 zM-}*vACs!n)l21TH@x+CvAcd%tPXHfXQWmWti~H~QiTliet15I5m)#&yYZGwgaJyQP}2V4sC zMF}n_(Q+wQJgCji=qIMz3jsVR0F;?_=$l{(pkRTx@_o{{WMVP46MuTr@*;@ufYmeQ zP$9rdkNmIl40*4kDD*l0{oCADT^`9tTz5%wT8u+wtPJ^5FAJQgu5T!X+Cj$&v~1=w zzGRds{mXONGli-$tiE4ZWDv#9(nb}V?CGa>Z|skaY4cp>@I+YZE zh7T_@KFqeMHjx&vfV6@G)k;+(FNEC7xI!5>xET(D@dA)>OP^OSQZ*9M~3 zh0PemCl?x9eU>NK(5+K?x-^s(hvv6CW?KOusV1p+?7%5xvWS$1In8p#ZoJffk}7t* z{2a=HRllFRbju(Vj2>Tpzw<1Tk!ZW8iifBVZTaj5^fSQFj#ag53}AG(bB5FFnx;2z zd9?c6dmtdu?~^6k#6hnlBFWi$^Z&_?mbArRCxuUHm#u~Xx(rl4p-B%lE{_lb&pmo& z0q;6eTlKx~n@q!tgpq0`#2nV(a5GabwX-OI_WsdRAc$FlWEN>JLV=aAis{iAwq}xw}*fp%W8p(Nz36#;=L(owc5QZ$N&cV33#0YBS_ZP zfq=mI&{2|j9F+FR4v~9Kc7$wB;6ZX>JaRBlKFE)aA5~ zV%_Cbced{68La~Vg_N0WyXqp6s??PVxYfxwv<{8(@@gWf@w_hZAmNEuydO2~A6$?n zYfUE?*HsGX{ww4!V4{Et67RDQSKN$ zU4+s3BEK15bb75=Efza@ET_;Wz@L*$XAU~KcMUn^T;0zVV9Qn7PH zsPJa;;Pm%*|5LbgWYs!oyPl zOkNfwB$tt?(h!N@-VEKla!eSJOJF3k?9*sdfl`iRiSGkc!VwOn_6TGy!hhWeQ3Ms- z0gy>g=jeBmPr#L=UM4f8T812Uz;=dAtT%8Tdh+f3d+9tCSB-g3P*6SQTPPOKbdWPv z@~1`JE|5`m>Av60A^0?_s(-VFFn@vfM87GzANDu+Xy<}9vIDw5#Cq%&9i2*sOkX#e zA&=ndVis7Mo>jk|bX19I63{g%cH8A~Gg^|*&GyKKJTL(%354{XegzA;^Fa(mwD}bF z5pwIoS8!FdQ4vj=VpfXz5CC#NM<*`P7V)a}Z0%m^Td9A-4$>kTOp5_Z@uqgaKB;Od zNWi*WTdH+h&qN!^Nv)aF3j)?BRZ2~s*Ah$SCMOe-gf1sx4xD zJ-6BpI)CBAQrXozAd&@N!wpaqc z)?p?leQri6;a*XUir%u=Cncs6E5aDXbTzUUMG zQlU^dG90_19a=Hn3Ymh%j;REOL{aMfdaC|6aZfB%snJ&k@22zQTm@(iyUE9u*wi_8iKFzDH z?o$uH$42=e<*@(4^^p=UQ~GtxB+zli+lgUCoJ6Pe?C=F8Um-WtErfF=qZ^Z&Etb{$ zQM?XZHfgt*V0;isN0}luS2VZUGrp%GQ$nkj=mdyIO66JXh>y%gaMfM4UvtDytgO6+I5YOylh~v z*oViM?)=)!NRj=TbD1&kZf$N;@-y2)d{Id0wPTeb4^etRpmH4@e!&i&Ea!t@%l65)eD+zA|^&)98!%g*0bz-$k}F1jTXHbbBg8;6{(rjd9*w9h)Z#dbNT8X|lS;>7wK)#dn$05UV|yk!RJH`%LJNvq|SCjWyr z@A#WYe&h4?@JO(i@OYxEOC~+Zs*(X&Xgx?X2!Go`&;(1*<8`I)^W%K!!N!7tF?- zCHaU8yikimOyy^kXu9MhPEHko*s9O4f}-8_=7#X)X@nbKfB|OCD^PBP{aD9NG+XHK zMt(0%s!#*39`TR;eZ5xav%a6*_TEoej zYAn-|a+WXOn3Z|kH?Kx~;}M~Ww^_h(&l#T&JYviwW)ldgW&{7ppbVJcw55H+gKx*@ z)g9JtC{6XZ@k*0!yYwwdmc7;l#o6x{RjN=7!OD!9KB^@3Do{NeVHQ5q`o%{8-r#QA zN>+Gwdp&4kuX$Cp(*L@zdQbF+zdb*+x0hj$gk9o18A}RH+qd_I0xf@O^{Q5G;Hc8! z*JKHy<=>MuowzQh6YJ}1{2VoSJ<+p-Ec-p;bem)P=>!{Cb3_ZaOV#WsZUV88l$kTN z!K}DTdc<$kK+j{Ydfy>-qzL8w%{<4SZ{+R&#`#OnEmiA*dO6GXsQ!kma*RTfK=z@RsmXJIaXr$7ul&C-);&sa zmG3=+V2YvoDQ(fV_#ys>&caJXZQ&N5o$x|9_hgt`X(o ziJs6J*sb!Pj{1Av!>4n|V6>^&%tNVM>VaS^Lc*Mlukh^YvVy8x(VgK>XF_}y7$5+K z3<4k&b+6(_^EAjp7~i$zq*M;uz0or`ug^==86*0TNaz)!I7^|1wy+M_YkMPhI{^Vi9X1 zc|P4HTe+e=!Mu}4BitN#*WZC2^vm-+flsf+_t3`DfHEMqF%%glL`DIuF3=ERGT26 zkv|w#H$q@n%6**rG@*$6Pw?;LX4SiR4Qt`H%PgMFl6P{PYZF-id|Z+4KU!W*S$-;W z!2FR%&)l6fuNwZAdL`(hZ&+Ec7|3>zzB=W>y|!24+xZ?J9+RTy<&?QW?Xdkec2?e* zkZ}#MMN>FB=nO#$QiIg9_{ClZ5BQd$iSPyI>OoUoGC8AD|Eau<7}2xKPu9;b^9DoHk~^q zsh$RvJkgHdZn9AvzaU)RYHt(X`CQD2X%uRpm2SLSbLT?2HdCE!(TTeoxzDfTxw zG%N}_Q3rIBW0$1thcUF$@c;D`w7e8L(>C_(zK}rj6;pML+9g-oitkp6?3mH%0nQty zIH&fO?{@;*>rk!Dm$>Z3t-Kt0$R|Sdam5T>>)y`ym|c7~605MzZPj5FH2aP$z+w~t zN@SoG$_P;ICoC;6NL0=ugZME7fqs+2YCcKFI`uOuOm<%&h07VJC-M=EYajnbv6`LJ zZ`XrlB`PPjDk~wIXA!7X5k{64n|w0f&3EhTgRlSj#F08vj1kcUGh|F41`QY3_)Cxk06oxUb*1c3BcG``lDN%IJ3P;1NoKjVv`&^tjCHeA z&|c+v*7F_Fqcx>zGZ&Q3f^S{QiKM?NDF_wo?Un6|Eq&G@dkY|r#L0YlrEDcrUJP91 z{V5z9N0A=YstKk*!Qu2bG+!m61g(W5LB-+bv<10hZQ^$XqCkKb-rIVy3vaGGH>cEv z1@3<1=zm4mxL7d~xL+UupBQro>jUi9x>Efjg68RdfU%Z*1g?dfF`Sm`P>+7@Wj`Pw z#mlN)=r47r{k!y`aOb=iB5@BX9rs>R4F%3~TA4>pD05Tw;(ALddsR_OSec--A+U@C zR7^dj>Q7Vyi1n_7f!Y)mQ-rZLjpDhI{bw{&nZf`8*k}kVp#`8c#HSUd(bPX!yD3+v znIPYJMzN<DvAe&x+Z@1BfHg$)KL|U@Rq`P;~EaYMPI%N!DGZ0x8=n% znJ?0sbmQ#mqYH3Y_CgYXKpflh(qj*!XNwWZ0tm}@guFo2Q3C*q+Q%bU8*&Q^WToZl z)5Y~bG1hBRe%DxX7;^VJyemO#>|^nm>dDw@;RF?uYg2Z#sN@4nT{&RLoqtk(SvBtaE-^KcEqEG>0#R9~ zSkUNuj>?Q$qhwH^mey)Xdo54ZA^4D)*xRyZs3GfM5>#OwFhCi=OQ&*e()V6^!k4`T z3v>HO0EGw&zPpDLS-5%6{k_KYzuEruQT>4cG`t5+TOGKfL2o?(6s0>#o*yKDs&G)ueKZK96zu|d4k)Agmkx>mn+Ltc_9;mWc`7z)N( z`ehat1CM-lZirh={{|V5gS)*oW5;Rt2As%8`u^tELDRzC$j>vwIla&ykE)s_KKj6i z_^nXN4q{m&AL61at-)ggo~(SpOoHJcWR#u zOYp;u?V_^c@s2S*-x<#1cQ?wPWlvzUSoYH7AS0y*WMuzXBkuC$I};01GAKp%8K^7^l#hr@x>lD&E$`+j-WmE5H}FXUZ(n*{L!^ME!Y~e)(vdtgqCL(Op$4y%?l5!lGp+B>czqt) z8Z^;;$ifV>qt=8rvPx2xm*UTU5FTT4xcgf}ss!=mzf+FA8pl6Q7YmZIc+S<$t6;D5Gmdauyr+(1X6ltZ$M(vvg6ShHR zCY$q9)zNx1!QwEJsOsk0;b)h!Edv+44b;+Ocaw{%2s{PnG36x*s^5yCFYO9ryro6G zj4B(`9VtjaVFeyZs7OGBq2N_=kw`RBwDo9q$_@CLK$^G83lQ7~>S)moiwJ_f_;laVMGqf$_k!QYWui39Fb#(j)R?xYxgrLZffr_s&j!oLrIW(>5o}JL z&`tLvczHl|1nx%;W`ubAay>0csVo9Qy;_bKEO0!Nz$U2v_oqBB`(+85IB{Z&%OuFW z%86(J6o>_u++}m|>ifnu}h za#R{of}D6qqO$`*`v=g}#+0$cA~NEBVbXZOmjg-oCQh33J2jTX5Ufn02-}s(w6#q7 z%$fi-aStWE>5v5E_NfX&6DQCwJxSxRauP$5i-yylQ|NA!*H_FGv)Wc%v8J92!6qIY z8}UJw`^>GUXu7UY-w@1hXBi-7zVBkub4G^R!a9dxm(@aJ=)(sU`A%u zEER`K48rVwC~LCO!e!H-31L^svK9A6vqXj7poe-t{sFANtB;v&bkwM{nsTZ7jqwH+ zq{62ul`IxV=|uzwfzT)cE1;5VGjhSrqPSd)B-8*{Q)P%6P|mxXYbQz6T^gvQ+yVy0 z0CvZH;EK?KvsDTRb(VUEfThsT$B~W}0IexqWvB=_4=l^Jqr<_~;r4zaj}!@^3NMgz z_Y28iqfRy&?aJ~6={CUa9u(KxZjJdZNy7|!+{C<&R8cO&RLRj79wHt^k~H?bA{QVu z<&L>A#J_UC5+S;yt}lZ)t97kCeWmW~RFE70DFs7R?OyB1snZNx)NH7ctR5k<6aBAR zogmsCl{Oj-4XlxUL!Nt2ch3W&(c zz(F4+MW+}RljyidRcSf@bP)lUIju+9rF&cSeqm_IXzQ#)j9uo&^;mec{0!20gSNxd z-6FzRN-^&~ro1Tem^*dK2w>d5Fxos&KW<=M(4sF&)l8STaSL4KOt+3+&t>CFf!C6( z>!OK>*$~2C&>Ir|+Q!znd~995Fp|yUhqmsGuQ;&_i*7jW7RzeY*eB%iI_YDLYttxo6}AaD3?Fyb8aroR`-S8|lnlo#966WB zgv)xdX}na|V6UH;|LoAt&8vk~`fVXnxa8F_F0g7E?yW|A<%kT9$TRawCpS1Cp%~bm zE+vQoJw>t`Pqg4gWo1J1%t(izep7@huruiGj$PDn_-cMa7fzFxPR5imN;MH>WB}Lp zxq{nOb4ktY9Jgexcgk<(#vupM32ST?u`W`sIIfm#dEtw>9=;?~xwp@Ctb!jB>(au2 zvxI9N-Lxbh6xZwplgjXM<>jwF-?tzy`_E->3fqZog>64-BigBURR76M{+%i_fwTNR zO<_}`8Ja5mm1;A?fSyx6cB4_aBJ$>2s`fmsCx{FwJc_^gJQOrRvuA z5sEvVGwpp(_(?6f+FepAjYjx&eXjJRV?JL+<5RYJhxk4j)KxRtOAQZ@j5sBBpwwscE8z3@C5i+t_fPzeEg_CLNDeSA}j zT)5$HzDWU(R92S-+bNX*_UId#uyr3|vUx$wTUz*cI+sqZ{ymLqMxdI1r6$;{ zJOwRuvSs;h?1*rCIGrWVeLH~saV+KGRMw^`r0-(dyrN<-6Cp35XHE=uZ}q?OV6^+Z zkm$(cH-ccTNXA1u8ZbX=Gl?vs^oUM5Ga2qOuF%jPkncr-xopro@Y5d-85?bVql@l# zJKfov7SKc|<(o+OMGKJBH-jTiOxiPUd(#QKP{r9*kLZ48ud-Hl37oz&^8+4B95vK^ z4vn7zYWe~t+jjk+E7RvFWXJFGC!%Cr>hMgu`kXsV@{;_U2s|E-^|9-26gWB%IuD0# z^)<1)sA=2XD)_&LdXBb!S!En>-bk7?XsfmQ$ycTW0-N(=w!PNg)YF_{bDa*{L*On^HVO_NQ_~f%Akove6dCR9+Hjh;=I5 zQ9#@Sn={lAVE?=jJ3|o`ycko3;!XA!ptTo>+0%Vqezz0L9noAbI)!SloXKcxZOy3s=&fgx&S zZgH_23>_nP=BOLn5Ap=}44pW6jD|qM2nn)qXBfBU6Sa>c>Ot;#<-soLU4}C(K@x)y z{!&aU6wo?xUG%@8{x^rH*<-r=PQg|j0#BxnKuNT$-?&`nNm|9|T*YZ^@)^Nz-zC{U z)Bt1P8Y=>87y2efTHXwBEd*Koi#kYVv=ZvI!jPcA8g_JO;ZB-p=2H( zptW{EhR^CgXqMDJNZhJfH8afIuF)X4&^sKJ?VkPvOA1g6Sb`?OSjiH=0U~F_T?IMc zPqmt^sL;+|7198vGAV!#k&ljxa_g1KG-b=BX%U8ds}FHy=>lu&TZM4u5NW=C2f z(U_n9Ps9;$qA>#Dheg~F`4Zma%1c!Mvc$m$aRC7=Xz}D|MU9o!@zP|q>ajYUz1sg+ zai0QmBQWb^?0v84u&+g@sW*QPQ2nWZFq$VYFD-aj>5eF7u%tsYPazj}7ee@|-)|&~ z&>2*flfcl80U|mg(H0TpwJ~QnYbSK#+42m@R-Un*>cJlAbtv+OjHyF5Rn1J_&xm|e zFgzMzP!0pau(I9FrbKvAJo+xyhc{6Wu8VP0wdpu;EN2857SPs~UyT#czFJ@Ps$ApR{T0?jhq{(_R;@_Zx^8 z&qvd;alzYC47+cT#Z(mcx2ZJvhwp+$3$2JE;9So!<64?dgtrcN7wE!4I9FusRUUbD zhm78FTcT9VyengOj&oJxSt9L}8XV&H2x8D&!tg|k-m8{S@PmDd0&j8*6SV0-`j5B+ z-ats0$7wPfD!ut=Z;D0SbS(Igq_*Bacnx$-{Da4&ERa`2{@Q(bN<#W&V=$PHtw>u( z=fK;8Us}_Y@spZb);CEq2qv-GGn5Y97mYCyoM61Hs%~$Pj-8n}uBT=3KXJWQ-EY}d z7%a&;&Suy1iLyn3VWjg})3>{=lLOgA?9#(AvaJDktpT6}hvPz5lF9phECd55+PE?T z0r&K2azJf<{v{hI(Ehs7%5JU=8Z@DPyc7QlzlzHoPTP-3^UaE&ll5y#{Wc!{>Cn__ z69hO^~*aA;fgwzuuOI**E3KgRX|39pky?d9d!GSv|V1B%8FL~YM;W>{%CzElJ zwH1-q+alRJg|Pa&+_dPZf+Op*Xg~VUNN7}V*BBVK=!{Z! zH(BjD~S6HE74_eOoL@Lz-A$bqcx@2Hkq8`~!P zI-bGvasC4})Tw?57}6Zs9es#Q24WkwjhS~t#(2&p_K0>ACTHC2A1HcUm~9=EO<6&# zap#hc!Y%oE(bd4|oP7ajYZfl}-{X(joIYUys8@sc2hgzSy+pT!!%}RlZ^wI=)dke} zV?+p!6#ZSGEy?%GViXf`g;F_hV1*On3{Pm*1TDOC;+br1&;oot^uFl8ySvgRRadT0mLcq zKp0nJ`D^TaiDt`Jy^EtevxhTC;afNWH{J%VxiBw*m-uVg3h0W*%R4Bl1+{8a$V_Yv z-Pw?450+#eiyGxG$9i4ZnLZHLQd*GDcxypWW`2JAiIxKzO8Y)ba5E&Djn0Z00}j-SkGxU<5hbm^v#8p zIl~%50EQ@sJ)mRpk?xI*>x#%gR~6iGOz~N%1oJ_-gb80<@HtO3re;y45EGyeNp;xH zY&>B^Gn-|(&@Jg?Kb^LD32KRE_iDOMIQ6xfCyKly5CSV~@K@ys|% zIBb3VvWH`5F08%PTDAvf0?u|9O%qj62`r+fW17i^d6iN^#6E~6|M*#Sb#Ygo-BRIc zeW`8-DxO40kX_E-Ri}^YzPdZ)+p|#dEUr=h_8qE7l=p-JBLS5tRdbSX$kaBE!U?;_02n(wlHjfu-(|`>dQkDwub2aU6b3c zE!;Zy{2?E))Abf&aZZmWQ7OTG4mqpj4s!hmQb-$$P8}WIC{!k76iR%>Zxk^b9r6k61dhcI%Md+qh3Z+GQ#w(}y z$p(?ALB_X9yT|_PL06@gRN_N+VkA5u^Chooq)dBaspr1U(v_BfJuJ8Ciomxa_<8v& zk#12X0i6Rp(d;sh=RcSH;+C{T@Mp#+Wx3iKVpS7ln+Y~{WcHXH5yyNw5PoRdvu>&Cci?g9(HNAe+Z)#Kv*0Ri3@S7)BRyS8;#RN?Xd z-9cMc{wB%t7aCu8e*eRsPFOb+kDKp}5%eYOB82fbQk+AI-vk+vlV_+NNE(XIkkxe_ z3UD0U518khpeQ#Wn5Wlph-e3+5ar|Q;jGT1&D?M}7c10wL?&+f9nqMIv*dz4b==$3 zo9}o%vr-@LB2ylehiMCd%>EW|)SO^>0yV+8=TU8%l^7PYZeXk^%O18?&r340@edBL^ew>fIKt?l`pEB?62N$Er!}V0G(3)%^b2GS~HvnQ)jzH z1pP)%-W*uGkwiubSfDzOC;g|z{&Orc_WeYk{ROFLy=-Q-fp_#SM%?v-B;fUr2W*4b zP$#FJF@AIDR6hA<@4IILuMsD$4>+kC1D1QrQ#RueOsO1neV|Koe3>h=Z`_v)xTZNN zpZPN^Q=x?hmT|$iBQ`l-BUNb2fz9daQ=4|KX{L8S#WhW^%8r(HmCyf-ywn$f?*D*~ z*lgZ7I^IsOLILyvIxvrG-ranDNS5Ax%xBw=P%&5`{&{RzVXjnCvX=x$-2ws3Nld^k z!0hc{+4b)~gZ0f~|Bt#Q$pTxCaUX)T@oDN|rbTeph6*FK{EA!A zEp-PyHN4&h{ldl0CAM?NjI&m|u&+x;=+C?>b(!id-@0<4`z}m;R%QG*F*x%$uu?Tr zi0dfBu&LJPqzodbq`Zu`Fxix&4dr3$~Q)LN?OR;IlWv`dl9X=y7d z0)42u%@?4N1CDGS;k)r8=0uEM z?;2rlc{V#~TysLbo#;MN7Ax+8Ac5!jvl=#fwO-+eauw{ybl)ickb zbF1t1Q-SpMo83)pS1q?BtiP50)p?dThDo3-;?wpdjVzk!}~F< z`;76MR5i;N6`9IO49ArBO*Wv9)U=wCq-%N;Q~!X=5v#D>J1R*1{1`GGA7tVJS8?gJ z;R2GIWC%E{gqVjoyA04%{(nml`tOQT^pOAUusMYD(EgYxI%gXz+&zDAZ0lNK#~?NFp}Loti(&G# zkW@d6bt!kCW-0iwL@o2rA=yf~A{*QWeB6_C&`(BCRS3rYb{XwDjhmS*z(@M0BE@Y__Tb{SVz31; z=-)HwO+2F|jr;K4C`=n1Pwpu2SWSj-t_X5i;!fJxL1OWap(DG;I?4s#4RN8Rs}`E- z(EHpwXQTxC(;WeP1HsGfuCGC;#7Qq6ilX52+QTl`^0RYD!~~sw^IE)bBRV~?LQRY8$0qM}?XFt5&>PN8#$tK{8c_{duIPT;m!dpSZ4DgP#uAM~5tW%q>5f`3n zui4e2m=0@?D4rA<)bH*@U~mS_Xo$=^UNyu~X$W*R8^0xf|7>(;JGB<1OquhOO{j>0 z!AL6W94Xk-iewBAbqp;BGoUjkL?T*8t##~z(AZ9PVP=9~sJm~ni!4D(Y^NK?LveN5 z^;Ne1Elv*CTZn*=2y{w;)}-#OPkCj4Ov7sC4;PdCNMGN~&XylCVCUOqxm3c{YaHdx zgTkYgQ3Etpe5FStu6%!GYF=+NqA-8iuz7kk71DNOLS5+>?}zn*E<7Q6=e=m@I?vwu7>4%A@)^}_i${YLHQ$MQJeSimZ-vhJZpwF`( zy>xrMh#$ziUpjo?JF4%*7!KI@%asqsm}J#QicDL#@C>X905w6iS`kC{Zd*$7UF!R6 zYod9uIH>)DQw8KR?m05pgoJbm;O!jE7x!f1TidfvI|7 zCCSA(FMPnJVo5NyJvg-PAGQIXv1$|#QlJ1hfF1F=Nuu)K9Fgy>p|C3h1#S5%o8Lw% ze}I2|03C9OGHy-4fKtn?$e^HhA)AGRH3Gc8@_A78WdpPdX!Z==3{B;eU(c#Q`3S3i z78ZwGV8laAtChVO{0oMLfVoGh=f((adY0qB&7)2WWh3z#DAr$*G`I6#Bbo<>BLFo( z%DV?Mby$JgB|Rw9R*4x(lI6^9*k5p zHs}$CkA@Zjt$vv2m0*u`7$(2;6t>(;#0aY(?T9}kWew`ppCryIPZuK^Reff3+_s5Y9}@@oMPuD33T?9kZf$(+sS^9i&LvvK41jstu zpO@zNV_rb6d$T_mblM!Os{32gQW3U zG6JDiVt4>^*FyxGXSHMlw|qtC+15aFWOAa1R1>u|NV%b8=VGwR&5`jA5?Izh3pLoU zh-WtjhiO#5KbPM+es82s?8?Xr#37n|K)PQ*%*8$xQyr&f)qf;~jR!3l1I3`*!J9XVsB$_<1 zU$l_TOH0(0Yvf-GO9X#E(W4_2Uv7%N>MBs*z9N=VbAc3O__?v5C@Vd=2BnD>=$w?X z1|hZP;>9q9@t!-)^!E5OC+W-0hQ6EgEN}A5Jog8QbZHmNn0}!=2Gwv#7n0)R4_$lJ zowlQ!N1uKnI&j|EH;3v|Z1LY?0*AD@e>9G5d;RzwM!|TMng_H9WIM2)Yl&;TsrU4j z(~>xF1HpW-`KT<~I&$2v+vp!w%ijCu^KT4NmRLrAP=du@fu+=F}vg!d!E|+)PnZm|7}0?#&&To=YyY+Sw*ilGf5*N}7u2`4iS!C!t4z#pJpj z#q~GvcDB8$&FI^s?BAbz*|Z};zSn}Qky}3aXSr>>L{(K{2>=lCaN!zd-L3H)K8ohi zx302bHrS6^@NtPp8%)gk9*Q3gFU>3HV~X_|wb7qk+el)J(K4 z?uc7A_y(T)&@Q(eM{6iRc}1-W&7C{7kB%-yi~_(Wkw_-wTXwd)5~J96!W3Zj zA$%S@S$qAq4BIo6$5%Qu{`$bDjY!^&?>Y}dnMf3El?fs+cLC< zGV5sv(y1ask0+5TNdc$@nuzGQu33OWp+XcP4Lu22u(jvepX#5?!n+_y+qRgy8Dt&hUuPlCqqcEJRP%XGIJ0!{m)Mh-7oFK#wQULnVR~?tdUfIO5I?YdqC*$ISF?fGl-Zyak2S{UO{_i^ZzC;!*3hWy)Uc z>NPHS?zx?~hpGQ#b);2lC_rqqSfpvB9YB!kE&rUjq+uLPvZ9*b^)zh(pW9^#|C;o% z6B$=kM$Whx2eSYH2NA*YT}qaN)F5CemuQoD(;C@YGNL~a4R4OWM*$EO^TW)Z|-@< z4xDZq5_d(O=a!}!ru>Si1}AM!zNKG5g};cLU}iSBd-)&Uabc8yboy!o2$;4BML^`5 zIz{tHGR4S3*b;d+e`Wgdt)P0Cy<)e*)1v|fAS!5~Q)z4funMpruv)cUjvq%UYW`d1 z$K%qj+kWM-Q@BYL2eP=M%9jFNXU4AtOgF2FyftshOUxL5u%^|R{Zd2D3-N~kzPJfml@Wh8QzM00X z=aZP6Yg^{C{R|Fh;2`-gHs^ElUT#4I>>nPfzvsX%F0ra_v$lQS+^b}{@>TkHx=WY? zwQv+&&|Car*Wefvd(5-0u=760W-;NU3*F!a^86$qK4%6~R)iZMpk-s1Ig3JMr;lQ{ zE{jEHG2;2$f!UO-tj;Us+d6f`P3cwqcDv{Wep9vXiq*K9LE$)Ijz*kh3Gb--tE#5z zYR^~ z`JlA9SB&bn|99uzOOtvB*5;#XFjZmB*phV1FBg@C>In@t3@M#kQyrf@b%-0(#@SGj z>ozJH-J4S1yw+$HF6~GhQD6i3&Z{plyF+ne@!kcGu@cJ=Fsy&bQRID;|4tjxscKhv zd`pa_JE47b*46yvK1g)tgTi8I-hixqucK-sjEU!PV78QsYYQKnIDpP#{P?-pTW8?} zs(ZU_f|`474nb$zQaxNJK_$%d_(ZFH9~eLF`y*?rptV+NsOFOO$ue*6q4KD%$+uG} z!*w~^(K=hKPgU{$l&tMl5|#ZVS(Zp6sR5xLnTAk@-47{vUZQBa*g0KrnBjpa@{|l6 zrJSgU)nF`R;|QQE58CgwLUcUTw!@cM-_4kROkngtaAv_liFG9oA75JB(DS7_M_aE; zLfPq6=<&>5o|a@&9NPY&E$Di;Qnv2VH1^Wu_?+)BNB21_%KuN=v1^)xYj(ZWMWLB` zVKJ*Q4T{|G*shQ>wXArGB13VC1*PdI`2|MPI0eK;oIHPyKfiLb6EtWlwOUd3 zZadFe2x-4*v++;om!)S`jh|ywX3(0ib}Ea*3or$6i*Z^ZxuKyVTo))JNiuTY_OB2U zFXOlig?=OsWL!G6nG0h~ZvRN&oe|^XvtRmVrCZ`V8lhk3CAUhF8q@D>NiEM>9KX}= zyR=O|;xAQIj_J0(z|`NChd^}8D@`DLE`(0UGD3hzdvkKzGR}fDPZ_cPw!>m_e^eEJAtBHYQ~mz+BSMjHApycHW_DNFTW*1l z#Ha8ouX|qm1<3Qy!-XaKsFtHF#QwYon0L4gouETUi?88~(X!-%z=Si|O)d@7-8ADC zH`OcPJi%C7WO!U_R}d~qq2ox^Q60KPqaXP%b|gh}0;HsP2@$JIfaH4IhZO;DM@y|$ zb{s(&o)RWPX=j&J_l|^W@L7v4QlqMVV*)i%bx+%1)t!DvKXqF5NWBEF1gjKb0~+PV zXC$9a@;^)Z$zZ~HsRE5+&Ut5avve@c8u;`O-`ejv9Y62;bWO5u_2*wfMc|rK0il`=xhfV54 zi|Z%yl1Ut4ev`G9uRQE%sXEK9--e$uFU^-6Izh6K@Ksv$y!$`SW)v=-9Hfd{(3&bT zU~fl_9PGVsd%t97LsAu>a#1ZJd{pPTu6UMQ~R z!?Q7t-0tgzxEJ|u)VncIIYJd&mM52 zxOqbJY(2Tuk@cffE{@_R1pL`r=2n40OA{mK?~Ps){}sr}IOHVVFnTC=OD1hHI3gg3 z-CI(?3odF-8P_;bF|~e+i9kV;Dc7reF9{v3=ibt_ApGx0H6gxPAWGDGdBD=;>B^qA_zgMr;CB9uGw`aawabXD<;ojdK0SPjb^R|6 z_z0mwd|}lg#6%&(MJpU+;;6wBxP2_NhEO5K*-_;L^FF0BW(4@7A58;=Qe+KMK?*Z9 zE1W2jN{%VJHueRlCO0+GZ34W0-hR1<_YY+zKBqJKiE9gshJiVc{u@r*^M}NCo?vF) zntDClE&AjP+v`A<-cX^AZ7EfDZ6LF%ES5an!1)8%M1k>N;@*X(cpzekW!35xt9nbg)FE#*BuZ57 zyW$y6w(bcD1E8qkP}TpQ4D`PHLR<(*Hb-Vc8&kNkv@WN4y9Uh9?il)H*xJvfV=-K~ z`#LGZkb94vH^^M1vH`dLERCF)-i++U#qNuCR<*+2Go3+tex7LX9a0mbd@acW3U^Y_R=8 zKs+L>xGbW*KW4IgOwsT@B?qW|#EJc^u zA~c!vW>_^$6`dm|v=lrAkDCcc1>ZK|U=(KNrDbB#sJ>Uup4!HQquYN=S=0_-B!iZU zbC^l3Y^*LyO>n>_AX(Ql2YKg*1qy7BU_;w%ALt*~7l$f(%w9i1O!leO>O zJ(O^|xJ*(W=4q)(=4-wy%$bO?<&{qKL|F0UKrlWm24q$$7!k(}0)pCHUCsDNk)n3A zbPm_aqSUbTv2r{y>uwf2)O=RXd&GX0$*+U&a6g*!!(^IXkTBt6Uym#gJ`qON7gD3K z#)Bg%`r~#G77pAYSRgXdPdl<^1C4 z99?{Wq`CSF{6_C1_I1Xklo7hEw9~g7v6N#DQmwENpYQ=?`=wQ*a35oY<%L(Uf|%^5 zkBy>_VSnL6xe<#(U&*(G9OGSLN7Zf@_vWUP05N((_ZvzED`mJ&M zIA`XFi>h|e<*tK|@Pfb{w_%=FbGrAj5%h_{n=x9#vtfH3hKz8E=G@m9F>3^&H@c~_ zcQtNXZ^ZFrDSD6_Hqt&eM)7q2Le8Zdu-JdMHhflI(pgqO3R!K=;X4KYasWAwoaJ`m z<)nmvu>n}4<+Szo1!7pk^4iF%DLA(XPip+_;scvM{>7Qy6?gR+PpW!i`IXHrCmtR= zLIN1Jc&1HQ;=4aOmXkD~Jp8h9YJ>!4#&Vr0wl)*6+mGUa?|dIefzSQ~maDC7XwI$Y zZpXx-W6Er&y_7NvY{Cvy9`hQQ@SlX?&U^g}thM~TCPCg?(NapRi%O+rNsXNn0}lR9 zQ7WZub!8@{KfK=Eja`QV(EV|?f(ca!P`#i#Bct|jW%b;ACj`?(hH9Pz2K4=SR`2;$ zV1Gce5rn)=ccs?mRJ%^4{!8J*xh`K1eku0dRoC8^UyX){5*~VT`3D`GJeDe6+Rv)^ zA~2XGP%W3gh6n|fL?@>nSqwro)bLX?qR!ckeGZ8b=V{u7>hY)4MjFWgu3eBgE3+JuV9Fb)1p_l?)S~w zkcNraO+ju&O5>v%IicQwA-6U#Akm?8Q14g(WTx`zbC0hMPEPdp9M1pSuMe=^34~ft zn6BT00AHf#x@15>(^(EC{-=e#yR}_iusG=!UqM#-zc3#8Ff?WK)~r;~!=aLl3id3> zJMEiYLZYbr@b~Z9W08dSkl>D{J`A-=t^rJV@u7fq9#G=gpPk-bTeaeNKgcdD*SitL z$|=tsjETR^Qq3;#44P365a28T<*9gtb&5xgB8~m1x2(=S*0Uq^Xa{bJ7u!Y`ML9}Y zZ5J@#M|mhU@Go6JmW>If<)U!71M>h)a5^5o-J`)Yn^e2u1Tm{B_t~n zb|cl7tLCVl(6|6e85b3Oe%p*42W_vRz!@VmX4d^Xz!t1T{_W3nbpTigZAP;*Mo$MM zmSdEorz%1b%3!T}gyZNh8g^>I5%l(rh}GHoXt`$u3RKswz*HZ*0cHM>d`V#&dJSIA-4l4Z+=3W>xC6ZULNb~EQ@zP8{3eGANPAXFK~buU zP|QG{bb3|&dP2yVe=d}X48c>C2g8_X`{sYhUpY^&J(>y1g} z)z&-LvoZ#EY)eE4!^~sA?j}r(?TZLu-QXx|Rv(;GP>R?4r$Wyo7HDP`X05VGafs2f@)?POV>-J{=uqEX|Q$%$ZQ{hgA|Je|V*ES=~4d31Fw_}6n%vQt4rjP$6 z3zlY@L}WyU9PjWP^gI)4ug2cBOBbq;hA3dKn;|C@ttV9X_4{`#-VenB4p3bKHcTSk zgbU@Z>}iXt8ZQ7sli;bO{>(Y|p7N*Q$ICle>(k|5`qGZH>c}RP7{_CB8CvfNyRWjS zFud<6J3usu7TZOWHS2z;Pjd@j8P#0aQ!z&7;~22A{jVp}$L0mS#dG)GKBMQ)ruXca zQ1Y^W3y?cA_;xPQG3@lvgp7XwhjL$5;TK+HlB_#Usi~ItKP5`2V}5l+cPqPITCcJg zn^OFo(gZ2MwBNBHGa~Z1#Szt{0+|Hpvm1G(*>GE6f0tTx|X z7V+Eku__4U3Dy+q3Yd`2Oc4gh+soVbGfvTI+ic67sDXh-_!RMQ-igsZ04(t|yU33B0 zA{5Ir8_PG}%z?PZzab66JQ9Zvs zJl(%B*lNg3B@S51_P^g?Zg^N0MbBpAyU#%*005$MAkdjtaEWR29^_gFRq*W# z4gfgk(k*E^46*OGO4?ib0$LIC$*IdObyXDW2*~Xvqfp&M97(U-8uH}C1plpyoSt0m zryN*)+~jBF`#CzenHxK1fxvhyaN3*r9!GCcX|f@*_iC%Gj>|WG;-U(Hsngv zAMJI4D!FSSmn6rrp3Ctb!;T1#x3-io!pbd;&W68qg%F;vzV;zI)jl7kSm3K=PL8W$F_4^Yf+to<(i2vO4F2rA z0_!J+#<-9kCO{nY*DJ(Wi{O(W0{_%`O?EO>z@N)A>qIHJI^q~jJ@)N`8_6VS2&F&d z_!;}oZD&p`06$#l19^0K_ta%>_n;ZKy8&e{OdxQlf^fZ8utKPK1?=G1=P~P-2lV}I zG*3i=brrg=O$>UFXnxK;f>FZ#M6|DIO$6zA2Gkd(k*il7Na2WzS1$UeB|Gn~@`aHa z6l)PWw&L_LemarZ-&*aCMiqP`^etW<^rFg@)PvCNV%IDwmqPuz?GAX|p<<43Qr9x* zRwPeln>Aq4`uYA+&GtA| zNv9NVRB1S%CJ*9DT6i@TOjPQ4=H#(zb7g{+Bnl?rnk9UAfzQ;hc^_c}IJ>Ls>LYSO z@sYH0l3ei|GF^NGnL;|7(Gfe>HV0kaG5ZPIWdC*P>#>TpLA; zJ%<8x01r@iqbQHK@A>Xu1#O9)rW}Zwj+xu8O6i_$>1K3O7p{ipcvH0E1?Xgn`G-oe zbnXebhQK=^(pRD+^9CmYT_M1&iL=KV{_XSK`Bc*>!{UGdSdWdUozI;MF(qC|^M_J{ zLu>!%90f*4bRWFI>xiN55`xhwIec10_zel^}E2afyG>jG1sR z#9aK0rER8y*qu=Q*1o^-+(?UHcr9>ataQ~hS-4nZTNCa4VZ_E%$78Nc`S#$_xqF4u zva#{4#8nG=PhzpQXF0)a6*ib!PXoU;-zzyw1t%`%FJ0r07K|>nw&jlkVxR%pH4Tho z+d$2;$eUJWuXP)@4*d6{O$A*eNQ9zg`i7v(ed?39ly>N1>e3a#NZQEdme$k};5n>O ziQ?sOL&KpZ@lAkmL4sL9Y`0N^Zbqijkaz zN9O$b#vq}gTKERA&dJGpeem^B>!WOL}YOkgz@JIwAm&Dbd zzE9{VStbDmo)L0%Ym03vMQF-U=|CvCIK_Ow2cI4Wq1SG*dDL^cb}P8#`f4*sAbf}b zEmvQi{O#nqJ*P2kGG}tPdAv^5@xK)_>}3A;-WOSx$Aj| zH`}&Z2j1@=SIj1mi^=>y6CGGRWorYq0Mkk(=;d0Lg9*F0Wf2=%Hyb*u7wx^a^b+Uf z!a>UGiW3g)XBHJZ@|~a^q0Jo@Sa+yP7JlpL1jIrwChytHN1XAy=;!aRNyx=#d~SY% ze<3USx+Bi=Bo_ebRAmRW0Ld@^M7;VOC<8(~oh?mWX>Z(#_4g901Beqk<|vD=jrIzE z>HjVv9zL=KjV}A<(hV&E33{$Q=zCj_?2{8$iFwW5Ma66sWmky6Obt5Y14j5`*;v3Y zlGNXsd(AFd@l6`(2UII(3r&U!Z{)H++?!gsIZ1m^&^5_uQUt}#bKAe*tl?&npVJ$ta zu+>-i4|#eWWvs}3b5F3i%o`$irxqP1TdMI-Jc3A22dr`rkR6-5IqE?vl!#C{%66va`3K(!q88qe z>D(3X_C*B4x>d~Ocx@?u+veCWwm41_FL+z;!q$rDDPNO`80xybdmO!SdKUY_eS1Op zt)&>2HuRMN@Fz!+9REfxw_dMQJiqH8^N{937R|1S7T08Sk=F>1qzMWOr)UD!kyw_H z1teQ%AWZTJ4x{56`@+7{xI3gqwpoyEov&?Ll^@zEuG1%t`rFsJ8o`#OALF^eP#{EXOBy+92cR5hHvK>tw6@!iqPOmS#;*KSZS^c6~8) za)$?GE+xqROhJO&eJYcI*ZMmG3~BN7BUDFgEG9EjV}L@_2c8evL7Db z|CIg!bdz`fN>_z3ye|$kIl~C!O8~raH&^TJv?eq1ObH~&5sh8;eT-kWvHSa}mtE4@ zwYcO|)$lMcNt#?-T8*7t`});>@%Bpi@e2v57O?YW+%!4nDRlnLG*X{W z6&-{0Bm#2U5Cs&D_8DWKuV$oMj-Bgfg9KWmhe& zFJVJB9WkHo6(zk8j@eOLdeMx+lR`Ft1A^o1Z=coOl-s9vPrXi3(hCzH7U1ttmv1(a ziuXRsuk7)!luy6^e|uZ-B3=7nmqy|)xMyuL!2EG?0RqD##k*R$U=*6BlE;OpD)4A* z$cRVlYeJy--Hg9F>J20eCbn2d7{X`7W28b6PDEL7D4QDp) zvigH1R?pZh%Sf*3M4A2ua;50!1KJ$0p6A7%zKdNOe^qqf-xfM;8eTJpDi?bD9!4jA z72g~9_hhZdh33$|n%{Z_mh|nx=X_ zBBQsQfhk5+MP1qa(@62u1S!GxbSRcUdoO67GD}6#^ZgWA&6TK*rcd-7t`EsznaVyz zAiwtrXx~X)EdtyS1$9y!l9%b@2RAbo`KFt=Bb`~v^x6u-=i0&;?VDElCCk|7mGQ|S zkw+XKnCl=|9f>1&egv?`t7vB(p@H9f8Q6|mqnlmZkQbKXi#^(5z$SRJdV&@qztO7r z?H1x$Rz;ers=2UY9Is*$FIn5r8Iu`#iZ)lO93KItqmGEy>r1?H)8-SMUb8O)?lE*g zxhv&v_2V6j45{|l#XX}rboD`D2T6gKUn~Yel4rVq5D`=*zdShR)msDqE2Y-%8zALC z;g#t^_i_aVAhY)t9so65=fwtYO~hnJZ%g{@)NP%^j>_N6EoJg9VQ*SHe#PN2;up1b zfHBM4)%?)??0cFQxvG4etSuWa1BhpSbkYOXP#F~mIQ$eziX3UFGF)vGJD@(ko?igG zX`RS!PcFS_@9rpmSzP$Fs|o8GT{%L$$Ntq|m#Z!QYdP5ljYCbBN|mz~v*vNWxcjYs z^Gb+Xq7!PdKD1sm2-o}Lxi;3dmar9r>|X){D>R%ii(v=#L;=yK=Be8%$43&n0dO3} zMCq|ecESw5faCn&gqV%{eeE{Sg?(K4st7!_>48ppM}kot*P#=e`fF8Jn-4GTh5Xr# z-_V+5Dfc%#1|lgvK&LH*0HnYI0^UL8wiT&n@t@z9qy?^Oq<*BTCsLcz34lz+yKT1h zT`Ebg_R})SPO_hzCUO-9!|BSh<+zn=!wT04XdtctA$7NZmPZ(6zZ#lK(v)x6f}L8z z^GBs6%W*GwJ6E4h3AABTD8Qk0T4K9SWg5|+Qkosl?5z1w*2{wG^)lY?- z0xqnhkXL+{vO-~?4!f<%^@0=98p9`YOyRtxAy?=64pWmzGt5z0w%q?WYAWgm{dzp zyRJyuQF-*;BTAguZHQ1w;@w<@&?3%QG84a`gn1*}mZPkMYAT4l`B&eOh|kpAw9zG+ zy1lvP_YFy#9k5Kz8`=y42Vx=|j=~p=1i!ilUOF1H1(Lgv{_>8n(*m^pwSQ*<^J1oY zR(-vYAn@m|2fP)o(>jHTFHO^lo}pDGPONARd_^!i2WV%raI)f)c~0Hasch7628_@< zzuQZV#oELbbRtk$_UF&dBh7zeEhX=C5C0YAuFfx#a_QrEw0DMRGxEe&PKC9))Qj4{&Zm3UG(afLRfLL65-D74FrFHfwMD0hiD3LcT)iXzZgsYk z?#|uVq$|L`3OMA;cc3V~V?~>H0^H|mjLK63Dx~TK7xatt$nsfM>!BQntyO4ihR=(UA*(3#{ta?gHKEd?#R;cu9@-P{1;oN+<#-4+e_I@)` zIQqxvnss@ss!RdgTeXT#n|0S8iCae(DHbU?Lyd)cvo|~L#8`&OU?W1Aa2yGS$5$#N z6H8}y0N)BynIIH>R~!_{6>Xw{;oce;aT=aopgTHK&i&Q{I$&|nyyXyHyUB7Gwpp(; zU{k0OJZuNx{)3S$pUb%&)*(V7y${TDaw*MpkawGX*YM$(wSuy3_>KXeDtUuro_U36XwdhX1I%eh`rbO|j` zfkh$LR^L;dvGe&kvGW+Et~Vz2Q8Xw7n=VeG)lBlKT?`H~ardl!6S?$Ril0kP@?#-+ zt1QH73`V7g-F_|{F7==Zoo78zqJqu|M^V7M!^bt=%=y069vir=5aZ?UEB6Z0riQMK zWF8Ovc0plv9^UonYm+NPe>~9Vq3TQXhaQbmu3X8G9|@` z3;~mux@`+^k4T3yO)NTlu5{|CdL;NjalGrvGvrcqj<|jD=zv(JF!f&W-1C`~*u?LJ zRQrJdX1{gi%H26qk)^lN zW6t($sudMR!Wq|J89@Tw%t{idCW^Iks19-NNN74W7nbG)c+T5m>joN{y}GRtwGq~w z>|i48HtzRM@tsvKy}aip+g|6Z^Vw2l%_~(5=BNZeX2)Xcki44cJ@y zJsvT*v@B_7u)KJ^rds5ln(#b5{@D|HrRd3=^dKpQ{U8*uQfVR2By!IcV@2VJ|eEAz8n6{_sj#o4B=|Avi4m@D94#!-8zF}%u_0NG~+&l@! z#^um;lAnjB^BGJJJci$CKdj+!533#hu2dSGR2GM=&C1w*I5IM%+p~5x$EmPPX7)ze zn?56Zn-wU!pI$jbG0z7&PEZxNJ?|?RH7WAxM4wdYU2ZNYC*=vB72@a)dq|-5W{3nY zSoZVa_Q6tqqd8r#VdZcp=>|bhSZCmQ?t>fecKxm7H1a|Nl+(0?>2Q5?i&lVU7ZSEM zKKW5br@Elh4Y77a)KF|F*`i1hY7`E0Prlg90Io zVk=&D!wWzh*>}tdp8pNg#P+OFR+gXgs9lIB1NO^l=I3K08#!@0rPPBH?NmZaZG%9<*heU( zRH=_X+$PS{lnKPADPf-@-J2drrFT?*ypg_vPLU>9;S-6V^14Q^q-ktI2W{_ z`mu@Pv|fX{wm{GwSi=vBCpU~p&EzP{_}<+Ghb35uxe{AvU>;X(jwI=&$c46Ag*^5G z!FdU#>68t>byjU$yvJTv+~Qyzqi6n_oK+6(C}-Br6`Z0|ADX6ztw<@$5BRVof{7^C zVt`Ppn;-zG%%lCjv$Q>EqC+L$k;vjnF)psvB<3(yGdOs6@Y%!nUHc#c9#G2=VLDTW z_1Y+jbMHDzA55q4(*XbswBoiXb~rvW%uTZ_8q*eXsiO!KN!Lal)`J6`68UC_RvWjD zqS9p*s5;)}4i;xbq{x&}PkKs0=RAC)5x%WCqYyU=xw{x3GA{=O=2-&Q=Iw~}9|}B6 zt>`~)PaC#9yFA*yr#1i#7&Vy)FX$Sp)MkAvW$=y)sR@7@DbmMo(!LRSBvPAs2`<9B za;N5*xAj4N^O0l7vw~AT5SVP5BPFDAT(Br}9CM#*#-3TJ@wt{4a=j3(juX4rk^yuy zF9avNzIt>L#8$PydjG1JphB^qPgFo!?DMkND=z~28Wof!Irh9tp4JDfEG5a8{Lnhb zgz_3%*P>>L0}fL$hr$kpzKM%d++kHU;2W;n0qVzI>(^qufJ7T4;8V0ku=u#_$C`({ z{-qY@w9`NGIA}PpdrPcE$ZkhyG|;fDZr(g~>_e=8YgGFwhP8GL`J443BU+Q`&i*&b zTUJ-8BfV-2O>x0+%cRF5ZcS`mgW{Y0Gt|haDX%1W2OQu)Rgzq~07iKx!(AL4#VHIj z&5Riv$LI6KRY*qQ=(3X-!L7;wMcg>G)ieb{%e{k{(jS{!`tc(0!7JihINZqpQ;PNI zK@>GW-Gv2l{@Kr4)X9Lu(>rF+03;oRYyXaH5tI=DxlC6xjEF<_iC&K;6{~@T3VYP| zI6@<9OVl)B09xlvXoFrY`bMxH+{Aj@zEmYLY;`mzw$tyoMz19W0Ozln%XvOy+xy2-JZP3Wf zObFCCF3G`5#;Eq5h2A42A;TkR7#nQ^S)ROn?J@!fU~?*vJYGNk-4YOaY(asK;?5FLmZ`UIp5}ln^F45OiJ;C9gG-F+E zb1p1fAKT)#3pBYD2m=fnEhCyV!yQn+U^I09tdQlC3USzkz`oi!H-OMo5msn#NjGzY z>0!>l$Kh+|P7?VZ+GzY?h=WocDwxiC-r&n{wa#bfI9}1uBkN zr$C7;(h}bj4MCw6Zd9?zGMzB1VPB@Jv6FqO{uYrUnFkvexl7ZTPG2RXHbklW3N-XE z`tBz*L7B^x7;QahPll8nqO8Te9u_bmBPn~z>$t`CL zX;-ohW31cITN&@>cH_u`bf@dla9%??H}&lC{DfAF7ZnGHp8ML0JRi1GxA-a3$xqFI z^fvO7d~rp{P#?`Cf*1`F*W4CJYjykNwSRk+n8?PW$S44rNY$|B`XZ~dOP&(ep`2$u zA%6emql4Tg>C{dc-%vzzo&9H|+_cp(QxyqPVOZNS0t1F@P1Veo#B$%8H020r3Witx zm_OJt@C<<(;Azh#XmJc&fk^p_+D4erN;<(K58NeWU~`sNCZ}xa>B9q47gy78cx6$l zw`UK(&TkqHQue?_l;V9qSK=t;`7Ega$kml%NWzFn+Z=-`zojP?cz49{I3Zj zU-ctiQjli;{Z(7Ig(4r5s06mKx4`szsSS|X2I+sGEDXCj6>A6Rkfb*|0|LHfLc|rd zYkThe!a_5m*$h=)&}=psXCM-~YBHRuF`d-Fsm=?9cu69OgP8&QEW33{aBtvsFeism zjfeWo$;7NJM=SimaWjob4^yo8w3@U@0Ehv*05OEg%dgLm+Yy23Ct$&9ii^S+dIB<} zQQX%Z4LZQ3pOqA)og{pd%`MHf8uV_wlYgWer)@F5fO3D)+GK%?CIyXhje!oKUVuA{ z)3Y#Vtxy~OIPw}$Z`_kKkuq!;s8*AXFMCu7v;z3j&0OG3pd-b)#8Ybcu(_-!;?yWryh$RABmyz zIlSU~be+e4*lZ};oadU;XV6XxzyK-6mmhEWSMhNIs>H$~jZkQ%1yEf6niE?*X?%Se zeW@=`p^GKywWwC11wzpEefKD!{5xJ=ImB3aJGR@mCv;AY9M~E+*E&=a?AlI*Gpg5t zsl!eN?Ye~H@umz#WNR7)%YFf38c6&G_-U^$B~e-dn4n9*afw76F>Iw#CtSFp<87S6 z1g1G7e(8{7uI9yT_#UF0;5iKL8|^FNHT3-O^5Fc2L9otP5(WcyAoJX(g1Dx#S422c zJE?qyXJj7_UF6l-rrol?WFm;Sy$U!3?m#pN3D&;dLm5VGQh3kt;6J^yl-FXGbWM-cH(}tE2uAQsR$i{65#6&STaq_TxvR_Sx&4b{-AYl z^*W`T2sj6S6-5tzyr5-Q@mTwrbXx2Hq2~3{+47wQOV|21x+nxOEK3m$AC+Z$Aq7?s zZfmx|UL5agqzw8cjfWsRv~(1d82|5efv>D!@|EMbo2;qg5~_GunXWfm zOaS+R_mkSs0e!c`5GQ;PW>~|XF5$kjRCp8S{{&3Id#F4KSArVDNpcj~N0k|C1sXXL zo%xY`CvT`q9)z{D@JqjIdHzLq;Ywcd&C2?Oo6Ihu)QLP5n6n|wz#-L5px zKiuh#WI`cQU@;Yd_K0#~8!!PVd`}*mN%{4Y!%N5DX$Ehyco{ z!g@u{7|4|lWg8XMi<0HaLw_UP3N(5O&!oD)+52`>%q@U8d)$s+K!q0X-2k}rQMrF$ zkSTQ%ZJaNXp`oqlOsUofncEGFJc5y=Lls6K!w*zkY*9cmiCN*ZsaH2F@ac5b!@avg z*gJ=eZPn^3+VlL3D4_jZ`1cL#6j~}ub-_D?7ma(l7N*v&37Lb+A8n9?s@Hl`Z!iSk zdcSBB#9&|mKS030Eb4X7Aq>)Wnspn2WOH`B0WHx zbdYeZ7?G=Ym_6JgXuc=DrL)6M+SCULOWnDhf|$~hdDyAXs2^jB;z+no_|WKlXtUq_ zK9|7CvP(wxe4f2OKrP)$pCFMhJRC6T4#U-m3SR93+AGVBB`ZOKY02dVe&3~rGr&|2 zyH~{p(mv9TJpmfF^=XAD>jCOut+-MAl-U;rl{{Br0S^glQ(a@8{)j%;6wA3)id3P3 z4I=0Us5MlaGc;?I*OogVc|C|OzmUZsG-r>=N?|lkgdQDYbtz^Ld zOC57F_PLaJZ0|B&y&~elC;hkki#vgvx?$|N9QNdW;H9Vcl4$-YbW!Z9pBSNp+QJdT zL{!7!vWG`=!=mWz-ktE3UW%1|9Yb!X0+x)j*Xgv>GD`;7+UQWysBhZB#3jw}0IOwr zNN_+phc4*{+Tfg*YzI8-9kbKw!yXo!a;7I%r(Ya)d8&3GhI*)L_ZObee_(bb*&CO- zl10?^U~@hyYifbOrD;Dt#s)qXkbtQw>e=UfllRX=-^wGdPw{mkW6ec?z~^e779KUC z=&$xm!Yl}T3eF)YQP`Mm@fU8wHpB&f1QVVjLdpN*iH%s7YFZ;up0Ra2c)}de_CNX9 zQPeAZw(MHnEPmMS%9Z>W%DJ!;y7On1?z2S8htn!J=sZZ@holX>6jq=SB5o3bXH@}K zNfy@(AnRzn+K1d0L2QF<@~Dea=w}HcU7LTvYtW^MU7OM2-&jY^7Q%L7=>bj%#7{&Q z)!njT)#_R5xJZ7stQSXy;6<&;4;Adl)hk8-`^r$O1@Mq4Bs5y$e-Xh@0j*;Yq3IR{ z|I+R?vRfg2tydRKRT4cDx}n&i<%Guf+jW)^%M=4hoUy>1_AYsyfx@z^*Z01+Cv%A<(zN;CbGgKDFT0HhBg3~6{KH5KhafQ4Jz55v2Iez;`WeY z7peO~=(KeAa{H168g#;4R9(8sQCVSHX{%PlUQ!7yS{J=Ksde*G>rTsev5t-|xpt&bzTa*Dgd$=%PZw5A_|VloQ5d^fpME@-60Q!+=+vHKnN`PH znB0RuV1hDMBtpke)Vno1oq$KN=yq#Is*~(uEV_&KC{76Qd?8b1`1fn()xt1sEESkH zhS2d`k`yoipEXUS%uyPmD0`u+>_$ZssAwnLJovZ?$y?C9*e_aFq`Yq-JSFU?ZQtoCe1lpF>0jy1?H$e7 zRR_->EOC6sLH8&tlPD2Pif{dF(hJuVg92srZy4%-!vAgARwh8cmavXxNf7SO-Qyk& zghwI(2QWg8BSW>E)uF8vn@78!hu?!4ml&lFR9H9^>>}^l=3a0l@Mc1M#;`yTK1kF- zH27xtwvs=Lc~!J9?lVsel(VaA)>aDg1sk z&&%lP`clH3$Uuts`@at_^wy{IuVgO`aTL3W`o=!DilPAMu_`V~eQi@dHzrnE4H|9P zJHv#{P`~CNxn%!^t)7f6H4`|o<-s0e3ed}X0O^O}4f6ykZ@}WJleJkVgkC^b3ah3$7OEk3d#?cknz z{Cq&au|dN#kJ?m){bA;?i~8qt7~JdKC~9$&;pAhhOaJ#z(?RX0l2-#(Q`9NL$D0dh z!XNE*^!6#zgvQOfU{Hx|xca%*@&UsUx#~Gs_CLKD-J%q(Dg0f~Ph9bu{Wg^gZTAm% z>^{xV9u^MC*PG8Rxa|Fz!e8yNCh;Kq&80KkPxkqk!TD?XJF#B0B9}6bhxb78gW+hb z-T>+Y$%sysWWXIk`|Y!vtM3d6c1^UrTvHH&0+4=6SS&o#XHr$Mk31j zo@1wdn-(pfvLrazwQ*%te85mcaFYGG`UmP_x1&XLASOR+b4<8Z()IKjVL~$vk`87Y2578lTS;G`9^J-t7^Oma&_$F+@x$#nrL$ksK~NeC1M1iLBa`Af4I zYouG<@?2`T)rv2~AYlK63xyy?yHiKR%X|8rxOK(89EX@EyFUxsa~>+?!I3O{s=n5; z=2?apjoC9B(z|N^cZM07QkoE!pbho;;=PxN_Kh~a&6bWRfl{njk!sC3n_A*SJ8W!o zB*4f2Htq-(Im(Lx?gFjRY9UVsQ%b+pazoaz!E<=p6%*|XFP~V#>*~rb)~_jA>f8iTH2^P zsJ>!(w66%{z7eFB>jY**Ji<-utrz9#DstHRP4+<$RsV?4o9($SEP4#4(Me{%evX^-x;5EPZ4I_&?>`H}E>{dN;uU<7SmV&O zp=Kf00?NvgA}pJft^=P)m>#Qvj#Bw#EaUIPGSFJ`&ib>~#<3U}qFEKlLS!9m8+?&- z)5j=34j7;0L;HphK5=gN)Q<1ka3o(bX?M{A@Itg^hWgkN=^O{AFf+k_H0T>$wNpG3 z+vDr(@jpStNj51~;5>JSG&P+zKJ+y*t ze_Z){Y0)H}{IdNXh`53O-j)?a2laPq~WrF=THfPEw>gR_Z z1G{ld^N#er1QTx0us_zcI%$TR<=ScJRmm-2a&s8_jF9D8qj72Q>6X_)*wLWWYUe(x zLc^y^kp@RhYARz)p+Ccwf$e1UtbV4+rvr!9siMt%d2vZu?_}?Y2?hxx4GdZqzsZ@I z_Wvwg(js_koqNm(xcvw3hwO{=BSsX4KoXpqzW21ZKU*_fV4}f zCdCDEs09{Vddb12?Ukrc?ka{YQd1Rc-%7n`5n9=(Mo`*?idK~;x@!9nQY1Qs$6Iv` zki9_rDbifg1M4d|DVs7Wg6%bSH2ods3@bf#H!N)4d4CCz4 zq0^G5QygJF-7?QVAv%Ic6qTnJ6yC_%TVTT7Z~(|@fToj(^$Fs1t8fWPl^5Z!ct}EW z;LN5=Dm>HOyim}QD5Vq*k!qIMK%|>9jn5szB1%ZAA~#qDD38)GFK;SedQ}vAK8MX% z%6p!|GNMT(MQc!K_p(FWvax)n)060gG@Kn-i)o@6oXchsr2Dxug5H==gbuGnMi(3y z8INU~fYi{KtMm_u%2d6NCI=emdaOUIy)IHi?ZH^r+fo!S=rvqIMmgGm)49gQ+{=?+ zfBH4jP)|s=)0*tw+^2i$PE=FPV?L$jw#vk#$E( zY>KvuHH8EaP1_)@xb}NxJO;X@=@O+a0ScmZ@6n8V3`C75mYV40UBw_ln%`R5J!wsW zd9zZIRrvcun`cdhdy>tJ#aB5kDw$jK$rIw+uHc%s?DH#Y-Z@6OHiVoOwfVuh9Z52H z7@S%M?*}ly`F;uxJe7`V0*fpQ^Ihm{#7CYQ$M-;Qi1aKOOFWWTyD6L0Nv%Xweixv0 zNdBQO7(Mr#{wm5jVc*lMYZn8j@=fz}9P zR96fBh-^GXf=FWn4nm=&d@id*ul#o%@L)Cdz<+h~$CeF~IA{`6mdAZ+QL+geiXA&X z;*V91F~mOP;W}KV(dmavKVC_bQ?isg zrPqPbD^Lye0U4jr^jBMhk4}h0?{&GD$2A;Kh#$wsI}p1-g0@+POndhN8C+ekWMaPR zFTkmB09u87;9H{YvQ?z|9rxnK{Y*MCgY~^Z)sP)ylurTYk?(ka-a-V%F?@ll_9Yuq zA!phFw{3oBNwZ(Nm9rO?g7c%--j=udMU?Gpumv6@AbtKlS6IegVx)riH4}L?aS&LS z)T5o6;SFsQ+!|@_*bxL9h3(O6173k^4O0$a3J;bwrbj2NK@`waf3LlJ1uPdMMuIW4 z1)#60EIO3b*wl*Qi&XCwS+H4`I2>Of5N_c^^(S&`afk=Bx+JJdNk^dKJ`x~Ev-+86 zbxN|J?yb;k3#@frkhQU{?#!APS2v2ER!2uA2rQ+F7=q3np4f0(e4GDw0qzZ zkgfGi+Tza+U4>7gS-|bzN*rJCxXu1V2#pf0 zU|TLA^Lf1noVXpU4=zyMld zmS>hzS+0$zq9$)0&h3Nlq~Z@mm}+q-*D&Y{$i`v#m*B7yST+io@kjR$=Le)fNqzl- z=x_LQ40KkM0B7RjKG%GFfLbV5$(1%iYN{Q|z$H>M|8j^{lu}A&9c`F%Tr<(xzN986 zA;`-nQdyWS3FbZCNCg$M!|NnEJL44;z|`!fo-?zl*fG=YFYIk}jkSMm8R;^9a5+sC>_Gl%BQUIIDBDkD7v=+%H zaReDj($!J29i;|~VNAI=s@~?W4MlG_gu}}52a{FAs8BZj1u}Rnl9^j8Y|0#?wGkN4 zMp%BP;G>|L2Q{)&m%Ly2f2emszJ=put_uw40tjP-E`l*qsoBK`xaZ@E#c9!(r)TP5>gycHnpv;LS(aQ#6)>&VdI(>=~ zE}Lb^a47*$^w9a&fUu66F>2QKR6aPy(xdSZ2cGiqj}DvyGXMZ&GtTIyx?-Amv_1Qn zbekVkQD&t~PEi^gnEhr`@!ru8#~}JbBT>mb{%A1^DZ*U7EHBS$FV&6qy6$g(^xV zNlf?$7uk2Z!uNZeRwF2sX8vJyLO5Lpc!3~mvka9RZZs8yXFFGE!@RAL72LBrsLTBo z9GD-l(RQCIf&=;t22xQ4AZj~Z?~lq3(;y(3O4CMbPbFDGyDdI2#OeQQTe`>)*;UH5 zKk--JS1s2fZ{={z!zsgDy=l&-N$pALXQvTrBUwkfBfUCX<1z+;)wq@BhAVa^pd?k} z+(h^BpV9eAcxBT4*!whTJ$gX9DY>B`2P3awdn|$KzlADdkJ-Ty?u4eS#ApPBEjjli zn8StSQpW6UdWm?})aFqvrcLSuYPcpGlX8tt)zJu3f>Kmz$|xqzeRh{%DP5A;3OXRO1UjkeSX!~mwsc?X1gw{{&pd9xnhh?B&;ptZQSw8&HnD0BjBM~JXR zX|$Z*L#TPP=36CD)-ujuoSYy|+p*k_u~VJ~DzDA#?&S#R3Ai*>x(`D#2Ljp>+PgsF ze&jX7PFd3-LP1mowVQ&#lf>;LR7{A%TL+uP<;-fI_6FHy*)#XAmXRZ<3_^+A`fr$r zuA$Uc6y~9;7guadIGxgvkIs|iON#Pq^D%<~g&sir(P!Us6>vtTLDWbrf$rxZZ3~WC zru|H_5G1@_;!xszuWW=+9mEG792Ew|YclHa6gat*9X=&3>A%kU9%+C;TJSo^U8F?u z;QnQ&FO&e{3^eo(P=Wap^|#&{@{1jQ-X3RtWFBr6)>IELTC`KyR05MT&#GvLhqwT2 zRHVbTlNQ(Z*S)>A#(jS{1)eyR{~b)Z<>eK5yH$U*q%1gx`$v9t73T)5qX*o;%S$B2 z#I0}44Ec%EgQ|>b-rjvM;9YGCug1^B%QSFq7j=&{{=~HwU7S5QwCcgEUQhIFd=6?Iuy^;|7}jvoz<>oFqx8~ z89^1IYHD}MZX2=&Y1W+bv1Y1urLaW_U<@v3f{~U5j#$GfK=?Q5$dqy4gwW^ry(-gb zz^Q0rR9PCKAY^eCq@jyS!}*tW`ZqjTwW>=HfA zS+BE#9Q{)(usS!%dIl=GxL1Z93hfyt>G@6=W{`DL$8NfjYCx8&9SorH*dYL(XaPY% zP$5$1_J@(@S{jJPOn3ZbsJ9L8V{U9S_3uFTy`qFp^%HtexOzSO)HOclR0x2Axjb-j z(1}T=m*ZHSs}h=a=$id*nfZP&r{9s-m+?i*an(C&Y^AQiS5C+;qHKXfqcVqt&%+4> zjIGe&pUOBqMl?M6Mfjs(HI~MW-({|ApidaiTIe1_u8WPSVC`r1z+>8xCuV*S3Ypm4 z-1=RM6*e&-!?Y~WHcG|&C$`uFn0TO5SN}#`dam-9^@5mL39%Rj;pYWaiUYzRAvcRb zzf_MpQdr@D2y|iQ5;?DAM+i{>T2@b4C)~Zk5QF{F4tEf=48u1FRMB|jJ#Vb&Jw-3j z^K0@EiupfAgq5NBdVxCp2%0bmmaDCi9}t53JOz$6wG-mL-ch4r)cOn_hsQYsPJSVW zd81AnplXE~?Z1*Pc$yYwG2DNba|VFoif7bd*skB#PHVu}Uj+>~QmV&;aw|6`cZ_Z` zCNzAm&=<4DM-1`lKX!?=Q%oB5?FrL5r_Rg>skJ^b3R`lP!Em~g`eJ;4Vo1FBwrV1J zcvLvt?OMVutqUrH^Q?9d1T8H=hs{$Dz=dMdXy_L1Q0(S}&=;U_V9&5lQ)`^E9!lNw6f(Q_)5opdXw=WKKN-4M zlA7m;qZ7glvJy*Wj+hP%upro6#}Ez-U?|=q3_QpKf+S4MA6|Tc-)8WIEaIhg5F2x< z7Xg|frh}5jCXxQY1CcTXNluVJkks{IgmuxB<%5sBArY@#$P@%lUSnaEX^nu;b-(OS7tksj2|bC*-2 zm12}z!X1C_LiPrG2J;_1bDZ z7dZ}E|<`BywZgi5HzG~xwFMo2H<8+FT@2S4+rSeFj!k1YA~N^6o2 z9){>klRd$rB4Bx;G5JfqIw=SOJ@{NqHq>IQ(%m`%G=-C_9iqJ)8T#>-Q9JMm8^CA( z5sL&Ilbl2+iS`|sgP+hdyRe6#u_dA7`4O-idNNzdZ94(0*t`Ug={crz&KmjnsKZBJ zJ*YdyV!XfWjg!=}=-63RZP427K=s%tpy3iBXWdA8dY~?-^@$behtA?@_Wa{LM7YM&q*3B+8Pr<#dpvtg! zF-uE_0uIwNKwsrVX!)G`@;20|p!Ck;23(CtL!UmKo4V`D6_Dq$noeKqrBb%Ht2d_B$Im`UaKgCgcj+x`Gs&%r5C$P`P!8AiXFCMuz{k5F!nU&O^Lgl#Tc-D&nEd%-Z(+(ay}TCt-e{fd-m!qo z%gSxk{Kc&LnJENY+K&1A?H?768$={+S#eH6-Lfhs>%cYAeHsRrRg*p*i_@^x(Qlh9Z-J zU}Om0bsWI$kq~uw4S=c(pOovV{P*-w)=&od08p>p{<#l- z0th>BM9AG`WD1#842%h%2RMS<0xV5Ja4VA5vXodqwmPqFm*-|jeq26o8#PmN&{t{D zlf}9^1*exZs!6+E+~k5%N+|;no7u2CL=10Szgw7ojanUrucMLeg21uP#;x>@yRvey zfZCq@SPZC*5~X<7#4R#otwcl~3gB)=3^K)&2|OWC%5`#xPhH8fD970^VmQR#X1 zxEoXzUVR74an(n+t(RuzmeYi#WC;!*U~FTEh4}p)u!64*MU)tki8=t{khB#yPohel zTZJ3eYUzV-kgMH?;Z1A z88WXoa{ey?*n0P_Fvko7!iP6g!5Jclvp+Tv>)!gbB6D$eUm#^no_k*XnQ|0!g= zv|+CYswa}(U)Ut6`?K_`them#4kOuuV6AQ$qKU7ot7Tz1oN zbk2UioxhL(KV$ow&o31oZU&l7x=UiV=*xF#XDNlniYx>&8$-J>@&qyErf~ML;HQ+$ z{tl*!)b>N~#xKnX*jdQQw~TsbAw%RbMe#WiV2c!Ny|#L5IJ(@KmyXY z_bt|3ZH1)pa{wd#Lifbc3jt@@xU`i<1-qX=iwIQ@nd9~3qtA_cHO8et|HQ~EQy?>7 z+f|XzU7|2w14J{CaOXw#M4L0?+RnX>kYMj5;Pu+`lX=Tun z+9}N)^J1R0q1RI5@e+6jOTDjs4Nw_$LB_I}06h_!Q5?U~1V40T++-mW0HT%IGWX!Q zEy77RO1b0?4M(f=H#{~atQ>cUck!)LTT(RgiA?g7Qw8q>g~g=qI4@A&(^YRB@c&9kkT~ z!oCs975$xa3*q+@o8tm3>lmQLeyDQ--g2Fzaf*iZo!TwWtcwtU(^IVBkY@_n^lCbzMq$_AYih2Hp5uJJhg5i@^O zhsvI*q>a%}68;8okO_Ef{^9U0h!pn^qKF}V5TMZ+)F1vepEm8ExrmDFQl+qpr7XF2 z&l+QFe%JoWH|o(v3a?KuRvcd=gc|p7UboqL&P?1DR{cGG1TfbPmiQ~8VT$bau8^E3 zWhq$%f@)+plf%-R$W{o$Wp9)<+V0A%I(2swIlq4f4jGIB8}o_x3t%4-bM?^AOyi?7 zqtw)cRh_Jg)y6MRl0pPP?f2=h>zG5`BdjCT^-JqVoNs>dQVD%@PRAQ z?~PU|Xroq}7R`fO*~X9MBH2138z)BK ziftV+7je{RHfSS6Mpd0JXLX5TMR_l*op21^MX{>KO zNRG<<;Ept1F(aCYR<>*PXWjRreYfCX9!AMWk2nn6cqy_Ebb?qEUeTr-1A>mz4OQ>@ zrIFYw41jTW?y^2=a)F?P8%D@L_0uX%!t8#oTSEDJ;#zCJ>}@Q&31>``B>yeso*aJ-;;YZ*P-KMu)< zs9``r?ee4_^zYM9b7vm75eqGgT>D zU3Nd6zmtlACw2b%f=m~S6_FLR6RKTZ8GE3^RRjC%+0}CDQPVgPAxGJu`vDW;qJ!t zg$1=qlLJ7j=k~ad`yOCbV^|FpMD6fz!Xt@JfneD&P{7Q#+C8Xi#U$b0o^imfU6gB*_X@{oB1U;}KS{?Amxbh; zS)_LpNb2Tl+LcN7h7LkF>zL6WJ%zEf0C$p`5L*V2*;sWov8gAXNAMN|5$MA>a(V7_ zXz9i?C__}7S3E6ivIXBhN%>Y`J6?_8k2%NwCb`7e;88~%}4Q z4F)Ex@wOZmNqHa9f0|TzbLEDI4i{d&EqHP*B*NM-I->V0xk+b%fr8E96ZKX!i&dsB3g8N=n#)z zUyY1fr82YZ96$S*V*cWy1`9Moqm|iJ%wURTr{-M#fVju&B2P!04&U8dFcW@vd%*p) zTnO2Ot!qw$eP7`OkwZ}|rh4j3@lN;{VYDfRsTOdo8@`HB85-v6VFhS=qxa_N0e35J z+W9psYb4Al`v)Ykp!2prFU!!&{QAa2IqYFby8XCpsHv3wMqz=85X6OJe9GJx^2AR; zY;ftAN(iZuq?vFaF}(a@d`?#!^kSh_?}&t7P4g7X#idx8Bnxu&LWxGqU_nanw`(dJ##NbJG=3xes2=_FX{1+NI51hm?MY_76`at8}ftM6BWgH z@-+Hc1rw^~CjA(*IjB0dH)>p5n4&_dMs0D-xJRt+yub7CYy8**ZPpliuuLv-$Z=p~aod#BIAvC39zj$UYqW0OH4}4pd*K8yN}(^@bJz-0Ev23~0y5S1eF>X&;zf$k2rZducGZf;5O@?YAg9Y6zv`fjWCLWz?osGFdv zRIFHk^C#b2nG)8)j^W(|;xBQ~r34aT4n0sI`-505i+efoCegAraRy&Fajnoku2bIJ z06f>tzgp{I)x_rPd#6oHh$H%sPO*VcJzdGDG{u>D7s@TW+YbK0c$rPw069qWnCZ?3 zkXAaDZX+l2z&Zk!)~!bbB`h1@8V0*38C0;rC!;+&cJje%CGS-LapC6ao;vc>$ zl-9Csq|vrFPhPs`-_c`6Nv#52h${6lpU((!(h%2+==>xX=nkI{@kGIiZ{euVSx~lV zL2qUwF2jZHL}R~c$%4Z+L@)>z*?2L(8~hvP4RY1Y*g+8F|5UMtlqx)J<41VY80w2O z1#w5ucP%t6TOnce0v0NW6kZ4#)a#JEgC$jAxs&Fxrdbg8#PX8ns6<~UDTm8Pd9KYC zIj9VFZ{cG^8`Qh;WK93T^(Q`euV1r}`RW&qXp)k?`f!F$5qjiWu2a;E<4$CiG)0g+ z8qj^3vKpns_#`l{$0P13K*$Iuj*Pp|M@gJzZ;~B!a;dvzsH}w`*G_3I6eo>Um6+h^ z=|*ny+vih*>ytD{E_)|~^vY*leB+-LS|k z$Bk~Qy0V!AroCwcn^a?;UwfiN3<*<;lWF?UgPrK4W+_U!f(C6Lg1sG!hk{F$7kAhe zp1&lP{rkCArdjt-#o!h`x>N-~K%0OPngNXGTilhuoMy~#T3;qMU5dNJ*C-2?cZuJA z`8TuKjhka6{2&e9Nypd@3IA9RoBQDfujB zj;7S!WHG4jC#=r$x!Q@ugI(I|i|~QhnmWR|wgl+N^S=4JhYe5TUyqTb%;%YrU#G6= z+f>9@t7`?KRDbui-Bjnn=w;Uj>E*Ig?xLvHC=RDa#I|&oGZtB`D?Gk$T|2G&l~~Qj zl=7x8j8?A?h}Hv{g+-=3a4O=R^;*c9PTU!50Ti9kzme^IHXlN9b7)I*itT(Xx>N5M z$q~OU))^v)?B}66w01Gvsi%~A3?%wJyx!rP^T$Y(dc{9x*l@UxyLY=x^q6+AGWA_yD z)|ESFRF)Q5Wwl}>>T1oG570kebD?*>h}Ts`pk|wqgIxRU0-+pFQe=BL=lH`LSRCaf zk{T*UmQ&`Nx$xEL8Z%C^(fowdzB_nlpo;R)85>++hb<^W9Uc}_H% zA}9c?aQvb#(&La}f&4WuWm!5lkbXxbt%HC}oFca)l2%6%Q>I9|+X^rBydnFy#>~0Z zfM$QN5B^aZOlx|XX7MSTXa1B}z`#S5;Vc!XAy@ge>vzDCqX+g@*OxQO>Fm_RkV}m? zjpVNA1dVifmI)Hry7R_tch0FE>$35LQZQDG=T($QDMrIvs2dqybbemNDSjnCBs9aZ zTx}R*rdX>4Co-)cY6GZRY94GP09rjw!u?bzSKfZ_`7|VZA~Fmj@h_3H_E0$#JUUnG z5&5sG@7)Cac$pw!Oa!2+1V|)$I4f}RX&9ux0kOJRPQ~_Hk>MYbeA^^_@NF6#H@e+e zU}1L-H>%ag>#Bq%wc2kNr6c7;RU7YJiCvm{Q*jR%P?;EX=Wtk|)FyRyN812Y zPF`i2Mq!RTMWz+{q}sA--JuDKT07cl=JTkx3yWOC9Of^K8XB#J2MsME#*~P&v>&Ix zQ&GFw6Q>J5Bm8umsR3tKL+&`~3cd~EvRTaK72eVD&+MY}TJ(pD0PuGKf&M&rNZ)kn zKD80yj;8dD6mx3brUb%&>GJ($Wo65s>CpCRK1A~K1faH_oAz3`_Kb|-|#i8vM5Qko<; z9mR7hF;zh^UX)406YWGjd{ze8OcH()fqyJ56ntWP*}4b`q4B($HfAtsx}Vo+AgflG zK~*C9*`=5c;~vsP6%PhF#EBAAHL;mP-m?GyWYk_&)+;n>UqoFP&SEoi*=p$!SOz(zyY*6w_p=|U#mrM(AzxwpF0{{SJlSC)74 z$a9bt<&ME&)ThYaLIC3R5b+(vH#?4qYHjVZRmu<|{jGrcwF_#h)023#5 z((ShV+?478tTIVTUa91vXb2HBUo(e}MI;TQA|kRr1pu!b0#GGTUGiU0;BFds1T!B@ z@cL@|RcHmPUl$}_$w+10!UVIOuJyGPtNcJgn2bn5q2 z`n1A~ufH7eE+!0E7ldv=>Jmf1Nt*zS6StAk$Z5QLxDTDv(J^=f>g1c&z0mCGH}}M1i?kQ90`~5 zsBF64EHv|2{|JR38)ju+oJ(odu;^_?KIy5=jAM<@(-~x%qSNHPp(%OaL}vcj>7Ha9 z#Ykuno&1{8>h%W8v2%w?-iz>{_sI#P36-Qx#ku-zEj)s}vJi*^>kOf1&8LZ8+@0L* zyKp>-4F1HznJgQq#{*GUcE!so;z)Ll69@I=Cd(6%oUsISopd;xP~<+;L#}VkH@EB^ z>ac~RSK1G&;iTyk^zD_=+Zsf-g<6m@ygf1BML9^mp~RucD-ac_TS;*tP2k*=5--Vw z;h8?=l#eEu-xw`Lp#m?|E?efZI9*krnF2< zqY&C-q)n>$6Z_A}y5)xA4SuG*x2#Kdk#wjeT7Y?NL;#iH`i5UsX*V|NA zUNPZ~P4x?T!C|$Ip^hA{LUmY_V>R|MyWZ;f!}%2Rbjz*%i6nufdUJ6_0Oj+PC{Be}U zC57%0N;Q`n$>zsvPCUG%rNO#g?3e!fS6O-Gd+QBjm#pXHtYIi(GKheBe&&Nx3MsE! z$4p+y*x3ht`h3sDLNW*xPtX;v$e3XVSi{h74XC;x-1=lif{@U~xM)q}iQ+-g`raT@ zMz#44-X`kmwJB(9LSWh*(UUc7fu*tAM?|4AtM`1AK04G^+7ybE;>Mgu+Pm8iZ=Y+k zVuq*;ulOcjnmwGA&fYn9EF&3c-NEbqbr=@Zk8y@2^(H4eJmqqLUUQDk<4q~fB#^lx zN32OJLiw0Ky(8&F7Kjdl>>u^s_@|~?tgy^gVm5$}Wl7{bkj%ITns_V)j6TV($%vNm zT0Ya0--KSuL2bU}agrW=r_6|w?gMCv^;m^SltZb4krlK;V=q`lUB%dDlYz7`)KR^t zenD`%)j_q%Zafkb)P+Uf5n_2=Cl%4-9-@`-a#B&m_F0+%{ z!`T$F3$yC~sW|;3dyiQ(A8Hy=Dg&zC&_Qm|oY1}XA<{2olo`Xx$pnK`0Hby|I-EhE z?+Id+ONT;GKa{II8uTzcS~)8qAEnFwe&ZRFCgmOJ?TwkCIhzaWFH-@KMT2ZBi2wX z?G~U}+);mM@QAvY>H3ph?CL1bG;-)m-4QXZ)4jHWtNb@Y4} z9sR8y!J+FI-)+tbdwUI-R_*DAA%3i~LwV(B^6P2T6(&<Nnbkh7`awIqB9LxE&gs zW`4S7N9_bA_sJZct08M}lCi__w>GZI|4(Jk;@Q6sqjG+x?jQPZ^n8y*-_wODr5l=B zmlKqYYy^D|`1+!#j=-TSmC!qAA!M zh=H$P*R6x6l!yGm>j=qpcZ-ng#>@C>qY<7^&81#~S1Gv&9g~!=slJv#6Q7imxM6YC zxayP?lO{DixlkHViogs+FwB}+GiL1&N2Y!x)9fG+>(3-9K?1qYUYR(VR#`Z66+eA; z1NM~Qa+|8>)#j-;_+xs2r}JhONmU$(kF``j>5c^?nG%7-zSjpOL4@$(k`Nh0$Unaa zZSfkr@!nfKaBf>=z)!>55GmGMdD|2D`e~@7$^6Vizx%Dm$E#!dzv|Jog-y&w#xbuYEhOtd2+!R-#cM-oP}WPH`bm zJcGa_vJkP<4i_Uc3B(8J& z;#cvfI`(5=()!B%>oVr4(@k*zOLZcNH8KQHq)Cd5F>ia;>TiAa$nL$!>h1VCSRg{n zxHb)4{g$dHGozjuNlrj8JkfaFzd;Zmbro$QS!b&}PpIbyA9mqsP5{hNq(9aWA6Zma z*_6zN2cf5oRFF#Z$i(YpzFl7qymh_oV);d)=`U#PqhBM(a`ezWiOngc?JyUnZYTndkNoL}58Y;S`q;l8(ji+c4NL@y!2%!Z zb_m@Nk$x|^n%6$1qQk34W|7evhtnxGnd+la=?g3CUkr`UJr@l)s^jS7l{+r|6rtLo zGmIoJh}wxOEF)Z?-zwCQ-{Cn~9BFp^;_Y z6G0L5v>ZWtBZ;@1T?{L)*4QFLn!y8I{y_#U>Mqn$8j2f$S^GK2un!40!FfmB zUs=JX6Rt_#yLcooBe0BtgL;yArCv#H0*^hr0V4zx3=19ui!wRa1F0S+y zt;0nz1Qk9)I?${Crm}5*X##4JZ=s1aTBMKM$|93)V5JKl0CoZ8V*iqUOJ9f8`o2+0 z$vzH-SGeGyG5%-}B4e)yaL*Q7`CjXwNU1<$Fv19c@oGV(k_*#mlJse{(NcE!llBQ+ z7UuU$T#e0#epJ*~c<=Gb<0K`(Qxl&l2LAtny|!#gTie>zL#1`V+Z(3#)Vzo&c!Io5 z(7RpazW`@zD5kr2?U<2PhhKhKU1lcEr+m*1SCrNf2!cuh@FJXEK$fYCxM@MMzR}55 z24P%W%h^$g#s0OK^nH+;RuJW_xE$F60ML?38tMvyb?h=E6X^`iiHd$o;YJz|e2-ho zi*F@c7P&R~F_roB=M&~NEwNwz`S1)Wq@$J&y(l3nQ@9I#hn!EMmu9f9@lx$8A~iwU zqB21Pcqf$SRMkVPqos|P%L=AmTfDiR-4vWi=+Ww0al3SSxR&)#t2pL4}rhy&&qCtl$mJ#pzDxF5Lk#) zK)w9Ir!ESf&0KT_2)YagQ@3^YS2b z4s&zqROj@%{H~I&w&d7)r$3U@zhAJuEr6r9_B+cxtbrEoIgl=-eF`jQQ0{B1*Y}vO z`0D>hVpyh-F2U+uNfCl=gpT@1H#UQZsx^u@*)NU7jzVWEYR)ER? zsO%SXUxLH_Muud&hPk(>V@c0cG|Ejb7McqbmWW zhVR58Qoc+Xk3v69iW4a0{v=%Ac)Bei4~rk2t$gI?++E{L$ZL4SB1#d@ zpgcg~N=1|nj${rr9*TFM*MReaFZT$ZgM8TF9`Ty#b5sQ2A}HiO@pj&@NIAwgX>Lgr zf%ntIO0!0=p2Gs@zTeqFm5uGhmg1HMpb~e;DnQhzf^OCyWn7(yOXWluRs0c(0#0_? z9xmN(wFUp`%(hk?O5mrzW=?Zg1w@W7E=YsN4HtYKRVGmWOlbRmq+qqK&wbKAy~FuB zFIh|<%RU)1fnfvo`9GMAD4Jt9O?{s=SQmZ)A6l^M7Gn0V-ggq5H=vh0w+@njl!DM= z{5QyXRM_SNGpNlAId*dJiPwrp}Z~ATLLNNefuT*7@k09_{_T1lP{E90Exe6ZC3 zMD=UW@N%*LqumRm7zmkbzorX#+ zaxH~bF!>Nc?-Jk-DHg}b{r4jPZ7$!o@((X+?1eXE#Vz2gyUS=qQNp};aS9ZB!RR=e zzeFTZ(7>jwend%25(_YchJDfic!#v(+^k%_vHQ4qU%kQ?hH{0-t*)ZKTcZH+G`LXU zf^qK&b|y~kE0=KWnMxa-E{@7no;}(`Y�=rWCX7vP&%UUDtf{0jBLyP5H*@u5=tv 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

    u*hG%&rj-j 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≧j3 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%0Acave|g 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%0DTE@`Ly}5p$yE?n`*R1i!gC6^} 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%0DX9t&5Z=Vy`h0iBtoKz2cmGAB zUE61;`1-=0V)Rlw(Uj%Yp{oxp7uLR<+H9L_70@ZM z!dN75^>$f01Q+-sms+XMP+tBO*NgI9mbC!7%Hn`^9D*;^I6pOoL%w+#AXDwJ_u z-$`$*0pyMfE0_mUfDg1(3gw#V%Iul&ZzG@0&-$+ zP`PYw8m5fmx#~oDZA8~!-!~>SUoct1TaCmA@NCfAX<+A|NS-+Y0DK@@%oC%OH_{*e z+37T5pqJJ|t?~(dTeg`8ryyh%v-)y>8sAC1b|dKQ#6e$Lb((L zSp{=(;a5e17F5@V^5s6i_ayYmQtldqW!_NV&c|0g<6h$)8EMl<7z3HufaR=>K12*n zcNMQ~e17d)%+=yRaUU0uw3&Fnyz0z2?j?Bp^gWccF&>A0UN^3^>@^*vo zxoZBlhC)jk5f|fBP%wcTfZ2HB2&LNFi{jXGRm|wJrJitUrgTAX(#U;iaYJ|%Pkz*$&~;5ib^PYT2Vvoj zh>`LHed8#}^D~_jT)J|0OJKj1#u{@_--fM3mskhhb~NWo(2b|r2>Ce@bh8X(5L)mj zNBT>2 zb7WQqh7i1`nyrSeY+e!My(PM0^_E8pE;6q32mQ$AaSpAQ-g;NpB7k)trJ0d@Z2(3* zZ5FjLvIrardby$=iBc|tbI#&ZigvO2Oe_R-_5DspUxl~PSCz|0k|$|%DNsS&YtEr8 z?N2*J)0^Hb9l(`u@~SDnV0r?N)j~rtV9F*r&8?n@-eodY8AP?9FQsnEAf}FI4S#(2 z7>tOEFb@*Yq+*;$CjMzvbtz>J4(31Cs4RdU#1xMR=ZCHmRW(J_1}{gt9q>2U@FoP3 zN9z<~WWhEC991xxZkU>aLsSxQ2{R0@T24sEbTt+?XmV;hyJasym@r`&v*!AW+90&7 zsS{R0R!M6-ZPgDn$o$L`q|fgNz~{#Z!a#)>_0B>e4Cg-Vz=5i|(LI1m;O?{Ruu(5M z>@^j@f!iP;0?`m}(GC$Gv*fw%vS1KTC5S(s)kFU&i|rH@e0f{*%uw7NdLl$2xF$c{ zCNm+)hv<){*NkmUy3FN^snVGju`%uxP75l(&C>D6k(hQ5-rnNG=#V^Xk$mLS9h|CR zUs=Pg;oI@UVcyE%AUn+<_YNSz{o6AX+Fx%k`dtl0VZ}`RPhF6}^S(gIJ2#G)7PG7s z(k6SYX)wPtXNY8If7p;ah>iFHWp`DmGg-h3bpEa8t?HLvVl`MPQ`11j)1>gJ@GIEU zz_Q+troT;uKF?_ygE2Od)FzqX0>23SK!)$|8RCTYlhPJ(Av{-#)<*%zApi+sDP!j# z+C26Rx|eOIzaB5HohAI&I8_P z`jtw+2EN+B>+39!;L}$O`L@I-S{Zw2%Kz) z>0|{xQEYjThpCFJDAaX^vtZMlm0`dk0dO1<@_{s5XNi;v{aD-x75aCT3=8{c#Yf`; z=qV4B)0Gwf5%ohLK;(7-4k!)}+V*4vzy%zeINY*V$ru-n)QHH^|Mpv|rJb*c+Ob0N z?yK8@!ba@L*yw@3YU|O76jMh?qAmeA(#KK;hC2 zURoak$Xv_J1U{gg?H=FED7nn&Bv{`MF8KAL-^FR#s|8@)XaDiwnaZI9#W7sZ!G*&R zD0li8^bVp`yujkVG;Fhq=Wc!itCEOw+=)9xyZZ=gXQ}{EteC>ED)-I9bf}Zw$A)Lv zDvja|0{G`A5#k*-4-NvtY#1w6C&{WXFm12Yyi#+lUkbQZNB8FlZ zE%k+xBGfMZ0i4>w(bF1sEE;-5Q}d+3u{|?dKBV~66?B^M>g5I#TA~Oag`{j{c@#!z!`Y1;lQsy#pnyW+-+=sE#FGe(WiH9Ks1`WYbwri z@a(T8_*DUAuD@xBA*3}fkBPq`dxdlV_!k0kshm5XvGWExWALw2%la-{Bu;DJGC6g^2 zaUE+7X1aI@-P)VU5OOimW)}^9xnpi_e}VcCmBI;oPg+$q?DLH0H;ixH-i2fuH3-LE zA{^vWLh75rg{;7is6lx8?`uu&>3H8JVPEjm@R|_({~=-a*3VM1@{6+g8h>UV^Mhhu zzsKghojSy%ewVz2$8xehS!{G!XzynB=OEXBB;kz}!(LMhj-?ah2Xw2#h22zPRz`-f zk+|V?3i~z&mMt9WI$Gn2X?g2Bx;$KEb%gfAqRIQ+4;73rS>BXjm^UscVYg%DDM0Ka z29osNtL%Vu>CiE2O3yf}A*FL|)NWa~8L5uJHDj7Cr*w?ftJ(Lw1r*VbTz>hySFb)4 zqnD!p?u!<$Yr0_rpv#QAE_5a%)Dd9wZ&C;x?*<7VaOWZOLo9*PCEJUjtSHv$=Gfb? zY4R?Sa?J)x*=$F}%8m^tXb~UEK^33z*RyC%30GX-9MHtAqeaROnk`gCYAczJb^WG; z<&k+EwEs7wPxaNHN0VSzVfSTJ&^I`-r#;Eu`>ncxS$?^U4?VQ5OaYe#Qn>Mb zI$^S?$#tbbwIYlosB_#PqOn90RZLR(5xmgd@!U*|aF z=(=lZR^L7rR)`uaHU|1|$Yc4s#PvZ-(cwy(UxrE`ixdAO_tNx{x+sTB%OzugSDprt zkHCZle%-DALANlMmMka!;$N+9gs>iw0~xqV(L3|U8rtxRmYQhnxb#F&u{c-bjAJ=Ax?UQ^2g79VUrrF#!G-w~>J-?t zC_YLjE`!ndv+9}KEe}GG3zT-uVD1cCKiy{Kf>GCrQiBlE60yo6&#nELR6Y-t*&do= z4~f_#ev=xmrnsXiksUr4m=fcR5a!`iGG9U`LaGI}QXHBhZ4D`%&_3(mXe$6eOnF8K9vW7ei z@}*tHxOs!*dzTMnb#ObJ19JAllxo9{METU{kJ?~+yTPm;%Q$7QLUO4*ecHx*qB)7c zYCP5}bKIfBl3CK~+~BFq&E%>x#@+Ji#k6NKCp7c5!&$8R8JO;Lz)BWpgmssxWK2o< zsRF{z|5#$6D`!Q#J)qUbby~@kuWW3^d5iKcNf0rd1cG;nVMJ@QJw(BNgf}#5TEYo? z6L-PSVtEw-b?PN|>2J9DMwi{%YgA7je@4wO`83g4mMKtAPv8MnVS!>=r1bpRk`@t+ zjAYooW+7~VizEX^*d_x^B|BhNIw^+w*AXwHE)!r)7@dzj`GPz z``~BQR;44xB%Orzx_C>eU^lp&y+uicEF#a}hm4naZ0$=khdSy;z550I+F6@^J`ktN z8i0h%hMM14B+CDOoKkpeo!OgS8krSQ0w4jhIApz5aj4Z>#bf{LL`TS0?&aX4{03PM z4du)2HNiPLA2E)qA)aAm@LZ4I#B~MC5QxxCWYsnwU70^CToChSd@fjWjQ~$Tu)k5u zGxuH^%{74cq=%(3`c{Fb@fRP1dCt-bxEemIa~%$}->)+D^(93^^Nv!yq@_0)ON_LJ zT;7EFxbe%{LRp6nJFE=ic}LJ`aEbISbIq%+(7DdHSf@>$H=Ox+uXiS;az*xtB)fF8 zMC62DB4qBV13l|G2Z^GRc8o5|tOSv4Iuj_Q~keL>9qmwky?h(*<_@M5>%Wm($%PkonN zTfKc*+0^#jKDgcLO@19c`hU|3iyeFTKCOJ8`g*37<=u)hQS{XWvSZkOd6O=FpQZ6i z-=#&G@%b(*Z{CUd_R}Ty#h;$()Qo!1^}fKd*N7gl1G(90fDKxCU~#@*tu8MzS%&Gb z(GlbX_ZcG8-DU{diTA#pJlefkR~b1y;3aimF%Fd4-PBo8TY!zEHJc2Y>tQ3*hFeUt z?NF%)&BOq{&%g8;6Sr>rTeGrb*6a<5RDzLWobK1P+tca@;4cL$=C#1uZmI|5W$lSM zo>J5z9e9@VX^5wwmqEle;Q$)AAvhKb%fp0Bkz9IR*PSyM5)aJWdc+CsSNo79g#_m* zAIY(VqHnz4Y6V}GS1Q-U=+TIx6p2CO75#Qea79+R7;ovekn+XKH?w^HoATw5wlq?l z#`#tbHbCdvfnh@1v#P7y<6*;gT1GXi%HpU5P#dB;8FYG~4VQ@ncI)2%3G0}e3RxSI z29TBLLm}Bwf-VgDXLCz+Hv%tc~(65T9>B8Qq?CMSxf zub_S>gqM^eO(-qJ?r)Gmc~+%v>~vs8-(lb-z*B_xCVf+QgVoq$Za&Bp$8s~S^;YHZ zfsx)%*EhVDM<|xqTNouA8`a;p>awtV153fEpy;5SaA@d()WO(xY^=LLtWQrN_Ao&N8c`$a6cCpIz2?rGgl>sr*&o^a*y29i6+GJPtt@ z*xnfX9}1-v2YuBN;(5%~jD8vkdo;p*PM{&WW_C4X*YrXKGfT#maHBkwiWe@;fiV3x(Fy;E(# zW$#_AtQQ@G;9N?8puX}`+dP5c&$HLMtUNBufauq4Z`)bZ1_T2HTT3or!C`ibhggKN z5Fux>@X!pNT8Sh2^bYaaA(XhOKv_a}Q0`Z%x&R^_$4xldwkszfcPmhIfI9Vfs+^R|4+J2 z4D;zMa=$5YJD9<{xYMu>9)a1h3VqBgWo-!B6oiP2UJ#%&ykf(u(4Vh5e7D}nj!qYC zux~hgU>MNl3}ERL3PVXL#0XVL3Bo#%1+iMCnODW!EddVINk8AR z`!fy5^<4$xdVg|qcpn|HfW*yiH?@b~Fg8&*3#tGP8Ra38U&uam-0?@^!V--g<8?WU zfHMLG2LYo16H5%W3DyDy%;Y_ozGD!5Zrc)lHsfemb~jidSCHbjAPuvcYlMcK4dULU zUO`6D4E6Fnp|DGllSXKj_QpQ-02DiLEcL!1Vn!w)XbGs@mEMQBM_o<;qg5M=9(G(u zfu@s$53_ikxWRsY;83SV&r74bKdv+?YYPtR8y#7H$AN$(75HGl@E>Le_aF^NK{HWnl>a3c+N zgu0FZRX3J|;Wf}80btoQ#wA%!tE>CweK=<5qy;h`1U*|m%Zy!zz?s2ELLo^LeUSA+ zB`4M2?1NbPg+19}s(>&a0yrlnZ#tAD4~eV2A~r{OC+||w_83`Vt~kcY%YH$d(P{i+ z&1jI%0{Wy+U#3Mt(C@+Q{t5+vy%y8h>zb-!SZp8w@SRZ<+Zj0?n$E(a!Eg!$y9cmI z(lRp}vu>QtN%W$e{diso&Dtxr3)9(gRs}vIoGk-JhO>x=a@0S>z(5nr2(xpESP@2% z5$hd=E*ZZ=H#E#_=DLKkB>(S>?wnn!u@Q-bp&ALSj4x!gTSM}wwlC1o#s=6Iv}0ej zS{{aUIefNJc9TJ=Bll8CrMc)a0w1XXd;Zi4nyFdVDmDBC1=&VfA%Cm*y#s&h*Ixbf zAE$JQQKwi+m-(6O5wT6fS*3z=5vV?FW+0#4Ou<*^LweZp)GMLNNJ_{xtCqzm0SO?W zm3ZEA+i*2)FQ=dT^}EBImEJ(veW?(F$?S{YYsPdJ>N|()V8l0dj4i#wqrMs z{~kXT{$`tB0JOfeU=B^95T&pU;#)}pzpoA0x_N|%fKB>nPSd-1AAy9qI>@qH8i<%b z7dv>+qrwC!iqjIZ^Gz^F?lLq`!kIi?lIBRESz}O|`V%@SHjXcC$-~bhbm79U6glAj zwzHShgB~eo*^)r2DQI03Kv}7W5W1Xzthu8y`jrZ19?1A$QL=fLWOHX?C;ovtpRr7S znM?fdq~C|2pAJHMAvzJmQd8hOmE%|!e+A*QE^A*e>XDUs)DFUTzSX`tKf&B;$f+!= zIE=9#nCN^MdXj22ZyB;rU$G1f{YVLl-c0e8sZeMeSK9|~CmBz>?A3ipRTx_+|9)&2 ztTtR89dYntxoUXC3%k@{o6&;*+O1BwV`O(|#nW2H1aJ*~!F@*uH|JDMZw!(1y>#_AYRT%bdT&Kpk%&v zgiN{l#4+wJseRB(W6AngV<>dIbG(z4PpLb#l~TIx?OIwDW{hCEub=7sT2_!Kn8%o_uAqYj__iILrMVU!4$LP-e*Cm2r#v8F;Sg)TvYm4OdZ{{>slL0o56;!cRK26RpIHC0Z@%jV&E1^)|CB%6))=C!GyqLt zp8T3Out@~XSrz~nUv|w;+qd){23r+4^6%_6-QNj`r|1@>w*ZuUOzdVm7S_zKCI$D? zKLkg$yXTQFxk4KTCT((CG{(x1jY%U}8QdZ1Wg}J$?vn8_HYG>xcs2?8GAZi`Xpc6) z`8t*lN!BJE)IBf#yuIBhC3L+V(g~qXL?94W7dB5H+&bzZ58YKF3WdEoRM>pr9nocx zx;iq+$JLS5#LNi|-g1_$aTCn(nd8{zqt`-7)E%Yq!pbvB?0bCvL(;5JpW9YurW4K?ao0 zy^`~R!V(rjom}T!Zz7&~(jTe~JyV~yib4figvZJ*x1kjRd@KMMD)j#Ez^ONx=JG@A zNs`Mn3bDW*2iQeL)=q-^#m9$EzOpB)5VPOU&;Ee-StR&{xpFtrg27H3`KCE<`an3f zH{}7&Z5IGdNIr1082@D)F95aI2}^wuD_!6&-rkS$-{B#z1vZoUD_zA~7RNhW&Z!+K zt+=w^b1QnnKjq9yZi+i@T4um^syjfcfnzk2K^kCz>6 zQiRO{b~X4UY9ESA{M&J0g z$DmSULFw2+gDSk%{N}L%b&i06b~~#6kWUmisaY-8gJS*2t*dIlpad0V=N$ED*cFb}@pmS_+(wDlXKWmjRIpPARqj)9X zm}V^d;u%oHsXiEuh-|$`Wt?Leo8pu>$HAb0cn!3SVT)hjVCyQIx) zWpdHE5Sk$kk3hl|f>yh#$U_M+zf-Vrhqu3W8b=!EKRo008EwRtw`sImRAq0g_g&uc zQo#=IwlRNyyt0sIG(h`U$iS4?Hv0opny(3y1Ga`|!f}=#7O>5>Z~;ME?S4d@tEdMA zW?(B1`bDxxan;Umo4&2v+VZN{QdUZ_Z|7ZJ)ttol78gb!WUYHdoaDENW-9WN10|gk zx5i;34)dd~FN5|K{A~NR)o3p~;MVtH;TVX0R= zu^rmQaukwrIP8I>w!|Dq;-J{gK`Cnns?(8L;D5PBJU1n{36WO@nM*yr;C3O)5V)eg zc!{Xv`hk8nc_D8W3rzlTtTOPB=9?**S=6nLvw*GW_wlG0SvQpyD%OQpb$7erMg9~p zd(o*jUXb?6FJ6PD5pm$!gh?A3va0G#@Wg_cIo*4%54i_ln2P$KpGAEpPE+a`ZZ&JF zT=e|XA2riUS@rBlv#0}gmVoUc;vh@8ulVW+I5_U8dybv7=kFcN$l#lB^9j;31XSy) zN!AgN!V!nZ(-+{Gwc=PFkEZ}Dy}1(v6(}ga))x&1=ek_2w7$UFqBtPI--}j*`4}B< z&4A^$nx$&ytD^VxOsQ9rvR+$q*8UhVD5I7ZHhF473-~}9C%(htd=P(Fkx6#TV;zRm z8qeeX@G(TW2u{{M0-k5PAB-1PdD@kV$x7bLqO|7)0Rr#rnDaYEI>srkqOMV7vv0Rj zVkLs8N*B(w0vhgMw(ME<1QVWmQBUBO(b8`pse41@vr9a)j4mKJ_Omb**HV=pUBRd} z>%V%rQ1+Df!nt2Y8wri40+tUme-5O_Rxz`v6XMeK6`k%=>?o?z1Sp_ey29B){yeu2 z`A59_r1P~*;TSwVEp?|reXjX7+CXXItEcwGO?4`wh3&djypTb=Rj(x-8NDX&l9tMh zF3xE~>FGhgvUKdbSI}^`r%SPCqS}g-w0G869p4N20Hd2fJ0D2fnUdaZ)>!ypABuQL zO1Jbhr*$jGdnY~uXo7640;?#-gdE}F3_;WIMCoTi8G&_tN9_8YKJ~cEn)2=E_isg= z9bR+j*u?Aq?3F!><$2TIhb1bfjiU*-{xpEM2wo5_#w-^etaWynVDm`-YoJjC&#Vug4sAqE->^epa& z_f%8h2nLd@qq$mtU!{;z#nD%qa7YaJ$o<58XVU!3VaPbuMbtI^f*m0sT$aUwhLcV) z4$30aU{hB=NUkKeNC)mR(y)ye@X5GOyMxo{t?=_w*k&o&ceXf$+B_=62yjsT&>=ix3B@2Ff7 zIOO|wLz-zWx|G#Op@yJU;W>XJ8J&*imFl}=V^9&7`m8||x&;a8nt!I=N@w&_$ws-j z{#Mg*RT(8y#c+w&CN- zbjs;O0>)r}%~xpcdh1+|O2Xy~TQ9dTZ~MVER@qzYo2rxJy8GB~AwN7GdRqEhrRlYG z@zY7{g>+-IFOA4-U%mvcwhV$tPFQ@0+8`RLO^JsSJL zoIqM}tI$0@-jMl8MwHi$EJu*f;>8~NJGNxB22u9n?s*I6g3QrWoUdo^r^^!deE}*0 z;uQYJyigCd!}|-y0oIrIsWBeRlWQC#6v;oBij1j%vB-YsF@L~8hg~=O_k#C`sey$m zGR)EUO`TV7ll^Vs2i$Lwa!r2npXg}*IW8}AxFL8|{Naxij}sncwLAvkRm=)t%~YKS zI}!TnLm=>s%4!WiCvk$qQ_d{=Js`3RFGb41;_C+=OU+e<Bcc~fRoA`N zAYOwY3k~Wk6PX^24r~PLnG}v;u^^8erZ$h<7sT8^L-1ekVY}=~X8D9_udF+h)~^@f z#*}w7e6Xv;LcPjZz@E9u)BYl@=vqtxZcs>X#cW5HZiM1L;R6X^0y`N69{E8~Wm$a_ zpLZnsfgk)){gdVczfBzah(zY2D1T)Lrx<0|LI4iBtU8Kpcjm7kA$xlbor-#7rw6!a z`P1~$m#r^1c;z65uK!!qEv#_`8BB4}^IvDe8Sz4oxj}AYUO#t=8B&wvk%0YS<|3=F z7-NzB?l1rYo%0t~rnvhL!654kKMi-!=)5_&*z(a~)8|@<3QZ1r(%s*yW)-q0-OwsICD;YinvJH zd?ZCl*+R=O-m*ouGl*>zT}RkR^^$_rLsvy0qQqU)CPvs$iBl#baj`o^uF8CGzR5uj z-MolhvVEJo6wa8>bQnX@lnn9vo-Y|VG#1fsJI1EeTZV&H>Ehc$cpf{7XHuLITuf+F za5oJ=H%^3uaqP#P6N+jEiyA9PgX$Yhn@zP*L1hISSG8qY@W&<%JpJhQb70BKB4xuj z>#V~582dVPw)u`TywWinB`eP*IJpB2rsgs7o>=;O0f>ce#yGE~<-J3v6gDzsWo@^i zJX55hBO)*e{|Vw4uclbra@!+&ihV)GcDqN%rLn(XnyDJkkr;RfbL^q8z&oKaC*zgm zmxt4_VnqMelv2e$MwgqlNTVhG5&kD+)#wE3lncmZW!ncC1m?3{62_85#8CTQbo#MP zxDd`CuOtz%O*6;!swaL*yJ|Yc2F`Rc2_O;*7Ws>p`}>-~cq3p3&_B0kd$8_=PqOq{ zQ=e{LC0+*Mu5+MkcIh63j&6y;HrFS8iBs*gM?Bet7k-O-HWPjeg#eJ=)2y(M?`f zSOZVqLYYg7ESH;YrUH$LqM9?dz+h2KGf`Jz{!yw4Z0xPa3h`6s$ z;vTu?quGMq1(WY&VFH~K!rkVMKBg0%U}67Y##(6H|R+_KAmW&~wbbW_jP zYRib;nVNY1?XK%7`wphWMFKp6?ee&`PJUis z7(uvCnYJnK6->|VR#$U^kH!(teNAld-|Cc6%|k;{5bRTf6+*4>IOmmk&DOA5%|y5vHF-81F!yf60(>kEz_`kU5FL)XonOP{kn^WDHHztSqV5!<`lbR{LPKqxb?{S0`U^R_>so^;#Qi7ch;Z=p4S$(S|yfh-!{AdCemR~Toy-X;) zX?q{o>^~bY#`*f*z)8qaNPOAU{?2f7+$W0FX`4iX%@*~Q->b<}XS!xg_cuG{IJJX| zs9mR>ppM_H>-EPS5;M}1+-U=Yg4=Zz%0dV22jNwG`gtc%lKK79@R`ylW%l%mJ>32p zXxSsyk@EE)6p>;kZmJ6F3AY`d?i zdj@y>xTc|rB_!j(%n?dcR1@wdOe!7YV?7R!PpiVhT!|=&l43)l__dSPiMnsu<7MNW z*_oU*Gh-$%2LXXBy13|OJ&!;;2r#grHHv`+dOP!_;2$I*E1}u~+vX{v&`(yuE9S;V+jg?SjzAR7~73Yg7QK*Drmb^ZzR9>Y33-G7YAm(dpCpYB{;II zVZYxn#SAPt3;wau^byYS01T6xPnvC^W`A}NAOTa6fP=guurlPJuN1j{XA@t4W#~u7 zEC*`?;bIRz8`bdA>BniR-T1QbypUI7Px4jF;#^$U*d)q^ze28ISKSE#jIgek0#!&? zl7dpe`XqxAMz~e+!L{FqI$evRu2g&6M#X96&a+x{=$QxTrUGD&7uN}hr^-h^Dh;kx zojJ=tq`y4sBtvC(rr5rSi0-B4YyR&{`_!w1eqEotXaH5;&7vxrBPQu$gf^=XumJfH zGJ5a@?-3_)x1|l(9brCN9e9_cDtT*pm@bBgYQuQ}kD1RMpX;8xKF@vj+q~xk-C{1f z&kZoR?d)x1GLZf6szUb79o2z%KSazox#wfEOXKDn;@uargDj=DA`ii?+aq2Uy&O#+ zf5nRw&^#Ayv=Wk>PhZ$-KZrguJsj91E16rMZwp!^nj`}=xE7(d?`&b5NGkYO=tj>E zK`y8KDql9d1i1Zs=|nw|!?O-^7mV_?s}jNJ?RXR4GTWf1GZ7C<{WC^?#2N~D@80$( zg>7Hw>b8&pTg1`eAm59Q1KNJtfFt0+{@y+!<9W`k1;9aubt7t2_gu%gc8pE^j(TSB zvg3u^t~w6AIL#LtTRcT`{0o$grJ5v7y>fgukir--gA)S;NKm!!;6Q;cX;*f{bJ>==z<(zm`|G4JZ9Oooof8ltBjsHr)4=k1BU*;P+cyxtZcpA`CdqmD}1S^oFv>tb|X&p*%W zt`Qhh%zapgvChEh0(Cx2HyC)j%TNVqc(&HlK|a%HmgtCQI_kP6ocK8{RsejYKLp-{ zQbNSUT}n6u&<-+Lzy9UDrssp*>Q{a>B~~G3O1A75pt7@ zUkwh(T-NJ69%48!pYgZ1;sT{iI#-K{ckPYP zO)YDQOq@y`%~o-EmV_zqss<72TpWFUCfhx(;2NeR zJ9Va5EOnMZ=g!bW_ZDnOv;4vvzaR6vgl-vL;sPOzWxI&VAaxst-XvjTJ;5+lAbXO8 z8(FZ*-p>X`Osmv_eHIWZ;wy!Uc{fQi-l(bliV%T(CIdUP?wW`gx%2S}d@h#XLQ{6>3DPpZC2+_b@q$@HN z{`qa?6wQI>hqVdzlAQB~2$W@jSu(B#Wbx&Q21O0d;LyX|(EWP-51EPbF+-*uHolhD z-mCeVh(=1%PN;wR_uCk^DuIe(n7MiaZpcc(!`w{IcPZafO23X?*t6F!Z(8XNd{Or2GSb4Dzp$9f}) zo+Zm@IZF{1>&m~l?Kbca+J`dhwE`omVa ziBq&ILClKcC3|D(GSMgvb)4z8>eSjx=$4=258ShvKY)ez&}m~M(#i~BcjinPF%9^8 z)^j239~T8kM93x;>WlD@+!+9|^X8849%w5Q-Ecu&+d;1xZ~dpY0|#L?TG*d}6~Nzm zoHU9p4G=sIg*k~t>n0jEaf;7PT95YT?=%IVy^Z$1lin~8AqS;Ec@}Z@e)5zk`69$X z*lTZ~Z!a&zTei)RO;!#BZ$b%9y7&7M1EwYMgSHVf~GoH>2>mSLZ^*UN0cg*)Pfd*{V2P=EpG)79vNC~+M~ZYvXF zkA2Uh3?+OOhK6ByvNF4~hwgS)6j=IUzyq4)NG`OPSgSAzVl)8g`>;ZGomM9i?qCGM zK}Y;GeIM*|AfHVa)RoPp=Ywi~Chxn~UdzOfE1VS|B38bQmG2>uB|zN)K!5_;2Q34| zaZoF0t8L7WoEeX?*g{eqqG2e+qGdxItgAP+)6_ckbAX@fx;S?xrXzeBIdf#A=XHqw zNrEiBx_mGeo(U|xU{byjh=@_1-tXeL*Uv7iiTFcXzKPps!!~;|v@xrEN5$~kk-sPE zE$DcG@2H^7F&&TxaVdTELOC)$5#utDK`*2fjCG7CCX=e0_S6A`x9A4CAKSLFN_|j7 zvd0jp$ELO7@)wCPE@*)9M)7zi+lKM6RQP=;%P|sK!CG$1g=Uq0oS5v~tmp4)U~eXA zb?UU8m}6fU5ydA#?u>*a$p6gDh2WcBecE2nIsu5pcUUKr{Fl1AVkMOUK>*u$?;hJy zR>Tb5(51=a$&idl^ua6OJX8n0cc9c~^J@W~W_m1v{n;$SbDx!iOY(BY+Pbh2pTr|O zX7<2&%4*75V94grc)=dIwWOL^?gv0sEHQ&8kK+8JndiMrkB?PAxcv&2wu4B(_$i-} zelx-mV4SxSMk>4WeEs}{HS38_=Jo9R$V#wUD2%3=RYL1;K0m)l0wE(kk|<<%@F2!9> z1-GoAlj)^u91BV!gTvRez@>|>)GK&(6b(9KGrEn=rT-d%18x?8&51C=Y~)vyVE2(n z!T~4P(T@VQnsS=No{{T`rUGvbBz*3 zsx8k3Re2yIlU6RlpJ_HVI4GmFWw;vO_1@^0DXW&#qF8*-93JkEX zes;V$j>^YsW~t$9^kE}*DnJWUb}EN$%>X(UXel{O%pBL`vEH2lgew~BReY5GKW=(k zc82?VPq|d}jK>E;&thlX@dCJ9+RqVr0y3=~N9JQX8(~3JKC*DU#)5yk=T9y}8K=bS zT9SOs&JQcMl!EB=~w{YKI?&hHcU)lD_VPzG?f zZ=6B~qh$KizWE&82ah<{ZaW~T+%DDsq#KVa)R#F%wOF<6^OlPCBE3*WSUC~&K=8g# z-cWNtokON5v{KxIF0lw8%FNf>iT2U0Gy6%m#_lv-!WMm9fmy3Iv2=Un3P_ic9sVdB~Xs2)UUZ)SpXk=UZvQV^5+5< zBwaHYVmCm4ssv3s)c+55^!X8f#o{XeV>O_f!q!v}IEY#~EHtzfSt;$Prr4q3rz2tz zi7AWim_Cht`Vj{lk}_f8c==`)#=njkQ}X}-KnMOV-z$q@^2T^X$lm3$w2Bdo3?9I~ zw&`aA{PAU}jd%oe4ym633_s}16Wr$Wfm%%!@9=YN1=W+P^nnS$}CQw6@SJnMwh@cHfyc@6O- zH?fa?@^{p;J+aos4{BApDZ78IT`M$o?52i9WY1kT>Y+*_t3nLs#NiyUH@Cplxw`ea zR*mT41K4gd@HEJ|!>cRLZAF%q;+Dp?W}cr|HQCOulwTTn*YfO9u5c3HS)FpcOy8JF zJo@C7f~%sOT^#2P1R6_dQZ9gWV{X6+z?w_a3M-g}eP zOXO=lx)XSp+;xJG3U;ySha(sC`?S5JK1QMfcEUg$`jkp^uhf4EAj#xwGE>I%lxV%t zri@+Dn17VQZ6LWbFM)mA!Jr8vUx1Shk+D2Rg;V|RHqN?a=N+Yu=8NxNq$|#R@reA z3~DQ{E;y!qq`z)+S)|94fmQdTrXi}qIMlnm^$HvW%s`k@ZcN#wQ3DuJ zYgV3yi$^SLv8~U zBd+4zPrJkiMBNSz+3#Kbv~sEZ_TInUqJx$60~V}nMXEwKz!*AxTE`F@gcQ-D)SePh z4MSWT+&VZym0!~e}q`0Mn2$|K|-`i2O1}VDs+QemlQm8QW?D_65+%O*ILAC zmZ^x(W2MO61kh>{KxfKkQuDF(n{m$2oKmx?(a*-?tK!pha%Oq&s#@|P6~=(&MuGwW zjlfKo=iS-lCz6X&b2n}1UG%FyZEWH<8aD`LY185WZ}4k*b3mb6lx$~`XzOkkfmhR; zotWpCO1F!7q9#1|1qf)v+;TsbCiX?BnZaaJq?Bo)if|bz^4a}6!m*|JTj_(S{o$#{ zD9m3iS%?M*_@~jI0v#zoyu29aN%m#$jTiL#wSDA%CNP52G{&D)zmqhPP7QRrMS^cj zZF}v^S-$+ITuUKbqL!(?we$n`rizsWN46P}eg%5Os*MZJWn^_gA-dNxzv1o>CyqYZ zhZ^ruuG`_`Ri-Renx*Df@3k(dwquN|k=X8#_a+l3EH*~cYZPo_$_>en%$QmZ zA}gmoE`8|7*?T41xUglkj%#-41b?P>+v&^IU>b|oVus|nW4kQd>;S&n0_&9(GW<)U*$@gMFC3{GPsCZRu z`x0WIdE$7qR-O|d7tLgYe`2CYwDPm)x1ocFH|Z0Y+CrjjaW3(-aAy#kGli!N^C&K} z=EjC6tk!$hwQABPk2rC}977x*)yML~d*b^>>IYWH_ZNX)1L#1c4wZZy^dGJD ziivma>NbDk<&bUq;bNR1-yN6C8Mn04)>GZv(1S#4a!11f?P@pb(cYx? zusxK$Gr?i(@lh0yAOttzIWAp#$+ z2$}da?0d~ks`xvX8bvu6Shn6h=}J9}0sUs_|CXYyOvg1a(%H8i^m6>4rO#>%D@1l5 zI_JNInvJ&nfPejO^@4m0T6!+nzeusX`j2#3CS4nxbk*RUxqdUKq?(&mybg~S-=Tlg z?}?3@}tP)fkV3+z`+|%-t)`t-EcZ zW+wn}MI-IGEA8(HMUI+DEXXjn#IZ->-)g~DW<&wnUSGTf^FSQy?H=CVmiRo04|~2z z8|rPF-zFRo$4O?!`uy$+)CXxS$@I?libWs||7`*^U~nBC5GZUwu&zQEk~wi~2BT~w zP|tW`y97xlURnNCdS1axdV*OnINpl}2ZLwMIdYD>g_*s;1s0wcGmRJSxp|0<-4e8W z(5w-}I?002lhW0PeI+8JAmE#%2}*>5 zQ*Cjjom!*jDByo7C)$ApLmB*z2urw8MiH=LDWJWIA*Dva!Gj$8F~?7u2#uYuICRqqcOAA;AxY zI7a0gBc$fY;wz1|y43}fGbtriuO&z!aNBF@(IN*qd;B@cTnZy*KQLqOS{txXcsYoU zj|6jVNBpqS*PK;viCiw+jy+VshxPsRAR_xk3`J^%EHRU_^KQ4ip+k*`53!oOfI z)0@s@Mh4(Nw?Bzz?~arBI~I`{fUzf!lcE2oGC5TUA0L)*9tUEv!Mrjixzs{t@1h%G@FAerai}`0j<&7~MtDXG z$@BnH4Rr$}r{!$EK+rY&3fg2@Xsw?Wbwyp|RB>rRUhrxU|DdoK--t!kw?gS-0kvIeXo2Z^`MkH-8^44?gr^(-K{P%6>Z2X%9jG!hd24}yRlv!u@7Vy+| zRiw)O_VD5UG#^y=!Ry*W7={+88RE_cKpP8H$#HDetOG&L`)+dPDv!ZN=ONF*#Jdg9 z@ec#zX8VhXGEb1#2Q~)CyS>ozwt~+N%mqQ@p4ya8u_Ns-onsf)veq$#9URkcs@;is z8n08Wwc|ig+SR;NeyM`?;&c`z$E8yz8_E+@Aviu6d*u?pz+W76G`IydTq>LQZd+nT zO{9BA0B!XwAVj1ylN)ak@9FOP*P#QMZze=e2N=CgPr%THMjiEn6A&+y__Kto^PnWaUnX`Gl*I&x^vCX6q< z-OErjtU(D}vA7qan|`|nBc&7BEUJ1^$@Q)#kKU`T`R_R1)7~ZAqc!=)`bYR(b7F@> z(vWa&UT1Jv@EBnfHyAL(pRev_%>M=-JnB#C00k7ogZItwuY$8}%n3rSizy-&@pWj= z>UlpEdj$E-@obg(qu;wuDOp`kbv*pA*D<{&4b*WSYRNte%AY`O`X=#&Q9kpyI9L!? z@(Rx-I2AL0p9^jgSc(}9;?#3WL=oJ3jF~rx_ckQt#;JERb-N0pjs;G)x+tz}Q*zobIxKhOgGAnyXm-o1Q2FR} zd4C^V*|U2LB)DzMfxw)kl=mo`UpDrVEvwV>Q$7Gs!Og{%E{g zA||J6y%YMb-P9t72}m$GrufWF^6yWiF^LO+R0WWN`G#W?7ojnJ@mjBSk-*P=hT~O+ ztQ0vrD*Y2;5%tDc=@qO6tcv-<8}IrRz+Q zEM%&Ca_ll04gQ7(n`|Nf;=I5UqEdvnY6=wX7oU;O9xhk&t25^*SJ%%$y9`o;# zO|*QjIOGT*)k%cHL`+G8QO8tlDlH^mw(J7lc;45AiQx*8Pgn;MzM5kb=K_Zj=F=qt z#sR5%&gbZ^Vcc?_*3I#7WnTiVywh-TVL zj$^Ey(7;VAo8)t_Z*63w9MQqch@fP#e&_G)qyZB5R@sK#b&2*1X?#9)E=y=3EUeaQ zTqQ)ue3fYQf<1qdGZrz!&?VB9T0~&U$G%MAYbx8dHuBw!*iWCfwr^rItkmwIH01a) z-07nyrRL)fDP8r1)Z@O%C1Uu)3|OJ(I@T_{KbSgdjmlbd9e*#seEnBX!Qovv9OIczNnM>X3F#YUkiZ@c%fp=7Qh zuiI0U)?g5trCmw?t}<5(wcE-+CdiHC|y%5u4IvkN?B_-L>ylmZl2TH^@ zD$U7m8}uD&UsPKvD{M)fS2}N#P1pI{9{9W&jhwGANL9|Dr3ey&9SkNhBZPDUYo!g9 zJugn|yrZ&K*evaf8^W&TqDqd6SKg>1!8G$}G7ZF1kqJeUuMz`vW(J59(=YW^ z7MPV;5X$m-kfKhvWXk6t*m5I>?bFAQu*#i)j$ooBfUEG%2A_~Iz$-2Psen^f+w2IO zf=Px{WKs+hv;+r`D`CBiSuM-Y=v6 z6{Qq=OjcIL#xg%m)Q$*zxG^!Y(D&+AD0PpgLnK3{PJq+TR6WA(o-{#sC#*8RpQ_Ie zXo@@mvTxk)!Dd?ok;ONpq00$MtZ;z^otaN<*W0wHim{yz)b1gV<#xVp?UdQGPi62y zPu;?hOIdiA?+bI&v%zip)--hJf0hrCb>IU|UUUl%6^Q}DAR#(ZEJhLZ35qx!`cfzy zq`Stm0bq&aXWI{lH;DV$&8V*YrI-4(*{z24tWM3u$=&M-h8i&vFojkY>QT&rV{|201gZeJx$44D+UWhBed7u&LAhPBxj06aZOxDWy(s7#sC9QvgO{8l?JaoF z3aDu%P%WumRFM-!E|VsH$KAvIX1;zMs4SL^oBKswt}EWk8%U@nkwe1IAo#^{H^~|* z6G0Hvqr7DE=LP8_fGLBeiz@9zNV~QlZCv%&2^^JO4}8ggBjXEVhc9@?U^7)HcJR0YXbr4}Sg%njDI6v<{JWX-5F}*+(FZa~4*hdLBpC;rTi5##}-s4{<3li7kRnWx$-?$TDC6)CYpOT2P3b^*x^B|NYxee0k0ngCRgmw$V}E=C0-Wfh!>VVRz#%hvd^1 zt3jkYLyLZ?hkKx?8}y4-7ul`}jx_!On#*t#Ah@f+jJmx=4_Zrw(vZ@_3K^ck&j*?^ z?-d(?<#U3hsHG^jubTyaMF#dWL0<(y3M?nlIE%L>sH7&8n#xShNNdX_V zeHLJ0n94~3pB$0=;5jbX&9@P|aGOYtOFlE3)0(O6$S_oRNN#hHy~msMD*9MCN(ked z8Tjg_(mi5LQqDkD(G<7)rL!bDdy!uPvt{I?de|(x!K=hlr{&lJx;Boy7#S;+#8ZJ3 z9}#3qmqf+-hb*tM!MEQS#5kCnM4$Y1N+}kQxG}ex&Wyb(tTeO&^|3CP;2rKX;)U7a z01H9oJS!VP`sMK$f-EYYEnnhD$b{9L>%(^5v5r<|Reh8mne zv|r8bqgKMCR7f8TsznLayhqh;ufGEtwBQTO{&OI<|H$ zz)-#=Vm{T`haRf{2ta@H)npW13m9I;`vxfZ$3&x}ig4?!#v8+kTu8bAH~QMq%TuN#Gf?fV7l zV(({&gEN;_`zDE!Hh46{_rs_6q~l_8){BK({h{@El2f8=l-qfVa)ez-vqsg5?~Ns# z37h>ywYO)|P-UT$@xeB(NWeIf0++DXS1u#ru`LbU6R#a1aGZSQQ+1mz>$V2jsquWD zJWjUG6KQ(}|5fB~#5LUVhvT*yA+D4MnEFk2o};h7n8$^P`0k&ThG*Y9AqJlv#YKv& zDACw-2uAm!QAc@cc9<(?>p&Pm*yFC(awY(g=5h6lOP3fF$kAjPdMyL^4RTGaTDK)O zib`V&bWzmJXoQfhYuUmTYlqoTMsu|_&HQW*GAjM`k_RW}M`9ly?cC{Z`bs;SL%CU4 z1cBiN{J4l7ktR}rxWIo}w0twZHs6NiwqF1my9$7q_SZH8y8#mIhK)>bE%u%*{OMx` z0VlDMz^C2nAr37g#Ukg=mzFfR13t{$4c3OoECB7nVzG2KN$P=#nAJ_jd1y_89C6yx zsE37GTt_~~Hb(W>#$;=84eX5|S(mv9flGiB-q({7atewKAS_oP7S^%As{NNMWcliAa zd5s$1fhpiRcQE!ygUi31N2GZ;m`MjH%+Fn1jYl%q&mhq;mtZGa6D+(Tkul*96d+hO3Rj7tawdtx zH}J!&BP;@B#3MmTjy9-2I8XHO>D|XHMHQir`6geB$Iiq&@a6|!NE>uF@$)<0w2+Ds zha(=!Zbxi3RT)MKcHylkOInkzy@}Q=o#(H#8?jmW86ep}+WZnv+wdYlpu_q-l0^`) z-u45sRLj4%S5H+j3e)N#)f4+tc?!kFFehla?9fi?Tt<{CA5053!EH6 zEo@Bj3sNMkn2pKVbwpk*IHpVqc(=9EQf+x(qd8#* zU9PNDsD>3S48P2Leb05rL1)I`27*{kfCpYau%bLRE3naFcpL!~1ULrd))h7olQD_a zt(_jn&!B7+3dqW8$^8RdNf0o9aQ17Kjf!4x>zras+A(YZs6XJms?+-S9DSud@xxt|@c{iyPMOI|bd zxGGd_9l@0e>M3bWQAW#032U+^FdN@VUVIbD!MOEaNWwfDzzj?kfF9QW)C5yM`WGpE zPCUQ4H26u#coq!W-Q29NRX8_%k+jD^;yqnllo1xbVZnxKN;b0d_LgQROr66{p{H== zv_n0&x6g|_c}H<)4|!!MHV`9ajV4})St{E5um*t%KN^zJ#Sd}-X9WzW0w>hX$4f1)ft@UUt?-hc=p25D6T<&hP}fOpoQuF6#A_?L?fF*TqxWJ)RKZnF7Jrk1mNkFd|Xi*@sYZNzp9F0%V2y=v)$+W?C*26Pn z(>W1#2F~B!*o^bIg0~;bbk?r5M)l;P1|tzAQq}r?1~_!gb~Y8VFdLc=XA-jqy2s4ix$%r){uSpokD| z?-(B-R6%G$6Mn_}j*iZFt=A=!u0Hh19Q0VYS~WBDpuB4t zz7c?+impG&^Q3MC|z$A92qI zfi(k3VM%>76z{1zDtrtvp1MDLtMQ7!y5}qo%5veja%j&UL*vkkXeuUo^W$e67b)M= zc+)+7tlrYJ6&mGaf-@*_^NWaz-c{xdSSn{I8N2)9YgSiMK1n%%48%s5%*3S5yxETk zG%LRgLefnSubx;MbM;j{?5?_Zi%_hz!s6yP zCF3)$*t)<|)d;%tGOk3U1<*>KR>Yu2#skua6g7s}7`P@dBwvaqqg&Vg1?tu=mn?#% zzMB!+K6%4xxD)uQ6v3-Cd2bs8Hd^pwf#ObL*rQKSs7HS}w+oPLsVS?-MDiRpV3t2p zW8-D6YUksniFkxfK}a~3{g*Y5aa&BsT___N5K0%k-dIz{L78F23bzq=En3VAkJ!jI zz70Spj1SD8z`gk}J#@ta@KK&vR{CdT`RZ%fD6?M*3jRQ$2DexE(+>`*0L#c?Sh7j4 z7$=IHUW1gh#(c~KtPi2J`OuI(jlrd>sCIwEgFaEzx!qy4cKH)8j$~>Zqv(_41=Qz{ zc&#GSS?l;-G{;vzEjO@`=Ek=2zftWHA()eQDwma!2`2wSvKIrLVZ9!davf2$S-pDO zu2C2=Dawd{cFZ+s>?*~g8zdG@ul)hCa?%|OdHL=;{R#q&O$?aVh7^kF{hInc1(=hJid@0*QcMAfCT%CPR~e;$x^NRv(&>||0`QgMk=^!cB9dLp?qs*1$r|H3RvScA<#tgo5GB0Hld|yNDATncQ+j-> z`6YNt707R;I;^U1xOqlx>~+~S{a|AHzgK>-`PD$)@LA-EPbs8>clrww{Wm<3M}{y(RW#4b*qRWG`yHMBpEC5*;s)} zs?ls^7|&1og*~wRY%mhNPmb?giSLgfgu#prk7Nvw${22(eGDjKR_en{!@vaDT*#9S~t(7(YkmVKJ|7qSu1}XL$eyY+1WMNt0k}a;z*Ji z*4tJ>4^2*>GM$#eD$oEAy!cNjBg+YmHXREM8M_C)yo(Dh|HUQudjY&D){xu(f)L>;l#7>iyrDr7p@d#(fsmGYbe+=O|}S0?^0 zVU(*!)0T9ntaax|NDui^z+G>%t^5|81@`KtjvJ!@)0T1e(uA zSiqaJ6>48wLRrvTQ@NM>1xN~70&?2``lr+TIE>o!KA_}O0yXF8!0Qa2TTJAI*l?=P z899^_vq3OAC%$FMzj0AnXgfL6Nm)C_n8Y3!MC&8|W*`8t0GVhRFU9t+o(Mk}R$XJT zr-~I{33G9=hFBk)EEP9|8*t(Jh(dH&v8a2DRlJX&*pxKaLBcGY{$3EwnmMSz^+MAS zw(76Pj@e2(q54|Lx%F^Ei6^X8t%lenYY8O|D^eTq)%cq9lE^>%t$SoTZ2RI~Z<1f1 zP^>8pNkY@8p)~cBp)v_zqa9SlTUc{M-43R#iau?~Ooi8^(n1;x)E{tw@PyC*^8WQuuX+&&VreUP$ zcquoSbB{kFZa=-d;B<5C&yt|^6yidlvhUg@5}#zZX_>sT#~mI!AnzK-V_=1q>)?oF zpq(v^?>GOL`m+4)>)q+*+1%7;;Jd zzaEZ~nPQ!j?&e*wXAvN8#BwY~X_X1cCPF=G!sb2)}zC_n6*$-G> z$;dU=leEmDDju_fNn(~U0p~Q}ExjvdQ#Un6feX4#hb4fP-c7&l$KF?Z_(vr1amjZC z<&3ste*g=CXXzFka2UpU1v12E%Sw&5XD0?K-PjFlsXm#w5y$53bMjdN$sTmUl(rat zF&cv&eug$0-Vj_$Je5WM>?tlHZ^J-CbPdleb>0(6&mP1^zpgM!Wu03X)CKMASgXC+ z-s6x;dKBce+0||dbUc~rZ}j#P28Dbc3jgQ~KGV`h zJ9sVL%Op)mlyFWWKzm*H7Sa>hr}4%;))1h#l8FsRu+PD3V!f<@yHcuC-Uze8ipkX3 z-Mc(G(TuEwGM$S(#m58kJ>gZ%GG`gm(J9{v)M%Ok%E3FtDpnt4EE1bQKdh%!0^S0q zZ_5JVyzNCir~NIr%Y zq-`-ns+p+t_W7Mv=XrLR0>2)!_Q>kdFj3m&jUs97=6#Z*(CHUuqV_`6Sc-CLi-=E! zxCpj@mw&)_^0ve<2d#Xr5n0kRPcnM#gk=oo&!rD3=hT)NxCuuIJdVB{xZSsiU((BJ z3M^R)RwfTn2BHS)2B-r7iLpx+RI$3e)?oyOAr+gT@oUqNbc{F9n|Jn4Awoagcaz)kbLkTT=Y%;c04}@Y~FG@I?xi!S< z|23L){PhgMn6J8pOp;L^YlG@Iv}0 z6jF_MLsxK1&`X+bXCQZ{R;|&J_h|YiCIUcNpwiO?Y{BKHekyi}V&0-zcXkF1FCp$pKu?Xq5tx7AsmgSa=U|M;5?>`_Vwtg?@-5l;A|eKl0TfMj zz?WV#fd{wKG7?{LB*tm`&`G+@t9>{83p!tRV~1$N3*t649!bv=1Lz!Hm7LOWNF+O= z>G&6WAY{-F`=I@{izOzET8N{=6iNImTh2&#zY~(;-x}8lgQ7za<0GL+`SCDPoN?ap zIBbvE4~NQ|qW=)@v1zlNwR^T>ns1DRfCuE9aR{Z&6E2BZ2k))C*TBYj$}{NEuyagG zI3Z=vX}WnnQHN%EqJE*{F1!R^m5~ZSiUJ4VSf?EwhM8DY7;y1QUTc<2wZVz#&*d9r zezj>bCw9PbD-$4Gw+``)AZt8~DEP(^4&}>(#SXcEKO#l{E$}KeQxnQ!glIcWQ(;ZO zpu*=X7GF#!yw==@zS6AKNk$fnp>`Lt9>1}Gg06nf2#YLj=cJ+5j0h!B$z?%x&KpCW zUyN8FNKGat5*+)a;PnM6)ndgt4LEP&hG}ZEeaor9+nIFS>{#e)X!*i9)Q*1>M?;Ox z@hrfpQeP@4!ek1Q4doy4!xCkzG6dD4UWr*;Ypcvkpn3Tie`|&z=gW0M01e^LMP~e zP4M9<_i>I8q5hE=fHIh}NM1O|FrdCRH(Olk+Ks~! zH=ZfM%@MQ&r4uny_|@tH9%g~f5$cpL`@#GI;v-HgUf+`B|@h@*?ESd$(s(q@jW+T^V2H1QRH@OqLE zFD~pyzM}=qYO;aNdfR4~+CzVfDZ%ptIalV*3>)DrF+4@@oH}RUM0@$@HlS?H!74Ox zKt5fl0jOFF&JnGu&}JW&INMy#H%lJ(-QKxSx8(6hSvPC?(2mki2c|BUcA+ry=Ow?N zT(I>G_N>!3|C^fuRw0x~Qgs%}b0!7yo&~7+yp4PItSpWz$Lu_lVYuE^s~uaHyo{g} zmj}sxIcLFFHl?I;vw#6D6|SBc z(91G&D|=o_G9r^xp2;Vq@LQvMAMfO2giCFMY^UwYSnj&7J+I{6XD4bQrCfPYAcLdB zw!oKb3k#Gq+6)x%K$wu1*Mmupdg2L1BORN8-AHM}*D5Zjm~hHT0V?HX;zmX~he{J+*eR9jNHTHjODCrJE5o;|nKN1XlHoTS6_ zMi(RGJnb#-M@Vb;sSz|*E~+uwHybza0HG>Zh%7lJ=Yp}|U&`;-U*|^<^9L=%W%uca zxB~ekX{5Gan4OzNVYXczFo3D5pyN~!>HoJC7K@m<#!+@(P6~tExXgC<5u4&-z;-zd@;;sxzb|&y*&gv6w0z2 z;?GX>zfs&)trz26WOLh5-?yYzhygvc=OW$$X-cSZKZTso#kv`QU7liTvN~d|5M(a^ zSTGR)!Zw%#hi1EB`#{NFo8%XvB z?urXN{6HU#Ty&AbY`~cuSxBuSqTUF#xP`crcM?_I`if;|P`f?%M+6L15}^iSjP{*M&}jB@^gKi399M4F^X%MQB zZxxsg_|yP9pDx1o`z%V3bOf>;eE@naI^qOO$Pk#$<})o??qVTO=z-A9Gs}h%q90^- zYpe`ZTW(}wEpQSV9AyH2^<$a*OtR^NP!n(&r*Rs#5b)lsY(Yju*W+TAS%gB;FEwX- zGAtvN+ydTCutP08 zD?kj^=XQb)YD}Cch=g%TmdpnI56Oox(@=9&$AxVq7R z7qrTL4ld$sL8g@ow&44CJ(VDLyPZN!=zZ3;uk5e_)(BH#s8O977FNe5u6Vr-?Cf>;7)jYP;&62gu$MkL9cX?gRn^5+2_vLNFtpo5mfA_O`SC(5%MUoQqT>ojhPPRmVus~lYXW^|IZi=m6J1Rcf~maGj7ciio!*zr*OLf*x^ z57D8zYj(Rwy`Uo|YnDBCPz9>RUxl)hjC)O{XuPWm(k;?iA?eqCD0i=(d&(wB!IBknw~DhJ$;Rd8#3d zZSisUu9rR!*a-5fJ3D-8>cXPNfF1d+@O#_G;GG}fucx9m*w$thl>f?per)_7OO!Q8 z)09o)zB`157!k4=BeD^@?V}p%mWwt3K>%nU0FWKxx{*wv3qTM67zzLYTz4Y=CWN?{ zu7o_2TK{*cTqu6IvRT1t%?|7~X|Mmil+pe|yeXDYjH19zpX9q64Q(F-(g3@@2PsTC zgs01R-4N#(5bDdfv8B`TYF=|J!t~$1oNZ{Xuvvn9j#Z93M#8v;siAsDsM0{x{1ej% z*vc^m_p=0gDw;qmRnF6KN_I{#`occgRD1DhNm2i{=)B|YiL$8P4xn9#m|XE#q+#tA z?MCAHY}N7bIDq*J;n4Fk<-K78#T08+@RjYwOFs)-;4F3Un?V8xKeXGp<2$t#9F*uT zcOpeD9I>&b2^sVm8a~G`U&w7$2tU;M8Y+#A?0tpMuzpcvx9G`(Ke)%bmQI)jjX<76SrUT7m9T1j4(DXV zA{cbirxs-4$Z#cxPww%U)>ZJhQcc-5+-_I=BPycXt( z>Tq!`^lGA|4D)`sG9?oVk))MovEf$85Cr(`N*U{JnXj^s`{ybqzgC5{nNV_Q!k1Mj z#Dqt5Dl_9orMk_)^+WjnAC-aQcw`N4O-c3$PVcDwlqLF$?~%q%J!^DXo%TCz zbE~@c>wRRvDd+GJ76OElPrn|x5hCVkq8o4O!j_LQji?uWYegAI&jTIiu3C-J3Mb8j z*EF)$yVm4vC7-kml%2Cv!ka>gxwFpMByOoHsLvWF%7C)Uu5_ERfbDK5A~H&3_8-Dc zs*bM59jb2>x>d!B z{xzPhG&w+~W=`GcV&>JA>-a6$9g7y|a2d`H6tWL>9i4Q7w=}u7<_?Sq1g3#O%9cd1 z0mPWa!fq)Y%Qvj9_^tSjaW85Q>R74rymH9$!=eQov41#UAy;*zI8E!bQEIs12@gT+9Y!*tS|3EX8*aSW*8S zJS(lDdPPK2-sU&QIuLe+G?c$f`XxdwLV}>xDD9&$Zg{KuU6$h3O!&3iC4yQxXESBa zIjGD^wAl6XLA}^UFU*3#Z^5zn4lC(^Pj-E2FbW*;t`&DI#$)MZx>iKH=aZ8ObHlt^ zvm3fwQEgzAsgY)f%Ekhi0bUB}te?_zlJjMt#9TzqEt*4eF~&d2C}h%+1Cp(i>Y{Xi ziP2#qfj~mMTE5_=8PafWpD)8}&9MO)ng7{jMBUmn%fTc)=m2oA3Bb@i5YYFDil&UF ze9FRFc$}Vb-V{Zw2N52}|B!{>@h(4Ib~%TgM8}!yw1Dupl1g1Eo^VV&^{{yqRrDt3 zYXPKJtJ5h}CPN3E;E}RRrkAoZdf0qT=F!>b*muC%e)8tgXIx)S=?kO_!VQI80H|{hqqDW{ z_Cel0WFk<#%yx5`}9mEkeWGa^?;F66BuJ06l5)G!9q>0KoLnJ&m?+wOm2| zoqWrfvg0tVFkbQ@2x!UZno8zc4+6PRQ+tx$*`F^htZJzc&8xP^es`%iHM`^B&_k0MbzhS$m1fH!hpCG0B87T*K>5rlHlvR{R4@qj z=rykA(#MGqeFv%lVVzI_p2Im@!~ok-{v|bjy&C3HxM0F4wTN;p-Eel*Nuq;O!r<34 zZ(WsvP`B)O6{DOV($pXuhl~cNrPA-`PR!$G%x2;-dSH!K06w&H|Gy&6t-zB-KU-;R>o%nsZO=9 zP&Zns31jB#qYOOi7E^;paZ{n}&xi6Kc47hQXUenV0{^h|iq98*FAEHR0+2)ce0#kR zgDPC+8e+4~MtCg&W2oyzeh4euNMpyrc>Esr#p;!81ldwT1ndXcP|$s$kkKXEhj?|m z0+7yy7V<%W?i|Nx07Kh@m5>4n1GLu^8vEU67^q>szQJ6F;cF(Q+#FbZac_{ra3Ft z{54k;>K0ZE49+WI@9>*pbI022dp4t`d)>iBuv9AyzomF))jV+ULxCwP-HPSqzodUL zWCUN9%i58_8BEF?pTfukalBp1i~kJzzzC$k^f)N}N#uNyv2X9CaO$X8gm<(ufy`vG zgqg8Y?30b@_S6&$IAdE;f^_LMJ7rm}EV67xb$ij!%dxZ?=qHA0igjfI+EdIZ*OuN2 z4$rE7$}AKwFV1?5+g!3J$A*H<QuZMnD=|$JJ(IY-4@NeYS&i(Xu@BJrApEYMsK1Ey$UV!FdIE&+=gP3>G7?pCCQA`GNGDi`CFDfA1@;w| zW;7uQcIkj!2jfyNSQhZ>nc?C`&zYCB(vQZ;e!jI3Z-++RY1tAnw^EjNSbD0OAf9Ld z=k+53A!C^ch=wuNiI+lpo97N#KDc8ifC3CN=!(h~jjG@Nix%J84EPk*sJ>b@1O<1s zQA2xEe}#@wg5ReWB(8*2dKq{nf%?E&7~!3z`iV%f34AhmE^0)N^2(%P?otXGR+4SK zdA&P$RA~}pSN{9%(uHN-(bY}?+K7zgWYabYuI}W;mZ(VVv?}d$qe#k-4~Z7f1;9iU zRHc99%vRv$Nm-vka#te^reSOVzf5#5=6jt4TNENN?N2-DZBqcqYPMTLpl}caqGCNh zo!haq_vfzCxxi9NrPV%8!K z?Ty>Tt)Q{KV9$h9Sqk_!>GW`{3%#ILLo;LbJ@Y_+D>Gw<;V`fk=x-?l0)mxb9{d-c zGq}uo1<;9ic-pfJuZ0q~n@1l5?6K*lxC}-|_LUIucmhRS%QyNGN3h*1Eo4+MEB>%t zn>TcNxH)482#!1pF}6S@GVUNiD^w8FTw09iNdtlO_?Fbi?Q@1f4VbLMY*xG&bNSYV zG;*&ohuNlAdGgcF%h`nINkZ})sOe2mM{_23#65tQ?B5V%C1AOmRp=)E%}6^yF5ioK zoSrW}1@Rd>_Ayg7bz`Il-tMrQ|K1um_m<$g@iL(}*9+3|ZHyCJ_qh#p!$EgKlS5Ms z(39-uu$MK)v+Z7|VtS?G&OpT-8ZUhh7kDkv%U$>}IH*3tGFKb?XrAz%{IG@5FszeA zb^9E15qbN03|3&Dk*mWURz~7>RT`S{YVB_qPhbP}!fPe^BOZZ~R5;2*@D?PsSRoVz z8*TuUzCWzMvD<3$!LFFtm9_M;QC~CZzb=j|S-1;Zi$htvp|SCupWhG^baU(ho4kB4 zSpuFOnL1dXyiK376s5TmVyoOioN+PqszH=`(+qq0`S zIl7GyQ6tpZ{RiWt3WD#2mBFTH5*d;2u8AiFVUiV^gF z#RQ=?jE@20nvMk9z|KUoYRJtUu%0KP)>Ub0hPUDMqc*1ra<**APJQ%=Qbir^r`opT z$iOyWgMF+W(j+EX^g9ZJ&Nu4~2~|cuRM_uqR`YwQ9(WOg_|>OK4hHQQ(>*6Nuz-{j zuHEn&%AV_t0+VJ4kY1*awyV04v5%ftZp2dYx}1&-Ss`jobS{s?HU>I(+0=QeK|J7ud)F0<5P zYGkl-?;*wDOB9aTI`+DGj}#cJPHAh^bgKTzS#h(gjO)ZF6XG2*3rIhq_}*CwHP~!Q z0pdvi#Eej2v@Q@=nL>_VDXO!O)Ba3DC9r5!$6vg#0XDp4GKi#futd;&P?J(&L%&&L+^(hq$!hlJjd6{ z9@kzvqSsPYvW3UqcD72%RxHB=2h6uh#i$e~wv9?LBTZy;^`H@PAdnFe;`;##I?bd1 zx`3G5aX4nQetYzJNr9!_Z>msa9nbSD=W%`cMF7U#kEIwG)Pg@q?azDS+H*z3*xWLm zd-f;@=-&XS#-ZF#7w#=T|K~=B6Nc96eh2e*GqU7#Wes+hcfxrV9mg;Z zjZ{PS2CL+#zafD7m)F;i(|~H1zrRtT)TFbx5qzT=Nmv7{dOYz_FUuRJE!T z)Rjj|O@mIFZyQO_1Lza^9h(bjKQ!qEFUXl#hr(FAAKDQcfyy~wwBrgcI&WvJAmDi= zQV8}B#7n(9AUX_h6Mo;9FvHTvEV0jZ$DQrntP;OhQ zUfKA8?$P}4iim>5*M8un%|z9v3Uj&6|ViCM(I!N*la+oO6)H+ z5aDJmQBy)dqv7dLi2qzu-hH^nt$Y7BCA4M5KlM9p{+9eG<^C!7aogpyOE`t;fJFT{f?JhXfm}gqkg-uFXRoaV%#Y=83)RVmaVEzD7Wtl$u+DTW};eFN(0f+ zBdXtDb`0k3`HvcNGutCabL)-Tos(?*tEo>I8uY%;5hx=vNkIcBU$aYCIO$3@cf|G6 zc<$lLnZ(2v!o_jQ7Xy71DTo@jC-4l1)XQ<@hf;nrS~lkAY%r&2scF>(36;f2pTv4F z>YMH5eq{d6RByMfQPpLEkhbu}_Xft-di#%+9(2VtzSw~=glA)eDUe6zKPQHo3lT(r z+C+MIOCaGsuZ5~58<9MzxM;K3Fm8|;6&6v2o?c|va@WL0wAFPM7Md>eFK0}%K>9)8 z8H_?SE{aoKYcAC$*Z6;SU#WpaMl4Xd;w3d9`$%M|Gydjff2wIQ{4SXLf#PrH#lnyB z(`JN?ugRHLwD#vf9Z5oc!8E zVpWErvsF3%UT+&Gi!uyiGD~>FNXV&L)ySk5rC2&hko5OyUcOnJIR(EU%-MZXJL-}y!FWa@B#-H3& z+m^nEn35r3MS=?k+lrbP*Z<0)DmnjNPBceX8m-V`AokZ~(=xOM{CiTdmR5L1%REIO zGfU<+EE1r0q+PqU zPp(_oB0YhCfLk)kQ6y3l$VQ$wg~acwjH!o;3Nc+o<^<|xa7i&I<#v9$NF0TW-r`hx z_iwh2mpUQ;?)*p=B+|y{Qxwtg$0bJ6P1dF9Qht!r;{ zmMq`2ii@)Dc7sycW7kSc#c-RV>UX7w@JPbP{Q@WWj!>mavX&Da!P~1M?1D>x z-UlRb&)-CW;&zCzAcunQdp!4zmB7137u`{RHE75ox~Tk2Bp-`?@ZYlYo}v=1K4;56 zu*Xc6i})CV{VTr|8|~%5%1Rg+xUOWtNbBv`AlSom_nG9!F2N8u3(K|pc+lERuY~KY zm2rBUvZ2JPTHqDjK(PJXq|O~5;<||QCZYyr3C9y^aD;|6!x1*UNKSe=9!bnLU)oJN z^%&j;<8Ad<0uykgjmQYr2LUM-Ok$Fl!if2rfD)$iOzP2v8gMsb_b2X`*Q*@#vOsbA|TGOroKS030!zVU@ z4xs8xlY`awR-^QdEz8rdQ|kioVTc~_{Ui0BVz%vc=7(0oe#&M#CK!>j763_Q(Tj6P zoNb?%rP)=*pn-%ST2GJg%~g7P@Xo!iel2K~U3Anb!ct(DU0b+VT(W_H1{OHkWEI!% za@&&T;yc6t;_YHMYY|qO1uKzK4PQCotLr&_8k+=p2^yu8C3_3OsTn)abeT8VE=JQZ zEWcJSe5=C9vPpmIrQJ|Y-84LF=Q8xZmw#GWqQ$>2BHibUwdY$y^n5z6_YJDxs zr1s4z@O-dB*v^uyW37!vamBh&ZNr!X!A1UQSQp0Nn7%GCD9j$^{}3xW=ozlEIfN;+wqGE(bfsxwL-;rSEYE*__?x(mms;IR@w}ss4QtUrJN9@dYV!iF= zG#=@ADzc4Gn;~@~2O_vMC6P_xXgAjkv3(y_%_sZBcCY!Lt%Ho+eq*OUAO`pC*os`K zb6)lV;ki)!!?{X=1Ec{FGNlUXDG^EoHeq-}7+=Zoyfp2z_{G+^b^bs%FJpVFvJa_+ z4doOQWs^5i?B^j?RQbo@qNstZPBG{WNlHp#_8hmE+YT7*vMB2Aci)?I^vuYn-R*pH z7W0gRD>JLvhKa}&gX35~h$)Cu^bJ)50OXRYx=Vb2>0`MXpPt#i8oPMPwYCklMm)Np z)~F8#<*fpq(kqL5oh7w6;vH-~cWS7}7FSDMK{NiSKyli;WhZ7NaZivYX&&nGTPRMh zE6h<{9Q?YcB(%aApabAEzSq8!$V?XUSw0YUjieRP6`4Ar(N(65FoblIj&6FVMr3*4 zso6wx%Ju^kJNB|$(U9+I=7nvFJU~|DU*sr^cyw;35fAF~m@EQcgIAwYh}*erQQJt| zl?+LGnJURI!E>vHPTVK8j1`@Ni$<30b)$f@QgX`IBfXBRiiiNdn3oq9Z1h5P$D(tK z*(I#jVyxqzfP^TYj+pp4XQf`(V_Lyj6#C=6sOwLEujrQcFf2hSCqPL^>Ag72gD&$& z-^!w}a^Oz$1F85)MiYr*ie8{DD7=9rR-fSsjA_^ynkhzWGrWGGk)>~39xU*vha%+v z)UGW1^F~JfQ<94bXgPEJbax|j&dlSey`^8-n{iZJGl`)4jbptSo>t>D{yi(w!d}soYqORG^ccpg_^|= z9;fPi>o&_pm938)eG{?yelBZVDhQPU=GcD_{i71#l34Gt$dv73*QO9ng(I~;^EkZy zt1C_S(xfoId7D2Qzr@+zF{(!C`>1Qkr~&w_b19%W#;iQI0%S2Oe03~J38v@Q>gPo4 zntnWW0BgnWdxV#15V-{Xoo5;89v>u~L0l%vPaSuyY9J8=NPmeDu;$10L7+Ck zyiiQ~H6!g#5Xe0l{slpM<%ruX8F=OtA7qB1U(HviGRM=O2Zr@Qaa|%;4F)F$lbY!M z8Arta*8|r;QY09!P&9`iao<-*Ab;mxB&H67L8%Gt=%+*dq`SZNzj6**#wHI>hsObM0IZ3R84qx2!qdL;ZIe+8J4I%5mH$+U{iiS3nQ2)Hg=+s){`%6&<>sfNx*+x z-ifcZb507pC<_3CZc3d;TOhk zccIEg8q3V$y#9LC5w|}w%j5pu-kvx5lpRk`1xkqka-^o{tS1uSz1W6C1DN=CpJcZ&bg-2 z8HjQf(o0hr6O3Q{1*^xl-$WY|MUhh$SW3WtY$MhmtrwucJkv64fkfbUgAL*U7bIq4 zsJbpST=yE{iPVgb&TcaH5rGgN@7R7bF!TdRkDsKZ5QBkd14jxS*Cc>eqa{|;+g-L_ zbvFFM6Zniyk%F-Ah;P}IxCoE;!WXs-M3|ad(igDx6qde7sP1s<==iDv&2$uD8TKuB2)~_sdLF6DVR8i*i6PP5@p~=G==LGRT_vB9 zGzW2oC~sCtRaR-%98iVu=|5Ut1mAN{>rxy^>W=aJQ!p$*K zK~aqBa&P>-lirk2OlizoGUt`%hz@+RdZ-m@f(1zd5HJC_uTGS_yx<;I(D&17<8?|o z*b&4fQFExHcmxW9U74Of8DvSlE}JcYbJt~$+-iMUN9%XhZ8zxen(UB7gYxL2Z1=tz zMo|r0`xyukY`8;iM}`0!2~}B=KGl4ZFkubrU~v3fgfLO4tjlt{2Mqjy6!&Fo-*IUVBX|r8NVYbTJZ$6&j+4D8ryHF;Gxt$QTJ)HimB50crB&2IXrv zw-UcAjqnv-=lzG`FcZZY4UqpkcgPr}%?Cst>TV5r%Xew?BL732mO81F+o9H|i%`hJ z6_Fl>6eR_?1_zNdE|Kcox+kHlX#7<|y-=RXnD5rEX?D0?S|C{B)-1D_@ z-F7(BG$WE$+6Ke`znC`q=P@l)4p}e8sZRmzqQCp}In&Ojc6x@OAIKkp`xmeI>Heq+ zP{LCn2&2a}OK;WxU1c*i=3I=02bH&`MvF>z!}@v{yNa#9KO)?s4elQU1Orax=_yr%qc@hzJ!F!YT!r?{2$|TlFXd&a6tA({6G@mtlrtnKe!LmHav*p6# zp^<7Q6H%^?boUJ^vt8=&cwtu}6+o*?guh>fJcVj+uVzZSj#BQ38V#qR!( z|7&k7!jlN(VS*`b%9f%(jMFpL_tH1icjJw4F-6(0#}t!|!u|!gk?fyT3MQ-1Kogh- z0qTp2)%8V^WX_%7(HTvL4u2Gw_llgmPW}3BX8trV+! zyQGX>av+NWl-4T$k`|odo3n^{LN?hoo68w%N`0!lsqNVB=_MHesAGJLoWvNU)9T@q zuqs?I@~JsNh6+o%Zjouh=)Wr8()v&rYLOKisn$8iyg}OmB5^cf$!}!v68e_znW94IU@CQ;T-DvDDuwb=%JMP(Uu>`5uYFI zU&pRt_{srw7a11=Oz+JC_`$sv?wd4AM*3|Iql*H|v%!EutkRHXL9OOqmn2yXkf_gM zz}_cb7b1yAB==_u7W1iK1l`sANkeQ%M1~13zJnRpR+-dJ;dNik21fhMi{Z=CdmmXPvGDzQ6+y01GNnZ)R73)EK{#92-yPm5i5?OPo?% zT*@MrI1Bn^s$i>kW5NoLY8r^>L~kmvv_M+7C}qL^?WD*jHOYcetiRofHm7DxU)J8O zDAnmBt(1)P;0#65_((hEj)f_CvEhoMciiU<_;!s!tsb9V_CNU{a2iZJo9MH^S>Nc=;`i zTPGgKOgPpcTBxu9bH2dLdtaYsdQm0hW9lT;T7fK32#TK?G$s16? z6wzsxz3oq$n_Hh3L8QTXk$f#Oq+c$*$eAyv9+AgdUcO}CsziFE>tVMIiE5Btff_n& ztL>Amy8-V;FzK=nA1%wBw&qeF^oFZlQS~v~tG`<;bKZsUY9JX-=1oz9%iqfHh~Ge7HR@Iu26_}jE{&+SM$kO6 zF6e8`*S{%Q*gR5j@UzW2+k3FL4txqCx|v~EnnBv^P|9xnWrY={Jm`a0&CSrNH8`-s z=7bjMC_MT7Km#*%qSXA!(;l9L+sp7e+k8n_@!c;nS({Sf8 zNn3;!+01~g{AR~0K!*LjUO+t=~?#m&Mm4{@+`?;OHp%J1P4FL(<2PD(QTa+Zkjp*cPIqcVr;SEdp^24 za=*`EItRZCoD?t3ST-0Pp5v5FX5(NZ-sF<=ba+zly>V>mR$K(sh9(yXFH9f0Yrjp? ze8hD`16UX^t^qUB`TWg{c_J1(@RpU(Oh_od#QEx=RI+k|#_o_vb0Tyrb(7ApnMfiJ zrAv>PHc}!Dw2Wa@Hgv;Nn0_ct->yFgzMHcLnemW+lJ|irKUh1U!ErU_TXHYQ0T#F% z)%mDyL*38cRJCr!!Ux`x61pj^#QW;dLuZCaa2D@PA#@Mp(EjUK5Q;*x{`_;ODxVrX zZ);?`k&zUgxtd|=ya+Z8nlzkoMAHntchb+!a}Hqu+2g`K%6M(lzdw%RAB#SmR7j$h zs_ez>HHQ*vyBRwi6_O;~mPSQ})(+-I!!2i2rGFn!@)lfq!Ao31RUu>BTUaqKkq@Kn z&iLkFd^Bd0_AqQ5#`BjRHf|;_}+~dt^_h?fPfNGn` zXfSPMjyJ9{?DyGVHIJ&uCy#^cCnf=K5w3V4X>13uz#EXd(42&&WZ8ZOfy%(4FaVvj zrN`Zi$n<*TZ?)Ly19!c6c9IYod|S%2`BRKLZMPO)LN^0epa%hZWpKz5(`nR92vwr) zw=TJD#{}~=yN-Nn>7~XqffV+F9LBeLd2>k!Qj~dqCu9v;Yd4n#?@)H`=2RsSwbZ@~ zESCF27ayh2J?yv2%^01oi9auTPZ|+uK-|XQkz&y!}34PhEpa1@brRI*K z&xS-5Q!ZSNO1#wR+q>Gk5#yZ8mg9wgR^&#_zLlbh5UD|Z$3MB7Xa|_!LduA7(GU89 zMACedwRoGkTJ$Hz@2ltR;Mc_#Z-ZIOrH|A=27FNyTD;o*qf!B|<~^Iz+`;Pc3!hQ2 zQQHotoZt!-v{mgB+fPkHCGgd)r~oGt1K!9lnxOo?(BaUCTjnaE30*?%Ax-Em;{7L2 zNrQ0shgE!46&HF2sOqnveDK6C$Zw1SaT-h;SbGz|7LM9REdYI_(V9NA7OgP;96j)dXYY&GeEs%awa;0i@B zVPdn)%QX4_*Z?lvVbiN@l2UpulBzShU%P&`k%t_8)v5gF&#`6u#*{SsT|!A zN}xK&MywuoC7uVy4xXiz_*^`Z|8=-i<>n*|2gjj=JOvEZEp=P{jg5apUOM*dD`;w| zHB_l}*pGaAu7M3(9>{V7Q?5}h?tyn-E>iOlD$P~>ygu}mViko9^K=YduNw3x)YG`- z%VAaN0RzLHv03*Mx&z^#ioeI%R?ME6CE3BlDaAaVs9@Bzq zX<^39at;X?j|nIzpHQZ&K1_j?)jbI1zG+NKvIXV_JIKfEQA@az3%wK1xb_lWXG?v0 zJ=EV0>++VWLODglv&Jn(f7snO`Y8P5f0=EA8#F&t^gH`$!GG0maGj7!2g|s7M(Y3w z$k-ks^n7~y3w?Z|ElYHe7Aj*rHhBgc9e2%C4@j1vS3M$DlA1yXI+nUqg&O)iD{scD zN>?~m;%f=z;qiE0r@h*To!uE!r%8RearFQ4d2Tw2v&UEiSYOe2@YF&)f)^>m*nn@& zSV&Cpf_UJ|2gLZx4wfuW6(M|yw|)A^xW9%MXE~THBEp1tGy@gyONS@)}&fq_+mF>&oHECX%8NDZf)~tpFy((V;0Rt#xccWtMmzJkk zd;j`$?M*9={X!rCBywn%D?_<`4YI}A&^NWm17j^s+M?u7{2<6Z|IB3uSEAai8Q$pearlGFmM*d66@$Vx zv&UQfCetCHQ0vgm5BekVGQ8}wfMbFlv{jHL1nwV=dK@Jr+Y_hj;O2s)1NO9DBZ2QL zTKwKHbd*%9=#uxgWwe}0*idf3Y+CzaPCLi++F~_Cr|{hqvx9Wrz|6J%1$ZnVpC;Lx zWCqkkSOcWLvOD*(ny|D#V)B*Zd=i+FUjI@5ymGmf2J}P~Wy;N3UqR8rJ%$QcnT#!z z<-P39gew-&Ea@Ye6cr(-7|+>*K#x6J6F6kx_uwh!nEm5mR?CEuW3Cg-RwgL zzA{vV$~=BbaDK~F5iEXp3~soHLb1Y|9HTbmj%KG(^6+dNn-cyM=+^#F72xvgr>1H; z3Opn>4{8m3Gs~EF%s-*ztPt_gZL5JF@dYpw=dvwu(Kz|B(1DdQ;U$()9$z{7A=l&P zSB4=vWX;vyVN95TG*s^@+;gl5xp@N7ehe()i)N0m2)lTiVEk>Al%me!iO%v}cr$bG zUdfuz^pD57em`$bk2Hz4)Y#wAh%dy@&=epIBNz_AgU9A;U(u6@)(KZRuuoTw;cVoF zA~>>>>wTmypxn3~o9tFYc~yDDTwjUbJK8wl0q(M{&Ab|0f_uvey;itZ-hI7H@ppsR zS}bzQ)rnoF?7Zerc<#Y9*aR+3RvGJF7J|tF_TUzQuu!h zjV-1!4w~42AlS!0DE{zo7>|)wvRehD?AZ(pUR()Q$~(VNx}XA zH>cSpKF0;1KB8Z~W1C(MyL@JlTd^n==xc=sr=xAjfeDrz8AT6|s9_SrlH$4QXr*S@ z%vrtJb#A=S*OXLBVod}ACHoN74m>#y`S3oDqno@jN3|jP&m%mZWYjws_x!iX4rdXI z_;cI}mu>m;963DgGV${i^k*q3%CbPSE=9q!HGlLPjci4%vqyng%PJimV8HP~GIP>pG@R$g$yVWjg(G+rpnt}l zS#_X8xliD!_Js%qz%F4`hZZv*7clwf^jtsX;xAqPC}05!CiVvICSo@2KPP?u<)_TA zdKA|v&eAJI>&vq;YPTaI`;LXyH&iz?XCAoRuyd(ak1V<(&F7_R8Ui~|Q0DAfe z^H9Z?a|&zY(jlT<_pyMgggK^{e(ck`sa+WKGgf_XQ+r1~8{ZPc3$0P^ZrM3PNzLM z5%?fb?Y=K${0@l1^KcZvnS1L1_8JV*0+3(*y=;jWh+){-d8hPzeyjt#@o-m8W!UQB zdE5s-_WQ-2v}mJbXs!?W7SNt;j7nlK<7aRtL!cmf80ck4(}i&fTs(c{HNV!?5RU-t z2b45$h7O#NjtrEd_uN~2dNZ^Wdi~e=?Tyy0Uam}(ib#X&Nh$?vhxe&%td#2xjjV)H zB50yQ)jIT)Zgq$)?4}xO!pdTJVBBHIJ)r+uvyZvi%jIKOsECq_E$eX$KiZGw_WV5V z8@Wl&8F?}m#S^ zy`g*%kmZP}i=2_*A`Wh3I7UQ2bkXaO81`N4Kh2344+x#_^JsHog*>uVNq5s-C{Pvp zXkQKac2&(`mEtd`3zU6DBP%s>Sf8^v5?hvJ96WfMS~Y_qY`xWcUT5xpS}*Gmf5;rB z@BnF;*+#n@a&;%kgK`*ef!aIM(Q9Yt+$0&8c2T9^-5t%?6CkBYyE_Z2MS3d_q(iA2hu&Ul+B-=picj$Dl|NKUjsY2bO4I7}jqA=w?9rcM4A}nox@L!+mM#%8%@4 z3PziJs#h$ujUV-8JB`+Lx<9qqj(LU@^1@I+w(q>I9+IYhV|JiS(Cs7lr?akRq z5Pt5(%BdLymXn+fIcto8J=e{lKVEyL!-Xf$*3=?Kp`nC|N!~xA-LCd{XLL60S)V{h zuR5J(>T&Z7Gyzq$CLJN;yYdEygt4{E^n})WDBBmfq>L;zl>{iDD_jz9EN3$_#*H=6 zi?Ml*4v*N~hDuN;I64FVb*0t9NU4j@b6wBSeD)>|XQ-1R*2@iDwc;cDnX;keTMXvU zhVg6S9+{2`_A)*69Z&r-NRtVX2O_+2&c!VU@ibf)jFmi|r$3%9QL7)Q%?!jMLmj@* zs9c|(fo*r2HQH*y*iVek$Y$HH+zN71W{|k<+KuBM>Sw#!o(mg0yFJ`H%U3b#j(^_? zbC?_6^P3{CXRGYjQZVfKpvQ}+Cv4TPuc!NmoiJhG8V2DJ3V;LHHkEOUz3tf0Wh;|K?UnZPCcTe+qpvOP zZ_a=6G}j_Pr@eHYu{301)K%K?S2X}4<3_kqQus1r)+sG&W8EiN;xP&`DU^ksGCcUg z=?P^IEd|q0Sy?rScRUAcj*=&(d3FSo1Awi%Kq)@GRI9wiFiWUtcY8zEPqOmnorpy- zI?;Z<)P5q>I}d3zr3-yXQoXP=^^{(m42h(gp#coDp;BPO*++LKI?!P0O75-tDB=@b z1^Yt9KTVr*2Lj@^8eLz3&CUzfI&=ULX_-IItv!pAz!4NnJ}Engt+0rjkc_U*5;B6> zxPmEclbAc*u5HxiaZsf-fdy z=14fTtS$uSFl{8l`bGC%5{v7u9l;>|yOvE1v{Ij&S9&_1!6>B35)O9@)~?L%p^;Rz zFc4_k;Kf#qq@4DnnC_oN^E)?}24;g`3%G=rqoNWm-01Iv$aG2XUtCE_;@nJ`2d3IS?TC z`r>U5TWEFDw8#)pwHgw3R~qzOu5LWqCxSprbx7=J|9IEYCdoS(?BJgiXSYi}svY9? zxS-zk{9g`1PMv8Z{lPP|e!>v&?DbR#uwQ;PR;In9bOd>xKd2}v6ks_5tkkDWO?ZLVs`s>P@6wf`+3V%w>)QL*dKSCn?!zXetdG7{0Rk@y&xpJem4-~2+KCXZIW8Xt;(}k5o8TDpsT8zjV zRV{W2>Mb|RcIw!9Ukf411DYc*HF80@ZbTGWKqouI;;I@j0;5`PHr5klEOsNh1IrPjqYOD(ntks1Un0F&atcq49b z%>X1Ihs85P2KunA$Duv4Rtz|0%la5eKE~vx7g1lrC+S1@+)G%tI<-0;ZEZQ;7#CPnXwo1C`~F7!m;l||rZ z0vbZicqZXs(=wu!Yb$U9?@X+)%OxPBC=bYUN|A0!&(Rfsrr4_u(w(TPg~abJJtlz!uBz6`#zRFu|D3;l zhD#hk6IlVoC6$5FCy6X9iMc{7zyvZVh;t#cSl)QPv?e5tMuRRclz|wJl~k!()GLyg z6FU^Ve{vL+v;6g>T>U;ZJ^IqZgW6-?tM-w0n;ZO*!7iqY-V&55H`bP=^VL_Q{}(NIwR?F$!kO{Dc%9CtpPC4uJ2=uoPgRTS z7~)Hj$2H9K_WTu^jwF>-FXlYX9hh5%-M&wO!Q#32GJ)yy=BMlFM|0ad>@t%SL9~@m(zP7lGy#Gc zO`!VEgKO-+2lX(M-_^k9v9n#hT?#a5PA*x}G+S5jsO*#M4Gsg}WO0oTp(D}V@0%Tf zE_YPbB@-vF=0O0!3&X;WcA@is zENi@Ee&Hk_8+Yx&XGM{_7Pi%Tw}+tSD@PlBc5)fM1zlm|;RR~$E@I`%6Cn#;Bqzm= z*Nz-GqgTVcqXytoWN2=W_}M{W6f+Nx@{SJ{UtIa=DRM2qz^ayEu9%$!pyaC zn9}0oxi$EurC7&d06KTyEru-SF)76Z z9~GW$d_~Wd05B1`MXjFQ8CQ|m>1Bxnuo392%E3hFYpsLtYqam2l>+dTuDg=m<7)d9 z18#x=)4eBB`@iekW}4MHTS*BuR$DBz)$`7c*s$6rYRzrSyn1$1_Q-|z$tJkYSaMAL zh~8L2&z`&-dpz`fAe&&5t;}urm;(uBz@xsWb#TXD;CJ=98n2A;Dmi-&t)4T(CUPOR@T=UWAHOc zpX78$g9DR?a3Y9l{y_&rWxosVe(Gkb64B?n62J}|#4^6aE>acdDH6RpzIEeS=yV%8Ewe#ka z>D8#12h_A1!3JwbXyhqHFmpkwDRbm!^55K-LW=QT__pi!m9D8n9eR|Rj!g%f-P1Cp zTzEqh-WIEp&0Hav&$`bn z41Zf5(HnWyf&cc;yMIpnCKcH^^{h|%l7(4qdrs(8r~lF^A}k*%LeoaRos#{}tFvUD zsG0=(LIa_ge&fPR6>fxQN3^6a#LUg_>bR0$jk5X*eu6kF$SA+>EYeeJJs`2~j3V*F z%`1kXSJ~@@!u-DgpkMWc73d%U`rGu+#fe*GmNm2>yn(KsQdo{1YgbF+MQu!Xi_Pyo z^e~t5Ud|-mcjEe}LmkzmNu-W8qWjtQBkG92y#x+mNB=IBjt9!q|#F%F!Dykto?ZXqotkc8Zm^NYyOrn0t>7Ch6 zUP4LB>RCr_%dM!9Vx4f(CDTB&t3=rO1!ya)Gmfa=FgP4*j1d7hPI{gn73}9o*%wap zs)=i~X%N8AE$9C4MbIQzf4@5_9J;!-$~4m<&YsvzpLv<25SYX}4`}uz%@}_L6K_wl zrpz<+aAT^c{}nke=LePMZVf1Z285U0p&#D6thi5P-lnRLb8E|bALi@GkS>MKy!+D< zE*Z7SSHlLS(?ILb(zyCQ-BmtW8XAF#OkgM3Vzm6i>JBA1&ZArkYiG3NS~RP!4byBY zd;L28x>jS&RnKTdsHS+^r!WU+zIaY{^UTgjUS)!v)JnR{aF(e|hyIM&~FFiJ&>_=sh_6X8Mx}hQ?mPC|k zvw5VCbkMKWCBD{|1B55;xar{Ky@a|0rK7IuXiYjJqvH;^T3L zs9T$CM;NkS59VqW!+4b2jh2kc=irm4$wk3@0%5ca`YBSO|5L`_UI*uZPGXjK!cnl< z^nbg%LbD1}yFWQPeL!jT5aIldR_Wr~?M_?@n?a*i^J2z1TdWvpU+LE-nS6~Lwa90` zWpQ;`Bo7+97!&~9K)P-2QFY%S6;PnW-`P^gqVH%FFiOuAtQp^UPJL{?#U(eh{nTAD z##C%58}gUCo6~CqzTR1Tl|arnJ0r3T`-xJh-QZ6Bnd2Jg1fJady6ZscXDFsw61Il) z_sF6)Y07P6J@2!n?XQy?W7?Z~9sFo|`%=UXX3uh-B57d7&i`9{fUXT;u>Ue`e zc9s6g0qC}RX_pPS-LoXIyGFZ)(#gY*1l0KoVs;DXtxs#}JaaIYfqDbO)M}0*n(NJp z27VV-K+JKEB>!2yJY_2)o*`-retQcgx7f)~#@1yzBeG2U$x@izuvYC2cV4IySc$83 zXZuqf|G$O2brBWEU&+yBMFb`58hpagt9oQ5MU|GP7a`S4Lwt}hB?_NFXtcyI^|wug zM*Xl?o*k?1AsX$x zJm28oBD}PswnTUVo4-E6L{7}(4;AbWyVk-{Mb62e|4sdLf%>!mpZQ&o6?Q7ax}lpC7F8r*|n8{IuTYvXGUA> z7<>D+GbSd`X!hx^*`Ubej7ZaMFP3E54DOVbp-#_5 z41E}8a6srlW*J!6g*GrH7aR8x_xr`&@p2tJx3NP zgv*>?MGxMcEwpG3Ye^Ix&H`LfSwj!>YZ9xIf7odZ5L-8$x@G@~%N2gkG>{(|D5}&< z0*>cU1NGP!J_ZqO!47QHRAKurHzdd0rJc7+R7`xeS-5SOj-Jo_Cjj?FK8r3V7=P=U zkhY74_ocV+3Hp-AL3OY@4v=X@{@b0#_K>k;AP~O@V!Ly`5w>5#?Av$kb<-2+%KeF4 zPgbzh6i!6CPK@8kH>cro=W047Lqb(biEADx{~r*HHAuZEUo|&a-8m&TpR4{ikf)mS z-A@1>n6Vk+STbg<)7Nm24&`}ljjEW64J|v*Ew8i_pW6}re%{7>xb=n|KGvmlCuxNy z78&GB(^D3Mt5&ARD~MNgJ7Z-2&hr|DT9s8S|zuucw_U)cY zGOC)aNv{G1Elc#)z?)|&rJFAdd$M53E-{EbXAslyoXEo}2_cZ_XC&JOmznEmCb!ASE-6+vswDy@xygJBa98%xed1Nc z#MOHCM4RSpkgVrh82}`Y+B$?Z3(1QAS!B>AcOL-z!()$awYyQ=T@vCiW%LtPK0#ur zlLzgcHc|$5^58qWql#6gI0xY%A&(N8r#B%*$+9SPTvV>oTA#aL!ngztC)5A0Y5=34 zc~PwQ!AzNH>?HgWNe-|?TnMEm+qv3Pt>ymAFi5at`buM?n`;0>yMN4#!qL@k5BW}h zDaerPIb*JmCMTISO|Kk8_YX>Ybx<*@NssvLUglc!;5+Z$tUuB?GvX|Js#P20G7n<=r-|tjct|7CjFmWybP)tBBG(1#tm&{eu&y=_o zR8^Q#`+@5W=CGWjYidn8^aTH$VBaqH-a$^G2A{)^{KzOP>7pkgtZ1_gce_>168*JFL^ugLe_1 z;g4nyUSpkyNu5L6+q$dfUF5%VUu7UUkyB{mv|F4pp~J?BQq#ndZK>f7DfPWaDmM-W zbDUkKB;4l0EnJ88POE0bbY*xUj7fSUZT<0Ye62tzp15mk9h|&-80L=i4LwSsYLQn9 zW*SsqDm&+CWdLZ{R|&M0^idhLJ;IM!xCDaa2)wj0rHz0oq@yFCcMW>Md5;=<1Pvm+ z16kZ6=Chxz1>7W4Xw9`hgSJ`a->2YnOb6;@0f=sgT8_T1)i5YKu9r$@V>4@gHSgD{ zbjI}lSs08%+pbAT8DGE0KP!Gz_-Nu^Krs3d5O-^D*c>xdN~1E9E$F=|`0YVZHQOBR z7iNXLr}4>OKo0C4jEkGpz`S}8CrpPvZb$Ahy;9%JNmSDpeI-a$vv){OFak8LC4@_l zsnMrwhuV!t5>sD7`tFqwu)wR7r&U`8CdNztdabs@L8qY3^{%2V3?sRI3=2$OL_utL zm?!EsYr_pI*kUtc%2b8=tw|?V>Vg(-Eqiwa;KtNUWLFpjtvy5N=KmP0-l9g}s{_?A z*LJ^S&N6*qUz4&`zO?D=ekf%c&DRsnD5;@ z8OwSmJ69LM5OCT~fzf1nWb+FSb7oBsZdv&V+h8xy#a(%R@nThU*_CDvrR>_M)H~i--1BwV` zfQFvfuu2-p4P9%gLHz#ftOlO@YOANX^R2$Pe`A739yP#rZ0RJ8b8|F^-bN)|mKuJ+ zoOtNh^!Ahwo_t3hGNTWTJO?o%Sh5e=<8?RfLV7_LKy~3SW;~Zyu4Wk&BELUwr{#6A4ZIw)#cf5U?eJB&ErVw(qdv9c z;&p#ZUDnSEkTbi|IYWJTyW*N}_WkcdRm6omZ`z$_j;&%@Ns@Vk#=^=~E9wPHp0B-y zAE7D+T*cM2BzP9AuvJ19MmWmKlpD6hjBPWE$hCC{wUGmEB{(%x)_1)jv{IyiZrT-V zW8D^Q2bKFR=OYN^B`yvV%Dta;%<)tB4}Ps9CUx^c&Mf74R19;UjIp@G16`B2>+qMy zZjeKxP;+Z!!_piI09fA}!q*i8qe7&#M9U`Vg|ib}F*xHxB_x-i4ylW~CzvOG{_!b> zwEU4V;i2$q?I?ME177FJU4J~gUgqm4u}-HQj7R&ks*}X$KH1!JKs^w zTtP#9`fx($lAY|_Ol`cZ^atf>vYUCHQS_juW;rF)3k<)5AH*FQ7kMrEkc+^B&Y3Y| z!;|ZuJ8p=-)@R#xtk{HqV^wQoc|bg6Ebz`lo3UVzmxf2k_aq*WCwiLch9}}Vu=sAa zL}%R6-WwT)t>xvccGiDCH{tg~N2wX1T*>y7=HY#;&Yw`(>ui6UYudKc zUNV}o#94PQ#x3R0`G-NnE3#pyPKE<1YZI+VHx@ClG(Tg5+%-*%gPGaD7t+h|AKf;j z_|J~t{PxWR?kj}x2q*|tL-Ptm@JJjby7?@cybh$Wry{^ID2HV-df21KPk9**X`1YK);CfnaMiBI-6n^5JcMSC3Fw(LNRZ8 ztaZwVG)_}}?f##DSG9h#4<(D)F!r;kg>9iNEPmrUQyTg*h;#QZ@fzey?e<@6OfSeL zhj)yTkMRZ7B$s5dvNH+$(apGg5#?|DC*tv#|663%QF{0v_FRrcil4f*KXV9M2=|6V zuGn`HFB5+lx}$n+c10B{em6gEPjztfQ z23wPJVsn|AsSkB;u}8P22Si@ikz6M;O1%ek4u?{9Q`{pw_$mI&@O|a^W<+cB6R? zg!hnw6?f9rv88Qj10{ao?LnBwmyxBw*xb76V0btBHw(1g_iub}%GFQfmalrtbKV7E zPPWOa9NXneDfvwRI6%k0x>};woAk}R{9)rJ!Sg251Tp6s^xlpA6?X!HU8ND{eaDC- ziRdGdm{^ezBg&4caUY@5oZMvHILJsti6zu=tWw?a?#aNq!>}?7=Bjdy-|Q`r3$^;` zjPQNISdMgF=OTy0;*SmSB!170pAG_xZibUSEVVZe=gj2upW9_kp6+mB<*WfiYW`7Y z)*hsIDV4dA=@5LiWb8a<%GNPccB%RY(5JSE(@}bj7j`>7;OyhxZRPWo+l>o{cs0wJ z%aqZ~Q6L&grc{$FK2@da6wRZha2+j$mvZ}j&;fFn#p<%0(`Le=)Ko=%G^B%JWaJ5o zOZci3AioJca5Ten1?CFkIvJ1Wx~!_>OTr|2w6~P(f>)7c#XZ~@0d9Q&urGJrA?z{o zuYUf&Amv$S|0Z+Zzvw!#yv&jT$#7~Zba`&+5| zP?#VS2DlLN9rOnV(Qs@evVlWFbp{^hy{&f8%)%gz3(7Ps$7;(HBX6Ma!J`$|JlNgr zC)73UK~6qiS{dh>Hn2G=;8zzHNW?(XdO~ygeCO6;y2ae4Gg_MDD(>UZFPzbTpL#RShHH1UT@gMWmvKN(2+X7ANQ294xFW- zQbx3!+qZYS`ze&4FdN4?;zrY8gik{v5@ck%{AJ1>a|hu_dvD1{L!4;QJ@8~H3NZio z^*J!);^hn6DN8fo)IVIe$Li|#VZS~>q@W6&22Dw#gPNp-1s*Cas^H0IG)ZYTuHs>f z_J0vorfEBZJK_7l_`ptz)*kL@X4uQ3OLpl#{i}!#OsH3DM*mcHmF!&c%&AvkA&9VO zCLt^!M&%sx$K3tOLcD;2k|5o+WeU^hd(Emr!V6N1E>Hh* z^RRCP%JVYXpW0Rf#c*A_6q6y2sGTb>1?7cBsw@p9Q2jc+y~>+cPcX%mdq6%60L;3V zKkd^|F-6DA{HGV*NN}x^C5Fu6nI&uyD+AN)$cJE1W!3?3ikZLhnpu4|khk;ZiTH|7 zeb_wZ{<0W)$&VWyEZZ*Mb%d^zBqQkZu`*_f>BNk%p~CLn?3;@`$$1R@@Z3zVXYah) zBiS4!79TaBiov$TY%fk(ps%LG3fI{V99h*ADq?QkshX~{ba84hD1@MLvek;7BfoIp zPU~`PP-xbT;Y*;;?KK|031+=UC~FVw@I;yT_`%JUegoE`p=S+bjT|Y(vV?VM`hEaQ zXS@hb(|DlV<6*<_rSX7oQWTbgqI~+r=LI~TV%$Jaz~FK7rlS2^qx@qg7<4*tHCM)d zy4^1V=ZPqX3~jojp}1&kntYEY>rmDK_&EV*RUbg@rDXb3*(ycv)5UgXC@oUN3`d}6 z1Uz1_HWgpuk*pkgY&3*V*8#>%p*5M6uCvPEI_YL*7iDM#efLOye6hr`T7fn9+eXY) zL|aGU0b>;zj8$%~jnpo7`o%;DP_`6j*-t{Ia_Mg?4i#_@TE#0`wpy}G3^fQr|Nk#D zOK#qa<@T}I0r-ou&!!e%VW<*RtLU_$VLc&vSws0Bd%0m!G2;gn=@RYBJI9s9@$j*# z9gAbLV+XCNU?K7-NS`{Lr0CydjRjQXC-#}5u^=Rxa+<%y`ByOtHLF#MuTJ|W%*!ow z%C?RwU7lmkzf^`-<7c|m3b#;U&i}$RYs;RF#%#;uX3oO9{^Bfa7Uqx0?};eYszN*v z6(>N~-C)&bw=1mBnHq-w$3UpvNSWR0KMYYQXL{6q$L|QUJiC8yV!UzD;V#ciGCggNnp);80(cVtu6xYK2p#*6z%7|e}=lDCcD+^b| zzA@IN{H{MtxQEu0xB%?#t?E+@KaCdBeI$9tWECiWmYVC%c%35~uI`GrSm)LJlclyx zUjp-Nc}-0)N?=FS6Y{jH#nSS54{K}aL>rX%F&&|v;d5|KVNF^}KngUmD#kNY)TmmS zQ0y685s~kr9M#{g5moj(#f?zbbsAzGbSV(|Cg*uxnol{~TjR6j8aR!=(y%u1h_|mJ zp!Gr$t0C)@<5HDQ1)x|>jF%%W=KS~k>4~OZ4>v0A8=N)1NEhh+%`gfRM@- zKQcnv^XFh5gQkh4i_{fR#scies&q{9F&;B=+fLIQBIxsX< zx%Yy-Re!s~WupC%DA(jo5r*IX(>*XN!E}vNE^;)p*Je(cF9?fKKqzP_&EKnOWzvH1 zR+**FIih6_Do_0R_q%ciQ~a#&$=WZE@*IF~u^-0_3zSZWbgg}2N&Q&|7ZqwGlfq$D zXL0Ahgc$#5bNot&VjJQ4D3WO;y%!&4y=F%=zF!jdjuT{ zuM$P}TQM#s%l4=+uVBSb37)GgUAf?wZq4BPykV%^Ml2^k4jAu=X9V68vt82+p5SmY zaoSU8zNQ|}Vo52&be;heY0=Np#ml~O%tD)JDaLVB(q+uD<_ENrC#efI2h$z%8gxFL z;W?;7l?xw^*jj(iCBu-+^NWo0D=O2BhLeT>@0WF6ZGezhzq#r%{f;@O9My1zOgE~= zJt?@8Cx^)NHtezDitwk0`@@(n4*;lIp8|z7@tbD$qN|v|K-uy zIwYNS!<-sBPTo#v1l?yf|euYOt zcgv$OZWGYkUS}E9!C(42!U98qB`!?bFv6H~zvf&)bSa19^=C5ZYGYZ^RQIx%39W^F za-(V?tEE_P_bl$ zrMV^m_1%Nh1MPaT+q%Lwx5ONe^NK_(o1Pdtq*>kt`B^mQ6#V!>1&itw+6D$VAW6e7 zCS44<8olSvwQbkY;-0(;WXajnYbH!2`3Ekr2`kmt5e`c%@$wMGPR;uWFWr)?<{T)F287HSwB+) z2MW%t8Zpn3$MXGvp{Lv;vXeQ05cl;K>I|Sw)c{Z&9phSlT7jt2_(Kz?K7RvuH?$e3 zW`#gCU=(ecfAN%@=jZ4hM+9?GBSqYG!gw>Hm>@z^Q%45lOwW|ZxF>~>m}a5%DtVwX zq2?;!(Lqx~g~#6X6dwOouJ_AkEz=#_gaXWW|Jz;2h|W|M;#W!O*vJ4X+P{3KHR|&F zR%bh+%s7^!x&MGr?(y-$8e^@VfaV(@wuV$!WEmEeS3nKclinOI&oWp6ojrey*{)u_ zm_3?iVc&qnx%Fn06N6kJ6wh9HD;3+gT>q%BfZOm8Tza(!c^wK6{;Q8uRx=d~?Le`Q z!|H{gQxzcsj{UGX@_6)Co#32TTM@an$*?`cl*;o1#(@fp7*E;&diRkIbeAE$0S?D` zg-X2I(@_8W3zA1R$U3rrG)Mc?e}W7bbY?DOw5ZM>R5mC53Vd509qlu-@v?ooI-c(nhS}#R#GqaZnL<8Iw@&Q5qOXX*@8F+s#_XtI@tUm#LTE!; z*jR_wcn9})@ys@OtNyU^ksD(%xWCYfb&hd7*{( zhNsg>vFu!V6;RN<$pn0ixJsRF0(}Ex(ts)rGpgp0syZJzSD|?Ha$BSToJ+V_B7v@6 zaw1>8`)glrT9{+Pbyv8}4zSjs-zno3C+Y^E=m9d`n_e%`74zXae(!&8o7aum-3D5S zl>cA2{C;}w7q=#Uv$P70y>2w#wn_C#g}T?3s(+vZP}-e91F=WW7UmBqyy5)UYh3vK z@b_bl^1qT1Hm!;|X8+sjRmoo&&qa8PyjZ*SPX`3LtIY#*YY`oM+qfjhR&QUH0}$SRNy!Z#2VqQi#0T9y{atNQ;}*vw`IZuLnLHCr$YGmR zyIP525=r>d9wxcSo7UNV4gL)zP;!> zfC`(%HFB0Gxa4;oPUG>GV0xn`3sPUC68 zxAQH(Fg_$Ph$=JJXV!x3W}klglg_?@b-7mr0w1vhdS$)}~SkUiN?O`ag2(aGKMyw^_2 zt?A`@P}&PUMB1vJLh_#NTK2Wd-f_7C>mnDaQVBj%Mh4y9RsMhWDx(y2(SF{A7w!jB zg%VPOfIdm3JP3h3b0~-y(w=eW6>4{>j6awiYwRKXB~?s>T|6fTHXMnZPNW;uwixqg zUFV+&=)E$GjhH^-!s+Y^ie#9zs7l> z7n+gB4JO|&^oGxpHR&$=`-iVPFUSrwvQPSi&&8vh)x2M@5kT#Z_fyCm*wNX&;5loF z(|)>H7Tr*n&0zYFQwe@GjF`@epdymia$Xrejm`dv0)1;LXW)dh8(N0yI1lS*1Fx{H z&}~>L;7=iOR~$ThwQq(cl|UUf>n1IG7L(w5XS?zX8QPg~| ztk(cB!Mt+fNMUMxolYgd$%r#XAyRU^p@9{Hx|Gc9rBCb+isnoGHq`CQoOwZ!@?}I- zK0syH;)*s08o0T5#Mqn9dtG_n&gr}oIoHIJW@pfJ{u+LE;O4a)fxEo9W8$d@n{FSP zV_AudmS2>6r{t>#H-lOnv1~}&q^dG-vR|DwZP`|;;(nV`1D&=>`4QP0`KiXpa(Qt6 zl06~2Y$MvBmrEXa2(F)yzUb-yw6OmPDE;^C zdHU!Ce(Z_9r9#Ab#!Pe9^(Jjx5@na1WD8&KW-!)k=GYTUPDB!o2B z#4B8R)LIP#mb^R)r?9KAR3=I(Vw=*4$9t9y6bBDDELoDp<)2_LKe}um1!8aCR<64C zt@WE6yF6&xL(W2IdZ;m6kz&**@%(^sZbeN2mFbDLW@!E*$B`>sWPA)d#PNH5JxE(2 z`5=LRetC9y{nc(^0@pgn2DwC1d2ar1Ycur}GLL2kb!b$y&4%%1QWIG*Q?Fk?k9zO+%; z8Ebx|i+S6+y*eGA@#q_*eK~$-%G&PdkPc2@=);gi05O+{sp@rdCU0+e_EG@&2qDF|kw#ewg&|BU5|-h+=T z<}e|yUif4evcYY|NN&VRCczGR@^_44W@+&Awo63+ zq-@DAsNv)G77wO?>dEJn&#uX^a4EeK%ToBiMBie7${AJI#7E%LdsF9aN>x`YE>c88 z-V!N&&kNF~SEd?Q0a(~2>N=6uKuEjL{5rRYpV=^;zX?%}NBEx`v%u2B)O z^}6MG_W5^q(?Sg4@??W<1HU!dFsHoE0=2Jr0k2C?T9b1ncJ*3MOb~he@JnbaOrum0 z`W!V1D2%j}=!|1#v9OM%&rVGUb=!)LleA&Tr~_$pG2&I`D#jzR&d)zFJfzFMT0(Gv z`ACXb#Gh%o+KP+?7CIiur`HRNedpeg=>kSs|C0Qmp=CGQ@7cj*PpR zN;ZzIoYBo20*HMj5`GD23G`$JkGTfF|0-u-TMUAKdG({C31)=k^UQK?qEQ{sbC+>; zMJ2>Yd@fNyh&@{bxBC`_%M))naoBFoD%Tih9r%;ept0iqa%pI2i0Spw2`3Cg2D85H zDx^gl^p``m&qFSzKJ!NfCAw-SUzFs3XT@AzPDbhxUP$;{auvGiF_1@?=FBUo zE$DK71kTYWHs@uex%vZe-x*j=7o#5P{D>rzk9gyg2V@31VsE1DtP1* z3VW2|L(Rx*;XB~ilbU-Z;mFv~Tm{p#NW){X zw!YkF6Q4Qfh`lqt??_?oz30V#S-Xc{9JHw_4Kn0`YH+VIVKzkf3yGL03>f0BZXkrw!U6Yd(Y~;s{|8bWK^y2%4JM^+!wXCq;1!8O4`+;3a33VyET(_@71op#Fj(eA!=a!mE39~% z@szH$Ak$`_!lo2Io^GTsA%P}riRnC6S2bQT&I&d4?N5bhq(_IWUQuSLn)24@pG}m? zf0=Its1*i4dEc5Gwt?iV-vZ~B1Upl^VVw6*+%X7?W%fE7lYS)OIhg=P|&1Z~i$kTD> zWHVp|C34gR%c68L8$CPS-A2LebU)ce`dJ>)e>G;~kKw)crsI9*$=DIRiLuSRghW-F zr;pQGtg2mbGzbGYQ}+Zt0~WPKe+5CR&^OT@-C~x^qxAvY;CcR|ObPf`Euers~F+mO8batT1cdpX!4lM9#Rgen4rMCnhKo63BWn_A5)Su0(oiHiM_>FWc#H@|3-GV9>DE1OcKr_t9|FS56ZNW5 zp9q(ER2|RTQ*T~8rZ06#8q~#YAE4Atm4(A0&*w97{O1sToT57lt)Quq<{pmlVj#BQ z>DvlOltFLh~kdrM~a{pPf+tcB`mrd9>gs$^50GD~tHw zr9SQ2%KiBc9SIlVwdpv~87<&QqE7GbZ*=u?Pa7f;rLJvG1bF(#Y-Wh9_MUu!#Pgxx zi7txUO|}iyZ(CIQlh<*2bEj5H7mY=bW~@KHSy8+_RVEUUifX6sL8d)+ZQ$eEwz`>A8g`JiidhJ!Zk z0NEv3EE>>8m_%fy=gK|11#%s{d;8irTqi8wrihFw8uQt@x@I*xoN&PTS{btDCH(0M z`@17X>Yw?O_I$9QHRW6$MZ*+Lhk&+76gUIQ(`Q$Fq@0Hw@awgh&v98?kii{BHl`lS z#<0)CO>F?1G@SG!pSu!Iwmq60=gaNI!^>2I?#@xs#_TP!P|PU(1LUHDKW(Nh8~sR} zMX2Gw^dITNG5#)&_0FOH775Nd9cPtzk6@;oB{I{fEJRE!$w?#I(a^jRbS1`*arTyl z>;X5QmOD|UF)sAt<%)jyK;s2B^z<1LHJx2R+=PVorsjJcewsXX6YBjjM(IfxfZ~C9 z;C=UMg~vHoF7s^%oT~Fpc4opxlnDKzVL(R7;0e;X8G42bdAzItbDu$u*XfG(Zw|%|&m5#nQ^W4d+UJ zVgndt<=9lZWvWht+wI^@`d3u+!5?X)P$5NWQKOYEM%wg#d+RSUkf#hGpq^!wP9NtP~M?5x| z8NIaL@E7aJBg`+)QHUI$TssIGZw(`xmq+0>sA;UcS(6jOi|5H<7LTPX_2B{HPzYdm z0h;9?S*>|*zRit`7G=b~c)VqirC4N+apWoaF_ARzlWghVym22wH_)ozwf#49Al!yW7BETEnH`-vVEs`Xe512CyP>3@6P@ZLcv44G+&;bZz} ze#k$rd_KTm*FQ1>pH?n_R zF(mSnWrtPi7Nb6_C_m+`D7_OD2&Q`lrt>2Z&XR&+-g^gCg0?(1)Rg~VIz}_sGGlb2 z+{x>#?-^gDPm9l$Hd?YdiusYxW7Z=9=H=6Fci#F`(gp8fh2E%t-d68o{vUC!B#Z87~Tc2f(UB` z%G1^iW6}1kY#tT@##jvhlSPkRQ@DU|Pg{7MVdugKl5=5aM{+&RhyLd7(Hg24H9qE_ z;rNr}Kj&9u`yKYnVEp8h&v~H4lI-0>3Vt@keI=o&rIGcYA5ZtC#SL!S_*gd@e|+!T zApn$1%g@2Lx=&tM?3Qa=4twweO2vd^+pe=m{%kC~c-Lhnr@Q$QTYSj=^(-^WC3yCo zpIIjxwyAZSQgG#XuX5Bqkjtwx{h4jdzQxiQ)Jeq}+$q`czlhx;4=>XhDSEG%-_0z_^3nFOeHkMYshW0d zce*mSdgkR7a=sa2)N4Ax3ttf+-`v_H$=2aGe|#>J(ijbs9Ztwm|+<-E?=N=BC=xRjhEa0%c;x-c>+bY2?16yB?*MX=VI z3S%zcUUA<*wfT%$#7(UDZh9w1gi*#Gi{@j1AM( z$;R<_;$v@yp0`ElsFr2vnHckQB~p16$WH|^301+qjKQxA2OK0$e-uJRpqb9J6+v*fG7k2-}#ds95h{EiGDB=MIl;vj~}#8m`>Oxx^**U&@@Z)^C1o zVszD)Rmyu;xBM10FgeUT>;Z>lO(YxuXDHIR-rEM)p)y}O)tf6=_sibO$>p2qk7UPe z*_)|2$1VUArts)JU&z zH0V<9>~uSr5@xu?TDF*Nmt3zC2YkQrvOkx7XI)ZU|D(5NDHWNMF=@Cm0AlwE zV?0a;tm6)|%6Vcd4ATv|lPHE*ZO8mg+k!A`s?0T3He!!`t0}dU_BtCp4dei61qQ2A zG8(=#h04V)V`*uelIGr=l*nj5w0x5{jPQH=6nLCjC=J<`60lQCoJ8fhz3o#0rL2tka^8zZSlgz*X3Z-#5I+*0< zIgzj82kN4cUJ!@v72`2yNX-K15&Nzz*q1o;_FT(`u{~G1{=%3+@j8(}F4^PS#4xoV*WsvvNlp=MM>?5tzhY3JoBOw{V$(=Tn92vQdRcQc_6*g~V zHnP%%`o3DEe#efDGHi)wk=3rX_7dods77bP0!_nmAiRxBot6fx>J@9yN{~q8YVm`- zZqBa2246OoBcHsBrWLa1lm$hZQ0;Fq3R+n22Xz24@S>UbWVQyXlb0qBEP(EVqh;`l z3(k8=2W>4}EI4HD8GqaJ1rvFx-g!<`H`!iTS>PrK2^vWrL;k3{b_SY{m_YJ7N#L8I4JD1BJS z_w;i-oEAJd4!jKJBY#XElBtgR8kMw+tBsAaMTPv8&SB}+=ZG}Aq4ri~f$iG{vZ-1DS^itJCltn8$Q^Hd$dGe%tK{&p7&%i?D#8FGb~)`vqiW zfZ38IiWv?M!ickY$Z$JH%8M{!0SynJC5Z>t$CPE`g`mix#eYj)Y)UNT(TI5T$HxWj z44eIAL{_oCJX{YGl67Pdn2_MA@rijHPt6<1dna^zQ!0KtJTjDp8U_4;fPh1Bx-|85 z4CCwz^`ZIFMH2hwdiFY_{H}vmpqTFwW0d_)^=tNhUl*ngt?HiX+ciWi?XOt2rg&?% zxeKIG%m#inc(7^)_@$8BJ<;4vt)c+0zw+T8oQy3*(R{l8iB7Y2e0a6vHqe?ue z+vFBTC95UCmeP}5JY{cb=`61%rN6Wf9zdLipIHeo1+;f;?7{X{SJ{vvA?-1Ft90rn zq6rjaP>NWR*LAyZ{h}f9!K<-ueR+nZ*?#?G53vh_O;#xj%vPS(W8-U!1#%SIFzB|O z$JV-|hd_|M0>-yj;yCqh^SU~3I*v_c*to04dr)_^TN#r_%YiFl^IU8nI2N7Ez`wCj zVQu9FsRa$t$OA7mJ-)G9MLLdd-Lj^}elileul3y_(ilRlp?%X3kH~Iw9+LZm^j-jp^U0%wnz1{2U7M}pz_jKh#QcFbKu1F8= zddr$QOPsX2R@2Ad?}Gj3wz6;pQM`s|^?gH&(?4#Rf+8c;22zhOZ6M(jTq`B(zez zmcPl?Jx#$6n{-Wjc!z6Ux?bGVy5w~cc6!F9fZvl0tYKz=>9TL%bION}1Ed;IM~(EL z?jpA^DvOl?j}3N4pml+*4oGwUn(Usbi*4Z1*v3*21=Z0SAY|JG)nV5o)H*2}|5QM0 zZU}c7iw}{6wNB-%v62PdZoGjw1n=nKw5pt6zW&L0%{Jx`*M-!PRc_2x=#u=##|3X! z%Sqt6P1x}&XbP+CwX*`GJQRit#VYaQUCTz<@U_Nes6p3I3NB)hK`~yf%X4zNUd3|? zG!j2t@yAuMvch5*iV*hvc65$aZ{|9wA>O1BpM6{a%yCeiO2Kaw;{*z4)L(J(jG7$P z!ai8-O~esQ4AhauZp>wL31gxV5s+h8#DhiF%xNmP$hd`B)Tu*^PhFl4IsR}U#y2Nj z#?6+WH~tSpq5-`WXSucyC_nS2ABlt>q$s?PTI+|Qm#JVF2~`}iI#TUTYELTBCPLTt z$?SLyiXv*n`$J$P{7fibgOoSA2a5pcjYG1j|I^|*)#b5dzL#o4N}u0JITHsB>pb55 zcWFGxqNIu_Q3s2@h+aqfrTCb|GQ!nxD<3t^pbBKU^SR#4-rd}JXOC17V6-O8XX@r+ zFb1KXhEJ(?@-!m!=2NZ>%LZCW^=PrlYE9ga2k(+* z%G$GN`ll%7eq){Q3uSxvCp; zAfWRO};?o-2yomEQqO=pc*X41#pe-S-*-req&H`?(#Ae}KWTxEKDNYSFaNWWCQDltXJ2CXF(~=_ zq#$|s0ONy`^n=+f()H=?tsBp4EBBw{?Dceo8+N!ZEpJXZ%Rn8OS{1wNG zmAux?*GaW-Uv#Adw3^weLko%SLQySfXwk{%?4ptv(f}jh4%j^S(mPa{a`H5_zhCaX z@gWg0JIkiEDaK0i@D2lpIH|Kx_Ioy>$( gGn9&riDY&g$Yi#IvRi8!^qP2bb#X^ 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�%y~=-e(UoiJc|DLXmn>i>unBe8Z16 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 literal 0 HcmV?d00001 diff --git a/source/font/dshare.woff2 b/source/font/dshare.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..fc298a5cd7fe66601b2b8409fe3ac2e69ee1155c GIT binary patch literal 2748 zcmV;t3PbgGPew8T0RR9101CVS3IG5A01;dO019yc0RR9100000000000000000000 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 Ca#utE literal 0 HcmV?d00001 diff --git a/source/img/avatar.svg b/source/img/avatar.svg new file mode 100644 index 0000000..2ec011e --- /dev/null +++ b/source/img/avatar.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/source/img/wordline.webp b/source/img/wordline.webp new file mode 100644 index 0000000000000000000000000000000000000000..f5cc01fa2d21d21211a3a1a6c5246953d4e6840a GIT binary patch literal 106 zcmWIYbaP8$U|jM1V|2euJ5Uf=xcR)V}IhUzc(D zVt>aFs9He-D0hL0VJ@Q").attr({href:"/themes/dream/source/lib/live2d@1.0.1/waifu.min.css",rel:"stylesheet",type:"text/css"}).appendTo("head"),$("body").append('

    '),$.ajax({url:"/themes/dream/source/lib/live2d@1.0.1/waifu-tips.min.js",dataType:"script",cache:!0,success:function(){$.ajax({url:"/themes/dream/source/lib/live2d@1.0.1/live2d.min.js",dataType:"script",cache:!0,success:function(){live2d_settings.hitokotoAPI="hitokoto.cn",live2d_settings.modelId=DreamConfig.live2d_model_id,live2d_settings.modelTexturesId=DreamConfig.live2d_model_textures_id,live2d_settings.waifuSize=DreamConfig.live2d_waifu_size,live2d_settings.waifuTipsSize="230x75",live2d_settings.waifuFontSize="16px",live2d_settings.waifuToolFont="16px",live2d_settings.waifuToolLine="26px",live2d_settings.waifuEdgeSide=DreamConfig.live2d_edge_side,live2d_settings.homePageUrl="/",live2d_settings.modelCdnUrl=DreamConfig.live2d_model_url,live2d_settings.showToolMenu=DreamConfig.live2d_show_tool_menu,live2d_settings.canTurnToHomePage=DreamConfig.live2d_can_turn_to_home_page,live2d_settings.canSwitchHitokoto=DreamConfig.live2d_can_switch_hitokoto,live2d_settings.canSwitchModel=DreamConfig.live2d_can_switch_model,live2d_settings.canSwitchTextures=DreamConfig.live2d_can_switch_textures,live2d_settings.canTakeScreenshot=DreamConfig.live2d_can_take_screenshot,DreamConfig.live2d_about_page?(live2d_settings.canTurnToAboutPage=DreamConfig.live2d_can_turn_to_about_page,live2d_settings.aboutPageUrl=DreamConfig.live2d_about_page):live2d_settings.canTurnToAboutPage=!1,live2d_settings.canCloseLive2d=DreamConfig.live2d_can_close_live2d,live2d_settings.modelRandMode=DreamConfig.live2d_model_rand_mode,live2d_settings.modelTexturesRandMode=DreamConfig.live2d_model_textures_rand_mode,initModel(DreamConfig.live2d_tips_url)}})}})}catch(e){console.log("[Error] JQuery is not defined.")} \ No newline at end of file diff --git a/source/js/btoc.min.js b/source/js/btoc.min.js new file mode 100644 index 0000000..c08c616 --- /dev/null +++ b/source/js/btoc.min.js @@ -0,0 +1 @@ +(()=>{function s(t,e){this.tocList=t,this.elementList=function t(e,n){if(null==e)return null;var i=e.children;if(0===i.length)return null;for(var s=[],o=0;o${l}`,this.eIndex++,this.eIndex>=this.elementList.length){n+="";break}(s=this.tocList.indexOf(this.elementList[this.eIndex].tagName))>e&&(n+=this.analysis(e,s)),n+=""}else if(s<=t)break}return n+""}}const r=[];function t(t){const i=new Set,s=new Map,o=Array.from(t.querySelectorAll(".menu-list > li > a"));for(const t of o){const r=t.getAttribute("data-id").trim().slice(1),i=document.getElementById(r);i&&s.set(i,t)}const l=Array.from(s.keys()),e=new IntersectionObserver(e=>{for(const n of e)n.isIntersecting?i.add(n.target):i.delete(n.target);let n;if(i.size?n=[...i].sort((t,e)=>t.offsetTop-e.offsetTop)[0]:l.length&&(n=l.filter(t=>t.offsetTope.offsetTop-t.offsetTop)[0]),n&&s.has(n)){o.forEach(t=>t.classList.remove("is-active"));const e=s.get(n);e.classList.add("is-active");let t=e.parentElement.parentElement;for(;t.classList.contains("menu-list")&&"li"===t.parentElement.tagName.toLowerCase();)t.parentElement.children[0].classList.add("is-active"),t=t.parentElement.parentElement}},{threshold:0});for(const t of l){if(e.observe(t),s.has(t)){const r=s.get(t);r.addEventListener("click",()=>{let n,t=document.getElementById(r.getAttribute("data-id").substring(1)).getBoundingClientRect(),i=window.pageYOffset,s=i+t.top-50,o=(s-i)/20,l=i>s?-1:1;window.requestAnimationFrame(function t(e){(i+=o)*l{t.disconnect()}),r.splice(0),s.init({tocList:["h1","h2","h3","h4","h5"],contentElement:$(".main-content:not(.not-toc)")[0],tocElement:".toc-content"}),void 0!==window.IntersectionObserver&&document.querySelectorAll(".toc-content").forEach(t)}})(); \ No newline at end of file diff --git a/source/js/common.min.js b/source/js/common.min.js new file mode 100644 index 0000000..51a5fbd --- /dev/null +++ b/source/js/common.min.js @@ -0,0 +1 @@ +(()=>{window.encrypt=e=>window.btoa(unescape(encodeURIComponent(e))),window.decrypt=e=>decodeURIComponent(escape(window.atob(e)));const t={initWidget(){var e=$(".columns .column-right"),t=$(".columns .column-right-shadow");if($(".widget.recent-comments .reply .link").html((e,t)=>Utils.renderedEmojiHtml(t)),e.length&&t.length&&!t[0].children.length)for(const a of e[0].children)t[0].append(a.cloneNode(!0))},initActions(){const a=$(".actions>.bullet-screen");"true"===localStorage.getItem("stop-bullet-screen")&&a.addClass("stop-bullet-screen"),0!==$("halo-comment[bullet-screen]").length&&a.removeClass("is-hidden-all");a.on("click",()=>{var t,e=localStorage.getItem("stop-bullet-screen")||!1;t="true"!==e.toString(),$("halo-comment[bullet-screen]").each(function(){var e=this.shadowRoot.getElementById("halo-comment");t?$(e).attr("stop-bullet-screen","true"):$(e).removeAttr("stop-bullet-screen")}),t?a.addClass("stop-bullet-screen"):a.removeClass("stop-bullet-screen"),localStorage.setItem("stop-bullet-screen",t)})},initTocAndNotice(){var e=location["pathname"],t=(window.tocPjax&&window.tocPjax(),0===$(".widget.toc .card-content ul").length),e="toc"===DreamConfig.notice_show_mode&&!t||"index"===DreamConfig.notice_show_mode&&"/"!==e;t?$(".widget.toc,.action-toc").addClass("is-hidden-all"):$(".widget.toc,.action-toc").removeClass("is-hidden-all"),e?$(".widget.notice").addClass("is-hidden-all"):$(".widget.notice").removeClass("is-hidden-all")},initBanner(){const o=$(".banner-info-desc");if(0!==o.length){const s=o.text();o.text("");let t,a="",n=!0;const i=function(){var e=a.length;n&&e
    ${this.alt?`

    ${this.alt}

    `:""}`)})},initMode(){let e=localStorage.getItem("night")||!1;const t=t=>{t?document.documentElement.classList.add("night"):document.documentElement.classList.remove("night"),$("halo-comment").each(function(){var e=this.shadowRoot.getElementById("halo-comment");$(e)[(t?"add":"remove")+"Class"]("night")}),localStorage.setItem("night",t),e=t};$("#toggle-mode").on("click",()=>t("true"!==e.toString())),"system"===DreamConfig.default_theme&&window.matchMedia("(prefers-color-scheme: dark)").addListener(e=>t(e.matches))},initNavbar(){var t=$(".navbar-nav a"),e=$(".panel-side-menu .link");let a=0;var{href:n,pathname:o}=location;if(o&&"/"!==o)for(let e=0;e$(this).addClass("active"),()=>$(this).removeClass("active")):($(this).on("click",function(e){e.stopPropagation(),$(this).toggleClass("active"),$(document).one("click",()=>$(this).removeClass("active")),e.stopPropagation()}),a.on("click",e=>e.stopPropagation()))})},initScroll(){let o=0;document.addEventListener("scroll",()=>{var e=$(document).scrollTop(),t=(a=(t=e)>o,o=t,a),a=$("body"),n=$(".actions");50e.preventDefault),$(".navbar .toc-content").on("click",function(e){e.stopPropagation(),$("html").removeClass("disable-scroll"),$(".navbar-mask").removeClass("active slideout"),$(".navbar-slideout").removeClass("active slideout-toc")})},sideMenuMobile(){$(".navbar-slideout-menu .current").parents(".panel-body").show().siblings(".panel").addClass("in"),$(".navbar-slideout-menu .panel").on("click",function(e){e.stopPropagation();var e=$(this),t=e.parent().parent();t.find(".panel").not(e).removeClass("in"),t.find(".panel-body").not(e.siblings(".panel-body")).stop().hide("fast"),e.toggleClass("in").siblings(".panel-body").stop().toggle("fast")})},initEvent(){var e=$("body");function a(e){var e=$(e),t=e.attr("data-close");return t&&""!==t.trim()?e.closest(t.trim()):e}e.on("click",".click-close",function(e){e.stopPropagation(),a(this).remove()}),e.on("click",".click-animation-close",function(e){e.stopPropagation();let t=a(this);t.addClass("close-animation"),setTimeout(()=>t.remove(),300)})},offscreenTip(){if(!Utils.isMobile()&&(DreamConfig.document_hidden_title||DreamConfig.document_visible_title)){const t=document.title;let e=null;document.addEventListener("visibilitychange",function(){document.hidden?(DreamConfig.document_hidden_title&&(document.title=DreamConfig.document_hidden_title),clearTimeout(e)):(document.title=DreamConfig.document_visible_title||t,DreamConfig.document_visible_title&&(e=setTimeout(function(){document.title=t},2e3)))})}},initCarousel(){new Swiper(".swiper",{loop:!0,parallax:!0,effect:"slide",spaceBetween:10,speed:600,autoplay:{delay:3e3,disableOnInteraction:!1,pauseOnMouseEnter:!0},pagination:{el:".swiper-pagination",clickable:!0},navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}})},sparkInput(){const a=DreamConfig.spark_input_content&&DreamConfig.spark_input_content.filter(e=>0sparkInput(t,a))})},loveTime(){let r=$(".love .love-time");if(0!==r.length){var e=r.attr("data-time");if(/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}$/.test(e)){const c=new Date,d=new Date(e);setInterval(function(){c.setTime(c.getTime()+1e3);var e=parseInt((c-d)/1e3),t=e%60,a=(e=parseInt(e/60))%60;let n=(e=parseInt(e/60))%24,o=parseInt(e/24),s=0,i=d.getFullYear(),l=c.getFullYear();for(;i${o}天${n}${a}${t}秒`},1e3)}else s.innerText=DreamConfig.website_time}},initEffects(){Utils.isMobile()||(DreamConfig.cursor_move&&Utils.cachedScript(`${DreamConfig.theme_base}/source/js/cursor/move/${DreamConfig.cursor_move}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.cursor_click&&Utils.cachedScript(`${DreamConfig.theme_base}/source/js/cursor/click/${DreamConfig.cursor_click}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.enable_live2d&&Utils.cachedScript(DreamConfig.theme_base+"/source/js/autoload.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_sakura_mode&&Utils.cachedScript(DreamConfig.theme_base+"/source/js/effects/sakura.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_universe_mode&&Utils.cachedScript(DreamConfig.theme_base+"/source/js/effects/universe.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_circle_magic_mode&&Utils.cachedScript(DreamConfig.theme_base+"/source/js/effects/circleMagic.min.js?mew="+DreamConfig.theme_version))},loadMaintain(){DreamConfig.enable_baidu_push&&Utils.baiduPush(),DreamConfig.enable_toutiao_push&&Utils.toutiaoPush()},showThemeVersion(){window.logger(`%c页面加载耗时:${Math.round(performance.now())}ms | Theme By Dream `+DreamConfig.theme_version,"color:#fff; background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3); padding: 8px 15px; border-radius: 0 15px 0 15px")}};window.commonContext=t;{const a=["initCarousel","sparkInput","websiteTime"],n=["initEffects","loadMaintain","showThemeVersion"];Object.keys(t).forEach(e=>!a.includes(e)&&!n.includes(e)&&t[e]()),document.addEventListener("DOMContentLoaded",function(){$("html").addClass("loaded"),a.forEach(e=>t[e]&&t[e]())}),window.addEventListener("load",function(){n.forEach(e=>t[e]&&t[e]()),$("html").addClass("ready")})}})(); \ No newline at end of file diff --git a/source/js/cursor/click/firework.min.js b/source/js/cursor/click/firework.min.js new file mode 100644 index 0000000..3979e88 --- /dev/null +++ b/source/js/cursor/click/firework.min.js @@ -0,0 +1 @@ +(()=>{class e{constructor({origin:t,speed:i,color:e,angle:n,context:s}){this.origin=t,this.position={...this.origin},this.color=e,this.speed=i,this.angle=n,this.context=s,this.renderCount=0}draw(){this.context.fillStyle=this.color,this.context.beginPath(),this.context.arc(this.position.x,this.position.y,2,0,2*Math.PI),this.context.fill()}move(){this.position.x=Math.sin(this.angle)*this.speed+this.position.x,this.position.y=Math.cos(this.angle)*this.speed+this.position.y+.3*this.renderCount,this.renderCount++}}class i{constructor({origin:t,context:i,circleCount:e=10,area:n}){this.origin=t,this.context=i,this.circleCount=e,this.area=n,this.stop=!1,this.circles=[]}randomArray(t){var i=t.length;return t[Math.floor(i*Math.random())]}randomColor(){var t=["8","9","A","B","C","D","E","F"];return"#"+this.randomArray(t)+this.randomArray(t)+this.randomArray(t)+this.randomArray(t)+this.randomArray(t)+this.randomArray(t)}randomRange(t,i){return(i-t)*Math.random()+t}init(){for(let t=0;t{if(t.position.x>this.area.width||t.position.y>this.area.height)return this.circles.splice(i,1);t.move()}),0==this.circles.length&&(this.stop=!0)}draw(){this.circles.forEach(t=>t.draw())}}(new class{constructor(){this.computerCanvas=document.createElement("canvas"),this.renderCanvas=document.createElement("canvas"),this.computerContext=this.computerCanvas.getContext("2d"),this.renderContext=this.renderCanvas.getContext("2d"),this.globalWidth=window.innerWidth,this.globalHeight=window.innerHeight,this.booms=[],this.running=!1}handleMouseDown(t){t=new i({origin:{x:t.clientX,y:t.clientY},context:this.computerContext,area:{width:this.globalWidth,height:this.globalHeight}});t.init(),this.booms.push(t),this.running||this.run()}handlePageHide(){this.booms=[],this.running=!1}init(){var t=this.renderCanvas.style;t.position="fixed",t.top=t.left=0,t.zIndex="999999999999999999999999999999999999999999",t.pointerEvents="none",t.width=this.renderCanvas.width=this.computerCanvas.width=this.globalWidth,t.height=this.renderCanvas.height=this.computerCanvas.height=this.globalHeight,document.body.append(this.renderCanvas),window.addEventListener("mousedown",this.handleMouseDown.bind(this)),window.addEventListener("pagehide",this.handlePageHide.bind(this))}run(){if(this.running=!0,0==this.booms.length)return this.running=!1;requestAnimationFrame(this.run.bind(this)),this.computerContext.clearRect(0,0,this.globalWidth,this.globalHeight),this.renderContext.clearRect(0,0,this.globalWidth,this.globalHeight),this.booms.forEach((t,i)=>{if(t.stop)return this.booms.splice(i,1);t.move(),t.draw()}),this.renderContext.drawImage(this.computerCanvas,0,0,this.globalWidth,this.globalHeight)}}).init()})(); \ No newline at end of file diff --git a/source/js/cursor/click/granule.min.js b/source/js/cursor/click/granule.min.js new file mode 100644 index 0000000..23f02c6 --- /dev/null +++ b/source/js/cursor/click/granule.min.js @@ -0,0 +1 @@ +$(function(){var n,i,o,r,t=function(){"use strict";function L(t){return"function"==typeof t}function R(t){return"string"==typeof t}function _(t,e,n){for(var i in e)!n&&t.hasOwnProperty(i)||(t[i]=e[i]);return t}function W(t){var e,n={};for(e in t)n[e]=L(t[e])?function(t,e){return function(){t.apply(e,arguments)}}(t[e],t):t[e];return n}function n(o){function n(t){L(t)&&t.apply(o,[].splice.call(arguments,1))}function t(t){for(f=0;f{var e=r.measureText(t),i=document.createElement("canvas"),n=i.getContext("2d");i.width=e.width,i.height=2*e.actualBoundingBoxAscent,n.textAlign="center",n.font="21px serif",n.textBaseline="middle",n.fillText(t,i.width/2,e.actualBoundingBoxAscent),c.push(i)}),t.addEventListener("mousemove",function(t){t.timeStamp-s<16||window.requestAnimationFrame(()=>{i;{const e=void 0}h.x=t.clientX,h.y=t.clientY,1{var e=c.measureText("*"),i=document.createElement("canvas"),n=i.getContext("2d");i.width=e.width,i.height=e.actualBoundingBoxAscent+e.actualBoundingBoxDescent,n.fillStyle=t,n.textAlign="center",n.font="21px serif",n.textBaseline="middle",n.fillText("*",i.width/2,e.actualBoundingBoxAscent),l.push(i)}),t.addEventListener("mousemove",function(t){window.requestAnimationFrame(()=>{i;{const e=void 0}h.x=t.clientX,h.y=t.clientY,1.5{var e=o.measureText(t),i=document.createElement("canvas"),n=i.getContext("2d");i.width=e.width,i.height=2*e.actualBoundingBoxAscent,n.textAlign="center",n.font="12px serif",n.textBaseline="middle",n.fillText(t,i.width/2,e.actualBoundingBoxAscent),l.push(i)}),t.addEventListener("mousemove",function(t){i,s.x=t.clientX,s.y=t.clientY,r(s.x,s.y,l[Math.floor(Math.random()*n.length)])}),t.addEventListener("touchmove",c,{passive:!0}),t.addEventListener("touchstart",c,{passive:!0}),window.addEventListener("resize",function(t){a=window.innerWidth,h=window.innerHeight,i,e.width=a,e.height=h}),function t(){o.clearRect(0,0,a,h);for(let t=0;t=e-11-1&&(0=t-11&&(0c&&(n=h*(t-c),e.X+=o/t*n,e.Y+=i/t*n)}function f(i){this.position={x:a.x,y:a.y},this.velocity={x:0,y:0},this.canv=i,this.draw=function(i){i.drawImage(this.canv,this.position.x-this.canv.width/2,this.position.y-this.canv.height/2,this.canv.width,this.canv.height)}}{n=document.createElement("canvas"),o=n.getContext("2d"),n.style.top="0px",n.style.left="0px",n.style.pointerEvents="none",e,n.style.position="fixed",document.body.appendChild(n),n.width=y,n.height=l,o.font="16px serif",o.textBaseline="middle",o.textAlign="center";var g=o.measureText("🤪"),m=document.createElement("canvas"),X=m.getContext("2d");m.width=g.width,m.height=2*g.actualBoundingBoxAscent,X.textAlign="center",X.font="16px serif",X.textBaseline="middle",X.fillText("🤪",m.width/2,g.actualBoundingBoxAscent),t=m;let i=0;for(i=0;i<7;i++)d[i]=new f(t);s.addEventListener("mousemove",r),s.addEventListener("touchmove",x,{passive:!0}),s.addEventListener("touchstart",x,{passive:!0}),window.addEventListener("resize",v),p()}}(); \ No newline at end of file diff --git a/source/js/cursor/move/trailingCursor.min.js b/source/js/cursor/move/trailingCursor.min.js new file mode 100644 index 0000000..df1f0b6 --- /dev/null +++ b/source/js/cursor/move/trailingCursor.min.js @@ -0,0 +1 @@ +!function(A){let i,o,n=A,t=(n,document.body),g=window.innerWidth,m=window.innerHeight,E={x:g/2,y:g/2},d=[];const p=A.particles||15;let c=!1,s=new Image;function h(A,i,t){this.position={x:A,y:i},this.image=t,this.move=function(A){A.drawImage(this.image,this.position.x,this.position.y)}}s.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg==",i=document.createElement("canvas"),o=i.getContext("2d"),i.style.top="0px",i.style.left="0px",i.style.pointerEvents="none",n,i.style.position="fixed",document.body.appendChild(i),i.width=g,i.height=m,t.addEventListener("mousemove",function(A){n;{const i=void 0}if(E.x=A.clientX,E.y=A.clientY,!1===c){c=!0;for(let A=0;A'};function i(t,e,r){return t{var t={5987:A=>{"use strict";var w={single_source_shortest_paths:function(A,e,t){var r={},n={};n[e]=0;var B,s,o,i,a,c,g,Q=w.PriorityQueue.make();for(Q.push(e,0);!Q.empty();)for(o in s=(B=Q.pop()).value,i=B.cost,a=A[s]||{})a.hasOwnProperty(o)&&(c=i+a[o],g=n[o],void 0===n[o]||c{"use strict";A.exports=function(A){for(var e=[],t=A.length,r=0;r>6|192),e.push(63&B|128)):B<55296||57344<=B&&B<65536?(e.push(B>>12|224),e.push(B>>6&63|128),e.push(63&B|128)):65536<=B&&B<=1114111?(e.push(B>>18|240),e.push(B>>12&63|128),e.push(B>>6&63|128),e.push(63&B|128)):e.push(239,191,189)}return new Uint8Array(e).buffer}},1120:function(A){A.exports=function(){"use strict";var S=function(A,e){return(S=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(A,e){A.__proto__=e}:function(A,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(A[t]=e[t])}))(A,e)};function A(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=A}S(A,e),A.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}var O=function(){return(O=Object.assign||function(A){for(var e,t=1,r=arguments.length;to[0]&&e[1]>10),s%1024+56320),(n+1===t||16384>5])<<2)+(31&A),this.data[e];if(A<=65535)return e=((e=this.index[2048+(A-55296>>5)])<<2)+(31&A),this.data[e];if(A>11)],e=((e=this.index[e+=A>>5&63])<<2)+(31&A),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},q),W="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Z="undefined"==typeof Uint8Array?[]:new Uint8Array(256),_=0;_>8,r=255&A>>16,A=255&A>>24;return e<255?"rgba("+A+","+r+","+t+","+e/255+")":"rgb("+A+","+r+","+t+")"}function uA(A,e){var t;return 17===A.type?A.number:16===A.type?(t=3===e?1:255,3===e?A.number/100*t:Math.round(A.number/100*t)):0}function CA(A,e){var t,r,n;return 3===(e=e.filter(cA)).length?(t=(n=e.map(uA))[0],r=n[1],n=n[2],se(t,r,n,1)):4===e.length?(t=(e=e.map(uA))[0],r=e[1],n=e[2],e=e[3],se(t,r,n,e)):0}var UA=[9001,65288],d="×",FA=(C=function(A){for(var e,t,r,n,B=.75*A.length,s=A.length,o=0,B=("="===A[A.length-1]&&(B--,"="===A[A.length-2])&&B--,new("undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?ArrayBuffer:Array)(B)),i=Array.isArray(B)?B:new Uint8Array(B),a=0;a>4,i[o++]=(15&t)<<4|r>>2,i[o++]=(3&r)<<6|63&n;return B}("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="),s=Array.isArray(C)?function(A){for(var e=A.length,t=[],r=0;r=this._value.length?-1:this._value[A]},B.prototype.consumeUnicodeRangeToken=function(){for(var A=[],e=this.consumeCodePoint();$(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;63===e&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(h.apply(void 0,A.map(function(A){return 63===A?48:A})),16),end:parseInt(h.apply(void 0,A.map(function(A){return 63===A?70:A})),16)};var r=parseInt(h.apply(void 0,A),16);if(45===this.peekCodePoint(0)&&$(this.peekCodePoint(1))){this.consumeCodePoint();for(var e=this.consumeCodePoint(),n=[];$(e)&&n.length<6;)n.push(e),e=this.consumeCodePoint();return{type:30,start:r,end:parseInt(h.apply(void 0,n),16)}}return{type:30,start:r,end:r}},B.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},B.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var e,t=this.peekCodePoint(0);if(39===t||34===t)return 0===(t=this.consumeStringToken(this.consumeCodePoint())).type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),GA);for(;;){var r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:h.apply(void 0,A)};if(AA(r))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:h.apply(void 0,A)}):(this.consumeBadUrlRemnants(),GA);if(34===r||39===r||40===r||0<=(e=r)&&e<=8||11===e||14<=e&&e<=31||127===e)return this.consumeBadUrlRemnants(),GA;if(92===r){if(!rA(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),GA;A.push(this.consumeEscapedCodePoint())}else A.push(r)}},B.prototype.consumeWhiteSpace=function(){for(;AA(this.peekCodePoint(0));)this.consumeCodePoint()},B.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(41===A||-1===A)return;rA(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},B.prototype.consumeStringSlice=function(A){for(var e="";0>>0};function r(A){this._tokens=A}function B(){this._value=[]}function oe(A,e,t,r){this.codePoints=A,this.required="!"===e,this.start=t,this.end=r}function ie(A,e,t){return t<0&&(t+=1),1<=t&&--t,t<1/6?(e-A)*t*6+A:t<.5?e:t<2/3?6*(e-A)*(2/3-t)+A:A}function ae(A,e){var t,r,n=(e=e.filter(cA))[0],B=e[1],s=e[2],e=e[3],n=(17===n.type?o(n.number):QA(0,n))/(2*Math.PI),B=c(B)?B.number/100:0,s=c(s)?s.number/100:0,e=void 0!==e&&c(e)?x(e,1):1;return 0==B?se(255*s,255*s,255*s,1):(t=ie(B=2*s-(s=s<=.5?s*(1+B):s+B-s*B),s,n+1/3),r=ie(B,s,n),B=ie(B,s,n-1/3),se(255*t,255*r,255*B,e))}function ce(A,e){return A=ne(A,e[0]),(e=e[1])&&c(e)?{color:A,stop:e}:{color:A,stop:null}}function ge(A,t){var e=A[0],r=A[A.length-1];null===e.stop&&(e.stop=l),null===r.stop&&(r.stop=Ae);for(var n=[],B=0,s=0;sA.optimumDistance)?{optimumCorner:e,optimumDistance:t}:A},{optimumDistance:s?1/0:-1/0,optimumCorner:null}).optimumCorner}function we(t,A){var r=o(180),n=[];return a(A).forEach(function(A,e){if(0===e){e=A[0];if(20===e.type&&-1!==["top","left","right","bottom"].indexOf(e.value))return void(r=lA(A));if(wA(e))return void(r=(QA(0,e)+o(270))%o(360))}e=ce(t,A);n.push(e)}),{angle:r,stops:n,type:1}}function le(r,A){var n=0,B=3,s=[],o=[];return a(A).forEach(function(A,e){var t=!0;0===e?t=A.reduce(function(A,e){if(w(e))switch(e.value){case"center":return o.push($A),!1;case"top":case"left":return o.push(l),!1;case"right":case"bottom":return o.push(Ae),!1}else if(c(e)||jA(e))return o.push(e),!1;return A},t):1===e&&(t=A.reduce(function(A,e){if(w(e))switch(e.value){case"circle":return n=0,!1;case ye:return!(n=1);case me:case pe:return B=0,!1;case He:return!(B=1);case Ee:return!(B=2);case"cover":case Ie:return!(B=3)}else if(jA(e)||c(e))return(B=Array.isArray(B)?B:[]).push(e),!1;return A},t)),t&&(e=ce(r,A),s.push(e))}),{size:B,shape:n,stops:s,position:o,type:2}}function ue(A,e){if(22===e.type)return t={url:e.value,type:0},A.cache.addImage(e.value),t;if(18!==e.type)throw new Error("Unsupported image type "+e.type);var t=Ke[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return t(A,e.values)}var Ce,Ue={hsl:ae,hsla:ae,rgb:CA,rgba:CA},Fe=function(A,e){return ne(A,_A.create(e).parseComponentValue())},he={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},de={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(A){if(w(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},fe={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},T=function(A,e){return Math.sqrt(A*A+e*e)},pe="closest-side",He="farthest-side",Ee="closest-corner",Ie="farthest-corner",ye="ellipse",me="contain",Ke={"linear-gradient":function(t,A){var r=o(180),n=[];return a(A).forEach(function(A,e){if(0===e){e=A[0];if(20===e.type&&"to"===e.value)return void(r=lA(A));if(wA(e))return void(r=QA(0,e))}e=ce(t,A);n.push(e)}),{angle:r,stops:n,type:1}},"-moz-linear-gradient":we,"-ms-linear-gradient":we,"-o-linear-gradient":we,"-webkit-linear-gradient":we,"radial-gradient":function(n,A){var B=0,s=3,o=[],i=[];return a(A).forEach(function(A,e){var t,r=!0;0===e&&(t=!1,r=A.reduce(function(A,e){if(t)if(w(e))switch(e.value){case"center":return i.push($A),A;case"top":case"left":return i.push(l),A;case"right":case"bottom":return i.push(Ae),A}else(c(e)||jA(e))&&i.push(e);else if(w(e))switch(e.value){case"circle":return B=0,!1;case ye:return!(B=1);case"at":return!(t=!0);case pe:return s=0,!1;case"cover":case He:return!(s=1);case me:case Ee:return!(s=2);case Ie:return!(s=3)}else if(jA(e)||c(e))return(s=Array.isArray(s)?s:[]).push(e),!1;return A},r)),r&&(e=ce(n,A),o.push(e))}),{size:s,shape:B,stops:o,position:i,type:2}},"-moz-radial-gradient":le,"-ms-radial-gradient":le,"-o-radial-gradient":le,"-webkit-radial-gradient":le,"-webkit-gradient":function(r,A){var e=o(180),n=[],B=1;return a(A).forEach(function(A,e){var t,A=A[0];if(0===e){if(w(A)&&"linear"===A.value)return void(B=1);if(w(A)&&"radial"===A.value)return void(B=2)}18===A.type&&("from"===A.name?(t=ne(r,A.values[0]),n.push({stop:l,color:t})):"to"===A.name?(t=ne(r,A.values[0]),n.push({stop:Ae,color:t})):"color-stop"===A.name&&2===(e=A.values.filter(cA)).length&&(t=ne(r,e[1]),A=e[0],sA(A))&&n.push({stop:{type:16,number:100*A.number,flags:A.flags},color:t}))}),1===B?{angle:(e+o(180))%o(360),stops:n,type:B}:{size:3,shape:0,stops:n,position:[],type:B}}},Le={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){var t;return 0===A.length||20===(t=A[0]).type&&"none"===t.value?[]:A.filter(function(A){return cA(A)&&!(20===A.type&&"none"===A.value||18===A.type&&!Ke[A.name])}).map(function(A){return ue(e,A)})}},be={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(A){if(w(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},ve={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return a(e).map(function(A){return A.filter(c)}).map(gA)}},De={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return a(e).map(function(A){return A.filter(w).map(function(A){return A.value}).join(" ")}).map(Me)}},Me=function(A){switch(A){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};(e=Ce=Ce||{}).AUTO="auto",e.CONTAIN="contain";function xe(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}}function Te(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return gA(e.filter(c))}}}function Se(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(A,e){switch(e){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}}function Oe(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return qA(e)?e.number:0}}}function Ge(A,e){return w(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:c(A)?x(A,e):e}function Ve(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}}function Re(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}}var ke,Ne,Pe={name:"background-size",initialValue:"0",prefix:!(e.COVER="cover"),type:1,parse:function(A,e){return a(e).map(function(A){return A.filter(Je)})}},Je=function(A){return w(A)||c(A)},Xe=xe("top"),Ye=xe("right"),We=xe("bottom"),Ze=xe("left"),_e=Te("top-left"),qe=Te("top-right"),ze=Te("bottom-right"),je=Te("bottom-left"),$e=Se("top"),At=Se("right"),et=Se("bottom"),tt=Se("left"),rt=Oe("top"),nt=Oe("right"),Bt=Oe("bottom"),st=Oe("left"),ot={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},it={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"===e?1:0}},at={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(w).reduce(function(A,e){return A|ct(e.value)},0)}},ct=function(A){switch(A){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},gt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Qt={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(A,e){return!(20===e.type&&"normal"===e.value||17!==e.type&&15!==e.type)?e.number:0}},wt={name:"line-break",initialValue:(t=ke=ke||{}).NORMAL="normal",prefix:!(t.STRICT="strict"),type:2,parse:function(A,e){return"strict"===e?ke.STRICT:ke.NORMAL}},lt={name:"line-height",initialValue:"normal",prefix:!1,type:4},ut={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return 20===e.type&&"none"===e.value?null:ue(A,e)}},Ct={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"===e?0:1}},Ut={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},Ft=Ve("top"),ht=Ve("right"),dt=Ve("bottom"),ft=Ve("left"),pt={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(w).map(function(A){switch(A.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},Ht={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"===e?"break-word":"normal"}},Et=Re("top"),It=Re("right"),yt=Re("bottom"),mt=Re("left"),Kt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(A,e){switch(e){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Lt={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(A,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},bt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(B,A){return 1===A.length&&iA(A[0],"none")?[]:a(A).map(function(A){for(var e={color:he.TRANSPARENT,offsetX:l,offsetY:l,blur:l},t=0,r=0;r>5])<<2)+(31&A),this.data[e];if(A<=65535)return e=((e=this.index[2048+(A-55296>>5)])<<2)+(31&A),this.data[e];if(A>11)],e=((e=this.index[e+=A>>5&63])<<2)+(31&A),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},ur),Qr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wr="undefined"==typeof Uint8Array?[]:new Uint8Array(256),lr=0;lr>10),s%1024+56320),(n+1===t||16384>4,i[o++]=(15&t)<<4|r>>2,i[o++]=(3&r)<<6|63&n;return B}("AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA="),s=Array.isArray(t)?function(A){for(var e=A.length,t=[],r=0;rs.x||t.y>s.y);return s=t,0===e||A}),t.body.removeChild(A),e);return Object.defineProperty(p,"SUPPORT_WORD_BREAKING",{value:t}),t},get SUPPORT_SVG_DRAWING(){var A=function(A){var e=new Image,t=A.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,";try{r.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0}(document);return Object.defineProperty(p,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?function(t){var A=t.createElement("canvas"),r=100,n=(A.width=r,A.height=r,A.getContext("2d"));if(!n)return Promise.reject(!1);n.fillStyle="rgb(0, 255, 0)",n.fillRect(0,0,r,r);var e=new Image,B=A.toDataURL(),A=(e.src=B,Ur(r,r,0,0,e));return n.fillStyle="red",n.fillRect(0,0,r,r),Fr(A).then(function(A){n.drawImage(A,0,0);var A=n.getImageData(0,0,r,r).data,e=(n.fillStyle="red",n.fillRect(0,0,r,r),t.createElement("div"));return e.style.backgroundImage="url("+B+")",e.style.height="100px",Cr(A)?Fr(Ur(r,r,0,0,e)):Promise.reject(!1)}).then(function(A){return n.drawImage(A,0,0),Cr(n.getImageData(0,0,r,r).data)}).catch(function(){return!1})}(document):Promise.resolve(!1);return Object.defineProperty(p,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=void 0!==(new Image).crossOrigin;return Object.defineProperty(p,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(p,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(p,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(p,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},Jr=function(A){var e;if(p.SUPPORT_NATIVE_TEXT_SEGMENTATION)return e=new Intl.Segmenter(void 0,{granularity:"grapheme"}),Array.from(e.segment(A)).map(function(A){return A.segment});r=function(A){for(var e=[],t=0,r=A.length;t"),oB(this.referenceElement.ownerDocument,e,A),B.replaceChild(B.adoptNode(this.documentElement),B.documentElement),B.close(),t):Promise.reject("Unable to find iframe window")},H.prototype.createElementClone=function(A){var e;return or(A,2),yn(A)?this.createCanvasClone(A):Hr(A)?this.createVideoClone(A):Er(A)?this.createStyleClone(A):(e=A.cloneNode(!1),mn(e)&&(mn(A)&&A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading)&&(e.loading="eager"),Ir(e)?this.createCustomElementClone(e):e)},H.prototype.createCustomElementClone=function(A){var e=document.createElement("html2canvascustomelement");return BB(A.style,e),e},H.prototype.createStyleClone=function(A){try{var e,t,r=A.sheet;if(r&&r.cssRules)return e=[].slice.call(r.cssRules,0).reduce(function(A,e){return e&&"string"==typeof e.cssText?A+e.cssText:A},""),(t=A.cloneNode(!1)).textContent=e,t}catch(A){if(this.context.logger.error("Unable to access cssRules property",A),"SecurityError"!==A.name)throw A}return A.cloneNode(!1)},H.prototype.createCanvasClone=function(A){var e;if(this.options.inlineImages&&A.ownerDocument){var t=A.ownerDocument.createElement("img");try{return t.src=A.toDataURL(),t}catch(e){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",A)}}t=A.cloneNode(!1);try{t.width=A.width,t.height=A.height;var r,n,B=A.getContext("2d"),s=t.getContext("2d");s&&(!this.options.allowTaint&&B?s.putImageData(B.getImageData(0,0,A.width,A.height),0,0):((r=null!=(e=A.getContext("webgl2"))?e:A.getContext("webgl"))&&!1===(null==(n=r.getContextAttributes())?void 0:n.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A),s.drawImage(A,0,0)))}catch(e){this.context.logger.info("Unable to clone canvas as it is tainted",A)}return t},H.prototype.createVideoClone=function(A){var e=A.ownerDocument.createElement("canvas"),t=(e.width=A.offsetWidth,e.height=A.offsetHeight,e.getContext("2d"));try{return t&&(t.drawImage(A,0,0,e.width,e.height),this.options.allowTaint||t.getImageData(0,0,e.width,e.height)),e}catch(e){this.context.logger.info("Unable to clone video as it is tainted",A)}t=A.ownerDocument.createElement("canvas");return t.width=A.offsetWidth,t.height=A.offsetHeight,t},H.prototype.appendChildNode=function(A,e,t){hn(e)&&("SCRIPT"===e.tagName||e.hasAttribute(Rn)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(e))||this.options.copyStyles&&hn(e)&&Er(e)||A.appendChild(this.cloneNode(e,t))},H.prototype.cloneChildNodes=function(A,e,t){for(var r,n=this,B=(A.shadowRoot||A).firstChild;B;B=B.nextSibling)hn(B)&&vn(B)&&"function"==typeof B.assignedNodes?(r=B.assignedNodes()).length&&r.forEach(function(A){return n.appendChildNode(e,A,t)}):this.appendChildNode(e,B,t)},H.prototype.cloneNode=function(A,e){var t,r,n,B,s;return Fn(A)?document.createTextNode(A.data):A.ownerDocument&&(n=A.ownerDocument.defaultView)&&hn(A)&&(dn(A)||fn(A))?((t=this.createElementClone(A)).style.transitionProperty="none",r=n.getComputedStyle(A),s=n.getComputedStyle(A,":before"),n=n.getComputedStyle(A,":after"),this.referenceElement===A&&dn(t)&&(this.clonedReferenceElement=t),pr(t)&&QB(t),B=this.counters.parse(new sr(this.context,r)),s=this.resolvePseudoContent(A,t,s,Lr.BEFORE),Ir(A)&&(e=!0),Hr(A)||this.cloneChildNodes(A,t,e),s&&t.insertBefore(s,t.firstChild),(s=this.resolvePseudoContent(A,t,n,Lr.AFTER))&&t.appendChild(s),this.counters.pop(B),(r&&(this.options.copyStyles||fn(A))&&!Kn(A)||e)&&BB(r,t),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([t,A.scrollLeft,A.scrollTop]),(Ln(A)||bn(A))&&(Ln(t)||bn(t))&&(t.value=A.value),t):A.cloneNode(!1)},H.prototype.resolvePseudoContent=function(s,A,e,t){var o=this;if(e){var i,a,r=e.content,c=A.ownerDocument;if(c&&r&&"none"!==r&&"-moz-alt-content"!==r&&"none"!==e.display)return this.counters.parse(new sr(this.context,e)),i=new Br(this.context,e),a=c.createElement("html2canvaspseudoelement"),BB(e,a),i.content.forEach(function(A){if(0===A.type)a.appendChild(c.createTextNode(A.value));else if(22===A.type){var e=c.createElement("img");e.src=A.value,e.style.opacity="1",a.appendChild(e)}else if(18===A.type){var t,r,n,B;"attr"===A.name?(e=A.values.filter(w)).length&&a.appendChild(c.createTextNode(s.getAttribute(e[0].value)||"")):"counter"===A.name?(n=(e=A.values.filter(cA))[0],B=e[1],n&&w(n)&&(e=o.counters.getCounterValue(n.value),t=B&&w(B)?Ut.parse(o.context,B.value):3,a.appendChild(c.createTextNode(Vn(e,t,!1))))):"counters"===A.name&&(n=(e=A.values.filter(cA))[0],t=e[1],B=e[2],n)&&w(n)&&(e=o.counters.getCounterValues(n.value),r=B&&w(B)?Ut.parse(o.context,B.value):3,n=t&&0===t.type?t.value:"",B=e.map(function(A){return Vn(A,r,!1)}).join(n),a.appendChild(c.createTextNode(B)))}else if(20===A.type)switch(A.value){case"open-quote":a.appendChild(c.createTextNode($t(i.quotes,o.quoteDepth++,!0)));break;case"close-quote":a.appendChild(c.createTextNode($t(i.quotes,--o.quoteDepth,!1)));break;default:a.appendChild(c.createTextNode(A.value))}}),a.className=aB+" "+cB,r=t===Lr.BEFORE?" "+aB:" "+cB,fn(A)?A.className.baseValue+=r:A.className+=r,a}},H.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},H);function H(A,e,t){if(this.context=A,this.options=t,this.scrolledElements=[],this.referenceElement=e,this.counters=new Dn,this.quoteDepth=0,!e.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(e.ownerDocument.documentElement,!1)}function Nn(){this.counters={}}function Pn(A,e){var t,r,n=br.call(this,A,e)||this;n.src=e.src,n.width=parseInt(e.width,10)||0,n.height=parseInt(e.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{e.contentWindow&&e.contentWindow.document&&e.contentWindow.document.documentElement&&(n.tree=un(A,e.contentWindow.document.documentElement),t=e.contentWindow.document.documentElement?Fe(A,getComputedStyle(e.contentWindow.document.documentElement).backgroundColor):he.TRANSPARENT,r=e.contentWindow.document.body?Fe(A,getComputedStyle(e.contentWindow.document.body).backgroundColor):he.TRANSPARENT,n.backgroundColor=Be(t)?Be(r)?n.styles.backgroundColor:r:t)}catch(A){}return n}function Jn(A,e){A=vr.call(this,A,e)||this;return A.value=e.value,A}function Xn(A,e){A=Dr.call(this,A,e)||this,e=e.options[e.selectedIndex||0];return A.value=e&&e.text||"",A}function Yn(A,e){var t=Mr.call(this,A,e)||this;switch(t.type=e.type.toLowerCase(),t.checked=e.checked,t.value=0===(e=(A=e).type===Bn?new Array(A.value.length+1).join("•"):A.value).length?A.placeholder||"":e,t.type!==rn&&t.type!==nn||(t.styles.backgroundColor=3739148031,t.styles.borderTopColor=t.styles.borderRightColor=t.styles.borderBottomColor=t.styles.borderLeftColor=2779096575,t.styles.borderTopWidth=t.styles.borderRightWidth=t.styles.borderBottomWidth=t.styles.borderLeftWidth=1,t.styles.borderTopStyle=t.styles.borderRightStyle=t.styles.borderBottomStyle=t.styles.borderLeftStyle=1,t.styles.backgroundClip=[0],t.styles.backgroundOrigin=[0],t.bounds=(A=t.bounds).width>A.height?new I(A.left+(A.width-A.height)/2,A.top,A.height,A.height):A.widtht.width+C?0:Math.max(0,B-C),Math.max(0,s-u),E.TOP_RIGHT):new y(t.left+t.width-C,t.top+u),this.bottomRightPaddingBox=0t.width+F+e?0:B-F+e,s-(u+h),E.TOP_RIGHT):new y(t.left+t.width-(C+d),t.top+u+h),this.bottomRightContentBox=0"),e},oB=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},iB=function(A){var e=A[0],t=A[1],A=A[2];e.scrollLeft=t,e.scrollTop=A},aB="___html2canvas___pseudoelement_before",cB="___html2canvas___pseudoelement_after",gB='{\n content: "" !important;\n display: none !important;\n}',QB=function(A){wB(A,"."+aB+":before"+gB+"\n ."+cB+":after"+gB)},wB=function(A,e){var t=A.ownerDocument;t&&((t=t.createElement("style")).textContent=e,A.appendChild(t))},lB=(K.getOrigin=function(A){var e=K._link;return e?(e.href=A,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},K.isSameOrigin=function(A){return K.getOrigin(A)===K._origin},K.setContext=function(A){K._link=A.document.createElement("a"),K._origin=K.getOrigin(A.location.href)},K._origin="about:blank",K),uB=(mB.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)||(pB(A)||hB(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),e},mB.prototype.match=function(A){return this._cache[A]},mB.prototype.loadImage=function(s){return g(this,void 0,void 0,function(){var e,r,t,n,B=this;return D(this,function(A){switch(A.label){case 0:return e=lB.isSameOrigin(s),r=!dB(s)&&!0===this._options.useCORS&&p.SUPPORT_CORS_IMAGES&&!e,t=!dB(s)&&!e&&!pB(s)&&"string"==typeof this._options.proxy&&p.SUPPORT_CORS_XHR&&!r,e||!1!==this._options.allowTaint||dB(s)||pB(s)||t||r?(n=s,t?[4,this.proxy(n)]:[3,2]):[2];case 1:n=A.sent(),A.label=2;case 2:return this.context.logger.debug("Added image "+s.substring(0,256)),[4,new Promise(function(A,e){var t=new Image;t.onload=function(){return A(t)},t.onerror=e,(fB(n)||r)&&(t.crossOrigin="anonymous"),t.src=n,!0===t.complete&&setTimeout(function(){return A(t)},500),0A.element.container.styles.zIndex.order?(r=e,!1):0=A.element.container.styles.zIndex.order?(n=e+1,!1):0{const o=t(7138),i=t(5115),r=t(6907),n=t(3776);function B(t,r,n,B,A){var e=[].slice.call(arguments,1),s=e.length,e="function"==typeof e[s-1];if(!e&&!o())throw new Error("Callback required as last argument");if(!e){if(s<1)throw new Error("Too few arguments provided");return 1===s?(n=r,r=B=void 0):2!==s||r.getContext||(B=n,n=r,r=void 0),new Promise(function(A,e){try{const e=i.create(n,B);A(t(e,r,B))}catch(A){e(A)}})}if(s<2)throw new Error("Too few arguments provided");2===s?(A=n,n=r,r=B=void 0):3===s&&(r.getContext&&void 0===A?(A=B,B=void 0):(A=B,B=n,n=r,r=void 0));try{const o=i.create(n,B);A(null,t(o,r,B))}catch(t){A(t)}}e.create=i.create,e.toCanvas=B.bind(null,r.render),e.toDataURL=B.bind(null,r.renderToDataURL),e.toString=B.bind(null,function(A,e,t){return n.render(A,t)})},7138:A=>{A.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},1845:(A,e,t)=>{const n=t(242).getSymbolSize;e.getRowColCoords=function(A){if(1===A)return[];var e=Math.floor(A/7)+2,A=n(A),t=145===A?26:2*Math.ceil((A-13)/(2*e-2)),r=[A-7];for(let A=1;A{const r=t(6910),n=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function B(A){this.mode=r.ALPHANUMERIC,this.data=A}B.getBitsLength=function(A){return 11*Math.floor(A/2)+A%2*6},B.prototype.getLength=function(){return this.data.length},B.prototype.getBitsLength=function(){return B.getBitsLength(this.data.length)},B.prototype.write=function(A){let e;for(e=0;e+2<=this.data.length;e+=2){var t=45*n.indexOf(this.data[e]);t+=n.indexOf(this.data[e+1]),A.put(t,11)}this.data.length%2&&A.put(n.indexOf(this.data[e]),6)},A.exports=B},7245:A=>{function e(){this.buffer=[],this.length=0}e.prototype={get:function(A){var e=Math.floor(A/8);return 1==(this.buffer[e]>>>7-A%8&1)},put:function(e,t){for(let A=0;A>>t-A-1&1))},getLengthInBits:function(){return this.length},putBit:function(A){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),A&&(this.buffer[e]|=128>>>this.length%8),this.length++}},A.exports=e},3280:A=>{function e(A){if(!A||A<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=A,this.data=new Uint8Array(A*A),this.reservedBit=new Uint8Array(A*A)}e.prototype.set=function(A,e,t,r){A=A*this.size+e;this.data[A]=t,r&&(this.reservedBit[A]=!0)},e.prototype.get=function(A,e){return this.data[A*this.size+e]},e.prototype.xor=function(A,e,t){this.data[A*this.size+e]^=t},e.prototype.isReserved=function(A,e){return this.reservedBit[A*this.size+e]},A.exports=e},3424:(A,e,t)=>{const r=t(2378),n=t(6910);function B(A){this.mode=n.BYTE,"string"==typeof A&&(A=r(A)),this.data=new Uint8Array(A)}B.getBitsLength=function(A){return 8*A},B.prototype.getLength=function(){return this.data.length},B.prototype.getBitsLength=function(){return B.getBitsLength(this.data.length)},B.prototype.write=function(t){for(let A=0,e=this.data.length;A{const r=t(4908),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],B=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(A,e){switch(e){case r.L:return n[4*(A-1)+0];case r.M:return n[4*(A-1)+1];case r.Q:return n[4*(A-1)+2];case r.H:return n[4*(A-1)+3];default:return}},e.getTotalCodewordsCount=function(A,e){switch(e){case r.L:return B[4*(A-1)+0];case r.M:return B[4*(A-1)+1];case r.Q:return B[4*(A-1)+2];case r.H:return B[4*(A-1)+3];default:return}}},4908:(A,r)=>{r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2},r.isValid=function(A){return A&&void 0!==A.bit&&0<=A.bit&&A.bit<4},r.from=function(A,e){if(r.isValid(A))return A;try{var t=A;if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+t)}}catch(A){return e}}},6526:(A,e,t)=>{const r=t(242).getSymbolSize;e.getPositions=function(A){A=r(A);return[[0,0],[A-7,0],[0,A-7]]}},1642:(A,e,t)=>{const r=t(242),n=r.getBCHDigit(1335);e.getEncodedBits=function(A,e){A=A.bit<<3|e;let t=A<<10;for(;0<=r.getBCHDigit(t)-n;)t^=1335<{const t=new Uint8Array(512),r=new Uint8Array(256);{let e=1;for(let A=0;A<255;A++)t[A]=e,r[e]=A,256&(e<<=1)&&(e^=285);for(let A=255;A<512;A++)t[A]=t[A-255]}e.log=function(A){if(A<1)throw new Error("log("+A+")");return r[A]},e.exp=function(A){return t[A]},e.mul=function(A,e){return 0===A||0===e?0:t[r[A]+r[e]]}},5442:(A,e,t)=>{const r=t(6910),n=t(242);function B(A){this.mode=r.KANJI,this.data=A}B.getBitsLength=function(A){return 13*A},B.prototype.getLength=function(){return this.data.length},B.prototype.getBitsLength=function(){return B.getBitsLength(this.data.length)},B.prototype.write=function(e){let t;for(t=0;t>>8&255)+(255&A),e.put(A,13)}},A.exports=B},7126:(A,s)=>{s.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},s.isValid=function(A){return null!=A&&""!==A&&!isNaN(A)&&0<=A&&A<=7},s.from=function(A){return s.isValid(A)?parseInt(A,10):void 0},s.getPenaltyN1=function(t){var r=t.size;let n=0,B=0,s=0,o=null,i=null;for(let e=0;e{const t=e(3114),n=e(7007);r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(A,e){if(!A.ccBits)throw new Error("Invalid mode: "+A);if(t.isValid(e))return 1<=e&&e<10?A.ccBits[0]:e<27?A.ccBits[1]:A.ccBits[2];throw new Error("Invalid version: "+e)},r.getBestModeForData=function(A){return n.testNumeric(A)?r.NUMERIC:n.testAlphanumeric(A)?r.ALPHANUMERIC:n.testKanji(A)?r.KANJI:r.BYTE},r.toString=function(A){if(A&&A.id)return A.id;throw new Error("Invalid mode")},r.isValid=function(A){return A&&A.bit&&A.ccBits},r.from=function(A,e){if(r.isValid(A))return A;try{var t=A;if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+t)}}catch(A){return e}}},1085:(A,e,t)=>{const r=t(6910);function n(A){this.mode=r.NUMERIC,this.data=A.toString()}n.getBitsLength=function(A){return 10*Math.floor(A/3)+(A%3?A%3*3+1:0)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(A){let e,t,r;for(e=0;e+3<=this.data.length;e+=3)t=this.data.substr(e,3),r=parseInt(t,10),A.put(r,10);var n=this.data.length-e;0{const B=e(9729);r.mul=function(t,r){var n=new Uint8Array(t.length+r.length-1);for(let e=0;e{const m=t(242),B=t(4908),K=t(7245),L=t(3280),b=t(1845),v=t(6526),D=t(7126),M=t(5393),x=t(2882),T=t(3103),o=t(1642),S=t(6910),O=t(6130);function G(A,e,t){var r=A.size,n=o.getEncodedBits(e,t);let B,s;for(B=0;B<15;B++)s=1==(n>>B&1),B<6?A.set(B,8,s,!0):B<8?A.set(B+1,8,s,!0):A.set(r-15+B,8,s,!0),B<8?A.set(8,r-B-1,s,!0):B<9?A.set(8,15-B-1+1,s,!0):A.set(8,15-B-1,s,!0);A.set(r-8,8,1,!0)}function s(e,t,r,A){let n;if(Array.isArray(e))n=O.fromArray(e);else{if("string"!=typeof e)throw new Error("Invalid data");{let A=t;if(!A){const t=O.rawSplit(e);A=T.getBestVersionForData(t,r)}n=O.fromString(e,A||40)}}e=T.getBestVersionForData(n,r);if(!e)throw new Error("The amount of data is too big to be stored in a QR Code");if(t){if(t>A&1),U.set(F,h,d,!0),U.set(h,F,d,!0)}{var H=s,E=e,I=H.size;let A=-1,r=I-1,n=7,B=0;for(let t=I-1;0>>n&1)),H.set(r,t-e,A),-1===--n&&(B++,n=7)}if((r+=A)<0||I<=r){r-=A,A=-A;break}}}return isNaN(A)&&(A=D.getBestMask(s,G.bind(null,s,r))),D.applyMask(A,s),G(s,r,A),{modules:s,version:t,errorCorrectionLevel:r,maskPattern:A,segments:n}}e.create=function(A,e){if(void 0===A||""===A)throw new Error("No input text");let t,r,n=B.M;return void 0!==e&&(n=B.from(e.errorCorrectionLevel,B.M),t=T.from(e.version),r=D.from(e.maskPattern),e.toSJISFunc)&&m.setToSJISFunction(e.toSJISFunc),s(A,t,n,r)}},2882:(A,e,t)=>{const r=t(6143);function n(A){this.genPoly=void 0,this.degree=A,this.degree&&this.initialize(this.degree)}n.prototype.initialize=function(A){this.degree=A,this.genPoly=r.generateECPolynomial(this.degree)},n.prototype.encode=function(A){if(!this.genPoly)throw new Error("Encoder not initialized");var e=new Uint8Array(A.length+this.degree),e=(e.set(A),r.mod(e,this.genPoly)),t=this.degree-e.length;if(0{var t,r="(?:(?![A-Z0-9 $%*+\\-./:]|"+(t="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+".replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";e.KANJI=new RegExp(t,"g"),e.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),e.BYTE=new RegExp(r,"g"),e.NUMERIC=new RegExp("[0-9]+","g"),e.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const n=new RegExp("^"+t+"$"),B=new RegExp("^[0-9]+$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");e.testKanji=function(A){return n.test(A)},e.testNumeric=function(A){return B.test(A)},e.testAlphanumeric=function(A){return s.test(A)}},6130:(A,B,e)=>{const g=e(6910),n=e(1085),s=e(8260),o=e(3424),i=e(5442),a=e(7007),c=e(242),Q=e(5987);function w(A){return unescape(encodeURIComponent(A)).length}function l(A,e,t){for(var r,n=[];null!==(r=A.exec(t));)n.push({data:r[0],index:r.index,mode:e,length:r[0].length});return n}function u(A){var e=l(a.NUMERIC,g.NUMERIC,A),t=l(a.ALPHANUMERIC,g.ALPHANUMERIC,A);let r,n;return n=c.isKanjiModeEnabled()?(r=l(a.BYTE,g.BYTE,A),l(a.KANJI,g.KANJI,A)):(r=l(a.BYTE_KANJI,g.BYTE,A),[]),e.concat(t,r,n).sort(function(A,e){return A.index-e.index}).map(function(A){return{data:A.data,mode:A.mode,length:A.length}})}function C(A,e){switch(e){case g.NUMERIC:return n.getBitsLength(A);case g.ALPHANUMERIC:return s.getBitsLength(A);case g.KANJI:return i.getBitsLength(A);case g.BYTE:return o.getBitsLength(A)}}function t(A,e){let t;var r=g.getBestModeForData(A);if((t=g.from(e,r))!==g.BYTE&&t.bit{let t;const r=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(A){if(!A)throw new Error('"version" cannot be null or undefined');if(A<1||40>>=1;return e},e.setToSJISFunction=function(A){if("function"!=typeof A)throw new Error('"toSJISFunc" is not a valid function.');t=A},e.isKanjiModeEnabled=function(){return void 0!==t},e.toSJIS=function(A){return t(A)}},3114:(A,e)=>{e.isValid=function(A){return!isNaN(A)&&1<=A&&A<=40}},3103:(A,i,e)=>{const n=e(242),B=e(5393),a=e(4908),c=e(6910),s=e(3114),t=n.getBCHDigit(7973);function g(A,e){return c.getCharCountIndicator(A,e)+4}i.from=function(A,e){return s.isValid(A)?parseInt(A,10):e},i.getCapacity=function(A,e,t){if(!s.isValid(A))throw new Error("Invalid QR Code version");void 0===t&&(t=c.BYTE);e=8*(n.getSymbolTotalCodewords(A)-B.getTotalCodewordsCount(A,e));if(t===c.MIXED)return e;var r=e-g(t,A);switch(t){case c.NUMERIC:return Math.floor(r/10*3);case c.ALPHANUMERIC:return Math.floor(r/11*2);case c.KANJI:return Math.floor(r/13);default:c.BYTE;return Math.floor(r/8)}},i.getBestVersionForData=function(A,e){let t;e=a.from(e,a.M);if(Array.isArray(A)){if(1{const s=e(9653);n.render=function(A,e,t){let r=t,n=e;void 0!==r||e&&e.getContext||(r=e,e=void 0),e||(n=function(){try{return document.createElement("canvas")}catch(A){throw new Error("You need to specify a canvas element")}}()),r=s.getOptions(r);var t=s.getImageWidth(A.modules.size,r),e=n.getContext("2d"),B=e.createImageData(t,t);return s.qrToImageData(B.data,A,r),A=n,t=t,e.clearRect(0,0,A.width,A.height),A.style||(A.style={}),A.height=t,A.width=t,A.style.height=t+"px",A.style.width=t+"px",e.putImageData(B,0,0),n},n.renderToDataURL=function(A,e,t){let r=t;void 0!==r||e&&e.getContext||(r=e,e=void 0),r=r||{};t=n.render(A,e,r),A=r.type||"image/png",e=r.rendererOpts||{};return t.toDataURL(A,e.quality)}},3776:(A,e,t)=>{const s=t(9653);function o(A,e){var t=A.a/255,A=e+'="'+A.hex+'"';return t<1?A+" "+e+'-opacity="'+t.toFixed(2).slice(1)+'"':A}function c(A,e,t){let r=A+e;return void 0!==t&&(r+=" "+t),r}e.render=function(A,e,t){var e=s.getOptions(e),r=A.modules.size,A=A.modules.data,n=r+2*e.margin,B=e.color.light.a?"':"",A="',r=''+B+A+"\n";return"function"==typeof t&&t(null,r),r}},9653:(A,r)=>{function n(A){if("string"!=typeof(A="number"==typeof A?A.toString():A))throw new Error("Color should be defined as hex string");let e=A.slice().replace("#","").split("");if(e.length<3||5===e.length||8>24&255,g:A>>16&255,b:A>>8&255,a:255&A,hex:"#"+e.slice(0,6).join("")}}r.getOptions=function(A){(A=A||{}).color||(A.color={});var e=void 0===A.margin||null===A.margin||A.margin<0?4:A.margin,t=A.width&&21<=A.width?A.width:void 0,r=A.scale||4;return{width:t,scale:t?4:r,margin:e,color:{dark:n(A.color.dark||"#000000ff"),light:n(A.color.light||"#ffffffff")},type:A.type,rendererOpts:A.rendererOpts||{}}},r.getScale=function(A,e){return e.width&&e.width>=A+2*e.margin?e.width/(A+2*e.margin):e.scale},r.getImageWidth=function(A,e){var t=r.getScale(A,e);return Math.floor((A+2*e.margin)*t)},r.qrToImageData=function(n,A,B){var s=A.modules.size,o=A.modules.data,i=r.getScale(s,B),a=Math.floor((s+2*B.margin)*i),c=B.margin*i,g=[B.color.light,B.color.dark];for(let r=0;r=c&&t>=c&&r{var e=A&&A.__esModule?()=>A.default:()=>A;return n.d(e,{a:e}),e},n.d=(A,e)=>{for(var t in e)n.o(e,t)&&!n.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},n.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{"use strict";var o=n(2592),A=n(1120),r=n.n(A);const i={qq:{name:"QQ",template:"http://connect.qq.com/widget/shareqq/index.html?url={{URL}}&title={{TITLE}}&source={{SOURCE}}&desc={{DESCRIPTION}}&pics={{IMAGE}}&summary={{SUMMARY}}"},qzone:{name:"QQ空间",template:"http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={{URL}}&title={{TITLE}}&desc={{DESCRIPTION}}&summary={{SUMMARY}}&site={{SOURCE}}&pics={{IMAGE}}"},wechat:{name:"微信"},weibo:{name:"新浪微博",template:"https://service.weibo.com/share/share.php?url={{URL}}&title={{TITLE}}&pic={{IMAGE}}&appkey={{KEY}}"},douban:{name:"豆瓣",template:"http://shuo.douban.com/!service/share?href={{URL}}&name={{TITLE}}&text={{DESCRIPTION}}&image={{IMAGE}}&starid=0&aid=0&style=11"},linkedin:{name:"Linkedin",template:"http://www.linkedin.com/shareArticle?mini=true&ro=true&title={{TITLE}}&url={{URL}}&summary={{SUMMARY}}&source={{SOURCE}}&armin=armin"},facebook:{name:"FaceBook",template:"https://www.facebook.com/sharer/sharer.php?u={{URL}}"},twitter:{name:"Twitter",template:"https://twitter.com/intent/tweet?text={{TITLE}}&url={{URL}}&via={{ORIGIN}}"},google:{name:"Google",template:"https://plus.google.com/share?url={{URL}}"},link:{name:"复制链接"},poster:{name:"海报"}};let a;function c(e){o.toDataURL(e.url).then(A=>{$("body").append(`
    ${e.image?`
    ${e.title}封面
    `:""}${""!==e.title?`

    ${e.title}

    `:""}

    ${e.description}

    `);let t=$(".dshare-poster-crad");t.click(A=>A.stopPropagation()),$(".dshare-poster-download").click(A=>{A.stopPropagation();var A=t.outerWidth(),e=t.outerHeight();r()(t[0],{height:e,width:A,useCORS:!0,scale:2,onclone(A){A.getElementsByClassName("dshare-poster-crad")[0].style.transform="none",A.getElementsByClassName("dshare-poster-crad")[0].style["border-radius"]=0}}).then(A=>{var e=document.createElement("a");e.href=A.toDataURL("image/png"),e.download=`share-${(new Date).getTime()}.png`,e.click(),$(".dshare-poster").click()})})})}function g(A){var e,A=Object.assign({url:location.href,origin:location.origin,source:t("site")||t("Site")||document.title,title:t("title")||t("Title")||document.title,description:t("description")||t("Description")||"",image:void 0,imageSelector:void 0,weiboKey:"",sites:["qq","qzone","wechat","weibo","douban","linkedin","facebook","twitter","google","link","poster"]},A);return A.summary||(A.summary=A.description),!A.image&&A.imageSelector&&(e=$(A.imageSelector),A.image=e.filter("img[src]").first().attr("src")||e.find("img[src]").first().attr("src")),A.image&&("//"===A.image.substring(0,2)?A.image=location.protocol+A.image:"/"===A.image.substring(0,1)&&(A.image=location.origin+A.image)),A}function t(A){return(document.getElementsByName(A)[0]||0).content}window.DShare={create(A,e){var t,r,n=$("body");n.off("click",".icon-poster"),a&&a.destroy();const B=g(e);(A=$(A)).addClass("dshare-container");for(t of B.sites){var s="icon-"+t;A.append(`'):n.removeClass("fold")})}};window.journalPjax=function(e){0!==$(".card.journal").length&&Object.keys(i).forEach(n=>window.pjaxSerialNumber===e&&i[n]())},window.pjaxSerialNumber||i.initEvent(),window.pjaxSerialNumber||i.initLike(),document.addEventListener("DOMContentLoaded",function(){window.pjaxSerialNumber||i.foldJournals()})})(); \ No newline at end of file diff --git a/source/js/mew-custom.min.js b/source/js/mew-custom.min.js new file mode 100644 index 0000000..e56a2ad --- /dev/null +++ b/source/js/mew-custom.min.js @@ -0,0 +1,15 @@ +(()=>{class i extends HTMLElement{constructor(){super(),this.hasAttribute("draw")||this.init()}drawComplete(){this.setAttribute("draw",!0)}}document.addEventListener("DOMContentLoaded",()=>{customElements.define("mew-hide",class extends i{init(){var t=$(this),i=t.closest(".main-content");this.options={target:i.attr("data-target"),id:i.attr("data-id")},this.options.target&&this.options.id&&((i=(i=localStorage.getItem(window.encrypt("mew-hide-"+this.options.target)))?JSON.parse(window.decrypt(i)):[]).includes(this.options.id)?(t.before(this.innerHTML),t.remove()):(i=0!==t.find("h1,h2,h3,h4,h5").length,this.setAttribute("hide",window.encrypt(this.innerHTML)),this.innerHTML="",i&&(this.setAttribute("toc",!0),commonContext.initTocAndNotice()),this.onclick=function(){var t=$(`halo-comment[id='${this.options.id}'][type='${this.options.target.substring(0,this.options.target.length-1)}']`);0===t.length||t.is(":hidden")||Utils.animateScroll(t[0],20,(window.innerHeight||document.documentElement.clientHeight)/4)})),this.drawComplete()}}),customElements.define("mew-subtitle",class extends i{init(){this.innerHTML=`${this.innerText||"默认标题"}`,this.drawComplete()}}),customElements.define("mew-music",class i extends HTMLElement{constructor(){super(),this.innerHTML="音乐播放器加载中...",this.options={container:this,theme:this.getAttribute("theme")||"var(--theme)",loop:this.getAttribute("loop")||"all",autoplay:this.hasAttribute("autoplay")&&"false"!==this.getAttribute("autoplay"),lrcType:3},"APlayer"in window?this.render():i.prototype.load?i.prototype.await.push(()=>this.render()):(i.prototype.load=!0,i.prototype.await=[],new Promise(t=>{$("head").append(''),Utils.cachedScript("https://unpkg.com/aplayer@1.10.1/dist/APlayer.min.js").done(()=>t()).fail(()=>t())}).then(()=>{this.render(),i.prototype.await&&i.prototype.await.forEach(t=>t())}))}render(){"APlayer"in window?new Promise(async t=>{if(this.hasAttribute("song"))this.options.audio=await fetch("https://api.i-meto.com/meting/api?server=netease&type=song&id="+this.getAttribute("song")).then(t=>t.json());else if(this.hasAttribute("playlist"))this.options.listFolded=this.getAttribute("fold"),this.options.order=this.getAttribute("order"),this.options.audio=await fetch("https://api.i-meto.com/meting/api?server=netease&type=playlist&id="+this.getAttribute("playlist")).then(t=>t.json());else{if(!this.hasAttribute("url"))return this.innerHTML="未指定播放的音乐!",t();this.options.audio=[{name:this.getAttribute("name")||"音乐",url:this.getAttribute("url"),artist:this.getAttribute("artist")||"未知歌手",cover:this.getAttribute("cover"),lrc:this.getAttribute("lrc")||(this.options.lrcType=void 0)}]}this.aplayer=new APlayer(this.options),t()}):this.innerHTML="未开启音乐播放器!"}disconnectedCallback(){this.aplayer&&this.aplayer.destroy()}}),customElements.define("mew-bilibili",class extends i{init(){this.options={bvid:this.getAttribute("bvid"),width:/^\d{1,3}%$/.test(this.getAttribute("width"))?this.getAttribute("width"):"100%"},this.options.bvid?(this.style.padding=`calc(${this.options.width} * 0.3) 0`,this.innerHTML=``):this.innerHTML="bvid未填写!",this.drawComplete()}}),customElements.define("mew-tabs",class extends i{init(){var t=$(this).children("mew-tab-page");if(0===t.length)this.innerHTML="没有标签页!";else{let s="",o="",n=!1;t.each((t,i)=>{var e=i.getAttribute("title")||"默认标签",t=t+"-"+(new Date).getTime();!n&&i.hasAttribute("active")?(n=!0,s+=`
    ${e}
    `,o+=`
    ${i.innerHTML}
    `):(s+=`
    ${e}
    `,o+=`
    ${i.innerHTML}
    `)}),this.innerHTML=`
    ${s}
    ${o}
    `,n||$(this).find("div>div:first-child").addClass("active")}this.drawComplete()}connectedCallback(){$(this).find(".tabs-head").on("click","div:not(.active)",function(){var t=$(this).parent().parent();t.find(".active").removeClass("active"),$(this).addClass("active"),t.find($(this).attr("data-id")).addClass("active")})}}),customElements.define("mew-cloud",class extends i{init(){this.options={type:this.getAttribute("type")||"default",title:this.innerText||"资源文件分享",url:this.getAttribute("url"),password:this.getAttribute("password")};var t={default:"网络来源",360:"360云盘",bd:"百度网盘",wy:"微云",ali:"阿里云盘",github:"Github仓库",gitee:"Gitee仓库",lz:"蓝奏云网盘"};this.innerHTML=` + +
    +
    ${this.options.title}
    +
    来源:${t[this.options.type]||"网络来源"}${this.options.password?" | 提取码:"+this.options.password:""}
    +
    +
    + + + `,this.drawComplete()}}),customElements.define("mew-progress",class extends i{init(){this.options={value:/^\d{1,3}%$/.test(this.getAttribute("value"))?this.getAttribute("value"):"50%",color:this.getAttribute("color")||"var(--theme)"},this.innerHTML=`
    +
    +
    +
    ${this.options.value}
    `,this.drawComplete()}}),customElements.define("mew-panel",class extends i{init(){this.options={title:this.getAttribute("title")||"",color:this.getAttribute("color")||"var(--theme)"},this.innerHTML=` +
    ${this.options.title}
    +
    ${this.innerHTML}
    `,this.style.background=this.options.color,this.style.color=this.options.color,this.drawComplete()}}),customElements.define("mew-message",class extends i{init(){this.options={type:/^(success|info|warning|error)$/.test(this.getAttribute("type"))?this.getAttribute("type"):"info",content:this.innerHTML||"消息内容"},this.innerHTML=this.options.content,this.setAttribute("type",this.options.type),this.drawComplete()}}),customElements.define("mew-hr",class extends i{init(){this.startColor=this.getAttribute("startColor")||"#01d0ff",this.endColor=this.getAttribute("endColor")||"#fc3e85",this.style.backgroundImage=`repeating-linear-gradient(-45deg, ${this.startColor} 0,${this.startColor} 20%, transparent 0,transparent 35%, ${this.endColor} 0,${this.endColor} 65%, transparent 0,transparent 80%, ${this.startColor} 0,${this.startColor} 100%)`,this.drawComplete()}}),customElements.define("mew-timeline",class extends i{init(){let t="",i=this.firstChild;for(;i;){var e;"MEW-TIMELINE-TITLE"===i.tagName?t+=`
    ${i.innerHTML}
    `:"MEW-TIMELINE-ITEM"===i.tagName&&(i.getAttribute("type"),e=i.getAttribute("title")?`${i.getAttribute("title")}`:"",t+=`
    ${e}
    ${i.innerHTML}
    `),i=i.nextElementSibling}this.innerHTML=t,this.drawComplete()}}),customElements.define("mew-btn",class extends i{init(){this.options={color:this.getAttribute("color")||"var(--theme)",href:this.getAttribute("href"),target:this.getAttribute("target")||"_blank",icon:this.getAttribute("icon")},this.innerHTML=`${this.options.icon?``:""}${this.innerHTML}`;var t=this.querySelector("a.mew-btn");this.options.href&&(t.href=this.options.href,t.target=this.options.target),this.drawComplete()}}),customElements.define("mew-quote",class extends i{init(){this.options={avatar:this.getAttribute("avatar"),href:this.getAttribute("href"),name:this.getAttribute("name")};var t=this.options.avatar?``:"",i=this.options.name?`${this.options.name}`:"";this.innerHTML=`
    ${t}

    ${this.innerHTML}

    ${i}
    `,this.drawComplete()}}),customElements.define("mew-link",class extends i{async init(){this.options={img:this.getAttribute("img"),href:this.getAttribute("href")||"",title:this.getAttribute("title"),slug:this.getAttribute("slug"),id:this.getAttribute("id"),type:this.getAttribute("type")||"post",desc:this.innerHTML},(this.options.id||this.options.slug)&&await Utils.request({url:this.options.id?`/api/content/${this.options.type}s/`+this.options.id:`/api/content/${this.options.type}s/slug?slug=`+this.options.slug,method:"GET"}).then(t=>{this.options.img=this.options.img||t.thumbnail,this.options.href=this.options.title||t.fullPath,this.options.title=this.options.title||t.title,this.options.desc=this.options.desc||t.summary}).catch(t=>{this.options.desc="Error: "+t});var t=this.options.img?``:"",i=this.options.desc?`${this.options.desc}`:`${this.options.href}`;this.innerHTML=`

    ${this.options.title||"我分享了一个网站"}

    ${i}
    ${t}
    `,this.drawComplete()}}),customElements.define("mew-video",class extends i{init(){this.options={src:this.getAttribute("src"),type:this.getAttribute("type"),autoplay:this.hasAttribute("autoplay")&&"false"!==this.getAttribute("autoplay"),controls:"false"!==this.getAttribute("controls"),loop:this.hasAttribute("loop")&&"false"!==this.getAttribute("loop"),muted:this.hasAttribute("muted")&&"false"!==this.getAttribute("muted"),preload:this.hasAttribute("preload")&&"false"!==this.getAttribute("preload"),poster:this.getAttribute("poster"),width:/^\d{1,3}%$/.test(this.getAttribute("width"))?this.getAttribute("width"):"100%"},this.innerHTML=``,this.drawComplete()}}),customElements.define("mew-photos",class t extends i{init(){$.fn.justifiedGallery?this.render():t.prototype.load?t.prototype.await.push(()=>this.render()):(t.prototype.load=!0,t.prototype.await=[],new Promise(t=>{Utils.cachedScript("https://unpkg.com/justifiedGallery@3.8.1/dist/js/jquery.justifiedGallery.min.js").done(()=>t()).fail(()=>t())}).then(()=>{this.render(),t.prototype.await&&t.prototype.await.forEach(t=>t())}))}render(){this.options={captions:this.hasAttribute("captions")&&"false"!==this.getAttribute("captions"),margins:this.getAttribute("margins")||"4"},$(this).find("img").each((t,i)=>{$(i).wrap(`
    `)}),$(this).justifiedGallery({captions:this.options.captions,margins:this.options.margins}),this.drawComplete()}}),customElements.define("mew-raw",class extends i{init(){var t=this.innerHTML;this.innerHTML="",this.attachShadow({mode:"closed"}).innerHTML=t,this.drawComplete()}})})})(); \ No newline at end of file diff --git a/source/js/photos.min.js b/source/js/photos.min.js new file mode 100644 index 0000000..27e80fb --- /dev/null +++ b/source/js/photos.min.js @@ -0,0 +1 @@ +(()=>{let t=!1,s={},e=!1,n=!1,c={page:0,size:15,sort:"createTime,desc"};const i=(i,t)=>{e=!0,i.addClass("loading"),t&&t.team&&(t.team=t.team.substring(2));const o={...c,...t||{}};s.promise=new Promise((a,e)=>{s.abort=e,Utils.request({url:"/api/content/photos",method:"GET",data:o}).then(t=>a(t)).catch(t=>e(t))}).then(t=>{var a,e=t.content||[];n=0===e.length||(a=i,e=e.reduce((t,a,e)=>`${t}
    ${a.name||

    ${a.name}

    ${a.location?`

    ${a.location}

    `:""}

    ${Utils.formatDate(a.takeTime)}

    ${a.description?`

    ${a.description}

    `:""}
    `,""),a.append(e),a.justifiedGallery({rowHeight:200,maxRowHeight:!1,maxRowsCount:0,sizeRangeSuffixes:{},lastRow:"nojustify",captions:!1,waitThumbnailsLoad:!0,margins:10,extension:/\.(jpe?g|png|gif|bmp|webp)$/,cssAnimation:!1}),t.isLast)}).catch(t=>console.log(t)).finally(()=>{i.removeClass("loading"),s={},e=!1})},o={initEvent(){t||($("body").on("click",".photos-teams .item",function(t){t.stopPropagation();t=$(this);t.hasClass("active")||(t.addClass("active").siblings("li").removeClass("active"),(async(t,a)=>{s&&(s.abort&&s.abort("abort"),await s.promise),t.empty(),n=!1,e=!1,c.page=0,location.hash=a.team,i(t,a)})($(".photos-gallery"),{team:t.attr("data-team")}))}),window.addEventListener("scroll",function(){var t=$(".photos-gallery");0!==t.length&&$(window).scrollTop()+$(window).height()>=t.height()&&(e||n||(c.page++,i(t,{team:$(".photos-teams li.active").attr("data-team")})))}),t=!0)},initPhotos(){var t,a=$(".photos-gallery");s={},e=!1,n=!1,c={page:0,size:15,sort:"createTime,desc"},location.hash?(t=decodeURI(location.hash.substring(1)),0<(t=$(".photos-teams li[data-team="+t+"]")).length?t.click():$(".photos-teams li:not([data-team])").addClass("active")&&i(a)):($(".photos-teams li:not([data-team])").addClass("active"),i(a))}};window.photoPjax=function(a){0!==$(".photos-gallery").length&&Object.keys(o).forEach(t=>window.pjaxSerialNumber===a&&o[t]())},window.pjaxSerialNumber||o.initEvent(),window.pjaxSerialNumber||o.initPhotos()})(); \ No newline at end of file diff --git a/source/js/pjax.min.js b/source/js/pjax.min.js new file mode 100644 index 0000000..bcb2313 --- /dev/null +++ b/source/js/pjax.min.js @@ -0,0 +1 @@ +(()=>{const r=new Set($('link[href*=".css"]').map((o,e)=>$(e).attr("href")).get()),c=new Set($('script[src*=".js"]').map((o,e)=>$(e).attr("src")).get()),e=()=>{var o=(new Date).getTime();return window.pjaxSerialNumber=o,console.log("sn = "+o),o},o=$(".actions>.bullet-screen"),i=()=>{0===$("halo-comment[bullet-screen]").length?o.addClass("is-hidden-all"):o.removeClass("is-hidden-all")},m=(e,n,t)=>{if(n>=e.length)t&&t();else{let o=$(e[n]).attr("src");c.has(o)?m(e,n+1,t):(console.log((t?"同步":"异步")+"顺序加载js "+o),Utils.cachedScript(o).done(function(){console.log((t?"同步":"异步")+"顺序加载js完成 "+o),c.add(o),window.DProgress&&DProgress.inc(),m(e,n+1,t)}).fail(function(){console.log((t?"同步":"异步")+"顺序加载js失败 "+o),m(e,n+1,t)}))}};$(document).on("click","a[target!=_blank][href]:not(data-not-pjax)",o=>{$.pjax.click(o,".column-main",{scrollTo:"/"!==o.currentTarget.pathname&&0!==$(".banner").length?window.innerHeight/4:0,fragment:".column-main",serialNumber:e(),timeout:8e3})}),$(document).on("submit","form[data-pjax]",function(o){$.pjax.submit(o,".column-main",{scrollTo:0,fragment:".column-main",serialNumber:e(),timeout:8e3})}),$(document).on("pjax:click",function(o,e){console.log("------------------------"),console.log("pjax:click sn = "+e.serialNumber)}),$(document).on("pjax:beforeSend",function(o,e,n){console.log("pjax:beforeSend sn = "+n.serialNumber),$("html").addClass("pjax-loading")}),$(document).on("pjax:start",function(o,e,n){console.log("pjax:start sn = "+n.serialNumber),window.DProgress&&DProgress.start(),$(".pjax-close").remove()}),$(document).on("pjax:send",function(o,e,n){console.log("pjax:send sn = "+n.serialNumber)}),$(document).on("pjax:clicked",function(o,e){console.log("pjax:clicked sn = "+e.serialNumber)}),$(document).on("pjax:beforeReplace",function(o,e,n){console.log("pjax:beforeReplace sn = "+n.serialNumber),$(".navbar-nav .current,.panel-side-menu .current").removeClass("current"),commonContext.initNavbar(),0<$("html.disable-scroll").length&&$(".navbar-mask").trigger("click")}),$(document).on("pjax:success",async function(o,e,n,t,a){a=a.serialNumber;if(console.log("pjax:success sn = "+a),window.pjaxSerialNumber===a){commonContext.initGallery(),commonContext.initTocAndNotice(),i(),$("html").removeClass("pjax-loading");const s=$($.parseHTML(e,document,!0)),l=$("head");l.find("meta").remove(),l.append(s.filter("meta")),s.filter("link[data-pjax]").each(function(){let o=$(this).attr("href");r.has(o)||(l.append($(this)),console.log("加载css "+$(this).attr("href")),this.onload=function(){r.add(o),window.DProgress&&DProgress.inc(),console.log("加载css完成 "+$(this).attr("href"))})});let o=s.filter("script[data-pjax]");if(0{m(o.filter("[defer]"),0)});let e=o.filter(":not([async]):not([defer])");0{m(e,0,o)})}console.log("全部处理完成"),window.pjaxSerialNumber===a&&(window.journalPjax&&window.journalPjax(a),window.postPjax&&window.postPjax(a),window.photoPjax&&window.photoPjax(a),commonContext.initCarousel(),commonContext.loadMaintain(),window.DProgress)&&DProgress.done()}}),$(document).on("pjax:timeout",function(o,e,n){console.log("pjax:timeout sn = "+n.serialNumber)}),$(document).on("pjax:error",function(o,e,n,t,a){console.log(`pjax:error sn = ${a.serialNumber} error `+t)}),$(document).on("pjax:complete",function(o,e,n,t){console.log("pjax:complete sn = "+t.serialNumber)}),$(document).on("pjax:end",function(o,e,n){console.log("pjax:end sn = "+n.serialNumber),null==e&&(commonContext.initTocAndNotice(),i(),commonContext.initCarousel(),window.DProgress&&DProgress.done(),$("html").removeClass("pjax-loading"))}),$(document).on("pjax:popstate",function(){console.log("pjax:popstate")})})(); \ No newline at end of file diff --git a/source/js/post.min.js b/source/js/post.min.js new file mode 100644 index 0000000..fcdeb90 --- /dev/null +++ b/source/js/post.min.js @@ -0,0 +1 @@ +(()=>{let i=!1;const a={initEvent(){var e;i||((e=$("body")).on("click","figure>figcaption .fa-angle-down",function(){var e=$(this);e.is(".close")?($(e.attr("data-code")).parent().slideDown(200),e.removeClass("close")):($(e.attr("data-code")).parent().slideUp(200),e.addClass("close"))}),e.on("click","figure > pre > .expand-done",function(){Utils.foldBlock($(this).parent().parent())}),e.on("click",".gallery-item .expand-done",function(e){e.stopPropagation(),Utils.foldBlock($(this).parent())}),Utils.initLikeEvent(".admire .agree.like","posts",e=>e.find("span").find("span")),window.onCommentSuccessEvent=(e,i)=>{var t=encrypt("mew-hide-"+i),n=(n=localStorage.getItem(t))?JSON.parse(decrypt(n)):[],e=String(e.postId);n.includes(e)||(n.push(e),$(`.main-content[data-target='${i}'][data-id='${e}'] mew-hide[hide]`).each(function(){$(this).before(decrypt(this.getAttribute("hide"))),$(this).remove(),commonContext.initGallery(),a.initCodeBlock(),a.initLiterature(),a.initHighlighting(),"true"===this.getAttribute("toc")&&commonContext.initTocAndNotice()}),localStorage.setItem(t,encrypt(JSON.stringify(n))))},i=!0)},initCodeBlock(){var e=$("*:not(figure) > pre > code");0!==e.length&&e.each(function(e){var i=$(this).parent();let t=$(this).attr("class"),n="",a=!1;if(null!=t){let e=t.indexOf("|"),i=t.indexOf("<");n=-1!==e||-1!==i?((-1===e||-1!==i&&i${String(r+1).padStart(l,0)}`;let d=`codeBlock${e}-`+(new Date).getTime(),c="";a&&(c=" close",$(this).hide());e=`
    `;$(this).attr("id",d),i.prepend(`
      ${s}
    `),o>DreamConfig.code_fold_line?i.wrap('
    ').append('
    '):i.wrap('
    '),i.parent().prepend(`
    ${n}${e}
    `)})},initLiterature(){$(".literature-content>p:not([class]),.literature-content>mew-hide>p:not([class])").each(function(){0===$(this).children(":not(code,a,strong,em,ins,b,s,br,span.pwd)").length&&$(this).addClass("note")})},initLike(){Utils.initLikeButton(".admire .agree.like","posts")},initHighlighting(){hljs.initHighlightingOnLoad()},initShare(){if(window.DShare){let e=$(".cover-image").css("background-image");e=e&&e.substring(5,e.length-2),DShare.create(".dshare",{image:e,imageSelector:".main-content"})}},initClipboard(){window.clipboard||(window.clipboard=new ClipboardJS(".btn-clipboard"),clipboard.on("error",function(e){e.clearSelection(),Qmsg.error("您的浏览器不支持复制")}),clipboard.on("success",function(){Qmsg.success("复制成功")}))},foldImage(){var e;DreamConfig.img_fold_height&&((e=$(".article .gallery-item>[data-fancybox]>img")).parent().addClass("fold"),e.each(function(){const e=$(this).parent();this.complete?this.scrollHeight>=DreamConfig.img_fold_height?e.append('
    '):e.removeClass("fold"):this.onload=function(){this.scrollHeight>=DreamConfig.img_fold_height?e.append('
    '):e.removeClass("fold")}}))}};window.postPjax=function(i){0!==$(".main-content").length&&Object.keys(a).forEach(e=>window.pjaxSerialNumber===i&&a[e]())};{const t=["initEvent","initCodeBlock","initLiterature","initLike","foldImage"];Object.keys(a).forEach(e=>!window.pjaxSerialNumber&&t.includes(e)&&a[e]()),document.addEventListener("DOMContentLoaded",function(){Object.keys(a).forEach(e=>!window.pjaxSerialNumber&&!t.includes(e)&&a[e]())})}})(); \ No newline at end of file diff --git a/source/js/settings.min.js b/source/js/settings.min.js new file mode 100644 index 0000000..b81cb26 --- /dev/null +++ b/source/js/settings.min.js @@ -0,0 +1 @@ +!function(){if(window.initDreamSettings||((t=document.createElement("style")).appendChild(document.createTextNode("\n.dream-bg {\n position: relative;\n}\n.dream-bg:before {\n content: '';\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n margin: 0;\n display: block;\n position: absolute;\n opacity: 0.2;\n background: url(/themes/dream/screenshot.png) no-repeat;\n background-size: 100% auto;\n}\n.dream-customer {\n display: block;\n position: fixed;\n width: 60px;\n height: 60px;\n z-index: 1000;\n bottom: 80px;\n right: 40px;\n border-radius: 50%;\n background: #50bfff;\n padding: 10px;\n overflow: hidden;\n}\n.dream-customer svg {\n width: 40px;\n height: 40px;\n stroke-width: 10;\n animation: zy 2.5s .15s linear infinite;\n -moz-animation: zy 2.5s .15s linear infinite; /* Firefox */\n -webkit-animation: zy 2.5s .15s linear infinite; /* Safari and Chrome */\n -o-animation: zy 2.5s .15s linear infinite; /* Opera */\n}\n.dream-customer path {\n stroke-width: 30;\n stroke: #fff;\n fill: #fff;\n}\n.dream-customer:after {\n content: '';\n transition: all 0.4s;\n}\n.dream-customer:hover:after {\n text-align: center;\n line-height: 1em;\n display: flex;\n align-items: center;\n content: 'DREAM\\A交流';\n font-size: 15px;\n color: #FFF;\n font-weight: 600;\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n background: rgb(29 98 156 / 30%);\n}\n@-webkit-keyframes zy{ \n 10% { \n transform: rotate(15deg); \n } \n 20% { \n transform: rotate(-10deg); \n } \n 30% { \n transform: rotate(5deg); \n } \n 40% { \n transform: rotate(-5deg); \n } \n 50%,100% { \n transform: rotate(0deg); \n } \n}\n@media (min-width: 576px){.dream-bg .ant-form-item-control-wrapper { width: 100% !important;}}\n@media (min-width: 992px){.dream-bg .ant-form-item-control-wrapper { width: 80% !important;}}\n@media (min-width: 1200px){.dream-bg .ant-form-item-control-wrapper { width: 60% !important;max-width: 800px;}}")),document.getElementsByTagName("head")[0].appendChild(t),window.initDreamSettings=!0),0===document.getElementsByClassName("dream-customer").length){var n,t=document.getElementsByClassName("content")[0];for(n of t.getElementsByClassName("ant-tabs-content"))n.classList.add("dream-bg");t.appendChild(((t=document.createElement("div")).innerHTML='',t.childNodes[0]))}}(); \ No newline at end of file diff --git a/source/js/spark-input.min.js b/source/js/spark-input.min.js new file mode 100644 index 0000000..74ff778 --- /dev/null +++ b/source/js/spark-input.min.js @@ -0,0 +1 @@ +window.sparkInput=function(e,r){var l=r.map(function(r){return r+""}),n=["rgb(110,64,170)","rgb(150,61,179)","rgb(191,60,175)","rgb(228,65,157)","rgb(254,75,131)","rgb(255,94,99)","rgb(255,120,71)","rgb(251,150,51)","rgb(226,183,47)","rgb(198,214,60)","rgb(175,240,91)","rgb(127,246,88)","rgb(82,246,103)","rgb(48,239,130)","rgb(29,223,163)","rgb(26,199,194)","rgb(35,171,216)","rgb(54,140,225)","rgb(76,110,219)","rgb(96,84,200)"],i={text:"",prefixP:-5,skillI:0,skillP:0,direction:"forward",delay:2,step:1};!function r(){var t=l[i.skillI];i.step?i.step--:(i.step=1,i.prefixP<"".length?(0<=i.prefixP&&(i.text+=""[i.prefixP]),i.prefixP++):"forward"===i.direction?i.skillP{if(0===e.indexOf(u.theme.originUrl)){const t=e.substring(u.theme.originUrl.length),n=new URLSearchParams(e.split("?")[1]).get("mew")||"latest";return[e,...u.npm.urlTemplates.map(e=>e+"/halo-theme-dream@"+n+t)]}}},npm:{urlTemplates:["https://unpkg.com","https://cdn.jsdelivr.net/npm","https://npm.elemecdn.com"],handleRequest:e=>{var t,n=u.npm.urlTemplates,r=e;for(t in n)if(0===r.indexOf(n[t])){const s=r.substring(n[t].length);return n.map(e=>e+s)}}}};function n(e,t){return e.some(function(e){return e.test(t)})}function s(e,t){var n=new Set(["mew","v","version","t","time","ts","timestamp"]),e=e.split("?"),t=t.split("?");if(e[0]===t[0]){var r=new URLSearchParams("?"+e[1]),s=new URLSearchParams("?"+t[1]);for(const e of r.keys())if(!n.has(e)&&r.get(e)!==s.get(e))return;return 1}}self.addEventListener("install",function(e){console.log("install service worker."),e.waitUntil(self.skipWaiting())}),self.addEventListener("activate",function(e){console.log("service worker activate.");const t=[i];return e.waitUntil(caches.keys().then(function(e){return Promise.all(e.map(function(e){if(-1===t.indexOf(e))return console.info("version changed, clean the cache, SW: deleting "+e),caches.delete(e)}))})),self.clients.claim()}),self.addEventListener("fetch",function(r){if("GET"!==r.request.method)return!1;const t=n(o,r.request.url);if(!t&&!n(a,r.request.url)||n(l,r.request.url))return!!c&&(r.respondWith(caches.open(i).then(t=>fetch(r.request).then(e=>(200===e.status&&t.put(r.request,e.clone()),e)).catch(()=>t.match(r.request)))),!0);r.respondWith(caches.open(i).then(function(n){return n.match(r.request).then(function(e){return e||function(e,t){if(t){var n=e.url;for(const e in u){const t=u[e].handleRequest(n);if(t){var r=n;var s=t;const i=new AbortController,c=i.signal,o=s.map(e=>new Promise(async(t,n)=>{fetch(e,{signal:c}).then(async e=>{var t=new Headers(e.headers);return t.set("service-worker-origin",r),new Response(await e.arrayBuffer(),{status:e.status,headers:t})}).then(e=>{200!==e.status&&n(null),i.abort(),t(e)}).catch(()=>n(null))}));return Promise.any||(Promise.any=function(e){return new Promise((t,n)=>{let r=(e=Array.isArray(e)?e:[]).length,s=[];if(0===r)return n(new AggregateError("All promises were rejected"));e.forEach(e=>{if(!(e instanceof Promise))return n(e);e.then(e=>t(e),e=>{r--,s.push(e),0===r&&n(new AggregateError(s))})})})}),Promise.any(o).catch(()=>null);return}}}return fetch(e)}(r.request,t).then(e=>{const t=e.clone();return n.matchAll(r.request,{ignoreSearch:!0}).then(function(e){if(e)for(const t of e){const e=t.url||t.headers.get("service-worker-origin");s(e,r.request.url)&&n.delete(e)}n.put(r.request,t)}),e}).catch(e=>(console.error(e),n.matchAll(r.request,{ignoreSearch:!0}).then(function(e){if(e)for(const t of e)if(s(t.url||t.headers.get("service-worker-origin"),r.request.url))return t})))})}))})}}(); \ No newline at end of file diff --git a/source/js/utils.min.js b/source/js/utils.min.js new file mode 100644 index 0000000..d27ac30 --- /dev/null +++ b/source/js/utils.min.js @@ -0,0 +1 @@ +(()=>{class e{constructor(e,n){this.name=e,this.fileName=n}}const t=[new e("呵呵","hehe"),new e("哈哈","haha"),new e("吐舌","tushe"),new e("啊","a"),new e("酷","ku"),new e("怒","nu"),new e("开心","kaixin"),new e("汗","han"),new e("泪","lei"),new e("黑线","heixian"),new e("鄙视","bishi"),new e("不高兴","bugaoxing"),new e("真棒","zhenbang"),new e("钱","qian"),new e("疑问","yiwen"),new e("阴险","yingxiang"),new e("吐","tu"),new e("咦","yi"),new e("委屈","weiqu"),new e("花心","huaxin"),new e("呼~","hu"),new e("笑眼","xiaoyan"),new e("冷","len"),new e("太开心","taikaixin"),new e("滑稽","huaji"),new e("勉强","mianqiang"),new e("狂汗","kuanhan"),new e("乖","guai"),new e("睡觉","shuijiao"),new e("惊哭","jingku"),new e("生气","shengqi"),new e("惊讶","jingya"),new e("喷","pen"),new e("突然兴奋","turanxingfen"),new e("挖鼻","wabi"),new e("摊手","tanshou"),new e("捂嘴笑","wuzuixiao"),new e("喝酒","hejiu"),new e("犀利","xili"),new e("懒得理","landeli"),new e("炸药","zhayao"),new e("吃瓜","chigua"),new e("小乖","xiaoguai"),new e("你懂的","nidongde"),new e("嘿嘿嘿","heiheihei"),new e("欢呼","huanhu"),new e("笑尿","xiaoniao"),new e("酸爽","suanshuang"),new e("紧张","jinzhang"),new e("暗中观察","anzhongguancha"),new e("小红脸","xiaohonglian"),new e("呀咩爹","yamiedie"),new e("微微一笑","weiweiyixiao"),new e("what","what"),new e("托腮","tuosai"),new e("噗","pu"),new e("困成狗","kunchenggou"),new e("柯基暗中观察","kejianzhongguancha"),new e("菜狗","caigou"),new e("老虎","laohu"),new e("嗷呜","aowu"),new e("奥特曼","aoteman"),new e("黑头高兴","heitougaoxing"),new e("黑头瞪眼","heitoudengyan"),new e("望远镜","wangyuanjing"),new e("不听","butin"),new e("干饭","ganfan"),new e("大拇指","damuzhi"),new e("胜利","shengli"),new e("haha","haha2"),new e("OK","ok"),new e("红领巾","honglingjin"),new e("爱心","aixin"),new e("心碎","xinsui"),new e("玫瑰","meigui"),new e("礼物","liwu"),new e("烟花","yanhua"),new e("彩虹","caihong"),new e("太阳","taiyang"),new e("星星月亮","xingxingyueliang"),new e("蛋糕","dangao"),new e("茶杯","chabei"),new e("香蕉","xiangjiao"),new e("便便","bianbian"),new e("药丸","yaowan"),new e("钱币","qianbi"),new e("蜡烛","lazhu"),new e("沙发","shafa"),new e("音乐","yinyue"),new e("灯泡","dengpao"),new e("手纸","shouzhi")],a={isMobile:()=>!!(navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/BlackBerry/i)||navigator.userAgent.match(/Windows Phone/i)),cachedScript:(e,n)=>$.ajax(jQuery.extend({url:e,type:"get",dataType:"script",cache:!0,success:n},$.isPlainObject(e)&&e)),formatDate(e,n="yyyy-MM-dd"){e=new Date(e),/(y+)/.test(n)&&(n=n.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length)));var a,t,i={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds()};for(a in i)new RegExp(`(${a})`).test(n)&&(t=i[a]+"",n=n.replace(RegExp.$1,1===RegExp.$1.length?t:t.padStart(2,"0")));return n},getUrlParams(){var e=location.search,e=(e="string"!=typeof e?e.toString():e).replace(/^[^\?]*\?/i,"").split(/&/),a={};return e.length<1||Array.isArray(e)&&e.forEach(function(e){if(!e)return!1;var n,e=e.split(/=/);2<=e.length&&(n=e.splice(0,1),a[n]=e.join("="))}),a},randomColor(e){var n=["#F8D800","#0396FF","#EA5455","#7367F0","#32CCBC","#F6416C","#28C76F","#9F44D3","#F55555","#736EFE","#E96D71","#DE4313","#D939CD","#4C83FF","#F072B6","#C346C2","#5961F9","#FD6585","#465EFB","#FFC600","#FA742B","#5151E5","#BB4E75","#FF52E5","#49C628","#00EAFF","#F067B4","#F067B4","#ff9a9e","#00f2fe","#4facfe","#f093fb","#6fa3ef","#bc99c4","#46c47c","#f9bb3c","#e8583d","#f68e5f"];return n[e%n.length]},request:({url:e="",method:t="GET",data:i,headers:o={},timeout:r=1e4,returnRaw:s=!1})=>new Promise((n,a)=>{t=t.toUpperCase(),$.ajax({url:e,type:t,headers:{"API-Authorization":DreamConfig.access_key||"dream",...o},async:!0,dataType:"json",timeout:r,data:i,success(e){s?n(e):200===e.status?n(e.data||""):a(e)},error(e){e=e&&e.responseJSON?e.responseJSON.message:"请求失败";Qmsg.error(e),a(e)}})}),initLikeButton(e,n){n=encrypt("agree-"+n);let a=localStorage.getItem(n);a=a?JSON.parse(decrypt(a)):[],$(e).each(function(){var e=$(this),n=e.attr("data-id");a.includes(n)&&e.removeClass("like")})},initLikeEvent(e,n,o){let r=encrypt("agree-"+n);$("body").on("click",e,function(e){e.stopPropagation();let t=$(this),i=t.attr("data-id");a.request({url:"/api/content/"+n+"/"+i+"/likes",method:"POST"}).then(e=>{var n=(n=localStorage.getItem(r))?JSON.parse(decrypt(n)):[],a=+(t.attr("data-likes")||0)+1,n=(n.push(i),t.removeClass("like"),encrypt(JSON.stringify(n)));localStorage.setItem(r,n),o(t).html(a),Qmsg.success("点赞成功")})})},baiduPush(){var e=document.createElement("script"),n=window.location.protocol.split(":")[0],n=(e.src="https"===n?"https://zz.bdstatic.com/linksubmit/push.js":"http://push.zhanzhang.baidu.com/push.js",$(`script[src="${e.src}"]`).remove(),document.getElementsByTagName("script")[0]);n.parentNode.insertBefore(e,n)},toutiaoPush(){var e=document.createElement("script"),n=(e.src="https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?0fbcfbb1ed642c21419d5be02d56ade7d6ee5372ca221d12ba35df110760b2a830632485602430134f60bc55ca391050b680e2741bf7233a8f1da9902314a3fa",e.id="ttzz",$(`script[src="${e.src}"]`).remove(),document.getElementsByTagName("script")[0]);n.parentNode.insertBefore(e,n)},sleep:(n=250)=>new Promise(e=>setTimeout(e,n)),foldBlock(e){var n,a=e.height();e.is(".fold")?e.removeClass("fold").addClass("unfold"):(n=document.documentElement.scrollTop||document.body.scrollTop||window.pageYOffset,e.addClass("fold").removeClass("unfold"),$("body,html").scrollTop(n-a+e.height()))},removeClassByPrefix(e,n){var a=e.className.split(" ").filter(function(e){return 0!==e.lastIndexOf(n,0)});e.className=a.join(" ").trim()},animateScroll(e,n,a,t){let i,o=e.getBoundingClientRect(),r=window.scrollY,s=r+o.top-a,w=(s-r)/n,c=r>s?-1:1;i=window.requestAnimationFrame(function e(){(r+=w)*c`;e=e.replace(new RegExp(`\\[/${a}\\]`,"gm"),n)}return e}};window.Utils=a})(); \ No newline at end of file diff --git a/source/lib/aplayer@1.10.1/APlayer.min.css b/source/lib/aplayer@1.10.1/APlayer.min.css new file mode 100644 index 0000000..12b5583 --- /dev/null +++ b/source/lib/aplayer@1.10.1/APlayer.min.css @@ -0,0 +1,3 @@ +.aplayer{background:#fff;font-family:Arial,Helvetica,sans-serif;margin:5px;box-shadow:0 2px 2px 0 rgba(0,0,0,.07),0 1px 5px 0 rgba(0,0,0,.1);border-radius:2px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal;position:relative}.aplayer *{box-sizing:content-box}.aplayer svg{width:100%;height:100%}.aplayer svg circle,.aplayer svg path{fill:#fff}.aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid #e9e9e9}.aplayer.aplayer-withlist .aplayer-list{display:block}.aplayer.aplayer-withlist .aplayer-icon-order,.aplayer.aplayer-withlist .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu{display:inline}.aplayer.aplayer-withlrc .aplayer-pic{height:90px;width:90px}.aplayer.aplayer-withlrc .aplayer-info{margin-left:90px;height:90px;padding:10px 7px 0}.aplayer.aplayer-withlrc .aplayer-lrc{display:block}.aplayer.aplayer-narrow{width:66px}.aplayer.aplayer-narrow .aplayer-info,.aplayer.aplayer-narrow .aplayer-list{display:none}.aplayer.aplayer-narrow .aplayer-body,.aplayer.aplayer-narrow .aplayer-pic{height:66px;width:66px}.aplayer.aplayer-fixed{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:99;overflow:visible;max-width:400px;box-shadow:none}.aplayer.aplayer-fixed .aplayer-list{margin-bottom:65px;border:1px solid #eee;border-bottom:none}.aplayer.aplayer-fixed .aplayer-body{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:99;background:#fff;padding-right:18px;transition:all .3s ease;max-width:400px}.aplayer.aplayer-fixed .aplayer-lrc{display:block;position:fixed;bottom:10px;left:0;right:0;margin:0;z-index:98;pointer-events:none;text-shadow:-1px -1px 0 #fff}.aplayer.aplayer-fixed .aplayer-lrc:after,.aplayer.aplayer-fixed .aplayer-lrc:before{display:none}.aplayer.aplayer-fixed .aplayer-info{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;transition:all .3s ease;border-bottom:none;border-top:1px solid #e9e9e9}.aplayer.aplayer-fixed .aplayer-info .aplayer-music{width:calc(100% - 105px)}.aplayer.aplayer-fixed .aplayer-miniswitcher{display:block}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-info{display:block;-webkit-transform:scaleX(0);transform:scaleX(0)}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body{width:66px!important}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-miniswitcher .aplayer-icon{-webkit-transform:rotateY(0);transform:rotateY(0)}.aplayer.aplayer-fixed .aplayer-icon-back,.aplayer.aplayer-fixed .aplayer-icon-forward,.aplayer.aplayer-fixed .aplayer-icon-lrc,.aplayer.aplayer-fixed .aplayer-icon-play{display:inline-block}.aplayer.aplayer-fixed .aplayer-icon-back,.aplayer.aplayer-fixed .aplayer-icon-forward,.aplayer.aplayer-fixed .aplayer-icon-menu,.aplayer.aplayer-fixed .aplayer-icon-play{position:absolute;bottom:27px;width:20px;height:20px}.aplayer.aplayer-fixed .aplayer-icon-back{right:75px}.aplayer.aplayer-fixed .aplayer-icon-play{right:50px}.aplayer.aplayer-fixed .aplayer-icon-forward{right:25px}.aplayer.aplayer-fixed .aplayer-icon-menu{right:0}.aplayer.aplayer-arrow .aplayer-icon-loop,.aplayer.aplayer-arrow .aplayer-icon-order,.aplayer.aplayer-mobile .aplayer-icon-volume-down{display:none}.aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-loading-icon{display:block}.aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.aplayer .aplayer-body{position:relative}.aplayer .aplayer-icon{width:15px;height:15px;border:none;background-color:transparent;outline:none;cursor:pointer;opacity:.8;vertical-align:middle;padding:0;font-size:12px;margin:0;display:inline-block}.aplayer .aplayer-icon path{transition:all .2s ease-in-out}.aplayer .aplayer-icon-back,.aplayer .aplayer-icon-forward,.aplayer .aplayer-icon-lrc,.aplayer .aplayer-icon-order,.aplayer .aplayer-icon-play{display:none}.aplayer .aplayer-icon-lrc-inactivity svg{opacity:.4}.aplayer .aplayer-icon-forward{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.aplayer .aplayer-lrc-content{display:none}.aplayer .aplayer-pic{position:relative;float:left;height:66px;width:66px;background-size:cover;background-position:50%;transition:all .3s ease;cursor:pointer}.aplayer .aplayer-pic:hover .aplayer-button{opacity:1}.aplayer .aplayer-pic .aplayer-button{position:absolute;border-radius:50%;opacity:.8;text-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 1px rgba(0,0,0,.2);background:rgba(0,0,0,.2);transition:all .1s ease}.aplayer .aplayer-pic .aplayer-button path{fill:#fff}.aplayer .aplayer-pic .aplayer-hide{display:none}.aplayer .aplayer-pic .aplayer-play{width:26px;height:26px;border:2px solid #fff;bottom:50%;right:50%;margin:0 -15px -15px 0}.aplayer .aplayer-pic .aplayer-play svg{position:absolute;top:3px;left:4px;height:20px;width:20px}.aplayer .aplayer-pic .aplayer-pause{width:16px;height:16px;border:2px solid #fff;bottom:4px;right:4px}.aplayer .aplayer-pic .aplayer-pause svg{position:absolute;top:2px;left:2px;height:12px;width:12px}.aplayer .aplayer-info{margin-left:66px;padding:14px 7px 0 10px;height:66px;box-sizing:border-box}.aplayer .aplayer-info .aplayer-music{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 0 13px 5px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:default;padding-bottom:2px;height:20px}.aplayer .aplayer-info .aplayer-music .aplayer-title{font-size:14px}.aplayer .aplayer-info .aplayer-music .aplayer-author{font-size:12px;color:#666}.aplayer .aplayer-info .aplayer-controller{position:relative;display:flex}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap{margin:0 0 0 5px;padding:4px 0;cursor:pointer!important;flex:1}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap:hover .aplayer-bar .aplayer-played .aplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar{position:relative;height:2px;width:100%;background:#cdcdcd}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:#aaa;height:2px;transition:all .5s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played{position:absolute;left:0;top:0;bottom:0;height:2px}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:10px;width:10px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.aplayer .aplayer-info .aplayer-controller .aplayer-time{position:relative;right:0;bottom:4px;height:17px;color:#999;font-size:11px;padding-left:7px}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner{vertical-align:middle}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon{cursor:pointer;transition:all .2s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#666}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-loop{margin-right:2px}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:#000}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu,.aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-menu,.aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-mode{display:none}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap{position:relative;display:inline-block;margin-left:3px;cursor:pointer!important}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap:hover .aplayer-volume-bar-wrap{height:40px}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap{position:absolute;bottom:15px;right:-3px;width:25px;height:0;z-index:99;overflow:hidden;transition:all .2s ease-in-out}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap.aplayer-volume-bar-wrap-active{height:40px}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar{position:absolute;bottom:0;right:10px;width:5px;height:35px;background:#aaa;border-radius:2.5px;overflow:hidden}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar .aplayer-volume{position:absolute;bottom:0;right:0;width:5px;transition:all .1s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon{display:none}.aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon svg{position:absolute;-webkit-animation:rotate 1s linear infinite;animation:rotate 1s linear infinite}.aplayer .aplayer-lrc{display:none;position:relative;height:30px;text-align:center;overflow:hidden;margin:-10px 0 7px}.aplayer .aplayer-lrc:before{top:0;height:10%;background:linear-gradient(180deg,#fff 0,hsla(0,0%,100%,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#00ffffff",GradientType=0)}.aplayer .aplayer-lrc:after,.aplayer .aplayer-lrc:before{position:absolute;z-index:1;display:block;overflow:hidden;width:100%;content:" "}.aplayer .aplayer-lrc:after{bottom:0;height:33%;background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.8));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff",endColorstr="#ccffffff",GradientType=0)}.aplayer .aplayer-lrc p{font-size:12px;color:#666;line-height:16px!important;height:16px!important;padding:0!important;margin:0!important;transition:all .5s ease-out;opacity:.4;overflow:hidden}.aplayer .aplayer-lrc p.aplayer-lrc-current{opacity:1;overflow:visible;height:auto!important;min-height:16px}.aplayer .aplayer-lrc.aplayer-lrc-hide{display:none}.aplayer .aplayer-lrc .aplayer-lrc-contents{width:100%;transition:all .5s ease-out;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:default}.aplayer .aplayer-list{overflow:auto;transition:all .5s ease;will-change:height;display:none;overflow:hidden}.aplayer .aplayer-list.aplayer-list-hide{max-height:0!important}.aplayer .aplayer-list ol{list-style-type:none;margin:0;padding:0;overflow-y:auto}.aplayer .aplayer-list ol::-webkit-scrollbar{width:5px}.aplayer .aplayer-list ol::-webkit-scrollbar-thumb{border-radius:3px;background-color:#eee}.aplayer .aplayer-list ol::-webkit-scrollbar-thumb:hover{background-color:#ccc}.aplayer .aplayer-list ol li{position:relative;height:32px;line-height:32px;padding:0 15px;font-size:12px;border-top:1px solid #e9e9e9;cursor:pointer;transition:all .2s ease;overflow:hidden;margin:0}.aplayer .aplayer-list ol li:first-child{border-top:none}.aplayer .aplayer-list ol li:hover{background:#efefef}.aplayer .aplayer-list ol li.aplayer-list-light{background:#e9e9e9}.aplayer .aplayer-list ol li.aplayer-list-light .aplayer-list-cur{display:inline-block}.aplayer .aplayer-list ol li .aplayer-list-cur{display:none;width:3px;height:22px;position:absolute;left:0;top:5px;cursor:pointer}.aplayer .aplayer-list ol li .aplayer-list-index{color:#666;margin-right:12px;cursor:pointer}.aplayer .aplayer-list ol li .aplayer-list-author{color:#666;float:right;cursor:pointer}.aplayer .aplayer-notice{opacity:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:12px;border-radius:4px;padding:5px 10px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none;background-color:#f4f4f5;color:#909399}.aplayer .aplayer-miniswitcher{display:none;position:absolute;top:0;right:0;bottom:0;height:100%;background:#e6e6e6;width:18px;border-radius:0 2px 2px 0}.aplayer .aplayer-miniswitcher .aplayer-icon{height:100%;width:100%;-webkit-transform:rotateY(180deg);transform:rotateY(180deg);transition:all .3s ease}.aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#666}.aplayer .aplayer-miniswitcher .aplayer-icon:hover path{fill:#000}@-webkit-keyframes aplayer-roll{0%{left:0}to{left:-100%}}@keyframes aplayer-roll{0%{left:0}to{left:-100%}}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}} + +/*# sourceMappingURL=APlayer.min.css.map*/ \ No newline at end of file diff --git a/source/lib/aplayer@1.10.1/APlayer.min.css.map b/source/lib/aplayer@1.10.1/APlayer.min.css.map new file mode 100644 index 0000000..d63257f --- /dev/null +++ b/source/lib/aplayer@1.10.1/APlayer.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://[name]/./src/css/index.scss"],"names":[],"mappings":"AAAA,SACE,gBACA,uCACA,WACA,kEACA,kBACA,gBACA,yBACG,sBACC,qBACI,iBACR,mBACA,iBAAmB,CACnB,WACE,sBAAwB,CAC1B,aACE,WACA,WAAa,CACb,sCAEE,SAAW,CACf,wCACE,+BAAiC,CACnC,wCACE,aAAe,CAGjB,wJACE,cAAgB,CAClB,sCACE,YACA,UAAY,CACd,uCACE,iBACA,YACA,kBAAwB,CAC1B,sCACE,aAAe,CACjB,wBACE,UAAY,CAGZ,4EACE,YAAc,CAChB,2EAEE,YACA,UAAY,CAChB,uBACE,eACA,SACA,OACA,QACA,SACA,WACA,iBACA,gBACA,eAAiB,CACjB,qCACE,mBACA,sBACA,kBAAoB,CACtB,qCACE,eACA,SACA,OACA,QACA,SACA,WACA,gBACA,mBACA,wBACA,eAAiB,CACnB,oCACE,cACA,eACA,YACA,OACA,QACA,SACA,WACA,oBACA,4BAA8B,CAC9B,qFACE,YAAc,CAClB,qCACE,4BACQ,oBACR,6BACQ,qBACR,wBACA,mBACA,4BAA8B,CAC9B,oDACE,wBAA0B,CAC9B,6CACE,aAAe,CACjB,oDACE,cACA,4BACQ,mBAAqB,CAC/B,oDACE,oBAAuB,CACzB,0EACE,6BACQ,oBAAsB,CAChC,0KAIE,oBAAsB,CACxB,2KAIE,kBACA,YACA,WACA,WAAa,CACf,0CACE,UAAY,CACd,0CACE,UAAY,CACd,6CACE,UAAY,CACd,0CACE,OAAS,CAGb,uIAEE,YAAc,CAChB,iFACE,aAAe,CACjB,yHACE,2BACQ,kBAAoB,CAC9B,uBACE,iBAAmB,CACrB,uBACE,WACA,YACA,YACA,6BACA,aACA,eACA,WACA,sBACA,UACA,eACA,SACA,oBAAsB,CACtB,4BACE,8BAAgC,CACpC,+IAKE,YAAc,CAChB,0CACE,UAAa,CACf,+BACE,iCACQ,wBAA0B,CACpC,8BACE,YAAc,CAChB,sBACE,kBACA,WACA,YACA,WACA,sBACA,wBACA,wBACA,cAAgB,CAChB,4CACE,SAAW,CACb,sCACE,kBACA,kBACA,WACA,qCACA,oCACA,0BACA,uBAA0B,CAC1B,2CACE,SAAW,CACf,oCACE,YAAc,CAChB,oCACE,WACA,YACA,sBACA,WACA,UACA,sBAAwB,CACxB,wCACE,kBACA,QACA,SACA,YACA,UAAY,CAChB,qCACE,WACA,YACA,sBACA,WACA,SAAW,CACX,yCACE,kBACA,QACA,SACA,YACA,UAAY,CAClB,uBACE,iBACA,wBACA,YACA,qBAAuB,CACvB,sCACE,gBACA,mBACA,uBACA,oBACA,yBACG,sBACC,qBACI,iBACR,eACA,mBACA,WAAa,CACb,qDACE,cAAgB,CAClB,sDACE,eACA,UAAY,CAChB,2CACE,kBACA,YAAc,CACd,6DACE,iBACA,cACA,yBACA,MAAQ,CACR,+GACE,2BACQ,kBAAoB,CAC9B,0EACE,kBACA,WACA,WACA,kBAAoB,CACpB,0FACE,kBACA,OACA,MACA,SACA,gBACA,WACA,uBAA0B,CAC5B,0FACE,kBACA,OACA,MACA,SACA,UAAY,CACZ,yGACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,+BACA,2BACQ,kBAAoB,CACpC,yDACE,kBACA,QACA,WACA,YACA,WACA,eACA,gBAAkB,CAClB,6EACE,qBAAuB,CACzB,uEACE,eACA,uBAA0B,CAC1B,4EACE,SAAW,CACb,yFACE,gBAAkB,CACpB,kFACE,SAAW,CAKf,yRACE,YAAc,CAClB,gEACE,kBACA,qBACA,gBACA,wBAA2B,CAC3B,+FACE,WAAa,CACf,yFACE,kBACA,YACA,WACA,WACA,SACA,WACA,gBACA,8BAAgC,CAChC,wHACE,WAAa,CACf,6GACE,kBACA,SACA,WACA,UACA,YACA,gBACA,oBACA,eAAiB,CACjB,6HACE,kBACA,SACA,QACA,UACA,uBAA0B,CAClC,iEACE,YAAc,CACd,qEACE,kBACA,4CACQ,mCAAqC,CACrD,sBACE,aACA,kBACA,YACA,kBACA,gBACA,kBAAoB,CACpB,6BAEE,MAKA,WAEA,4DACA,iHAAsH,CACxH,yDAVE,kBAEA,UACA,cACA,gBACA,WAEA,WAAa,CAa6G,4BAR1H,SAKA,WAEA,0EACA,mHAAwH,CAC1H,wBACE,eACA,WACA,2BACA,sBACA,oBACA,mBACA,4BACA,WACA,eAAiB,CACjB,4CACE,UACA,iBACA,sBACA,eAAiB,CACrB,uCACE,YAAc,CAChB,4CACE,WACA,4BACA,yBACG,sBACC,qBACI,iBACR,cAAgB,CACpB,uBACE,cACA,wBACA,mBACA,aACA,eAAiB,CACjB,yCACE,sBAAyB,CAC3B,0BACE,qBACA,SACA,UACA,eAAiB,CACjB,6CACE,SAAW,CACb,mDACE,kBACA,qBAAuB,CACzB,yDACE,qBAAuB,CACzB,6BACE,kBACA,YACA,iBACA,eACA,eACA,6BACA,eACA,wBACA,gBACA,QAAU,CACV,yCACE,eAAiB,CACnB,mCACE,kBAAoB,CACtB,gDACE,kBAAoB,CACpB,kEACE,oBAAsB,CAC1B,+CACE,aACA,UACA,YACA,kBACA,OACA,QACA,cAAgB,CAClB,iDACE,WACA,kBACA,cAAgB,CAClB,kDACE,WACA,YACA,cAAgB,CACxB,yBACE,UACA,kBACA,QACA,SACA,uCACQ,+BACR,eACA,kBACA,iBACA,+BACA,gBACA,WACA,oBACA,yBACA,aAAe,CACjB,+BACE,aACA,kBACA,MACA,QACA,SACA,YACA,mBACA,WACA,yBAA2B,CAC3B,6CACE,YACA,WACA,kCACQ,0BACR,uBAA0B,CAC1B,kDACE,SAAW,CACb,wDACE,SAAW,CAEnB,gCACE,GACE,MAAQ,CACV,GACE,UAAY,CAAE,CAElB,wBACE,GACE,MAAQ,CACV,GACE,UAAY,CAAE,CAElB,0BACE,GACE,4BACQ,mBAAqB,CAC/B,GACE,gCACQ,uBAA0B,CAAE,CAExC,kBACE,GACE,4BACQ,mBAAqB,CAC/B,GACE,gCACQ,uBAA0B,CAAE,C","file":"APlayer.min.css","sourcesContent":[".aplayer {\n background: #fff;\n font-family: Arial, Helvetica, sans-serif;\n margin: 5px;\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.07), 0 1px 5px 0 rgba(0, 0, 0, 0.1);\n border-radius: 2px;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n line-height: initial;\n position: relative; }\n .aplayer * {\n box-sizing: content-box; }\n .aplayer svg {\n width: 100%;\n height: 100%; }\n .aplayer svg path,\n .aplayer svg circle {\n fill: #fff; }\n .aplayer.aplayer-withlist .aplayer-info {\n border-bottom: 1px solid #e9e9e9; }\n .aplayer.aplayer-withlist .aplayer-list {\n display: block; }\n .aplayer.aplayer-withlist .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu {\n display: inline; }\n .aplayer.aplayer-withlist .aplayer-icon-order {\n display: inline; }\n .aplayer.aplayer-withlrc .aplayer-pic {\n height: 90px;\n width: 90px; }\n .aplayer.aplayer-withlrc .aplayer-info {\n margin-left: 90px;\n height: 90px;\n padding: 10px 7px 0 7px; }\n .aplayer.aplayer-withlrc .aplayer-lrc {\n display: block; }\n .aplayer.aplayer-narrow {\n width: 66px; }\n .aplayer.aplayer-narrow .aplayer-info {\n display: none; }\n .aplayer.aplayer-narrow .aplayer-list {\n display: none; }\n .aplayer.aplayer-narrow .aplayer-pic,\n .aplayer.aplayer-narrow .aplayer-body {\n height: 66px;\n width: 66px; }\n .aplayer.aplayer-fixed {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n margin: 0;\n z-index: 99;\n overflow: visible;\n max-width: 400px;\n box-shadow: none; }\n .aplayer.aplayer-fixed .aplayer-list {\n margin-bottom: 65px;\n border: 1px solid #eee;\n border-bottom: none; }\n .aplayer.aplayer-fixed .aplayer-body {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n margin: 0;\n z-index: 99;\n background: #fff;\n padding-right: 18px;\n transition: all 0.3s ease;\n max-width: 400px; }\n .aplayer.aplayer-fixed .aplayer-lrc {\n display: block;\n position: fixed;\n bottom: 10px;\n left: 0;\n right: 0;\n margin: 0;\n z-index: 98;\n pointer-events: none;\n text-shadow: -1px -1px 0 #fff; }\n .aplayer.aplayer-fixed .aplayer-lrc:before, .aplayer.aplayer-fixed .aplayer-lrc:after {\n display: none; }\n .aplayer.aplayer-fixed .aplayer-info {\n -webkit-transform: scaleX(1);\n transform: scaleX(1);\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n transition: all 0.3s ease;\n border-bottom: none;\n border-top: 1px solid #e9e9e9; }\n .aplayer.aplayer-fixed .aplayer-info .aplayer-music {\n width: calc(100% - 105px); }\n .aplayer.aplayer-fixed .aplayer-miniswitcher {\n display: block; }\n .aplayer.aplayer-fixed.aplayer-narrow .aplayer-info {\n display: block;\n -webkit-transform: scaleX(0);\n transform: scaleX(0); }\n .aplayer.aplayer-fixed.aplayer-narrow .aplayer-body {\n width: 66px !important; }\n .aplayer.aplayer-fixed.aplayer-narrow .aplayer-miniswitcher .aplayer-icon {\n -webkit-transform: rotateY(0);\n transform: rotateY(0); }\n .aplayer.aplayer-fixed .aplayer-icon-back,\n .aplayer.aplayer-fixed .aplayer-icon-play,\n .aplayer.aplayer-fixed .aplayer-icon-forward,\n .aplayer.aplayer-fixed .aplayer-icon-lrc {\n display: inline-block; }\n .aplayer.aplayer-fixed .aplayer-icon-back,\n .aplayer.aplayer-fixed .aplayer-icon-play,\n .aplayer.aplayer-fixed .aplayer-icon-forward,\n .aplayer.aplayer-fixed .aplayer-icon-menu {\n position: absolute;\n bottom: 27px;\n width: 20px;\n height: 20px; }\n .aplayer.aplayer-fixed .aplayer-icon-back {\n right: 75px; }\n .aplayer.aplayer-fixed .aplayer-icon-play {\n right: 50px; }\n .aplayer.aplayer-fixed .aplayer-icon-forward {\n right: 25px; }\n .aplayer.aplayer-fixed .aplayer-icon-menu {\n right: 0; }\n .aplayer.aplayer-mobile .aplayer-icon-volume-down {\n display: none; }\n .aplayer.aplayer-arrow .aplayer-icon-order,\n .aplayer.aplayer-arrow .aplayer-icon-loop {\n display: none; }\n .aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-loading-icon {\n display: block; }\n .aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .aplayer .aplayer-body {\n position: relative; }\n .aplayer .aplayer-icon {\n width: 15px;\n height: 15px;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n opacity: .8;\n vertical-align: middle;\n padding: 0;\n font-size: 12px;\n margin: 0;\n display: inline-block; }\n .aplayer .aplayer-icon path {\n transition: all .2s ease-in-out; }\n .aplayer .aplayer-icon-order,\n .aplayer .aplayer-icon-back,\n .aplayer .aplayer-icon-play,\n .aplayer .aplayer-icon-forward,\n .aplayer .aplayer-icon-lrc {\n display: none; }\n .aplayer .aplayer-icon-lrc-inactivity svg {\n opacity: 0.4; }\n .aplayer .aplayer-icon-forward {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg); }\n .aplayer .aplayer-lrc-content {\n display: none; }\n .aplayer .aplayer-pic {\n position: relative;\n float: left;\n height: 66px;\n width: 66px;\n background-size: cover;\n background-position: center;\n transition: all 0.3s ease;\n cursor: pointer; }\n .aplayer .aplayer-pic:hover .aplayer-button {\n opacity: 1; }\n .aplayer .aplayer-pic .aplayer-button {\n position: absolute;\n border-radius: 50%;\n opacity: 0.8;\n text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n background: rgba(0, 0, 0, 0.2);\n transition: all 0.1s ease; }\n .aplayer .aplayer-pic .aplayer-button path {\n fill: #fff; }\n .aplayer .aplayer-pic .aplayer-hide {\n display: none; }\n .aplayer .aplayer-pic .aplayer-play {\n width: 26px;\n height: 26px;\n border: 2px solid #fff;\n bottom: 50%;\n right: 50%;\n margin: 0 -15px -15px 0; }\n .aplayer .aplayer-pic .aplayer-play svg {\n position: absolute;\n top: 3px;\n left: 4px;\n height: 20px;\n width: 20px; }\n .aplayer .aplayer-pic .aplayer-pause {\n width: 16px;\n height: 16px;\n border: 2px solid #fff;\n bottom: 4px;\n right: 4px; }\n .aplayer .aplayer-pic .aplayer-pause svg {\n position: absolute;\n top: 2px;\n left: 2px;\n height: 12px;\n width: 12px; }\n .aplayer .aplayer-info {\n margin-left: 66px;\n padding: 14px 7px 0 10px;\n height: 66px;\n box-sizing: border-box; }\n .aplayer .aplayer-info .aplayer-music {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin: 0 0 13px 5px;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n cursor: default;\n padding-bottom: 2px;\n height: 20px; }\n .aplayer .aplayer-info .aplayer-music .aplayer-title {\n font-size: 14px; }\n .aplayer .aplayer-info .aplayer-music .aplayer-author {\n font-size: 12px;\n color: #666; }\n .aplayer .aplayer-info .aplayer-controller {\n position: relative;\n display: flex; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap {\n margin: 0 0 0 5px;\n padding: 4px 0;\n cursor: pointer !important;\n flex: 1; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap:hover .aplayer-bar .aplayer-played .aplayer-thumb {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar {\n position: relative;\n height: 2px;\n width: 100%;\n background: #cdcdcd; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: #aaa;\n height: 2px;\n transition: all 0.5s ease; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 2px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 10px;\n width: 10px;\n border-radius: 50%;\n cursor: pointer;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time {\n position: relative;\n right: 0;\n bottom: 4px;\n height: 17px;\n color: #999;\n font-size: 11px;\n padding-left: 7px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner {\n vertical-align: middle; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon {\n cursor: pointer;\n transition: all 0.2s ease; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path {\n fill: #666; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-loop {\n margin-right: 2px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path {\n fill: #000; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-mode {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-menu {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap {\n position: relative;\n display: inline-block;\n margin-left: 3px;\n cursor: pointer !important; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap:hover .aplayer-volume-bar-wrap {\n height: 40px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap {\n position: absolute;\n bottom: 15px;\n right: -3px;\n width: 25px;\n height: 0;\n z-index: 99;\n overflow: hidden;\n transition: all .2s ease-in-out; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap.aplayer-volume-bar-wrap-active {\n height: 40px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar {\n position: absolute;\n bottom: 0;\n right: 10px;\n width: 5px;\n height: 35px;\n background: #aaa;\n border-radius: 2.5px;\n overflow: hidden; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar .aplayer-volume {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 5px;\n transition: all 0.1s ease; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon svg {\n position: absolute;\n -webkit-animation: rotate 1s linear infinite;\n animation: rotate 1s linear infinite; }\n .aplayer .aplayer-lrc {\n display: none;\n position: relative;\n height: 30px;\n text-align: center;\n overflow: hidden;\n margin: -10px 0 7px; }\n .aplayer .aplayer-lrc:before {\n position: absolute;\n top: 0;\n z-index: 1;\n display: block;\n overflow: hidden;\n width: 100%;\n height: 10%;\n content: ' ';\n background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); }\n .aplayer .aplayer-lrc:after {\n position: absolute;\n bottom: 0;\n z-index: 1;\n display: block;\n overflow: hidden;\n width: 100%;\n height: 33%;\n content: ' ';\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ccffffff',GradientType=0 ); }\n .aplayer .aplayer-lrc p {\n font-size: 12px;\n color: #666;\n line-height: 16px !important;\n height: 16px !important;\n padding: 0 !important;\n margin: 0 !important;\n transition: all 0.5s ease-out;\n opacity: 0.4;\n overflow: hidden; }\n .aplayer .aplayer-lrc p.aplayer-lrc-current {\n opacity: 1;\n overflow: visible;\n height: initial !important;\n min-height: 16px; }\n .aplayer .aplayer-lrc.aplayer-lrc-hide {\n display: none; }\n .aplayer .aplayer-lrc .aplayer-lrc-contents {\n width: 100%;\n transition: all 0.5s ease-out;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n cursor: default; }\n .aplayer .aplayer-list {\n overflow: auto;\n transition: all 0.5s ease;\n will-change: height;\n display: none;\n overflow: hidden; }\n .aplayer .aplayer-list.aplayer-list-hide {\n max-height: 0 !important; }\n .aplayer .aplayer-list ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow-y: auto; }\n .aplayer .aplayer-list ol::-webkit-scrollbar {\n width: 5px; }\n .aplayer .aplayer-list ol::-webkit-scrollbar-thumb {\n border-radius: 3px;\n background-color: #eee; }\n .aplayer .aplayer-list ol::-webkit-scrollbar-thumb:hover {\n background-color: #ccc; }\n .aplayer .aplayer-list ol li {\n position: relative;\n height: 32px;\n line-height: 32px;\n padding: 0 15px;\n font-size: 12px;\n border-top: 1px solid #e9e9e9;\n cursor: pointer;\n transition: all 0.2s ease;\n overflow: hidden;\n margin: 0; }\n .aplayer .aplayer-list ol li:first-child {\n border-top: none; }\n .aplayer .aplayer-list ol li:hover {\n background: #efefef; }\n .aplayer .aplayer-list ol li.aplayer-list-light {\n background: #e9e9e9; }\n .aplayer .aplayer-list ol li.aplayer-list-light .aplayer-list-cur {\n display: inline-block; }\n .aplayer .aplayer-list ol li .aplayer-list-cur {\n display: none;\n width: 3px;\n height: 22px;\n position: absolute;\n left: 0;\n top: 5px;\n cursor: pointer; }\n .aplayer .aplayer-list ol li .aplayer-list-index {\n color: #666;\n margin-right: 12px;\n cursor: pointer; }\n .aplayer .aplayer-list ol li .aplayer-list-author {\n color: #666;\n float: right;\n cursor: pointer; }\n .aplayer .aplayer-notice {\n opacity: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n font-size: 12px;\n border-radius: 4px;\n padding: 5px 10px;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n pointer-events: none;\n background-color: #f4f4f5;\n color: #909399; }\n .aplayer .aplayer-miniswitcher {\n display: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n background: #e6e6e6;\n width: 18px;\n border-radius: 0 2px 2px 0; }\n .aplayer .aplayer-miniswitcher .aplayer-icon {\n height: 100%;\n width: 100%;\n -webkit-transform: rotateY(180deg);\n transform: rotateY(180deg);\n transition: all 0.3s ease; }\n .aplayer .aplayer-miniswitcher .aplayer-icon path {\n fill: #666; }\n .aplayer .aplayer-miniswitcher .aplayer-icon:hover path {\n fill: #000; }\n\n@-webkit-keyframes aplayer-roll {\n 0% {\n left: 0; }\n 100% {\n left: -100%; } }\n\n@keyframes aplayer-roll {\n 0% {\n left: 0; }\n 100% {\n left: -100%; } }\n\n@-webkit-keyframes rotate {\n 0% {\n -webkit-transform: rotate(0);\n transform: rotate(0); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n@keyframes rotate {\n 0% {\n -webkit-transform: rotate(0);\n transform: rotate(0); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n"],"sourceRoot":""} \ No newline at end of file diff --git a/source/lib/aplayer@1.10.1/APlayer.min.js b/source/lib/aplayer@1.10.1/APlayer.min.js new file mode 100644 index 0000000..6ba17e3 --- /dev/null +++ b/source/lib/aplayer@1.10.1/APlayer.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("APlayer",[],t):"object"==typeof exports?exports.APlayer=t():e.APlayer=t()}(window,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=41)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=/mobile/i.test(window.navigator.userAgent),a={secondToTime:function(e){var t=Math.floor(e/3600),n=Math.floor((e-3600*t)/60),i=Math.floor(e-3600*t-60*n);return(t>0?[t,n,i]:[n,i]).map(function(e){return e<10?"0"+e:""+e}).join(":")},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-i},getElementViewTop:function(e,t){for(var n,i=e.offsetTop,a=e.offsetParent;null!==a;)i+=a.offsetTop,a=a.offsetParent;return n=document.body.scrollTop+document.documentElement.scrollTop,t?i:i-n},isMobile:i,storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}},nameMap:{dragStart:i?"touchstart":"mousedown",dragMove:i?"touchmove":"mousemove",dragEnd:i?"touchend":"mouseup"},randomOrder:function(e){return function(e){for(var t=e.length-1;t>=0;t--){var n=Math.floor(Math.random()*(t+1)),i=e[n];e[n]=e[t],e[t]=i}return e}([].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t\n ',t+=r(n+s),t+='\n ',t+=r(e.name),t+='\n ',t+=r(e.artist),t+="\n\n"}),t}},function(e,t,n){"use strict";e.exports=n(15)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=g(n(33)),a=g(n(32)),r=g(n(31)),o=g(n(30)),s=g(n(29)),l=g(n(28)),u=g(n(27)),c=g(n(26)),p=g(n(25)),d=g(n(24)),h=g(n(23)),y=g(n(22)),f=g(n(21)),v=g(n(20)),m=g(n(19));function g(e){return e&&e.__esModule?e:{default:e}}var w={play:i.default,pause:a.default,volumeUp:r.default,volumeDown:o.default,volumeOff:s.default,orderRandom:l.default,orderList:u.default,menu:c.default,loopAll:p.default,loopOne:d.default,loopNone:h.default,loading:y.default,right:f.default,skip:v.default,lrc:m.default};t.default=w},function(e,t,n){"use strict";var i,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(i=window)}e.exports=i},function(e,t,n){"use strict";var i,a,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};void 0===(a="function"==typeof(i=function(){if("object"===("undefined"==typeof window?"undefined":r(window))&&void 0!==document.querySelectorAll&&void 0!==window.pageYOffset&&void 0!==history.pushState){var e=function(e,t,n,i){return n>i?t:e+(t-e)*((a=n/i)<.5?4*a*a*a:(a-1)*(2*a-2)*(2*a-2)+1);var a},t=function(t,n,i,a){n=n||500;var r=(a=a||window).scrollTop||window.pageYOffset;if("number"==typeof t)var o=parseInt(t);else var o=function(e,t){return"HTML"===e.nodeName?-t:e.getBoundingClientRect().top+t}(t,r);var s=Date.now(),l=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){window.setTimeout(e,15)};!function u(){var c=Date.now()-s;a!==window?a.scrollTop=e(r,o,c,n):window.scroll(0,e(r,o,c,n)),c>n?"function"==typeof i&&i(t):l(u)}()},n=function(e){if(!e.defaultPrevented){e.preventDefault(),location.hash!==this.hash&&window.history.pushState(null,null,this.hash);var n=document.getElementById(this.hash.substring(1));if(!n)return;t(n,500,function(e){location.replace("#"+e.id)})}};return document.addEventListener("DOMContentLoaded",function(){for(var e,t=document.querySelectorAll('a[href^="#"]:not([href="#"])'),i=t.length;e=t[--i];)e.addEventListener("click",n,!1)}),t}})?i.call(t,n,t,e):i)||(e.exports=a)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n1),n=0===this.audios.length;this.player.template.listOl.innerHTML+=(0,a.default)({theme:this.player.options.theme,audio:e,index:this.audios.length+1}),this.audios=this.audios.concat(e),t&&this.audios.length>1&&this.player.container.classList.add("aplayer-withlist"),this.player.randomOrder=r.default.randomOrder(this.audios.length),this.player.template.listCurs=this.player.container.querySelectorAll(".aplayer-list-cur"),this.player.template.listCurs[this.audios.length-1].style.backgroundColor=e.theme||this.player.options.theme,n&&("random"===this.player.options.order?this.switch(this.player.randomOrder[0]):this.switch(0))}},{key:"remove",value:function(e){if(this.player.events.trigger("listremove",{index:e}),this.audios[e])if(this.audios.length>1){var t=this.player.container.querySelectorAll(".aplayer-list li");t[e].remove(),this.audios.splice(e,1),this.player.lrc&&this.player.lrc.remove(e),e===this.index&&(this.audios[e]?this.switch(e):this.switch(e-1)),this.index>e&&this.index--;for(var n=e;nt&&!e.player.audio.paused&&(e.player.container.classList.remove("aplayer-loading"),i=!1),t=n)},100)}},{key:"enable",value:function(e){this["enable"+e+"Checker"]=!0,"fps"===e&&this.initfpsChecker()}},{key:"disable",value:function(e){this["enable"+e+"Checker"]=!1}},{key:"destroy",value:function(){var e=this;this.types.forEach(function(t){e["enable"+t+"Checker"]=!1,e[t+"Checker"]&&clearInterval(e[t+"Checker"])})}}]),e}();t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n1?"one"===e.player.options.loop?(e.player.options.loop="none",e.player.template.loop.innerHTML=r.default.loopNone):"none"===e.player.options.loop?(e.player.options.loop="all",e.player.template.loop.innerHTML=r.default.loopAll):"all"===e.player.options.loop&&(e.player.options.loop="one",e.player.template.loop.innerHTML=r.default.loopOne):"one"===e.player.options.loop||"all"===e.player.options.loop?(e.player.options.loop="none",e.player.template.loop.innerHTML=r.default.loopNone):"none"===e.player.options.loop&&(e.player.options.loop="all",e.player.template.loop.innerHTML=r.default.loopAll)})}},{key:"initMenuButton",value:function(){var e=this;this.player.template.menu.addEventListener("click",function(){e.player.list.toggle()})}},{key:"initMiniSwitcher",value:function(){var e=this;this.player.template.miniSwitcher.addEventListener("click",function(){e.player.setMode("mini"===e.player.mode?"normal":"mini")})}},{key:"initSkipButton",value:function(){var e=this;this.player.template.skipBackButton.addEventListener("click",function(){e.player.skipBack()}),this.player.template.skipForwardButton.addEventListener("click",function(){e.player.skipForward()}),this.player.template.skipPlayButton.addEventListener("click",function(){e.player.toggle()})}},{key:"initLrcButton",value:function(){var e=this;this.player.template.lrcButton.addEventListener("click",function(){e.player.template.lrcButton.classList.contains("aplayer-icon-lrc-inactivity")?(e.player.template.lrcButton.classList.remove("aplayer-icon-lrc-inactivity"),e.player.lrc&&e.player.lrc.show()):(e.player.template.lrcButton.classList.add("aplayer-icon-lrc-inactivity"),e.player.lrc&&e.player.lrc.hide())})}}]),e}();t.default=s},function(e,t,n){var i=n(2);e.exports=function(e){"use strict";e=e||{};var t="",n=i.$each,a=e.lyrics,r=(e.$value,e.$index,i.$escape);return n(a,function(e,n){t+="\n \n"}),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:this.player.audio.currentTime;if(this.index>this.current.length-1||e=this.current[this.index+1][0])for(var t=0;t=this.current[t][0]&&(!this.current[t+1]||e=200&&n.status<300||304===n.status?t.parsed[e]=t.parse(n.responseText):(t.player.notice("LRC file request fails: status "+n.status),t.parsed[e]=[["00:00","Not available"]]),t.container.innerHTML=(0,o.default)({lyrics:t.parsed[e]}),t.update(0),t.current=t.parsed[e])};var i=this.player.list.audios[e].lrc;n.open("get",i,!0),n.send(null)}else this.player.list.audios[e].lrc?this.parsed[e]=this.parse(this.player.list.audios[e].lrc):this.parsed[e]=[["00:00","Not available"]];this.container.innerHTML=(0,o.default)({lyrics:this.parsed[e]}),this.update(0),this.current=this.parsed[e]}},{key:"parse",value:function(e){if(e){for(var t=(e=e.replace(/([^\]^\n])\[/g,function(e,t){return t+"\n["})).split("\n"),n=[],i=t.length,a=0;a/g,"").replace(/^\s+|\s+$/g,"");if(r)for(var s=r.length,l=0;l]/;a.$escape=function(e){return function(e){var t=""+e,n=r.exec(t);if(!n)return e;var i="",a=void 0,o=void 0,s=void 0;for(a=n.index,o=0;a\n \n
    ',t+=s.play,t+='
    \n \n \n
    \n
    \n\n
    \n
    \n
    \n'):(t+='\n
    \n
    \n
    ',t+=s.play,t+='
    \n
    \n
    \n
    \n No audio\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n ',t+=s.loading,t+='\n \n
    \n
    \n
    \n
    \n \n 00:00 / 00:00\n \n \n ',t+=s.skip,t+='\n \n \n ',t+=s.play,t+='\n \n \n ',t+=s.skip,t+='\n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n '},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t,n){"use strict";var i,a,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(e){if(i===setTimeout)return setTimeout(e,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(e){i=o}try{a="function"==typeof clearTimeout?clearTimeout:s}catch(e){a=s}}();var u,c=[],p=!1,d=-1;function h(){p&&u&&(p=!1,u.length?c=u.concat(c):d=-1,c.length&&y())}function y(){if(!p){var e=l(h);p=!0;for(var t=c.length;t;){for(u=c,c=[];++d1)for(var n=1;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(35),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){"use strict";(function(t){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=setTimeout;function a(){}function r(e){if(!(this instanceof r))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void l(t.promise,e)}s(t.promise,i)}else(1===e._state?s:l)(t.promise,e._value)})):e._deferreds.push(t)}function s(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===(void 0===t?"undefined":n(t))||"function"==typeof t)){var i=t.then;if(t instanceof r)return e._state=3,e._value=t,void u(e);if("function"==typeof i)return void c((a=i,o=t,function(){a.apply(o,arguments)}),e)}e._state=1,e._value=t,u(e)}catch(t){l(e,t)}var a,o}function l(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&r._immediateFn(function(){e._handled||r._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t1&&this.container.classList.add("aplayer-withlist"),r.default.isMobile&&this.container.classList.add("aplayer-mobile"),this.arrow=this.container.offsetWidth<=300,this.arrow&&this.container.classList.add("aplayer-arrow"),this.container=this.options.container,2===this.options.lrcType||!0===this.options.lrcType)for(var n=this.container.getElementsByClassName("aplayer-lrc-content"),i=0;i1?(e.notice("An audio error has occurred, player will skip forward in 2 seconds."),t=setTimeout(function(){e.skipForward(),e.paused||e.play()},2e3)):1===e.list.audios.length&&e.notice("An audio error has occurred.")}),this.events.on("listswitch",function(){t&&clearTimeout(t)}),this.on("ended",function(){"none"===e.options.loop?"list"===e.options.order?e.list.index0&&void 0!==arguments[0]?arguments[0]:this.list.audios[this.list.index].theme||this.options.theme,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.list.index;(!(arguments.length>2&&void 0!==arguments[2])||arguments[2])&&this.list.audios[t]&&(this.list.audios[t].theme=e),this.template.listCurs[t]&&(this.template.listCurs[t].style.backgroundColor=e),t===this.list.index&&(this.template.pic.style.backgroundColor=e,this.template.played.style.background=e,this.template.thumb.style.background=e,this.template.volume.style.background=e)}},{key:"seek",value:function(e){e=Math.max(e,0),e=Math.min(e,this.duration),this.audio.currentTime=e,this.bar.set("played",e/this.duration,"width"),this.template.ptime.innerHTML=r.default.secondToTime(e)}},{key:"setUIPlaying",value:function(){var e=this;if(this.paused&&(this.paused=!1,this.template.button.classList.remove("aplayer-play"),this.template.button.classList.add("aplayer-pause"),this.template.button.innerHTML="",setTimeout(function(){e.template.button.innerHTML=o.default.pause},100),this.template.skipPlayButton.innerHTML=o.default.pause),this.timer.enable("loading"),this.options.mutex)for(var t=0;t=.95?this.template.volumeButton.innerHTML=o.default.volumeUp:this.volume()>0?this.template.volumeButton.innerHTML=o.default.volumeDown:this.template.volumeButton.innerHTML=o.default.volumeOff}},{key:"volume",value:function(e,t){return e=parseFloat(e),isNaN(e)||(e=Math.max(e,0),e=Math.min(e,1),this.bar.set("volume",e,"height"),t||this.storage.set("volume",e),this.audio.volume=e,this.audio.muted&&(this.audio.muted=!1),this.switchVolumeIcon()),this.audio.muted?0:this.audio.volume}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"toggle",value:function(){this.template.button.classList.contains("aplayer-play")?this.play():this.template.button.classList.contains("aplayer-pause")&&this.pause()}},{key:"switchAudio",value:function(e){this.list.switch(e)}},{key:"addAudio",value:function(e){this.list.add(e)}},{key:"removeAudio",value:function(e){this.list.remove(e)}},{key:"destroy",value:function(){m.splice(m.indexOf(this),1),this.pause(),this.container.innerHTML="",this.audio.src="",this.timer.destroy(),this.events.trigger("destroy")}},{key:"setMode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"normal";this.mode=e,"mini"===e?this.container.classList.add("aplayer-narrow"):"normal"===e&&this.container.classList.remove("aplayer-narrow")}},{key:"notice",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;this.template.notice.innerHTML=e,this.template.notice.style.opacity=i,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("noticeshow",{text:e}),n&&(this.noticeTime=setTimeout(function(){t.template.notice.style.opacity=0,t.events.trigger("noticehide")},n))}},{key:"prevIndex",value:function(){if(!(this.list.audios.length>1))return 0;if("list"===this.options.order)return this.list.index-1<0?this.list.audios.length-1:this.list.index-1;if("random"===this.options.order){var e=this.randomOrder.indexOf(this.list.index);return 0===e?this.randomOrder[this.randomOrder.length-1]:this.randomOrder[e-1]}}},{key:"nextIndex",value:function(){if(!(this.list.audios.length>1))return 0;if("list"===this.options.order)return(this.list.index+1)%this.list.audios.length;if("random"===this.options.order){var e=this.randomOrder.indexOf(this.list.index);return e===this.randomOrder.length-1?this.randomOrder[0]:this.randomOrder[e+1]}}},{key:"skipBack",value:function(){this.list.switch(this.prevIndex())}},{key:"skipForward",value:function(){this.list.switch(this.nextIndex())}},{key:"duration",get:function(){return isNaN(this.audio.duration)?0:this.audio.duration}}],[{key:"version",get:function(){return"1.10.1"}}]),e}();t.default=g},,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(40);var i,a=n(38),r=(i=a)&&i.__esModule?i:{default:i};console.log("\n %c APlayer v1.10.1 af84efb %c http://aplayer.js.org \n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),t.default=r.default}]).default}); +//# sourceMappingURL=APlayer.min.js.map \ No newline at end of file diff --git a/source/lib/aplayer@1.10.1/APlayer.min.js.map b/source/lib/aplayer@1.10.1/APlayer.min.js.map new file mode 100644 index 0000000..5144f3f --- /dev/null +++ b/source/lib/aplayer@1.10.1/APlayer.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./src/js/utils.js","webpack://[name]/./src/template/list-item.art","webpack://[name]/./node_modules/art-template/lib/runtime.js","webpack://[name]/./src/js/icons.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./node_modules/smoothscroll/smoothscroll.js","webpack://[name]/./src/js/list.js","webpack://[name]/./src/js/events.js","webpack://[name]/./src/js/timer.js","webpack://[name]/./src/js/controller.js","webpack://[name]/./src/template/lrc.art","webpack://[name]/./src/js/lrc.js","webpack://[name]/./src/js/storage.js","webpack://[name]/./src/js/bar.js","webpack://[name]/./node_modules/detect-node/index.js","webpack://[name]/./node_modules/art-template/lib/compile/runtime.js","webpack://[name]/./src/template/player.art","webpack://[name]/./src/js/template.js","webpack://[name]/./src/js/options.js","webpack://[name]/./src/assets/lrc.svg","webpack://[name]/./src/assets/skip.svg","webpack://[name]/./src/assets/right.svg","webpack://[name]/./src/assets/loading.svg","webpack://[name]/./src/assets/loop-none.svg","webpack://[name]/./src/assets/loop-one.svg","webpack://[name]/./src/assets/loop-all.svg","webpack://[name]/./src/assets/menu.svg","webpack://[name]/./src/assets/order-list.svg","webpack://[name]/./src/assets/order-random.svg","webpack://[name]/./src/assets/volume-off.svg","webpack://[name]/./src/assets/volume-down.svg","webpack://[name]/./src/assets/volume-up.svg","webpack://[name]/./src/assets/pause.svg","webpack://[name]/./src/assets/play.svg","webpack://[name]/./node_modules/process/browser.js","webpack://[name]/./node_modules/setimmediate/setImmediate.js","webpack://[name]/./node_modules/timers-browserify/main.js","webpack://[name]/./node_modules/promise-polyfill/lib/index.js","webpack://[name]/./src/js/player.js","webpack://[name]/./src/js/index.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","prototype","hasOwnProperty","p","s","isMobile","test","navigator","userAgent","utils","secondToTime","second","hour","Math","floor","min","sec","map","num","join","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","document","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getElementViewTop","noScrollTop","elementScrollTop","actualTop","offsetTop","scrollTop","storage","set","key","localStorage","setItem","getItem","nameMap","dragStart","dragMove","dragEnd","randomOrder","length","arr","randomIndex","random","itemAtIndex","shuffle","concat","Array","isArray","arr2","from","_toConsumableArray","item","default","$each","$imports","audio","$data","$escape","$value","$index","theme","index","$$out","artist","_play2","_interopRequireDefault","_pause2","_volumeUp2","_volumeDown2","_volumeOff2","_orderRandom2","_orderList2","_menu2","_loopAll2","_loopOne2","_loopNone2","_loading2","_right2","_skip2","_lrc2","obj","Icons","play","pause","volumeUp","volumeDown","volumeOff","orderRandom","orderList","menu","loopAll","loopOne","loopNone","loading","right","skip","lrc","g","_typeof","Symbol","iterator","constructor","this","Function","eval","e","undefined","__WEBPACK_AMD_DEFINE_RESULT__","__WEBPACK_AMD_DEFINE_FACTORY__","querySelectorAll","pageYOffset","history","pushState","position","start","end","elapsed","duration","t","smoothScroll","el","callback","context","parseInt","nodeName","getBoundingClientRect","top","getTop","clock","Date","now","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","fn","setTimeout","step","scroll","linkHandler","ev","defaultPrevented","preventDefault","location","hash","node","getElementById","substring","replace","id","addEventListener","a","internal","_createClass","defineProperties","target","props","descriptor","writable","Constructor","protoProps","staticProps","_listItem2","_utils2","_smoothscroll2","List","player","instance","TypeError","_classCallCheck","audios","options","bindEvents","_this","template","list","tagName","toUpperCase","parentElement","audioIndex","getElementsByClassName","innerHTML","switch","toggle","events","trigger","classList","remove","listOl","add","contains","show","hide","toString","title","author","cover","pic","type","wasSingle","wasEmpty","container","listCurs","style","backgroundColor","order","splice","textContent","clear","backgroundImage","light","setAudio","update","dtime","src","bar","Events","audioEvents","playerEvents","push","data","indexOf","console","error","Timer","oRequestAnimationFrame","msRequestAnimationFrame","types","init","forEach","_this2","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","currentTime","paused","initfpsChecker","_this3","clearInterval","_icons2","Controller","initPlayButton","initPlayBar","initOrderButton","initLoopButton","initMenuButton","initVolumeButton","initMiniSwitcher","initSkipButton","initLrcButton","thumbMove","percentage","clientX","changedTouches","barWrap","clientWidth","max","ptime","thumbUp","removeEventListener","seek","disableTimeupdate","volumeButton","muted","switchVolumeIcon","volume","clientY","volumeBar","fixed","clientHeight","volumeBarWrap","_this4","_this5","loop","_this6","_this7","miniSwitcher","setMode","mode","_this8","skipBackButton","skipBack","skipForwardButton","skipForward","skipPlayButton","_this9","lrcButton","lyrics","_lrc","Lrc","async","parsed","lrcWrap","arguments","transform","webkitTransform","getElementsByTagName","xhr","XMLHttpRequest","onreadystatechange","readyState","status","parse","responseText","notice","apiurl","open","send","lrc_s","lyric","match","p1","split","lyricLen","lrcTimes","lrcText","timeLen","j","oneTime","exec","lrcTime","filter","sort","b","_utils","Storage","storageName","JSON","stringify","Bar","elements","played","loaded","direction","parseFloat","global","process","detectNode","runtime","create","ESCAPE_REG","content","html","regexResult","result","lastIndex","char","charCodeAt","xmlEscape","len","_i","getObject","listFolded","listMaxHeight","include","icons","_player2","Template","querySelector","info","time","button","thumb","defaultOption","mini","narrow","autoplay","mutex","lrcType","showlrc","preload","listmaxheight","music","defaultKey","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","array","noop","nextTick","args","apply","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","setImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","port2","createElement","script","removeChild","appendChild","source","slice","attachEvent","task","clearImmediate","self","Timeout","clearFn","_id","_clearFn","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setTimeoutFunc","Promise","_state","_handled","_value","_deferreds","doResolve","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","reject","promise","resolve","newValue","then","finale","thisArg","_unhandledRejectionFn","done","reason","ex","prom","all","remaining","res","val","race","values","err","warn","_promisePolyfill2","_options2","_template2","_bar2","_storage2","_controller2","_timer2","_events2","_list2","instances","APlayer","playedPromise","arrow","offsetWidth","lrcEle","width","display","controller","timer","initAudio","_loop","setUIPlaying","setUIPaused","buffered","skipTime","nextIndex","hls","destroy","customAudioType","url","Hls","isSupported","loadSource","attachMedia","canPlayType","color","background","enable","playPromise","catch","disable","nostorage","isNaN","text","opacity","noticeTime","prevIndex","_player","log"],"mappings":"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","file":"APlayer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"APlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"APlayer\"] = factory();\n\telse\n\t\troot[\"APlayer\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 41);\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\nvar isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var hour = Math.floor(second / 3600);\n var min = Math.floor((second - hour * 3600) / 60);\n var sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [\n hour,\n min,\n sec\n ] : [\n min,\n sec\n ]).map(add0).join(':');\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getElementViewTop: function getElementViewTop(element, noScrollTop) {\n var actualTop = element.offsetTop;\n var current = element.offsetParent;\n var elementScrollTop = 0;\n while (current !== null) {\n actualTop += current.offsetTop;\n current = current.offsetParent;\n }\n elementScrollTop = document.body.scrollTop + document.documentElement.scrollTop;\n return noScrollTop ? actualTop : actualTop - elementScrollTop;\n },\n isMobile: isMobile,\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n nameMap: {\n dragStart: isMobile ? 'touchstart' : 'mousedown',\n dragMove: isMobile ? 'touchmove' : 'mousemove',\n dragEnd: isMobile ? 'touchend' : 'mouseup'\n },\n randomOrder: function randomOrder(length) {\n function shuffle(arr) {\n for (var i = arr.length - 1; i >= 0; i--) {\n var randomIndex = Math.floor(Math.random() * (i + 1));\n var itemAtIndex = arr[randomIndex];\n arr[randomIndex] = arr[i];\n arr[i] = itemAtIndex;\n }\n return arr;\n }\n return shuffle([].concat(_toConsumableArray(Array(length))).map(function (item, i) {\n return i;\n }));\n }\n};\nexports.default = utils;","{{each audio}}\n
  • \n \n {{ $index + index }}\n {{ $value.name }}\n {{ $value.artist }}\n
  • \n{{/each}}","'use strict';\nmodule.exports = require('./compile/runtime');","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = require('../assets/play.svg');\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = require('../assets/pause.svg');\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = require('../assets/volume-up.svg');\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = require('../assets/volume-down.svg');\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = require('../assets/volume-off.svg');\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _orderRandom = require('../assets/order-random.svg');\nvar _orderRandom2 = _interopRequireDefault(_orderRandom);\nvar _orderList = require('../assets/order-list.svg');\nvar _orderList2 = _interopRequireDefault(_orderList);\nvar _menu = require('../assets/menu.svg');\nvar _menu2 = _interopRequireDefault(_menu);\nvar _loopAll = require('../assets/loop-all.svg');\nvar _loopAll2 = _interopRequireDefault(_loopAll);\nvar _loopOne = require('../assets/loop-one.svg');\nvar _loopOne2 = _interopRequireDefault(_loopOne);\nvar _loopNone = require('../assets/loop-none.svg');\nvar _loopNone2 = _interopRequireDefault(_loopNone);\nvar _loading = require('../assets/loading.svg');\nvar _loading2 = _interopRequireDefault(_loading);\nvar _right = require('../assets/right.svg');\nvar _right2 = _interopRequireDefault(_right);\nvar _skip = require('../assets/skip.svg');\nvar _skip2 = _interopRequireDefault(_skip);\nvar _lrc = require('../assets/lrc.svg');\nvar _lrc2 = _interopRequireDefault(_lrc);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n play: _play2.default,\n pause: _pause2.default,\n volumeUp: _volumeUp2.default,\n volumeDown: _volumeDown2.default,\n volumeOff: _volumeOff2.default,\n orderRandom: _orderRandom2.default,\n orderList: _orderList2.default,\n menu: _menu2.default,\n loopAll: _loopAll2.default,\n loopOne: _loopOne2.default,\n loopNone: _loopNone2.default,\n loading: _loading2.default,\n right: _right2.default,\n skip: _skip2.default,\n lrc: _lrc2.default\n};\nexports.default = Icons;","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || Function('return this')() || (1, eval)('this');\n} catch (e) {\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n g = window;\n}\nmodule.exports = g;","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\n(function (root, smoothScroll) {\n 'use strict';\n if (typeof define === 'function' && define.amd) {\n define(smoothScroll);\n } else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object' && (typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object') {\n module.exports = smoothScroll();\n } else {\n root.smoothScroll = smoothScroll();\n }\n}(undefined, function () {\n 'use strict';\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object')\n return;\n if (document.querySelectorAll === void 0 || window.pageYOffset === void 0 || history.pushState === void 0) {\n return;\n }\n var getTop = function getTop(element, start) {\n if (element.nodeName === 'HTML')\n return -start;\n return element.getBoundingClientRect().top + start;\n };\n var easeInOutCubic = function easeInOutCubic(t) {\n return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;\n };\n var position = function position(start, end, elapsed, duration) {\n if (elapsed > duration)\n return end;\n return start + (end - start) * easeInOutCubic(elapsed / duration);\n };\n var smoothScroll = function smoothScroll(el, duration, callback, context) {\n duration = duration || 500;\n context = context || window;\n var start = context.scrollTop || window.pageYOffset;\n if (typeof el === 'number') {\n var end = parseInt(el);\n } else {\n var end = getTop(el, start);\n }\n var clock = Date.now();\n var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (fn) {\n window.setTimeout(fn, 15);\n };\n var step = function step() {\n var elapsed = Date.now() - clock;\n if (context !== window) {\n context.scrollTop = position(start, end, elapsed, duration);\n } else {\n window.scroll(0, position(start, end, elapsed, duration));\n }\n if (elapsed > duration) {\n if (typeof callback === 'function') {\n callback(el);\n }\n } else {\n requestAnimationFrame(step);\n }\n };\n step();\n };\n var linkHandler = function linkHandler(ev) {\n if (!ev.defaultPrevented) {\n ev.preventDefault();\n if (location.hash !== this.hash)\n window.history.pushState(null, null, this.hash);\n var node = document.getElementById(this.hash.substring(1));\n if (!node)\n return;\n smoothScroll(node, 500, function (el) {\n location.replace('#' + el.id);\n });\n }\n };\n document.addEventListener('DOMContentLoaded', function () {\n var internal = document.querySelectorAll('a[href^=\"#\"]:not([href=\"#\"])'), a;\n for (var i = internal.length; a = internal[--i];) {\n a.addEventListener('click', linkHandler, false);\n }\n });\n return smoothScroll;\n}));","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _listItem = require('../template/list-item.art');\nvar _listItem2 = _interopRequireDefault(_listItem);\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _smoothscroll = require('smoothscroll');\nvar _smoothscroll2 = _interopRequireDefault(_smoothscroll);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar List = function () {\n function List(player) {\n _classCallCheck(this, List);\n this.player = player;\n this.index = 0;\n this.audios = this.player.options.audio;\n this.bindEvents();\n }\n _createClass(List, [\n {\n key: 'bindEvents',\n value: function bindEvents() {\n var _this = this;\n this.player.template.list.addEventListener('click', function (e) {\n var target = void 0;\n if (e.target.tagName.toUpperCase() === 'LI') {\n target = e.target;\n } else {\n target = e.target.parentElement;\n }\n var audioIndex = parseInt(target.getElementsByClassName('aplayer-list-index')[0].innerHTML) - 1;\n if (audioIndex !== _this.index) {\n _this.switch(audioIndex);\n _this.player.play();\n } else {\n _this.player.toggle();\n }\n });\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.events.trigger('listshow');\n this.player.template.list.classList.remove('aplayer-list-hide');\n this.player.template.listOl.scrollTop = this.index * 33;\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.events.trigger('listhide');\n this.player.template.list.classList.add('aplayer-list-hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (!this.player.template.list.classList.contains('aplayer-list-hide')) {\n this.hide();\n } else {\n this.show();\n }\n }\n },\n {\n key: 'add',\n value: function add(audios) {\n this.player.events.trigger('listadd', { audios: audios });\n if (Object.prototype.toString.call(audios) !== '[object Array]') {\n audios = [audios];\n }\n audios.map(function (item) {\n item.name = item.name || item.title || 'Audio name';\n item.artist = item.artist || item.author || 'Audio artist';\n item.cover = item.cover || item.pic;\n item.type = item.type || 'normal';\n return item;\n });\n var wasSingle = !(this.audios.length > 1);\n var wasEmpty = this.audios.length === 0;\n this.player.template.listOl.innerHTML += (0, _listItem2.default)({\n theme: this.player.options.theme,\n audio: audios,\n index: this.audios.length + 1\n });\n this.audios = this.audios.concat(audios);\n if (wasSingle && this.audios.length > 1) {\n this.player.container.classList.add('aplayer-withlist');\n }\n this.player.randomOrder = _utils2.default.randomOrder(this.audios.length);\n this.player.template.listCurs = this.player.container.querySelectorAll('.aplayer-list-cur');\n this.player.template.listCurs[this.audios.length - 1].style.backgroundColor = audios.theme || this.player.options.theme;\n if (wasEmpty) {\n if (this.player.options.order === 'random') {\n this.switch(this.player.randomOrder[0]);\n } else {\n this.switch(0);\n }\n }\n }\n },\n {\n key: 'remove',\n value: function remove(index) {\n this.player.events.trigger('listremove', { index: index });\n if (this.audios[index]) {\n if (this.audios.length > 1) {\n var list = this.player.container.querySelectorAll('.aplayer-list li');\n list[index].remove();\n this.audios.splice(index, 1);\n this.player.lrc && this.player.lrc.remove(index);\n if (index === this.index) {\n if (this.audios[index]) {\n this.switch(index);\n } else {\n this.switch(index - 1);\n }\n }\n if (this.index > index) {\n this.index--;\n }\n for (var i = index; i < list.length; i++) {\n list[i].getElementsByClassName('aplayer-list-index')[0].textContent = i;\n }\n if (this.audios.length === 1) {\n this.player.container.classList.remove('aplayer-withlist');\n }\n this.player.template.listCurs = this.player.container.querySelectorAll('.aplayer-list-cur');\n } else {\n this.clear();\n }\n }\n }\n },\n {\n key: 'switch',\n value: function _switch(index) {\n this.player.events.trigger('listswitch', { index: index });\n if (typeof index !== 'undefined' && this.audios[index]) {\n this.index = index;\n var audio = this.audios[this.index];\n this.player.template.pic.style.backgroundImage = audio.cover ? 'url(\\'' + audio.cover + '\\')' : '';\n this.player.theme(this.audios[this.index].theme || this.player.options.theme, this.index, false);\n this.player.template.title.innerHTML = audio.name;\n this.player.template.author.innerHTML = audio.artist ? ' - ' + audio.artist : '';\n var light = this.player.container.getElementsByClassName('aplayer-list-light')[0];\n if (light) {\n light.classList.remove('aplayer-list-light');\n }\n this.player.container.querySelectorAll('.aplayer-list li')[this.index].classList.add('aplayer-list-light');\n (0, _smoothscroll2.default)(this.index * 33, 500, null, this.player.template.listOl);\n this.player.setAudio(audio);\n this.player.lrc && this.player.lrc.switch(this.index);\n this.player.lrc && this.player.lrc.update(0);\n if (this.player.duration !== 1) {\n this.player.template.dtime.innerHTML = _utils2.default.secondToTime(this.player.duration);\n }\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.player.events.trigger('listclear');\n this.index = 0;\n this.player.container.classList.remove('aplayer-withlist');\n this.player.pause();\n this.audios = [];\n this.player.lrc && this.player.lrc.clear();\n this.player.audio.src = '';\n this.player.template.listOl.innerHTML = '';\n this.player.template.pic.style.backgroundImage = '';\n this.player.theme(this.player.options.theme, this.index, false);\n this.player.template.title.innerHTML = 'No audio';\n this.player.template.author.innerHTML = '';\n this.player.bar.set('loaded', 0, 'width');\n this.player.template.dtime.innerHTML = _utils2.default.secondToTime(0);\n }\n }\n ]);\n return List;\n}();\nexports.default = List;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.audioEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'destroy',\n 'listshow',\n 'listhide',\n 'listadd',\n 'listremove',\n 'listswitch',\n 'listclear',\n 'noticeshow',\n 'noticehide',\n 'lrcshow',\n 'lrchide'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, data) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](data);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.audioEvents.indexOf(name) !== -1) {\n return 'audio';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Timer = function () {\n function Timer(player) {\n _classCallCheck(this, Timer);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = ['loading'];\n this.init();\n }\n _createClass(Timer, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.types.forEach(function (item) {\n _this['init' + item + 'Checker']();\n });\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this2 = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this2.enableloadingChecker) {\n currentPlayPos = _this2.player.audio.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this2.player.audio.paused) {\n _this2.player.container.classList.add('aplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this2.player.audio.paused) {\n _this2.player.container.classList.remove('aplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n this['enable' + type + 'Checker'] = true;\n if (type === 'fps') {\n this.initfpsChecker();\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n this['enable' + type + 'Checker'] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n var _this3 = this;\n this.types.forEach(function (item) {\n _this3['enable' + item + 'Checker'] = false;\n _this3[item + 'Checker'] && clearInterval(_this3[item + 'Checker']);\n });\n }\n }\n ]);\n return Timer;\n}();\nexports.default = Timer;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n _classCallCheck(this, Controller);\n this.player = player;\n this.initPlayButton();\n this.initPlayBar();\n this.initOrderButton();\n this.initLoopButton();\n this.initMenuButton();\n if (!_utils2.default.isMobile) {\n this.initVolumeButton();\n }\n this.initMiniSwitcher();\n this.initSkipButton();\n this.initLrcButton();\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this = this;\n this.player.template.pic.addEventListener('click', function () {\n _this.player.toggle();\n });\n }\n },\n {\n key: 'initPlayBar',\n value: function initPlayBar() {\n var _this2 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this2.player.template.barWrap)) / _this2.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this2.player.bar.set('played', percentage, 'width');\n _this2.player.lrc && _this2.player.lrc.update(percentage * _this2.player.duration);\n _this2.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this2.player.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this2.player.template.barWrap)) / _this2.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this2.player.bar.set('played', percentage, 'width');\n _this2.player.seek(_this2.player.bar.get('played', 'width') * _this2.player.duration);\n _this2.player.disableTimeupdate = false;\n };\n this.player.template.barWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this2.player.disableTimeupdate = true;\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this3 = this;\n this.player.template.volumeButton.addEventListener('click', function () {\n if (_this3.player.audio.muted) {\n _this3.player.audio.muted = false;\n _this3.player.switchVolumeIcon();\n _this3.player.bar.set('volume', _this3.player.volume(), 'height');\n } else {\n _this3.player.audio.muted = true;\n _this3.player.switchVolumeIcon();\n _this3.player.bar.set('volume', 0, 'height');\n }\n });\n var thumbMove = function thumbMove(e) {\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this3.player.template.volumeBar, _this3.player.options.fixed)) / _this3.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.volume(percentage);\n };\n var thumbUp = function thumbUp(e) {\n _this3.player.template.volumeBarWrap.classList.remove('aplayer-volume-bar-wrap-active');\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this3.player.template.volumeBar, _this3.player.options.fixed)) / _this3.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.volume(percentage);\n };\n this.player.template.volumeBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this3.player.template.volumeBarWrap.classList.add('aplayer-volume-bar-wrap-active');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initOrderButton',\n value: function initOrderButton() {\n var _this4 = this;\n this.player.template.order.addEventListener('click', function () {\n if (_this4.player.options.order === 'list') {\n _this4.player.options.order = 'random';\n _this4.player.template.order.innerHTML = _icons2.default.orderRandom;\n } else if (_this4.player.options.order === 'random') {\n _this4.player.options.order = 'list';\n _this4.player.template.order.innerHTML = _icons2.default.orderList;\n }\n });\n }\n },\n {\n key: 'initLoopButton',\n value: function initLoopButton() {\n var _this5 = this;\n this.player.template.loop.addEventListener('click', function () {\n if (_this5.player.list.audios.length > 1) {\n if (_this5.player.options.loop === 'one') {\n _this5.player.options.loop = 'none';\n _this5.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this5.player.options.loop === 'none') {\n _this5.player.options.loop = 'all';\n _this5.player.template.loop.innerHTML = _icons2.default.loopAll;\n } else if (_this5.player.options.loop === 'all') {\n _this5.player.options.loop = 'one';\n _this5.player.template.loop.innerHTML = _icons2.default.loopOne;\n }\n } else {\n if (_this5.player.options.loop === 'one' || _this5.player.options.loop === 'all') {\n _this5.player.options.loop = 'none';\n _this5.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this5.player.options.loop === 'none') {\n _this5.player.options.loop = 'all';\n _this5.player.template.loop.innerHTML = _icons2.default.loopAll;\n }\n }\n });\n }\n },\n {\n key: 'initMenuButton',\n value: function initMenuButton() {\n var _this6 = this;\n this.player.template.menu.addEventListener('click', function () {\n _this6.player.list.toggle();\n });\n }\n },\n {\n key: 'initMiniSwitcher',\n value: function initMiniSwitcher() {\n var _this7 = this;\n this.player.template.miniSwitcher.addEventListener('click', function () {\n _this7.player.setMode(_this7.player.mode === 'mini' ? 'normal' : 'mini');\n });\n }\n },\n {\n key: 'initSkipButton',\n value: function initSkipButton() {\n var _this8 = this;\n this.player.template.skipBackButton.addEventListener('click', function () {\n _this8.player.skipBack();\n });\n this.player.template.skipForwardButton.addEventListener('click', function () {\n _this8.player.skipForward();\n });\n this.player.template.skipPlayButton.addEventListener('click', function () {\n _this8.player.toggle();\n });\n }\n },\n {\n key: 'initLrcButton',\n value: function initLrcButton() {\n var _this9 = this;\n this.player.template.lrcButton.addEventListener('click', function () {\n if (_this9.player.template.lrcButton.classList.contains('aplayer-icon-lrc-inactivity')) {\n _this9.player.template.lrcButton.classList.remove('aplayer-icon-lrc-inactivity');\n _this9.player.lrc && _this9.player.lrc.show();\n } else {\n _this9.player.template.lrcButton.classList.add('aplayer-icon-lrc-inactivity');\n _this9.player.lrc && _this9.player.lrc.hide();\n }\n });\n }\n }\n ]);\n return Controller;\n}();\nexports.default = Controller;","{{each lyrics}}\n {{$value[1]}}

    \n{{/each}}","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _lrc = require('../template/lrc.art');\nvar _lrc2 = _interopRequireDefault(_lrc);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Lrc = function () {\n function Lrc(options) {\n _classCallCheck(this, Lrc);\n this.container = options.container;\n this.async = options.async;\n this.player = options.player;\n this.parsed = [];\n this.index = 0;\n this.current = [];\n }\n _createClass(Lrc, [\n {\n key: 'show',\n value: function show() {\n this.player.events.trigger('lrcshow');\n this.player.template.lrcWrap.classList.remove('aplayer-lrc-hide');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.events.trigger('lrchide');\n this.player.template.lrcWrap.classList.add('aplayer-lrc-hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.player.template.lrcWrap.classList.contains('aplayer-lrc-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n },\n {\n key: 'update',\n value: function update() {\n var currentTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.player.audio.currentTime;\n if (this.index > this.current.length - 1 || currentTime < this.current[this.index][0] || !this.current[this.index + 1] || currentTime >= this.current[this.index + 1][0]) {\n for (var i = 0; i < this.current.length; i++) {\n if (currentTime >= this.current[i][0] && (!this.current[i + 1] || currentTime < this.current[i + 1][0])) {\n this.index = i;\n this.container.style.transform = 'translateY(' + -this.index * 16 + 'px)';\n this.container.style.webkitTransform = 'translateY(' + -this.index * 16 + 'px)';\n this.container.getElementsByClassName('aplayer-lrc-current')[0].classList.remove('aplayer-lrc-current');\n this.container.getElementsByTagName('p')[i].classList.add('aplayer-lrc-current');\n }\n }\n }\n }\n },\n {\n key: 'switch',\n value: function _switch(index) {\n var _this = this;\n if (!this.parsed[index]) {\n if (!this.async) {\n if (this.player.list.audios[index].lrc) {\n this.parsed[index] = this.parse(this.player.list.audios[index].lrc);\n } else {\n this.parsed[index] = [[\n '00:00',\n 'Not available'\n ]];\n }\n } else {\n this.parsed[index] = [[\n '00:00',\n 'Loading'\n ]];\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (index === _this.player.list.index && xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n _this.parsed[index] = _this.parse(xhr.responseText);\n } else {\n _this.player.notice('LRC file request fails: status ' + xhr.status);\n _this.parsed[index] = [[\n '00:00',\n 'Not available'\n ]];\n }\n _this.container.innerHTML = (0, _lrc2.default)({ lyrics: _this.parsed[index] });\n _this.update(0);\n _this.current = _this.parsed[index];\n }\n };\n var apiurl = this.player.list.audios[index].lrc;\n xhr.open('get', apiurl, true);\n xhr.send(null);\n }\n }\n this.container.innerHTML = (0, _lrc2.default)({ lyrics: this.parsed[index] });\n this.update(0);\n this.current = this.parsed[index];\n }\n },\n {\n key: 'parse',\n value: function parse(lrc_s) {\n if (lrc_s) {\n lrc_s = lrc_s.replace(/([^\\]^\\n])\\[/g, function (match, p1) {\n return p1 + '\\n[';\n });\n var lyric = lrc_s.split('\\n');\n var lrc = [];\n var lyricLen = lyric.length;\n for (var i = 0; i < lyricLen; i++) {\n var lrcTimes = lyric[i].match(/\\[(\\d{2}):(\\d{2})(\\.(\\d{2,3}))?]/g);\n var lrcText = lyric[i].replace(/.*\\[(\\d{2}):(\\d{2})(\\.(\\d{2,3}))?]/g, '').replace(/<(\\d{2}):(\\d{2})(\\.(\\d{2,3}))?>/g, '').replace(/^\\s+|\\s+$/g, '');\n if (lrcTimes) {\n var timeLen = lrcTimes.length;\n for (var j = 0; j < timeLen; j++) {\n var oneTime = /\\[(\\d{2}):(\\d{2})(\\.(\\d{2,3}))?]/.exec(lrcTimes[j]);\n var min2sec = oneTime[1] * 60;\n var sec2sec = parseInt(oneTime[2]);\n var msec2sec = oneTime[4] ? parseInt(oneTime[4]) / ((oneTime[4] + '').length === 2 ? 100 : 1000) : 0;\n var lrcTime = min2sec + sec2sec + msec2sec;\n lrc.push([\n lrcTime,\n lrcText\n ]);\n }\n }\n }\n lrc = lrc.filter(function (item) {\n return item[1];\n });\n lrc.sort(function (a, b) {\n return a[0] - b[0];\n });\n return lrc;\n } else {\n return [];\n }\n }\n },\n {\n key: 'remove',\n value: function remove(index) {\n this.parsed.splice(index, 1);\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.parsed = [];\n this.container.innerHTML = '';\n }\n }\n ]);\n return Lrc;\n}();\nexports.default = Lrc;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Storage = function () {\n function Storage(player) {\n _classCallCheck(this, Storage);\n this.storageName = player.options.storageName;\n this.data = JSON.parse(_utils2.default.storage.get(this.storageName));\n if (!this.data) {\n this.data = {};\n }\n this.data.volume = this.data.volume || player.options.volume;\n }\n _createClass(Storage, [\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName, JSON.stringify(this.data));\n }\n }\n ]);\n return Storage;\n}();\nexports.default = Storage;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bar = function () {\n function Bar(template) {\n _classCallCheck(this, Bar);\n this.elements = {};\n this.elements.volume = template.volume;\n this.elements.played = template.played;\n this.elements.loaded = template.loaded;\n }\n _createClass(Bar, [\n {\n key: 'set',\n value: function set(type, percentage, direction) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.elements[type].style[direction] = percentage * 100 + '%';\n }\n },\n {\n key: 'get',\n value: function get(type, direction) {\n return parseFloat(this.elements[type].style[direction]) / 100;\n }\n }\n ]);\n return Bar;\n}();\nexports.default = Bar;","'use strict';\nmodule.exports = false;\ntry {\n module.exports = Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {\n}","'use strict';\nvar detectNode = require('detect-node');\nvar runtime = Object.create(detectNode ? global : window);\nvar ESCAPE_REG = /[\"&'<>]/;\nruntime.$escape = function (content) {\n return xmlEscape(toString(content));\n};\nruntime.$each = function (data, callback) {\n if (Array.isArray(data)) {\n for (var i = 0, len = data.length; i < len; i++) {\n callback(data[i], i);\n }\n } else {\n for (var _i in data) {\n callback(data[_i], _i);\n }\n }\n};\nfunction toString(value) {\n if (typeof value !== 'string') {\n if (value === undefined || value === null) {\n value = '';\n } else if (typeof value === 'function') {\n value = toString(value.call(value));\n } else {\n value = JSON.stringify(value);\n }\n }\n return value;\n}\n;\nfunction xmlEscape(content) {\n var html = '' + content;\n var regexResult = ESCAPE_REG.exec(html);\n if (!regexResult) {\n return content;\n }\n var result = '';\n var i = void 0, lastIndex = void 0, char = void 0;\n for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n switch (html.charCodeAt(i)) {\n case 34:\n char = '"';\n break;\n case 38:\n char = '&';\n break;\n case 39:\n char = ''';\n break;\n case 60:\n char = '<';\n break;\n case 62:\n char = '>';\n break;\n default:\n continue;\n }\n if (lastIndex !== i) {\n result += html.substring(lastIndex, i);\n }\n lastIndex = i + 1;\n result += char;\n }\n if (lastIndex !== i) {\n return result + html.substring(lastIndex, i);\n } else {\n return result;\n }\n}\n;\nmodule.exports = runtime;","{{ if !options.fixed }}\n
    \n
    \n
    {{@ icons.play }}
    \n
    \n
    \n
    \n No audio\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{@ icons.loading }}\n \n
    \n
    \n
    \n
    \n \n 00:00 / 00:00\n \n \n {{@ icons.skip }}\n \n \n {{@ icons.play }}\n \n \n {{@ icons.skip }}\n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{ include './list-item.art' getObject({\n theme: options.theme,\n audio: options.audio,\n index: 1\n }) }}\n \n
    \n{{ else }}\n
    \n \n {{ include './list-item.art' getObject({\n theme: options.theme,\n audio: options.audio,\n index: 1\n }) }}\n \n
    \n
    \n
    \n
    {{@ icons.play }}
    \n
    \n
    \n
    \n No audio\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{@ icons.loading }}\n \n
    \n
    \n
    \n
    \n \n 00:00 / 00:00\n \n \n {{@ icons.skip }}\n \n \n {{@ icons.play }}\n \n \n {{@ icons.skip }}\n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n{{/if}}","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _player = require('../template/player.art');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Template = function () {\n function Template(options) {\n _classCallCheck(this, Template);\n this.container = options.container;\n this.options = options.options;\n this.randomOrder = options.randomOrder;\n this.init();\n }\n _createClass(Template, [{\n key: 'init',\n value: function init() {\n var cover = '';\n if (this.options.audio.length) {\n if (this.options.order === 'random') {\n cover = this.options.audio[this.randomOrder[0]].cover;\n } else {\n cover = this.options.audio[0].cover;\n }\n }\n this.container.innerHTML = (0, _player2.default)({\n options: this.options,\n icons: _icons2.default,\n cover: cover,\n getObject: function getObject(obj) {\n return obj;\n }\n });\n this.lrc = this.container.querySelector('.aplayer-lrc-contents');\n this.lrcWrap = this.container.querySelector('.aplayer-lrc');\n this.ptime = this.container.querySelector('.aplayer-ptime');\n this.info = this.container.querySelector('.aplayer-info');\n this.time = this.container.querySelector('.aplayer-time');\n this.barWrap = this.container.querySelector('.aplayer-bar-wrap');\n this.button = this.container.querySelector('.aplayer-button');\n this.body = this.container.querySelector('.aplayer-body');\n this.list = this.container.querySelector('.aplayer-list');\n this.listOl = this.container.querySelector('.aplayer-list ol');\n this.listCurs = this.container.querySelectorAll('.aplayer-list-cur');\n this.played = this.container.querySelector('.aplayer-played');\n this.loaded = this.container.querySelector('.aplayer-loaded');\n this.thumb = this.container.querySelector('.aplayer-thumb');\n this.volume = this.container.querySelector('.aplayer-volume');\n this.volumeBar = this.container.querySelector('.aplayer-volume-bar');\n this.volumeButton = this.container.querySelector('.aplayer-time button');\n this.volumeBarWrap = this.container.querySelector('.aplayer-volume-bar-wrap');\n this.loop = this.container.querySelector('.aplayer-icon-loop');\n this.order = this.container.querySelector('.aplayer-icon-order');\n this.menu = this.container.querySelector('.aplayer-icon-menu');\n this.pic = this.container.querySelector('.aplayer-pic');\n this.title = this.container.querySelector('.aplayer-title');\n this.author = this.container.querySelector('.aplayer-author');\n this.dtime = this.container.querySelector('.aplayer-dtime');\n this.notice = this.container.querySelector('.aplayer-notice');\n this.miniSwitcher = this.container.querySelector('.aplayer-miniswitcher');\n this.skipBackButton = this.container.querySelector('.aplayer-icon-back');\n this.skipForwardButton = this.container.querySelector('.aplayer-icon-forward');\n this.skipPlayButton = this.container.querySelector('.aplayer-icon-play');\n this.lrcButton = this.container.querySelector('.aplayer-icon-lrc');\n }\n }]);\n return Template;\n}();\nexports.default = Template;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.default = function (options) {\n var defaultOption = {\n container: options.element || document.getElementsByClassName('aplayer')[0],\n mini: options.narrow || options.fixed || false,\n fixed: false,\n autoplay: false,\n mutex: true,\n lrcType: options.showlrc || options.lrc || 0,\n preload: 'auto',\n theme: '#b7daff',\n loop: 'all',\n order: 'list',\n volume: 0.7,\n listFolded: options.fixed,\n listMaxHeight: options.listmaxheight || '250px',\n audio: options.music || [],\n storageName: 'aplayer-setting'\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (Object.prototype.toString.call(options.audio) !== '[object Array]') {\n options.audio = [options.audio];\n }\n options.audio.map(function (item) {\n item.name = item.name || item.title || 'Audio name';\n item.artist = item.artist || item.author || 'Audio artist';\n item.cover = item.cover || item.pic;\n item.type = item.type || 'normal';\n return item;\n });\n if (options.audio.length <= 1 && options.loop === 'one') {\n options.loop = 'all';\n }\n return options;\n};","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","'use strict';\nvar process = module.exports = {};\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n}());\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n return setTimeout(fun, 0);\n }\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n return clearTimeout(marker);\n }\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = '';\nprocess.versions = {};\nfunction noop() {\n}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n return [];\n};\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};","'use strict';\n(function (global, undefined) {\n 'use strict';\n if (global.setImmediate) {\n return;\n }\n var nextHandle = 1;\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n function setImmediate(callback) {\n if (typeof callback !== 'function') {\n callback = new Function('' + callback);\n }\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n function runIfPresent(handle) {\n if (currentlyRunningATask) {\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n function canUsePostMessage() {\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n global.postMessage('', '*');\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n function installPostMessageImplementation() {\n var messagePrefix = 'setImmediate$' + Math.random() + '$';\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === 'string' && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n if (global.addEventListener) {\n global.addEventListener('message', onGlobalMessage, false);\n } else {\n global.attachEvent('onmessage', onGlobalMessage);\n }\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, '*');\n };\n }\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function registerImmediate(handle) {\n var script = doc.createElement('script');\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n function installSetTimeoutImplementation() {\n registerImmediate = function registerImmediate(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n if ({}.toString.call(global.process) === '[object process]') {\n installNextTickImplementation();\n } else if (canUsePostMessage()) {\n installPostMessageImplementation();\n } else if (global.MessageChannel) {\n installMessageChannelImplementation();\n } else if (doc && 'onreadystatechange' in doc.createElement('script')) {\n installReadyStateChangeImplementation();\n } else {\n installSetTimeoutImplementation();\n }\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === 'undefined' ? typeof global === 'undefined' ? undefined : global : self));","'use strict';\nvar apply = Function.prototype.apply;\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function () {\n};\nTimeout.prototype.close = function () {\n this._clearFn.call(window, this._id);\n};\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\nrequire('setimmediate');\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar setTimeoutFunc = setTimeout;\nfunction noop() {\n}\nfunction bind(fn, thisArg) {\n return function () {\n fn.apply(thisArg, arguments);\n };\n}\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function')\n throw new TypeError('not a function');\n this._state = 0;\n this._handled = false;\n this._value = undefined;\n this._deferreds = [];\n doResolve(fn, this);\n}\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function () {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\nfunction resolve(self, newValue) {\n try {\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (newValue && ((typeof newValue === 'undefined' ? 'undefined' : _typeof(newValue)) === 'object' || typeof newValue === 'function')) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function () {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(function (value) {\n if (done)\n return;\n done = true;\n resolve(self, value);\n }, function (reason) {\n if (done)\n return;\n done = true;\n reject(self, reason);\n });\n } catch (ex) {\n if (done)\n return;\n done = true;\n reject(self, ex);\n }\n}\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n var prom = new this.constructor(noop);\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\nPromise.prototype['finally'] = function (callback) {\n var constructor = this.constructor;\n return this.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n return constructor.reject(reason);\n });\n });\n};\nPromise.all = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!arr || typeof arr.length === 'undefined')\n throw new TypeError('Promise.all accepts an array');\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0)\n return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n try {\n if (val && ((typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(val, function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\nPromise.resolve = function (value) {\n if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.constructor === Promise) {\n return value;\n }\n return new Promise(function (resolve) {\n resolve(value);\n });\n};\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[i].then(resolve, reject);\n }\n });\n};\nPromise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n setImmediate(fn);\n} || function (fn) {\n setTimeoutFunc(fn, 0);\n};\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err);\n }\n};\nmodule.exports = Promise;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _promisePolyfill = require('promise-polyfill');\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _storage = require('./storage');\nvar _storage2 = _interopRequireDefault(_storage);\nvar _lrc = require('./lrc');\nvar _lrc2 = _interopRequireDefault(_lrc);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _timer = require('./timer');\nvar _timer2 = _interopRequireDefault(_timer);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nvar _list = require('./list');\nvar _list2 = _interopRequireDefault(_list);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar instances = [];\nvar APlayer = function () {\n function APlayer(options) {\n _classCallCheck(this, APlayer);\n this.options = (0, _options2.default)(options);\n this.container = this.options.container;\n this.paused = true;\n this.playedPromise = _promisePolyfill2.default.resolve();\n this.mode = 'normal';\n this.randomOrder = _utils2.default.randomOrder(this.options.audio.length);\n this.container.classList.add('aplayer');\n if (this.options.lrcType && !this.options.fixed) {\n this.container.classList.add('aplayer-withlrc');\n }\n if (this.options.audio.length > 1) {\n this.container.classList.add('aplayer-withlist');\n }\n if (_utils2.default.isMobile) {\n this.container.classList.add('aplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 300;\n if (this.arrow) {\n this.container.classList.add('aplayer-arrow');\n }\n this.container = this.options.container;\n if (this.options.lrcType === 2 || this.options.lrcType === true) {\n var lrcEle = this.container.getElementsByClassName('aplayer-lrc-content');\n for (var i = 0; i < lrcEle.length; i++) {\n if (this.options.audio[i]) {\n this.options.audio[i].lrc = lrcEle[i].innerHTML;\n }\n }\n }\n this.template = new _template2.default({\n container: this.container,\n options: this.options,\n randomOrder: this.randomOrder\n });\n if (this.options.fixed) {\n this.container.classList.add('aplayer-fixed');\n this.template.body.style.width = this.template.body.offsetWidth - 18 + 'px';\n }\n if (this.options.mini) {\n this.setMode('mini');\n this.template.info.style.display = 'block';\n }\n if (this.template.info.offsetWidth < 200) {\n this.template.time.classList.add('aplayer-time-narrow');\n }\n if (this.options.lrcType) {\n this.lrc = new _lrc2.default({\n container: this.template.lrc,\n async: this.options.lrcType === 3,\n player: this\n });\n }\n this.events = new _events2.default();\n this.storage = new _storage2.default(this);\n this.bar = new _bar2.default(this.template);\n this.controller = new _controller2.default(this);\n this.timer = new _timer2.default(this);\n this.list = new _list2.default(this);\n this.initAudio();\n this.bindEvents();\n if (this.options.order === 'random') {\n this.list.switch(this.randomOrder[0]);\n } else {\n this.list.switch(0);\n }\n if (this.options.autoplay) {\n this.play();\n }\n instances.push(this);\n }\n _createClass(APlayer, [\n {\n key: 'initAudio',\n value: function initAudio() {\n var _this = this;\n this.audio = document.createElement('audio');\n this.audio.preload = this.options.preload;\n var _loop = function _loop(i) {\n _this.audio.addEventListener(_this.events.audioEvents[i], function (e) {\n _this.events.trigger(_this.events.audioEvents[i], e);\n });\n };\n for (var i = 0; i < this.events.audioEvents.length; i++) {\n _loop(i);\n }\n this.volume(this.storage.get('volume'), true);\n }\n },\n {\n key: 'bindEvents',\n value: function bindEvents() {\n var _this2 = this;\n this.on('play', function () {\n if (_this2.paused) {\n _this2.setUIPlaying();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.setUIPaused();\n }\n });\n this.on('timeupdate', function () {\n if (!_this2.disableTimeupdate) {\n _this2.bar.set('played', _this2.audio.currentTime / _this2.duration, 'width');\n _this2.lrc && _this2.lrc.update();\n var currentTime = _utils2.default.secondToTime(_this2.audio.currentTime);\n if (_this2.template.ptime.innerHTML !== currentTime) {\n _this2.template.ptime.innerHTML = currentTime;\n }\n }\n });\n this.on('durationchange', function () {\n if (_this2.duration !== 1) {\n _this2.template.dtime.innerHTML = _utils2.default.secondToTime(_this2.duration);\n }\n });\n this.on('progress', function () {\n var percentage = _this2.audio.buffered.length ? _this2.audio.buffered.end(_this2.audio.buffered.length - 1) / _this2.duration : 0;\n _this2.bar.set('loaded', percentage, 'width');\n });\n var skipTime = void 0;\n this.on('error', function () {\n if (_this2.list.audios.length > 1) {\n _this2.notice('An audio error has occurred, player will skip forward in 2 seconds.');\n skipTime = setTimeout(function () {\n _this2.skipForward();\n if (!_this2.paused) {\n _this2.play();\n }\n }, 2000);\n } else if (_this2.list.audios.length === 1) {\n _this2.notice('An audio error has occurred.');\n }\n });\n this.events.on('listswitch', function () {\n skipTime && clearTimeout(skipTime);\n });\n this.on('ended', function () {\n if (_this2.options.loop === 'none') {\n if (_this2.options.order === 'list') {\n if (_this2.list.index < _this2.list.audios.length - 1) {\n _this2.list.switch((_this2.list.index + 1) % _this2.list.audios.length);\n _this2.play();\n } else {\n _this2.list.switch((_this2.list.index + 1) % _this2.list.audios.length);\n _this2.pause();\n }\n } else if (_this2.options.order === 'random') {\n if (_this2.randomOrder.indexOf(_this2.list.index) < _this2.randomOrder.length - 1) {\n _this2.list.switch(_this2.nextIndex());\n _this2.play();\n } else {\n _this2.list.switch(_this2.nextIndex());\n _this2.pause();\n }\n }\n } else if (_this2.options.loop === 'one') {\n _this2.list.switch(_this2.list.index);\n _this2.play();\n } else if (_this2.options.loop === 'all') {\n _this2.skipForward();\n _this2.play();\n }\n });\n }\n },\n {\n key: 'setAudio',\n value: function setAudio(audio) {\n if (this.hls) {\n this.hls.destroy();\n this.hls = null;\n }\n var type = audio.type;\n if (this.options.customAudioType && this.options.customAudioType[type]) {\n if (Object.prototype.toString.call(this.options.customAudioType[type]) === '[object Function]') {\n this.options.customAudioType[type](this.audio, audio, this);\n } else {\n console.error('Illegal customType: ' + type);\n }\n } else {\n if (!type || type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(audio.url)) {\n type = 'hls';\n } else {\n type = 'normal';\n }\n }\n if (type === 'hls') {\n if (Hls.isSupported()) {\n this.hls = new Hls();\n this.hls.loadSource(audio.url);\n this.hls.attachMedia(this.audio);\n } else if (this.audio.canPlayType('application/x-mpegURL') || this.audio.canPlayType('application/vnd.apple.mpegURL')) {\n this.audio.src = audio.url;\n } else {\n this.notice('Error: HLS is not supported.');\n }\n } else if (type === 'normal') {\n this.audio.src = audio.url;\n }\n }\n this.seek(0);\n if (!this.paused) {\n this.audio.play();\n }\n }\n },\n {\n key: 'theme',\n value: function theme() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.list.audios[this.list.index].theme || this.options.theme;\n var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.list.index;\n var isReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (isReset) {\n this.list.audios[index] && (this.list.audios[index].theme = color);\n }\n this.template.listCurs[index] && (this.template.listCurs[index].style.backgroundColor = color);\n if (index === this.list.index) {\n this.template.pic.style.backgroundColor = color;\n this.template.played.style.background = color;\n this.template.thumb.style.background = color;\n this.template.volume.style.background = color;\n }\n }\n },\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n time = Math.min(time, this.duration);\n this.audio.currentTime = time;\n this.bar.set('played', time / this.duration, 'width');\n this.template.ptime.innerHTML = _utils2.default.secondToTime(time);\n }\n },\n {\n key: 'setUIPlaying',\n value: function setUIPlaying() {\n var _this3 = this;\n if (this.paused) {\n this.paused = false;\n this.template.button.classList.remove('aplayer-play');\n this.template.button.classList.add('aplayer-pause');\n this.template.button.innerHTML = '';\n setTimeout(function () {\n _this3.template.button.innerHTML = _icons2.default.pause;\n }, 100);\n this.template.skipPlayButton.innerHTML = _icons2.default.pause;\n }\n this.timer.enable('loading');\n if (this.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (this !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n }\n },\n {\n key: 'play',\n value: function play() {\n var _this4 = this;\n this.setUIPlaying();\n var playPromise = this.audio.play();\n if (playPromise) {\n playPromise.catch(function (e) {\n console.warn(e);\n if (e.name === 'NotAllowedError') {\n _this4.setUIPaused();\n }\n });\n }\n }\n },\n {\n key: 'setUIPaused',\n value: function setUIPaused() {\n var _this5 = this;\n if (!this.paused) {\n this.paused = true;\n this.template.button.classList.remove('aplayer-pause');\n this.template.button.classList.add('aplayer-play');\n this.template.button.innerHTML = '';\n setTimeout(function () {\n _this5.template.button.innerHTML = _icons2.default.play;\n }, 100);\n this.template.skipPlayButton.innerHTML = _icons2.default.play;\n }\n this.container.classList.remove('aplayer-loading');\n this.timer.disable('loading');\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.setUIPaused();\n this.audio.pause();\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeButton.innerHTML = _icons2.default.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeButton.innerHTML = _icons2.default.volumeDown;\n } else {\n this.template.volumeButton.innerHTML = _icons2.default.volumeOff;\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'height');\n if (!nostorage) {\n this.storage.set('volume', percentage);\n }\n this.audio.volume = percentage;\n if (this.audio.muted) {\n this.audio.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.audio.muted ? 0 : this.audio.volume;\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.template.button.classList.contains('aplayer-play')) {\n this.play();\n } else if (this.template.button.classList.contains('aplayer-pause')) {\n this.pause();\n }\n }\n },\n {\n key: 'switchAudio',\n value: function switchAudio(index) {\n this.list.switch(index);\n }\n },\n {\n key: 'addAudio',\n value: function addAudio(audios) {\n this.list.add(audios);\n }\n },\n {\n key: 'removeAudio',\n value: function removeAudio(index) {\n this.list.remove(index);\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n instances.splice(instances.indexOf(this), 1);\n this.pause();\n this.container.innerHTML = '';\n this.audio.src = '';\n this.timer.destroy();\n this.events.trigger('destroy');\n }\n },\n {\n key: 'setMode',\n value: function setMode() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'normal';\n this.mode = mode;\n if (mode === 'mini') {\n this.container.classList.add('aplayer-narrow');\n } else if (mode === 'normal') {\n this.container.classList.remove('aplayer-narrow');\n }\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this6 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n this.template.notice.innerHTML = text;\n this.template.notice.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('noticeshow', { text: text });\n if (time) {\n this.noticeTime = setTimeout(function () {\n _this6.template.notice.style.opacity = 0;\n _this6.events.trigger('noticehide');\n }, time);\n }\n }\n },\n {\n key: 'prevIndex',\n value: function prevIndex() {\n if (this.list.audios.length > 1) {\n if (this.options.order === 'list') {\n return this.list.index - 1 < 0 ? this.list.audios.length - 1 : this.list.index - 1;\n } else if (this.options.order === 'random') {\n var index = this.randomOrder.indexOf(this.list.index);\n if (index === 0) {\n return this.randomOrder[this.randomOrder.length - 1];\n } else {\n return this.randomOrder[index - 1];\n }\n }\n } else {\n return 0;\n }\n }\n },\n {\n key: 'nextIndex',\n value: function nextIndex() {\n if (this.list.audios.length > 1) {\n if (this.options.order === 'list') {\n return (this.list.index + 1) % this.list.audios.length;\n } else if (this.options.order === 'random') {\n var index = this.randomOrder.indexOf(this.list.index);\n if (index === this.randomOrder.length - 1) {\n return this.randomOrder[0];\n } else {\n return this.randomOrder[index + 1];\n }\n }\n } else {\n return 0;\n }\n }\n },\n {\n key: 'skipBack',\n value: function skipBack() {\n this.list.switch(this.prevIndex());\n }\n },\n {\n key: 'skipForward',\n value: function skipForward() {\n this.list.switch(this.nextIndex());\n }\n },\n {\n key: 'duration',\n get: function get() {\n return isNaN(this.audio.duration) ? 0 : this.audio.duration;\n }\n }\n ], [{\n key: 'version',\n get: function get() {\n return APLAYER_VERSION;\n }\n }]);\n return APlayer;\n}();\nexports.default = APlayer;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nrequire('../css/index.scss');\nvar _player = require('./player');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c APlayer v' + APLAYER_VERSION + ' ' + GIT_HASH + ' %c http://aplayer.js.org ' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;"],"sourceRoot":""} \ No newline at end of file diff --git a/source/lib/clipboard@2.0.10/clipboard.min.js b/source/lib/clipboard@2.0.10/clipboard.min.js new file mode 100644 index 0000000..41c6a0f --- /dev/null +++ b/source/lib/clipboard@2.0.10/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.10 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1",preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:"
    download and watch with your favorite video player!",format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:"
     / 
    {{buttons}}
    {{arrows}}
    ",spinnerTpl:"
    ",errorTpl:"

    {{ERROR}}

    ",btnTpl:{download:"",zoom:"",close:"",arrowLeft:"",arrowRight:"",smallBtn:""},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom";},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls";},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close";},dblclickContent:function(t,e){return"image"===t.type&&"zoom";},dblclickSlide:function(t,e){return"image"===t.type&&"zoom";}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded.
    Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schließen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden.
    Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergrößern"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n;},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60);};}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e);};}(),f=function(){var t,n=e.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(void 0!==n.style[t])return o[t];return"transitionend";}(),p=function(t){return t&&t.length&&t[0].offsetHeight;},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e);}),o;},g=function(t){var o,i;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},i=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),i);},b=function(t,e,o){var i=this;i.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(i.opts=h(i.opts,e)),n.fancybox.isMobile&&(i.opts=h(i.opts,i.opts.mobile)),i.id=i.opts.id||++c,i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=!0,i.group=[],i.slides={},i.addContent(t),i.group.length&&i.init();};n.extend(b.prototype,{init:function(){var o,i,a=this,s=a.group[a.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==r.hideScrollbar&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append(""),n("body").addClass("compensate-for-scrollbar")),i="",n.each(r.buttons,function(t,e){i+=r.btnTpl[e]||"";}),o=n(a.translate(a,r.baseTpl.replace("{{buttons}}",i).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+a.id).addClass(r.baseClass).data("FancyBox",a).appendTo(r.parentEl),a.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){a.$refs[t]=o.find(".fancybox-"+t);}),a.trigger("onInit"),a.activate(),a.jumpTo(a.currIndex);},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return void 0===n[e]?t:n[e];});},addContent:function(t){var e,o=this,i=n.makeArray(t);n.each(i,function(t,e){var i,a,s,r,c,l={},d={};n.isPlainObject(e)?(l=e,d=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),d=i.data()||{},d=n.extend(!0,{},d,d.options),d.$orig=i,l.src=o.opts.src||d.src||i.attr("href"),l.type||l.src||(l.type="inline",l.src=e)):l={type:"html",src:e+""},l.opts=n.extend(!0,{},o.opts,d),n.isArray(d.buttons)&&(l.opts.buttons=d.buttons),n.fancybox.isMobile&&l.opts.mobile&&(l.opts=h(l.opts,l.opts.mobile)),a=l.type||l.opts.type,r=l.src||"",!a&&r&&((s=r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(a="video",l.opts.video.format||(l.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?(a="iframe",l=n.extend(!0,l,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===r.charAt(0)&&(a="inline")),a?l.type=a:o.trigger("objectNeedsType",l),l.contentType||(l.contentType=n.inArray(l.type,["html","inline","ajax"])>-1?"html":l.type),l.index=o.group.length,"auto"==l.opts.smallBtn&&(l.opts.smallBtn=n.inArray(l.type,["html","inline","ajax"])>-1),"auto"===l.opts.toolbar&&(l.opts.toolbar=!l.opts.smallBtn),l.$thumb=l.opts.$thumb||null,l.opts.$trigger&&l.index===o.opts.index&&(l.$thumb=l.opts.$trigger.find("img:first"),l.$thumb.length&&(l.opts.$orig=l.opts.$trigger)),l.$thumb&&l.$thumb.length||!l.opts.$orig||(l.$thumb=l.opts.$orig.find("img:first")),l.$thumb&&!l.$thumb.length&&(l.$thumb=null),l.thumb=l.opts.thumb||(l.$thumb?l.$thumb[0].src:null),"function"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(e,[o,l])),"function"===n.type(o.opts.caption)&&(l.opts.caption=o.opts.caption.apply(e,[o,l])),l.opts.caption instanceof n||(l.opts.caption=void 0===l.opts.caption?"":l.opts.caption+""),"ajax"===l.type&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),o.group.push(l);}),Object.keys(o.slides).length&&(o.updateControls(),(e=o.Thumbs)&&e.isActive&&(e.create(),e.focus()));},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t);}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous();}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next();}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]();}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t);})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t);},n.fancybox.isMobile?600:250));}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,i=o.current,a=t.keyCode||t.which;if(9==a)return void(i.opts.trapFocus&&e.focus(t));if(!(!i.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input,textarea,video,audio,select")))return 8===a||27===a?(t.preventDefault(),void e.close(t)):37===a||38===a?(t.preventDefault(),void e.previous()):39===a||40===a?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,a);}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1;}),e.idleInterval=t.setInterval(function(){++e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls());},1e3));},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null);},previous:function(t){return this.jumpTo(this.currPos-1,t);},next:function(t){return this.jumpTo(this.currPos+1,t);},jumpTo:function(t,e){var o,i,a,s,r,c,l,d,u,f=this,h=f.group.length;if(!(f.isDragging||f.isClosing||f.isAnimating&&f.firstRun)){if(t=parseInt(t,10),!(a=f.current?f.current.opts.loop:f.opts.loop)&&(t<0||t>=h))return!1;if(o=f.firstRun=!Object.keys(f.slides).length,r=f.current,f.prevIndex=f.currIndex,f.prevPos=f.currPos,s=f.createSlide(t),h>1&&((a||s.index0)&&f.createSlide(t-1)),f.current=s,f.currIndex=s.index,f.currPos=s.pos,f.trigger("beforeShow",o),f.updateControls(),s.forcedDuration=void 0,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[o?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=f.isMoved(s),s.$slide.addClass("fancybox-slide--current"),o)return s.opts.animationEffect&&e&&f.$refs.container.css("transition-duration",e+"ms"),f.$refs.container.addClass("fancybox-is-open").trigger("focus"),f.loadSlide(s),void f.preload("image");c=n.fancybox.getTranslate(r.$slide),l=n.fancybox.getTranslate(f.$refs.stage),n.each(f.slides,function(t,e){n.fancybox.stop(e.$slide,!0);}),r.pos!==s.pos&&(r.isComplete=!1),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(u=c.left-(r.pos*c.width+r.pos*r.opts.gutter),n.each(f.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ");});var i=o.pos*c.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:i-l.left+u}),o.pos!==s.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>s.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-s.pos)*c.width+(o.pos-s.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===f.currPos&&f.complete();});})):e&&s.opts.transitionEffect&&(d="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous");},!1)),s.isLoaded?f.revealContent(s):f.loadSlide(s),f.preload("image");}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n("
    ").appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t];},scaleToActual:function(t,e,o){var i,a,s,r,c,l=this,d=l.current,u=d.$content,f=n.fancybox.getTranslate(d.$slide).width,p=n.fancybox.getTranslate(d.$slide).height,h=d.width,g=d.height;l.isAnimating||l.isMoved()||!u||"image"!=d.type||!d.isLoaded||d.hasError||(l.isAnimating=!0,n.fancybox.stop(u),t=void 0===t?.5*f:t,e=void 0===e?.5*p:e,i=n.fancybox.getTranslate(u),i.top-=n.fancybox.getTranslate(d.$slide).top,i.left-=n.fancybox.getTranslate(d.$slide).left,r=h/i.width,c=g/i.height,a=.5*f-.5*h,s=.5*p-.5*g,h>f&&(a=i.left*r-(t*r-t),a>0&&(a=0),ap&&(s=i.top*c-(e*c-e),s>0&&(s=0),se-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/a?d=l/a:l>d*a&&(l=d*a)),u.width=l,u.height=d,u);},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t);});},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e);},centerSlide:function(t){var e=this,o=e.current,i=o.$slide;!e.isClosing&&o&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},void 0===t?0:t,function(){i.css({transform:"",opacity:""}),o.isComplete||e.complete();},!1));},isMoved:function(t){var e,o,i=t||this.current;return!!i&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(i.$slide),!i.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5));},updateCursor:function(t,e){var o,i,a=this,s=a.current,r=a.$refs.container;s&&!a.isClosing&&a.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=a.canPan(t,e),i=!!o||a.isZoomable(),r.toggleClass("fancybox-is-zoomable",i),n("[data-fancybox-zoom]").prop("disabled",!i),o?r.addClass("fancybox-can-pan"):i&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||a.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"));},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((t=e.getFitPos(n))&&(n.width>t.width||n.height>t.height))return!0;}return!1;},isScaledDown:function(t,e){var o=this,i=!1,a=o.current,s=a.$content;return void 0!==t&&void 0!==e?i=t1.5||Math.abs(a.height-s.height)>1.5)),s;},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,!1===a.trigger("beforeLoad",t))return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e);},error:function(e,n){e&&"abort"!==n&&a.setError(t);}})),o.one("onReset",function(){i.abort();});break;default:a.setError(t);}return!0;}},setImage:function(t){var o,i=this;setTimeout(function(){var e=t.$image;i.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||i.showLoading(t);},50),i.checkSrcset(t),t.$content=n("
    ").addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),!1!==t.opts.preload&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null;},o.onload=function(){i.afterLoad(t);},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),i.setBigImage(t);},checkSrcset:function(e){var n,o,i,a,s=e.opts.srcset||e.opts.image.srcset;if(s){i=t.devicePixelRatio||1,a=t.innerWidth*i,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);if(0===n)return e.url=t;o&&(e.value=o,e.postfix=t[t.length-1]);}),e;}),o.sort(function(t,e){return t.value-e.value;});for(var r=0;r=a||"x"===c.postfix&&c.value>=i){n=c;break;}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s);}},setBigImage:function(t){var o=this,i=e.createElement("img"),a=n(i);t.$image=a.one("error",function(){o.setError(t);}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),a.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide();},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t));}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(i.complete||"complete"==i.readyState)&&a.naturalWidth&&a.naturalHeight?a.trigger("load"):i.error&&a.trigger("error");},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i);},setIframe:function(t){var e,o=this,i=t.opts.iframe,a=t.$slide;t.$content=n("
    ").css(i.css).appendTo(a),a.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(o.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),o.afterLoad(t);}),a.on("refresh.fb",function(){var n,o,s=t.$content,r=i.css.width,c=i.css.height;if(1===e[0].isReady){try{n=e.contents(),o=n.find("body");}catch(t){}o&&o.length&&o.children().length&&(a.css("overflow","visible"),s.css({width:"100%","max-width":"100%",height:"9999px"}),void 0===r&&(r=Math.ceil(Math.max(o[0].clientWidth,o.outerWidth(!0)))),s.css("width",r||"").css("max-width",""),void 0===c&&(c=Math.ceil(Math.max(o[0].clientHeight,o.outerHeight(!0)))),s.css("height",c||""),a.css("overflow","auto")),s.removeClass("fancybox-is-hidden");}})):o.afterLoad(t),e.attr("src",t.src),a.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank");}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1;});},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("
    ").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("
    ").append(n.trim(e)).contents()),t.opts.filter&&(e=n("
    ").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1);}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("
    "),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("
    ").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t));},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1);},showLoading:function(t){var e=this;(t=t||e.current)&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"));},hideLoading:function(t){var e=this;(t=t||e.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner);},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0;}),"image"===t.type&&n("
    ").appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t));},adjustCaption:function(t){var e,n=this,o=t||n.current,i=o.opts.caption,a=o.opts.preventCaptionOverlap,s=n.$refs.caption,r=!1;s.toggleClass("fancybox-caption--separate",a),a&&i&&i.length&&(o.pos!==n.currPos?(e=s.clone().appendTo(s.parent()),e.children().eq(0).empty().html(i),r=e.outerHeight(!0),e.empty().remove()):n.$caption&&(r=n.$caption.outerHeight(!0)),o.$slide.css("padding-bottom",r||""));},adjustLayout:function(t){var e,n,o,i,a=this,s=t||a.current;s.isLoaded&&!0!==s.opts.disableLayoutFix&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],i=s.$slide.css("padding-bottom"),parseFloat(i)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=i),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n));},revealContent:function(t){var e,o,i,a,s=this,r=t.$slide,c=!1,l=!1,d=s.isMoved(t),u=t.isRevealed;return t.isRevealed=!0,e=t.opts[s.firstRun?"animationEffect":"transitionEffect"],i=t.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(void 0===t.forcedDuration?i:t.forcedDuration,10),!d&&t.pos===s.currPos&&i||(e=!1),"zoom"===e&&(t.pos===s.currPos&&i&&"image"===t.type&&!t.hasError&&(l=s.getThumbPos(t))?c=s.getFitPos(t):e="fade"),"zoom"===e?(s.isAnimating=!0,c.scaleX=c.width/l.width,c.scaleY=c.height/l.height,a=t.opts.zoomOpacity,"auto"==a&&(a=Math.abs(t.width/t.height-l.width/l.height)>.1),a&&(l.opacity=.1,c.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),l),p(t.$content),void n.fancybox.animate(t.$content,c,i,function(){s.isAnimating=!1,s.complete();})):(s.updateSlide(t),e?(n.fancybox.stop(r),o="fancybox-slide--"+(t.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,r.addClass(o).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(r),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(r,"fancybox-slide--current",i,function(){r.removeClass(o).css({transform:"",opacity:""}),t.pos===s.currPos&&s.complete();},!0)):(t.$content.removeClass("fancybox-is-hidden"),u||!d||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===s.currPos&&s.complete())));},getThumbPos:function(t){var e,o,i,a,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),i=parseFloat(c.css("border-right-width")||0),a=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-i-s,height:e.height-o-a,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r);},complete:function(){var t,e=this,o=e.current,i={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove());}),e.slides=i),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){Document.exitFullscreen?Document.exitFullscreen():this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next();}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0));},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n));},focus:function(t,o){var i,a,s=this,r=["a[href]","area[href]","input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])","select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]","[tabindex]:not([tabindex^=\"-\"])"].join(",");s.isClosing||(i=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),i=i.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled");}),i.length?(a=i.index(e.activeElement),t&&t.shiftKey?(a<0||0==a)&&(t.preventDefault(),i.eq(i.length-1).trigger("focus")):(a<0||a==i.length-1)&&(t&&t.preventDefault(),i.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"));},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1);}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents();},close:function(t,e){var o,i,a,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t);};return!u.isClosing&&(u.isClosing=!0,!1===u.trigger("beforeClose",t)?(u.isClosing=!1,d(function(){u.update();}),!1):(u.removeEvents(),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==t?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),i&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",i+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||a&&i&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity, +"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0),n.fancybox.setTranslate(a,c),p(a),n.fancybox.animate(a,l,i,h),!0):(o&&i?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,i,h):!0===t?setTimeout(h,i):h(),!0)));},cleanUp:function(e){var o,i,a,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(i=t.scrollX,a=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(a).scrollLeft(i))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove());},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;if(s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i);},updateControls:function(){var t=this,o=t.current,i=o.index,a=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),r&&r.length?(t.$caption=s,s.children().eq(0).html(r)):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),a.find("[data-fancybox-count]").html(t.group.length),a.find("[data-fancybox-index]").html(i+1),a.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&i<=0),a.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&i>=t.group.length-1),"image"===o.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus");},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t;}).join(" ")),this.hasHiddenControls=!0;},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal);},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls();}}),n.fancybox={version:"3.5.7",defaults:a,getInstance:function(t){var e=n(".fancybox-container:not(\".fancybox-is-closing\"):last").data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e);},open:function(t,e,n){return new b(t,e,n);},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t));},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**");},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11);}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))});},setTranslate:function(t,e){var n="",o={};if(t&&e)return void 0===e.left&&void 0===e.top||(n=(void 0===e.left?t.position().left:e.left)+"px, "+(void 0===e.top?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),void 0!==e.scaleX&&void 0!==e.scaleY?n+=" scale("+e.scaleX+", "+e.scaleY+")":void 0!==e.scaleX&&(n+=" scaleX("+e.scaleX+")"),n.length&&(o.transform=n),void 0!==e.opacity&&(o.opacity=e.opacity),void 0!==e.width&&(o.width=e.width),void 0!==e.height&&(o.height=e.height),t.css(o);},animate:function(t,e,o,i,a){var s,r=this;n.isFunction(o)&&(i=o,o=null),r.stop(t),s=r.getTranslate(t),t.on(f,function(c){(!c||!c.originalEvent||t.is(c.originalEvent.target)&&"z-index"!=c.originalEvent.propertyName)&&(r.stop(t),n.isNumeric(o)&&t.css("transition-duration",""),n.isPlainObject(e)?void 0!==e.scaleX&&void 0!==e.scaleY&&r.setTranslate(t,{top:e.top,left:e.left,width:s.width*e.scaleX,height:s.height*e.scaleY,scaleX:1,scaleY:1}):!0!==a&&t.removeClass(e),n.isFunction(i)&&i(c));}),n.isNumeric(o)&&t.css("transition-duration",o+"ms"),n.isPlainObject(e)?(void 0!==e.scaleX&&void 0!==e.scaleY&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f);},o+33));},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"));}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this;},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n("[data-fancybox=\""+n(this).attr("data-fancybox-trigger")+"\"]").eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)});}),function(){var t=null;r.on("mousedown mouseup focus blur",".fancybox-button",function(e){switch(e.type){case"mousedown":t=n(this);break;case"mouseup":t=null;break;case"focusin":n(".fancybox-button").removeClass("fancybox-focus"),n(this).is(t)||n(this).is("[disabled]")||n(this).addClass("fancybox-focus");break;case"focusout":n(".fancybox-button").removeClass("fancybox-focus");}});}();}}(window,document,jQuery),function(t){"use strict";var e={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed");}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed";}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"");}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e;};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},e,a.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource);}});}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60);};}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e);};}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n;},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0;},r=function(t){if(t.is("a,area,button,[role=\"button\"],input,label,select,summary,textarea,video,audio,iframe")||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;ee.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a;},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break;}return e;},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"));};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(i(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null);},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();i.realPoints=i.startPoints=a(o),i.startPoints.length&&(u.touch&&o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=p,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.canPan=d.canPan(),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(f[0].clientWidth),i.canvasHeight=Math.round(f[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=n.fancybox.getTranslate(f),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),((i.opts||i.canPan)&&(c.is(i.$stage)||i.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.parents(".fancybox-caption").length))&&(i.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&i.isScrollable||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.canPan?(n.fancybox.stop(i.$content),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-is-grabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))));}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0);},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))));},d.prototype.onSwipe=function(e){var a,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(!0!==c)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter});}),s.$container.addClass("fancybox-is-sliding"));});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||!1===s.opts.vertical||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,i;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),i=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ");}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-i.top,s.sliderStartPos.left=o.left-i.left),n.fancybox.setTranslate(e.$slide,{top:o.top-i.top,left:o.left-i.left});}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop();}},d.prototype.onPan=function(){var t=this;if(s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5))return void(t.startPoints=t.newPoints);t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&i(t.requestId),t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos);});},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&aa?(t=t>0?0:t,t=ts?(e=e>0?0:e,e=e1&&(o.dMs>130&&s>10||s>50);o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,250)):r&&o.distanceX>0?i=o.instance.previous(300):r&&o.distanceX<0&&(i=o.instance.next(300)),!1!==i||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding");},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(!1===i.opts.momentum||i.dMs>350?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+500*i.velocityX,e=i.contentLastPos.top+500*i.velocityY),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,366));},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),rs.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.animate(a.$content,o,150)));},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent));}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content";}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o);}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,r.isAnimating||f("click"+o);},500):f("click"+o);return this;}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e));}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy();});}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:""},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(t){this.instance=t,this.init();};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle();}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e("
    ").appendTo(n.$refs.inner));},set:function(t){var n=this,o=n.instance,i=o.current;i&&(!0===t||i.opts.loop||o.currIndex"},fullScreen:{autoStart:!1}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t));});}e(t).on({"onInit.fb":function(t,e){var i;if(!n)return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();e&&e.group[e.currIndex].opts.fullScreen?(i=e.$refs.container,i.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle();}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide();},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle());},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit();}});}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:""},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var o=function(t){this.init(t);};e.extend(o.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var i=0,a=n.length;i1));i++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle();}),e.isActive=!0):e.$button.hide();},create:function(){var t,o=this,i=o.instance,a=o.opts.parentEl,s=[];o.$grid||(o.$grid=e("
    ").appendTo(i.$refs.container.find(a).addBack().filter(a)),o.$grid.on("click","a",function(){i.jumpTo(e(this).attr("data-index"));})),o.$list||(o.$list=e("
    ").appendTo(o.$grid)),e.each(i.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push("");}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+i.group.length*o.$list.children().eq(0).outerWidth(!0));},focus:function(t){var e,n,o=this,i=o.$list,a=o.$grid;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter("[data-index=\""+o.instance.current.index+"\"]").addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.lefta.scrollLeft()+(a.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t));},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update();},hide:function(){this.isVisible=!1,this.update();},show:function(){this.isVisible=!0,this.update();},toggle:function(){this.isVisible=!this.isVisible,this.update();}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new o(e),n.isActive&&!0===n.opts.autoStart&&n.show());},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250);},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle());},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide();}});}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&","<":"<",">":">","\"":""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t];});}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:""},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location;}, + tpl:""}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0);}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1;});},mobile:{autoFocus:!1}}}));});}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:e,index:o<1?1:o,gallery:i};}function i(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start");}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,""!==(n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&n);}n.escapeSelector||(n.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t;});}),n(function(){!1!==n.fancybox.defaults.hash&&(n(e).on({"onInit.fb":function(t,e){var n,i;!1!==e.group[e.currIndex].opts.hash&&(n=o(),(i=a(e))&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1));},"beforeShow.fb":function(n,o,i,s){var r;i&&!1!==i.opts.hash&&(r=a(o))&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null;},300)));},"beforeClose.fb":function(n,o,i){i&&!1!==i.opts.hash&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null);}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var i=n(o).data("FancyBox");if(i&&i.currentHash)return e=i,!1;}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&i(t);}),setTimeout(function(){n.fancybox.getInstance()||i(o());},50));});}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||!1===o.opts.wheel||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())));});}});}(document,jQuery); \ No newline at end of file diff --git a/source/lib/font-awesome@4.7.0/HELP-US-OUT.txt b/source/lib/font-awesome@4.7.0/HELP-US-OUT.txt new file mode 100644 index 0000000000000000000000000000000000000000..011c21dcbc8e8871dfdfdc3657b0528ff152fe6c GIT binary patch literal 8192 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 ZvVcj#4Ri&aw?pEWpk{3b4XE!;{s+jCV($O| literal 0 HcmV?d00001 diff --git a/source/lib/font-awesome@4.7.0/css/font-awesome.css b/source/lib/font-awesome@4.7.0/css/font-awesome.css new file mode 100644 index 0000000..ee906a8 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/css/font-awesome.css @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/source/lib/font-awesome@4.7.0/css/font-awesome.min.css b/source/lib/font-awesome@4.7.0/css/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/source/lib/font-awesome@4.7.0/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/source/lib/font-awesome@4.7.0/fonts/FontAwesome.otf b/source/lib/font-awesome@4.7.0/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 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 literal 0 HcmV?d00001 diff --git a/source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.eot b/source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

    5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.ttf b/source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.woff2 b/source/lib/font-awesome@4.7.0/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/source/lib/font-awesome@4.7.0/less/animated.less b/source/lib/font-awesome@4.7.0/less/animated.less new file mode 100644 index 0000000..66ad52a --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/animated.less @@ -0,0 +1,34 @@ +// Animated Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.@{fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/source/lib/font-awesome@4.7.0/less/bordered-pulled.less b/source/lib/font-awesome@4.7.0/less/bordered-pulled.less new file mode 100644 index 0000000..f1c8ad7 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/bordered-pulled.less @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.@{fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em @fa-border-color; + border-radius: .1em; +} + +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix} { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.@{fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/source/lib/font-awesome@4.7.0/less/core.less b/source/lib/font-awesome@4.7.0/less/core.less new file mode 100644 index 0000000..c577ac8 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/core.less @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.@{fa-css-prefix} { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/source/lib/font-awesome@4.7.0/less/fixed-width.less b/source/lib/font-awesome@4.7.0/less/fixed-width.less new file mode 100644 index 0000000..110289f --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/fixed-width.less @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.@{fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/source/lib/font-awesome@4.7.0/less/font-awesome.less b/source/lib/font-awesome@4.7.0/less/font-awesome.less new file mode 100644 index 0000000..c3677de --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/font-awesome.less @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables.less"; +@import "mixins.less"; +@import "path.less"; +@import "core.less"; +@import "larger.less"; +@import "fixed-width.less"; +@import "list.less"; +@import "bordered-pulled.less"; +@import "animated.less"; +@import "rotated-flipped.less"; +@import "stacked.less"; +@import "icons.less"; +@import "screen-reader.less"; diff --git a/source/lib/font-awesome@4.7.0/less/icons.less b/source/lib/font-awesome@4.7.0/less/icons.less new file mode 100644 index 0000000..159d600 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/icons.less @@ -0,0 +1,789 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.@{fa-css-prefix}-glass:before { content: @fa-var-glass; } +.@{fa-css-prefix}-music:before { content: @fa-var-music; } +.@{fa-css-prefix}-search:before { content: @fa-var-search; } +.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; } +.@{fa-css-prefix}-heart:before { content: @fa-var-heart; } +.@{fa-css-prefix}-star:before { content: @fa-var-star; } +.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; } +.@{fa-css-prefix}-user:before { content: @fa-var-user; } +.@{fa-css-prefix}-film:before { content: @fa-var-film; } +.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; } +.@{fa-css-prefix}-th:before { content: @fa-var-th; } +.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; } +.@{fa-css-prefix}-check:before { content: @fa-var-check; } +.@{fa-css-prefix}-remove:before, +.@{fa-css-prefix}-close:before, +.@{fa-css-prefix}-times:before { content: @fa-var-times; } +.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; } +.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; } +.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; } +.@{fa-css-prefix}-signal:before { content: @fa-var-signal; } +.@{fa-css-prefix}-gear:before, +.@{fa-css-prefix}-cog:before { content: @fa-var-cog; } +.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; } +.@{fa-css-prefix}-home:before { content: @fa-var-home; } +.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; } +.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; } +.@{fa-css-prefix}-road:before { content: @fa-var-road; } +.@{fa-css-prefix}-download:before { content: @fa-var-download; } +.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; } +.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; } +.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; } +.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; } +.@{fa-css-prefix}-rotate-right:before, +.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; } +.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; } +.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; } +.@{fa-css-prefix}-lock:before { content: @fa-var-lock; } +.@{fa-css-prefix}-flag:before { content: @fa-var-flag; } +.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; } +.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; } +.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; } +.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; } +.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; } +.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; } +.@{fa-css-prefix}-tag:before { content: @fa-var-tag; } +.@{fa-css-prefix}-tags:before { content: @fa-var-tags; } +.@{fa-css-prefix}-book:before { content: @fa-var-book; } +.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; } +.@{fa-css-prefix}-print:before { content: @fa-var-print; } +.@{fa-css-prefix}-camera:before { content: @fa-var-camera; } +.@{fa-css-prefix}-font:before { content: @fa-var-font; } +.@{fa-css-prefix}-bold:before { content: @fa-var-bold; } +.@{fa-css-prefix}-italic:before { content: @fa-var-italic; } +.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; } +.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; } +.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; } +.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; } +.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; } +.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; } +.@{fa-css-prefix}-list:before { content: @fa-var-list; } +.@{fa-css-prefix}-dedent:before, +.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; } +.@{fa-css-prefix}-indent:before { content: @fa-var-indent; } +.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; } +.@{fa-css-prefix}-photo:before, +.@{fa-css-prefix}-image:before, +.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; } +.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; } +.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; } +.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; } +.@{fa-css-prefix}-tint:before { content: @fa-var-tint; } +.@{fa-css-prefix}-edit:before, +.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; } +.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; } +.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; } +.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; } +.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; } +.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; } +.@{fa-css-prefix}-backward:before { content: @fa-var-backward; } +.@{fa-css-prefix}-play:before { content: @fa-var-play; } +.@{fa-css-prefix}-pause:before { content: @fa-var-pause; } +.@{fa-css-prefix}-stop:before { content: @fa-var-stop; } +.@{fa-css-prefix}-forward:before { content: @fa-var-forward; } +.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; } +.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; } +.@{fa-css-prefix}-eject:before { content: @fa-var-eject; } +.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; } +.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; } +.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; } +.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; } +.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; } +.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; } +.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; } +.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; } +.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; } +.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; } +.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; } +.@{fa-css-prefix}-ban:before { content: @fa-var-ban; } +.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; } +.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; } +.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; } +.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; } +.@{fa-css-prefix}-mail-forward:before, +.@{fa-css-prefix}-share:before { content: @fa-var-share; } +.@{fa-css-prefix}-expand:before { content: @fa-var-expand; } +.@{fa-css-prefix}-compress:before { content: @fa-var-compress; } +.@{fa-css-prefix}-plus:before { content: @fa-var-plus; } +.@{fa-css-prefix}-minus:before { content: @fa-var-minus; } +.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; } +.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; } +.@{fa-css-prefix}-gift:before { content: @fa-var-gift; } +.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; } +.@{fa-css-prefix}-fire:before { content: @fa-var-fire; } +.@{fa-css-prefix}-eye:before { content: @fa-var-eye; } +.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; } +.@{fa-css-prefix}-warning:before, +.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; } +.@{fa-css-prefix}-plane:before { content: @fa-var-plane; } +.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; } +.@{fa-css-prefix}-random:before { content: @fa-var-random; } +.@{fa-css-prefix}-comment:before { content: @fa-var-comment; } +.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; } +.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; } +.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; } +.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; } +.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; } +.@{fa-css-prefix}-folder:before { content: @fa-var-folder; } +.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; } +.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; } +.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; } +.@{fa-css-prefix}-bar-chart-o:before, +.@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; } +.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; } +.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; } +.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; } +.@{fa-css-prefix}-key:before { content: @fa-var-key; } +.@{fa-css-prefix}-gears:before, +.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; } +.@{fa-css-prefix}-comments:before { content: @fa-var-comments; } +.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; } +.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; } +.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; } +.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; } +.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; } +.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; } +.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; } +.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; } +.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; } +.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; } +.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; } +.@{fa-css-prefix}-upload:before { content: @fa-var-upload; } +.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; } +.@{fa-css-prefix}-phone:before { content: @fa-var-phone; } +.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; } +.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; } +.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } +.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } +.@{fa-css-prefix}-facebook-f:before, +.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } +.@{fa-css-prefix}-github:before { content: @fa-var-github; } +.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } +.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } +.@{fa-css-prefix}-feed:before, +.@{fa-css-prefix}-rss:before { content: @fa-var-rss; } +.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } +.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } +.@{fa-css-prefix}-bell:before { content: @fa-var-bell; } +.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; } +.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; } +.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; } +.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; } +.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; } +.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; } +.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; } +.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; } +.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; } +.@{fa-css-prefix}-globe:before { content: @fa-var-globe; } +.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; } +.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; } +.@{fa-css-prefix}-filter:before { content: @fa-var-filter; } +.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; } +.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; } +.@{fa-css-prefix}-group:before, +.@{fa-css-prefix}-users:before { content: @fa-var-users; } +.@{fa-css-prefix}-chain:before, +.@{fa-css-prefix}-link:before { content: @fa-var-link; } +.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; } +.@{fa-css-prefix}-flask:before { content: @fa-var-flask; } +.@{fa-css-prefix}-cut:before, +.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; } +.@{fa-css-prefix}-copy:before, +.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; } +.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; } +.@{fa-css-prefix}-save:before, +.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; } +.@{fa-css-prefix}-square:before { content: @fa-var-square; } +.@{fa-css-prefix}-navicon:before, +.@{fa-css-prefix}-reorder:before, +.@{fa-css-prefix}-bars:before { content: @fa-var-bars; } +.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; } +.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; } +.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; } +.@{fa-css-prefix}-underline:before { content: @fa-var-underline; } +.@{fa-css-prefix}-table:before { content: @fa-var-table; } +.@{fa-css-prefix}-magic:before { content: @fa-var-magic; } +.@{fa-css-prefix}-truck:before { content: @fa-var-truck; } +.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; } +.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; } +.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; } +.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; } +.@{fa-css-prefix}-money:before { content: @fa-var-money; } +.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; } +.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; } +.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; } +.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; } +.@{fa-css-prefix}-columns:before { content: @fa-var-columns; } +.@{fa-css-prefix}-unsorted:before, +.@{fa-css-prefix}-sort:before { content: @fa-var-sort; } +.@{fa-css-prefix}-sort-down:before, +.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; } +.@{fa-css-prefix}-sort-up:before, +.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; } +.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; } +.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; } +.@{fa-css-prefix}-rotate-left:before, +.@{fa-css-prefix}-undo:before { content: @fa-var-undo; } +.@{fa-css-prefix}-legal:before, +.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; } +.@{fa-css-prefix}-dashboard:before, +.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; } +.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; } +.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; } +.@{fa-css-prefix}-flash:before, +.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; } +.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; } +.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; } +.@{fa-css-prefix}-paste:before, +.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; } +.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; } +.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; } +.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; } +.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; } +.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; } +.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; } +.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; } +.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; } +.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; } +.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; } +.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; } +.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; } +.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; } +.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; } +.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; } +.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; } +.@{fa-css-prefix}-beer:before { content: @fa-var-beer; } +.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; } +.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; } +.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; } +.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; } +.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; } +.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; } +.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; } +.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; } +.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; } +.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; } +.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; } +.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; } +.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; } +.@{fa-css-prefix}-mobile-phone:before, +.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; } +.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; } +.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; } +.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; } +.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; } +.@{fa-css-prefix}-circle:before { content: @fa-var-circle; } +.@{fa-css-prefix}-mail-reply:before, +.@{fa-css-prefix}-reply:before { content: @fa-var-reply; } +.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; } +.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; } +.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; } +.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; } +.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; } +.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; } +.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; } +.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; } +.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; } +.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; } +.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; } +.@{fa-css-prefix}-code:before { content: @fa-var-code; } +.@{fa-css-prefix}-mail-reply-all:before, +.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; } +.@{fa-css-prefix}-star-half-empty:before, +.@{fa-css-prefix}-star-half-full:before, +.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; } +.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; } +.@{fa-css-prefix}-crop:before { content: @fa-var-crop; } +.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; } +.@{fa-css-prefix}-unlink:before, +.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; } +.@{fa-css-prefix}-question:before { content: @fa-var-question; } +.@{fa-css-prefix}-info:before { content: @fa-var-info; } +.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; } +.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; } +.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; } +.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; } +.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; } +.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; } +.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; } +.@{fa-css-prefix}-shield:before { content: @fa-var-shield; } +.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; } +.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; } +.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; } +.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; } +.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; } +.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; } +.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; } +.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; } +.@{fa-css-prefix}-html5:before { content: @fa-var-html5; } +.@{fa-css-prefix}-css3:before { content: @fa-var-css3; } +.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; } +.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; } +.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; } +.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; } +.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; } +.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; } +.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; } +.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; } +.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; } +.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; } +.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; } +.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; } +.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; } +.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; } +.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; } +.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; } +.@{fa-css-prefix}-compass:before { content: @fa-var-compass; } +.@{fa-css-prefix}-toggle-down:before, +.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; } +.@{fa-css-prefix}-toggle-up:before, +.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; } +.@{fa-css-prefix}-toggle-right:before, +.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; } +.@{fa-css-prefix}-euro:before, +.@{fa-css-prefix}-eur:before { content: @fa-var-eur; } +.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; } +.@{fa-css-prefix}-dollar:before, +.@{fa-css-prefix}-usd:before { content: @fa-var-usd; } +.@{fa-css-prefix}-rupee:before, +.@{fa-css-prefix}-inr:before { content: @fa-var-inr; } +.@{fa-css-prefix}-cny:before, +.@{fa-css-prefix}-rmb:before, +.@{fa-css-prefix}-yen:before, +.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; } +.@{fa-css-prefix}-ruble:before, +.@{fa-css-prefix}-rouble:before, +.@{fa-css-prefix}-rub:before { content: @fa-var-rub; } +.@{fa-css-prefix}-won:before, +.@{fa-css-prefix}-krw:before { content: @fa-var-krw; } +.@{fa-css-prefix}-bitcoin:before, +.@{fa-css-prefix}-btc:before { content: @fa-var-btc; } +.@{fa-css-prefix}-file:before { content: @fa-var-file; } +.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; } +.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; } +.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; } +.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; } +.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; } +.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; } +.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; } +.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; } +.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; } +.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; } +.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; } +.@{fa-css-prefix}-xing:before { content: @fa-var-xing; } +.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; } +.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; } +.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; } +.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; } +.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; } +.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; } +.@{fa-css-prefix}-adn:before { content: @fa-var-adn; } +.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; } +.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; } +.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; } +.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; } +.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; } +.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; } +.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; } +.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; } +.@{fa-css-prefix}-apple:before { content: @fa-var-apple; } +.@{fa-css-prefix}-windows:before { content: @fa-var-windows; } +.@{fa-css-prefix}-android:before { content: @fa-var-android; } +.@{fa-css-prefix}-linux:before { content: @fa-var-linux; } +.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; } +.@{fa-css-prefix}-skype:before { content: @fa-var-skype; } +.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; } +.@{fa-css-prefix}-trello:before { content: @fa-var-trello; } +.@{fa-css-prefix}-female:before { content: @fa-var-female; } +.@{fa-css-prefix}-male:before { content: @fa-var-male; } +.@{fa-css-prefix}-gittip:before, +.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; } +.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; } +.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; } +.@{fa-css-prefix}-archive:before { content: @fa-var-archive; } +.@{fa-css-prefix}-bug:before { content: @fa-var-bug; } +.@{fa-css-prefix}-vk:before { content: @fa-var-vk; } +.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; } +.@{fa-css-prefix}-renren:before { content: @fa-var-renren; } +.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; } +.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; } +.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; } +.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; } +.@{fa-css-prefix}-toggle-left:before, +.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; } +.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; } +.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; } +.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; } +.@{fa-css-prefix}-turkish-lira:before, +.@{fa-css-prefix}-try:before { content: @fa-var-try; } +.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; } +.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; } +.@{fa-css-prefix}-slack:before { content: @fa-var-slack; } +.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; } +.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; } +.@{fa-css-prefix}-openid:before { content: @fa-var-openid; } +.@{fa-css-prefix}-institution:before, +.@{fa-css-prefix}-bank:before, +.@{fa-css-prefix}-university:before { content: @fa-var-university; } +.@{fa-css-prefix}-mortar-board:before, +.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; } +.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; } +.@{fa-css-prefix}-google:before { content: @fa-var-google; } +.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; } +.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; } +.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; } +.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } +.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } +.@{fa-css-prefix}-digg:before { content: @fa-var-digg; } +.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; } +.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } +.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } +.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } +.@{fa-css-prefix}-language:before { content: @fa-var-language; } +.@{fa-css-prefix}-fax:before { content: @fa-var-fax; } +.@{fa-css-prefix}-building:before { content: @fa-var-building; } +.@{fa-css-prefix}-child:before { content: @fa-var-child; } +.@{fa-css-prefix}-paw:before { content: @fa-var-paw; } +.@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; } +.@{fa-css-prefix}-cube:before { content: @fa-var-cube; } +.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; } +.@{fa-css-prefix}-behance:before { content: @fa-var-behance; } +.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; } +.@{fa-css-prefix}-steam:before { content: @fa-var-steam; } +.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; } +.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; } +.@{fa-css-prefix}-automobile:before, +.@{fa-css-prefix}-car:before { content: @fa-var-car; } +.@{fa-css-prefix}-cab:before, +.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; } +.@{fa-css-prefix}-tree:before { content: @fa-var-tree; } +.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; } +.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; } +.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; } +.@{fa-css-prefix}-database:before { content: @fa-var-database; } +.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; } +.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; } +.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; } +.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; } +.@{fa-css-prefix}-file-photo-o:before, +.@{fa-css-prefix}-file-picture-o:before, +.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; } +.@{fa-css-prefix}-file-zip-o:before, +.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; } +.@{fa-css-prefix}-file-sound-o:before, +.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; } +.@{fa-css-prefix}-file-movie-o:before, +.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; } +.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; } +.@{fa-css-prefix}-vine:before { content: @fa-var-vine; } +.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; } +.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; } +.@{fa-css-prefix}-life-bouy:before, +.@{fa-css-prefix}-life-buoy:before, +.@{fa-css-prefix}-life-saver:before, +.@{fa-css-prefix}-support:before, +.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } +.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; } +.@{fa-css-prefix}-ra:before, +.@{fa-css-prefix}-resistance:before, +.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } +.@{fa-css-prefix}-ge:before, +.@{fa-css-prefix}-empire:before { content: @fa-var-empire; } +.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } +.@{fa-css-prefix}-git:before { content: @fa-var-git; } +.@{fa-css-prefix}-y-combinator-square:before, +.@{fa-css-prefix}-yc-square:before, +.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } +.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } +.@{fa-css-prefix}-qq:before { content: @fa-var-qq; } +.@{fa-css-prefix}-wechat:before, +.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; } +.@{fa-css-prefix}-send:before, +.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; } +.@{fa-css-prefix}-send-o:before, +.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; } +.@{fa-css-prefix}-history:before { content: @fa-var-history; } +.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; } +.@{fa-css-prefix}-header:before { content: @fa-var-header; } +.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; } +.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; } +.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; } +.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; } +.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; } +.@{fa-css-prefix}-soccer-ball-o:before, +.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; } +.@{fa-css-prefix}-tty:before { content: @fa-var-tty; } +.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; } +.@{fa-css-prefix}-plug:before { content: @fa-var-plug; } +.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; } +.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; } +.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; } +.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; } +.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; } +.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; } +.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; } +.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; } +.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; } +.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; } +.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; } +.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; } +.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; } +.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; } +.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; } +.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; } +.@{fa-css-prefix}-trash:before { content: @fa-var-trash; } +.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; } +.@{fa-css-prefix}-at:before { content: @fa-var-at; } +.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; } +.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; } +.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; } +.@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; } +.@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; } +.@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; } +.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; } +.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; } +.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; } +.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; } +.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; } +.@{fa-css-prefix}-bus:before { content: @fa-var-bus; } +.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; } +.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; } +.@{fa-css-prefix}-cc:before { content: @fa-var-cc; } +.@{fa-css-prefix}-shekel:before, +.@{fa-css-prefix}-sheqel:before, +.@{fa-css-prefix}-ils:before { content: @fa-var-ils; } +.@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; } +.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; } +.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; } +.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; } +.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; } +.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; } +.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; } +.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; } +.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; } +.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; } +.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; } +.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; } +.@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; } +.@{fa-css-prefix}-ship:before { content: @fa-var-ship; } +.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; } +.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; } +.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; } +.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; } +.@{fa-css-prefix}-venus:before { content: @fa-var-venus; } +.@{fa-css-prefix}-mars:before { content: @fa-var-mars; } +.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; } +.@{fa-css-prefix}-intersex:before, +.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; } +.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; } +.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; } +.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; } +.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; } +.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; } +.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; } +.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; } +.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; } +.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; } +.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; } +.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; } +.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; } +.@{fa-css-prefix}-server:before { content: @fa-var-server; } +.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; } +.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; } +.@{fa-css-prefix}-hotel:before, +.@{fa-css-prefix}-bed:before { content: @fa-var-bed; } +.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; } +.@{fa-css-prefix}-train:before { content: @fa-var-train; } +.@{fa-css-prefix}-subway:before { content: @fa-var-subway; } +.@{fa-css-prefix}-medium:before { content: @fa-var-medium; } +.@{fa-css-prefix}-yc:before, +.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; } +.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; } +.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; } +.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; } +.@{fa-css-prefix}-battery-4:before, +.@{fa-css-prefix}-battery:before, +.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; } +.@{fa-css-prefix}-battery-3:before, +.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; } +.@{fa-css-prefix}-battery-2:before, +.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; } +.@{fa-css-prefix}-battery-1:before, +.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; } +.@{fa-css-prefix}-battery-0:before, +.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; } +.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; } +.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; } +.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; } +.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; } +.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; } +.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; } +.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; } +.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; } +.@{fa-css-prefix}-clone:before { content: @fa-var-clone; } +.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; } +.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; } +.@{fa-css-prefix}-hourglass-1:before, +.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; } +.@{fa-css-prefix}-hourglass-2:before, +.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; } +.@{fa-css-prefix}-hourglass-3:before, +.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; } +.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; } +.@{fa-css-prefix}-hand-grab-o:before, +.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; } +.@{fa-css-prefix}-hand-stop-o:before, +.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; } +.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; } +.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; } +.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; } +.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; } +.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; } +.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; } +.@{fa-css-prefix}-registered:before { content: @fa-var-registered; } +.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; } +.@{fa-css-prefix}-gg:before { content: @fa-var-gg; } +.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; } +.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; } +.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; } +.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; } +.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; } +.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; } +.@{fa-css-prefix}-safari:before { content: @fa-var-safari; } +.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; } +.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; } +.@{fa-css-prefix}-opera:before { content: @fa-var-opera; } +.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; } +.@{fa-css-prefix}-tv:before, +.@{fa-css-prefix}-television:before { content: @fa-var-television; } +.@{fa-css-prefix}-contao:before { content: @fa-var-contao; } +.@{fa-css-prefix}-500px:before { content: @fa-var-500px; } +.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; } +.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; } +.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; } +.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; } +.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; } +.@{fa-css-prefix}-industry:before { content: @fa-var-industry; } +.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; } +.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; } +.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; } +.@{fa-css-prefix}-map:before { content: @fa-var-map; } +.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; } +.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; } +.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; } +.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; } +.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; } +.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; } +.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; } +.@{fa-css-prefix}-edge:before { content: @fa-var-edge; } +.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; } +.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; } +.@{fa-css-prefix}-modx:before { content: @fa-var-modx; } +.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; } +.@{fa-css-prefix}-usb:before { content: @fa-var-usb; } +.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; } +.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; } +.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; } +.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; } +.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; } +.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; } +.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; } +.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; } +.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; } +.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; } +.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; } +.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; } +.@{fa-css-prefix}-percent:before { content: @fa-var-percent; } +.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; } +.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; } +.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; } +.@{fa-css-prefix}-envira:before { content: @fa-var-envira; } +.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; } +.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; } +.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; } +.@{fa-css-prefix}-blind:before { content: @fa-var-blind; } +.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; } +.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; } +.@{fa-css-prefix}-braille:before { content: @fa-var-braille; } +.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; } +.@{fa-css-prefix}-asl-interpreting:before, +.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; } +.@{fa-css-prefix}-deafness:before, +.@{fa-css-prefix}-hard-of-hearing:before, +.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; } +.@{fa-css-prefix}-glide:before { content: @fa-var-glide; } +.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; } +.@{fa-css-prefix}-signing:before, +.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; } +.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; } +.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; } +.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; } +.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; } +.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; } +.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; } +.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; } +.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; } +.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; } +.@{fa-css-prefix}-google-plus-circle:before, +.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; } +.@{fa-css-prefix}-fa:before, +.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; } +.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; } +.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; } +.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; } +.@{fa-css-prefix}-linode:before { content: @fa-var-linode; } +.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; } +.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; } +.@{fa-css-prefix}-vcard:before, +.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; } +.@{fa-css-prefix}-vcard-o:before, +.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; } +.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; } +.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; } +.@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; } +.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; } +.@{fa-css-prefix}-drivers-license:before, +.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; } +.@{fa-css-prefix}-drivers-license-o:before, +.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; } +.@{fa-css-prefix}-quora:before { content: @fa-var-quora; } +.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; } +.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; } +.@{fa-css-prefix}-thermometer-4:before, +.@{fa-css-prefix}-thermometer:before, +.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; } +.@{fa-css-prefix}-thermometer-3:before, +.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; } +.@{fa-css-prefix}-thermometer-2:before, +.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; } +.@{fa-css-prefix}-thermometer-1:before, +.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; } +.@{fa-css-prefix}-thermometer-0:before, +.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; } +.@{fa-css-prefix}-shower:before { content: @fa-var-shower; } +.@{fa-css-prefix}-bathtub:before, +.@{fa-css-prefix}-s15:before, +.@{fa-css-prefix}-bath:before { content: @fa-var-bath; } +.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; } +.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; } +.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; } +.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; } +.@{fa-css-prefix}-times-rectangle:before, +.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; } +.@{fa-css-prefix}-times-rectangle-o:before, +.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; } +.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; } +.@{fa-css-prefix}-grav:before { content: @fa-var-grav; } +.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; } +.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; } +.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; } +.@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; } +.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; } +.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; } +.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; } +.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; } +.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; } diff --git a/source/lib/font-awesome@4.7.0/less/larger.less b/source/lib/font-awesome@4.7.0/less/larger.less new file mode 100644 index 0000000..c9d6467 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/larger.less @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.@{fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.@{fa-css-prefix}-2x { font-size: 2em; } +.@{fa-css-prefix}-3x { font-size: 3em; } +.@{fa-css-prefix}-4x { font-size: 4em; } +.@{fa-css-prefix}-5x { font-size: 5em; } diff --git a/source/lib/font-awesome@4.7.0/less/list.less b/source/lib/font-awesome@4.7.0/less/list.less new file mode 100644 index 0000000..0b44038 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/list.less @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.@{fa-css-prefix}-ul { + padding-left: 0; + margin-left: @fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.@{fa-css-prefix}-li { + position: absolute; + left: -@fa-li-width; + width: @fa-li-width; + top: (2em / 14); + text-align: center; + &.@{fa-css-prefix}-lg { + left: (-@fa-li-width + (4em / 14)); + } +} diff --git a/source/lib/font-awesome@4.7.0/less/mixins.less b/source/lib/font-awesome@4.7.0/less/mixins.less new file mode 100644 index 0000000..beef231 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/mixins.less @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +.fa-icon() { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +.fa-icon-rotate(@degrees, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; + -webkit-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/source/lib/font-awesome@4.7.0/less/path.less b/source/lib/font-awesome@4.7.0/less/path.less new file mode 100644 index 0000000..835be41 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/path.less @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); + src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), + url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), + url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), + url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); + // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/source/lib/font-awesome@4.7.0/less/rotated-flipped.less b/source/lib/font-awesome@4.7.0/less/rotated-flipped.less new file mode 100644 index 0000000..f6ba814 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/rotated-flipped.less @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .@{fa-css-prefix}-rotate-90, +:root .@{fa-css-prefix}-rotate-180, +:root .@{fa-css-prefix}-rotate-270, +:root .@{fa-css-prefix}-flip-horizontal, +:root .@{fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/source/lib/font-awesome@4.7.0/less/screen-reader.less b/source/lib/font-awesome@4.7.0/less/screen-reader.less new file mode 100644 index 0000000..11c1881 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/screen-reader.less @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } diff --git a/source/lib/font-awesome@4.7.0/less/stacked.less b/source/lib/font-awesome@4.7.0/less/stacked.less new file mode 100644 index 0000000..fc53fb0 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/stacked.less @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } diff --git a/source/lib/font-awesome@4.7.0/less/variables.less b/source/lib/font-awesome@4.7.0/less/variables.less new file mode 100644 index 0000000..7ddbbc0 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/less/variables.less @@ -0,0 +1,800 @@ +// Variables +// -------------------------- + +@fa-font-path: "../fonts"; +@fa-font-size-base: 14px; +@fa-line-height-base: 1; +//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly +@fa-css-prefix: fa; +@fa-version: "4.7.0"; +@fa-border-color: #eee; +@fa-inverse: #fff; +@fa-li-width: (30em / 14); + +@fa-var-500px: "\f26e"; +@fa-var-address-book: "\f2b9"; +@fa-var-address-book-o: "\f2ba"; +@fa-var-address-card: "\f2bb"; +@fa-var-address-card-o: "\f2bc"; +@fa-var-adjust: "\f042"; +@fa-var-adn: "\f170"; +@fa-var-align-center: "\f037"; +@fa-var-align-justify: "\f039"; +@fa-var-align-left: "\f036"; +@fa-var-align-right: "\f038"; +@fa-var-amazon: "\f270"; +@fa-var-ambulance: "\f0f9"; +@fa-var-american-sign-language-interpreting: "\f2a3"; +@fa-var-anchor: "\f13d"; +@fa-var-android: "\f17b"; +@fa-var-angellist: "\f209"; +@fa-var-angle-double-down: "\f103"; +@fa-var-angle-double-left: "\f100"; +@fa-var-angle-double-right: "\f101"; +@fa-var-angle-double-up: "\f102"; +@fa-var-angle-down: "\f107"; +@fa-var-angle-left: "\f104"; +@fa-var-angle-right: "\f105"; +@fa-var-angle-up: "\f106"; +@fa-var-apple: "\f179"; +@fa-var-archive: "\f187"; +@fa-var-area-chart: "\f1fe"; +@fa-var-arrow-circle-down: "\f0ab"; +@fa-var-arrow-circle-left: "\f0a8"; +@fa-var-arrow-circle-o-down: "\f01a"; +@fa-var-arrow-circle-o-left: "\f190"; +@fa-var-arrow-circle-o-right: "\f18e"; +@fa-var-arrow-circle-o-up: "\f01b"; +@fa-var-arrow-circle-right: "\f0a9"; +@fa-var-arrow-circle-up: "\f0aa"; +@fa-var-arrow-down: "\f063"; +@fa-var-arrow-left: "\f060"; +@fa-var-arrow-right: "\f061"; +@fa-var-arrow-up: "\f062"; +@fa-var-arrows: "\f047"; +@fa-var-arrows-alt: "\f0b2"; +@fa-var-arrows-h: "\f07e"; +@fa-var-arrows-v: "\f07d"; +@fa-var-asl-interpreting: "\f2a3"; +@fa-var-assistive-listening-systems: "\f2a2"; +@fa-var-asterisk: "\f069"; +@fa-var-at: "\f1fa"; +@fa-var-audio-description: "\f29e"; +@fa-var-automobile: "\f1b9"; +@fa-var-backward: "\f04a"; +@fa-var-balance-scale: "\f24e"; +@fa-var-ban: "\f05e"; +@fa-var-bandcamp: "\f2d5"; +@fa-var-bank: "\f19c"; +@fa-var-bar-chart: "\f080"; +@fa-var-bar-chart-o: "\f080"; +@fa-var-barcode: "\f02a"; +@fa-var-bars: "\f0c9"; +@fa-var-bath: "\f2cd"; +@fa-var-bathtub: "\f2cd"; +@fa-var-battery: "\f240"; +@fa-var-battery-0: "\f244"; +@fa-var-battery-1: "\f243"; +@fa-var-battery-2: "\f242"; +@fa-var-battery-3: "\f241"; +@fa-var-battery-4: "\f240"; +@fa-var-battery-empty: "\f244"; +@fa-var-battery-full: "\f240"; +@fa-var-battery-half: "\f242"; +@fa-var-battery-quarter: "\f243"; +@fa-var-battery-three-quarters: "\f241"; +@fa-var-bed: "\f236"; +@fa-var-beer: "\f0fc"; +@fa-var-behance: "\f1b4"; +@fa-var-behance-square: "\f1b5"; +@fa-var-bell: "\f0f3"; +@fa-var-bell-o: "\f0a2"; +@fa-var-bell-slash: "\f1f6"; +@fa-var-bell-slash-o: "\f1f7"; +@fa-var-bicycle: "\f206"; +@fa-var-binoculars: "\f1e5"; +@fa-var-birthday-cake: "\f1fd"; +@fa-var-bitbucket: "\f171"; +@fa-var-bitbucket-square: "\f172"; +@fa-var-bitcoin: "\f15a"; +@fa-var-black-tie: "\f27e"; +@fa-var-blind: "\f29d"; +@fa-var-bluetooth: "\f293"; +@fa-var-bluetooth-b: "\f294"; +@fa-var-bold: "\f032"; +@fa-var-bolt: "\f0e7"; +@fa-var-bomb: "\f1e2"; +@fa-var-book: "\f02d"; +@fa-var-bookmark: "\f02e"; +@fa-var-bookmark-o: "\f097"; +@fa-var-braille: "\f2a1"; +@fa-var-briefcase: "\f0b1"; +@fa-var-btc: "\f15a"; +@fa-var-bug: "\f188"; +@fa-var-building: "\f1ad"; +@fa-var-building-o: "\f0f7"; +@fa-var-bullhorn: "\f0a1"; +@fa-var-bullseye: "\f140"; +@fa-var-bus: "\f207"; +@fa-var-buysellads: "\f20d"; +@fa-var-cab: "\f1ba"; +@fa-var-calculator: "\f1ec"; +@fa-var-calendar: "\f073"; +@fa-var-calendar-check-o: "\f274"; +@fa-var-calendar-minus-o: "\f272"; +@fa-var-calendar-o: "\f133"; +@fa-var-calendar-plus-o: "\f271"; +@fa-var-calendar-times-o: "\f273"; +@fa-var-camera: "\f030"; +@fa-var-camera-retro: "\f083"; +@fa-var-car: "\f1b9"; +@fa-var-caret-down: "\f0d7"; +@fa-var-caret-left: "\f0d9"; +@fa-var-caret-right: "\f0da"; +@fa-var-caret-square-o-down: "\f150"; +@fa-var-caret-square-o-left: "\f191"; +@fa-var-caret-square-o-right: "\f152"; +@fa-var-caret-square-o-up: "\f151"; +@fa-var-caret-up: "\f0d8"; +@fa-var-cart-arrow-down: "\f218"; +@fa-var-cart-plus: "\f217"; +@fa-var-cc: "\f20a"; +@fa-var-cc-amex: "\f1f3"; +@fa-var-cc-diners-club: "\f24c"; +@fa-var-cc-discover: "\f1f2"; +@fa-var-cc-jcb: "\f24b"; +@fa-var-cc-mastercard: "\f1f1"; +@fa-var-cc-paypal: "\f1f4"; +@fa-var-cc-stripe: "\f1f5"; +@fa-var-cc-visa: "\f1f0"; +@fa-var-certificate: "\f0a3"; +@fa-var-chain: "\f0c1"; +@fa-var-chain-broken: "\f127"; +@fa-var-check: "\f00c"; +@fa-var-check-circle: "\f058"; +@fa-var-check-circle-o: "\f05d"; +@fa-var-check-square: "\f14a"; +@fa-var-check-square-o: "\f046"; +@fa-var-chevron-circle-down: "\f13a"; +@fa-var-chevron-circle-left: "\f137"; +@fa-var-chevron-circle-right: "\f138"; +@fa-var-chevron-circle-up: "\f139"; +@fa-var-chevron-down: "\f078"; +@fa-var-chevron-left: "\f053"; +@fa-var-chevron-right: "\f054"; +@fa-var-chevron-up: "\f077"; +@fa-var-child: "\f1ae"; +@fa-var-chrome: "\f268"; +@fa-var-circle: "\f111"; +@fa-var-circle-o: "\f10c"; +@fa-var-circle-o-notch: "\f1ce"; +@fa-var-circle-thin: "\f1db"; +@fa-var-clipboard: "\f0ea"; +@fa-var-clock-o: "\f017"; +@fa-var-clone: "\f24d"; +@fa-var-close: "\f00d"; +@fa-var-cloud: "\f0c2"; +@fa-var-cloud-download: "\f0ed"; +@fa-var-cloud-upload: "\f0ee"; +@fa-var-cny: "\f157"; +@fa-var-code: "\f121"; +@fa-var-code-fork: "\f126"; +@fa-var-codepen: "\f1cb"; +@fa-var-codiepie: "\f284"; +@fa-var-coffee: "\f0f4"; +@fa-var-cog: "\f013"; +@fa-var-cogs: "\f085"; +@fa-var-columns: "\f0db"; +@fa-var-comment: "\f075"; +@fa-var-comment-o: "\f0e5"; +@fa-var-commenting: "\f27a"; +@fa-var-commenting-o: "\f27b"; +@fa-var-comments: "\f086"; +@fa-var-comments-o: "\f0e6"; +@fa-var-compass: "\f14e"; +@fa-var-compress: "\f066"; +@fa-var-connectdevelop: "\f20e"; +@fa-var-contao: "\f26d"; +@fa-var-copy: "\f0c5"; +@fa-var-copyright: "\f1f9"; +@fa-var-creative-commons: "\f25e"; +@fa-var-credit-card: "\f09d"; +@fa-var-credit-card-alt: "\f283"; +@fa-var-crop: "\f125"; +@fa-var-crosshairs: "\f05b"; +@fa-var-css3: "\f13c"; +@fa-var-cube: "\f1b2"; +@fa-var-cubes: "\f1b3"; +@fa-var-cut: "\f0c4"; +@fa-var-cutlery: "\f0f5"; +@fa-var-dashboard: "\f0e4"; +@fa-var-dashcube: "\f210"; +@fa-var-database: "\f1c0"; +@fa-var-deaf: "\f2a4"; +@fa-var-deafness: "\f2a4"; +@fa-var-dedent: "\f03b"; +@fa-var-delicious: "\f1a5"; +@fa-var-desktop: "\f108"; +@fa-var-deviantart: "\f1bd"; +@fa-var-diamond: "\f219"; +@fa-var-digg: "\f1a6"; +@fa-var-dollar: "\f155"; +@fa-var-dot-circle-o: "\f192"; +@fa-var-download: "\f019"; +@fa-var-dribbble: "\f17d"; +@fa-var-drivers-license: "\f2c2"; +@fa-var-drivers-license-o: "\f2c3"; +@fa-var-dropbox: "\f16b"; +@fa-var-drupal: "\f1a9"; +@fa-var-edge: "\f282"; +@fa-var-edit: "\f044"; +@fa-var-eercast: "\f2da"; +@fa-var-eject: "\f052"; +@fa-var-ellipsis-h: "\f141"; +@fa-var-ellipsis-v: "\f142"; +@fa-var-empire: "\f1d1"; +@fa-var-envelope: "\f0e0"; +@fa-var-envelope-o: "\f003"; +@fa-var-envelope-open: "\f2b6"; +@fa-var-envelope-open-o: "\f2b7"; +@fa-var-envelope-square: "\f199"; +@fa-var-envira: "\f299"; +@fa-var-eraser: "\f12d"; +@fa-var-etsy: "\f2d7"; +@fa-var-eur: "\f153"; +@fa-var-euro: "\f153"; +@fa-var-exchange: "\f0ec"; +@fa-var-exclamation: "\f12a"; +@fa-var-exclamation-circle: "\f06a"; +@fa-var-exclamation-triangle: "\f071"; +@fa-var-expand: "\f065"; +@fa-var-expeditedssl: "\f23e"; +@fa-var-external-link: "\f08e"; +@fa-var-external-link-square: "\f14c"; +@fa-var-eye: "\f06e"; +@fa-var-eye-slash: "\f070"; +@fa-var-eyedropper: "\f1fb"; +@fa-var-fa: "\f2b4"; +@fa-var-facebook: "\f09a"; +@fa-var-facebook-f: "\f09a"; +@fa-var-facebook-official: "\f230"; +@fa-var-facebook-square: "\f082"; +@fa-var-fast-backward: "\f049"; +@fa-var-fast-forward: "\f050"; +@fa-var-fax: "\f1ac"; +@fa-var-feed: "\f09e"; +@fa-var-female: "\f182"; +@fa-var-fighter-jet: "\f0fb"; +@fa-var-file: "\f15b"; +@fa-var-file-archive-o: "\f1c6"; +@fa-var-file-audio-o: "\f1c7"; +@fa-var-file-code-o: "\f1c9"; +@fa-var-file-excel-o: "\f1c3"; +@fa-var-file-image-o: "\f1c5"; +@fa-var-file-movie-o: "\f1c8"; +@fa-var-file-o: "\f016"; +@fa-var-file-pdf-o: "\f1c1"; +@fa-var-file-photo-o: "\f1c5"; +@fa-var-file-picture-o: "\f1c5"; +@fa-var-file-powerpoint-o: "\f1c4"; +@fa-var-file-sound-o: "\f1c7"; +@fa-var-file-text: "\f15c"; +@fa-var-file-text-o: "\f0f6"; +@fa-var-file-video-o: "\f1c8"; +@fa-var-file-word-o: "\f1c2"; +@fa-var-file-zip-o: "\f1c6"; +@fa-var-files-o: "\f0c5"; +@fa-var-film: "\f008"; +@fa-var-filter: "\f0b0"; +@fa-var-fire: "\f06d"; +@fa-var-fire-extinguisher: "\f134"; +@fa-var-firefox: "\f269"; +@fa-var-first-order: "\f2b0"; +@fa-var-flag: "\f024"; +@fa-var-flag-checkered: "\f11e"; +@fa-var-flag-o: "\f11d"; +@fa-var-flash: "\f0e7"; +@fa-var-flask: "\f0c3"; +@fa-var-flickr: "\f16e"; +@fa-var-floppy-o: "\f0c7"; +@fa-var-folder: "\f07b"; +@fa-var-folder-o: "\f114"; +@fa-var-folder-open: "\f07c"; +@fa-var-folder-open-o: "\f115"; +@fa-var-font: "\f031"; +@fa-var-font-awesome: "\f2b4"; +@fa-var-fonticons: "\f280"; +@fa-var-fort-awesome: "\f286"; +@fa-var-forumbee: "\f211"; +@fa-var-forward: "\f04e"; +@fa-var-foursquare: "\f180"; +@fa-var-free-code-camp: "\f2c5"; +@fa-var-frown-o: "\f119"; +@fa-var-futbol-o: "\f1e3"; +@fa-var-gamepad: "\f11b"; +@fa-var-gavel: "\f0e3"; +@fa-var-gbp: "\f154"; +@fa-var-ge: "\f1d1"; +@fa-var-gear: "\f013"; +@fa-var-gears: "\f085"; +@fa-var-genderless: "\f22d"; +@fa-var-get-pocket: "\f265"; +@fa-var-gg: "\f260"; +@fa-var-gg-circle: "\f261"; +@fa-var-gift: "\f06b"; +@fa-var-git: "\f1d3"; +@fa-var-git-square: "\f1d2"; +@fa-var-github: "\f09b"; +@fa-var-github-alt: "\f113"; +@fa-var-github-square: "\f092"; +@fa-var-gitlab: "\f296"; +@fa-var-gittip: "\f184"; +@fa-var-glass: "\f000"; +@fa-var-glide: "\f2a5"; +@fa-var-glide-g: "\f2a6"; +@fa-var-globe: "\f0ac"; +@fa-var-google: "\f1a0"; +@fa-var-google-plus: "\f0d5"; +@fa-var-google-plus-circle: "\f2b3"; +@fa-var-google-plus-official: "\f2b3"; +@fa-var-google-plus-square: "\f0d4"; +@fa-var-google-wallet: "\f1ee"; +@fa-var-graduation-cap: "\f19d"; +@fa-var-gratipay: "\f184"; +@fa-var-grav: "\f2d6"; +@fa-var-group: "\f0c0"; +@fa-var-h-square: "\f0fd"; +@fa-var-hacker-news: "\f1d4"; +@fa-var-hand-grab-o: "\f255"; +@fa-var-hand-lizard-o: "\f258"; +@fa-var-hand-o-down: "\f0a7"; +@fa-var-hand-o-left: "\f0a5"; +@fa-var-hand-o-right: "\f0a4"; +@fa-var-hand-o-up: "\f0a6"; +@fa-var-hand-paper-o: "\f256"; +@fa-var-hand-peace-o: "\f25b"; +@fa-var-hand-pointer-o: "\f25a"; +@fa-var-hand-rock-o: "\f255"; +@fa-var-hand-scissors-o: "\f257"; +@fa-var-hand-spock-o: "\f259"; +@fa-var-hand-stop-o: "\f256"; +@fa-var-handshake-o: "\f2b5"; +@fa-var-hard-of-hearing: "\f2a4"; +@fa-var-hashtag: "\f292"; +@fa-var-hdd-o: "\f0a0"; +@fa-var-header: "\f1dc"; +@fa-var-headphones: "\f025"; +@fa-var-heart: "\f004"; +@fa-var-heart-o: "\f08a"; +@fa-var-heartbeat: "\f21e"; +@fa-var-history: "\f1da"; +@fa-var-home: "\f015"; +@fa-var-hospital-o: "\f0f8"; +@fa-var-hotel: "\f236"; +@fa-var-hourglass: "\f254"; +@fa-var-hourglass-1: "\f251"; +@fa-var-hourglass-2: "\f252"; +@fa-var-hourglass-3: "\f253"; +@fa-var-hourglass-end: "\f253"; +@fa-var-hourglass-half: "\f252"; +@fa-var-hourglass-o: "\f250"; +@fa-var-hourglass-start: "\f251"; +@fa-var-houzz: "\f27c"; +@fa-var-html5: "\f13b"; +@fa-var-i-cursor: "\f246"; +@fa-var-id-badge: "\f2c1"; +@fa-var-id-card: "\f2c2"; +@fa-var-id-card-o: "\f2c3"; +@fa-var-ils: "\f20b"; +@fa-var-image: "\f03e"; +@fa-var-imdb: "\f2d8"; +@fa-var-inbox: "\f01c"; +@fa-var-indent: "\f03c"; +@fa-var-industry: "\f275"; +@fa-var-info: "\f129"; +@fa-var-info-circle: "\f05a"; +@fa-var-inr: "\f156"; +@fa-var-instagram: "\f16d"; +@fa-var-institution: "\f19c"; +@fa-var-internet-explorer: "\f26b"; +@fa-var-intersex: "\f224"; +@fa-var-ioxhost: "\f208"; +@fa-var-italic: "\f033"; +@fa-var-joomla: "\f1aa"; +@fa-var-jpy: "\f157"; +@fa-var-jsfiddle: "\f1cc"; +@fa-var-key: "\f084"; +@fa-var-keyboard-o: "\f11c"; +@fa-var-krw: "\f159"; +@fa-var-language: "\f1ab"; +@fa-var-laptop: "\f109"; +@fa-var-lastfm: "\f202"; +@fa-var-lastfm-square: "\f203"; +@fa-var-leaf: "\f06c"; +@fa-var-leanpub: "\f212"; +@fa-var-legal: "\f0e3"; +@fa-var-lemon-o: "\f094"; +@fa-var-level-down: "\f149"; +@fa-var-level-up: "\f148"; +@fa-var-life-bouy: "\f1cd"; +@fa-var-life-buoy: "\f1cd"; +@fa-var-life-ring: "\f1cd"; +@fa-var-life-saver: "\f1cd"; +@fa-var-lightbulb-o: "\f0eb"; +@fa-var-line-chart: "\f201"; +@fa-var-link: "\f0c1"; +@fa-var-linkedin: "\f0e1"; +@fa-var-linkedin-square: "\f08c"; +@fa-var-linode: "\f2b8"; +@fa-var-linux: "\f17c"; +@fa-var-list: "\f03a"; +@fa-var-list-alt: "\f022"; +@fa-var-list-ol: "\f0cb"; +@fa-var-list-ul: "\f0ca"; +@fa-var-location-arrow: "\f124"; +@fa-var-lock: "\f023"; +@fa-var-long-arrow-down: "\f175"; +@fa-var-long-arrow-left: "\f177"; +@fa-var-long-arrow-right: "\f178"; +@fa-var-long-arrow-up: "\f176"; +@fa-var-low-vision: "\f2a8"; +@fa-var-magic: "\f0d0"; +@fa-var-magnet: "\f076"; +@fa-var-mail-forward: "\f064"; +@fa-var-mail-reply: "\f112"; +@fa-var-mail-reply-all: "\f122"; +@fa-var-male: "\f183"; +@fa-var-map: "\f279"; +@fa-var-map-marker: "\f041"; +@fa-var-map-o: "\f278"; +@fa-var-map-pin: "\f276"; +@fa-var-map-signs: "\f277"; +@fa-var-mars: "\f222"; +@fa-var-mars-double: "\f227"; +@fa-var-mars-stroke: "\f229"; +@fa-var-mars-stroke-h: "\f22b"; +@fa-var-mars-stroke-v: "\f22a"; +@fa-var-maxcdn: "\f136"; +@fa-var-meanpath: "\f20c"; +@fa-var-medium: "\f23a"; +@fa-var-medkit: "\f0fa"; +@fa-var-meetup: "\f2e0"; +@fa-var-meh-o: "\f11a"; +@fa-var-mercury: "\f223"; +@fa-var-microchip: "\f2db"; +@fa-var-microphone: "\f130"; +@fa-var-microphone-slash: "\f131"; +@fa-var-minus: "\f068"; +@fa-var-minus-circle: "\f056"; +@fa-var-minus-square: "\f146"; +@fa-var-minus-square-o: "\f147"; +@fa-var-mixcloud: "\f289"; +@fa-var-mobile: "\f10b"; +@fa-var-mobile-phone: "\f10b"; +@fa-var-modx: "\f285"; +@fa-var-money: "\f0d6"; +@fa-var-moon-o: "\f186"; +@fa-var-mortar-board: "\f19d"; +@fa-var-motorcycle: "\f21c"; +@fa-var-mouse-pointer: "\f245"; +@fa-var-music: "\f001"; +@fa-var-navicon: "\f0c9"; +@fa-var-neuter: "\f22c"; +@fa-var-newspaper-o: "\f1ea"; +@fa-var-object-group: "\f247"; +@fa-var-object-ungroup: "\f248"; +@fa-var-odnoklassniki: "\f263"; +@fa-var-odnoklassniki-square: "\f264"; +@fa-var-opencart: "\f23d"; +@fa-var-openid: "\f19b"; +@fa-var-opera: "\f26a"; +@fa-var-optin-monster: "\f23c"; +@fa-var-outdent: "\f03b"; +@fa-var-pagelines: "\f18c"; +@fa-var-paint-brush: "\f1fc"; +@fa-var-paper-plane: "\f1d8"; +@fa-var-paper-plane-o: "\f1d9"; +@fa-var-paperclip: "\f0c6"; +@fa-var-paragraph: "\f1dd"; +@fa-var-paste: "\f0ea"; +@fa-var-pause: "\f04c"; +@fa-var-pause-circle: "\f28b"; +@fa-var-pause-circle-o: "\f28c"; +@fa-var-paw: "\f1b0"; +@fa-var-paypal: "\f1ed"; +@fa-var-pencil: "\f040"; +@fa-var-pencil-square: "\f14b"; +@fa-var-pencil-square-o: "\f044"; +@fa-var-percent: "\f295"; +@fa-var-phone: "\f095"; +@fa-var-phone-square: "\f098"; +@fa-var-photo: "\f03e"; +@fa-var-picture-o: "\f03e"; +@fa-var-pie-chart: "\f200"; +@fa-var-pied-piper: "\f2ae"; +@fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pied-piper-pp: "\f1a7"; +@fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-p: "\f231"; +@fa-var-pinterest-square: "\f0d3"; +@fa-var-plane: "\f072"; +@fa-var-play: "\f04b"; +@fa-var-play-circle: "\f144"; +@fa-var-play-circle-o: "\f01d"; +@fa-var-plug: "\f1e6"; +@fa-var-plus: "\f067"; +@fa-var-plus-circle: "\f055"; +@fa-var-plus-square: "\f0fe"; +@fa-var-plus-square-o: "\f196"; +@fa-var-podcast: "\f2ce"; +@fa-var-power-off: "\f011"; +@fa-var-print: "\f02f"; +@fa-var-product-hunt: "\f288"; +@fa-var-puzzle-piece: "\f12e"; +@fa-var-qq: "\f1d6"; +@fa-var-qrcode: "\f029"; +@fa-var-question: "\f128"; +@fa-var-question-circle: "\f059"; +@fa-var-question-circle-o: "\f29c"; +@fa-var-quora: "\f2c4"; +@fa-var-quote-left: "\f10d"; +@fa-var-quote-right: "\f10e"; +@fa-var-ra: "\f1d0"; +@fa-var-random: "\f074"; +@fa-var-ravelry: "\f2d9"; +@fa-var-rebel: "\f1d0"; +@fa-var-recycle: "\f1b8"; +@fa-var-reddit: "\f1a1"; +@fa-var-reddit-alien: "\f281"; +@fa-var-reddit-square: "\f1a2"; +@fa-var-refresh: "\f021"; +@fa-var-registered: "\f25d"; +@fa-var-remove: "\f00d"; +@fa-var-renren: "\f18b"; +@fa-var-reorder: "\f0c9"; +@fa-var-repeat: "\f01e"; +@fa-var-reply: "\f112"; +@fa-var-reply-all: "\f122"; +@fa-var-resistance: "\f1d0"; +@fa-var-retweet: "\f079"; +@fa-var-rmb: "\f157"; +@fa-var-road: "\f018"; +@fa-var-rocket: "\f135"; +@fa-var-rotate-left: "\f0e2"; +@fa-var-rotate-right: "\f01e"; +@fa-var-rouble: "\f158"; +@fa-var-rss: "\f09e"; +@fa-var-rss-square: "\f143"; +@fa-var-rub: "\f158"; +@fa-var-ruble: "\f158"; +@fa-var-rupee: "\f156"; +@fa-var-s15: "\f2cd"; +@fa-var-safari: "\f267"; +@fa-var-save: "\f0c7"; +@fa-var-scissors: "\f0c4"; +@fa-var-scribd: "\f28a"; +@fa-var-search: "\f002"; +@fa-var-search-minus: "\f010"; +@fa-var-search-plus: "\f00e"; +@fa-var-sellsy: "\f213"; +@fa-var-send: "\f1d8"; +@fa-var-send-o: "\f1d9"; +@fa-var-server: "\f233"; +@fa-var-share: "\f064"; +@fa-var-share-alt: "\f1e0"; +@fa-var-share-alt-square: "\f1e1"; +@fa-var-share-square: "\f14d"; +@fa-var-share-square-o: "\f045"; +@fa-var-shekel: "\f20b"; +@fa-var-sheqel: "\f20b"; +@fa-var-shield: "\f132"; +@fa-var-ship: "\f21a"; +@fa-var-shirtsinbulk: "\f214"; +@fa-var-shopping-bag: "\f290"; +@fa-var-shopping-basket: "\f291"; +@fa-var-shopping-cart: "\f07a"; +@fa-var-shower: "\f2cc"; +@fa-var-sign-in: "\f090"; +@fa-var-sign-language: "\f2a7"; +@fa-var-sign-out: "\f08b"; +@fa-var-signal: "\f012"; +@fa-var-signing: "\f2a7"; +@fa-var-simplybuilt: "\f215"; +@fa-var-sitemap: "\f0e8"; +@fa-var-skyatlas: "\f216"; +@fa-var-skype: "\f17e"; +@fa-var-slack: "\f198"; +@fa-var-sliders: "\f1de"; +@fa-var-slideshare: "\f1e7"; +@fa-var-smile-o: "\f118"; +@fa-var-snapchat: "\f2ab"; +@fa-var-snapchat-ghost: "\f2ac"; +@fa-var-snapchat-square: "\f2ad"; +@fa-var-snowflake-o: "\f2dc"; +@fa-var-soccer-ball-o: "\f1e3"; +@fa-var-sort: "\f0dc"; +@fa-var-sort-alpha-asc: "\f15d"; +@fa-var-sort-alpha-desc: "\f15e"; +@fa-var-sort-amount-asc: "\f160"; +@fa-var-sort-amount-desc: "\f161"; +@fa-var-sort-asc: "\f0de"; +@fa-var-sort-desc: "\f0dd"; +@fa-var-sort-down: "\f0dd"; +@fa-var-sort-numeric-asc: "\f162"; +@fa-var-sort-numeric-desc: "\f163"; +@fa-var-sort-up: "\f0de"; +@fa-var-soundcloud: "\f1be"; +@fa-var-space-shuttle: "\f197"; +@fa-var-spinner: "\f110"; +@fa-var-spoon: "\f1b1"; +@fa-var-spotify: "\f1bc"; +@fa-var-square: "\f0c8"; +@fa-var-square-o: "\f096"; +@fa-var-stack-exchange: "\f18d"; +@fa-var-stack-overflow: "\f16c"; +@fa-var-star: "\f005"; +@fa-var-star-half: "\f089"; +@fa-var-star-half-empty: "\f123"; +@fa-var-star-half-full: "\f123"; +@fa-var-star-half-o: "\f123"; +@fa-var-star-o: "\f006"; +@fa-var-steam: "\f1b6"; +@fa-var-steam-square: "\f1b7"; +@fa-var-step-backward: "\f048"; +@fa-var-step-forward: "\f051"; +@fa-var-stethoscope: "\f0f1"; +@fa-var-sticky-note: "\f249"; +@fa-var-sticky-note-o: "\f24a"; +@fa-var-stop: "\f04d"; +@fa-var-stop-circle: "\f28d"; +@fa-var-stop-circle-o: "\f28e"; +@fa-var-street-view: "\f21d"; +@fa-var-strikethrough: "\f0cc"; +@fa-var-stumbleupon: "\f1a4"; +@fa-var-stumbleupon-circle: "\f1a3"; +@fa-var-subscript: "\f12c"; +@fa-var-subway: "\f239"; +@fa-var-suitcase: "\f0f2"; +@fa-var-sun-o: "\f185"; +@fa-var-superpowers: "\f2dd"; +@fa-var-superscript: "\f12b"; +@fa-var-support: "\f1cd"; +@fa-var-table: "\f0ce"; +@fa-var-tablet: "\f10a"; +@fa-var-tachometer: "\f0e4"; +@fa-var-tag: "\f02b"; +@fa-var-tags: "\f02c"; +@fa-var-tasks: "\f0ae"; +@fa-var-taxi: "\f1ba"; +@fa-var-telegram: "\f2c6"; +@fa-var-television: "\f26c"; +@fa-var-tencent-weibo: "\f1d5"; +@fa-var-terminal: "\f120"; +@fa-var-text-height: "\f034"; +@fa-var-text-width: "\f035"; +@fa-var-th: "\f00a"; +@fa-var-th-large: "\f009"; +@fa-var-th-list: "\f00b"; +@fa-var-themeisle: "\f2b2"; +@fa-var-thermometer: "\f2c7"; +@fa-var-thermometer-0: "\f2cb"; +@fa-var-thermometer-1: "\f2ca"; +@fa-var-thermometer-2: "\f2c9"; +@fa-var-thermometer-3: "\f2c8"; +@fa-var-thermometer-4: "\f2c7"; +@fa-var-thermometer-empty: "\f2cb"; +@fa-var-thermometer-full: "\f2c7"; +@fa-var-thermometer-half: "\f2c9"; +@fa-var-thermometer-quarter: "\f2ca"; +@fa-var-thermometer-three-quarters: "\f2c8"; +@fa-var-thumb-tack: "\f08d"; +@fa-var-thumbs-down: "\f165"; +@fa-var-thumbs-o-down: "\f088"; +@fa-var-thumbs-o-up: "\f087"; +@fa-var-thumbs-up: "\f164"; +@fa-var-ticket: "\f145"; +@fa-var-times: "\f00d"; +@fa-var-times-circle: "\f057"; +@fa-var-times-circle-o: "\f05c"; +@fa-var-times-rectangle: "\f2d3"; +@fa-var-times-rectangle-o: "\f2d4"; +@fa-var-tint: "\f043"; +@fa-var-toggle-down: "\f150"; +@fa-var-toggle-left: "\f191"; +@fa-var-toggle-off: "\f204"; +@fa-var-toggle-on: "\f205"; +@fa-var-toggle-right: "\f152"; +@fa-var-toggle-up: "\f151"; +@fa-var-trademark: "\f25c"; +@fa-var-train: "\f238"; +@fa-var-transgender: "\f224"; +@fa-var-transgender-alt: "\f225"; +@fa-var-trash: "\f1f8"; +@fa-var-trash-o: "\f014"; +@fa-var-tree: "\f1bb"; +@fa-var-trello: "\f181"; +@fa-var-tripadvisor: "\f262"; +@fa-var-trophy: "\f091"; +@fa-var-truck: "\f0d1"; +@fa-var-try: "\f195"; +@fa-var-tty: "\f1e4"; +@fa-var-tumblr: "\f173"; +@fa-var-tumblr-square: "\f174"; +@fa-var-turkish-lira: "\f195"; +@fa-var-tv: "\f26c"; +@fa-var-twitch: "\f1e8"; +@fa-var-twitter: "\f099"; +@fa-var-twitter-square: "\f081"; +@fa-var-umbrella: "\f0e9"; +@fa-var-underline: "\f0cd"; +@fa-var-undo: "\f0e2"; +@fa-var-universal-access: "\f29a"; +@fa-var-university: "\f19c"; +@fa-var-unlink: "\f127"; +@fa-var-unlock: "\f09c"; +@fa-var-unlock-alt: "\f13e"; +@fa-var-unsorted: "\f0dc"; +@fa-var-upload: "\f093"; +@fa-var-usb: "\f287"; +@fa-var-usd: "\f155"; +@fa-var-user: "\f007"; +@fa-var-user-circle: "\f2bd"; +@fa-var-user-circle-o: "\f2be"; +@fa-var-user-md: "\f0f0"; +@fa-var-user-o: "\f2c0"; +@fa-var-user-plus: "\f234"; +@fa-var-user-secret: "\f21b"; +@fa-var-user-times: "\f235"; +@fa-var-users: "\f0c0"; +@fa-var-vcard: "\f2bb"; +@fa-var-vcard-o: "\f2bc"; +@fa-var-venus: "\f221"; +@fa-var-venus-double: "\f226"; +@fa-var-venus-mars: "\f228"; +@fa-var-viacoin: "\f237"; +@fa-var-viadeo: "\f2a9"; +@fa-var-viadeo-square: "\f2aa"; +@fa-var-video-camera: "\f03d"; +@fa-var-vimeo: "\f27d"; +@fa-var-vimeo-square: "\f194"; +@fa-var-vine: "\f1ca"; +@fa-var-vk: "\f189"; +@fa-var-volume-control-phone: "\f2a0"; +@fa-var-volume-down: "\f027"; +@fa-var-volume-off: "\f026"; +@fa-var-volume-up: "\f028"; +@fa-var-warning: "\f071"; +@fa-var-wechat: "\f1d7"; +@fa-var-weibo: "\f18a"; +@fa-var-weixin: "\f1d7"; +@fa-var-whatsapp: "\f232"; +@fa-var-wheelchair: "\f193"; +@fa-var-wheelchair-alt: "\f29b"; +@fa-var-wifi: "\f1eb"; +@fa-var-wikipedia-w: "\f266"; +@fa-var-window-close: "\f2d3"; +@fa-var-window-close-o: "\f2d4"; +@fa-var-window-maximize: "\f2d0"; +@fa-var-window-minimize: "\f2d1"; +@fa-var-window-restore: "\f2d2"; +@fa-var-windows: "\f17a"; +@fa-var-won: "\f159"; +@fa-var-wordpress: "\f19a"; +@fa-var-wpbeginner: "\f297"; +@fa-var-wpexplorer: "\f2de"; +@fa-var-wpforms: "\f298"; +@fa-var-wrench: "\f0ad"; +@fa-var-xing: "\f168"; +@fa-var-xing-square: "\f169"; +@fa-var-y-combinator: "\f23b"; +@fa-var-y-combinator-square: "\f1d4"; +@fa-var-yahoo: "\f19e"; +@fa-var-yc: "\f23b"; +@fa-var-yc-square: "\f1d4"; +@fa-var-yelp: "\f1e9"; +@fa-var-yen: "\f157"; +@fa-var-yoast: "\f2b1"; +@fa-var-youtube: "\f167"; +@fa-var-youtube-play: "\f16a"; +@fa-var-youtube-square: "\f166"; + diff --git a/source/lib/font-awesome@4.7.0/scss/_animated.scss b/source/lib/font-awesome@4.7.0/scss/_animated.scss new file mode 100644 index 0000000..8a020db --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/source/lib/font-awesome@4.7.0/scss/_bordered-pulled.scss b/source/lib/font-awesome@4.7.0/scss/_bordered-pulled.scss new file mode 100644 index 0000000..d4b85a0 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_bordered-pulled.scss @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/source/lib/font-awesome@4.7.0/scss/_core.scss b/source/lib/font-awesome@4.7.0/scss/_core.scss new file mode 100644 index 0000000..7425ef8 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_core.scss @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/source/lib/font-awesome@4.7.0/scss/_fixed-width.scss b/source/lib/font-awesome@4.7.0/scss/_fixed-width.scss new file mode 100644 index 0000000..b221c98 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/source/lib/font-awesome@4.7.0/scss/_icons.scss b/source/lib/font-awesome@4.7.0/scss/_icons.scss new file mode 100644 index 0000000..e63e702 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_icons.scss @@ -0,0 +1,789 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; } +.#{$fa-css-prefix}-music:before { content: $fa-var-music; } +.#{$fa-css-prefix}-search:before { content: $fa-var-search; } +.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; } +.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; } +.#{$fa-css-prefix}-star:before { content: $fa-var-star; } +.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; } +.#{$fa-css-prefix}-user:before { content: $fa-var-user; } +.#{$fa-css-prefix}-film:before { content: $fa-var-film; } +.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; } +.#{$fa-css-prefix}-th:before { content: $fa-var-th; } +.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; } +.#{$fa-css-prefix}-check:before { content: $fa-var-check; } +.#{$fa-css-prefix}-remove:before, +.#{$fa-css-prefix}-close:before, +.#{$fa-css-prefix}-times:before { content: $fa-var-times; } +.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; } +.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; } +.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; } +.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; } +.#{$fa-css-prefix}-gear:before, +.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; } +.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; } +.#{$fa-css-prefix}-home:before { content: $fa-var-home; } +.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; } +.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; } +.#{$fa-css-prefix}-road:before { content: $fa-var-road; } +.#{$fa-css-prefix}-download:before { content: $fa-var-download; } +.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; } +.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; } +.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; } +.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; } +.#{$fa-css-prefix}-rotate-right:before, +.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; } +.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; } +.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; } +.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; } +.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; } +.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; } +.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; } +.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; } +.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; } +.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; } +.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; } +.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; } +.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; } +.#{$fa-css-prefix}-book:before { content: $fa-var-book; } +.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; } +.#{$fa-css-prefix}-print:before { content: $fa-var-print; } +.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; } +.#{$fa-css-prefix}-font:before { content: $fa-var-font; } +.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; } +.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; } +.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; } +.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; } +.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; } +.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; } +.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; } +.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; } +.#{$fa-css-prefix}-list:before { content: $fa-var-list; } +.#{$fa-css-prefix}-dedent:before, +.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; } +.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; } +.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; } +.#{$fa-css-prefix}-photo:before, +.#{$fa-css-prefix}-image:before, +.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; } +.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; } +.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; } +.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; } +.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; } +.#{$fa-css-prefix}-edit:before, +.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; } +.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; } +.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; } +.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; } +.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; } +.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; } +.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; } +.#{$fa-css-prefix}-play:before { content: $fa-var-play; } +.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; } +.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; } +.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; } +.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; } +.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; } +.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; } +.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; } +.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; } +.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; } +.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; } +.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; } +.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; } +.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; } +.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; } +.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; } +.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; } +.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; } +.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; } +.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; } +.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; } +.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; } +.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; } +.#{$fa-css-prefix}-mail-forward:before, +.#{$fa-css-prefix}-share:before { content: $fa-var-share; } +.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; } +.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; } +.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; } +.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; } +.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; } +.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; } +.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; } +.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; } +.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; } +.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; } +.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; } +.#{$fa-css-prefix}-warning:before, +.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; } +.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; } +.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; } +.#{$fa-css-prefix}-random:before { content: $fa-var-random; } +.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; } +.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; } +.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; } +.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; } +.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; } +.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; } +.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; } +.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; } +.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; } +.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; } +.#{$fa-css-prefix}-bar-chart-o:before, +.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; } +.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; } +.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; } +.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; } +.#{$fa-css-prefix}-key:before { content: $fa-var-key; } +.#{$fa-css-prefix}-gears:before, +.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; } +.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; } +.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; } +.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; } +.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; } +.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; } +.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; } +.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; } +.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; } +.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; } +.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; } +.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; } +.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; } +.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; } +.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; } +.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; } +.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; } +.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } +.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } +.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } +.#{$fa-css-prefix}-facebook-f:before, +.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } +.#{$fa-css-prefix}-github:before { content: $fa-var-github; } +.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } +.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-feed:before, +.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } +.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } +.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } +.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; } +.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; } +.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; } +.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; } +.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; } +.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; } +.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; } +.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; } +.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; } +.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; } +.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; } +.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; } +.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; } +.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; } +.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; } +.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; } +.#{$fa-css-prefix}-group:before, +.#{$fa-css-prefix}-users:before { content: $fa-var-users; } +.#{$fa-css-prefix}-chain:before, +.#{$fa-css-prefix}-link:before { content: $fa-var-link; } +.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; } +.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; } +.#{$fa-css-prefix}-cut:before, +.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; } +.#{$fa-css-prefix}-copy:before, +.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; } +.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; } +.#{$fa-css-prefix}-save:before, +.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; } +.#{$fa-css-prefix}-square:before { content: $fa-var-square; } +.#{$fa-css-prefix}-navicon:before, +.#{$fa-css-prefix}-reorder:before, +.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; } +.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; } +.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; } +.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; } +.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; } +.#{$fa-css-prefix}-table:before { content: $fa-var-table; } +.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; } +.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; } +.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; } +.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; } +.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; } +.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; } +.#{$fa-css-prefix}-money:before { content: $fa-var-money; } +.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; } +.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; } +.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; } +.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; } +.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; } +.#{$fa-css-prefix}-unsorted:before, +.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; } +.#{$fa-css-prefix}-sort-down:before, +.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; } +.#{$fa-css-prefix}-sort-up:before, +.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; } +.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; } +.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; } +.#{$fa-css-prefix}-rotate-left:before, +.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; } +.#{$fa-css-prefix}-legal:before, +.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; } +.#{$fa-css-prefix}-dashboard:before, +.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; } +.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; } +.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; } +.#{$fa-css-prefix}-flash:before, +.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; } +.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; } +.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; } +.#{$fa-css-prefix}-paste:before, +.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; } +.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; } +.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; } +.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; } +.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; } +.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; } +.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; } +.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; } +.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; } +.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; } +.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; } +.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; } +.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; } +.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; } +.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; } +.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; } +.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; } +.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; } +.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; } +.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; } +.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; } +.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; } +.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; } +.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; } +.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; } +.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; } +.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; } +.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; } +.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; } +.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; } +.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; } +.#{$fa-css-prefix}-mobile-phone:before, +.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; } +.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; } +.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; } +.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; } +.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; } +.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; } +.#{$fa-css-prefix}-mail-reply:before, +.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; } +.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; } +.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; } +.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; } +.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; } +.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; } +.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; } +.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; } +.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; } +.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; } +.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; } +.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; } +.#{$fa-css-prefix}-code:before { content: $fa-var-code; } +.#{$fa-css-prefix}-mail-reply-all:before, +.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; } +.#{$fa-css-prefix}-star-half-empty:before, +.#{$fa-css-prefix}-star-half-full:before, +.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; } +.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; } +.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; } +.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; } +.#{$fa-css-prefix}-unlink:before, +.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; } +.#{$fa-css-prefix}-question:before { content: $fa-var-question; } +.#{$fa-css-prefix}-info:before { content: $fa-var-info; } +.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; } +.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; } +.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; } +.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; } +.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; } +.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; } +.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; } +.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; } +.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; } +.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; } +.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; } +.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; } +.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; } +.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; } +.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; } +.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; } +.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; } +.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; } +.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; } +.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; } +.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; } +.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; } +.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; } +.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; } +.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; } +.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; } +.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; } +.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; } +.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; } +.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; } +.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; } +.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; } +.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; } +.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; } +.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; } +.#{$fa-css-prefix}-toggle-down:before, +.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; } +.#{$fa-css-prefix}-toggle-up:before, +.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; } +.#{$fa-css-prefix}-toggle-right:before, +.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; } +.#{$fa-css-prefix}-euro:before, +.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; } +.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; } +.#{$fa-css-prefix}-dollar:before, +.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; } +.#{$fa-css-prefix}-rupee:before, +.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; } +.#{$fa-css-prefix}-cny:before, +.#{$fa-css-prefix}-rmb:before, +.#{$fa-css-prefix}-yen:before, +.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; } +.#{$fa-css-prefix}-ruble:before, +.#{$fa-css-prefix}-rouble:before, +.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; } +.#{$fa-css-prefix}-won:before, +.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; } +.#{$fa-css-prefix}-bitcoin:before, +.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; } +.#{$fa-css-prefix}-file:before { content: $fa-var-file; } +.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; } +.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; } +.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; } +.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; } +.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; } +.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; } +.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; } +.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; } +.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; } +.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; } +.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; } +.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; } +.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; } +.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; } +.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; } +.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; } +.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; } +.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; } +.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; } +.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; } +.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; } +.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; } +.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; } +.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; } +.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; } +.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; } +.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; } +.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; } +.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; } +.#{$fa-css-prefix}-android:before { content: $fa-var-android; } +.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; } +.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; } +.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; } +.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; } +.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } +.#{$fa-css-prefix}-female:before { content: $fa-var-female; } +.#{$fa-css-prefix}-male:before { content: $fa-var-male; } +.#{$fa-css-prefix}-gittip:before, +.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; } +.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } +.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } +.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } +.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; } +.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; } +.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; } +.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; } +.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; } +.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; } +.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; } +.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; } +.#{$fa-css-prefix}-toggle-left:before, +.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; } +.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; } +.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; } +.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; } +.#{$fa-css-prefix}-turkish-lira:before, +.#{$fa-css-prefix}-try:before { content: $fa-var-try; } +.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; } +.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; } +.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; } +.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; } +.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; } +.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; } +.#{$fa-css-prefix}-institution:before, +.#{$fa-css-prefix}-bank:before, +.#{$fa-css-prefix}-university:before { content: $fa-var-university; } +.#{$fa-css-prefix}-mortar-board:before, +.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; } +.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; } +.#{$fa-css-prefix}-google:before { content: $fa-var-google; } +.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; } +.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; } +.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } +.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } +.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } +.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; } +.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } +.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } +.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } +.#{$fa-css-prefix}-language:before { content: $fa-var-language; } +.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; } +.#{$fa-css-prefix}-building:before { content: $fa-var-building; } +.#{$fa-css-prefix}-child:before { content: $fa-var-child; } +.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; } +.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; } +.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; } +.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; } +.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; } +.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; } +.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; } +.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; } +.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; } +.#{$fa-css-prefix}-automobile:before, +.#{$fa-css-prefix}-car:before { content: $fa-var-car; } +.#{$fa-css-prefix}-cab:before, +.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; } +.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; } +.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; } +.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; } +.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; } +.#{$fa-css-prefix}-database:before { content: $fa-var-database; } +.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; } +.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; } +.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; } +.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; } +.#{$fa-css-prefix}-file-photo-o:before, +.#{$fa-css-prefix}-file-picture-o:before, +.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; } +.#{$fa-css-prefix}-file-zip-o:before, +.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; } +.#{$fa-css-prefix}-file-sound-o:before, +.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; } +.#{$fa-css-prefix}-file-movie-o:before, +.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; } +.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; } +.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; } +.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; } +.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; } +.#{$fa-css-prefix}-life-bouy:before, +.#{$fa-css-prefix}-life-buoy:before, +.#{$fa-css-prefix}-life-saver:before, +.#{$fa-css-prefix}-support:before, +.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } +.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } +.#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-resistance:before, +.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } +.#{$fa-css-prefix}-ge:before, +.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } +.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } +.#{$fa-css-prefix}-git:before { content: $fa-var-git; } +.#{$fa-css-prefix}-y-combinator-square:before, +.#{$fa-css-prefix}-yc-square:before, +.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } +.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } +.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } +.#{$fa-css-prefix}-wechat:before, +.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; } +.#{$fa-css-prefix}-send:before, +.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; } +.#{$fa-css-prefix}-send-o:before, +.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; } +.#{$fa-css-prefix}-history:before { content: $fa-var-history; } +.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; } +.#{$fa-css-prefix}-header:before { content: $fa-var-header; } +.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; } +.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; } +.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; } +.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; } +.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; } +.#{$fa-css-prefix}-soccer-ball-o:before, +.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; } +.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; } +.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; } +.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; } +.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; } +.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; } +.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; } +.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; } +.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; } +.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; } +.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; } +.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; } +.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; } +.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; } +.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; } +.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; } +.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; } +.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; } +.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; } +.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; } +.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; } +.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; } +.#{$fa-css-prefix}-at:before { content: $fa-var-at; } +.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; } +.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; } +.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; } +.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; } +.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; } +.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; } +.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; } +.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; } +.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; } +.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; } +.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; } +.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; } +.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; } +.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; } +.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; } +.#{$fa-css-prefix}-shekel:before, +.#{$fa-css-prefix}-sheqel:before, +.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; } +.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; } +.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; } +.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; } +.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; } +.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; } +.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; } +.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; } +.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; } +.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; } +.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; } +.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; } +.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; } +.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; } +.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; } +.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; } +.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; } +.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; } +.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; } +.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } +.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } +.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } +.#{$fa-css-prefix}-intersex:before, +.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } +.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } +.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } +.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; } +.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; } +.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; } +.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } +.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } +.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } +.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; } +.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } +.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } +.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } +.#{$fa-css-prefix}-server:before { content: $fa-var-server; } +.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; } +.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; } +.#{$fa-css-prefix}-hotel:before, +.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; } +.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; } +.#{$fa-css-prefix}-train:before { content: $fa-var-train; } +.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } +.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } +.#{$fa-css-prefix}-yc:before, +.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; } +.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; } +.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; } +.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; } +.#{$fa-css-prefix}-battery-4:before, +.#{$fa-css-prefix}-battery:before, +.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; } +.#{$fa-css-prefix}-battery-3:before, +.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; } +.#{$fa-css-prefix}-battery-2:before, +.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; } +.#{$fa-css-prefix}-battery-1:before, +.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; } +.#{$fa-css-prefix}-battery-0:before, +.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; } +.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; } +.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; } +.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; } +.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; } +.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; } +.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; } +.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; } +.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; } +.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; } +.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; } +.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; } +.#{$fa-css-prefix}-hourglass-1:before, +.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; } +.#{$fa-css-prefix}-hourglass-2:before, +.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; } +.#{$fa-css-prefix}-hourglass-3:before, +.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; } +.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; } +.#{$fa-css-prefix}-hand-grab-o:before, +.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; } +.#{$fa-css-prefix}-hand-stop-o:before, +.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; } +.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; } +.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; } +.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; } +.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; } +.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; } +.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; } +.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; } +.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; } +.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; } +.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; } +.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; } +.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; } +.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; } +.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; } +.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; } +.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; } +.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; } +.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; } +.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; } +.#{$fa-css-prefix}-tv:before, +.#{$fa-css-prefix}-television:before { content: $fa-var-television; } +.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; } +.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; } +.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; } +.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; } +.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; } +.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; } +.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; } +.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; } +.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; } +.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; } +.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; } +.#{$fa-css-prefix}-map:before { content: $fa-var-map; } +.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; } +.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; } +.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; } +.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; } +.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; } +.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; } +.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; } +.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; } +.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; } +.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; } +.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; } +.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; } +.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; } +.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; } +.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; } +.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; } +.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; } +.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; } +.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; } +.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; } +.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; } +.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; } +.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; } +.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; } +.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; } +.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; } +.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; } +.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; } +.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; } +.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; } +.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; } +.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; } +.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; } +.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; } +.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; } +.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; } +.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; } +.#{$fa-css-prefix}-asl-interpreting:before, +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; } +.#{$fa-css-prefix}-deafness:before, +.#{$fa-css-prefix}-hard-of-hearing:before, +.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; } +.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; } +.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; } +.#{$fa-css-prefix}-signing:before, +.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; } +.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; } +.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; } +.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; } +.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; } +.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; } +.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; } +.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; } +.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; } +.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; } +.#{$fa-css-prefix}-google-plus-circle:before, +.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; } +.#{$fa-css-prefix}-fa:before, +.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; } +.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; } +.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; } +.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; } +.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; } +.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; } +.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; } +.#{$fa-css-prefix}-vcard:before, +.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; } +.#{$fa-css-prefix}-vcard-o:before, +.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; } +.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; } +.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; } +.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; } +.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; } +.#{$fa-css-prefix}-drivers-license:before, +.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; } +.#{$fa-css-prefix}-drivers-license-o:before, +.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; } +.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; } +.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; } +.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; } +.#{$fa-css-prefix}-thermometer-4:before, +.#{$fa-css-prefix}-thermometer:before, +.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; } +.#{$fa-css-prefix}-thermometer-3:before, +.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; } +.#{$fa-css-prefix}-thermometer-2:before, +.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; } +.#{$fa-css-prefix}-thermometer-1:before, +.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; } +.#{$fa-css-prefix}-thermometer-0:before, +.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; } +.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; } +.#{$fa-css-prefix}-bathtub:before, +.#{$fa-css-prefix}-s15:before, +.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; } +.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; } +.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; } +.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; } +.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; } +.#{$fa-css-prefix}-times-rectangle:before, +.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; } +.#{$fa-css-prefix}-times-rectangle-o:before, +.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; } +.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; } +.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; } +.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; } +.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; } +.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; } +.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; } +.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; } +.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; } +.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; } +.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; } +.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; } diff --git a/source/lib/font-awesome@4.7.0/scss/_larger.scss b/source/lib/font-awesome@4.7.0/scss/_larger.scss new file mode 100644 index 0000000..41e9a81 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/source/lib/font-awesome@4.7.0/scss/_list.scss b/source/lib/font-awesome@4.7.0/scss/_list.scss new file mode 100644 index 0000000..7d1e4d5 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/source/lib/font-awesome@4.7.0/scss/_mixins.scss b/source/lib/font-awesome@4.7.0/scss/_mixins.scss new file mode 100644 index 0000000..c3bbd57 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_mixins.scss @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/source/lib/font-awesome@4.7.0/scss/_path.scss b/source/lib/font-awesome@4.7.0/scss/_path.scss new file mode 100644 index 0000000..bb457c2 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_path.scss @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/source/lib/font-awesome@4.7.0/scss/_rotated-flipped.scss b/source/lib/font-awesome@4.7.0/scss/_rotated-flipped.scss new file mode 100644 index 0000000..a3558fd --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_rotated-flipped.scss @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/source/lib/font-awesome@4.7.0/scss/_screen-reader.scss b/source/lib/font-awesome@4.7.0/scss/_screen-reader.scss new file mode 100644 index 0000000..637426f --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/source/lib/font-awesome@4.7.0/scss/_stacked.scss b/source/lib/font-awesome@4.7.0/scss/_stacked.scss new file mode 100644 index 0000000..aef7403 --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/source/lib/font-awesome@4.7.0/scss/_variables.scss b/source/lib/font-awesome@4.7.0/scss/_variables.scss new file mode 100644 index 0000000..498fc4a --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/_variables.scss @@ -0,0 +1,800 @@ +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +$fa-font-size-base: 14px !default; +$fa-line-height-base: 1 !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-css-prefix: fa !default; +$fa-version: "4.7.0" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +$fa-var-500px: "\f26e"; +$fa-var-address-book: "\f2b9"; +$fa-var-address-book-o: "\f2ba"; +$fa-var-address-card: "\f2bb"; +$fa-var-address-card-o: "\f2bc"; +$fa-var-adjust: "\f042"; +$fa-var-adn: "\f170"; +$fa-var-align-center: "\f037"; +$fa-var-align-justify: "\f039"; +$fa-var-align-left: "\f036"; +$fa-var-align-right: "\f038"; +$fa-var-amazon: "\f270"; +$fa-var-ambulance: "\f0f9"; +$fa-var-american-sign-language-interpreting: "\f2a3"; +$fa-var-anchor: "\f13d"; +$fa-var-android: "\f17b"; +$fa-var-angellist: "\f209"; +$fa-var-angle-double-down: "\f103"; +$fa-var-angle-double-left: "\f100"; +$fa-var-angle-double-right: "\f101"; +$fa-var-angle-double-up: "\f102"; +$fa-var-angle-down: "\f107"; +$fa-var-angle-left: "\f104"; +$fa-var-angle-right: "\f105"; +$fa-var-angle-up: "\f106"; +$fa-var-apple: "\f179"; +$fa-var-archive: "\f187"; +$fa-var-area-chart: "\f1fe"; +$fa-var-arrow-circle-down: "\f0ab"; +$fa-var-arrow-circle-left: "\f0a8"; +$fa-var-arrow-circle-o-down: "\f01a"; +$fa-var-arrow-circle-o-left: "\f190"; +$fa-var-arrow-circle-o-right: "\f18e"; +$fa-var-arrow-circle-o-up: "\f01b"; +$fa-var-arrow-circle-right: "\f0a9"; +$fa-var-arrow-circle-up: "\f0aa"; +$fa-var-arrow-down: "\f063"; +$fa-var-arrow-left: "\f060"; +$fa-var-arrow-right: "\f061"; +$fa-var-arrow-up: "\f062"; +$fa-var-arrows: "\f047"; +$fa-var-arrows-alt: "\f0b2"; +$fa-var-arrows-h: "\f07e"; +$fa-var-arrows-v: "\f07d"; +$fa-var-asl-interpreting: "\f2a3"; +$fa-var-assistive-listening-systems: "\f2a2"; +$fa-var-asterisk: "\f069"; +$fa-var-at: "\f1fa"; +$fa-var-audio-description: "\f29e"; +$fa-var-automobile: "\f1b9"; +$fa-var-backward: "\f04a"; +$fa-var-balance-scale: "\f24e"; +$fa-var-ban: "\f05e"; +$fa-var-bandcamp: "\f2d5"; +$fa-var-bank: "\f19c"; +$fa-var-bar-chart: "\f080"; +$fa-var-bar-chart-o: "\f080"; +$fa-var-barcode: "\f02a"; +$fa-var-bars: "\f0c9"; +$fa-var-bath: "\f2cd"; +$fa-var-bathtub: "\f2cd"; +$fa-var-battery: "\f240"; +$fa-var-battery-0: "\f244"; +$fa-var-battery-1: "\f243"; +$fa-var-battery-2: "\f242"; +$fa-var-battery-3: "\f241"; +$fa-var-battery-4: "\f240"; +$fa-var-battery-empty: "\f244"; +$fa-var-battery-full: "\f240"; +$fa-var-battery-half: "\f242"; +$fa-var-battery-quarter: "\f243"; +$fa-var-battery-three-quarters: "\f241"; +$fa-var-bed: "\f236"; +$fa-var-beer: "\f0fc"; +$fa-var-behance: "\f1b4"; +$fa-var-behance-square: "\f1b5"; +$fa-var-bell: "\f0f3"; +$fa-var-bell-o: "\f0a2"; +$fa-var-bell-slash: "\f1f6"; +$fa-var-bell-slash-o: "\f1f7"; +$fa-var-bicycle: "\f206"; +$fa-var-binoculars: "\f1e5"; +$fa-var-birthday-cake: "\f1fd"; +$fa-var-bitbucket: "\f171"; +$fa-var-bitbucket-square: "\f172"; +$fa-var-bitcoin: "\f15a"; +$fa-var-black-tie: "\f27e"; +$fa-var-blind: "\f29d"; +$fa-var-bluetooth: "\f293"; +$fa-var-bluetooth-b: "\f294"; +$fa-var-bold: "\f032"; +$fa-var-bolt: "\f0e7"; +$fa-var-bomb: "\f1e2"; +$fa-var-book: "\f02d"; +$fa-var-bookmark: "\f02e"; +$fa-var-bookmark-o: "\f097"; +$fa-var-braille: "\f2a1"; +$fa-var-briefcase: "\f0b1"; +$fa-var-btc: "\f15a"; +$fa-var-bug: "\f188"; +$fa-var-building: "\f1ad"; +$fa-var-building-o: "\f0f7"; +$fa-var-bullhorn: "\f0a1"; +$fa-var-bullseye: "\f140"; +$fa-var-bus: "\f207"; +$fa-var-buysellads: "\f20d"; +$fa-var-cab: "\f1ba"; +$fa-var-calculator: "\f1ec"; +$fa-var-calendar: "\f073"; +$fa-var-calendar-check-o: "\f274"; +$fa-var-calendar-minus-o: "\f272"; +$fa-var-calendar-o: "\f133"; +$fa-var-calendar-plus-o: "\f271"; +$fa-var-calendar-times-o: "\f273"; +$fa-var-camera: "\f030"; +$fa-var-camera-retro: "\f083"; +$fa-var-car: "\f1b9"; +$fa-var-caret-down: "\f0d7"; +$fa-var-caret-left: "\f0d9"; +$fa-var-caret-right: "\f0da"; +$fa-var-caret-square-o-down: "\f150"; +$fa-var-caret-square-o-left: "\f191"; +$fa-var-caret-square-o-right: "\f152"; +$fa-var-caret-square-o-up: "\f151"; +$fa-var-caret-up: "\f0d8"; +$fa-var-cart-arrow-down: "\f218"; +$fa-var-cart-plus: "\f217"; +$fa-var-cc: "\f20a"; +$fa-var-cc-amex: "\f1f3"; +$fa-var-cc-diners-club: "\f24c"; +$fa-var-cc-discover: "\f1f2"; +$fa-var-cc-jcb: "\f24b"; +$fa-var-cc-mastercard: "\f1f1"; +$fa-var-cc-paypal: "\f1f4"; +$fa-var-cc-stripe: "\f1f5"; +$fa-var-cc-visa: "\f1f0"; +$fa-var-certificate: "\f0a3"; +$fa-var-chain: "\f0c1"; +$fa-var-chain-broken: "\f127"; +$fa-var-check: "\f00c"; +$fa-var-check-circle: "\f058"; +$fa-var-check-circle-o: "\f05d"; +$fa-var-check-square: "\f14a"; +$fa-var-check-square-o: "\f046"; +$fa-var-chevron-circle-down: "\f13a"; +$fa-var-chevron-circle-left: "\f137"; +$fa-var-chevron-circle-right: "\f138"; +$fa-var-chevron-circle-up: "\f139"; +$fa-var-chevron-down: "\f078"; +$fa-var-chevron-left: "\f053"; +$fa-var-chevron-right: "\f054"; +$fa-var-chevron-up: "\f077"; +$fa-var-child: "\f1ae"; +$fa-var-chrome: "\f268"; +$fa-var-circle: "\f111"; +$fa-var-circle-o: "\f10c"; +$fa-var-circle-o-notch: "\f1ce"; +$fa-var-circle-thin: "\f1db"; +$fa-var-clipboard: "\f0ea"; +$fa-var-clock-o: "\f017"; +$fa-var-clone: "\f24d"; +$fa-var-close: "\f00d"; +$fa-var-cloud: "\f0c2"; +$fa-var-cloud-download: "\f0ed"; +$fa-var-cloud-upload: "\f0ee"; +$fa-var-cny: "\f157"; +$fa-var-code: "\f121"; +$fa-var-code-fork: "\f126"; +$fa-var-codepen: "\f1cb"; +$fa-var-codiepie: "\f284"; +$fa-var-coffee: "\f0f4"; +$fa-var-cog: "\f013"; +$fa-var-cogs: "\f085"; +$fa-var-columns: "\f0db"; +$fa-var-comment: "\f075"; +$fa-var-comment-o: "\f0e5"; +$fa-var-commenting: "\f27a"; +$fa-var-commenting-o: "\f27b"; +$fa-var-comments: "\f086"; +$fa-var-comments-o: "\f0e6"; +$fa-var-compass: "\f14e"; +$fa-var-compress: "\f066"; +$fa-var-connectdevelop: "\f20e"; +$fa-var-contao: "\f26d"; +$fa-var-copy: "\f0c5"; +$fa-var-copyright: "\f1f9"; +$fa-var-creative-commons: "\f25e"; +$fa-var-credit-card: "\f09d"; +$fa-var-credit-card-alt: "\f283"; +$fa-var-crop: "\f125"; +$fa-var-crosshairs: "\f05b"; +$fa-var-css3: "\f13c"; +$fa-var-cube: "\f1b2"; +$fa-var-cubes: "\f1b3"; +$fa-var-cut: "\f0c4"; +$fa-var-cutlery: "\f0f5"; +$fa-var-dashboard: "\f0e4"; +$fa-var-dashcube: "\f210"; +$fa-var-database: "\f1c0"; +$fa-var-deaf: "\f2a4"; +$fa-var-deafness: "\f2a4"; +$fa-var-dedent: "\f03b"; +$fa-var-delicious: "\f1a5"; +$fa-var-desktop: "\f108"; +$fa-var-deviantart: "\f1bd"; +$fa-var-diamond: "\f219"; +$fa-var-digg: "\f1a6"; +$fa-var-dollar: "\f155"; +$fa-var-dot-circle-o: "\f192"; +$fa-var-download: "\f019"; +$fa-var-dribbble: "\f17d"; +$fa-var-drivers-license: "\f2c2"; +$fa-var-drivers-license-o: "\f2c3"; +$fa-var-dropbox: "\f16b"; +$fa-var-drupal: "\f1a9"; +$fa-var-edge: "\f282"; +$fa-var-edit: "\f044"; +$fa-var-eercast: "\f2da"; +$fa-var-eject: "\f052"; +$fa-var-ellipsis-h: "\f141"; +$fa-var-ellipsis-v: "\f142"; +$fa-var-empire: "\f1d1"; +$fa-var-envelope: "\f0e0"; +$fa-var-envelope-o: "\f003"; +$fa-var-envelope-open: "\f2b6"; +$fa-var-envelope-open-o: "\f2b7"; +$fa-var-envelope-square: "\f199"; +$fa-var-envira: "\f299"; +$fa-var-eraser: "\f12d"; +$fa-var-etsy: "\f2d7"; +$fa-var-eur: "\f153"; +$fa-var-euro: "\f153"; +$fa-var-exchange: "\f0ec"; +$fa-var-exclamation: "\f12a"; +$fa-var-exclamation-circle: "\f06a"; +$fa-var-exclamation-triangle: "\f071"; +$fa-var-expand: "\f065"; +$fa-var-expeditedssl: "\f23e"; +$fa-var-external-link: "\f08e"; +$fa-var-external-link-square: "\f14c"; +$fa-var-eye: "\f06e"; +$fa-var-eye-slash: "\f070"; +$fa-var-eyedropper: "\f1fb"; +$fa-var-fa: "\f2b4"; +$fa-var-facebook: "\f09a"; +$fa-var-facebook-f: "\f09a"; +$fa-var-facebook-official: "\f230"; +$fa-var-facebook-square: "\f082"; +$fa-var-fast-backward: "\f049"; +$fa-var-fast-forward: "\f050"; +$fa-var-fax: "\f1ac"; +$fa-var-feed: "\f09e"; +$fa-var-female: "\f182"; +$fa-var-fighter-jet: "\f0fb"; +$fa-var-file: "\f15b"; +$fa-var-file-archive-o: "\f1c6"; +$fa-var-file-audio-o: "\f1c7"; +$fa-var-file-code-o: "\f1c9"; +$fa-var-file-excel-o: "\f1c3"; +$fa-var-file-image-o: "\f1c5"; +$fa-var-file-movie-o: "\f1c8"; +$fa-var-file-o: "\f016"; +$fa-var-file-pdf-o: "\f1c1"; +$fa-var-file-photo-o: "\f1c5"; +$fa-var-file-picture-o: "\f1c5"; +$fa-var-file-powerpoint-o: "\f1c4"; +$fa-var-file-sound-o: "\f1c7"; +$fa-var-file-text: "\f15c"; +$fa-var-file-text-o: "\f0f6"; +$fa-var-file-video-o: "\f1c8"; +$fa-var-file-word-o: "\f1c2"; +$fa-var-file-zip-o: "\f1c6"; +$fa-var-files-o: "\f0c5"; +$fa-var-film: "\f008"; +$fa-var-filter: "\f0b0"; +$fa-var-fire: "\f06d"; +$fa-var-fire-extinguisher: "\f134"; +$fa-var-firefox: "\f269"; +$fa-var-first-order: "\f2b0"; +$fa-var-flag: "\f024"; +$fa-var-flag-checkered: "\f11e"; +$fa-var-flag-o: "\f11d"; +$fa-var-flash: "\f0e7"; +$fa-var-flask: "\f0c3"; +$fa-var-flickr: "\f16e"; +$fa-var-floppy-o: "\f0c7"; +$fa-var-folder: "\f07b"; +$fa-var-folder-o: "\f114"; +$fa-var-folder-open: "\f07c"; +$fa-var-folder-open-o: "\f115"; +$fa-var-font: "\f031"; +$fa-var-font-awesome: "\f2b4"; +$fa-var-fonticons: "\f280"; +$fa-var-fort-awesome: "\f286"; +$fa-var-forumbee: "\f211"; +$fa-var-forward: "\f04e"; +$fa-var-foursquare: "\f180"; +$fa-var-free-code-camp: "\f2c5"; +$fa-var-frown-o: "\f119"; +$fa-var-futbol-o: "\f1e3"; +$fa-var-gamepad: "\f11b"; +$fa-var-gavel: "\f0e3"; +$fa-var-gbp: "\f154"; +$fa-var-ge: "\f1d1"; +$fa-var-gear: "\f013"; +$fa-var-gears: "\f085"; +$fa-var-genderless: "\f22d"; +$fa-var-get-pocket: "\f265"; +$fa-var-gg: "\f260"; +$fa-var-gg-circle: "\f261"; +$fa-var-gift: "\f06b"; +$fa-var-git: "\f1d3"; +$fa-var-git-square: "\f1d2"; +$fa-var-github: "\f09b"; +$fa-var-github-alt: "\f113"; +$fa-var-github-square: "\f092"; +$fa-var-gitlab: "\f296"; +$fa-var-gittip: "\f184"; +$fa-var-glass: "\f000"; +$fa-var-glide: "\f2a5"; +$fa-var-glide-g: "\f2a6"; +$fa-var-globe: "\f0ac"; +$fa-var-google: "\f1a0"; +$fa-var-google-plus: "\f0d5"; +$fa-var-google-plus-circle: "\f2b3"; +$fa-var-google-plus-official: "\f2b3"; +$fa-var-google-plus-square: "\f0d4"; +$fa-var-google-wallet: "\f1ee"; +$fa-var-graduation-cap: "\f19d"; +$fa-var-gratipay: "\f184"; +$fa-var-grav: "\f2d6"; +$fa-var-group: "\f0c0"; +$fa-var-h-square: "\f0fd"; +$fa-var-hacker-news: "\f1d4"; +$fa-var-hand-grab-o: "\f255"; +$fa-var-hand-lizard-o: "\f258"; +$fa-var-hand-o-down: "\f0a7"; +$fa-var-hand-o-left: "\f0a5"; +$fa-var-hand-o-right: "\f0a4"; +$fa-var-hand-o-up: "\f0a6"; +$fa-var-hand-paper-o: "\f256"; +$fa-var-hand-peace-o: "\f25b"; +$fa-var-hand-pointer-o: "\f25a"; +$fa-var-hand-rock-o: "\f255"; +$fa-var-hand-scissors-o: "\f257"; +$fa-var-hand-spock-o: "\f259"; +$fa-var-hand-stop-o: "\f256"; +$fa-var-handshake-o: "\f2b5"; +$fa-var-hard-of-hearing: "\f2a4"; +$fa-var-hashtag: "\f292"; +$fa-var-hdd-o: "\f0a0"; +$fa-var-header: "\f1dc"; +$fa-var-headphones: "\f025"; +$fa-var-heart: "\f004"; +$fa-var-heart-o: "\f08a"; +$fa-var-heartbeat: "\f21e"; +$fa-var-history: "\f1da"; +$fa-var-home: "\f015"; +$fa-var-hospital-o: "\f0f8"; +$fa-var-hotel: "\f236"; +$fa-var-hourglass: "\f254"; +$fa-var-hourglass-1: "\f251"; +$fa-var-hourglass-2: "\f252"; +$fa-var-hourglass-3: "\f253"; +$fa-var-hourglass-end: "\f253"; +$fa-var-hourglass-half: "\f252"; +$fa-var-hourglass-o: "\f250"; +$fa-var-hourglass-start: "\f251"; +$fa-var-houzz: "\f27c"; +$fa-var-html5: "\f13b"; +$fa-var-i-cursor: "\f246"; +$fa-var-id-badge: "\f2c1"; +$fa-var-id-card: "\f2c2"; +$fa-var-id-card-o: "\f2c3"; +$fa-var-ils: "\f20b"; +$fa-var-image: "\f03e"; +$fa-var-imdb: "\f2d8"; +$fa-var-inbox: "\f01c"; +$fa-var-indent: "\f03c"; +$fa-var-industry: "\f275"; +$fa-var-info: "\f129"; +$fa-var-info-circle: "\f05a"; +$fa-var-inr: "\f156"; +$fa-var-instagram: "\f16d"; +$fa-var-institution: "\f19c"; +$fa-var-internet-explorer: "\f26b"; +$fa-var-intersex: "\f224"; +$fa-var-ioxhost: "\f208"; +$fa-var-italic: "\f033"; +$fa-var-joomla: "\f1aa"; +$fa-var-jpy: "\f157"; +$fa-var-jsfiddle: "\f1cc"; +$fa-var-key: "\f084"; +$fa-var-keyboard-o: "\f11c"; +$fa-var-krw: "\f159"; +$fa-var-language: "\f1ab"; +$fa-var-laptop: "\f109"; +$fa-var-lastfm: "\f202"; +$fa-var-lastfm-square: "\f203"; +$fa-var-leaf: "\f06c"; +$fa-var-leanpub: "\f212"; +$fa-var-legal: "\f0e3"; +$fa-var-lemon-o: "\f094"; +$fa-var-level-down: "\f149"; +$fa-var-level-up: "\f148"; +$fa-var-life-bouy: "\f1cd"; +$fa-var-life-buoy: "\f1cd"; +$fa-var-life-ring: "\f1cd"; +$fa-var-life-saver: "\f1cd"; +$fa-var-lightbulb-o: "\f0eb"; +$fa-var-line-chart: "\f201"; +$fa-var-link: "\f0c1"; +$fa-var-linkedin: "\f0e1"; +$fa-var-linkedin-square: "\f08c"; +$fa-var-linode: "\f2b8"; +$fa-var-linux: "\f17c"; +$fa-var-list: "\f03a"; +$fa-var-list-alt: "\f022"; +$fa-var-list-ol: "\f0cb"; +$fa-var-list-ul: "\f0ca"; +$fa-var-location-arrow: "\f124"; +$fa-var-lock: "\f023"; +$fa-var-long-arrow-down: "\f175"; +$fa-var-long-arrow-left: "\f177"; +$fa-var-long-arrow-right: "\f178"; +$fa-var-long-arrow-up: "\f176"; +$fa-var-low-vision: "\f2a8"; +$fa-var-magic: "\f0d0"; +$fa-var-magnet: "\f076"; +$fa-var-mail-forward: "\f064"; +$fa-var-mail-reply: "\f112"; +$fa-var-mail-reply-all: "\f122"; +$fa-var-male: "\f183"; +$fa-var-map: "\f279"; +$fa-var-map-marker: "\f041"; +$fa-var-map-o: "\f278"; +$fa-var-map-pin: "\f276"; +$fa-var-map-signs: "\f277"; +$fa-var-mars: "\f222"; +$fa-var-mars-double: "\f227"; +$fa-var-mars-stroke: "\f229"; +$fa-var-mars-stroke-h: "\f22b"; +$fa-var-mars-stroke-v: "\f22a"; +$fa-var-maxcdn: "\f136"; +$fa-var-meanpath: "\f20c"; +$fa-var-medium: "\f23a"; +$fa-var-medkit: "\f0fa"; +$fa-var-meetup: "\f2e0"; +$fa-var-meh-o: "\f11a"; +$fa-var-mercury: "\f223"; +$fa-var-microchip: "\f2db"; +$fa-var-microphone: "\f130"; +$fa-var-microphone-slash: "\f131"; +$fa-var-minus: "\f068"; +$fa-var-minus-circle: "\f056"; +$fa-var-minus-square: "\f146"; +$fa-var-minus-square-o: "\f147"; +$fa-var-mixcloud: "\f289"; +$fa-var-mobile: "\f10b"; +$fa-var-mobile-phone: "\f10b"; +$fa-var-modx: "\f285"; +$fa-var-money: "\f0d6"; +$fa-var-moon-o: "\f186"; +$fa-var-mortar-board: "\f19d"; +$fa-var-motorcycle: "\f21c"; +$fa-var-mouse-pointer: "\f245"; +$fa-var-music: "\f001"; +$fa-var-navicon: "\f0c9"; +$fa-var-neuter: "\f22c"; +$fa-var-newspaper-o: "\f1ea"; +$fa-var-object-group: "\f247"; +$fa-var-object-ungroup: "\f248"; +$fa-var-odnoklassniki: "\f263"; +$fa-var-odnoklassniki-square: "\f264"; +$fa-var-opencart: "\f23d"; +$fa-var-openid: "\f19b"; +$fa-var-opera: "\f26a"; +$fa-var-optin-monster: "\f23c"; +$fa-var-outdent: "\f03b"; +$fa-var-pagelines: "\f18c"; +$fa-var-paint-brush: "\f1fc"; +$fa-var-paper-plane: "\f1d8"; +$fa-var-paper-plane-o: "\f1d9"; +$fa-var-paperclip: "\f0c6"; +$fa-var-paragraph: "\f1dd"; +$fa-var-paste: "\f0ea"; +$fa-var-pause: "\f04c"; +$fa-var-pause-circle: "\f28b"; +$fa-var-pause-circle-o: "\f28c"; +$fa-var-paw: "\f1b0"; +$fa-var-paypal: "\f1ed"; +$fa-var-pencil: "\f040"; +$fa-var-pencil-square: "\f14b"; +$fa-var-pencil-square-o: "\f044"; +$fa-var-percent: "\f295"; +$fa-var-phone: "\f095"; +$fa-var-phone-square: "\f098"; +$fa-var-photo: "\f03e"; +$fa-var-picture-o: "\f03e"; +$fa-var-pie-chart: "\f200"; +$fa-var-pied-piper: "\f2ae"; +$fa-var-pied-piper-alt: "\f1a8"; +$fa-var-pied-piper-pp: "\f1a7"; +$fa-var-pinterest: "\f0d2"; +$fa-var-pinterest-p: "\f231"; +$fa-var-pinterest-square: "\f0d3"; +$fa-var-plane: "\f072"; +$fa-var-play: "\f04b"; +$fa-var-play-circle: "\f144"; +$fa-var-play-circle-o: "\f01d"; +$fa-var-plug: "\f1e6"; +$fa-var-plus: "\f067"; +$fa-var-plus-circle: "\f055"; +$fa-var-plus-square: "\f0fe"; +$fa-var-plus-square-o: "\f196"; +$fa-var-podcast: "\f2ce"; +$fa-var-power-off: "\f011"; +$fa-var-print: "\f02f"; +$fa-var-product-hunt: "\f288"; +$fa-var-puzzle-piece: "\f12e"; +$fa-var-qq: "\f1d6"; +$fa-var-qrcode: "\f029"; +$fa-var-question: "\f128"; +$fa-var-question-circle: "\f059"; +$fa-var-question-circle-o: "\f29c"; +$fa-var-quora: "\f2c4"; +$fa-var-quote-left: "\f10d"; +$fa-var-quote-right: "\f10e"; +$fa-var-ra: "\f1d0"; +$fa-var-random: "\f074"; +$fa-var-ravelry: "\f2d9"; +$fa-var-rebel: "\f1d0"; +$fa-var-recycle: "\f1b8"; +$fa-var-reddit: "\f1a1"; +$fa-var-reddit-alien: "\f281"; +$fa-var-reddit-square: "\f1a2"; +$fa-var-refresh: "\f021"; +$fa-var-registered: "\f25d"; +$fa-var-remove: "\f00d"; +$fa-var-renren: "\f18b"; +$fa-var-reorder: "\f0c9"; +$fa-var-repeat: "\f01e"; +$fa-var-reply: "\f112"; +$fa-var-reply-all: "\f122"; +$fa-var-resistance: "\f1d0"; +$fa-var-retweet: "\f079"; +$fa-var-rmb: "\f157"; +$fa-var-road: "\f018"; +$fa-var-rocket: "\f135"; +$fa-var-rotate-left: "\f0e2"; +$fa-var-rotate-right: "\f01e"; +$fa-var-rouble: "\f158"; +$fa-var-rss: "\f09e"; +$fa-var-rss-square: "\f143"; +$fa-var-rub: "\f158"; +$fa-var-ruble: "\f158"; +$fa-var-rupee: "\f156"; +$fa-var-s15: "\f2cd"; +$fa-var-safari: "\f267"; +$fa-var-save: "\f0c7"; +$fa-var-scissors: "\f0c4"; +$fa-var-scribd: "\f28a"; +$fa-var-search: "\f002"; +$fa-var-search-minus: "\f010"; +$fa-var-search-plus: "\f00e"; +$fa-var-sellsy: "\f213"; +$fa-var-send: "\f1d8"; +$fa-var-send-o: "\f1d9"; +$fa-var-server: "\f233"; +$fa-var-share: "\f064"; +$fa-var-share-alt: "\f1e0"; +$fa-var-share-alt-square: "\f1e1"; +$fa-var-share-square: "\f14d"; +$fa-var-share-square-o: "\f045"; +$fa-var-shekel: "\f20b"; +$fa-var-sheqel: "\f20b"; +$fa-var-shield: "\f132"; +$fa-var-ship: "\f21a"; +$fa-var-shirtsinbulk: "\f214"; +$fa-var-shopping-bag: "\f290"; +$fa-var-shopping-basket: "\f291"; +$fa-var-shopping-cart: "\f07a"; +$fa-var-shower: "\f2cc"; +$fa-var-sign-in: "\f090"; +$fa-var-sign-language: "\f2a7"; +$fa-var-sign-out: "\f08b"; +$fa-var-signal: "\f012"; +$fa-var-signing: "\f2a7"; +$fa-var-simplybuilt: "\f215"; +$fa-var-sitemap: "\f0e8"; +$fa-var-skyatlas: "\f216"; +$fa-var-skype: "\f17e"; +$fa-var-slack: "\f198"; +$fa-var-sliders: "\f1de"; +$fa-var-slideshare: "\f1e7"; +$fa-var-smile-o: "\f118"; +$fa-var-snapchat: "\f2ab"; +$fa-var-snapchat-ghost: "\f2ac"; +$fa-var-snapchat-square: "\f2ad"; +$fa-var-snowflake-o: "\f2dc"; +$fa-var-soccer-ball-o: "\f1e3"; +$fa-var-sort: "\f0dc"; +$fa-var-sort-alpha-asc: "\f15d"; +$fa-var-sort-alpha-desc: "\f15e"; +$fa-var-sort-amount-asc: "\f160"; +$fa-var-sort-amount-desc: "\f161"; +$fa-var-sort-asc: "\f0de"; +$fa-var-sort-desc: "\f0dd"; +$fa-var-sort-down: "\f0dd"; +$fa-var-sort-numeric-asc: "\f162"; +$fa-var-sort-numeric-desc: "\f163"; +$fa-var-sort-up: "\f0de"; +$fa-var-soundcloud: "\f1be"; +$fa-var-space-shuttle: "\f197"; +$fa-var-spinner: "\f110"; +$fa-var-spoon: "\f1b1"; +$fa-var-spotify: "\f1bc"; +$fa-var-square: "\f0c8"; +$fa-var-square-o: "\f096"; +$fa-var-stack-exchange: "\f18d"; +$fa-var-stack-overflow: "\f16c"; +$fa-var-star: "\f005"; +$fa-var-star-half: "\f089"; +$fa-var-star-half-empty: "\f123"; +$fa-var-star-half-full: "\f123"; +$fa-var-star-half-o: "\f123"; +$fa-var-star-o: "\f006"; +$fa-var-steam: "\f1b6"; +$fa-var-steam-square: "\f1b7"; +$fa-var-step-backward: "\f048"; +$fa-var-step-forward: "\f051"; +$fa-var-stethoscope: "\f0f1"; +$fa-var-sticky-note: "\f249"; +$fa-var-sticky-note-o: "\f24a"; +$fa-var-stop: "\f04d"; +$fa-var-stop-circle: "\f28d"; +$fa-var-stop-circle-o: "\f28e"; +$fa-var-street-view: "\f21d"; +$fa-var-strikethrough: "\f0cc"; +$fa-var-stumbleupon: "\f1a4"; +$fa-var-stumbleupon-circle: "\f1a3"; +$fa-var-subscript: "\f12c"; +$fa-var-subway: "\f239"; +$fa-var-suitcase: "\f0f2"; +$fa-var-sun-o: "\f185"; +$fa-var-superpowers: "\f2dd"; +$fa-var-superscript: "\f12b"; +$fa-var-support: "\f1cd"; +$fa-var-table: "\f0ce"; +$fa-var-tablet: "\f10a"; +$fa-var-tachometer: "\f0e4"; +$fa-var-tag: "\f02b"; +$fa-var-tags: "\f02c"; +$fa-var-tasks: "\f0ae"; +$fa-var-taxi: "\f1ba"; +$fa-var-telegram: "\f2c6"; +$fa-var-television: "\f26c"; +$fa-var-tencent-weibo: "\f1d5"; +$fa-var-terminal: "\f120"; +$fa-var-text-height: "\f034"; +$fa-var-text-width: "\f035"; +$fa-var-th: "\f00a"; +$fa-var-th-large: "\f009"; +$fa-var-th-list: "\f00b"; +$fa-var-themeisle: "\f2b2"; +$fa-var-thermometer: "\f2c7"; +$fa-var-thermometer-0: "\f2cb"; +$fa-var-thermometer-1: "\f2ca"; +$fa-var-thermometer-2: "\f2c9"; +$fa-var-thermometer-3: "\f2c8"; +$fa-var-thermometer-4: "\f2c7"; +$fa-var-thermometer-empty: "\f2cb"; +$fa-var-thermometer-full: "\f2c7"; +$fa-var-thermometer-half: "\f2c9"; +$fa-var-thermometer-quarter: "\f2ca"; +$fa-var-thermometer-three-quarters: "\f2c8"; +$fa-var-thumb-tack: "\f08d"; +$fa-var-thumbs-down: "\f165"; +$fa-var-thumbs-o-down: "\f088"; +$fa-var-thumbs-o-up: "\f087"; +$fa-var-thumbs-up: "\f164"; +$fa-var-ticket: "\f145"; +$fa-var-times: "\f00d"; +$fa-var-times-circle: "\f057"; +$fa-var-times-circle-o: "\f05c"; +$fa-var-times-rectangle: "\f2d3"; +$fa-var-times-rectangle-o: "\f2d4"; +$fa-var-tint: "\f043"; +$fa-var-toggle-down: "\f150"; +$fa-var-toggle-left: "\f191"; +$fa-var-toggle-off: "\f204"; +$fa-var-toggle-on: "\f205"; +$fa-var-toggle-right: "\f152"; +$fa-var-toggle-up: "\f151"; +$fa-var-trademark: "\f25c"; +$fa-var-train: "\f238"; +$fa-var-transgender: "\f224"; +$fa-var-transgender-alt: "\f225"; +$fa-var-trash: "\f1f8"; +$fa-var-trash-o: "\f014"; +$fa-var-tree: "\f1bb"; +$fa-var-trello: "\f181"; +$fa-var-tripadvisor: "\f262"; +$fa-var-trophy: "\f091"; +$fa-var-truck: "\f0d1"; +$fa-var-try: "\f195"; +$fa-var-tty: "\f1e4"; +$fa-var-tumblr: "\f173"; +$fa-var-tumblr-square: "\f174"; +$fa-var-turkish-lira: "\f195"; +$fa-var-tv: "\f26c"; +$fa-var-twitch: "\f1e8"; +$fa-var-twitter: "\f099"; +$fa-var-twitter-square: "\f081"; +$fa-var-umbrella: "\f0e9"; +$fa-var-underline: "\f0cd"; +$fa-var-undo: "\f0e2"; +$fa-var-universal-access: "\f29a"; +$fa-var-university: "\f19c"; +$fa-var-unlink: "\f127"; +$fa-var-unlock: "\f09c"; +$fa-var-unlock-alt: "\f13e"; +$fa-var-unsorted: "\f0dc"; +$fa-var-upload: "\f093"; +$fa-var-usb: "\f287"; +$fa-var-usd: "\f155"; +$fa-var-user: "\f007"; +$fa-var-user-circle: "\f2bd"; +$fa-var-user-circle-o: "\f2be"; +$fa-var-user-md: "\f0f0"; +$fa-var-user-o: "\f2c0"; +$fa-var-user-plus: "\f234"; +$fa-var-user-secret: "\f21b"; +$fa-var-user-times: "\f235"; +$fa-var-users: "\f0c0"; +$fa-var-vcard: "\f2bb"; +$fa-var-vcard-o: "\f2bc"; +$fa-var-venus: "\f221"; +$fa-var-venus-double: "\f226"; +$fa-var-venus-mars: "\f228"; +$fa-var-viacoin: "\f237"; +$fa-var-viadeo: "\f2a9"; +$fa-var-viadeo-square: "\f2aa"; +$fa-var-video-camera: "\f03d"; +$fa-var-vimeo: "\f27d"; +$fa-var-vimeo-square: "\f194"; +$fa-var-vine: "\f1ca"; +$fa-var-vk: "\f189"; +$fa-var-volume-control-phone: "\f2a0"; +$fa-var-volume-down: "\f027"; +$fa-var-volume-off: "\f026"; +$fa-var-volume-up: "\f028"; +$fa-var-warning: "\f071"; +$fa-var-wechat: "\f1d7"; +$fa-var-weibo: "\f18a"; +$fa-var-weixin: "\f1d7"; +$fa-var-whatsapp: "\f232"; +$fa-var-wheelchair: "\f193"; +$fa-var-wheelchair-alt: "\f29b"; +$fa-var-wifi: "\f1eb"; +$fa-var-wikipedia-w: "\f266"; +$fa-var-window-close: "\f2d3"; +$fa-var-window-close-o: "\f2d4"; +$fa-var-window-maximize: "\f2d0"; +$fa-var-window-minimize: "\f2d1"; +$fa-var-window-restore: "\f2d2"; +$fa-var-windows: "\f17a"; +$fa-var-won: "\f159"; +$fa-var-wordpress: "\f19a"; +$fa-var-wpbeginner: "\f297"; +$fa-var-wpexplorer: "\f2de"; +$fa-var-wpforms: "\f298"; +$fa-var-wrench: "\f0ad"; +$fa-var-xing: "\f168"; +$fa-var-xing-square: "\f169"; +$fa-var-y-combinator: "\f23b"; +$fa-var-y-combinator-square: "\f1d4"; +$fa-var-yahoo: "\f19e"; +$fa-var-yc: "\f23b"; +$fa-var-yc-square: "\f1d4"; +$fa-var-yelp: "\f1e9"; +$fa-var-yen: "\f157"; +$fa-var-yoast: "\f2b1"; +$fa-var-youtube: "\f167"; +$fa-var-youtube-play: "\f16a"; +$fa-var-youtube-square: "\f166"; + diff --git a/source/lib/font-awesome@4.7.0/scss/font-awesome.scss b/source/lib/font-awesome@4.7.0/scss/font-awesome.scss new file mode 100644 index 0000000..f1c83aa --- /dev/null +++ b/source/lib/font-awesome@4.7.0/scss/font-awesome.scss @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; +@import "screen-reader"; diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/a.png b/source/lib/halo-comment@1.1.2/assets/emoji/a.png new file mode 100644 index 0000000000000000000000000000000000000000..dc1beb39da7a18ab9db62c6962d589249f31c3fe GIT binary patch literal 1685 zcmV;G25R|!<<{k|If&{pWUPT{djq;o3u!bsko z80D-o^1@E?$5_>$H0Y)j_Qz7llr-9vJ^aHe{?}mlzAf;u9qq9y_{mh#kr2*~6v&Ac z?7BzUpDVa}4^1Wn$d^6+(oVEj8~n#U{LWk5pdsnEO1FI(l}QP?fg@Qj2ckR;{{8*` z=UV^YJ^#uY|K&~p@_Ya9aC#vF|K3;syHEesRsO|K|J6VGyJ=P_LW1uW+VFK$^G29{LZ2F!FRQITjHfi&Vn@l z^y&Wa-~H;&?%2fr+p*lYqR5zl_orp+xmWzOR;or5@ZQ$p#J2ayg!-^>^0s6B)nU$n zO{ri#$aXEbTpp4^9Evs)^VYDvg=_MyPVSRP@uoe)G?@zk001;}QchC=6df}tLjCmT zcv|}N+HO-T#)C2jB44r}M> z^lh*tfwlDE+3M=;v)g}aPW98=>Du98Z6Am+`?WO68vWed-sE69*yMC`xc${tImprX z%`FEOt8iag z*j?F;prsO{4c^~~2jdzpFQUSgw~*aRARzC3hN~|}Xfda?b~Fr5b^qmbg?# z6&?>A?>Dx-^$25>3Obx448Hu}LgkP6as?m1s^JRp-_Bp1#KB0 zch!R};KZPDY7t@ljLzWq8rgZjo5MbU~6a@oc0`Kp3pT$bZ;G4aGgrXGxnA}lKk z!ze0n`5<;6BdBpD7Lz%2p_T9nUdImrCsZaDo0*9*D(&|equXVOqFHBAD^Ymq0v5bpF~Re&8D!yg zHU(*10yR-VG8~u$77To}6Dc#p?xcy)WBmYcpbtvjb~ye#zvx(94SAzNE3< zx{rkvy@gG!G=jg#1KKcGLiSzUO$#NE!P6`6_og^D>>OIi`I$uZ@@^-r1ljwEP)-G1005c*09^n8_yq*)1OvnY0RjL3 z{{#YR006820RII92mk=l0suh(00961)d>bS000F50M`o$*9HVV006WB01E&BVgLXY z003?P08an_j{pF-008g=1BU4P%tYUX8fM}%YH=s_S_up zYQ*(3-Bu*?WGwgbT)8`hN||)4(*C1ZlAl8Lv*W*suv8<90007oNkltU6oF7hrPcrWP?>kNG`hrMFcp}2Dz&LS?`9Kjtkc0!5*cT#Pwguxq$CF=O zYQ1g?S--)t+G5@*4XTdbCSm;@$$&F6fhly7aQFQVur0zLtiN~GSrPPho zKNYZsq@B+xW1xGQv(=j2DMQMDrEy5NG#rfWRyUP3gWD|(^kO6HEPENojQ(=Q%3f?> zt>~+iVa&D+jh0rvH?SnUMAEnoGca5>0+L!WJPJaXMjB&G^ zz1Cy{%V}fj(A2zny%+tBET;!c=((R_qpd8X(df#iiPT}CooL)e+gP9x>eTtmvu2@H zPGsl>SO|oMDtmkQ-x9nq(B|f-Aj`b_-`T)j_GYj)Uw4YK9PbV^{wzbv(B=u++N%Vu zv%(=Lj>i4moy<*r@*~8Sg|7x(eK)qm7QJm~UU=O>#mkM+y570D86vbhdYd}L&MB{H gS>C0~ck!RbZ_Ip}Y3HQKEC2ui07*qoM6N<$g4@2uHvj+t literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/anzhongguancha.png b/source/lib/halo-comment@1.1.2/assets/emoji/anzhongguancha.png new file mode 100644 index 0000000000000000000000000000000000000000..1e70d3d84ffc704c0049c25179aadbdb307505b3 GIT binary patch literal 1496 zcmV;}1tO=%!n_lP#OKfA^q25^tT=M%3Im0LfMWq{J$Rf!7u#PWaX$C>$5HCe;@eGVb+=$ z&XgI*kRI>HUBiSlXhj2P@x@lkau~;oFXwz5uu2!U zg(>>UN#Um>v3U{y|NsB+c>n5T|I8r&)+GP&fB)Sz^ML^W*e?I>ZvX0c|Ke%?=W+km zN3cp4|KCFY-BSF_efE(K_njvD#B=}2I{)O7{@shBLKE=BTK~>6{MLj1vPVY8s`Sbj~GW)S9{O;HL z%ZB>CZ2#e0=C)7tq)+~*PXEeC`J*?;f;IAyFT!^&tyLZPofG`JSnj)3vR@~sN*CpJ z1N6>Yw`)B4?&tj8uiUbk)0IB&tvN@zPIdqQ06BD0PE!C19uv*OKs5d;J#_TOnv!i) zQA$HL{Oshgbushi+{?+vy0oX4gd-RB^6=`^r>CKrfOK$S;<}7@dX?`000YQLL_t(Y z$Gz8!SJF@%z;SL=W|;W$nk*VKlb9%@$IF>Q;s8q#)dA=T!3aS4&6rV-m^!*Xz0S^4VPr*x^ZP@ z3>^`pi|)&kw9u9$U7j354ELoE59GV{fV}-*4(k3?0g6ou$feg zHpPxg(XT6_NHBk}pIPZw^Wae5;Sbb^Mr$iv>~x1sTxv9SqtWQ@zSz~mFSz?F2P5yj z_g^Hx-!F%LhM6DwX#Awyp56n_c zFYgfyg@fINt>D4mz1Vs6;FwGV|E)a^J|83&9*jg365fN~w20LnR`QGYIT$p?>$9}) zsnoYwGh>tO?WR&|9~aN`;71g*!`4%&UAC_%Y_FM0eYeFe{DU3$E%lQMU!G?Nl+YT6fywP%wfwX1h}1CB%nk&BxDjL8ySc^x8JYnuc+Ftsj1Q7i^`{ z!dUrX(Txb$PzZEHUAM=>*K@&2Iv%gW;katZ8yo7j0=unT2nx0^`1qzQtI6KKGdeMm z)6(&+PoJ_1a8|1jGSe~<&O40ZX^mpw+v#F4lPMOoaHy?tuu#k>icWCvy0y#7WP2}YN1I_$N;^MbCfnm7xXtEWc@ClSCdu#M<4#j;U`W%Kp9 zQ6js!AdDnUylUvr9X5J!cNFjdsHDaSqQLGH7DyDccSoI5#!gGuTjN zl4|5VT*rn3AAU16J~~3-wbAigPxb7k3K_{fJ7aqe{U~{K0bCyNu;Etyu7@$w6w#+!`s{2{QUg$ z^YhHi%;V$Z)YR1H>FTVktn2IR{P^>noSdMap!f0U?#`6yzH{~I-R#z~cM;Mq6X~Gp7s0w=a>ias}BFhA^*}P|Jf}6%Ov}~8sm!r+n71zra1Ji6#vN` z|HK>r&ME)XEdSOq)r&6O;^Ot|=k4|W<(?P++BM#&TjR56+kyrE!WaMEI`_2})prE! z+s@N|7XRTrm6Vj(s%_(k0^zGxf(K;-QC*4o?Bwv_p=5!S}J-HjI1ZUD}` zu9b|8<bDwy4|H)5Xlx#g=Kr%FM-iHN3K`y~)(O!o|DA%Yc7>sk5`H?fT2*>QdwSu-oK@ z==_xH|A*D-mfPvf`2Tj|{_El1shgR!(AR6@{G#puwCVJk>i=ig?S7u5RLbanjuitHZ}})a_y0`HSWMf#m-=$n8zm`f0}7QqAsj-~XAXr*F#Qw8O*sTwHO#(fmtG z+I)Prd3jN=%c-EACbHY~M@Q;dSpP*u@KjWtw6vV0q{4=Vv#F^aqII$W001v^QchC< z5tP}qMQE`cGbmy13wP)IRO+S7{N4Tg$o^5pjc(THd->e{%Txa7^1r0Q!oq*7rDFg9 z2JlHlK~zY`oz{(46xSIC;AK}(7gq<(bSS885{yloX71cO_hV+3q9~hM2(VySc5$Ud z5s7G}jv6%*)S%KTWD_-LKrNCOt%AmnSYt}Cji#-CRNvXzUEsJI6MyG$&MJMa1Id`xtT=R6_WyM0FZ3>OFx7nC!k^>=1wLU= zi~t)Zr-tDx$osK$;Udejbe%~-T_+|SQOjE7{ZYJVv0+iDsWXiR0Vj`ji!UyCc3H1s zxXpE80v0K(2Q6dCGm6i9!LamHgiNW<(il3=7yaPK`G3YUZFQmoR?MJ2L(l(#x{C<( zFN4eBw_{VE5mKD9cAk$1r!8RU2GaCd`scZp>s)9&ZFT-TPN_B<2g%&*wvZb$tdT^A~&R7SH;>OsSsWtNcb6<>noEOQLZYEt$3@ksUZ?+ZmI!I@SKG+C#>)V1@r2Px84j#V=XQ9;l>RW zKvapw%biUfT;JFb2}h&RSku~#x`8;s)6cfK#1hzQUGv9=aIB@REf%Y7e7joLWs{O} z0eI8q2DmGvJ{($AO|j4kPwRz*>rAm)SBKhbV{Kcuw8iQ=wypszTcQMT=Q~Yx(O4U# zrM_xYD`l8c;!CgSVrn2^wQdSU!m+k(+uCB`h*Mftspx_^*uEnigPU&K;^05+v~v|}+q;~`7O~xa7uwtq8sWQk z*R(_Lpg^>?dC%6px>;f=fIHvmfRS(t$712o_FV>-7$>60#e#4K*x37SM>q=2T4J@$ z9sBkt@c~1BZ)-!$8ON4bw65XZ-3K{G3K1-YnIKHEIq!MD#vScwZTp_B`>VAs1NU0` zdxtveoUx9E!;zZxqK6ZN1!JWt%mkJMAqNj{ZmLhVYHki4I?}3janwtzyFUokg(0=g zk*3YNdkA18n3BSZ!mtLI^lb0zs0UjcY41DQW1%jB4p6%D*gjZXPWJR2J8lD(5W_gt zZHyJ9F~D~Jv3-9D*VX;CeaDHD$Dz+e>Y{Yl-V-|-BF*g$p}zNVzfFkH5Jo745gco* zn2-T`@WVrWjiJWA6T1h6g?ohtm>)cOV&9IM#=b)zCi|; z4SXW^s?;(#-17`Nb1K0cYZqguz0Z9E1eR*1DQhgHmBe6zF$T-d82Y4FzQC=WbIS}v{E?cT$S8L7-MlyNj@TbEY`D|=M z{~2214+H{f>~W6sWhm`vSjp)W58nUv(GPoaph`%cbbwUg-)AUKh2g)NWltVYU!PS zzk2@c<+CGK`#T5hVv!6;g(1o7dAhJCkhfIA5ETb2tc%x1E?>EF=a8 z%f6i|>r!EpnIFp!zq~&FaO__yq#V-Kdthp6>f2Xx+U3%NL?YoaxJxn|9>|rOFO~n#Y$**#Jea?UNyUEGN-yir7PT--E zG5NnwrM&B7e=SE=yqE(A h;DPY01ZF_NklZ+Do28MHzGda{bbzb%B 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/caigou.png b/source/lib/halo-comment@1.1.2/assets/emoji/caigou.png new file mode 100644 index 0000000000000000000000000000000000000000..adbcef85f168ab517b2f2cbcd60ab6d80893ed7f GIT binary patch literal 3141 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/chabei.png b/source/lib/halo-comment@1.1.2/assets/emoji/chabei.png new file mode 100644 index 0000000000000000000000000000000000000000..6675171b394f85bc9ad28182f3fe8c051f005f60 GIT binary patch literal 1706 zcmV;b237fqP)&2Lo`t%o$Y z;>N-C;NZ@vsPyIJ-@&%)*w-^3BHq5V`0MfF$h^v*oYSwfzm1O3uB})+KmYdi;m63o zrl@L6O-U{<|Nj1{f`ou$WdH2z_T1a7h=_1wX@DjG_Uh*U{r&&^^#A(q{O#QK=GF4r z#O%ASpzzVUzkpSH8USz%0BQpOW&i+g3;=W#0F5*U&6jZd^6ci$!v6R8^5fj-&%dT( zM4L(?lRp)SF9NM_P|u--;=!x!+|&5&=lJgJ>)Frf%(vysyz}47@7l)U#JlOz!|T-3 z>eb8e-qz>P$>-6;;>5%G?(y&2+Ud^C;l#G)%ggZI-QK;t-oL=+%f#QnzTm&VtUQZ# z0000$bW%=J016!vB{D`+KOZbZS!I`{xX0Gk;gVm>o^vBRqUqpq{3-r#=-YVy^W!%C z@A!dS9;i#|si9Os_IzmJ%z|i35K;nfehmy{K7q zvp5>(dq%6iO4=;@Ep}Mf7=|H8UmP+xWHgyAR-4W4a5^1!yUl9(z+`j{_H=?8%~mG? zpdwK7P~u;4OgP=c9&ZM>avvqfS``hj9yIXheZG5+O|N9?ONizLohB9`} z8g5kPr=K?;JbbjX^XTy}4Ly7e$2$*p*ME&>B6PN6-iVo@D2TJU)!S=N)_?nbYxfVR z-L1`g8&Cec|MXdYFH+e5iyLku4d;B;aY_`B6v-?sKYtO8zIeX8kcmih44XaR4&BQ0 zHk}7F%Tp}^GBMI5TjaRIr;1m5f`X4H=Ep`N8no4sN%gCf>#&4cQlTJ?tzcFT+!3^Mh0z6gkX!p zt1hc9h=Fs{ns#9>v-{%lq|gP%_p=dBr{gNR4U_drE!=vcampDeFi1!wS?fN z0j5-D8_Rq@p%i35oyhI@`2>(E9KA-20UJD0RIDnIUMG6eUpUEyzBsd&y z1RujoJTGQ{P<>Oa3U46D7kR$K5)umh9z`dLcs=fL^L`#9@Jgjpstf*$6Jszc16K<| zKE1Mwg)Kzjs_$Cuf@h?orfI4GMN@QblNj+?__|r|?a*gH+^hHauKU9+UlfeQ)D-gD zZp_W1Smz!^>|MOU8PC*Zi|xEW6qdMf$bZdl^O)kgjGVMxo*|9U_A7f^&0w1!y6p8x;=07*qoM6N<$g6N}l AbpQYW literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/chigua.png b/source/lib/halo-comment@1.1.2/assets/emoji/chigua.png new file mode 100644 index 0000000000000000000000000000000000000000..327db526391bf3672df8c2150cf3c19d3a5fcfc6 GIT binary patch literal 1971 zcmV;k2Tb^hP)CQI_l3@hI{L9D|JrB#(_ibnO53YL3l9U4o;sFy zC2p`e`^i7vs4>)S7U#THM=1$nr81jf9sSZ&_rNe@sWbJyG4#e(*rhYEdKK=(TV$v+ z>VYA}i!a8QJKnNU`pHZ2zCicMR`|_ebgVb&gCu)S4BUt)#+pOm_K(JqCiIIqR*);| zWJmFgDW7l~zw3C;hdHU+XW^$Ohr>?)Lp%TBNdM(i`~Uy{=wJWsdjIi%|K^nc;b`Ii zl>h8%|J+;u-8`2v0srW8|H)VX)j|E(g`z|h|IRM|*iHP*eEp(Q{@6PI;EnW!1N@^% z@|QXOxK{kdbpO#-|JE`5uvPu4Rqu~5{?=Ikz*zO0AnAS|{K{?my=(WiU-qm<^^yzj zJT|9G82i|s^rA|9yhJb#6Y0@>^UG!Yok{=CLi@Bf`du>jXfDKfEANFU`J)@IR2lg7 z>H6)__somr@QUihTIRD<_=8jYW=Qs^Joch6Ul<$b*2m+Q5dp*X&JN9%m*OxKPG%t%IBl_jR`r)f`#ksL&TUI?a_12(}ieBE?k-=f0Fyt(2B!Y>`1~7 zuIF9a&;5y80h!oz=nRf481rv+?&J}oIyNx{;_LA#WomB`_v=_al^=9mqc~na9dtN4 z_`E#6py?NOaiPH6xpTr*c`ZgTp`54 z{TrJr6mlkey@aS}XyJU?**lrTV|yo;#oamLy*+)M@MwC$TMAi_7oJ?4o+6!(`-0vP zY#-n<&nTz&zWpJS?e>pe!GZDi+3nYadJwr0aQY$9Q>=cc(6#GZhH1YFzm84htiAg$B`KEDO<;&YpZMr$w6%3xco^gltA%bfk?iviLFC`DtN9 zAcQwRHFsclI3T)wy}gUKfyJnIQFc(-aVzSLE$aMix^acHW zeXd)8+`8P_0V1`Rmu1}f!n54^A`%RC1$_}Qu#+>k>kznIZnwLu+yBDhV4*GW!B-po z2kj8V2-HB4PZSFcx%wcL0iP(eWQP}w8u5^c)8!Mp17aiyBVEBrAVZ!VUnh4Vz-oMA z;NaGzyi--d_5qR1;0(p%_I$*P@s-(-DsZau&Y2*X2ay70D>L%+?lglItqM1TbY2C(D zTnRU)VpDBWs%*pH5qtsf%;V$Z<~V%oDy3A>{{U4QHsrctkRf{$&3nuW5YJmv-q})t zU?NjY`-df|-SBKcO9vmAn}aXx*1W0Bb27QqIOhwcAXD2Yqc0`j?AS<)Zf}>QT0^d^ z9o}RoXQ23%A2XEH<5CM&?vEP*#jlAKbD)DyN@iIp}9cD zwo4l&rC<7~)&GIHqngV@D<<-(Yb5)bEC=7x{q28G7SONn{aBAaeJr2224`T1Aa_sD zgI%JJzVt<3wO?ihvE#%wIK~#m@_0RNgL)ocTTH2|Yi0KaAh>UIIXSpZNV0ROEn7z6~BGwpRjrHvoMw0Pd75t4#pYdKD-I0Haa>_o6%JhYkO%H*+Td z`iKmsQUL$8M6XQ%`Ia01g8=!20Q{5|vQz+09{}op2>-7$?Q#J1bO8L9A@+9w@^=98 zdH_xz0RMyl|B(a#t}XI>0Q7bM@pS;{dkEZg1NoXHOCA8FSOWjKG5^I{|H@qd!c70k zM*q`{|JK)zyH)} z|Fu2;-=Y8Nw*S(E|JRxS!esy0mjBy`|GrEA;gkQ_fdA8b|Jr;1>!|;_RsZp~|Kyzi z=%oL=ME~!>|M<)Q%XR(J^Y*``<*fVp(FprQv9bu|M}7Rh6MO_0Qi0Y z_>B?&vort0NB^K7t$ukw0000&bW%=J05()a6bqf^p+keXvxRN#Bj{?PIP=M4saH_v zZ^9gX`{DN_(Q*D{@ z+WyNulOQFUg(m&t`(dAa`90_Io^y8N^Sx_2;rI9Sc83N|-db3U_60-T!2P!omL%!U zQZUdtJP?Z$Ol79r4R-xXk%*q*FLDqN4-_RA#Z!jzhnf zGz`d_OZ=B$=XtLhxC!46ciixv6-XOkxf^)wlnxz(cJsB)(+-TUV*yKi@pQ+qZ(svA zjQ+JR(gnQMfcc#>owI>)1mh{oiaF6ae0G&m2_pY?u8XY0YXEc39t?EOPOefh+KfFs zKNSfLP4o7L_fQk{}T>0R_#nr{-*v7_2Y%$drJaH`h;YYgEWcg!{QM|~HQd57p5M_0 zDGSyh1@D^}x}@QQf*UMzc91Bf5!XP(@s1q4n`j9v%Q&}<4XkMz#h4&uO<(q6BNvU9 zz)Z7@-7SI)0z&b)?*4w(Gw|pFRD2jV3N({PYCIlCNL7pZ+|G=r$FsWD(rTr&#mt?o zrR!?ib;^}0UiZ9dp)0f{Ft@9&jcU1i=1JyhChI1cL~D~C@a%ePU>omhij^$yY`d24^|+%Y7w^`?E6q2NnS1V z@owH1mrC`lST`^V5%XIQI1v0xhrSZh#G9fLE>^Y)wA+C3)~CPofPGT~mANZv(lACC zD}*sF=CW}7;wsE{`Kr%Ty<00HlAEItzs2?GJ{V<`jy0q<)r>u4#lB`5>| z00RI376SxvDHu~44iy3dQWF*8F*e^ZJjf0y- zQw9H(1OJx-oz<1IX}cHE}bDIQ4J229wGmQ zGXIM#|C1&Ek}Lh2Bmbxy|G5zV#|QuI0RPqm|MdX;rYZkOPyaka|3OCoLrneJef`~o z{`!{wvUUC@IQ}#|{q2kX@{axDivAii{nUc}Y@|4>lYsq|NpD~+jRZSWc}%d{qB{#!>(H zg#O4?{H-+mnH~PQKlW___H+RGg$w`dc>Tdl`F#QRc>(;kLH)Z$|Lkn~kQe>FN&nMW z{fh$og987S1Nw9W|C$5+v_1c-1OKA}`4KzUGF)a5lD(@y4SB^*3kx#~tox6WJ{D<+&mYRhVf?YuokTo%1CzQh1rliD%F6zU?EB2Cbfe=doVNe~1hq*-K~zY`-Io1Z+Ex_DaaA{Fq%*)! zSF0jrZfbh%QU>$8aIJ0l^|vzinUbFhbB zjzy|_dapUF5mm76^wsM(dQa=r!S6V4-nga`MrwL){?J>Es)F@~^1kccMs<5ewC`45 zDL1KNHF`vAFxILotkIx#_3zc6(W`?E{TSwI(5i!L-57>7sJm7FB5Z*0-)y%YIosG+ z(PT1WGF)YXZ3iz1GjEt*q{p^@_MZATUuJo=GLYUN_mu- zEgyQl-XHTCxb@TE;B9Oe&&9aU>$O_UO~v-n>~*3WdO@ zh~&A5EIQPzxJzxLk(0`0X0LPKToh_O38R)!w(cQHAK`R_qA2_jr$Zl~gl*??U~Xk3 zPEkYoAVP&1h9K#@Z2@c<2u1L`KTZ0=e*ZX?&8P8k|3owlX*xoZ1u$wEB5}~zTm~rR zk22#_BpWe(lXs`GR^Vpf0}2>vy9a=Y`(aAnEa~%4&p2lp0+-uB64Nm@7WdD z7_j^t!%VZn(&vST0otCFQ^2<4u#^aCfbt31NtA%^6R--gDEtLX5kNYdfUHal9G5kM zzHlm85(YHKWlO;bE;x5B@Vwl**TCYjbcG}#A=?&%kuRmAY9(kmR}8KclHy;Hl>DmT z@U48hxFnS>dWcF(;_}x@y7TGED%epnnJncX!AUW-w!Zw00=}@kkzQF_O>tQVCq`irh-yP1vj^UU_z?^`ccH(#bwi#erIFE>|TY^`mtq|@n4W^doE zgwOQ5vHgQx*&zKqy}q6~uJv^=mfpy`+CA8@WBqkDQDrN5Spyo?87_C# zT&QmVi7@j>E)2U=Usq%7ssLf`sv z$)?kyTCKjs3to>P&_S1%?eIzmhQaJ>{#}46J(N}{L>|@rPxJ?;w6Q1Kg45&x0000< KMNUMnLSTa73Z?7- literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/dengpao.png b/source/lib/halo-comment@1.1.2/assets/emoji/dengpao.png new file mode 100644 index 0000000000000000000000000000000000000000..4b19d8abd8e211aab45f145d6c9bd48ad46466d5 GIT binary patch literal 1837 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 IM6N<$g1mKG-2eap literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/haha.png b/source/lib/halo-comment@1.1.2/assets/emoji/haha.png new file mode 100644 index 0000000000000000000000000000000000000000..c1b96b8af70f43ce1c31a69907885062959c65c6 GIT binary patch literal 1627 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 Hu0mjfte|PB literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/hehe.png b/source/lib/halo-comment@1.1.2/assets/emoji/hehe.png new file mode 100644 index 0000000000000000000000000000000000000000..f4856a8fbb6a5aae41d32ef1ac9a3763be72eec5 GIT binary patch literal 1504 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 D>+{-w literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/heitoudengyan.png b/source/lib/halo-comment@1.1.2/assets/emoji/heitoudengyan.png new file mode 100644 index 0000000000000000000000000000000000000000..fe7f6cf497daded6fd60cea0fc0309694c9a6b7b GIT binary patch literal 1251 zcmV<91RVQ`P)JxVX5On3{KYdTwrTQ&d;S zJUX2*GSt-6q@<-vI6tE_G>j=L=;-Lq&(Ffc#A0J*TU%Z5Q%~nkORqCCl`b$QCMMWQ zN6th-h2-W-0000PbW%=J00|T%94+@wb~(~sL*KrtrkRqDg6ZF7Y;L_8rvLy0p-DtR zR7l6o((78iyqQXZDZ@1Zw-w@9~i^$;-^{ z=F^9Zz_?xzcrIQ2pY$s2&t*_4SKD9QfA!e0QUw^~0#L0u;$N)WF0*7`K5)f*)am8v zaG2*6A^vKE&tMsaJ}8D)J+YsPO4(A&>~EOnU&LN}0Ge_NyeGtN+Xn7hh}8$A_ghY} zIrZL!D|%+2=-;@^{@F4Git842IwFui&lcnR#o13e$n~V^{g|piyXJ}Q^QAMA=i@_@ z@i|xv`KqK7bHpY-AbWC{%Ly2}Sq)KF#D?|C+7>lzS0xVaimjc7^TVxN&<0;@SI>dY zYojp?LbEc?gB%X!!*+EX+Sa^cxa8Xlb8$Hs*y@6R`Vt_wYT-0sAScbu|Id z)w|!LQ8xcX<~Ll_0r8o+Hy>e+)a4O?xuDwIJaC2>Ji$`~Y~mAbq}+*lZk)OagWTAU zIQHBOXsUA@`!P560NO$r+$W4TO%~U8c5Cc5-d!)U+m8}>(ZU795Z)IL1)z9<_n~^h zEv{=kDZCC6Ko(w|iNfF->?x+<{Qqk4%{OUnhLE|9XFxDJZ(!DukHTDel6lTs3 z?W+QmO9q$vgl$=3==)8QMwm3Y$yH5&UlONjT62-e#yQv@+Z! zZ0=Cf_~rF`F3;15sm7HI`-C~s3yE)8@XPItDOm^*n?*O29_stiZ6=vNDV^ae?U!lY zQ5Y0YS3h>(AGfJ(4Va$8xDGsc^tu!4)&@(Du${ZfdUxmVFA-bl=&9|NN!C$3eR+O9 z#Vj%S@w{43<1}Yw;N-9mV0jWxk5#4^x?Hc1u`}a_ zs~hvGYmzMK=q+0`@7HU@jeTRewcC}Zcd{Z}JSl5?C1Ek^7HQ(~FN1lnf5k|(?eNg~ zWjFQYkjzl$INDhP# z^^Jxkn#D2wMM*{*HMTo+DZtUu7lY-FS7KWXYS(Ydf~QK$=eB#a;+=-1FqDmM-Q~7_ z=U%PT?4!}J+4Vi9?{e~9;Mcx>t@(jRlIgpgyi+o9P$K=G2oB1RmOu1&{u8yp!K8XFrOFflYCA|*34I6FN-FflbPEio%AFCZZ#G&MOYDlRiM zI5;{zH#j^xJU})#J2*N$CnzgDKSM`IP5=M^_4V~OHaq|S|4vX={7XbIFf^;Hto%|; z@bK`pwzgYaT+`Fj9v&W{p`#HI5{rzDISmkWb#|&qN6A7!f<1qXe8foW=McSJ{5K}LoqC`u9)EC~zT+})X)osf`{vr0+dN=BDO zMx-+{hD1hXLPpX_MUN>fa~~p5C@m0(XW#$;02y>rPE!C16dfcjHcxCr<lDZ(hmZk&*t015YfAN~Gc zr`jhWc>)3TkIwXYMq{n^r?)HV+y5xX^Mkr?J`o2>1>``y|J3$*#a)Y94 zhyGL`Q=i&l^=o@~4JZ&J27LL8_5;!B8yV|Q@}hYEvvVrK7GVAZ5A&k4kQLp61Z6bVd7fr`*v-R1Nae|Nt>27(GNqd5|RKU7xebj*an>kH5s!lrj z;4z$Y2kw-Zgjs^pl=j4d&F{D)E*iA2;WZ5-(L5&-Ptx3m3O3Kotq2zFaYLsGSHUF7 z-hzD!f?jdwT1Mh2bi5`RyXZ<3~&ruC~j|v5yr9}G23Xzv;-Ek zn?En$$b=-jAjX6|N5Y|Trc4MCI3rodv~!@~I$(pFsTyPU7L2uXDG%FA(JO?n6xt*TidiOSW|WhaB2&ufPDq~fUj-gYrq8s7k&_YYzrR~yW}d^ zt)f5Kl92U1$Jiqb(_sdv`Dx90+tvX(ZY8f;QH)SC#bR z{+8y?UktkcDA`)RX#G0S?Ov0S-TA9yjsZsKz?bo200000NkvXXu0mjfpDjb? literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/heixian.png b/source/lib/halo-comment@1.1.2/assets/emoji/heixian.png new file mode 100644 index 0000000000000000000000000000000000000000..4f92ff4413acb9f3c13a38271713c103f1de1090 GIT binary patch literal 1741 zcmV;;1~U1HP)35w$};}hVEw}ondvr+%gIsTnY|I{-6xL5zoQoMUOZi03H z<6r;OMgHE%yRd2hzE%9Og#YMe{g`9_)L{IRR{5DdfhYw2>)ZXrp69?@$B07rkT>$s zZRfsff+wkr>3T(oQ#ZiO*sDYet$H+000D#Nkldt!j z1MXE{VPK!<`OG|q-dSS*FS7?2r=y_|auW(gk1#&VEgR3Agkv{1vG7TT+cSJ{1bjP@ z+JU4J+ZYNMA1%RzY=sF4ZxI3?X`DlQJGc0fdWl@(+tfYE;@o;1!`Vb~pVA3-bT?%@ zq4Z<&E`7EZBlPt;LcypLT`lrBV^!5D-9Ow$YcRS`dK4g!>K>qVo$jAU(Mp_vg#{Ji z9+tmDt1tuWQjZ%m%QzB4yVG z3KP(bCD0=L09YTlpWVUd_P8h)Ww{tA=&}sj+CxjQY#6WZ?5knOJWyx{3KH$G>nK`` zq3_MMWk11!)Q82-=kN*1eDm?+5JrcO9xTokB=70?+~Oa;Z(R9UeR>(bJgMU4U_s)T zB>{_|;|C8*lEnX};SNrJvx3Ca?{}2>r_tu&8zFCiBeX9q38jOy^s-*>Cvp!(Zhnr}IKgBh!ZQHK*EM*~9 zEWgk3>4uMwyPBd{Ez>kxU<;)})xDs=Px!2ss-W4l@8YQC9h}@MJb3>3&8+^ zzMG2HonhqRJf9FyoYjBs$yes^MYmfKdUf*od_~iK2Jqiz>E<$7A2fsiO z56V)!l!CqOahlB~14E!;Ve4+U*|dihf+i?T^5LIK2;8F1k@&>aCxXXfnM64hHlmxgE&rbAg??<3D$D>N;VgE<)(D_RR$z z!HP>W!)9MV+cqo2rc>JKWa+x@>Y4eWXqR)i(h*^3e+W~j4tnFUi^LBs48`D9TAEw% zFuR?Y3c5$n@l4v)4;FGEdPW|X+k*3aqc&e6j8nZLQ2O&FKBW@W`RxZ`*pr`T*4EnUhw@j3S#r&FO~8ocj-V?RCYZIq+q z*B#@YC!AK|REI$5*hAs>atvQOJgGIc4U(Uv>XtUV+nzqOu z=zhydJ;Lo^pDY$hvJY$yiB!vE4|TKaAn=aj`pN53q*gg*_4gh&s?L#IU6%}Lk870I zbKE1^s95SbpU@~TH5(Ydm|73iBzu$_hBdtD)w<~b)o#64E)hM6!7;p5%EcmjJ{Rz& jk;Q~8(DR-G`M>2a+(3fHdS?xi00000NkvXXu0mjfK2Uh8 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/hejiu.png b/source/lib/halo-comment@1.1.2/assets/emoji/hejiu.png new file mode 100644 index 0000000000000000000000000000000000000000..c546f6b75a08a45163669a066fc4ca76ff2f1b9c GIT binary patch literal 2077 zcmV+&2;%pNP)}0EalnjT^Rp6)tA3b&#Ny znS@x5&ic<`OM=O5czC^vD9)luFln^F#alp?JOGF}|J^?S*ed_c9}3EQ|Km`jMHK(= ze*fcdY_I%Rn(hFsQD&$5|KVT%<&^*GcWuc0V4?K?)HNgicKpqK{h(89zx@BsF#p?9 z{@#mhxBULHSo_><1hiYNRUG}-g%RI*{l;JDejonMT>Yq4@|Qa8h$^vSCS;r0`^9wr zyj=97N&eJG@|;BX(?ZRQIdz}Mh@`3w(t6~wR_(e#x@jtFo6VrEowT!k8SQw}#&Z14 zX9v4y?!#i*rB3X|LB)MFf~2|)tY`SQWb~?2lVeOYn?dBcI(v>f?v6R;r#04;Gr)8& zthS!Kz>MF~Zj5tm^s!n6p-a`6L{^bN=aoH~k2H0EoF2AQl%7LoYcSuEDwt9wFqfR` zxNa4ZXKJBF*TzGKfHB&3AYrfObhq0@ptvl*ZB*1_RIgl|y-BK?KR$0O`oE{B0000$ zbW%=J00|xxEJHR^{^65@a{m7D>*L9IO(FgK`}^_Z;oQ);s8lQd^~ATcqJ)6_`}ppq znV5`P+Sk>^x~OS0G5XYN>%_nI000GuNkl>bP>D;!;Q*w$XPYt>POGuf;6mTan2v#Dfn*@cXL z!`5{+8{n#{UHR*wsP&8rX-f8HGZ`(xkVEvZb?sO`s&w`7!G2IwE50PXIFoPF3g02yT?YnSt^qz60Hvo= z(ay3|y zn&QJ)kh1#R54_}Y0;J&~pdE0aX)BY0+v}97cW>q>de_1X#zEY1kmp-E2IgCahGx3D zx@P9(H@2X|V>0IuEmM0B{_Zb1;yL%@c{H{|C)(>neZ z@zhpdudemPBh8^uUtgf33;0+oV825Un*cj^vnjKtrGJdpUdO5SL?R6hH8stlzPTab zv!ERg0X+a*oNZ{_pl`N}0LG~uiQd3z0N+0g#l0Ad-GF^ZptP2whG}aUN=FllZh-3D zv;3Ibi%UNOtS>l(z5LXs&inDwsE+U7zoFNDfOfw8r1$N!>X>17za1w37vP16r}{Ts z6Y58T*G>9vP3@c6v8CtLaE^^se;kczIJ$@_S+#mgtLTUI#-+jfcC(Cz&lfj|pWhIk z^LQz)l&+11M{97Jn?v;$=L00T)k)iZzAafAX05$QaD06AW_w(L{Szj~~Pb_{2k9r_;;ZC2ECV&J#V7CMHq~UJS>lIt= zorxHz*DW8Skwi2+Ropr4vqPMAoF;sWI$&Iz5i{&QXMVBCj9y+U=cfML!Y zgf7@-(T{F(kmSURa5(&8BKZ!Uqkbnx6sPPS5$u4~hJl4fETCI32K3;>#Kd5dn}))b z7~zv-!xh85fbTF;W{VM%UdWhaG6`FF?F|q{Kb(epIZoQGV`ekLmxJ0`3ZZKYmlnVd zjEgx*-be9igmNY0xK4O=+S759iaALtJkJ7Fau%UM$*8B`70WG;#coNG^UU;BvLCQa zG_BkMyYdv=E#ksrn4$au}=%o}X4pIr-pktLX6J#g^o?+o5Ycn~P4# zSZm>i_-Xn>-2-+5&XwgoS?mg$69>-~$}+~1GS(6V%n>QUNpjq+U>OSIu4y)y_5fCE z!`2s?Qjf@%95e}l#WqFn@w3K_Fv2_j2N0{;Q}-)%Rtq?4`T?(|0=%#a9XK>XDE@R00000NkvXX Hu0mjfL$e?L literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/honglingjin.png b/source/lib/halo-comment@1.1.2/assets/emoji/honglingjin.png new file mode 100644 index 0000000000000000000000000000000000000000..03d284cd94e2b62558c4563f405962169690ce53 GIT binary patch literal 1313 zcmW-geKgYx7{{M&$omMh#9d4iD>>M%LPK-qZI&oe4ziUvA}-B+#- zKT8?&(=jo30zgriUVg5p0o(w30R8|N0O$nh1rPxY0lWlw126&bYJFfBKmxFUf)xx* zqfqYwDghz^5Hy$p^Z^6`qyXFja0U1PKm^DHkZ+cw+SkcqfbDVu8fH)+r>z2H0Ze0{ z9>4@(41Sth0qy~eDgkM|>j7{dU=0P20eAqH0pb8M*0EFosS0{c9fRm9Avl#E3Mgc= zIzrGwh&l*)Gh%IunBkF~TM()_;$VrG>n|EAXdur;KnTnj4Z;zOm$Y zq{aI(4uGmI(ahHK#MOL$S<`{w)|Iujv73Hhh_Bdjr;bi<&b5vc6%KA(TbP;){!+Z7 zQDR-bOiA5)rXlb8NzYJw7rVB@^3<3k?sR9reXS*VYC(NWeCxGTlf00<*(P4iI9}p2 z{$LlUKsfB%f5L>9BmF^hS)y7V>$4Lh=gx}H%0`nNXC1eR;LT$?2S8Q~rMKW@GKIJ$+@m{2nb*Ig1zd5J$W_ z9-Li7R(@vptUPhlu*_AffjCRu%63!kY8A9wHINk#`KK-jLJ5s#iuzDP(nuSvPKdbc z6UfGo<&phSVKZ8v70RRAgb7juuO3W0>GM;gSpEanu7mBX(bsg8{tLWyB~F*mrAVry za`Z}^3mrS(JhU&|bt^nakF}pup+^6e;L)7medq(Tjp={1KU`A9r4bAbm3H?v8WQsJ zQ%dyAsr%_%7Iq*ZWAfC;&P|UyUV7e1pr^j5iRlR)s+RB_Zi_`5y_>K8s~O78WJnkR zB#{T6`kFgx&rg;3#{AVi-tv3xj-(&k=0`%3W?p#YUZ0k^2?jO8(#c&l?8lrkA$_TS zmK&0UH|@Tel&n;rVOU2~lv&1JV7GmrPkBdad%@6G$M(-wZ3KBK2i=6M_bKQ$Qf{E}-PqI%wYJL?PnJ2^JY;dhQ0lvpCg`zY{ zk-3pYyAxb;Y>s78Ovs^+YDozOVTE(yHqrY|q1C(VDpFS-Jeo*UxL}aINFTn264c(P zrg5*o>^zR7>+^~y9kHK+--+Tdq=maOp7fs%d~M6S*i6>L`Wnx)Ev6E`QkII7w+lIo zXQWGY>{zJkvU{Lj`lOyWpQ}vh-(#39uz2m}6me{4?L}`1>uHHabC!#3)9$zBA#irK zNLZv`SK&U+3{0-mUkz=@Fpjz}Gjk%cv0jbIginzKc0%hivuVgibYvB(@~R=%UXd%U z%-9m?;v@}P>CYEDy@%x<>>&o7-tb(o(ccKIpPM$F9zP&8us-J&7U(_Lf{P6~-(e(v z5|Lw_ZOihZ^wvfy|Jl+R;ClE{cJG?EgrYY%^EFMkH!*fx##8=A6GyD7wGe{Lh2INQ Qi_@% literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/hu.png b/source/lib/halo-comment@1.1.2/assets/emoji/hu.png new file mode 100644 index 0000000000000000000000000000000000000000..4826d1eb08094d9cef9dfbf9b2413759eb655592 GIT binary patch literal 1658 zcmV-=28H>FP)2{t+F+$W z4&I&^(UB7I!&IGP3jWG6{?StXy&3((C-$`${LNACt{nBkMEcBHqdX1Bi4&th5AefP z)15KmvP;O6G?+~k`nnta)n53(FXyBap*s!ju`2h+Q{AL5xOxwxJPl1I1eQV){K-T5 z%2eH;A-RDgqB{+nI19&=J6SIW!H_)v|+1_|Nq@w|Kn)?+)DnsR{!yG|K4W*$6Ei`I{(Wh|I<4E)mi_}F{3;U z{?B6mqfh_ULj0^a|I;u3%~<}dQvRJxdm;n=vsC}uQ~%#l{INj&$x#2-PXGP({m7>N z)Mx#`M*O!#|Mu$r+@Jl_k^Iet{j6#I!)5%HTKJDb{^`E{(zx->w)>@Z^TS%RbXeS& zOx2D%{JodetCGf*e*MXI^@BK>Oew8N6o)Yk{_@r8wN<%bA)Hnd2LJ#7J#N$IV#J?x_kft1XoE!K~zY`&DG~$(?A#paFezcq-Drb*+Wr45pZh*p;X#j64GWg zr4&k`>oormZLg76hT7tA z8~YwZVa1H6<+TqMRHYm(UD~2MsL&x{8p(n%3@M-_v%$ ziE1o5JmjIUHcau$VFPfuGUgB8ygih(gm#}TV8(MF`i5{}E{wMzXV`uW!-X87qfJ3L z&cP=?p_m;rK!+=ZL&qC}aHc1W_5e%&Bx`ONi;Gj0u#|cuK;?DK7=GykM*GHkYARf2 zaPkMRyT_biJn=9Tvw?Pu%j&RxvJ3cwoG@2jKSN(pWx_EO!~7y(a09Sj_px*4!+3EkE~G~sZN*tV;N*iw3;`DO%%04gDO z`+^>9OKXp}Z3MU-P}o_txyI}95nHBsu&ucx;!0NwP*S$6_CfWDhb;M1&07*qoM6N<$ Eg5ZimbpQYW literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/huaji.png b/source/lib/halo-comment@1.1.2/assets/emoji/huaji.png new file mode 100644 index 0000000000000000000000000000000000000000..127801c208c44dedb7aeba5b17682318c4cc01b7 GIT binary patch literal 1688 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/jingya.png b/source/lib/halo-comment@1.1.2/assets/emoji/jingya.png new file mode 100644 index 0000000000000000000000000000000000000000..ccec19e3c034c1082adfa61de466f7b1397f8c47 GIT binary patch literal 1718 zcmV;n21)seP)!DE7!!{Ja|TvKP>i6~KWHqdX1s#8sm_ z4FCWD)}lP4JPn{t6#c_F{>?)E!W#eEV)?u#qdX1jsv7#tRNkBuqdX1sz(lrr5aX^n zU@`^Xsy_3?RHHl%-m62TN))?cA^OKe^SUkNs3`NpPNQcFl3EFXO9r876L?1o-KrDvP|l*Ou1hlq-_}g|NsBrJpalY|J*PC<46D1 zAOGuI|K?Hu;AH>sc>mZ@{>D)M)Hwg;TmRK7|J_^v&Mf}7Q2*v+|K@N1)Li_nIeQ`l z|GrfIrA`0sXa37s|Jq3Z%~1WYhW?#Q{;p2{)I2u zul>WJ{m63t+@Hpke!PQf_mWcipE~!GI`6tu)Qmc4_w%*@002RBQchC<6CN-AKVA^> zv#gNy?8LdCfOAkyLoxjO`}XhZ-`LmE$*ZDsa%o>z9r)$r%%Go=ihp4@<-nz#iGpB1 zBjeI)tlu}O000D)Nklp$QChleqqz*G_ zCR01qmMWBj35lW@f%tjY{loVi`au;Hk3MjiPM%-iVOaP|S# zv7L)8=N#vAF3VNT)3f%+l}MB*v6qAek<=ee23+ ze@p7+kL(bI8BVkS8)*-}t9Kb@yc1PB9B$2MqgWmc{hgC;l$U;?=}gUZqbdJ zU134!P3&z{)uDwM*~!N61|f_Y5J!aPyb?rJRZ9gO*-3>lM#yIDx{8DlYI4p^Y7V;{ z)aec>lN4g}$8)%VN0-`ug8+`5JG%pxpU80ApssL%M$v3f2+w9VZ%!H%CKVSWytPIg zvw3oMc6QRFL{s02MrhD59n#pD;$JP|P(Ha&qH^4Sp5nlY>YE-K*oWe^Zi+iW{_oqD^>99enuP|ufun*Rc+Pg-O z>z)b^5ua2VFY*8G>X@~07z*IHWuY9D#2GxKA%sB4n2@Ah?yemUN%nP!>S|~>ND166 z=d`||&<^32wx7HY+0T+{LiYZxDbkMz!o&)&-_>&t6w05kk`IAZE>@faaMsWJeTnz? z*NMNCaIPHu6)N+n$7I96c5eS1*WPemfLe(4ZM% zT?g|5alt)1rzAL}(aX1grTzOR9onBWv<*G(i>mZbUgH02a3D?X1=>bm2wQd#tHOM> z_JsmmHJVUs8xh)y+M=vi>>eL?MX#ovag6prAzO|ruGg=xYgN-|!otH2hqGlg6n_0- zcfxS&F@7=cjynD7k~*XAqGjn(9#R&^t*SU?G(1NAizi_nA;G8W9Ux;>VS&D3X#fBK M07*qoM6N<$f-Mtfg#Z8m literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/jinzhang.png b/source/lib/halo-comment@1.1.2/assets/emoji/jinzhang.png new file mode 100644 index 0000000000000000000000000000000000000000..128c17ea42892c2f8af33719d646eb9a77bdca08 GIT binary patch literal 1724 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/ku.png b/source/lib/halo-comment@1.1.2/assets/emoji/ku.png new file mode 100644 index 0000000000000000000000000000000000000000..3816cb3d4d43587b2cfd5f443f53d920735ebee7 GIT binary patch literal 1791 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/kunchenggou.png b/source/lib/halo-comment@1.1.2/assets/emoji/kunchenggou.png new file mode 100644 index 0000000000000000000000000000000000000000..357f0b4a1c4738c0692b351aaea53555a75bba7d GIT binary patch literal 2079 zcmV+)2;ldLP)`@WCzm#Vg*U2%2gK_`oFYxhUkS46S+x{LDP+v=sKo zOZB}T@wgW5wHC;d3EZIw{o$1R)N|&n4Ct;5T;=3Ci})B^w5RtxmNbUBme1W z|L0)nu0i?4K=#;^@4{#Cy&U}Hz5nfi{Krs?IST8}q5II5>cxZW&2jwKSeic+lROXc z(P+=%8C5h zW%|8g>&8~Sbxx&ZGVtBg?boi|v4qZ)Yr>XgyMa!$Za=qVIj~+c;J=dAqJQ3E6`L$bLQj{L`$JkAzns8T{eAtk2W-zrH~ekLP#a_uLyF@BI(zXsiE=uKMS9 zbeUS&`!#IYpA4F69JRfs+ia7A0oAl>m4W)_Wv#9KWo`8xTCI#Ng(gSSEx6gi@Cfnz z{bp=X*2}Urj#5SUYuS?4ddlJ^=6-(>J5b9&6(Iz)slJzWbTK@Sh@iCnv-3o2s6gN&@PFeh1rJUdp57o(Rt*B?&tqV{TIkOiWk?qmJ1cLKh7^TEn9#uu06`flu#v#YMPNnn9)gCN*`L14gDS?e(5zbauz1 z$Tg?ZVbs;E!F^o_Ng6xnCcPTH=po`Vl#ZgxCJpYbM93mhcF|9JeJbqrP>CeDWfn0d z8eCqPuvBSh~7;fSO1wot$%w==Dr$wCCfxl`jya+(r2fPE~5%N~h>izG}JJg&1ja-RDs z0csp9dBAIIHZ5}mwi;m&^v!4Skt04k|1!qCeZ9Q=^FuEEia{7<4$_J-=N4iB)7U-= z3-N{hR|nZ__Tbh2g6!H}-V6jbmp`V`^H7E2d^#1uePT?F-8SeG+%U9Kl@HVV^Yioj z=|frIK5PX*n_FUT0aw!tsfY`w7K180>WqnQC@Q#1jHh0{JWRz!C{Xw(C&Y3}H77%6 z0(YuMWo3iv(0Cp(B0>_-+hqmb`iR>j5w*z$`}K5K`@?8}+&B+ctWR6Y%-grBF1Hw~ zuA{K2`Kb?b-yz}k*5=mN-^*gK)~>=8PROm(M!jBM`K{&^eRyO7o7oUp{{dq&;6dmm?8D^o3Zf2Aizd+U+X7T7qs0-W#KD~7t6-M3lyackXZxj6MF}dsTZp1b#UG)AgQIsLJsw#bIvovl{I3E{pf$&E9 zeDZZv>ydQWPGPF(bxeeQ!eJ5=3^t_owud@wErzFTai2j!0E3~>1Lsge|!C;+CqhmvGzvSU`K&5z5gEE34l*z&~O-ab|_QrFVb zQa4gD2A~;G+Gn?$byR;vp~Y&oLYpG9K_(#oMJ8B`3ZDNv{Q^l@XPDeg<_Z7+002ov JPDHLkV1mX+FKqw- literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/landeli.png b/source/lib/halo-comment@1.1.2/assets/emoji/landeli.png new file mode 100644 index 0000000000000000000000000000000000000000..300aea57e7b6e62f854612cc057ae20d931807fd GIT binary patch literal 1607 zcmV-N2Dtf&P)``Kdt#2)>=8vM#i-kuoIkrJAFz<+hYFIQU2Cm_O%!2rWE$XM)${3xl&r9KV+<5~aPQUBOW|Ia!5pArAkEB(4DdLaY;olO3sOa8D({G}rOwo3k~N&nP4 z|MAKH-AVr4q5ji`{mOIv#bf-f9;`|e|NQR!zE%9KFaP)9|Jy+PtU3L(H`9$Z{^q&6 zfoIHtF~Dmg_>~X(@$TTkwEym-^~qM{uSnRKJd!*Tz+@4ECQu4PQ;FlcisTl6u z)5@KP<)v5ay;7J>D$IHo3tfBC0000rbW%=J01*ivF#bbYl6F%&{rmFYxT<<|ZSwKy zfhJZ#JZ)8O+6RImSH(Ge!fF|?EnA-K}keGR7l6|)%jo2a2N;h zHdr2L-lbidotE9nq;Qfu7#m}XLqNa-1@kB^wfp$jd%pXA+cTjh{nihC*lRp<-}jzp z+etl{)9)TSzHb6hpvqCf1VfyMv5FlhW}IZ2UldUjTE~}@)#FrFUimr zX;X7alH0i;i+!6zTL)>5%sj4Lj8ZIL;!fBO18_9T8f=mE^x&P2S0bmPQ7Oe*;~l%$i%icmrLdKs^!2XQYV?A3igU+Rdbbcsa&@SzUX1@v1XS=mW@}Xb;nu} zObS(Cd%5y*VNGOl48T1h-g{B%%ChLo;jw;HvxHPiuyS7ykLTa}Pp)gzhN&UGs@f$H z^LifgX02iuoegmt>O()S%7vn-BEGDqtyd!E`~3XzYf-d>iYUGTyp5+e*6n>!K8aPK z>XZv!>+S8&qF7idIwI)zUqqHdskT=)*Tj9*k2Nis%hjB{S_PlXT3v|S>l?H#EW=~m zb85N892xOt-j9=uOWAC8DVMCnJErKQEB1~w?0 z8eLQp&HPQoPi_iY5~6AOU<*2}kwt1DpT2`QbSLd5zd1t^hmC%dij{8id03Q})5=v3 z^PxwIGB-Cj(^6nzTIl!vO151G{Gv4rQEol~jB_hQw-RDuYQ%h~Ur;hc&z<Qo&~G)x{a~*KsV@F5?BB`w}3s_=mC@@83h{CXN|3U z0fR>G7PyBntBkV7*n08?{P?*qvshvhu;_M}-Ldb155!`z#P8OB_>l1GL@ai$4IAU& zqeLeX4fKZ&|2#gT?e0hG8$8?>gEZ(PUEkf>I{HK;v9WtNw7)geFuVJ4w@>=&L2+iL zn1Lg5t{ZKW9_@}%PsS%BeAG4a4L#kQ>ko&(2Izrd)PxJW?zqg3v|-<-@LYJZ_gw5( zz$7&IVuv?IBcWgmnlvAw97AbuTNrK7=%L6!?{Fi%-A5=F$gp`RJbABgWVo9>q~Vdi z{A#E+ZFK7O_`~*y)_i#!evQYp4002ovPDHLk FV1nwjHXi^0 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/laohu.png b/source/lib/halo-comment@1.1.2/assets/emoji/laohu.png new file mode 100644 index 0000000000000000000000000000000000000000..e08e92986a9c092a68232c69d5e97a5e4c7e3960 GIT binary patch literal 7015 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/lazhu.png b/source/lib/halo-comment@1.1.2/assets/emoji/lazhu.png new file mode 100644 index 0000000000000000000000000000000000000000..a78d205602d75e5b835c12aeb5f3235950293741 GIT binary patch literal 1696 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 T(_*p|00000NkvXXu0mjfM>6k! literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/len.png b/source/lib/halo-comment@1.1.2/assets/emoji/len.png new file mode 100644 index 0000000000000000000000000000000000000000..84d9b101c4275fb7ac14c245df317b89e309725b GIT binary patch literal 1647 zcmV-#29WuQP)AO%(CIr5XJL9Au+oUh!vP#F4JHl)wu~8VFIt>5dJpbJ>|M7bN z|NsB-asT8;|K?i%vI3tD*wnB|J5J=)i(d+X#dVF|J+Fb-CVzB z7wf}Q{-8{PC^y-NP5OqxIlv|AGY@#g=^Q@LIrjWPxP*uee4o%_{g{FPqy zfj0i<)%~r3{^5S*v{U+&Pu!$J{Hj6sjXubFEWvFlu~8WP%dGsmko~V>{={MYp;_#@ zRO75s@xDyts6_jmLH(m_y?8SgV;su>001&{QchC<2^AkGGeZ4a=c$wRws!mT-^ZGR zdNB9$?%&O)qjYFePuuyKoo{| zvKLvX3Kl6vTBW z%1K7=-VskeaillU1St5I=V|hmd&7GRZ$9NcP1yo^74_>ZIq7EPiKACFZNle@XfJ!5 zPhXOE0DL>CY;Y^oG)2|9Cf2Ch{cJg3&9-)Z}2qZ9y=qaU6jL2XBu97 zz-8x%O>kyP(cMQLt)6Y}>FnU-B*s|a=CquWQgMqhPMW>IM`*i_X5 zrQ;tWZE)pKr$!5EI2vzku4MfuQ0w>mzp+?=JP3701&~euN)qH$B#^;YfLgoVma)(% zfJGY^V?hJi6dzo=wah%oYkIX>ZCs#G;eu-iIwMM9hjQMuVnmqQSj$!!cvh+ycYPIE-EOtuFR0k+NX547o%|VOtKznb#bV3t!VLuSyPess zuZ~pgtxTj_knLuph%_oz{s>lOeWYps+R0a?l3`cew`KQ`{7^DVcGGRN8gA1zjPHjr zf+H;#+y`OoKi$;Li`qaK25?rBCGk)Nu_A&Cez3^)ltDu0Fv&3KDeWFYMcQQx78E}~ z+=IJ%asTzc?`)ViQ&ObYeKgU;`T5L@AYfSa{d5X@k<-s52M&3J1*d7D`IAh81d>9M zFwi*24?9V!BMbP$Oa?kI{Otq~qcxrbbBQmhY|~G5)0SG>Ns8~SYbpDLKlT;qiy^Cq z247W&faQN!RjU|WX)4f+6^F3DP59-Q;C;rVYPSm5>marg*jM4tm+kVXZ$fk5tv-{ra+6Oy;kEg`Rcwig2~nR+$i>t;qZo9#@A6WEH}gEK?m1W^Gb&21;ef zsg!DeoR;&6#(}o#&OuAnHypIUFp&qG0QwDQtTR6aXic%%GUv`{3eexDSEM?N?@VNh z^QKeLimJyx=PHgxY$90lu-k4XCfj=vgB`d~Y-^{-Avx1e_OOGsQZ~CFh9Mn~wwfm1 zi82Vd!DKmpqCZH0KiC^DX_hVVmXdJjy=sBwehGCVYF8Jr}Yy&_edkZ>5?tg zP~HWOK`x|HGUG@`o?9hbs-fKNjr_-zZw8h*Fdx+Z#wqj#@O tT-T`*y?}A@@C7DtahckSr+|D{`2&Pu{;Xr$n*{&>002ovPDHLkV1oBQN~Qn+ literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/liwu.png b/source/lib/halo-comment@1.1.2/assets/emoji/liwu.png new file mode 100644 index 0000000000000000000000000000000000000000..d033a279a9f006e76c222d23ad3c72fa5363bdb7 GIT binary patch literal 2091 zcmV+`2-Nq9P)_zdhJ1h_BVU$Yg(daTcsd>_&$O5G;`%Iapo6u?mctOLw3zI zZp}Av%|LbDcDv-5$=Zm*+(wqwG>g+ZkJLVq)QG>>gVgGziTeg+ghpJe9857#Pyxj;-S{! zS*P7FkJ^I5;H#9KjNk8LuHG(=+H|?!Qm*rj$>2?)-HqVyl+EEon%lDC|*p&Bzowf0oO!?YvhD*b1jdj3A|{CCF9$ms9= z{-cHTY5RwkeCXfE&p!wSQ2+o1Wl2OqR7l6omy1&qR}{vxl(5-E-UJm2R*P?K>+S}~ zOH50H(Tas2h;2=6u@MVaTWy7P1G;p9jS-BjUk>qEy=cX+7ueLK1eoomg?uxeh6Pie!w<`|Y(Zj|wE!=~!^s@a<`o*j4EPdpcmSWEseBHD1P2w_ z^{mwb0PA2`zLMZ9m#N)IWqFLVXppamb6LKs+UaywyNWr)VWaxojD|XjU2c!ZTgCHc z9c<=z)@bq+!+xISEckdUFpE6D%jMKoeU1WM(#)*0#z_PlyzJXx%`p%!AQ`}ewbgfO zi40vm3I{So47eTR4}na5I-gf1dcQ}sR{;R%i)cB*1oA>0Y$YSOh$9@s<`g)2CDdpDH?$pv zPeWT<8~*lLMG}1QXqzV75-c}>!{P9;_V(lL?d{=X;Vp|W7pT}04!5I@AA>#N&o}Gf z!VMjrot-DXIC<*S$uGa^JblK$;Oswhy0i1^Z%)C&S=iFCRrjS%o3?dz3qtofF%pT0 zJ>9+M{pfL*k%)zOEeXCphVdJCrTC4>o5t{{ z5=Dy%w77L90pI>!fCo~hFfJ z1CPj9il2!^#}ZhM_mlXEm~0FW%#bb^CuO;HHv!+C#ygQ*O8ufS-1P`65mU=`?O_7G z{tGtjjGD_d*B&E^`wwl|&&WTMdG+|n<=gt@f-%Wvpga z5izSX5>dO=_+5y+O<5OZx0PmGc0*B#F{aqNwDk>EG(5{!{vI^*8yN V)5@~|?Hd39002ovPDHLkV1g=m3=aSR literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/meigui.png b/source/lib/halo-comment@1.1.2/assets/emoji/meigui.png new file mode 100644 index 0000000000000000000000000000000000000000..b036278557264e3de255cc931ec2fbd2efd05469 GIT binary patch literal 1647 zcmV-#29WuQP)=8D#{~%83Jd`O0M`o)00IE+3k+2P z1Of;E)dvaQ3k?7X073!+%?S+S4i6~-0XhKz00;n?2MCP?2LJ&8CIA2f1OVy}5KRFA z*a!;B3kv`e0J$a&TLJ+u06G8y zhXw~o0%LXuP z1prF`C8HY*h6oLo1}U{105bppD*yme003bC0c-#PYXBRa6DF)104)Fzs|Wx$005o< zBCr@9sTBZm003411CIb4o)YE~5%d}s_97ep8W;8o4eAvW^Bx%V6&3m;9Q_m%{0t8L z9U1Kz7W^q6{V^l_E+Xa-5APiq`vwdD78yRvE@_%3{|FT%(HStsDP*N9aD){kycjpO zCp5hzLFhp|yevt+Iz+rQIkqWM*+DwREKJlo62l5dy*MwsAVtzOC&3z3(?T4(5fi!! zF~lTM&_67~9!tzR4Xp)8y*Dep9v7w!6tW91#vw(@H6g(jRm(#owG|`078|q>PQpGP z!xUN4Mpno~q0DfI00019bW%=J0263P3oLn6w*Ja2toI`8JoIWq$No`7<^DogS+c7f zOEdj*>(@;2gDs8U{=!M;_}Zy8R=bw-q}{$}Rnwnu%xUWJ^J4cx?#T1~TXTAW$h*+_ zd-{W=?Do2);M|Mjt$hFh1K>$SK~zY`?Uwyl(^eSAlX2Iz1kz$krL#55*x0PjA{%=z zWGJv9trT$cWlL{Kdb8$5M)!(c8-*2Tb%J#&D&oJoo10qnoSl;kKl}X9b8k*Q`99D0 z=6O1RP8%Y% z-+(R*^%%Ci%ipxa1EoS=Fzlv{w0;8-y3ier$CuvpO`ADVLa5ZQ5lT@IQC3t0%Rzs~ z0UtFjq!3AD#4(AGqMDXfOwc%%M3!X`NvOr~Ly)Rq)+$mR*HH}HZD}=*kah)P)zvi?H)7XEu;_d6z}#Cy;G=Vnb1&F!&o+ypN;|w zm`xU6DAlq}s4Z*D`a1&6+sR77qG`Q=<1owb4zV;d5QtJzUqMzUY#ZsxA(3wQvLZkD zUTFm(qHLnF9(|wlW5F@@dFH9g&&LO@oLE^o@rxe*U{K&ipPWyohfj@sNR}V{`rD}R z@$a8}`q>|!fAOWni+=Tj%<9$Z>hPF*+qnFdB*}kH2(i;=CRx!>7Jp%;YW2EvZ8bfO ztHyxz_4RK!F|j&9V-z=oVT_-hn#M)5%|2E8g*x5m~_wBjkTQn zlyf->Se)B%VNCy>cP*H|xe#GU1r#u|*mOL)b_-L&?SJxAm={v|PTfnqd5&RHo0TlX z96LEXJ59j?klm`@CEBeKhE3m`7jp9Xd(Gy*^0+_Eir;SCzw0_)m6=@SK|a&0)@qJZ zJA3at|DF)}Z2Douzhjrky9tps686>rGY5M^5-9KRG(bRZ$22Cd+h9Z4(?o~ zIc%2aCNF0)^7pm%j3i{9)*3|FX>Cz_A>D4|B;j&(cOk*^LjG0@S6yvA98OU+GoDji zer@;8B8%S+Y4K8eX6DpfD#25Y5r&zZzp>j&xlIT}J`zhLViBIAuUz5r`L*r!iLBTB z09S#74rOvbT-({M$cfJ203>KocC_;B+4{nmL@D)B4Bg+|ye&_1zC-8#f|oDmvj>tT t)7~|9AODSCro{tg+@|S_eH90b{{TMvSXs__y3zmu002ovPDHLkV1m90y#D|I literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/mianqiang.png b/source/lib/halo-comment@1.1.2/assets/emoji/mianqiang.png new file mode 100644 index 0000000000000000000000000000000000000000..514f7c26bda01e46beac6d1eb2a086ec83a1ef83 GIT binary patch literal 1786 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 YFB2W@%_1#p`~Uy|07*qoM6N<$f_qhM9smFU literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/pen.png b/source/lib/halo-comment@1.1.2/assets/emoji/pen.png new file mode 100644 index 0000000000000000000000000000000000000000..fa9209dde4fdc0a62aede0ea9ba4254e7400f4ea GIT binary patch literal 1800 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/qian.png b/source/lib/halo-comment@1.1.2/assets/emoji/qian.png new file mode 100644 index 0000000000000000000000000000000000000000..9e97fbeb0ea3aef28766152a6eff9e021d0b11b5 GIT binary patch literal 1781 zcmV+NC<_x=+lRIE6_InN=J9!yTnR4*JVi;iV~}I}GimW&OZM{If#*tvUXzPX41#|Lbz2JPoC0PyU@u z|IRXzMl1gK@c;Ma+rYSnG!_2jwf&xF=-AW#;mrKJl*yov{k~ZK@!0`2(`;q?V zwX>vo82j?^?b*|}s+yT~ZBS4t`pv|qi-KM_?dRg&*T=++cy(Vr$#-E~PwwNEtJ>ZG z00iAhL_t(Y$IO!LOCnJe#`g*qDuMbTvK8GTih`xsjok|&_b@ZpiGg|3X2MJnG!atM zR0{nN!T#ZU?)7Eb+*UvC<8YmMe17K~@10Nol}@9{=r9%emq~31?Wd9+j&YFjPS=1F(NAP|Bl5!wt5RX_XJr43kYr{xyOlUd zWe*YhrOqUZ97fJhz11*D9m|$iZzW1(zmiqxSvIWOwr!|amkX(ea3CB@uV@>$wO+T` z?PjtgoVmt%Q_MU zZR(8BX-n8bIR0+%&@q^%D#mWtYIT38)TdG5bZRxf?klhI_$<`~h>)emre#-gYO!ID z%2;lXWp^ok#ob0&ob-ckS*H1}H927d22E}ls&a#O4X|K9=}kpC6s4IG<}vby-HjuR z(p!{1`?z0Em~3GiOMiId^mP?O0PHAD0(hG-0M5DLV)nl7Q~4^J2!mTi$FEaajiUfz zwiCdi6UMlq2{k5V`aH(1ndp!c0=-|R<7a%c2Mrm}Il{r*hI_iv>-08ogG( z;qu&EhC4t<(-sNN*hy#sf8S&V{&IbNT`XW>9_BCuExAgE>$8MrFm@Coi-XFG&T}}o z0D~397YT$n19&^nu(ehw6f`V5PhSM95Z0e37|So<5W*-OWf<&2Du_B3%BQ(n%D)t~si^OX|2qYow{^NZ!Bl~Q`*kiwf%;A0fK7{#eZJ#U&A)ZINA31rB zWjy`r3fS7;z8m;HBbaVHLi}+A_@6anzCTC&VIB#ky~od98>v|l-5~DWL;^HfC#U51 zqaI}XVRBk;Rh@|tQS`osod`7ZlGJr~$(pc>0X(|v;eDQ7M_jP=$%Uj_(3hy-(cF;5 zxHsr!;=bucTLkA(D7QvD3`5SzHdZg&nu#x#*{jh#p4ddce>6c$_Bgp_HMA`8bT3p;w`rAG~w{huL z7A9sxw6$tuLLq#x&(7@2W&x7w+!~0RIuK9gF-E&9rKK9r&^EL)Q|10sxy^QYn(wlt zJPbHMo$(NDQ{S6ZaWUGw9u9}s%}5}n)|IlY`jb7@g8_#C#F$RM*KR?}@(19}n6|71 z+m4~U*T1*Tb81b1V(o=;SpIfmnKSLi=EG#zmlSLl*4*gVV$^AOJ9tb}c7Fi#?!U_) XemEkqY;({V00000NkvXXu0mjfufdAB literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/qianbi.png b/source/lib/halo-comment@1.1.2/assets/emoji/qianbi.png new file mode 100644 index 0000000000000000000000000000000000000000..29df220586b61146aa2028957a0b5f018e65635b GIT binary patch literal 2051 zcmV+e2>kbnP)Pqz0*l9{t-o|G@^*iUD3c0{-oMa!CRI>`aDL0RQe*_TNwT$2O~Y1K5uO za9k){I|2X51cO)z`rKlwku-j7Ev}wSs*OGR?S1jnVQfDDQZE4N&|ge02gk8US3e5> z?z!IF)?Qy||Ns9qAOhgVUH|-r%&JK4)nxA6Z|&G)?#DV33IPA{X8-bc|NV;o{ha>( zr2hPr|LbJ`-9!J(5&y#i|IPvb{%ZdJtN!+q{_Ar8%{BkE1OK}O|Nnjd^^E@Ga{kUz z{l-E4#5(@NGX2g+{nb?d>uvs{1OKc7{oG{!yDa^i0{_eo|I!Tq)*JucJO0BQ{?ktV zs}%i=0{_A&|JoD()Dr*E1pnkx{^Ml)uN(c90sq+z|Jok^)kOaCg#Y3+|Nia&;X(h~ zb^WU_|Kv>n{pA1u|Nq)1|J^kFvm5=lGXCSG|M%1X`Mv$QCI7<=|Ng=M;#~j#bN{>w z|MR^6+bjRX5&oRMf~x}nY3L__G+X~nYT%U^hL#mZHyU#eX5?0k9U>X#2RGztO`#KwlE=8y!d)-HOs zbSu{#6agv-gj-rMSzrCi!ffTbLyQz6ZHJGvA8r4lqcb8fenY!VrKJlbAFMve(8#ea zS&=az5>&PB<4qBOgq9Ojsw$h0eRUm6IDE3_l=5Xr({|smV!wX= zYlWO1ykN&nA8cqa9tP;Fj8~LgcW^TRk&EAad+EDNw%s4|M`nVtFc4ZPsS1{WYeXb` zZ&``UHrJH`?9`3ZaS@0oFsv!D;Hv-}v6Q4~4srOxaGt)FaAOYu)Jdr{*Dad?>Qk(g zuERkm^z}hg<3y6kBdKg`&15ydA(Jh|?AAjl++)eAZkTb~9y<2Jk3StS7@fqJjE)*P zx;uiR1j9Gx1O_Kr((Fs{xP232`t#^7XEa@9EFKv%+-3Iy@GFKzq1RkRksfQDe+jnS zA`}yP+hUa>%%c+{3Egcs3*Cb0oBnn!7115V39K2N!zN2snn>TBOt8Q-J*5}=)r7*o z$)wiHF5ZlUE@#Dt(S62rvL&O_As%>oL@mH(TmbhdsqmTWEi^N3rE+Fs9~M%Q)0Dw- zIyLDrnh`~_Sn?TVYa=?A%{ps}++rzVNssaO$y{(vYeLZ^Cf-)B6?v_*bqT3zBBAmY zVfGoH&al^HDwLzmK_uSCaH|J?TM*iFOXi);i7=c<{5M#9w_?WuI4YA$FAPMtUIxj= z%;C->!K2f;R-5q$s8yD>`QY$HOV;@R^+M!qY%V%7;g)+ijL!Nu$2$d>Ejp2O#8`PO z<-BB4ZoAA_7~Pu#Kg`2=RtAG7Zr`1BUkj0$LA`0$fxJiZyEw$)DdsZ%>=_As%@leI zwpI{sxUF)>~y^_4UBjM^{^_)qWt)ehAd;cjf8GXn^SP^dn&s^2 zsdUn5RjeCA6T(=3|L@=mHj5`A<%ZdKapfHpAmsChU(d%=Dj5$ecc)70xQ?*Ip;JBJ(Kdfj5!QX-_F$#ntwRc+zw}CQeVsl7QZW?Ha7JO zUQ|^zlgtk<_{4#SFe!1|Frxs_!Oqt_?cEPN^K9tL%Ss(|fj#U5?oceM`7EA?jegsH z{O9@i-v6NF)nuChz#T@bC1}%Zvh62#DcKYJ@S{?2U?-zDJhZH&q5F9a4maGgA0!Ce z8F;E{!vKgKo*8N9wWFpt*k1pq`3_b3XLRE-NlEygcH!p&<^RefMy zmDla#cfQ&7hdn8blh?Zcx;M)%BVeXgl4{BV3#tC&?d;CS?tqWl+S(q?JmAmKW++$J zFNkux)Yt886!KS3Vc*~9w5po=;Ipt!^1EuQcYm^f|Nc)meYU)6%eEy8C+riutAFl@ h-PWIv{9pe<{R4?p@0(qKohbkS002ovPDHLkV1h}3JGuY> literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/shafa.png b/source/lib/halo-comment@1.1.2/assets/emoji/shafa.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc3aace7a1e6baf9c6840790d243a9c7d838537 GIT binary patch literal 1360 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/shengqi.png b/source/lib/halo-comment@1.1.2/assets/emoji/shengqi.png new file mode 100644 index 0000000000000000000000000000000000000000..46bd229e9ded9f1685c2a24346914ded79a4b3f4 GIT binary patch literal 2027 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/shuijiao.png b/source/lib/halo-comment@1.1.2/assets/emoji/shuijiao.png new file mode 100644 index 0000000000000000000000000000000000000000..c306158c8e32609f270df0b9666e82dcf13b6fe9 GIT binary patch literal 1598 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 Uw19HERsaA107*qoM6N<$f;0D}i~s-t literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/taikaixin.png b/source/lib/halo-comment@1.1.2/assets/emoji/taikaixin.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac7f2f1c7be0ffed14a509d57a121ddd95235ad GIT binary patch literal 1882 zcmV-g2c`IlP)i~6a39v*_IQ=Viur44Bx0U@4{4vI|$lz9Okx7;IT}@jX1<^DY8)%`N1*# z(_ZecEY4~fw^tIbaSD}N2V5@%qdX1&?WOzPmg#Z29*NdMJC<%~h>!hraAzL^sxSS@ zD(9FbwP_rkOcMX?h5EdA*`HkIxJ&%HBjKVP--H{#T^0M>YvrwC|ISs+l1SEfqGKz`ciaSK}HcRLlSX1rtd` zK~zY`%+Jqj;y@G!@SSWzKw5Pxx>RMc^dPh@)h@j)CV_>7Bs0{5Iheg@?=b-n9;(!f ztseGo-uI?6iS_5T-;$Z>_&#|rUp{+E#rjR2oUSAJdbJLPL!qSvKZS49qE5bjSMN1PM0@z9USR*csvozCT2va%igT|noiysdO6?A~ zeroEUxd#o~shX8$t-(dJ4g4r2ohBa_L^lom!^c0nCdaJOsJKX_%`|$q0<#~q`Wbb1 zDMo18Qph1&Lo4V$4*Gn*CW^2}Fls{fS)ADx^oVZk(IiJHSj+({24`1f$9Brtm|JbM zu%H?r_~WZJ9gXof8+1V@+e2T<#>>d}{cvPu0Xl)Z*%+}y>6t>dhGy8mWMhpGf>Ls4|6UR0I)0#rI8@nbHj{Im2pE-XG zXDNOTSNtyVW7{-c**g1T4>9N{nsZ>ihO)IAuDbltO(rJCZ1bzhMVWGJ(#g`qfKFoA z@H~pT=6kH!f@7~xB3a{G<{1X!1q>##d=`gf3X6Ep8n9t_ET?QvE$~|7g}gKtB!NY6 zCl)xHo0JNO4SY2(Gfa6-@3OOj_%g#+0b3*?MC~u(#uLHBun9tvS5-n zu{MdNNxW}Nr{bm9d0{YXZ-4QAiN_PA()Dp)jd2K_)KhG zyE+~}yEymk@$}&(;1RGB_@kzorg?tV?4{L+Ah?>FKD^8#{9eC+9cvT#-6deIo++ei zR;GE$x#OIh$2hzy;@_{YH7(-fa75EC>#C~eol3jVC#LL)*FyT(5Zcb zqlU+3#R6bI zDfNhumh2K6N=8sepPn(scr~ps6J-aFEQ|h}cG*!6$suApX?(x@J>#M|i6PmygEA1l zb^5LA($?vX$+C^~6YQ8&xmy|I9simnJFApJEF}DJ|J&eb2`tpB$#&MiY8n_WlM=_* z1NZBZ^)kN?Z<0S-zraF8*qbC_tCYe%UM$s!cKSsYX9~vxhw!3o$;{Z^EdwHjOIF3@ zlAP<8Pat+WIMXRv%4ozXdDd@b>n_z+l-z&@>juD6@OG)Id!vzinpmG7&@}z&!)9n? zPhPYZ+diQC^wRR|=huaW02Tba0X%^L3x~T(B-S>MC@K(Gn0xK%)8(7%2>|%*>Gjxl zkP6Is@)hmzqr=$7S}5TaTHlBr&I85v-<%2t=SjgJ^)`w*M3Dj@F@2k#3gmy*U-7|% Uu9eX9_y7O^07*qoM6N<$f}CBt2><{9 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/taiyang.png b/source/lib/halo-comment@1.1.2/assets/emoji/taiyang.png new file mode 100644 index 0000000000000000000000000000000000000000..e21b2bafb1ad6fa1526c17218f0aac24dcb78a69 GIT binary patch literal 1611 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/tuosai.png b/source/lib/halo-comment@1.1.2/assets/emoji/tuosai.png new file mode 100644 index 0000000000000000000000000000000000000000..469317d90339df9507a9a66520819c9e5e3bdf46 GIT binary patch literal 1829 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/tushe.png b/source/lib/halo-comment@1.1.2/assets/emoji/tushe.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c997a61e3d32d6108010041791f29e21fbdef5 GIT binary patch literal 1733 zcmV;$20HnPP)nC;HT3{K+z@MG*x80IYElr1u|SGQ z6Wp6Y_qG|{o*4AUSMI=4{Le@Bz8e12QT@Xw@2(v7#75Ye8P1OqyL=DGlr;XuANRg3 z=cE(uu`1@RH1EDh&X5|=nJ$-I2)~3W;jv3iCIrTlI=+oN{Kr17Q5f5#FS1e?|Kv;m z-#q`z82|2Q|LR)*@_PT)AOG-j|JpA9-cA4CT>s`||L1Q1LPY<~C8RtJ|JYgo*G+mM z1OH4%|I$;B6#SfrBt-t6=Db(2WApvBp;`+qSnh=p*N)- zq)^)beBXD>hc;T;>pqD_=grS&;*b9=B+d6>uTyGVKpLe^559hb-c~DRT}sIqyy@ji zqgx|ir1wS6XLXiku5r%qYhR!xxKq=L{E1mAjOj)GqRn^_+CQh=N}d1JVY?dF%{W?d z0rhqMyGK5+)ulF**lE^Tf){hBH`o&|cL+Ia3l~(f7u>J;A!_%0K^vgY*a}!Smx|`O zv5=BhL7%r!dm4jgYZkDSE zFV=cx#M$gu%+1z_v8v9B+cshh%=gBMZT88+Ib!GVsmWza0H#z3wR_Dad8`4bpUU^+Mvk&f}+yPqVsgqFeUILtjWuO{S_-)WC`n0bZhK;c+VMQDHXd8mS(J0 z6HIz|d>-v-8z?w?Coou9*jq9+#XtjxFSr^GJW3znh6UbX<1q;nC~UkQ zc3kXxfLCxH7|SSFIEbNfT?b7ALloB^*E<(htbwtgn2t^RSTR3#8hcz<4O*+jv54haE~LsIy$y(JIA@M>v=T-_7n?^LEv)?oJo&YtJNNU6!QKJ zhjqT7{|z#4pchHRzby literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/wabi.png b/source/lib/halo-comment@1.1.2/assets/emoji/wabi.png new file mode 100644 index 0000000000000000000000000000000000000000..f941015f025cf54184d069e9227ade5f7cd0daea GIT binary patch literal 1717 zcmV;m21@yfP)US2=krJI^ z3*>SXxq2&wNfZ6P82-~z{?=al%2M;cKKjgB@WWN$uuJ~NE9|2d`@%2$)Lz}47Wcr*G{k<^!u`a}G9RBO6@yTEPy*vE3Fu`vtyI>m4auxm7kJy+(-I6AhL?QgP z9MpvxuTB<(E(-hd?)B*6=g-C6zOKQHbobO|>Z?h|dNA{p9_F@Iv2j!Du`wKDJ%<1Q z05Wt^PE!C69xg!slk%o^a9952-^jMAbV@55^zrG&!?=V`{rcqBxUZp?l#79AR!u$D zTsh^>?UjYu000D(NklyE3>SqY5(q?NQud~R zR228F+CBeu-@{2b!HBir`k@bac|6IT=LHN6|3lK*-`IB*(%0DE`FFDaYVU(b?30=O-RzEW**W6^p<99iy6CJNq;Dz>psJ~u2 zom}f}Lvc6Q*P6oTYSBDcRLwo2&JNwI;VJxMYzB&}?>3#mtzZFP9N-9ZJ(Qsswt1!! zUT{v}9weLsuiGWn=OIFUU5OPw1?lm1QcB%ef_> zkR#YV#mfZmbPN0qir^kWT80C-`sh7gO70v}!po1R3#Xs(k}bFa>*jvm$_F-VIB!2_ zi?Tb%Cv0k97pFucOx|y*i4h`F%0_~$Qpn|U1=d!ZjWSq4Xf=@!D$Mg+QbOKXTTZR7 zr#5Z8+I~q&fC9zDJh@pwF8cqMj{$Z^qbFYd*Xu_gU(G#O7yw1+0Ri3W_1PO1-2F`Kpj%EmHs zIv#~>ETw2n_RArW9v~mp^8r+C#oStXu4J>j_LX8%W?4UIl%-fG6bm^V4u44MA=uOg z7y`(mc`eU-gVqw!F zEhghJ7Sv(VP_&yq3OzSn=7@8#kJ%lyBLUtYnX^Cj4 zmE)_oh|=kf7FQLooPaIfgBfNdF$8xM3hU2^k8c|&)?a^oY5SB@jc)e=WZO2!9VQL|uE@00000 LNkvXXu0mjfR#R() literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/wangyuanjing.png b/source/lib/halo-comment@1.1.2/assets/emoji/wangyuanjing.png new file mode 100644 index 0000000000000000000000000000000000000000..89725e5459201148dec43b9a26758deaac0a4322 GIT binary patch literal 2982 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/weiqu.png b/source/lib/halo-comment@1.1.2/assets/emoji/weiqu.png new file mode 100644 index 0000000000000000000000000000000000000000..38e6c2860ef16fd5a9f8861594c8cda9155761c3 GIT binary patch literal 1660 zcmV-?27~#DP)N(z%u z4YqqO{?t+Svl;fpMdz?M-=rv~O%CwGRoZ?Y$dokTuuE(^5&YX^_`omx)L!JE6Ya4o z(vc9dQxVypE45${n^_n9!z=yOUHr~l-k%!JdK$ff7rB8WM* zaU1{brT_16|KB|S=1~9gdjI2F|Lk7>?q>hxYX8d@|Kmmf-An(|8voQf|JF)+Ap`&A zp8lXr{nd{D!c70nO#R)J|KDZ&&xrT6Yya6){61s_tUuw68LCDTnn@1Mjy3h2DXwH2FWndq0000sbW%=J01zEQC;alaHT$2E zaXjCPb#qfF@#n{_q!|u(viUOhvA;usVUkrx+gW!Ynbty^d zAKw{CiPU7>k9%Jc%Zlb<2K?(`}-jqj;^sjwgYGPcKB}Bj^`feosQJV{q8#xyO~7|hv4vU&HmFTnW1*HCIhF{ zdIZ`Udd5KqPMg(z+i|OQaOPOqc1=k5KYc+6Sfv-wcXG!cEG4ymygIj?p26{UqxS0( z{<1@%b<{l@x(}A>lB`%9UMjgS)uspcoztO(#MKHbHpN=kmb;Z4pwx|J>)y%WPDCWG zi%nIP#RlsztD>l@#jaRuE3xpLR~8!+O5;ggK+0uI^;(s1-l3(kF{R|RwbPdvv#grw zv{}+aNL?XT76*d%c-irS%1TqGBA{Dt4xkTlsl8Eh$H}OQOK}DZLZ!*b{ zHt1ZTGFvgAVKSS|=L7T21gE&vC;cVr6i~ z;t#@fou1W^@X%XbG+@;+BhI7wgz-veKDJNHNaMoNEW6}SH@kQWhjYnT@+Cy zK;D|L6(F8;b>lvnh{zwzQR5ujv>WG)^a7fgayyXEdr8`mu7@J~4`|}|Wkpt1RnvE- z26tJJVsgJoCyvXC)$8>fUk5fjVI5AV)3EPAo249Q&Lv{<^^_hq_|Ebb-~~b8Q-JOe zlb|m1Oq|e;AE*!|jBVWxKAp%vx6!fvRZL#{(RI1Cv;PIUhDYxJmK*SV%wD<{3h8Y zzT4M>ALZ0u5pcnzb^%J4zw699TxV<9Tr!!?-52;1zE^X(Vy&2GE|6f8>8reQ30000;WjUH{4;|JN@6+c*E^aR20G|K41$RTux`QUB{||JhRi)k6Qy zF8N%!~Q0Vf4pO%Wf@|Pc7}< z*8I_ygmzL-HYeiZ-pj|tt(1&-bxl2CT$FqDc>n+esYygZR7l6&(RW+Z zP!tAmlMajQ#48Y5!1{*B9esG-r8T{42(gnKIST)(LExC zLhCUAh^-%?~R?h~de^Cw4R*T8BjG=Ouxl6(m6*$|zT|HN|!_!zYQv zj}oj1A;G{kyp4PN5oh4b*>cI+Nx==rXC=1*Krn*%3C~&hMM@#W1AE>}H%yoYSZ0&Y z5VNh)@31gGx};!|_?WG{1>8}HfyTZ^96Ur-RYf6)Qw$F;DcQxfBEYF-;V*CQ@RP}ic0`{r<5MXA(>rFYYPjSMs?U(f^j@M z`{6ha0Q3(scw48Z1wl>H2_41MY4s-IF*hhFKEkf5Z#UdSgW-?TIqGt3W%-Sa2; zV@*qERY{_)K8*1XcgG1GDcQo|2YFvxL|cMK!{P0nLSZeHTB3j&`v-rmsA}QhP%efs zZp23T7w+&@LCVQ1Hf0y=)xEJ1R;Ip$X$IMI?j4K};#-j|9rXPsTO0B&zD)Ui;c(=s zjXCGj2!0xwm*rj0B@kqEN0xU8Ug$Pb!?2?@5($Q|^F zOvF>m+nBGrkJ>jasoOG5KEIpGZExptx!s-ohB4Y!(ITZbGT6(bV|zyes0E1}mE2O&y}24-fOjbc_kV`_}AEG9#!(;1_fVcykDwV5CbB2+99Jl5*ub;YX3AK*AT z5ts;Ek!TbTb-2u8rk%B-C`K_8RTG_vMn#b=UAlNH>MOBs+iRV?joIR^7Ezp>j80aO z^ez1O5f`(Snr33MlG2FnBkT*8>(+J=eU;!_cWap~!>Gpws1~c(jyls;=^k&sE7DX- z@j+|7ey^%(-su_}LQcb+PMfio*($3$>&Kc0#Ikg>)VZ7vj@fGE4yS8;q-E$qyW#E* z47JqWX7mQ!RbPMGOnp5{{#weG=Xr<2;naf{Jfk=CEGYl0`~tE$^c1^vS&_>*Y;m~8pVR`SGD{g-QgO9{r0Hl1!T{M=~sjyC?= zV*b-l{LxtDt26GvQlx7T+od|`x=?RcIr5oe|HU5u$};}eUf-V?{g`a?!%o+j8_0r`>QX{Vg448(6s*1 zX4{=Y+-)<%a45WFApY*+``5+##H0DMlJmn{`j%Mur$gm+I?RDGv{xJUzK8mmLcvua zMPTa*0000$bW%=J03H+;%qlhTNxry}epys3{{8gx*rbDbb!}fF`}gU%uBxS)m3VGl zPCq>m=;Gef$Hv63omx!i)0&NGMJnc*3$WC$000DZNkl01&}6b5iv#s$r# zOtUgAwbW8`ZLd*6hRcX3BTJHipdq<$Y06;TwA z%zXMt6f@GaL`Z|J!d{U-^$kM6j@52$!M=krW2A3%33Rgh0nGi(@W8sSsl^ywVxK#q%vaW+|YYDreV-SDu(8_uSVl}kwnx=m>}(O-ymhoo7Z#%$CU^Pj>TBB6cu7Dp<|Az~E=XuePYqYx zF3ZFV%gJPtNJTLGms6=EA<-NB)PM;|Ed~OC#gwwGO&RvOTweH*^@W7GV=1IWujl5r z)$|}v1%kn;sbC-#TUL8^y?XQoeMd-nY~_wD%W^ann8E}@(b(qN+S2ZvHy2!3+)d~^ zmXsb#Zt5FzvOEqrh_?bE;w7uAQOaEEl`at6L9xPcJ7QUZd%<8}Ns%ct1XtJ&CCu=3 z#N%>Q35DQcz+10Zn#l|5ak@i^&ha>m8n~Kq#0z`z_-Xny9*?Kfcv%MuFPVm68)8IU zTpRFs=O^dkI{67M=^1bC9@xBQr<1qd{m({xw!mShlgI7hh!eu$nYa;uUdY|Uoe>Uq zgu_lg;}T45#QTW!L?X=$zi7s4RQQ75{f&3VY^WH1wc=ieyL!Ws2;V%jBO3D|X($d4 zAf~Yl_;c9f0sJLX0DGAA-^*c}rQHwOqsK`;h-R$abbCAze{+YGeI>7y`Q2_eI(#`7 z4^5b8H<7#jy`_Nl2m^l9dUNn+K}?&$a#Q2n9nFAI;|H)KGaN;S6m8iRC}wjDeQGsr zmrX|&zbde1*@+8CkHhZ^yZj2VY=mLEFzr54&ygZI>lrtB1>)ioV(ZKa0unxDC)wDENTJUUy} z0<~a^X*l@c`d<8m;gfWF@9g_*2dgdSs|TMxndMSf_vGo|n=W?RqS{vT^5yXG@O{Wl z%t%+)t5>$7#&~wC#bOZz3ysx0aB*(<`RDQrAP!){f+5vQ00000NkvXXu0mjfcEo}l literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/wuzuixiao.png b/source/lib/halo-comment@1.1.2/assets/emoji/wuzuixiao.png new file mode 100644 index 0000000000000000000000000000000000000000..77d0c5d64d885b04deaf8f4ab440518aea37ce76 GIT binary patch literal 1791 zcmV@xxT^z*4Vs5$U>6{>n1`(^BiLCFpn<$dokEkTv3T7wvr;_`omfb{722Th^Eu z^v6}xmm=$X8p3oD>UkIIdKu?<82!B);GY`Gf)si?1-XGESuY36VG#f3kpJ*<|NsC0 zHJZo)rDPGyl{jr9KYxk~IFSOYnpw>wO#dv|aX_KK;Tw z|NHm<>s$Y$O#ZS<{mDH2v^xB?EB)Z5{o0xKqf7LRCh@IU|Ia-9ryc&hj^wIL-=ItW zl1cuqLHwmNwpSGX=C}RTiuKE2>Y7F7j5p?iEBBfztxOgD_2~Zd+x)&)_oz_oqD|6^ zI*~pX{_o1^)5yh>d+)$n+LuATX(j)pXTE<{t7b_5hCjx4Fx7Mi{LrV=teNeQ3}XW_ z&Hw-aGIUZ-QvehqFz%p0{qc5LQ!D-7-PXjjrICYrZTIoUtWrEL&R3~ zBh|ef$sub@_ic=*UF}!K+AX%B0eE~zEdcA}$TrjgOh(Vx&Ogu(jQ8{-PL znLkszn_m&}3BC%pEtia6kFCw`)8ND2e2`0P!ax*-vCu`K2&F5*|IkHEHZGDoPJ%OJ zX5nTW^V|fA8h7f#2b2oZ{_5WG(Ts{cA!In*FXznl-aSlcKHs!{F~JD`PkR{czTT7u z6YN1ErA*-JCoWe~D(;@>R{JWriGPGlEPF*>%$8*aby_0Qu*mZwOiOZ%erenU%P8-h zRi)BH4j(T3`PrR^f_v^&G~SrHk_|hSeCZj1SljMefT{RuN4Hy)M>dORmKZpzF5N0a znA!_(JOa&%dT6r>R+~kMEKM!;D+soo6kLbG(?x4qF6yaOfEo%{>m;n*t#QA7j8tE!mI@mB_i9;!E z{=to>E`W-PB8)_)l*-DV{q%!jgm#3V_n3&JQZf?z>8CFMS>O-#zBnN)o=jo_&OwwY zc{&n#HXR`2$v9?&19WYe#e-3QG+>09DUI*xYn>=zry<_8VYK^30|H3j5s-LfhLFC3 z5B}&5{98-Cyfh93U;x+JRko*|O0ldD#P?&};-Q_AAvnv7YoaCQvEr(bv=nSFeO&5Q z5cbdBZ)Q@`I<)M?uO$=0{Pq|We z#qA95w%hW^E-$a?V-iKlBc=2yiNY}QM@ix~Xqtwe)R@6v+YJN{Dea9pk9(B5p0F7c z!?6&N3pe31xRx{gy=>uG4RIrzFp)ImNUCJW31J*7smah9rMSaXYb(R&TforLf{2kC ztJQ(Ph1lLLoc!p(TI;}Ra_g4T+OWv=l zg++F#z=%MwB3yVii_wC}M z^W-#}7IKmU&XPNohh-#$1rFA_FL?RA{cZw(EJk%@%uLH$dfP!y+Rl|KuGe=_Jd;gf z7Ta9c4?Jn_U#w=cUawol71){hTw^nQU`HLi72jb&>-j?NgFW)?IoR&w|M~Z#qk56G z5*GcR&8#JVsm{v-sIvRnqK!Qp#qhD;wdPx7FJ=bRAtE@2RLPfM&1}ruG~xbDO4o{o zi8ZUqVw*o*#aT&hRtKS}2@|lIo)lJK=j71Tu)&R9@Xnd0^L1y#t5X%qhLRW07_|KGe-y8zBd*^#9pwsp@;z&W#gc- hy}4aEJX-qP`~x-m8-DIvDv|&I002ovPDHLkV1k&Xqgwy~ literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/xiangjiao.png b/source/lib/halo-comment@1.1.2/assets/emoji/xiangjiao.png new file mode 100644 index 0000000000000000000000000000000000000000..5d2167381b7a767d34be7a1ba5f9113fa8db3182 GIT binary patch literal 1820 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 V`Z0XXZnFRY002ovPDHLkV1f*Kb(H`B literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/xiaoniao.png b/source/lib/halo-comment@1.1.2/assets/emoji/xiaoniao.png new file mode 100644 index 0000000000000000000000000000000000000000..5874be2bc1f2245bddd6f150a26cc911f2730103 GIT binary patch literal 1869 zcmV-T2eSByP)lFR>kAp`&N zeE-}q|K)A}-CO_ELW#%yezyAl%0&OZO#Q7)$>sn5)=|CR|J(2Xq0#?=zWe>iP_fwm z|II%A%`1w${CBMH`_gNzNEMbt4u>!X{>N?b#Z>o-I{w9|{?=#xpkUy$UFEk<{JBEm zZY;ceDY<7Nsm}d@s@j#RuZx7AsV+NX}psc^HSXTgSJ z>b_9EdQJMDLCu*qwqG{2S{$d)?xn=m^W4#}xxK5QkkFEA=DT72xM9k6sZdy@2@7B7Sn0zh9i|zi6`v3q0<4Ht8R7l6|)8}8)Ko|#bQwl9Z zh6uR8z4x|~j-1ijByDNwfR-VM>^&4^sDOL#t^caOyQE1vr1;Jk{sQ50mv5fu@*(T~ z$4F&GU2V;wLp8N^6_tM{D{9L2l(@B&>?x}~zE;WA?cd^dUp2+;-cnYvCR>M^02dJ_ z4IO}&?9b1S@7E~g6;PZhr{znwRp#lKH4Lda9I5iO`HI!-As;L#lc_janD*6jf3#(~ z1vR1EqJ8ntV3+ikF^S3ET2G;(ET*4%k6TyC<@`5B6|!#U0O>Dm|C zlx>f1P;pm}(>clWZCX|KFgM@cg&~$bC|zBd)$~?a4=~TaY3KP#%ILvPD9sPeyy2nU z(A&7orb8N@1|8}GK|m3Dn#3&s=Av49Lq_9VH7qcK?if*jv;*6j?7FC7Um2I9FmS$j zvPxsegyH;@VUo7%O&fd^BYn$*LxZoLd)R$Ar}F$2=9l~2DmK4xZheS2fPI6Vm(_GG z<2F6+Wqp1SMI0nlp4K(RUARS0N66#A;lZ!3L!SljqIf;0+sbNSha2}Sz39E$cDHv1 z!&wK72bsmAX4w4V5{3@ot(y3p7@f&y}a3~gdBuBpmLaNoyZgx&h zh3sQ;^hqEPlOzMLmxvS#yd05}_k%Iw_)|zM_)L+J5IFA0d_%fxl$ z&cwvr+}y;(ojVxMU2_OD{%?x>V{~-0RmVr{n@2}?%Sk&{i9j4T9$w1K!yCW^hkZm8 zWm&1(p2A0WDzYq!BX%qz*%-M8OtV=LY2>7)&z*ooqN7-3cy{4^ntcEGwTAswvZ(5l zDn1hx)hJ(6nCJP|FP<$dJbt|J>BZ}ITx$3$D;&8Uk1OXGuA&za%q1Rq1+UjjZrtKC z(@rr~(RCzpI~;Cm+QItf5^-FFBM~t%*6KxsFE_LBt)M`cTAu>P<4w)Y%^Kbv#zj;7 zwwM@Kacm$955!dbD=CU$dVhGgh2it@W?Y0LqVlxWHl#daDi&{~B4?ty`om6d_+mwvr0Qe0mEni-3ABh$L~ z;v4VpZxOtPL=H2XTWdZmm}GSiW4AfNL7y&e)MIjhYKrQ!tg&%xeQBc+Fw+>>+o0Lp zwF{0NC`yOM14=jA^!?`c7VD9HlxIlL0}WOS?CQF}cH{t>PtV?i4eTEy52oCD?C`<8 zrCI|;rTY%n7lNu~^K*Ectx${2Mx{aXd(L7+muux2$G?`}mOn*Jpec@900000NkvXX Hu0mjf6=c_g literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/xiaoyan.png b/source/lib/halo-comment@1.1.2/assets/emoji/xiaoyan.png new file mode 100644 index 0000000000000000000000000000000000000000..234c2e308cb818b6a0752269e09ae7480183817c GIT binary patch literal 1862 zcmV-M2f6r(P)}|LIu&+cp2}WdGkk|I{J>7ysX7{-sR*o=m|51OLTK|Gi7f1_rWP72p{e z%YG}^6A`Oa5}ic~{j-kthB)piDd!*{(F+TKCItS+sr}Ms|IbwHz)|S7P0@@s#d08$ zIS2pt@BQY2{>f|opJ?sFX8o3A{>Nkft4!9GIp~70%vkPhH1x2r z{F#~hmqOGyIQ`1X?pRo#TlZuD001|1QchC<3>p3?Kr(Ut>*tjH^Q3kA`SQ%Cqm*n` zD;M$Q&Bw;IUR+I0IqBlv)xo>9w3LK|gLqBUC*=)MvnK!m1q(?;K~zY`+|ki%+CUr! z@LlteNW}-ss9NcuT`6?!N=v)YBLs4AiAIuGln|09X%h{CY$7N+d=hH^>-{d*_H3Q) zp7+gp#vk|LcXxjJe^M?Zn9)n%N2Of(7l|%%k|doTU6eQfZnxo(PI>P#&^%Sn?QT!y=n=ejkZ!C9;fTc zG&u*o!JZLg)mm&=LSxX|f7fX1O!O5-yaL{&5n_ABZ~Ag+t!i0lfn`F#dW*ceDMk_- z1|cQ1W)Js>p<}FcI_dI}_kj;Q*$iW7cRC~8sFP|Ly*=JW|Le0MswSO!7p>O8a1UG!P4 zKNwDRt*#M=UZRy^@1-b$#CtxYc5KcY}vVxDpj>9E*LUqhp47;Lt7vcA#oJ zxIdWnpwt`2ya0G#;N99YCQJs4JNA!i8XquWYmy9^{|!sP(&J~0(4|S88;#KW`&KWQ zP8eK^uELRf5BCsCY3&7XeK$?Vp{;hK(HM_CZBvZNg?w`$ZB__Jw(Z8V#=&1R!T zZ#IN4xrHUQmCgmzG;8ff^A_@}O&wUMy&3}ZC9C-JpJwQ;HEk#k1Nbb_3qe$H_Da;z ziBc#sZzAy!F;N^wDrylSwj=IJ6fL44DD?%surJ$3-jj1;PTFPbF83&cC;wlba}KdF zUJL9JjvH?=)Ax=0TD$6QQD3Jc4U9PP6(O=*sa9JpoTgqF4zDpPzxsUb5BvFgrP^w@ zF+((tzi6heS7=I$jWOO`LnCu6Hh0JSI>oT5Pp`0$QK1p&^8Pgb<7vCyKF-)5qeg3i z)l0zx%ym#zRi#L^+%V{MZC9(?yH5Ap&C4S#E;FmDsS8%jt1p3-Vi7MO0 z*?gIan;OC6BCHyOec2PMhYhhyi?Oy`6j zdKHCPDUdv~i}}W*Oq)aU^R#28Yul<~QrJ*X;Kf|~BGA&Qd-~7?wXIbvNzvaeFx50v zFMCte!h#+MR_LQplpfesM?;bo%8%3O^w>LK%hqZj3k&S7gMP`uNqD)`h*gT(SW;lt zT?@HHK;mJ?wBnC=xpmbjk2yJ~iKOq0pZ8DY-eAK2Muswxq>tDBtz7WsvWb}A+Cab` zi)6i&Qu{84_wtyM(|0+%GmQRwJUnoo5C2(y0qKh_ub5P5!2kdN07*qoM6N<$f@Te; AW&i*H literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/xili.png b/source/lib/halo-comment@1.1.2/assets/emoji/xili.png new file mode 100644 index 0000000000000000000000000000000000000000..9808aeca844618e1e9cd766dc1756dda81aea177 GIT binary patch literal 1596 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/yanhua.png b/source/lib/halo-comment@1.1.2/assets/emoji/yanhua.png new file mode 100644 index 0000000000000000000000000000000000000000..bcaec47e4f3cee0cce377ee697a45d2150747cbd GIT binary patch literal 5067 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 literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/yingxiang.png b/source/lib/halo-comment@1.1.2/assets/emoji/yingxiang.png new file mode 100644 index 0000000000000000000000000000000000000000..a3fa514b2bb5dc7adea7c6d89da16cc2d4dfcdf3 GIT binary patch literal 1492 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 Zl+BH&o$Ja0UH60c1K!vQTWa`Q-2Y;rez*Vt literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/yiwen.png b/source/lib/halo-comment@1.1.2/assets/emoji/yiwen.png new file mode 100644 index 0000000000000000000000000000000000000000..29c33c995f8c10a2a533ba031bf6804ec472f020 GIT binary patch literal 1653 zcmV-*28#KKP)9005*t4FmxI)s+_V#Z`Su2+yn<|K?Kv|FoUAmIlG|I8l$-&%Sh1OM)4|NsC06m_I^0> zQ!VX3CH<>n{<>G`w^8?oKhlgil|&8x?BD&#sNAVY{k%Z*Y&C)@1pe8>{l1(1yI`kW z8;LXq|M>9!KtKLa32iO#16}9sd6P^0=g#bo%%7YRlYm{- zFArG?m-Q=&zx)?jLkLxK*>r?bLI|ZalFk-t=Ll88#eDuEEd9lvqe}G*p%oD_dq!u~ z%C9!hQ9kw>uAwh!N>=Du5wb>W8t2mH#bEmmeTu*+(6s4BS+9xS7IP6~ME&|yiqcE#&E z-h0=U88{c+#2%IuM=sUYkvYtu?+itt-+q0a(n5rD_ydR5ywt>gVjRnwu z+EUbn!Q$kdU5Jy%R@X^bw4pQ%#xn>d8+*^HlO(U7l!Z$TuwG;sjPXQY4ww3bZf-mG zYgJY3kD{)iPLQo57x7eG5^=`F1ARFijYiYugsK5q?&Y;Uz~-qe9(9W0;b=S_kB0h; z1mHQd3upt@$|cDgoHI26<5o*;iBX}98-}qM@39$`z2nMgT7&87bjq5ofZ!YJk+&xp z@Ue$WWm9W3*oo=-WPlq1R@dD&!Y_Kf}C9XF#=Yc(bQytWptBhu&`^ym)@uk7&JR`7@TF- zf!Q@y4|$el>Dk^ig)tubrWmWc7DLQL{Rz@oEXL}PTMk3cLzuZWWhGk9BUg;o^Bc~2 zlB9`C9Mk1vQ526qS$tZAZx|YqQ!!R|h1I7ywtPDtw%g~I*J2&JMQb}jb*Zu1kKSum z9G~vWyu3-Iyf^aEq9$$B>GF72Wp^K+tPnFFH;rjI4W1|Ip9A9U?--W2vAr2FwpK?y zA%yk!JH&@yDYsN~Mri-n-GS38uk?1aPb?L~pl;82)#hPGm?SEHeKz!I_pr~56gLq; zTc=I=#B#3p`9q#>Hh)z~!+>}#wDsC2-Ed%erj=6K(qTIwKHlF?`Fz%%40^(*GnlkT zS3sfmEH)fGxvD}yB0b*@9s?3-BmW^6UoHOt*hNp literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/zhayao.png b/source/lib/halo-comment@1.1.2/assets/emoji/zhayao.png new file mode 100644 index 0000000000000000000000000000000000000000..290471043342fb62beb829466462762556ca4355 GIT binary patch literal 1862 zcmV-M2f6r(P)=dnQBr!&@|J?_9<(w80Sd=~4$SDZ@{=e<{wP7}wCG@nWw z{LE45HX@`)7UQTk<)|6>%39W%81%fC89+Y#EK=yBm&KfJIH@D-BbSO=$ef$6a|KVnqF#-QWI;2Jv|H&Tw&3*saM*rGV^F$=_l{W8&CH>ch z{=Zo7j4b}LQvZ#J|IRe}rZDq_0s6ga|65b?n?m}mDEXfgT002UCQchC<3mY^-DV8Vx(0Wo3^5l0n{{H>_`1ReXnR)!Dk%Mh)PbMJk>eS22 z!L+fhl#pLhO+fYW+}zvP&A6z0cVF1jr9p^&KTaU3y-Z8y%~u$ECGb0WwOeQ%KJ9 zoVX4>sG({r71@L{0jhKo`Y%7emAks;0YdYW6N+Tus8036J%lZ~o_q7hPM0E_^?AVh z5Y1K=QaNk^%MMQVLnilFg`cDLwb#jR6=CGEE}*j0JCDL+W8v^lj{?RqvV_8rkcB09 zAAQun{Hs5@vK5WB`{$H)Hnh9^>-*M9bUVHTtDv(^es=dA1bu9Vd<^)9B50$uRbcpTP+k#}0%f+41x-@ovaC zGbngdDAl!&N;_GX>$HlG-FxWm>w@$NJuE52r{O~2#o1YeMrMNul>@HQ@T+no&WzXw zDJyF$^OmA{z)#JT`m6=P+XwL)u?Hrq5Rb-A2+?83>Ujal#z8r3yZ<|?OCFReM6 zSBGrtsKWBqh^uNgEkw~oS@BqOooL)o- zrKYXgnue{3@Wy7MU3*|J0E3p}1WK|vpe*Tedt`Gn9C>?K#?);K(ctk%%#Y4bR!>Y+ z_b;xiYZ|shHa0fHiS&~@a`W+GjA^OYTA}`vtH6`fYV*v@OvgYZ5lL@E9;v@pl=<=i zO@pSbG=ybX8`&(&z&&UP;8~Fm@?s>iI@g|voH1+ol+Q=YfhPG%ffD}B$2pGc65S_g zI+1>%V3@nE!bcCt(2A9OsF&^$KEOE~4iA@f)AU?gof@k1FZ+BAv_6Kr6C%$~fyLp1 zA)oJw9-B)}_!=6pXpj!V)dexh@o|rYJu$bh;xkIU;WH(2Ou-@QZvVMjv$P!RJ-wx4b^vx?U>UBCf(RY z&M}qLFn=3kL487ytkO07*qoM6N<$f_Zhr A^8f$< literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/emoji/zhenbang.png b/source/lib/halo-comment@1.1.2/assets/emoji/zhenbang.png new file mode 100644 index 0000000000000000000000000000000000000000..20cdd2bc10b9cd78c492b4fe0b7f2db940e3c32c GIT binary patch literal 1821 zcmV+&2jcjNP)4(lhdiCEs@+hA<2M?a2PBOYWRV+Lt};l{^3T;QijD)TosH z$yol(P~v_j{`&O)`Rw1ovGB%M@T5@wy-((>N&nbG{Ix;$r!>rfG0Sx+xL+gv#isnl zoBh?1`KWZji*fvzVfM^guWnK5kRR;X&;8G{_O^-nlSKB4LgAo4^?)_-n=8O+BKor& z_~zUF;miKyxXzk_%!y>`w@uNCIJ8z8=%i+~|KYj-001;}QchC<4tHva9jEuoP* zDgFH4w4jZHZS?f=&cvXEb81{qHW%vP*Ta*3aZ}^h$E0vvTUWi{IQ|F#00h}dL_t(Y z$KBWYTheeG2k-`gc%|l1YNeHyb{|M8GFWVru?7ytjgSH!kmZ?2rkQtk*B{*HyAzsM z{nXQY?%DR;_r>S4jXjT?`459Z{)$z%H#SsOR8}@LwpU|+MB6JZofmyRhr{9X`7U-^ z8mh3<7Hw=P16LehndJd?8r#?@%AVrD@x_*Q>?B&%qR=O5kVf26jU8XM%%`Jhg`nn- z>-|~<>654~k|rClBduk25iC%hMq}$)(3MAM%#w9FXO*)0(o4?QM{2BM*XeW)`JNo1 zzr)!@2XScU*kzLZ0q2+C>clS57OnEptP_%TI7spqrhi6dB(XjO6JCSR=aqEI4y9{# zPYi1z35Q*rlI@WTihm^*Fz54AAEK#z7Oa=uFFSWqPTR``I=OXc^)bQMu8roj%s(& zVU~0hVUK#%DSwQjLXmR<;q?;vq#y|F;t&+ii*sKs0bPuTcvhI_NU$PSZutEOg+GH( zxdoDA-;7MzCZ0cij!2O7dUs*_6%Bl`*~Z3sjzF031TIVXd>pK(GyAj+^8P8x#MdvM z1+SOens^}%yhP{5IT_1+-}K8Er*f-k!dr3fJJ{nr1Y0}+5eNz2HDXfRjMe%K7Aq4g zd@7mC5?-Mczkp`IdIGf)uBxGME3#Icp8g3F)GkMogqIt)**+GxO+WxA0HYK_G-wo@ zN>9OzmvDb3Y_=&j0P}<~WdJfFcqAKe8zg+C5Myu&)4|Nh80rqz&+`cak`Tt_0jMi* z`Fy~mVaTN*C1F02GMmjQ|H|0N8oQM_Dd0=hpDmG?Zq|Jk8)J49%MtT)G63ELhOV z5^TI3X5tYFu3QSvP!YX$b1HT#7-D=JjGHMOtfFzsEcA(S!P4h~wQnwwWJgCw*(3)x zs$#6Zkcu%yHWtnV&$&ga#0A>Tamgf?a6@VVs}~)oRZE34)8X)Ra6wVpXSkIN-!*DD zMJblyV~q5Lfzl|w@~Q=F^qz*VMAX9Smd-UvO8W?T(>pvIy`o}xEww9FFcaVJJtD)= zj;mnh+z2t&-@}A94yRBzde3k?#`&7V@xb6<(?jEFaNloL2L`|n)@gA58PW=cwOl(#X;^u;Gm&NV z8h>2N15<+R9g|vE-?xl|J5x54Piufx+uz^R28D}LrIgliEWKruvg$6j{as*7b15fl z?F*J$mhl!R+kTY#a;0f4H*=KMIgZoeG`pfy=47f_oesumTn;#Ydm?{SU)OwH zZs0;kb8FXGM3FrWFE^Rasxg_$ReG{U-e@$)f!#m-p@Nkx|5| literal 0 HcmV?d00001 diff --git a/source/lib/halo-comment@1.1.2/assets/img/avatar.svg b/source/lib/halo-comment@1.1.2/assets/img/avatar.svg new file mode 100644 index 0000000..2ec011e --- /dev/null +++ b/source/lib/halo-comment@1.1.2/assets/img/avatar.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/source/lib/halo-comment@1.1.2/assets/img/loading.svg b/source/lib/halo-comment@1.1.2/assets/img/loading.svg new file mode 100644 index 0000000..5b2906a --- /dev/null +++ b/source/lib/halo-comment@1.1.2/assets/img/loading.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/lib/halo-comment@1.1.2/halo-comment.min.js b/source/lib/halo-comment@1.1.2/halo-comment.min.js new file mode 100644 index 0000000..43f004c --- /dev/null +++ b/source/lib/halo-comment@1.1.2/halo-comment.min.js @@ -0,0 +1,13 @@ +(function(){var e={6587:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AdminApiClient=void 0;const r=n(6998),i=n(6904);class o{constructor(e){this.client=e.buildHttpClient(),this._attachment=new i.AttachmentClient(this.client),this._backup=new i.BackupClient(this.client),this._category=new i.CategoryClient(this.client),this._installation=new i.InstallationClient(this.client),this._journalComment=new i.JournalCommentClient(this.client),this._journal=new i.JournalClient(this.client),this._link=new i.LinkClient(this.client),this._log=new i.LogClient(this.client),this._mail=new i.MailClient(this.client),this._menu=new i.MenuClient(this.client),this._migration=new i.MigrationClient(this.client),this._option=new i.OptionClient(this.client),this._photo=new i.PhotoClient(this.client),this._postComment=new i.PostCommentClient(this.client),this._post=new i.PostClient(this.client),this._sheetComment=new i.SheetCommentClient(this.client),this._sheet=new i.SheetClient(this.client),this._statistic=new i.StatisticClient(this.client),this._tag=new i.TagClient(this.client),this._theme=new i.ThemeClient(this.client),this._user=new i.UserClient(this.client),this._staticStorage=new i.StaticStorageClient(this.client),this._comment=new i.CommentClient(this.client),this._actuator=new i.ActuatorClient(this.client)}get attachment(){return this._attachment}get backup(){return this._backup}get category(){return this._category}get installation(){return this._installation}get journalComment(){return this._journalComment}get journal(){return this._journal}get link(){return this._link}get log(){return this._log}get mail(){return this._mail}get menu(){return this._menu}get migration(){return this._migration}get option(){return this._option}get photo(){return this._photo}get postComment(){return this._postComment}get post(){return this._post}get sheetComment(){return this._sheetComment}get sheet(){return this._sheet}get statistic(){return this._statistic}get tag(){return this._tag}get theme(){return this._theme}get user(){return this._user}get staticStorage(){return this._staticStorage}get comment(){return this._comment}get actuator(){return this._actuator}getEnvironment(){const e=(0,r.buildPath)({endpointName:"environments"});return this.client.get(e,{})}getLogFile(e){const t=(0,r.buildPath)({endpointName:"halo/logfile"});return this.client.get(t,{lines:e})}isInstalled(){const e=(0,r.buildPath)({endpointName:"is_installed"});return this.client.get(e,{})}logout(){const e=(0,r.buildPath)({endpointName:"logout"});return this.client.post(e,{})}sendResetPasswordCode(e){const t=(0,r.buildPath)({endpointName:"password/code"});return this.client.post(t,e)}resetPassword(e){const t=(0,r.buildPath)({endpointName:"password/reset"});return this.client.put(t,e)}refreshToken(e){const t=(0,r.buildPath)({endpointName:`refresh/${e}`});return this.client.post(t,{})}needMFACode(e){const t=(0,r.buildPath)({endpointName:"login/precheck"});return this.client.post(t,Object.assign({},e))}login(e){const t=(0,r.buildPath)({endpointName:"login"});return this.client.post(t,Object.assign({},e))}}t.AdminApiClient=o},6710:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AuthorizedClient=void 0;const r=n(6998),i=n(920);class o{constructor(e){const t=new i.HaloRequestConfigBuilder({baseUrl:e}),n=new i.HaloResponseHandler;this.client=new i.DefaultHttpClient({responseHandler:n,requestConfigBuilder:t})}isInstalled(){const e=(0,r.buildPath)({endpointName:"is_installed"});return this.client.get(e,{})}sendResetPasswordCode(e){const t=(0,r.buildPath)({endpointName:"password/code"});return this.client.post(t,e)}resetPassword(e){const t=(0,r.buildPath)({endpointName:"password/reset"});return this.client.post(t,e)}refreshToken(e){const t=(0,r.buildPath)({endpointName:`refresh/${e}`});return this.client.post(t,{})}login(e){const t=(0,r.buildPath)({endpointName:"login"});return this.client.post(t,Object.assign({},e))}needMFACode(e){const t=(0,r.buildPath)({endpointName:"login/precheck"});return this.client.post(t,Object.assign({},e))}}t.AuthorizedClient=o},6618:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActuatorClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}getLogfile(){const e=(0,r.buildPath)({endpointName:"actuator/logfile"});return this.client.get(e,{})}getEnv(){const e=(0,r.buildPath)({endpointName:"actuator/env"});return this.client.get(e,{})}getSystemCpuCount(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/system.cpu.count"});return this.client.get(e,{})}getSystemCpuUsage(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/system.cpu.usage"});return this.client.get(e,{})}getProcessUptime(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/process.uptime"});return this.client.get(e,{})}getProcessStartTime(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/process.start.time"});return this.client.get(e,{})}getProcessCpuUsage(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/process.cpu.usage"});return this.client.get(e,{})}getJvmMemoryMax(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/jvm.memory.max"});return this.client.get(e,{})}getJvmMemoryCommitted(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/jvm.memory.committed"});return this.client.get(e,{})}getJvmMemoryUsed(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/jvm.memory.used"});return this.client.get(e,{})}getJvmGcPause(){const e=(0,r.buildPath)({endpointName:"actuator/metrics/jvm.gc.pause"});return this.client.get(e,{})}}t.ActuatorClient=i},399:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttachmentClient=void 0;const r=n(920),i=n(6998);class o{constructor(e){this.client=e}get(e){const t=(0,i.buildPath)({endpointName:`attachments/${e}`});return this.client.get(t,{})}list(e){const t=(0,i.buildPath)({endpointName:"attachments"});return this.client.get(t,Object.assign({},e))}deleteInBatch(e){const t=(0,i.buildPath)({endpointName:"attachments"});return this.client.delete(t,e)}delete(e){const t=(0,i.buildPath)({endpointName:`attachments/${e}`});return this.client.delete(t,{})}update(e,t){const n=(0,i.buildPath)({endpointName:`attachments/${e}`});return this.client.put(n,{name:t})}listMediaTypes(){const e=(0,i.buildPath)({endpointName:"attachments/media_types"});return this.client.get(e,{})}listTypes(){const e=(0,i.buildPath)({endpointName:"attachments/types"});return this.client.get(e,{})}upload(e,t){const n=(0,i.buildPath)({endpointName:"attachments/upload"}),o=new r.FormData;return o.append("file",e),this.client.post(n,o,Object.assign({},t))}uploadInBatch(e,t){const n=(0,i.buildPath)({endpointName:"attachments/uploads"}),o=new r.FormData;return e.forEach((e=>{o.append("files",e)})),this.client.post(n,o,Object.assign({},t))}}t.AttachmentClient=o},5260:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BackupClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}getWorkdirBackup(e){const t=(0,r.buildPath)({endpointName:`backups/work-dir/fetch?filename=${e}`});return this.client.get(t,{})}getDataBackup(e){const t=(0,r.buildPath)({endpointName:`backups/data/fetch?filename=${e}`});return this.client.get(t,{})}getMarkdownBackup(e){const t=(0,r.buildPath)({endpointName:`backups/markdown/fetch?filename=${e}`});return this.client.get(t,{})}backupWorkdir(e){const t=(0,r.buildPath)({endpointName:"backups/work-dir"});return this.client.post(t,e)}getWorkdirBackupOptions(){const e=(0,r.buildPath)({endpointName:"backups/work-dir/options"});return this.client.get(e,{})}listWorkdirBackups(){const e=(0,r.buildPath)({endpointName:"backups/work-dir"});return this.client.get(e,{})}deleteWorkdirBackup(e){const t=(0,r.buildPath)({endpointName:"backups/work-dir"});return this.client.delete(t,{filename:e})}backupData(){const e=(0,r.buildPath)({endpointName:"backups/data"});return this.client.post(e,{})}listDataBackups(){const e=(0,r.buildPath)({endpointName:"backups/data"});return this.client.get(e,{})}deleteDataBackup(e){const t=(0,r.buildPath)({endpointName:"backups/data"});return this.client.delete(t,{filename:e})}backupMarkdown(e){const t=(0,r.buildPath)({endpointName:"backups/markdown/export"});return this.client.post(t,e)}listMarkdownBackups(){const e=(0,r.buildPath)({endpointName:"backups/markdown/export"});return this.client.get(e,{})}deleteMarkdownBackup(e){const t=(0,r.buildPath)({endpointName:"backups/markdown/export"});return this.client.delete(t,{filename:e})}importMarkdown(e,t){const n=(0,r.buildPath)({endpointName:"backups/markdown/import"}),i=new FormData;return i.append("file",e),this.client.post(n,i,Object.assign({},t))}}t.BackupClient=i},6774:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CategoryClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(e){const t=(0,i.buildPath)({endpointName:"categories"});return this.client.get(t,Object.assign({},e))}listAsTree(e){const t=(0,i.buildPath)({endpointName:"categories/tree_view"});return this.client.get(t,{sort:e})}get(e){const t=(0,i.buildPath)({endpointName:`categories/${e}`});return this.client.get(t,{})}create(e){const t=(0,i.buildPath)({endpointName:"categories"});return this.client.post(t,Object.assign({},e))}update(e,t){const n=(0,i.buildPath)({endpointName:`categories/${e}`});return this.client.put(n,Object.assign({},t))}updateInBatch(e){const t=(0,i.buildPath)({endpointName:"categories/batch"});return this.client.put(t,[...e])}delete(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`categories/${e}`});yield this.client.delete(t,{})}))}}t.CategoryClient=o},8666:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}list(e,t){const n=(0,r.buildPath)({endpointName:`${e}/comments`});return this.client.get(n,t)}latest(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/comments/latest`});return this.client.get(i,{top:t,status:n})}listAsView(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/comments/${t}/list_view`});return this.client.get(i,n)}listAsTreeView(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/comments/${t}/tree_view`});return this.client.get(i,n)}get(e,t){const n=(0,r.buildPath)({endpointName:`${e}/comments/${t}`});return this.client.get(n,{})}create(e,t){const n=(0,r.buildPath)({endpointName:`${e}/comments`});return this.client.post(n,t)}update(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/comments/${t}`});return this.client.get(i,n)}updateStatusById(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/comments/${t}/status/${n}`});return this.client.put(i,{})}updateStatusInBatch(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/comments/status/${n}`});return this.client.put(i,t)}delete(e,t){const n=(0,r.buildPath)({endpointName:`${e}/comments/${t}`});return this.client.delete(n,{})}deleteInBatch(e,t){const n=(0,r.buildPath)({endpointName:`${e}/comments`});return this.client.delete(n,t)}}t.CommentClient=i},8400:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InstallationClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}install(e){const t=(0,r.buildPath)({endpointName:"installations"});return this.client.post(t,Object.assign({},e))}}t.InstallationClient=i},173:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JournalClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(e){const t=(0,i.buildPath)({endpointName:"journals"});return this.client.get(t,Object.assign({},e))}latest(e){const t=(0,i.buildPath)({endpointName:"journals/latest"});return this.client.get(t,{top:e})}create(e){const t=(0,i.buildPath)({endpointName:"journals"});return this.client.post(t,Object.assign({},e))}update(e,t){const n=(0,i.buildPath)({endpointName:`journals/${e}`});return this.client.put(n,Object.assign({},t))}delete(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`journals/${e}`});yield this.client.delete(t,{})}))}}t.JournalClient=o},5503:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JournalCommentClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:"journals/comments"});return this.client.get(t,Object.assign({},e))}))}create(e){const t=(0,i.buildPath)({endpointName:"journals/comments"});return this.client.post(t,Object.assign({},e))}delete(e){const t=(0,i.buildPath)({endpointName:`journals/comments/${e}`});return this.client.delete(t,{})}update(e,t){const n=(0,i.buildPath)({endpointName:`journals/comments/${e}/status/${t}`});return this.client.put(n,{})}listAsView(e){const t=(0,i.buildPath)({endpointName:`journals/comments/${e.journalId}/list_view`});return this.client.get(t,Object.assign({},e))}listAsTree(e){const t=(0,i.buildPath)({endpointName:`journals/comments/${e.journalId}/tree_view`});return this.client.get(t,Object.assign({},e))}latest(e){const t=(0,i.buildPath)({endpointName:"journals/comments/latest"});return this.client.get(t,Object.assign({},e))}}t.JournalCommentClient=o},9207:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(e){const t=(0,i.buildPath)({endpointName:"links"});return this.client.get(t,{sort:e})}create(e){const t=(0,i.buildPath)({endpointName:"links"});return this.client.post(t,Object.assign({},e))}get(e){const t=(0,i.buildPath)({endpointName:`links/${e}`});return this.client.get(t,{})}update(e,t){const n=(0,i.buildPath)({endpointName:`links/${e}`});return this.client.put(n,Object.assign({},t))}updateInBatch(e){const t=(0,i.buildPath)({endpointName:"links/batch"});return this.client.put(t,[...e])}delete(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`links/${e}`});yield this.client.delete(t,{})}))}listTeams(){const e=(0,i.buildPath)({endpointName:"links/teams"});return this.client.get(e,{})}}t.LinkClient=o},9842:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LogClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(e){const t=(0,i.buildPath)({endpointName:"logs"});return this.client.get(t,Object.assign({},e))}clear(){return r.__awaiter(this,void 0,void 0,(function*(){const e=(0,i.buildPath)({endpointName:"logs/clear"});yield this.client.get(e,{})}))}latest(e){const t=(0,i.buildPath)({endpointName:"logs/latest"});return this.client.get(t,{top:e})}}t.LogClient=o},7206:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MailClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}testSmtpService(e){const t=(0,r.buildPath)({endpointName:"mails/test"});return this.client.post(t,Object.assign({},e))}testConnect(){const e=(0,r.buildPath)({endpointName:"mails/test/connection"});return this.client.post(e,{})}}t.MailClient=i},7530:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenuClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(){const e=(0,i.buildPath)({endpointName:"menus"});return this.client.get(e,{})}create(e){const t=(0,i.buildPath)({endpointName:"menus"});return this.client.post(t,Object.assign({},e))}createInBatch(e){const t=(0,i.buildPath)({endpointName:"menus/batch"});return this.client.post(t,[...e])}get(e){const t=(0,i.buildPath)({endpointName:`menus/${e}`});return this.client.post(t,{})}update(e,t){const n=(0,i.buildPath)({endpointName:`menus/${e}`});return this.client.put(n,Object.assign({},t))}updateInBatch(e){const t=(0,i.buildPath)({endpointName:"menus/batch"});return this.client.put(t,[...e])}delete(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`menus/${e}`});yield this.client.delete(t,{})}))}deleteInBatch(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:"menus/batch"});yield this.client.delete(t,[...e])}))}listTreeViewByTeam(e,t){const n=(0,i.buildPath)({endpointName:"menus/team/tree_view"});return this.client.get(n,{team:e,sort:t})}listTeams(){const e=(0,i.buildPath)({endpointName:"menus/teams"});return this.client.get(e,{})}listTreeView(e){const t=(0,i.buildPath)({endpointName:"menus/tree_view"});return this.client.get(t,{sort:e})}}t.MenuClient=o},9644:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MigrationClient=void 0;const r=n(655),i=n(920),o=n(6998);class a{constructor(e){this.client=e}migrate(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const n=(0,o.buildPath)({endpointName:"migrations/halo"}),r=new i.FormData;r.append("file",e),yield this.client.post(n,r,Object.assign({},t))}))}}t.MigrationClient=a},3913:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OptionClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(){const e=(0,i.buildPath)({endpointName:"options"});return this.client.get(e,{})}create(e){const t=(0,i.buildPath)({endpointName:"options"});return this.client.post(t,Object.assign({},e))}get(e){const t=(0,i.buildPath)({endpointName:`options/${e}`});return this.client.get(t,{})}update(e,t){const n=(0,i.buildPath)({endpointName:`options/${e}`});return this.client.put(n,Object.assign({},t))}delete(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`options/${e}`});yield this.client.delete(t,{})}))}listAsView(e){const t=(0,i.buildPath)({endpointName:"options/list_view"});return this.client.get(t,Object.assign({},e))}listAsMapView(){const e=(0,i.buildPath)({endpointName:"options/map_view"});return this.client.get(e,{})}listAsMapViewByKeys(e){const t=(0,i.buildPath)({endpointName:"options/map_view/keys"});return this.client.post(t,e)}saveMapView(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:"options/map_view/saving"});yield this.client.post(t,Object.assign({},e))}))}save(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:"options/saving"});yield this.client.post(t,[...e])}))}}t.OptionClient=o},402:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PhotoClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(e){const t=(0,i.buildPath)({endpointName:"photos"});return this.client.get(t,Object.assign({},e))}create(e){const t=(0,i.buildPath)({endpointName:"photos"});return this.client.post(t,Object.assign({},e))}createInBatch(e){const t=(0,i.buildPath)({endpointName:"photos/batch"});return this.client.post(t,[...e])}get(e){const t=(0,i.buildPath)({endpointName:`photos/${e}`});return this.client.get(t,{})}update(e,t){const n=(0,i.buildPath)({endpointName:`photos/${e}`});return this.client.put(n,Object.assign({},t))}updateInBatch(e){const t=(0,i.buildPath)({endpointName:"photos/batch"});return this.client.put(t,[...e])}delete(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`photos/${e}`});yield this.client.delete(t,{})}))}deleteInBatch(e){const t=(0,i.buildPath)({endpointName:"photos/batch"});return this.client.delete(t,e)}latest(e){const t=(0,i.buildPath)({endpointName:"photos/latest"});return this.client.get(t,{sort:e})}listTeams(){const e=(0,i.buildPath)({endpointName:"photos/teams"});return this.client.get(e,{})}}t.PhotoClient=o},4682:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PostClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(e){const t=(0,i.buildPath)({endpointName:"posts"});return this.client.get(t,Object.assign({},e))}get(e){const t=(0,i.buildPath)({endpointName:`posts/${e}`});return this.client.get(t,{})}getPreviewLinkById(e){const t=(0,i.buildPath)({endpointName:`posts/${e}/preview`});return this.client.get(t,{})}latest(e){const t=(0,i.buildPath)({endpointName:"posts/latest"});return this.client.get(t,{top:e})}listByStatus(e,t){const n=(0,i.buildPath)({endpointName:`posts/status/${e}`});return this.client.get(n,Object.assign({},t))}create(e){const t=(0,i.buildPath)({endpointName:"posts"});return this.client.post(t,Object.assign({},e))}update(e,t){const n=(0,i.buildPath)({endpointName:`posts/${e}`});return this.client.put(n,Object.assign({},t))}updateStatusById(e,t){const n=(0,i.buildPath)({endpointName:`posts/${e}/status/${t}`});return this.client.put(n,{})}updateStatusInBatch(e,t){const n=(0,i.buildPath)({endpointName:`posts/status/${t}`});return this.client.put(n,e)}updateDraftById(e,t,n,r){const o=(0,i.buildPath)({endpointName:`posts/${e}/status/draft/content`});return this.client.put(o,{originalContent:t,content:n,keepRaw:r})}like(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`posts/${e}/likes`});yield this.client.put(t,{})}))}delete(e){const t=(0,i.buildPath)({endpointName:`posts/${e}`});return this.client.delete(t,{})}deleteInBatch(e){const t=(0,i.buildPath)({endpointName:"posts"});return this.client.delete(t,e)}}t.PostClient=o},6494:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PostCommentClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}list(e){const t=(0,r.buildPath)({endpointName:"posts/comments"});return this.client.get(t,Object.assign({},e))}listAsView(e){const t=(0,r.buildPath)({endpointName:`posts/comments/${e.postId}/list_view`});return this.client.get(t,Object.assign({},e))}listAsTreeView(e){const t=(0,r.buildPath)({endpointName:`posts/comments/${e.postId}/tree_view`});return this.client.get(t,Object.assign({},e))}latest(e){const t=(0,r.buildPath)({endpointName:"posts/comments/latest"});return this.client.get(t,Object.assign({},e))}create(e){const t=(0,r.buildPath)({endpointName:"posts/comments"});return this.client.post(t,Object.assign({},e))}update(e,t){const n=(0,r.buildPath)({endpointName:`posts/comments/${e}`});return this.client.get(n,Object.assign({},t))}updateStatusById(e,t){const n=(0,r.buildPath)({endpointName:`posts/comments/${e}/status/${t}`});return this.client.put(n,{})}updateStatusInBatch(e,t){const n=(0,r.buildPath)({endpointName:`posts/comments/status/${t}`});return this.client.put(n,e)}delete(e){const t=(0,r.buildPath)({endpointName:`posts/comments/${e}`});return this.client.delete(t,{})}deleteInBatch(e){const t=(0,r.buildPath)({endpointName:"posts/comments"});return this.client.delete(t,e)}}t.PostCommentClient=i},771:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SheetClient=void 0;const r=n(655),i=n(6998);class o{constructor(e){this.client=e}list(e){const t=(0,i.buildPath)({endpointName:"sheets"});return this.client.get(t,Object.assign({},e))}listIndependents(){const e=(0,i.buildPath)({endpointName:"sheets/independent"});return this.client.get(e,{})}create(e){const t=(0,i.buildPath)({endpointName:"sheets"});return this.client.post(t,Object.assign({},e))}get(e){const t=(0,i.buildPath)({endpointName:`sheets/${e}`});return this.client.get(t,{})}getPreviewLinkById(e){const t=(0,i.buildPath)({endpointName:`sheets/preview/${e}`});return this.client.get(t,{})}update(e,t){const n=(0,i.buildPath)({endpointName:`sheets/${e}`});return this.client.put(n,Object.assign({},t))}updateStatusById(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const n=(0,i.buildPath)({endpointName:`sheets/${e}/${t}`});yield this.client.put(n,{})}))}updateDraftById(e,t,n,r){const o=(0,i.buildPath)({endpointName:`sheets/${e}/status/draft/content`});return this.client.put(o,{originalContent:t,content:n,keepRaw:r})}delete(e){const t=(0,i.buildPath)({endpointName:`sheets/${e}`});return this.client.delete(t,{})}}t.SheetClient=o},6094:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SheetCommentClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}list(e){const t=(0,r.buildPath)({endpointName:"sheets/comments"});return this.client.get(t,Object.assign({},e))}get(e){const t=(0,r.buildPath)({endpointName:`sheets/comments/${e}`});return this.client.get(t,{})}listAsView(e){const t=(0,r.buildPath)({endpointName:`sheets/comments/${e.sheetId}/list_view`});return this.client.get(t,Object.assign({},e))}listAsTreeView(e){const t=(0,r.buildPath)({endpointName:`sheets/comments/${e.sheetId}/tree_view`});return this.client.get(t,Object.assign({},e))}latest(e){const t=(0,r.buildPath)({endpointName:"sheets/comments/latest"});return this.client.get(t,Object.assign({},e))}create(e){const t=(0,r.buildPath)({endpointName:"sheets/comments"});return this.client.post(t,Object.assign({},e))}update(e,t){const n=(0,r.buildPath)({endpointName:`sheets/comments/${e}`});return this.client.put(n,Object.assign({},t))}updateStatusById(e,t){const n=(0,r.buildPath)({endpointName:`sheets/comments/${e}/status/${t}`});return this.client.put(n,{})}updateStatusInBatch(e,t){const n=(0,r.buildPath)({endpointName:`sheets/comments/status/${t}`});return this.client.put(n,e)}deleteInBatch(e){const t=(0,r.buildPath)({endpointName:"sheets/comments"});return this.client.delete(t,e)}delete(e){const t=(0,r.buildPath)({endpointName:`sheets/comments/${e}`});return this.client.delete(t,{})}}t.SheetCommentClient=i},7742:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StaticStorageClient=void 0;const r=n(920),i=n(6998);class o{constructor(e){this.client=e}list(){const e=(0,i.buildPath)({endpointName:"statics"});return this.client.get(e,{})}delete(e){const t=(0,i.buildPath)({endpointName:"statics"});return this.client.delete(t,{path:e})}createFolder(e,t){const n=(0,i.buildPath)({endpointName:`statics?basePath=${e}&folderName=${t}`});return this.client.post(n,{})}upload(e,t,n){const o=(0,i.buildPath)({endpointName:`statics/upload?basePath=${n}`}),a=new r.FormData;return a.append("file",e),this.client.post(o,a,Object.assign({},t))}rename(e,t){const n=(0,i.buildPath)({endpointName:`statics/rename?basePath=${e}&newName=${t}`});return this.client.post(n,{})}saveContent(e){const t=(0,i.buildPath)({endpointName:"statics/files"});return this.client.put(t,e)}}t.StaticStorageClient=o},7922:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StatisticClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}statistics(){const e=(0,r.buildPath)({endpointName:"statistics"});return this.client.get(e,{})}statisticsWithUser(){const e=(0,r.buildPath)({endpointName:"statistics/user"});return this.client.get(e,{})}}t.StatisticClient=i},4898:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TagClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}list(e){const t=(0,r.buildPath)({endpointName:"tags"});return this.client.get(t,Object.assign({},e))}create(e){const t=(0,r.buildPath)({endpointName:"tags"});return this.client.post(t,Object.assign({},e))}get(e){const t=(0,r.buildPath)({endpointName:`tags/${e}`});return this.client.get(t,{})}update(e,t){const n=(0,r.buildPath)({endpointName:`tags/${e}`});return this.client.put(n,Object.assign({},t))}delete(e){const t=(0,r.buildPath)({endpointName:`tags/${e}`});return this.client.delete(t,{})}}t.TagClient=i},8842:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThemeClient=void 0;const r=n(655),i=n(920),o=n(6998);class a{constructor(e){this.client=e}list(){const e=(0,o.buildPath)({endpointName:"themes"});return this.client.get(e,{})}get(e){const t=(0,o.buildPath)({endpointName:`themes/${e}`});return this.client.get(t,{})}delete(e,t){const n=(0,o.buildPath)({endpointName:`themes/${e}`});return this.client.delete(n,{deleteSettings:t})}active(e){const t=(0,o.buildPath)({endpointName:`themes/${e}/activation`});return this.client.post(t,{})}listConfigurationGroups(e){const t=(0,o.buildPath)({endpointName:`themes/${e}/configurations/groups`});return this.client.get(t,{})}listConfigurationsByGroup(e,t){const n=(0,o.buildPath)({endpointName:`themes/${e}/configurations/groups/${t}`});return this.client.get(n,{})}listActivatedConfigurations(){const e=(0,o.buildPath)({endpointName:"themes/activation/configurations"});return this.client.get(e,{})}listConfigurations(e){const t=(0,o.buildPath)({endpointName:`themes/${e}/configurations`});return this.client.get(t,{})}listFiles(e){const t=(0,o.buildPath)({endpointName:`themes/${e}/files`});return this.client.get(t,{})}listActivatedFiles(){const e=(0,o.buildPath)({endpointName:"themes/activation/files"});return this.client.get(e,{})}getActivatedTemplateContent(e){const t=(0,o.buildPath)({endpointName:"themes/files/content"});return this.client.get(t,{path:e})}getTemplateContent(e,t){const n=(0,o.buildPath)({endpointName:`themes/${e}/files/content`});return this.client.get(n,{path:t})}updateTemplateContent(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const n=(0,o.buildPath)({endpointName:`themes/${e}/files/content`});yield this.client.put(n,Object.assign({},t))}))}listSettings(e){const t=(0,o.buildPath)({endpointName:`themes/${e}/settings`});return this.client.get(t,{})}listActivatedSettings(){const e=(0,o.buildPath)({endpointName:"themes/activation/settings"});return this.client.get(e,{})}listSettingsByGroup(e,t){const n=(0,o.buildPath)({endpointName:`themes/${e}/groups/${t}/settings`});return this.client.get(n,{})}saveSettings(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const n=(0,o.buildPath)({endpointName:`themes/${e}/settings`});yield this.client.post(n,t)}))}saveActivatedSettings(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,o.buildPath)({endpointName:"themes/activation/settings"});yield this.client.post(t,e)}))}getActivatedTheme(){const e=(0,o.buildPath)({endpointName:"themes/activation"});return this.client.get(e,{})}listCustomPostTemplates(){const e=(0,o.buildPath)({endpointName:"themes/activation/template/custom/post"});return this.client.get(e,{})}listCustomSheetTemplates(){const e=(0,o.buildPath)({endpointName:"themes/activation/template/custom/sheet"});return this.client.get(e,{})}exists(e){const t=(0,o.buildPath)({endpointName:"themes/activation/template/exists"});return this.client.get(t,{template:e})}fetchTheme(e){const t=(0,o.buildPath)({endpointName:`themes/fetching?uri=${e}`});return this.client.post(t,{})}updateThemeByFetching(e){const t=(0,o.buildPath)({endpointName:`themes/fetching/${e}`});return this.client.put(t,{})}updateActivatedTemplateContent(e){const t=(0,o.buildPath)({endpointName:"themes/files/content"});return this.client.put(t,Object.assign({},e))}reload(){const e=(0,o.buildPath)({endpointName:"themes/reload"});return this.client.post(e,{})}upload(e,t){const n=(0,o.buildPath)({endpointName:"themes/upload"}),r=new i.FormData;return r.append("file",e),this.client.post(n,r,Object.assign({},t))}updateByUpload(e,t,n){const r=(0,o.buildPath)({endpointName:`themes/upload/${n}`}),a=new i.FormData;return a.append("file",e),this.client.put(r,a,Object.assign({},t))}}t.ThemeClient=a},5412:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserClient=void 0;const r=n(6998);class i{constructor(e){this.client=e}getProfile(){const e=(0,r.buildPath)({endpointName:"users/profiles"});return this.client.get(e,{})}updateProfile(e){const t=(0,r.buildPath)({endpointName:"users/profiles"});return this.client.put(t,e)}updatePassword(e){const t=(0,r.buildPath)({endpointName:"users/profiles/password"});return this.client.put(t,Object.assign({},e))}generateMFAQrImage(e){const t=(0,r.buildPath)({endpointName:"users/mfa/generate"});return this.client.put(t,Object.assign({},e))}updateMFAuth(e){const t=(0,r.buildPath)({endpointName:"users/mfa/update"});return this.client.put(t,Object.assign({},e))}}t.UserClient=i},6904:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActuatorClient=t.CommentClient=t.StaticStorageClient=t.UserClient=t.ThemeClient=t.TagClient=t.StatisticClient=t.SheetClient=t.SheetCommentClient=t.PostClient=t.PostCommentClient=t.PhotoClient=t.OptionClient=t.MigrationClient=t.MenuClient=t.MailClient=t.LogClient=t.LinkClient=t.JournalClient=t.JournalCommentClient=t.InstallationClient=t.CategoryClient=t.BackupClient=t.AttachmentClient=void 0;var r=n(399);Object.defineProperty(t,"AttachmentClient",{enumerable:!0,get:function(){return r.AttachmentClient}});var i=n(5260);Object.defineProperty(t,"BackupClient",{enumerable:!0,get:function(){return i.BackupClient}});var o=n(6774);Object.defineProperty(t,"CategoryClient",{enumerable:!0,get:function(){return o.CategoryClient}});var a=n(8400);Object.defineProperty(t,"InstallationClient",{enumerable:!0,get:function(){return a.InstallationClient}});var s=n(5503);Object.defineProperty(t,"JournalCommentClient",{enumerable:!0,get:function(){return s.JournalCommentClient}});var l=n(173);Object.defineProperty(t,"JournalClient",{enumerable:!0,get:function(){return l.JournalClient}});var c=n(9207);Object.defineProperty(t,"LinkClient",{enumerable:!0,get:function(){return c.LinkClient}});var u=n(9842);Object.defineProperty(t,"LogClient",{enumerable:!0,get:function(){return u.LogClient}});var p=n(7206);Object.defineProperty(t,"MailClient",{enumerable:!0,get:function(){return p.MailClient}});var d=n(7530);Object.defineProperty(t,"MenuClient",{enumerable:!0,get:function(){return d.MenuClient}});var h=n(9644);Object.defineProperty(t,"MigrationClient",{enumerable:!0,get:function(){return h.MigrationClient}});var m=n(3913);Object.defineProperty(t,"OptionClient",{enumerable:!0,get:function(){return m.OptionClient}});var f=n(402);Object.defineProperty(t,"PhotoClient",{enumerable:!0,get:function(){return f.PhotoClient}});var g=n(6494);Object.defineProperty(t,"PostCommentClient",{enumerable:!0,get:function(){return g.PostCommentClient}});var b=n(4682);Object.defineProperty(t,"PostClient",{enumerable:!0,get:function(){return b.PostClient}});var y=n(6094);Object.defineProperty(t,"SheetCommentClient",{enumerable:!0,get:function(){return y.SheetCommentClient}});var w=n(771);Object.defineProperty(t,"SheetClient",{enumerable:!0,get:function(){return w.SheetClient}});var v=n(7922);Object.defineProperty(t,"StatisticClient",{enumerable:!0,get:function(){return v.StatisticClient}});var x=n(4898);Object.defineProperty(t,"TagClient",{enumerable:!0,get:function(){return x.TagClient}});var k=n(8842);Object.defineProperty(t,"ThemeClient",{enumerable:!0,get:function(){return k.ThemeClient}});var _=n(5412);Object.defineProperty(t,"UserClient",{enumerable:!0,get:function(){return _.UserClient}});var C=n(7742);Object.defineProperty(t,"StaticStorageClient",{enumerable:!0,get:function(){return C.StaticStorageClient}});var P=n(8666);Object.defineProperty(t,"CommentClient",{enumerable:!0,get:function(){return P.CommentClient}});var j=n(6618);Object.defineProperty(t,"ActuatorClient",{enumerable:!0,get:function(){return j.ActuatorClient}})},5597:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AuthorizedClient=t.AdminApiClient=void 0;const r=n(655);var i=n(6587);Object.defineProperty(t,"AdminApiClient",{enumerable:!0,get:function(){return i.AdminApiClient}});var o=n(6710);Object.defineProperty(t,"AuthorizedClient",{enumerable:!0,get:function(){return o.AuthorizedClient}}),r.__exportStar(n(920),t),r.__exportStar(n(6904),t)},6998:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildPath=void 0;const n=e=>{const{endpointName:t,scope:n}=e,r=void 0!==n?`${n}`:"admin";return`/api/${r}/${t}`};t.buildPath=n},6838:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContentApiClient=void 0;const r=n(3891);class i{constructor(e){this.client=e.buildHttpClient(),this._archive=new r.ArchiveClient(this.client),this._category=new r.CategoryClient(this.client),this._journal=new r.JournalClient(this.client),this._link=new r.LinkClient(this.client),this._menu=new r.MenuClient(this.client),this._option=new r.OptionClient(this.client),this._photo=new r.PhotoClient(this.client),this._post=new r.PostClient(this.client),this._sheet=new r.SheetClient(this.client),this._statistic=new r.StatisticClient(this.client),this._tag=new r.TagClient(this.client),this._theme=new r.ThemeClient(this.client),this._user=new r.UserClient(this.client),this._comment=new r.CommentClient(this.client)}get archive(){return this._archive}get category(){return this._category}get journal(){return this._journal}get link(){return this._link}get menu(){return this._menu}get option(){return this._option}get photo(){return this._photo}get post(){return this._post}get sheet(){return this._sheet}get statistic(){return this._statistic}get tag(){return this._tag}get theme(){return this._theme}get user(){return this._user}get comment(){return this._comment}}t.ContentApiClient=i},9619:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArchiveClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}listYearArchives(){const e=(0,r.buildPath)({endpointName:"archives/years"});return this.client.get(e,{})}listMonthArchives(){const e=(0,r.buildPath)({endpointName:"archives/years"});return this.client.get(e,{})}}t.ArchiveClient=i},413:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CategoryClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}list(e){const t=(0,r.buildPath)({endpointName:"categories"});return this.client.get(t,Object.assign({},e))}listPostBySlug(e){const t=(0,r.buildPath)({endpointName:`categories/${e.slug}/posts`});return this.client.get(t,Object.assign({},e))}}t.CategoryClient=i},7929:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}listTopComments(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/${t}/comments/top_view`});return this.client.get(i,Object.assign({},n))}listChildren(e,t,n,i){const o=(0,r.buildPath)({endpointName:`${e}/${t}/comments/${n}/children`});return this.client.get(o,Object.assign({},i))}listAsTreeView(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/${t}/comments/tree_view`});return this.client.get(i,Object.assign({},n))}listAsView(e,t,n){const i=(0,r.buildPath)({endpointName:`${e}/${t}/comments/list_view`});return this.client.get(i,Object.assign({},n))}create(e,t){const n=(0,r.buildPath)({endpointName:`${e}/comments`});return this.client.post(n,t)}}t.CommentClient=i},3313:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JournalClient=void 0;const r=n(655),i=n(9489);class o{constructor(e){this.client=e}list(){const e=(0,i.buildPath)({endpointName:"journals"});return this.client.get(e,{})}get(e){const t=(0,i.buildPath)({endpointName:`journals/${e}`});return this.client.get(t,{})}like(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`journals/${e}/likes`});yield this.client.post(t,{})}))}}t.JournalClient=o},8241:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}list(e){const t=(0,r.buildPath)({endpointName:"links"});return this.client.get(t,{sort:e})}listTeams(e){const t=(0,r.buildPath)({endpointName:"links/team_view"});return this.client.get(t,{sort:e})}}t.LinkClient=i},428:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenuClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}list(e){const t=(0,r.buildPath)({endpointName:"menus"});return this.client.get(t,{sort:e})}listAsTreeView(e){const t=(0,r.buildPath)({endpointName:"menus/tree_view"});return this.client.get(t,{sort:e})}}t.MenuClient=i},3664:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OptionClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}list(){const e=(0,r.buildPath)({endpointName:"options/list_view"});return this.client.get(e,{})}listAsMapView(e){const t=(0,r.buildPath)({endpointName:"options/map_view"});return this.client.get(t,{key:e})}getByKey(e){const t=(0,r.buildPath)({endpointName:`options/keys/${e}`});return this.client.get(t,{key:e})}comment(){const e=(0,r.buildPath)({endpointName:"options/comment"});return this.client.get(e,{})}}t.OptionClient=i},4353:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PhotoClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}latest(e){const t=(0,r.buildPath)({endpointName:"photos/latest"});return this.client.get(t,{sort:e})}list(e){const t=(0,r.buildPath)({endpointName:"photos"});return this.client.get(t,Object.assign({},e))}}t.PhotoClient=i},2312:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PostClient=void 0;const r=n(655),i=n(9489);class o{constructor(e){this.client=e}list(e,t,n){const r=(0,i.buildPath)({endpointName:"posts"});return this.client.get(r,Object.assign({keyword:t,categoryId:n},e))}search(e,t){const n=(0,i.buildPath)({endpointName:"posts/search"});return this.client.get(n,Object.assign({keyword:e},t))}get(e,t){const n=(0,i.buildPath)({endpointName:`posts/${e}`});return this.client.get(n,Object.assign({},t))}getBySlug(e,t){const n=(0,i.buildPath)({endpointName:"posts/slug"});return this.client.get(n,Object.assign({slug:e},t))}getPrevPostById(e){const t=(0,i.buildPath)({endpointName:`posts/${e}/prev`});return this.client.get(t,{})}getNextPostById(e){const t=(0,i.buildPath)({endpointName:`posts/${e}/next`});return this.client.get(t,{})}like(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=(0,i.buildPath)({endpointName:`posts/${e}/likes`});yield this.client.get(t,{})}))}}t.PostClient=o},6490:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SheetClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}list(e){const t=(0,r.buildPath)({endpointName:"sheets"});return this.client.get(t,Object.assign({},e))}get(e,t){const n=(0,r.buildPath)({endpointName:`sheets/${e}`});return this.client.get(n,Object.assign({},t))}getBySlug(e,t){const n=(0,r.buildPath)({endpointName:"sheets/slug"});return this.client.get(n,Object.assign({slug:e},t))}}t.SheetClient=i},8435:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StatisticClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}statistics(){const e=(0,r.buildPath)({endpointName:"statistics"});return this.client.get(e,{})}statisticsWithUser(){const e=(0,r.buildPath)({endpointName:"statistics/user"});return this.client.get(e,{})}}t.StatisticClient=i},2367:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TagClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}list(e){const t=(0,r.buildPath)({endpointName:"tags"});return this.client.get(t,Object.assign({},e))}listPostsBySlug(e,t){const n=(0,r.buildPath)({endpointName:`tags/${e}/posts`});return this.client.get(n,Object.assign({},t))}}t.TagClient=i},9895:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThemeClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}getProperty(){const e=(0,r.buildPath)({endpointName:"themes/activation"});return this.client.get(e,{})}listSettings(){const e=(0,r.buildPath)({endpointName:"themes/activation/settings"});return this.client.get(e,{})}getPropertyById(e){const t=(0,r.buildPath)({endpointName:`themes/${e}`});return this.client.get(t,{})}listSettingsById(e){const t=(0,r.buildPath)({endpointName:`themes/${e}/settings`});return this.client.get(t,{})}}t.ThemeClient=i},2849:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserClient=void 0;const r=n(9489);class i{constructor(e){this.client=e}getProfile(){const e=(0,r.buildPath)({endpointName:"users/profile"});return this.client.get(e,{})}}t.UserClient=i},3891:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentClient=t.UserClient=t.ThemeClient=t.TagClient=t.StatisticClient=t.SheetClient=t.PostClient=t.PhotoClient=t.OptionClient=t.MenuClient=t.LinkClient=t.JournalClient=t.CategoryClient=t.ArchiveClient=void 0;var r=n(9619);Object.defineProperty(t,"ArchiveClient",{enumerable:!0,get:function(){return r.ArchiveClient}});var i=n(413);Object.defineProperty(t,"CategoryClient",{enumerable:!0,get:function(){return i.CategoryClient}});var o=n(3313);Object.defineProperty(t,"JournalClient",{enumerable:!0,get:function(){return o.JournalClient}});var a=n(8241);Object.defineProperty(t,"LinkClient",{enumerable:!0,get:function(){return a.LinkClient}});var s=n(428);Object.defineProperty(t,"MenuClient",{enumerable:!0,get:function(){return s.MenuClient}});var l=n(3664);Object.defineProperty(t,"OptionClient",{enumerable:!0,get:function(){return l.OptionClient}});var c=n(4353);Object.defineProperty(t,"PhotoClient",{enumerable:!0,get:function(){return c.PhotoClient}});var u=n(2312);Object.defineProperty(t,"PostClient",{enumerable:!0,get:function(){return u.PostClient}});var p=n(6490);Object.defineProperty(t,"SheetClient",{enumerable:!0,get:function(){return p.SheetClient}});var d=n(8435);Object.defineProperty(t,"StatisticClient",{enumerable:!0,get:function(){return d.StatisticClient}});var h=n(2367);Object.defineProperty(t,"TagClient",{enumerable:!0,get:function(){return h.TagClient}});var m=n(9895);Object.defineProperty(t,"ThemeClient",{enumerable:!0,get:function(){return m.ThemeClient}});var f=n(2849);Object.defineProperty(t,"UserClient",{enumerable:!0,get:function(){return f.UserClient}});var g=n(7929);Object.defineProperty(t,"CommentClient",{enumerable:!0,get:function(){return g.CommentClient}})},3977:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContentApiClient=void 0;const r=n(655);var i=n(6838);Object.defineProperty(t,"ContentApiClient",{enumerable:!0,get:function(){return i.ContentApiClient}}),r.__exportStar(n(920),t),r.__exportStar(n(3356),t),r.__exportStar(n(3891),t)},3356:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9489:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildPath=void 0;const n=e=>{const{endpointName:t,scope:n}=e,r=void 0!==n?`${n}`:"content";return`/api/${r}/${t}`};t.buildPath=n},5668:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HaloRequestConfigBuilder=void 0;const r=n(655),i=r.__importDefault(n(6230)),o=r.__importDefault(n(129)),a=n(9575),s=n(3064),l=n(6595),c=4096;class u{constructor({baseUrl:e,auth:t,basicAuth:n,clientCertAuth:r,proxy:i,userAgent:o}){this.baseUrl=e,this.auth=t,this.headers=this.buildHeaders({basicAuth:n,userAgent:o}),this.clientCertAuth=r,this.proxy=i,this.requestToken=null}build(e,t,n,o){return r.__awaiter(this,void 0,void 0,(function*(){const r=Object.assign(Object.assign(Object.assign({method:e,headers:this.headers,url:`${this.baseUrl}${t}`},o||{}),l.platformDeps.buildPlatformDependentConfig({clientCertAuth:this.clientCertAuth})),{proxy:this.proxy});switch(e){case"get":{const e=this.buildRequestUrl(t,n);return e.length>c?Object.assign(Object.assign({},r),{method:"post",headers:Object.assign(Object.assign({},this.headers),{"X-HTTP-Method-Override":"GET"}),data:yield this.buildData(n)}):Object.assign(Object.assign({},r),{url:e})}case"post":if(n instanceof i.default){const e=yield this.buildData(n);return Object.assign(Object.assign({},r),{headers:"function"===typeof e.getHeaders?Object.assign(Object.assign({},this.headers),e.getHeaders()):this.headers,data:e})}return Object.assign(Object.assign({},r),{data:yield this.buildData(n)});case"put":return Object.assign(Object.assign({},r),{data:yield this.buildData(n)});case"delete":{if(n instanceof Array)return Object.assign(Object.assign({},r),{headers:this.headers,data:n});const e=this.buildRequestUrl(t,yield this.buildData(n));return Object.assign(Object.assign({},r),{url:e})}default:throw new Error(`${e} method is not supported`)}}))}buildRequestUrl(e,t){const n=`${this.baseUrl}${e}`,r=o.default.stringify(t,{indices:!1});return r?`${n}?${r}`:n}buildData(e){return r.__awaiter(this,void 0,void 0,(function*(){if(this.auth&&"session"===this.auth.type){const t=yield this.getRequestToken();return e instanceof i.default?(e.append(s.SESSION_TOKEN_KEY,t),e):Object.assign({[s.SESSION_TOKEN_KEY]:t},e)}return e}))}buildHeaders(e){const{basicAuth:t,userAgent:n}=e,r=t?{Authorization:`Basic ${a.Base64.encode(`${t.username}:${t.password}`)}`}:{},i=l.platformDeps.buildHeaders({userAgent:n}),o=Object.assign(Object.assign({},i),r);if(!this.auth)return{};switch(this.auth.type){case"password":return Object.assign(Object.assign({},o),{Authorization:a.Base64.encode(`${this.auth.username}:${this.auth.password}`)});case"adminToken":{const e=this.auth.adminToken;return Object.assign(Object.assign({},o),{"Admin-Authorization":e})}case"apiToken":{const e=this.auth.apiToken;return Array.isArray(e)?Object.assign(Object.assign({},o),{"API-Authorization":e.join(",")}):Object.assign(Object.assign({},o),{"API-Authorization":e})}case"oAuthToken":return Object.assign(Object.assign({},o),{Authorization:`Bearer ${this.auth.oAuthToken}`});case"customizeAuth":return Object.assign(Object.assign({},o),{[this.auth.authHeader]:this.auth.getToken()});default:return Object.assign(Object.assign({},o),{"X-Requested-With":"XMLHttpRequest"})}}getRequestToken(){return r.__awaiter(this,void 0,void 0,(function*(){return null===this.requestToken&&(this.requestToken=yield l.platformDeps.getRequestToken()),this.requestToken}))}}t.HaloRequestConfigBuilder=u},8867:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HaloResponseHandler=void 0;const r=n(655),i=n(2203);class o{handle(e){return e.then((e=>this.handleSuccessResponse(e)),(e=>this.handleErrorResponse(e)))}handleSuccessResponse(e){return e.data}handleErrorResponse(e){if(!e.response){if(/MAC address verify failure/.test(e.toString()))throw new Error("invalid clientCertAuth setting");throw e}const t=e.response,{data:n}=t,o=r.__rest(t,["data"]);if("string"===typeof n)throw new Error(`${o.status}: ${o.statusText}`);throw new i.HaloRestAPIError(Object.assign({data:n},o))}}t.HaloResponseHandler=o},9230:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HaloRestAPIClient=void 0;const r=n(5208),i=n(5668),o=n(8867),a=n(6595),s=e=>"username"in e?Object.assign({type:"password"},e):"apiToken"in e?Object.assign({type:"apiToken"},e):"adminToken"in e?Object.assign({type:"adminToken"},e):"oAuthToken"in e?Object.assign({type:"oAuthToken"},e):"type"in e&&"customizeAuth"==e["type"]?e:void 0;class l{constructor(e={}){var t;this.baseUrl=a.platformDeps.buildBaseUrl(e.baseUrl);const n=s(null!==(t=e.auth)&&void 0!==t?t:{}),l=new i.HaloRequestConfigBuilder(Object.assign(Object.assign({},e),{baseUrl:this.baseUrl,auth:n})),c=new o.HaloResponseHandler;this.httpClient=new r.DefaultHttpClient({responseHandler:c,requestConfigBuilder:l}),this._interceptors=this.httpClient.interceptors}static get version(){return a.platformDeps.getVersion()}get interceptors(){return this._interceptors}getBaseUrl(){return this.baseUrl}buildHttpClient(){return this.httpClient}}t.HaloRestAPIClient=l},2203:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HaloRestAPIError=void 0;class n extends Error{constructor(e){const{data:t}=n.buildErrorResponseDate(e);super(t.message),this.name="HaloRestAPIError",this.data=t,this.status=t.status,this.headers=e.headers,this.message=`[${this.status}] ${this.message}`,Error.captureStackTrace&&Error.captureStackTrace(this,n),Object.setPrototypeOf(this,n.prototype)}static buildErrorResponseDate(e){return{data:e.data}}}t.HaloRestAPIError=n},7518:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AxiosClient=void 0;const r=n(655),i=r.__importDefault(n(9669)),o=n(1916);class a{constructor({responseHandler:e,requestConfigBuilder:t}){this.responseHandler=e,this.requestConfigBuilder=t,this.interceptors={request:new o.RequestInterceptor,response:new o.ResponseInterceptor}}get(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const n=yield this.requestConfigBuilder.build("get",e,t);return this.sendRequest(n)}))}getData(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const n=yield this.requestConfigBuilder.build("get",e,t,{responseType:"arraybuffer"});return this.sendRequest(n)}))}post(e,t,n){return r.__awaiter(this,void 0,void 0,(function*(){const r=yield this.requestConfigBuilder.build("post",e,t,n);return this.sendRequest(r)}))}postData(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const n=yield this.requestConfigBuilder.build("post",e,t);return this.sendRequest(n)}))}put(e,t,n){return r.__awaiter(this,void 0,void 0,(function*(){const r=yield this.requestConfigBuilder.build("put",e,t,n);return this.sendRequest(r)}))}delete(e,t,n){return r.__awaiter(this,void 0,void 0,(function*(){const r=yield this.requestConfigBuilder.build("delete",e,t,n);return this.sendRequest(r)}))}sendRequest(e){return r.__awaiter(this,void 0,void 0,(function*(){return this.responseHandler.handle((0,i.default)(Object.assign(Object.assign({},e),{maxContentLength:1/0})))}))}}t.AxiosClient=a},1916:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResponseInterceptor=t.RequestInterceptor=void 0;const r=n(655),i=r.__importDefault(n(9669));class o{use(e,t){return i.default.interceptors.request.use(e,t)}eject(e){i.default.interceptors.request.eject(e)}}t.RequestInterceptor=o;class a{use(e,t){return i.default.interceptors.response.use(e,t)}eject(e){i.default.interceptors.response.eject(e)}}t.ResponseInterceptor=a},5208:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultHttpClient=void 0;var r=n(7518);Object.defineProperty(t,"DefaultHttpClient",{enumerable:!0,get:function(){return r.AxiosClient}})},920:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Axios=t.FormData=t.DefaultHttpClient=t.HaloRequestConfigBuilder=t.HaloResponseHandler=t.HaloRestAPIClient=void 0;const r=n(655),i=n(6595),o=r.__importStar(n(4014)),a=r.__importDefault(n(6230));t.FormData=a.default;const s=r.__importDefault(n(9669));t.Axios=s.default,(0,i.injectPlatformDeps)(o);var l=n(9230);Object.defineProperty(t,"HaloRestAPIClient",{enumerable:!0,get:function(){return l.HaloRestAPIClient}});var c=n(8867);Object.defineProperty(t,"HaloResponseHandler",{enumerable:!0,get:function(){return c.HaloResponseHandler}});var u=n(5668);Object.defineProperty(t,"HaloRequestConfigBuilder",{enumerable:!0,get:function(){return u.HaloRequestConfigBuilder}});var p=n(5208);Object.defineProperty(t,"DefaultHttpClient",{enumerable:!0,get:function(){return p.DefaultHttpClient}})},8689:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnsupportedPlatformError=void 0;class n extends Error{constructor(e){const t=`This function is not supported in ${e} environment`;super(t),Error.captureStackTrace&&Error.captureStackTrace(this,n),this.name="UnsupportedPlatformError",this.platform=e,Object.setPrototypeOf(this,n.prototype)}}t.UnsupportedPlatformError=n},4014:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getVersion=t.buildBaseUrl=t.buildFormDataValue=t.buildHeaders=t.buildPlatformDependentConfig=t.getDefaultAuth=t.getRequestToken=t.readFileFromPath=void 0;const r=n(655),i=n(8689),o=()=>{throw new i.UnsupportedPlatformError("Browser")};t.readFileFromPath=o;const a=()=>r.__awaiter(void 0,void 0,void 0,(function*(){if("object"===typeof halo&&null!==halo&&"function"===typeof halo.getRequestToken)return halo.getRequestToken();throw new Error("session authentication must specify a request token")}));t.getRequestToken=a;const s=()=>({type:"session"});t.getDefaultAuth=s;const l=()=>({});t.buildPlatformDependentConfig=l;const c=()=>({});t.buildHeaders=c;const u=e=>new Blob([e]);t.buildFormDataValue=u;const p=e=>{if("undefined"===typeof e)throw new Error("in browser environment, baseUrl is required");return e};t.buildBaseUrl=p;const d=()=>PACKAGE_VERSION;t.getVersion=d},6595:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.injectPlatformDeps=t.platformDeps=void 0,t.platformDeps={readFileFromPath:()=>{throw new Error("not implemented")},getRequestToken:()=>{throw new Error("not implemented")},getDefaultAuth:()=>{throw new Error("not implemented")},buildPlatformDependentConfig:()=>{throw new Error("not implemented")},buildHeaders:()=>{throw new Error("not implemented")},buildFormDataValue:()=>{throw new Error("not implemented")},buildBaseUrl:()=>{throw new Error("not implemented")},getVersion:()=>{throw new Error("not implemented")}};const n=e=>{t.platformDeps.readFileFromPath=e.readFileFromPath,t.platformDeps.getRequestToken=e.getRequestToken,t.platformDeps.getDefaultAuth=e.getDefaultAuth,t.platformDeps.buildPlatformDependentConfig=e.buildPlatformDependentConfig,t.platformDeps.buildHeaders=e.buildHeaders,t.platformDeps.buildFormDataValue=e.buildFormDataValue,t.platformDeps.buildBaseUrl=e.buildBaseUrl,t.platformDeps.getVersion=e.getVersion};t.injectPlatformDeps=n},3064:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SESSION_TOKEN_KEY=void 0,t.SESSION_TOKEN_KEY="__REQUEST_TOKEN__"},7679:function(e,t){var n,r,i;(function(o,a){r=[],n=a,i="function"===typeof n?n.apply(t,r):n,void 0===i||(e.exports=i)})("undefined"!==typeof self&&self,(function(){function e(){var t=Object.getOwnPropertyDescriptor(document,"currentScript");if(!t&&"currentScript"in document&&document.currentScript)return document.currentScript;if(t&&t.get!==e&&document.currentScript)return document.currentScript;try{throw new Error}catch(h){var n,r,i,o=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,a=/@([^@]*):(\d+):(\d+)\s*$/gi,s=o.exec(h.stack)||a.exec(h.stack),l=s&&s[1]||!1,c=s&&s[2]||!1,u=document.location.href.replace(document.location.hash,""),p=document.getElementsByTagName("script");l===u&&(n=document.documentElement.outerHTML,r=new RegExp("(?:[^\\n]+?\\n){0,"+(c-2)+"}[^<]* + + + + + ... + +``` + +You can also [download KaTeX](https://github.com/KaTeX/KaTeX/releases) and host it yourself. + +For details on how to configure auto-render extension, refer to [the documentation](https://katex.org/docs/autorender.html). + +### API + +Call `katex.render` to render a TeX expression directly into a DOM element. +For example: + +```js +katex.render("c = \\pm\\sqrt{a^2 + b^2}", element, { + throwOnError: false +}); +``` + +Call `katex.renderToString` to generate an HTML string of the rendered math, +e.g., for server-side rendering. For example: + +```js +var html = katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}", { + throwOnError: false +}); +// '...' +``` + +Make sure to include the CSS and font files in both cases. +If you are doing all rendering on the server, there is no need to include the +JavaScript on the client. + +The examples above use the `throwOnError: false` option, which renders invalid +inputs as the TeX source code in red (by default), with the error message as +hover text. For other available options, see the +[API documentation](https://katex.org/docs/api.html), +[options documentation](https://katex.org/docs/options.html), and +[handling errors documentation](https://katex.org/docs/error.html). + +## Demo and Documentation + +Learn more about using KaTeX [on the website](https://katex.org)! + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +KaTeX is licensed under the [MIT License](http://opensource.org/licenses/MIT). diff --git a/source/lib/katex@0.12.0/contrib/auto-render.js b/source/lib/katex@0.12.0/contrib/auto-render.js new file mode 100644 index 0000000..d594434 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/auto-render.js @@ -0,0 +1,350 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else if(typeof exports === 'object') + exports["renderMathInElement"] = factory(require("katex")); + else + root["renderMathInElement"] = factory(root["katex"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "katex" +var external_katex_ = __webpack_require__(0); +var external_katex_default = /*#__PURE__*/__webpack_require__.n(external_katex_); + +// CONCATENATED MODULE: ./contrib/auto-render/splitAtDelimiters.js +/* eslint no-constant-condition:0 */ +var findEndOfMath = function findEndOfMath(delimiter, text, startIndex) { + // Adapted from + // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx + var index = startIndex; + var braceLevel = 0; + var delimLength = delimiter.length; + + while (index < text.length) { + var character = text[index]; + + if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) { + return index; + } else if (character === "\\") { + index++; + } else if (character === "{") { + braceLevel++; + } else if (character === "}") { + braceLevel--; + } + + index++; + } + + return -1; +}; + +var splitAtDelimiters = function splitAtDelimiters(startData, leftDelim, rightDelim, display) { + var finalData = []; + + for (var i = 0; i < startData.length; i++) { + if (startData[i].type === "text") { + var text = startData[i].data; + var lookingForLeft = true; + var currIndex = 0; + var nextIndex = void 0; + nextIndex = text.indexOf(leftDelim); + + if (nextIndex !== -1) { + currIndex = nextIndex; + finalData.push({ + type: "text", + data: text.slice(0, currIndex) + }); + lookingForLeft = false; + } + + while (true) { + if (lookingForLeft) { + nextIndex = text.indexOf(leftDelim, currIndex); + + if (nextIndex === -1) { + break; + } + + finalData.push({ + type: "text", + data: text.slice(currIndex, nextIndex) + }); + currIndex = nextIndex; + } else { + nextIndex = findEndOfMath(rightDelim, text, currIndex + leftDelim.length); + + if (nextIndex === -1) { + break; + } + + finalData.push({ + type: "math", + data: text.slice(currIndex + leftDelim.length, nextIndex), + rawData: text.slice(currIndex, nextIndex + rightDelim.length), + display: display + }); + currIndex = nextIndex + rightDelim.length; + } + + lookingForLeft = !lookingForLeft; + } + + finalData.push({ + type: "text", + data: text.slice(currIndex) + }); + } else { + finalData.push(startData[i]); + } + } + + return finalData; +}; + +/* harmony default export */ var auto_render_splitAtDelimiters = (splitAtDelimiters); +// CONCATENATED MODULE: ./contrib/auto-render/auto-render.js +/* eslint no-console:0 */ + + + +var auto_render_splitWithDelimiters = function splitWithDelimiters(text, delimiters) { + var data = [{ + type: "text", + data: text + }]; + + for (var i = 0; i < delimiters.length; i++) { + var delimiter = delimiters[i]; + data = auto_render_splitAtDelimiters(data, delimiter.left, delimiter.right, delimiter.display || false); + } + + return data; +}; +/* Note: optionsCopy is mutated by this method. If it is ever exposed in the + * API, we should copy it before mutating. + */ + + +var auto_render_renderMathInText = function renderMathInText(text, optionsCopy) { + var data = auto_render_splitWithDelimiters(text, optionsCopy.delimiters); + + if (data.length === 1 && data[0].type === 'text') { + // There is no formula in the text. + // Let's return null which means there is no need to replace + // the current text node with a new one. + return null; + } + + var fragment = document.createDocumentFragment(); + + for (var i = 0; i < data.length; i++) { + if (data[i].type === "text") { + fragment.appendChild(document.createTextNode(data[i].data)); + } else { + var span = document.createElement("span"); + var math = data[i].data; // Override any display mode defined in the settings with that + // defined by the text itself + + optionsCopy.displayMode = data[i].display; + + try { + if (optionsCopy.preProcess) { + math = optionsCopy.preProcess(math); + } + + external_katex_default.a.render(math, span, optionsCopy); + } catch (e) { + if (!(e instanceof external_katex_default.a.ParseError)) { + throw e; + } + + optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e); + fragment.appendChild(document.createTextNode(data[i].rawData)); + continue; + } + + fragment.appendChild(span); + } + } + + return fragment; +}; + +var renderElem = function renderElem(elem, optionsCopy) { + for (var i = 0; i < elem.childNodes.length; i++) { + var childNode = elem.childNodes[i]; + + if (childNode.nodeType === 3) { + // Text node + var frag = auto_render_renderMathInText(childNode.textContent, optionsCopy); + + if (frag) { + i += frag.childNodes.length - 1; + elem.replaceChild(frag, childNode); + } + } else if (childNode.nodeType === 1) { + (function () { + // Element node + var className = ' ' + childNode.className + ' '; + var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && optionsCopy.ignoredClasses.every(function (x) { + return className.indexOf(' ' + x + ' ') === -1; + }); + + if (shouldRender) { + renderElem(childNode, optionsCopy); + } + })(); + } // Otherwise, it's something else, and ignore it. + + } +}; + +var renderMathInElement = function renderMathInElement(elem, options) { + if (!elem) { + throw new Error("No element provided to render"); + } + + var optionsCopy = {}; // Object.assign(optionsCopy, option) + + for (var option in options) { + if (options.hasOwnProperty(option)) { + optionsCopy[option] = options[option]; + } + } // default options + + + optionsCopy.delimiters = optionsCopy.delimiters || [{ + left: "$$", + right: "$$", + display: true + }, { + left: "\\(", + right: "\\)", + display: false + }, // LaTeX uses $…$, but it ruins the display of normal `$` in text: + // {left: "$", right: "$", display: false}, + // \[…\] must come last in this array. Otherwise, renderMathInElement + // will search for \[ before it searches for $$ or \( + // That makes it susceptible to finding a \\[0.3em] row delimiter and + // treating it as if it were the start of a KaTeX math zone. + { + left: "\\[", + right: "\\]", + display: true + }]; + optionsCopy.ignoredTags = optionsCopy.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code", "option"]; + optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; + optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\gdef` between different + // math elements within a single call to `renderMathInElement`. + + optionsCopy.macros = optionsCopy.macros || {}; + renderElem(elem, optionsCopy); +}; + +/* harmony default export */ var auto_render = __webpack_exports__["default"] = (renderMathInElement); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/source/lib/katex@0.12.0/contrib/auto-render.min.js b/source/lib/katex@0.12.0/contrib/auto-render.min.js new file mode 100644 index 0000000..840e74b --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/auto-render.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n className.indexOf(' ' + x + ' ') === -1); + + if (shouldRender) { + renderElem(childNode, optionsCopy); + } + } // Otherwise, it's something else, and ignore it. + + } +}; + +const renderMathInElement = function renderMathInElement(elem, options) { + if (!elem) { + throw new Error("No element provided to render"); + } + + const optionsCopy = {}; // Object.assign(optionsCopy, option) + + for (const option in options) { + if (options.hasOwnProperty(option)) { + optionsCopy[option] = options[option]; + } + } // default options + + + optionsCopy.delimiters = optionsCopy.delimiters || [{ + left: "$$", + right: "$$", + display: true + }, { + left: "\\(", + right: "\\)", + display: false + }, // LaTeX uses $…$, but it ruins the display of normal `$` in text: + // {left: "$", right: "$", display: false}, + // \[…\] must come last in this array. Otherwise, renderMathInElement + // will search for \[ before it searches for $$ or \( + // That makes it susceptible to finding a \\[0.3em] row delimiter and + // treating it as if it were the start of a KaTeX math zone. + { + left: "\\[", + right: "\\]", + display: true + }]; + optionsCopy.ignoredTags = optionsCopy.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code", "option"]; + optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; + optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\gdef` between different + // math elements within a single call to `renderMathInElement`. + + optionsCopy.macros = optionsCopy.macros || {}; + renderElem(elem, optionsCopy); +}; + +export default renderMathInElement; diff --git a/source/lib/katex@0.12.0/contrib/copy-tex.css b/source/lib/katex@0.12.0/contrib/copy-tex.css new file mode 100644 index 0000000..90801d8 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/copy-tex.css @@ -0,0 +1,14 @@ +/* Force selection of entire .katex/.katex-display blocks, so that we can + * copy/paste the entire source code. If you omit this CSS, partial + * selections of a formula will work, but will copy the ugly HTML + * representation instead of the LaTeX source code. (Full selections will + * still produce the LaTeX source code.) + */ +.katex, +.katex-display { + user-select: all; + -moz-user-select: all; + -webkit-user-select: all; + -ms-user-select: all; +} + diff --git a/source/lib/katex@0.12.0/contrib/copy-tex.js b/source/lib/katex@0.12.0/contrib/copy-tex.js new file mode 100644 index 0000000..4649f8f --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/copy-tex.js @@ -0,0 +1,213 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else { + var a = factory(); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})((typeof self !== 'undefined' ? self : this), function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./contrib/copy-tex/copy-tex.css +var copy_tex = __webpack_require__(0); + +// CONCATENATED MODULE: ./contrib/copy-tex/katex2tex.js +// Set these to how you want inline and display math to be delimited. +var defaultCopyDelimiters = { + inline: ['$', '$'], + // alternative: ['\(', '\)'] + display: ['$$', '$$'] // alternative: ['\[', '\]'] + +}; // Replace .katex elements with their TeX source ( element). +// Modifies fragment in-place. Useful for writing your own 'copy' handler, +// as in copy-tex.js. + +var katexReplaceWithTex = function katexReplaceWithTex(fragment, copyDelimiters) { + if (copyDelimiters === void 0) { + copyDelimiters = defaultCopyDelimiters; + } + + // Remove .katex-html blocks that are preceded by .katex-mathml blocks + // (which will get replaced below). + var katexHtml = fragment.querySelectorAll('.katex-mathml + .katex-html'); + + for (var i = 0; i < katexHtml.length; i++) { + var element = katexHtml[i]; + + if (element.remove) { + element.remove(null); + } else { + element.parentNode.removeChild(element); + } + } // Replace .katex-mathml elements with their annotation (TeX source) + // descendant, with inline delimiters. + + + var katexMathml = fragment.querySelectorAll('.katex-mathml'); + + for (var _i = 0; _i < katexMathml.length; _i++) { + var _element = katexMathml[_i]; + + var texSource = _element.querySelector('annotation'); + + if (texSource) { + if (_element.replaceWith) { + _element.replaceWith(texSource); + } else { + _element.parentNode.replaceChild(texSource, _element); + } + + texSource.innerHTML = copyDelimiters.inline[0] + texSource.innerHTML + copyDelimiters.inline[1]; + } + } // Switch display math to display delimiters. + + + var displays = fragment.querySelectorAll('.katex-display annotation'); + + for (var _i2 = 0; _i2 < displays.length; _i2++) { + var _element2 = displays[_i2]; + _element2.innerHTML = copyDelimiters.display[0] + _element2.innerHTML.substr(copyDelimiters.inline[0].length, _element2.innerHTML.length - copyDelimiters.inline[0].length - copyDelimiters.inline[1].length) + copyDelimiters.display[1]; + } + + return fragment; +}; +/* harmony default export */ var katex2tex = (katexReplaceWithTex); +// CONCATENATED MODULE: ./contrib/copy-tex/copy-tex.js + // Global copy handler to modify behavior on .katex elements. + +document.addEventListener('copy', function (event) { + var selection = window.getSelection(); + + if (selection.isCollapsed) { + return; // default action OK if selection is empty + } + + var fragment = selection.getRangeAt(0).cloneContents(); + + if (!fragment.querySelector('.katex-mathml')) { + return; // default action OK if no .katex-mathml elements + } // Preserve usual HTML copy/paste behavior. + + + var html = []; + + for (var i = 0; i < fragment.childNodes.length; i++) { + html.push(fragment.childNodes[i].outerHTML); + } + + event.clipboardData.setData('text/html', html.join('')); // Rewrite plain-text version. + + event.clipboardData.setData('text/plain', katex2tex(fragment).textContent); // Prevent normal copy handling. + + event.preventDefault(); +}); +// CONCATENATED MODULE: ./contrib/copy-tex/copy-tex.webpack.js +/** + * This is the webpack entry point for KaTeX. As ECMAScript doesn't support + * CSS modules natively, a separate entry point is used. + */ + + + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/source/lib/katex@0.12.0/contrib/copy-tex.min.css b/source/lib/katex@0.12.0/contrib/copy-tex.min.css new file mode 100644 index 0000000..555ed11 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/copy-tex.min.css @@ -0,0 +1 @@ +.katex,.katex-display{user-select:all;-moz-user-select:all;-webkit-user-select:all;-ms-user-select:all} diff --git a/source/lib/katex@0.12.0/contrib/copy-tex.min.js b/source/lib/katex@0.12.0/contrib/copy-tex.min.js new file mode 100644 index 0000000..e0354d6 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/copy-tex.min.js @@ -0,0 +1 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){},function(e,t,n){"use strict";n.r(t);n(0);var r={inline:["$","$"],display:["$$","$$"]},o=function(e,t){void 0===t&&(t=r);for(var n=e.querySelectorAll(".katex-mathml + .katex-html"),o=0;o element). +// Modifies fragment in-place. Useful for writing your own 'copy' handler, +// as in copy-tex.js. + +const katexReplaceWithTex = function katexReplaceWithTex(fragment, copyDelimiters) { + if (copyDelimiters === void 0) { + copyDelimiters = defaultCopyDelimiters; + } + + // Remove .katex-html blocks that are preceded by .katex-mathml blocks + // (which will get replaced below). + const katexHtml = fragment.querySelectorAll('.katex-mathml + .katex-html'); + + for (let i = 0; i < katexHtml.length; i++) { + const element = katexHtml[i]; + + if (element.remove) { + element.remove(null); + } else { + element.parentNode.removeChild(element); + } + } // Replace .katex-mathml elements with their annotation (TeX source) + // descendant, with inline delimiters. + + + const katexMathml = fragment.querySelectorAll('.katex-mathml'); + + for (let i = 0; i < katexMathml.length; i++) { + const element = katexMathml[i]; + const texSource = element.querySelector('annotation'); + + if (texSource) { + if (element.replaceWith) { + element.replaceWith(texSource); + } else { + element.parentNode.replaceChild(texSource, element); + } + + texSource.innerHTML = copyDelimiters.inline[0] + texSource.innerHTML + copyDelimiters.inline[1]; + } + } // Switch display math to display delimiters. + + + const displays = fragment.querySelectorAll('.katex-display annotation'); + + for (let i = 0; i < displays.length; i++) { + const element = displays[i]; + element.innerHTML = copyDelimiters.display[0] + element.innerHTML.substr(copyDelimiters.inline[0].length, element.innerHTML.length - copyDelimiters.inline[0].length - copyDelimiters.inline[1].length) + copyDelimiters.display[1]; + } + + return fragment; +}; + +document.addEventListener('copy', function (event) { + const selection = window.getSelection(); + + if (selection.isCollapsed) { + return; // default action OK if selection is empty + } + + const fragment = selection.getRangeAt(0).cloneContents(); + + if (!fragment.querySelector('.katex-mathml')) { + return; // default action OK if no .katex-mathml elements + } // Preserve usual HTML copy/paste behavior. + + + const html = []; + + for (let i = 0; i < fragment.childNodes.length; i++) { + html.push(fragment.childNodes[i].outerHTML); + } + + event.clipboardData.setData('text/html', html.join('')); // Rewrite plain-text version. + + event.clipboardData.setData('text/plain', katexReplaceWithTex(fragment).textContent); // Prevent normal copy handling. + + event.preventDefault(); +}); diff --git a/source/lib/katex@0.12.0/contrib/mathtex-script-type.js b/source/lib/katex@0.12.0/contrib/mathtex-script-type.js new file mode 100644 index 0000000..daa01a6 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/mathtex-script-type.js @@ -0,0 +1,137 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else { + var a = typeof exports === 'object' ? factory(require("katex")) : factory(root["katex"]); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_0__); + +var scripts = document.body.getElementsByTagName("script"); +scripts = Array.prototype.slice.call(scripts); +scripts.forEach(function (script) { + if (!script.type || !script.type.match(/math\/tex/i)) { + return -1; + } + + var display = script.type.match(/mode\s*=\s*display(;|\s|\n|$)/) != null; + var katexElement = document.createElement(display ? "div" : "span"); + katexElement.setAttribute("class", display ? "equation" : "inline-equation"); + + try { + katex__WEBPACK_IMPORTED_MODULE_0___default.a.render(script.text, katexElement, { + displayMode: display + }); + } catch (err) { + //console.error(err); linter doesn't like this + katexElement.textContent = script.text; + } + + script.parentNode.replaceChild(katexElement, script); +}); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/source/lib/katex@0.12.0/contrib/mathtex-script-type.min.js b/source/lib/katex@0.12.0/contrib/mathtex-script-type.min.js new file mode 100644 index 0000000..ae9f528 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/mathtex-script-type.min.js @@ -0,0 +1 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],t);else{var r="object"==typeof exports?t(require("katex")):t(e.katex);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),u=document.body.getElementsByTagName("script");(u=Array.prototype.slice.call(u)).forEach(function(e){if(!e.type||!e.type.match(/math\/tex/i))return-1;var t=null!=e.type.match(/mode\s*=\s*display(;|\s|\n|$)/),r=document.createElement(t?"div":"span");r.setAttribute("class",t?"equation":"inline-equation");try{o.a.render(e.text,r,{displayMode:t})}catch(t){r.textContent=e.text}e.parentNode.replaceChild(r,e)})}]).default}); \ No newline at end of file diff --git a/source/lib/katex@0.12.0/contrib/mathtex-script-type.mjs b/source/lib/katex@0.12.0/contrib/mathtex-script-type.mjs new file mode 100644 index 0000000..7cfb90e --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/mathtex-script-type.mjs @@ -0,0 +1,24 @@ +import katex from '../katex.mjs'; + +let scripts = document.body.getElementsByTagName("script"); +scripts = Array.prototype.slice.call(scripts); +scripts.forEach(function (script) { + if (!script.type || !script.type.match(/math\/tex/i)) { + return -1; + } + + const display = script.type.match(/mode\s*=\s*display(;|\s|\n|$)/) != null; + const katexElement = document.createElement(display ? "div" : "span"); + katexElement.setAttribute("class", display ? "equation" : "inline-equation"); + + try { + katex.render(script.text, katexElement, { + displayMode: display + }); + } catch (err) { + //console.error(err); linter doesn't like this + katexElement.textContent = script.text; + } + + script.parentNode.replaceChild(katexElement, script); +}); diff --git a/source/lib/katex@0.12.0/contrib/mhchem.js b/source/lib/katex@0.12.0/contrib/mhchem.js new file mode 100644 index 0000000..f77c5da --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/mhchem.js @@ -0,0 +1,3241 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else { + var a = typeof exports === 'object' ? factory(require("katex")) : factory(root["katex"]); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_0__); +/* eslint-disable */ + +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ + +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * KaTeX mhchem.js + * + * This file implements a KaTeX version of mhchem version 3.3.0. + * It is adapted from MathJax/extensions/TeX/mhchem.js + * It differs from the MathJax version as follows: + * 1. The interface is changed so that it can be called from KaTeX, not MathJax. + * 2. \rlap and \llap are replaced with \mathrlap and \mathllap. + * 3. Four lines of code are edited in order to use \raisebox instead of \raise. + * 4. The reaction arrow code is simplified. All reaction arrows are rendered + * using KaTeX extensible arrows instead of building non-extensible arrows. + * 5. \tripledash vertical alignment is slightly adjusted. + * + * This code, as other KaTeX code, is released under the MIT license. + * + * /************************************************************* + * + * MathJax/extensions/TeX/mhchem.js + * + * Implements the \ce command for handling chemical formulas + * from the mhchem LaTeX package. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2015 The MathJax Consortium + * Copyright (c) 2015-2018 Martin Hensel + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// +// Coding Style +// - use '' for identifiers that can by minified/uglified +// - use "" for strings that need to stay untouched +// version: "3.3.0" for MathJax and KaTeX +// Add \ce, \pu, and \tripledash to the KaTeX macros. +katex__WEBPACK_IMPORTED_MODULE_0___default.a.__defineMacro("\\ce", function (context) { + return chemParse(context.consumeArgs(1)[0], "ce"); +}); + +katex__WEBPACK_IMPORTED_MODULE_0___default.a.__defineMacro("\\pu", function (context) { + return chemParse(context.consumeArgs(1)[0], "pu"); +}); // Needed for \bond for the ~ forms +// Raise by 2.56mu, not 2mu. We're raising a hyphen-minus, U+002D, not +// a mathematical minus, U+2212. So we need that extra 0.56. + + +katex__WEBPACK_IMPORTED_MODULE_0___default.a.__defineMacro("\\tripledash", "{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu" + "\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}"); + + // +// This is the main function for handing the \ce and \pu commands. +// It takes the argument to \ce or \pu and returns the corresponding TeX string. +// + +var chemParse = function chemParse(tokens, stateMachine) { + // Recreate the argument string from KaTeX's array of tokens. + var str = ""; + var expectedLoc = tokens[tokens.length - 1].loc.start; + + for (var i = tokens.length - 1; i >= 0; i--) { + if (tokens[i].loc.start > expectedLoc) { + // context.consumeArgs has eaten a space. + str += " "; + expectedLoc = tokens[i].loc.start; + } + + str += tokens[i].text; + expectedLoc += tokens[i].text.length; + } + + var tex = texify.go(mhchemParser.go(str, stateMachine)); + return tex; +}; // +// Core parser for mhchem syntax (recursive) +// + +/** @type {MhchemParser} */ + + +var mhchemParser = { + // + // Parses mchem \ce syntax + // + // Call like + // go("H2O"); + // + go: function go(input, stateMachine) { + if (!input) { + return []; + } + + if (stateMachine === undefined) { + stateMachine = 'ce'; + } + + var state = '0'; // + // String buffers for parsing: + // + // buffer.a == amount + // buffer.o == element + // buffer.b == left-side superscript + // buffer.p == left-side subscript + // buffer.q == right-side subscript + // buffer.d == right-side superscript + // + // buffer.r == arrow + // buffer.rdt == arrow, script above, type + // buffer.rd == arrow, script above, content + // buffer.rqt == arrow, script below, type + // buffer.rq == arrow, script below, content + // + // buffer.text_ + // buffer.rm + // etc. + // + // buffer.parenthesisLevel == int, starting at 0 + // buffer.sb == bool, space before + // buffer.beginsWithBond == bool + // + // These letters are also used as state names. + // + // Other states: + // 0 == begin of main part (arrow/operator unlikely) + // 1 == next entity + // 2 == next entity (arrow/operator unlikely) + // 3 == next atom + // c == macro + // + + /** @type {Buffer} */ + + var buffer = {}; + buffer['parenthesisLevel'] = 0; + input = input.replace(/\n/g, " "); + input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-"); + input = input.replace(/[\u2026]/g, "..."); // + // Looks through mhchemParser.transitions, to execute a matching action + // (recursive) + // + + var lastInput; + var watchdog = 10; + /** @type {ParserOutput[]} */ + + var output = []; + + while (true) { + if (lastInput !== input) { + watchdog = 10; + lastInput = input; + } else { + watchdog--; + } // + // Find actions in transition table + // + + + var machine = mhchemParser.stateMachines[stateMachine]; + var t = machine.transitions[state] || machine.transitions['*']; + + iterateTransitions: for (var i = 0; i < t.length; i++) { + var matches = mhchemParser.patterns.match_(t[i].pattern, input); + + if (matches) { + // + // Execute actions + // + var task = t[i].task; + + for (var iA = 0; iA < task.action_.length; iA++) { + var o; // + // Find and execute action + // + + if (machine.actions[task.action_[iA].type_]) { + o = machine.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option); + } else if (mhchemParser.actions[task.action_[iA].type_]) { + o = mhchemParser.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option); + } else { + throw ["MhchemBugA", "mhchem bug A. Please report. (" + task.action_[iA].type_ + ")"]; // Trying to use non-existing action + } // + // Add output + // + + + mhchemParser.concatArray(output, o); + } // + // Set next state, + // Shorten input, + // Continue with next character + // (= apply only one transition per position) + // + + + state = task.nextState || state; + + if (input.length > 0) { + if (!task.revisit) { + input = matches.remainder; + } + + if (!task.toContinue) { + break; + } + } else { + return output; + } + } + } // + // Prevent infinite loop + // + + + if (watchdog <= 0) { + throw ["MhchemBugU", "mhchem bug U. Please report."]; // Unexpected character + } + } + }, + concatArray: function concatArray(a, b) { + if (b) { + if (Array.isArray(b)) { + for (var iB = 0; iB < b.length; iB++) { + a.push(b[iB]); + } + } else { + a.push(b); + } + } + }, + patterns: { + // + // Matching patterns + // either regexps or function that return null or {match_:"a", remainder:"bc"} + // + patterns: { + // property names must not look like integers ("2") for correct property traversal order, later on + 'empty': /^$/, + 'else': /^./, + 'else2': /^./, + 'space': /^\s/, + 'space A': /^\s(?=[A-Z\\$])/, + 'space$': /^\s$/, + 'a-z': /^[a-z]/, + 'x': /^x/, + 'x$': /^x$/, + 'i$': /^i$/, + 'letters': /^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/, + '\\greek': /^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/, + 'one lowercase latin letter $': /^(?:([a-z])(?:$|[^a-zA-Z]))$/, + '$one lowercase latin letter$ $': /^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/, + 'one lowercase greek letter $': /^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/, + 'digits': /^[0-9]+/, + '-9.,9': /^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/, + '-9.,9 no missing 0': /^[+\-]?[0-9]+(?:[.,][0-9]+)?/, + '(-)(9.,9)(e)(99)': function e99(input) { + var m = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/); + + if (m && m[0]) { + return { + match_: m.splice(1), + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + '(-)(9)^(-9)': function _(input) { + var m = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/); + + if (m && m[0]) { + return { + match_: m.splice(1), + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + 'state of aggregation $': function stateOfAggregation$(input) { + // ... or crystal system + var a = mhchemParser.patterns.findObserveGroups(input, "", /^\([a-z]{1,3}(?=[\),])/, ")", ""); // (aq), (aq,$\infty$), (aq, sat) + + if (a && a.remainder.match(/^($|[\s,;\)\]\}])/)) { + return a; + } // AND end of 'phrase' + + + var m = input.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/); // OR crystal system ($o$) (\ca$c$) + + if (m) { + return { + match_: m[0], + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + '_{(state of aggregation)}$': /^_\{(\([a-z]{1,3}\))\}/, + '{[(': /^(?:\\\{|\[|\()/, + ')]}': /^(?:\)|\]|\\\})/, + ', ': /^[,;]\s*/, + ',': /^[,;]/, + '.': /^[.]/, + '. ': /^([.\u22C5\u00B7\u2022])\s*/, + '...': /^\.\.\.(?=$|[^.])/, + '* ': /^([*])\s*/, + '^{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "^{", "", "", "}"); + }, + '^($...$)': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", "$", "$", ""); + }, + '^a': /^\^([0-9]+|[^\\_])/, + '^\\x{}{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '^\\x{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '^\\x': /^\^(\\[a-zA-Z]+)\s*/, + '^(-1)': /^\^(-?\d+)/, + '\'': /^'/, + '_{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "_{", "", "", "}"); + }, + '_($...$)': function _$$(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", "$", "$", ""); + }, + '_9': /^_([+\-]?[0-9]+|[^\\])/, + '_\\x{}{}': function _X(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '_\\x{}': function _X(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '_\\x': /^_(\\[a-zA-Z]+)\s*/, + '^_': /^(?:\^(?=_)|\_(?=\^)|[\^_]$)/, + '{}': /^\{\}/, + '{...}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "", "{", "}", ""); + }, + '{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "{", "", "", "}"); + }, + '$...$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + }, + '${(...)}$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "${", "", "", "}$"); + }, + '$(...)$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "$", "", "", "$"); + }, + '=<>': /^[=<>]/, + '#': /^[#\u2261]/, + '+': /^\+/, + '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/, + // -space -, -; -] -/ -$ -state-of-aggregation + '-9': /^-(?=[0-9])/, + '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/, + '-': /^-/, + 'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/, + 'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/, + 'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/, + '\\bond{(...)}': function bond(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); + }, + '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/, + 'CMT': /^[CMT](?=\[)/, + '[(...)]': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); + }, + '1st-level escape': /^(&|\\\\|\\hline)\s*/, + '\\,': /^(?:\\[,\ ;:])/, + // \\x - but output no space before + '\\x{}{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '\\x{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/, + '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/, + 'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/, + // only those with numbers in front, because the others will be formatted correctly anyway + 'others': /^[\/~|]/, + '\\frac{(...)}': function frac(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); + }, + '\\overset{(...)}': function overset(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); + }, + "\\underset{(...)}": function underset(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); + }, + "\\underbrace{(...)}": function underbrace(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); + }, + '\\color{(...)}0': function color0(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); + }, + '\\color{(...)}{(...)}1': function color1(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}"); + }, + '\\color(...){(...)}2': function color2(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}"); + }, + '\\ce{(...)}': function ce(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); + }, + 'oxidation$': /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + 'd-oxidation$': /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + // 0 could be oxidation or charge + 'roman numeral': /^[IVX]+/, + '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/, + 'amount': function amount(input) { + var match; // e.g. 2, 0.5, 1/2, -2, n/2, +; $a$ could be added later in parsing + + match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + + var a = mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + + if (a) { + // e.g. $2n-1$, $-$ + match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + } + + return null; + }, + 'amount2': function amount2(input) { + return this['amount'](input); + }, + '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/, + 'formula$': function formula$(input) { + if (input.match(/^\([a-z]+\)$/)) { + return null; + } // state of aggregation = no formula + + + var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + + return null; + }, + 'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/, + '/': /^\s*(\/)\s*/, + '//': /^\s*(\/\/)\s*/, + '*': /^\s*[*.]\s*/ + }, + findObserveGroups: function findObserveGroups(input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) { + /** @type {{(input: string, pattern: string | RegExp): string | string[] | null;}} */ + var _match = function _match(input, pattern) { + if (typeof pattern === "string") { + if (input.indexOf(pattern) !== 0) { + return null; + } + + return pattern; + } else { + var match = input.match(pattern); + + if (!match) { + return null; + } + + return match[0]; + } + }; + /** @type {{(input: string, i: number, endChars: string | RegExp): {endMatchBegin: number, endMatchEnd: number} | null;}} */ + + + var _findObserveGroups = function _findObserveGroups(input, i, endChars) { + var braces = 0; + + while (i < input.length) { + var a = input.charAt(i); + + var match = _match(input.substr(i), endChars); + + if (match !== null && braces === 0) { + return { + endMatchBegin: i, + endMatchEnd: i + match.length + }; + } else if (a === "{") { + braces++; + } else if (a === "}") { + if (braces === 0) { + throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"]; + } else { + braces--; + } + } + + i++; + } + + if (braces > 0) { + return null; + } + + return null; + }; + + var match = _match(input, begExcl); + + if (match === null) { + return null; + } + + input = input.substr(match.length); + match = _match(input, begIncl); + + if (match === null) { + return null; + } + + var e = _findObserveGroups(input, match.length, endIncl || endExcl); + + if (e === null) { + return null; + } + + var match1 = input.substring(0, endIncl ? e.endMatchEnd : e.endMatchBegin); + + if (!(beg2Excl || beg2Incl)) { + return { + match_: match1, + remainder: input.substr(e.endMatchEnd) + }; + } else { + var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl); + + if (group2 === null) { + return null; + } + /** @type {string[]} */ + + + var matchRet = [match1, group2.match_]; + return { + match_: combine ? matchRet.join("") : matchRet, + remainder: group2.remainder + }; + } + }, + // + // Matching function + // e.g. match("a", input) will look for the regexp called "a" and see if it matches + // returns null or {match_:"a", remainder:"bc"} + // + match_: function match_(m, input) { + var pattern = mhchemParser.patterns.patterns[m]; + + if (pattern === undefined) { + throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"]; // Trying to use non-existing pattern + } else if (typeof pattern === "function") { + return mhchemParser.patterns.patterns[m](input); // cannot use cached var pattern here, because some pattern functions need this===mhchemParser + } else { + // RegExp + var match = input.match(pattern); + + if (match) { + var mm; + + if (match[2]) { + mm = [match[1], match[2]]; + } else if (match[1]) { + mm = match[1]; + } else { + mm = match[0]; + } + + return { + match_: mm, + remainder: input.substr(match[0].length) + }; + } + + return null; + } + } + }, + // + // Generic state machine actions + // + actions: { + 'a=': function a(buffer, m) { + buffer.a = (buffer.a || "") + m; + }, + 'b=': function b(buffer, m) { + buffer.b = (buffer.b || "") + m; + }, + 'p=': function p(buffer, m) { + buffer.p = (buffer.p || "") + m; + }, + 'o=': function o(buffer, m) { + buffer.o = (buffer.o || "") + m; + }, + 'q=': function q(buffer, m) { + buffer.q = (buffer.q || "") + m; + }, + 'd=': function d(buffer, m) { + buffer.d = (buffer.d || "") + m; + }, + 'rm=': function rm(buffer, m) { + buffer.rm = (buffer.rm || "") + m; + }, + 'text=': function text(buffer, m) { + buffer.text_ = (buffer.text_ || "") + m; + }, + 'insert': function insert(buffer, m, a) { + return { + type_: a + }; + }, + 'insert+p1': function insertP1(buffer, m, a) { + return { + type_: a, + p1: m + }; + }, + 'insert+p1+p2': function insertP1P2(buffer, m, a) { + return { + type_: a, + p1: m[0], + p2: m[1] + }; + }, + 'copy': function copy(buffer, m) { + return m; + }, + 'rm': function rm(buffer, m) { + return { + type_: 'rm', + p1: m || "" + }; + }, + 'text': function text(buffer, m) { + return mhchemParser.go(m, 'text'); + }, + '{text}': function text(buffer, m) { + var ret = ["{"]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'text')); + ret.push("}"); + return ret; + }, + 'tex-math': function texMath(buffer, m) { + return mhchemParser.go(m, 'tex-math'); + }, + 'tex-math tight': function texMathTight(buffer, m) { + return mhchemParser.go(m, 'tex-math tight'); + }, + 'bond': function bond(buffer, m, k) { + return { + type_: 'bond', + kind_: k || m + }; + }, + 'color0-output': function color0Output(buffer, m) { + return { + type_: 'color0', + color: m[0] + }; + }, + 'ce': function ce(buffer, m) { + return mhchemParser.go(m); + }, + '1/2': function _(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m.match(/^[+\-]/)) { + ret.push(m.substr(0, 1)); + m = m.substr(1); + } + + var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/); + n[1] = n[1].replace(/\$/g, ""); + ret.push({ + type_: 'frac', + p1: n[1], + p2: n[2] + }); + + if (n[3]) { + n[3] = n[3].replace(/\$/g, ""); + ret.push({ + type_: 'tex-math', + p1: n[3] + }); + } + + return ret; + }, + '9,9': function _(buffer, m) { + return mhchemParser.go(m, '9,9'); + } + }, + // + // createTransitions + // convert { 'letter': { 'state': { action_: 'output' } } } to { 'state' => [ { pattern: 'letter', task: { action_: [{type_: 'output'}] } } ] } + // with expansion of 'a|b' to 'a' and 'b' (at 2 places) + // + createTransitions: function createTransitions(o) { + var pattern, state; + /** @type {string[]} */ + + var stateArray; + var i; // + // 1. Collect all states + // + + /** @type {Transitions} */ + + var transitions = {}; + + for (pattern in o) { + for (state in o[pattern]) { + stateArray = state.split("|"); + o[pattern][state].stateArray = stateArray; + + for (i = 0; i < stateArray.length; i++) { + transitions[stateArray[i]] = []; + } + } + } // + // 2. Fill states + // + + + for (pattern in o) { + for (state in o[pattern]) { + stateArray = o[pattern][state].stateArray || []; + + for (i = 0; i < stateArray.length; i++) { + // + // 2a. Normalize actions into array: 'text=' ==> [{type_:'text='}] + // (Note to myself: Resolving the function here would be problematic. It would need .bind (for *this*) and currying (for *option*).) + // + + /** @type {any} */ + var p = o[pattern][state]; + + if (p.action_) { + p.action_ = [].concat(p.action_); + + for (var k = 0; k < p.action_.length; k++) { + if (typeof p.action_[k] === "string") { + p.action_[k] = { + type_: p.action_[k] + }; + } + } + } else { + p.action_ = []; + } // + // 2.b Multi-insert + // + + + var patternArray = pattern.split("|"); + + for (var j = 0; j < patternArray.length; j++) { + if (stateArray[i] === '*') { + // insert into all + for (var t in transitions) { + transitions[t].push({ + pattern: patternArray[j], + task: p + }); + } + } else { + transitions[stateArray[i]].push({ + pattern: patternArray[j], + task: p + }); + } + } + } + } + } + + return transitions; + }, + stateMachines: {} +}; // +// Definition of state machines +// + +mhchemParser.stateMachines = { + // + // \ce state machines + // + //#region ce + 'ce': { + // main parser + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + 'else': { + '0|1|2': { + action_: 'beginsWithBond=false', + revisit: true, + toContinue: true + } + }, + 'oxidation$': { + '0': { + action_: 'oxidation-output' + } + }, + 'CMT': { + 'r': { + action_: 'rdt=', + nextState: 'rt' + }, + 'rd': { + action_: 'rqt=', + nextState: 'rdt' + } + }, + 'arrowUpDown': { + '0|1|2|as': { + action_: ['sb=false', 'output', 'operator'], + nextState: '1' + } + }, + 'uprightEntities': { + '0|1|2': { + action_: ['o=', 'output'], + nextState: '1' + } + }, + 'orbital': { + '0|1|2|3': { + action_: 'o=', + nextState: 'o' + } + }, + '->': { + '0|1|2|3': { + action_: 'r=', + nextState: 'r' + }, + 'a|as': { + action_: ['output', 'r='], + nextState: 'r' + }, + '*': { + action_: ['output', 'r='], + nextState: 'r' + } + }, + '+': { + 'o': { + action_: 'd= kv', + nextState: 'd' + }, + 'd|D': { + action_: 'd=', + nextState: 'd' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'qd|qD': { + action_: 'd=', + nextState: 'qd' + }, + 'dq': { + action_: ['output', 'd='], + nextState: 'd' + }, + '3': { + action_: ['sb=false', 'output', 'operator'], + nextState: '0' + } + }, + 'amount': { + '0|2': { + action_: 'a=', + nextState: 'a' + } + }, + 'pm-operator': { + '0|1|2|a|as': { + action_: ['sb=false', 'output', { + type_: 'operator', + option: '\\pm' + }], + nextState: '0' + } + }, + 'operator': { + '0|1|2|a|as': { + action_: ['sb=false', 'output', 'operator'], + nextState: '0' + } + }, + '-$': { + 'o|q': { + action_: ['charge or bond', 'output'], + nextState: 'qd' + }, + 'd': { + action_: 'd=', + nextState: 'd' + }, + 'D': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'qd': { + action_: 'd=', + nextState: 'qd' + }, + 'qD|dq': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + } + }, + '-9': { + '3|o': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '3' + } + }, + '- orbital overlap': { + 'o': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + }, + 'd': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + } + }, + '-': { + '0|1|2': { + action_: [{ + type_: 'output', + option: 1 + }, 'beginsWithBond=true', { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + '3': { + action_: { + type_: 'bond', + option: "-" + } + }, + 'a': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + }, + 'as': { + action_: [{ + type_: 'output', + option: 2 + }, { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + 'b': { + action_: 'b=' + }, + 'o': { + action_: { + type_: '- after o/d', + option: false + }, + nextState: '2' + }, + 'q': { + action_: { + type_: '- after o/d', + option: false + }, + nextState: '2' + }, + 'd|qd|dq': { + action_: { + type_: '- after o/d', + option: true + }, + nextState: '2' + }, + 'D|qD|p': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + } + }, + 'amount2': { + '1|3': { + action_: 'a=', + nextState: 'a' + } + }, + 'letters': { + '0|1|2|3|a|as|b|p|bp|o': { + action_: 'o=', + nextState: 'o' + }, + 'q|dq': { + action_: ['output', 'o='], + nextState: 'o' + }, + 'd|D|qd|qD': { + action_: 'o after d', + nextState: 'o' + } + }, + 'digits': { + 'o': { + action_: 'q=', + nextState: 'q' + }, + 'd|D': { + action_: 'q=', + nextState: 'dq' + }, + 'q': { + action_: ['output', 'o='], + nextState: 'o' + }, + 'a': { + action_: 'o=', + nextState: 'o' + } + }, + 'space A': { + 'b|p|bp': {} + }, + 'space': { + 'a': { + nextState: 'as' + }, + '0': { + action_: 'sb=false' + }, + '1|2': { + action_: 'sb=true' + }, + 'r|rt|rd|rdt|rdq': { + action_: 'output', + nextState: '0' + }, + '*': { + action_: ['output', 'sb=true'], + nextState: '1' + } + }, + '1st-level escape': { + '1|2': { + action_: ['output', { + type_: 'insert+p1', + option: '1st-level escape' + }] + }, + '*': { + action_: ['output', { + type_: 'insert+p1', + option: '1st-level escape' + }], + nextState: '0' + } + }, + '[(...)]': { + 'r|rt': { + action_: 'rd=', + nextState: 'rd' + }, + 'rd|rdt': { + action_: 'rq=', + nextState: 'rdq' + } + }, + '...': { + 'o|d|D|dq|qd|qD': { + action_: ['output', { + type_: 'bond', + option: "..." + }], + nextState: '3' + }, + '*': { + action_: [{ + type_: 'output', + option: 1 + }, { + type_: 'insert', + option: 'ellipsis' + }], + nextState: '1' + } + }, + '. |* ': { + '*': { + action_: ['output', { + type_: 'insert', + option: 'addition compound' + }], + nextState: '1' + } + }, + 'state of aggregation $': { + '*': { + action_: ['output', 'state of aggregation'], + nextState: '1' + } + }, + '{[(': { + 'a|as|o': { + action_: ['o=', 'output', 'parenthesisLevel++'], + nextState: '2' + }, + '0|1|2|3': { + action_: ['o=', 'output', 'parenthesisLevel++'], + nextState: '2' + }, + '*': { + action_: ['output', 'o=', 'output', 'parenthesisLevel++'], + nextState: '2' + } + }, + ')]}': { + '0|1|2|3|b|p|bp|o': { + action_: ['o=', 'parenthesisLevel--'], + nextState: 'o' + }, + 'a|as|d|D|q|qd|qD|dq': { + action_: ['output', 'o=', 'parenthesisLevel--'], + nextState: 'o' + } + }, + ', ': { + '*': { + action_: ['output', 'comma'], + nextState: '0' + } + }, + '^_': { + // ^ and _ without a sensible argument + '*': {} + }, + '^{(...)}|^($...$)': { + '0|1|2|as': { + action_: 'b=', + nextState: 'b' + }, + 'p': { + action_: 'b=', + nextState: 'bp' + }, + '3|o': { + action_: 'd= kv', + nextState: 'D' + }, + 'q': { + action_: 'd=', + nextState: 'qD' + }, + 'd|D|qd|qD|dq': { + action_: ['output', 'd='], + nextState: 'D' + } + }, + '^a|^\\x{}{}|^\\x{}|^\\x|\'': { + '0|1|2|as': { + action_: 'b=', + nextState: 'b' + }, + 'p': { + action_: 'b=', + nextState: 'bp' + }, + '3|o': { + action_: 'd= kv', + nextState: 'd' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'd|qd|D|qD': { + action_: 'd=' + }, + 'dq': { + action_: ['output', 'd='], + nextState: 'd' + } + }, + '_{(state of aggregation)}$': { + 'd|D|q|qd|qD|dq': { + action_: ['output', 'q='], + nextState: 'q' + } + }, + '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': { + '0|1|2|as': { + action_: 'p=', + nextState: 'p' + }, + 'b': { + action_: 'p=', + nextState: 'bp' + }, + '3|o': { + action_: 'q=', + nextState: 'q' + }, + 'd|D': { + action_: 'q=', + nextState: 'dq' + }, + 'q|qd|qD|dq': { + action_: ['output', 'q='], + nextState: 'q' + } + }, + '=<>': { + '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { + action_: [{ + type_: 'output', + option: 2 + }, 'bond'], + nextState: '3' + } + }, + '#': { + '0|1|2|3|a|as|o': { + action_: [{ + type_: 'output', + option: 2 + }, { + type_: 'bond', + option: "#" + }], + nextState: '3' + } + }, + '{}': { + '*': { + action_: { + type_: 'output', + option: 1 + }, + nextState: '1' + } + }, + '{...}': { + '0|1|2|3|a|as|b|p|bp': { + action_: 'o=', + nextState: 'o' + }, + 'o|d|D|q|qd|qD|dq': { + action_: ['output', 'o='], + nextState: 'o' + } + }, + '$...$': { + 'a': { + action_: 'a=' + }, + // 2$n$ + '0|1|2|3|as|b|p|bp|o': { + action_: 'o=', + nextState: 'o' + }, + // not 'amount' + 'as|o': { + action_: 'o=' + }, + 'q|d|D|qd|qD|dq': { + action_: ['output', 'o='], + nextState: 'o' + } + }, + '\\bond{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'bond'], + nextState: "3" + } + }, + '\\frac{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'frac-output'], + nextState: '3' + } + }, + '\\overset{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'overset-output'], + nextState: '3' + } + }, + "\\underset{(...)}": { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'underset-output'], + nextState: '3' + } + }, + "\\underbrace{(...)}": { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'underbrace-output'], + nextState: '3' + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'color-output'], + nextState: '3' + } + }, + '\\color{(...)}0': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'color0-output'] + } + }, + '\\ce{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'ce'], + nextState: '3' + } + }, + '\\,': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'copy'], + nextState: '1' + } + }, + '\\x{}{}|\\x{}|\\x': { + '0|1|2|3|a|as|b|p|bp|o|c0': { + action_: ['o=', 'output'], + nextState: '3' + }, + '*': { + action_: ['output', 'o=', 'output'], + nextState: '3' + } + }, + 'others': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'copy'], + nextState: '3' + } + }, + 'else2': { + 'a': { + action_: 'a to o', + nextState: 'o', + revisit: true + }, + 'as': { + action_: ['output', 'sb=true'], + nextState: '1', + revisit: true + }, + 'r|rt|rd|rdt|rdq': { + action_: ['output'], + nextState: '0', + revisit: true + }, + '*': { + action_: ['output', 'copy'], + nextState: '3' + } + } + }), + actions: { + 'o after d': function oAfterD(buffer, m) { + var ret; + + if ((buffer.d || "").match(/^[0-9]+$/)) { + var tmp = buffer.d; + buffer.d = undefined; + ret = this['output'](buffer); + buffer.b = tmp; + } else { + ret = this['output'](buffer); + } + + mhchemParser.actions['o='](buffer, m); + return ret; + }, + 'd= kv': function dKv(buffer, m) { + buffer.d = m; + buffer.dType = 'kv'; + }, + 'charge or bond': function chargeOrBond(buffer, m) { + if (buffer['beginsWithBond']) { + /** @type {ParserOutput[]} */ + var ret = []; + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + return ret; + } else { + buffer.d = m; + } + }, + '- after o/d': function afterOD(buffer, m, isAfterD) { + var c1 = mhchemParser.patterns.match_('orbital', buffer.o || ""); + var c2 = mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || ""); + var c3 = mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || ""); + var c4 = mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || ""); + var hyphenFollows = m === "-" && (c1 && c1.remainder === "" || c2 || c3 || c4); + + if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) { + buffer.o = '$' + buffer.o + '$'; + } + /** @type {ParserOutput[]} */ + + + var ret = []; + + if (hyphenFollows) { + mhchemParser.concatArray(ret, this['output'](buffer)); + ret.push({ + type_: 'hyphen' + }); + } else { + c1 = mhchemParser.patterns.match_('digits', buffer.d || ""); + + if (isAfterD && c1 && c1.remainder === '') { + mhchemParser.concatArray(ret, mhchemParser.actions['d='](buffer, m)); + mhchemParser.concatArray(ret, this['output'](buffer)); + } else { + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + } + } + + return ret; + }, + 'a to o': function aToO(buffer) { + buffer.o = buffer.a; + buffer.a = undefined; + }, + 'sb=true': function sbTrue(buffer) { + buffer.sb = true; + }, + 'sb=false': function sbFalse(buffer) { + buffer.sb = false; + }, + 'beginsWithBond=true': function beginsWithBondTrue(buffer) { + buffer['beginsWithBond'] = true; + }, + 'beginsWithBond=false': function beginsWithBondFalse(buffer) { + buffer['beginsWithBond'] = false; + }, + 'parenthesisLevel++': function parenthesisLevel(buffer) { + buffer['parenthesisLevel']++; + }, + 'parenthesisLevel--': function parenthesisLevel(buffer) { + buffer['parenthesisLevel']--; + }, + 'state of aggregation': function stateOfAggregation(buffer, m) { + return { + type_: 'state of aggregation', + p1: mhchemParser.go(m, 'o') + }; + }, + 'comma': function comma(buffer, m) { + var a = m.replace(/\s*$/, ''); + var withSpace = a !== m; + + if (withSpace && buffer['parenthesisLevel'] === 0) { + return { + type_: 'comma enumeration L', + p1: a + }; + } else { + return { + type_: 'comma enumeration M', + p1: a + }; + } + }, + 'output': function output(buffer, m, entityFollows) { + // entityFollows: + // undefined = if we have nothing else to output, also ignore the just read space (buffer.sb) + // 1 = an entity follows, never omit the space if there was one just read before (can only apply to state 1) + // 2 = 1 + the entity can have an amount, so output a\, instead of converting it to o (can only apply to states a|as) + + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + + if (!buffer.r) { + ret = []; + + if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) {//ret = []; + } else { + if (buffer.sb) { + ret.push({ + type_: 'entitySkip' + }); + } + + if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows !== 2) { + buffer.o = buffer.a; + buffer.a = undefined; + } else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) { + buffer.o = buffer.a; + buffer.d = buffer.b; + buffer.q = buffer.p; + buffer.a = buffer.b = buffer.p = undefined; + } else { + if (buffer.o && buffer.dType === 'kv' && mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) { + buffer.dType = 'oxidation'; + } else if (buffer.o && buffer.dType === 'kv' && !buffer.q) { + buffer.dType = undefined; + } + } + + ret.push({ + type_: 'chemfive', + a: mhchemParser.go(buffer.a, 'a'), + b: mhchemParser.go(buffer.b, 'bd'), + p: mhchemParser.go(buffer.p, 'pq'), + o: mhchemParser.go(buffer.o, 'o'), + q: mhchemParser.go(buffer.q, 'pq'), + d: mhchemParser.go(buffer.d, buffer.dType === 'oxidation' ? 'oxidation' : 'bd'), + dType: buffer.dType + }); + } + } else { + // r + + /** @type {ParserOutput[]} */ + var rd; + + if (buffer.rdt === 'M') { + rd = mhchemParser.go(buffer.rd, 'tex-math'); + } else if (buffer.rdt === 'T') { + rd = [{ + type_: 'text', + p1: buffer.rd || "" + }]; + } else { + rd = mhchemParser.go(buffer.rd); + } + /** @type {ParserOutput[]} */ + + + var rq; + + if (buffer.rqt === 'M') { + rq = mhchemParser.go(buffer.rq, 'tex-math'); + } else if (buffer.rqt === 'T') { + rq = [{ + type_: 'text', + p1: buffer.rq || "" + }]; + } else { + rq = mhchemParser.go(buffer.rq); + } + + ret = { + type_: 'arrow', + r: buffer.r, + rd: rd, + rq: rq + }; + } + + for (var p in buffer) { + if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') { + delete buffer[p]; + } + } + + return ret; + }, + 'oxidation-output': function oxidationOutput(buffer, m) { + var ret = ["{"]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'oxidation')); + ret.push("}"); + return ret; + }, + 'frac-output': function fracOutput(buffer, m) { + return { + type_: 'frac-ce', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'overset-output': function oversetOutput(buffer, m) { + return { + type_: 'overset', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'underset-output': function undersetOutput(buffer, m) { + return { + type_: 'underset', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'underbrace-output': function underbraceOutput(buffer, m) { + return { + type_: 'underbrace', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1]) + }; + }, + 'r=': function r(buffer, m) { + buffer.r = m; + }, + 'rdt=': function rdt(buffer, m) { + buffer.rdt = m; + }, + 'rd=': function rd(buffer, m) { + buffer.rd = m; + }, + 'rqt=': function rqt(buffer, m) { + buffer.rqt = m; + }, + 'rq=': function rq(buffer, m) { + buffer.rq = m; + }, + 'operator': function operator(buffer, m, p1) { + return { + type_: 'operator', + kind_: p1 || m + }; + } + } + }, + 'a': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '1', + revisit: true + } + }, + '$(...)$': { + '*': { + action_: 'tex-math tight', + nextState: '1' + } + }, + ',': { + '*': { + action_: { + type_: 'insert', + option: 'commaDecimal' + } + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: {} + }, + 'o': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '1', + revisit: true + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '\\ca': { + '*': { + action_: { + type_: 'insert', + option: 'circa' + } + } + }, + '\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: '{text}' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: {} + }, + 'text': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '{...}': { + '*': { + action_: 'text=' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '\\greek': { + '*': { + action_: ['output', 'rm'] + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: ['output', 'copy'] + } + }, + 'else': { + '*': { + action_: 'text=' + } + } + }), + actions: { + 'output': function output(buffer) { + if (buffer.text_) { + /** @type {ParserOutput} */ + var ret = { + type_: 'text', + p1: buffer.text_ + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + 'pq': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'state of aggregation $': { + '*': { + action_: 'state of aggregation' + } + }, + 'i$': { + '0': { + nextState: '!f', + revisit: true + } + }, + '(KV letters),': { + '0': { + action_: 'rm', + nextState: '0' + } + }, + 'formula$': { + '0': { + nextState: 'f', + revisit: true + } + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '!f', + revisit: true + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: 'text' + } + }, + 'a-z': { + 'f': { + action_: 'tex-math' + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '-9.,9': { + '*': { + action_: '9,9' + } + }, + ',': { + '*': { + action_: { + type_: 'insert+p1', + option: 'comma enumeration S' + } + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: 'color-output' + } + }, + '\\color{(...)}0': { + '*': { + action_: 'color0-output' + } + }, + '\\ce{(...)}': { + '*': { + action_: 'ce' + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'state of aggregation': function stateOfAggregation(buffer, m) { + return { + type_: 'state of aggregation subscript', + p1: mhchemParser.go(m, 'o') + }; + }, + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1], 'pq') + }; + } + } + }, + 'bd': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'x$': { + '0': { + nextState: '!f', + revisit: true + } + }, + 'formula$': { + '0': { + nextState: 'f', + revisit: true + } + }, + 'else': { + '0': { + nextState: '!f', + revisit: true + } + }, + '-9.,9 no missing 0': { + '*': { + action_: '9,9' + } + }, + '.': { + '*': { + action_: { + type_: 'insert', + option: 'electron dot' + } + } + }, + 'a-z': { + 'f': { + action_: 'tex-math' + } + }, + 'x': { + '*': { + action_: { + type_: 'insert', + option: 'KV x' + } + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '\'': { + '*': { + action_: { + type_: 'insert', + option: 'prime' + } + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: 'text' + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: 'color-output' + } + }, + '\\color{(...)}0': { + '*': { + action_: 'color0-output' + } + }, + '\\ce{(...)}': { + '*': { + action_: 'ce' + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1], 'bd') + }; + } + } + }, + 'oxidation': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'roman numeral': { + '*': { + action_: 'roman-numeral' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + 'else': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'roman-numeral': function romanNumeral(buffer, m) { + return { + type_: 'roman numeral', + p1: m || "" + }; + } + } + }, + 'tex-math': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '\\ce{(...)}': { + '*': { + action_: ['output', 'ce'] + } + }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'o=' + } + }, + 'else': { + '*': { + action_: 'o=' + } + } + }), + actions: { + 'output': function output(buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { + type_: 'tex-math', + p1: buffer.o + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + 'tex-math tight': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '\\ce{(...)}': { + '*': { + action_: ['output', 'ce'] + } + }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'o=' + } + }, + '-|+': { + '*': { + action_: 'tight operator' + } + }, + 'else': { + '*': { + action_: 'o=' + } + } + }), + actions: { + 'tight operator': function tightOperator(buffer, m) { + buffer.o = (buffer.o || "") + "{" + m + "}"; + }, + 'output': function output(buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { + type_: 'tex-math', + p1: buffer.o + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + '9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + ',': { + '*': { + action_: 'comma' + } + }, + 'else': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'comma': function comma() { + return { + type_: 'commaDecimal' + }; + } + } + }, + //#endregion + // + // \pu state machines + // + //#region pu + 'pu': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + 'space$': { + '*': { + action_: ['output', 'space'] + } + }, + '{[(|)]}': { + '0|a': { + action_: 'copy' + } + }, + '(-)(9)^(-9)': { + '0': { + action_: 'number^', + nextState: 'a' + } + }, + '(-)(9.,9)(e)(99)': { + '0': { + action_: 'enumber', + nextState: 'a' + } + }, + 'space': { + '0|a': {} + }, + 'pm-operator': { + '0|a': { + action_: { + type_: 'operator', + option: '\\pm' + }, + nextState: '0' + } + }, + 'operator': { + '0|a': { + action_: 'copy', + nextState: '0' + } + }, + '//': { + 'd': { + action_: 'o=', + nextState: '/' + } + }, + '/': { + 'd': { + action_: 'o=', + nextState: '/' + } + }, + '{...}|else': { + '0|d': { + action_: 'd=', + nextState: 'd' + }, + 'a': { + action_: ['space', 'd='], + nextState: 'd' + }, + '/|q': { + action_: 'q=', + nextState: 'q' + } + } + }), + actions: { + 'enumber': function enumber(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + + if (m[1]) { + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + + if (m[2]) { + if (m[2].match(/[,.]/)) { + mhchemParser.concatArray(ret, mhchemParser.go(m[2], 'pu-9,9')); + } else { + ret.push(m[2]); + } + } + + m[3] = m[4] || m[3]; + + if (m[3]) { + m[3] = m[3].trim(); + + if (m[3] === "e" || m[3].substr(0, 1) === "*") { + ret.push({ + type_: 'cdot' + }); + } else { + ret.push({ + type_: 'times' + }); + } + } + } + + if (m[3]) { + ret.push("10^{" + m[5] + "}"); + } + + return ret; + }, + 'number^': function number(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + ret.push("^{" + m[2] + "}"); + return ret; + }, + 'operator': function operator(buffer, m, p1) { + return { + type_: 'operator', + kind_: p1 || m + }; + }, + 'space': function space() { + return { + type_: 'pu-space-1' + }; + }, + 'output': function output(buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + var md = mhchemParser.patterns.match_('{(...)}', buffer.d || ""); + + if (md && md.remainder === '') { + buffer.d = md.match_; + } + + var mq = mhchemParser.patterns.match_('{(...)}', buffer.q || ""); + + if (mq && mq.remainder === '') { + buffer.q = mq.match_; + } + + if (buffer.d) { + buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + } + + if (buffer.q) { + // fraction + buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + var b5 = { + d: mhchemParser.go(buffer.d, 'pu'), + q: mhchemParser.go(buffer.q, 'pu') + }; + + if (buffer.o === '//') { + ret = { + type_: 'pu-frac', + p1: b5.d, + p2: b5.q + }; + } else { + ret = b5.d; + + if (b5.d.length > 1 || b5.q.length > 1) { + ret.push({ + type_: ' / ' + }); + } else { + ret.push({ + type_: '/' + }); + } + + mhchemParser.concatArray(ret, b5.q); + } + } else { + // no fraction + ret = mhchemParser.go(buffer.d, 'pu-2'); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + }, + 'pu-2': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '*': { + '*': { + action_: ['output', 'cdot'], + nextState: '0' + } + }, + '\\x': { + '*': { + action_: 'rm=' + } + }, + 'space': { + '*': { + action_: ['output', 'space'], + nextState: '0' + } + }, + '^{(...)}|^(-1)': { + '1': { + action_: '^(-1)' + } + }, + '-9.,9': { + '0': { + action_: 'rm=', + nextState: '0' + }, + '1': { + action_: '^(-1)', + nextState: '0' + } + }, + '{...}|else': { + '*': { + action_: 'rm=', + nextState: '1' + } + } + }), + actions: { + 'cdot': function cdot() { + return { + type_: 'tight cdot' + }; + }, + '^(-1)': function _(buffer, m) { + buffer.rm += "^{" + m + "}"; + }, + 'space': function space() { + return { + type_: 'pu-space-2' + }; + }, + 'output': function output(buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret = []; + + if (buffer.rm) { + var mrm = mhchemParser.patterns.match_('{(...)}', buffer.rm || ""); + + if (mrm && mrm.remainder === '') { + ret = mhchemParser.go(mrm.match_, 'pu'); + } else { + ret = { + type_: 'rm', + p1: buffer.rm + }; + } + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + }, + 'pu-9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '0': { + action_: 'output-0' + }, + 'o': { + action_: 'output-o' + } + }, + ',': { + '0': { + action_: ['output-0', 'comma'], + nextState: 'o' + } + }, + '.': { + '0': { + action_: ['output-0', 'copy'], + nextState: 'o' + } + }, + 'else': { + '*': { + action_: 'text=' + } + } + }), + actions: { + 'comma': function comma() { + return { + type_: 'commaDecimal' + }; + }, + 'output-0': function output0(buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + + if (buffer.text_.length > 4) { + var a = buffer.text_.length % 3; + + if (a === 0) { + a = 3; + } + + for (var i = buffer.text_.length - 3; i > 0; i -= 3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ + type_: '1000 separator' + }); + } + + ret.push(buffer.text_.substr(0, a)); + ret.reverse(); + } else { + ret.push(buffer.text_); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + }, + 'output-o': function outputO(buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + + if (buffer.text_.length > 4) { + var a = buffer.text_.length - 3; + + for (var i = 0; i < a; i += 3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ + type_: '1000 separator' + }); + } + + ret.push(buffer.text_.substr(i)); + } else { + ret.push(buffer.text_); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } //#endregion + + } +}; // +// texify: Take MhchemParser output and convert it to TeX +// + +/** @type {Texify} */ + +var texify = { + go: function go(input, isInner) { + // (recursive, max 4 levels) + if (!input) { + return ""; + } + + var res = ""; + var cee = false; + + for (var i = 0; i < input.length; i++) { + var inputi = input[i]; + + if (typeof inputi === "string") { + res += inputi; + } else { + res += texify._go2(inputi); + + if (inputi.type_ === '1st-level escape') { + cee = true; + } + } + } + + if (!isInner && !cee && res) { + res = "{" + res + "}"; + } + + return res; + }, + _goInner: function _goInner(input) { + if (!input) { + return input; + } + + return texify.go(input, true); + }, + _go2: function _go2(buf) { + /** @type {undefined | string} */ + var res; + + switch (buf.type_) { + case 'chemfive': + res = ""; + var b5 = { + a: texify._goInner(buf.a), + b: texify._goInner(buf.b), + p: texify._goInner(buf.p), + o: texify._goInner(buf.o), + q: texify._goInner(buf.q), + d: texify._goInner(buf.d) + }; // + // a + // + + if (b5.a) { + if (b5.a.match(/^[+\-]/)) { + b5.a = "{" + b5.a + "}"; + } + + res += b5.a + "\\,"; + } // + // b and p + // + + + if (b5.b || b5.p) { + res += "{\\vphantom{X}}"; + res += "^{\\hphantom{" + (b5.b || "") + "}}_{\\hphantom{" + (b5.p || "") + "}}"; + res += "{\\vphantom{X}}"; + res += "^{\\smash[t]{\\vphantom{2}}\\mathllap{" + (b5.b || "") + "}}"; + res += "_{\\vphantom{2}\\mathllap{\\smash[t]{" + (b5.p || "") + "}}}"; + } // + // o + // + + + if (b5.o) { + if (b5.o.match(/^[+\-]/)) { + b5.o = "{" + b5.o + "}"; + } + + res += b5.o; + } // + // q and d + // + + + if (buf.dType === 'kv') { + if (b5.d || b5.q) { + res += "{\\vphantom{X}}"; + } + + if (b5.d) { + res += "^{" + b5.d + "}"; + } + + if (b5.q) { + res += "_{\\smash[t]{" + b5.q + "}}"; + } + } else if (buf.dType === 'oxidation') { + if (b5.d) { + res += "{\\vphantom{X}}"; + res += "^{" + b5.d + "}"; + } + + if (b5.q) { + res += "{\\vphantom{X}}"; + res += "_{\\smash[t]{" + b5.q + "}}"; + } + } else { + if (b5.q) { + res += "{\\vphantom{X}}"; + res += "_{\\smash[t]{" + b5.q + "}}"; + } + + if (b5.d) { + res += "{\\vphantom{X}}"; + res += "^{" + b5.d + "}"; + } + } + + break; + + case 'rm': + res = "\\mathrm{" + buf.p1 + "}"; + break; + + case 'text': + if (buf.p1.match(/[\^_]/)) { + buf.p1 = buf.p1.replace(" ", "~").replace("-", "\\text{-}"); + res = "\\mathrm{" + buf.p1 + "}"; + } else { + res = "\\text{" + buf.p1 + "}"; + } + + break; + + case 'roman numeral': + res = "\\mathrm{" + buf.p1 + "}"; + break; + + case 'state of aggregation': + res = "\\mskip2mu " + texify._goInner(buf.p1); + break; + + case 'state of aggregation subscript': + res = "\\mskip1mu " + texify._goInner(buf.p1); + break; + + case 'bond': + res = texify._getBond(buf.kind_); + + if (!res) { + throw ["MhchemErrorBond", "mhchem Error. Unknown bond type (" + buf.kind_ + ")"]; + } + + break; + + case 'frac': + var c = "\\frac{" + buf.p1 + "}{" + buf.p2 + "}"; + res = "\\mathchoice{\\textstyle" + c + "}{" + c + "}{" + c + "}{" + c + "}"; + break; + + case 'pu-frac': + var d = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + res = "\\mathchoice{\\textstyle" + d + "}{" + d + "}{" + d + "}{" + d + "}"; + break; + + case 'tex-math': + res = buf.p1 + " "; + break; + + case 'frac-ce': + res = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'overset': + res = "\\overset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'underset': + res = "\\underset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'underbrace': + res = "\\underbrace{" + texify._goInner(buf.p1) + "}_{" + texify._goInner(buf.p2) + "}"; + break; + + case 'color': + res = "{\\color{" + buf.color1 + "}{" + texify._goInner(buf.color2) + "}}"; + break; + + case 'color0': + res = "\\color{" + buf.color + "}"; + break; + + case 'arrow': + var b6 = { + rd: texify._goInner(buf.rd), + rq: texify._goInner(buf.rq) + }; + + var arrow = "\\x" + texify._getArrow(buf.r); + + if (b6.rq) { + arrow += "[{" + b6.rq + "}]"; + } + + if (b6.rd) { + arrow += "{" + b6.rd + "}"; + } else { + arrow += "{}"; + } + + res = arrow; + break; + + case 'operator': + res = texify._getOperator(buf.kind_); + break; + + case '1st-level escape': + res = buf.p1 + " "; // &, \\\\, \\hlin + + break; + + case 'space': + res = " "; + break; + + case 'entitySkip': + res = "~"; + break; + + case 'pu-space-1': + res = "~"; + break; + + case 'pu-space-2': + res = "\\mkern3mu "; + break; + + case '1000 separator': + res = "\\mkern2mu "; + break; + + case 'commaDecimal': + res = "{,}"; + break; + + case 'comma enumeration L': + res = "{" + buf.p1 + "}\\mkern6mu "; + break; + + case 'comma enumeration M': + res = "{" + buf.p1 + "}\\mkern3mu "; + break; + + case 'comma enumeration S': + res = "{" + buf.p1 + "}\\mkern1mu "; + break; + + case 'hyphen': + res = "\\text{-}"; + break; + + case 'addition compound': + res = "\\,{\\cdot}\\,"; + break; + + case 'electron dot': + res = "\\mkern1mu \\bullet\\mkern1mu "; + break; + + case 'KV x': + res = "{\\times}"; + break; + + case 'prime': + res = "\\prime "; + break; + + case 'cdot': + res = "\\cdot "; + break; + + case 'tight cdot': + res = "\\mkern1mu{\\cdot}\\mkern1mu "; + break; + + case 'times': + res = "\\times "; + break; + + case 'circa': + res = "{\\sim}"; + break; + + case '^': + res = "uparrow"; + break; + + case 'v': + res = "downarrow"; + break; + + case 'ellipsis': + res = "\\ldots "; + break; + + case '/': + res = "/"; + break; + + case ' / ': + res = "\\,/\\,"; + break; + + default: + assertNever(buf); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + // Missing texify rule or unknown MhchemParser output + } + + assertString(res); + return res; + }, + _getArrow: function _getArrow(a) { + switch (a) { + case "->": + return "rightarrow"; + + case "\u2192": + return "rightarrow"; + + case "\u27F6": + return "rightarrow"; + + case "<-": + return "leftarrow"; + + case "<->": + return "leftrightarrow"; + + case "<-->": + return "rightleftarrows"; + + case "<=>": + return "rightleftharpoons"; + + case "\u21CC": + return "rightleftharpoons"; + + case "<=>>": + return "rightequilibrium"; + + case "<<=>": + return "leftequilibrium"; + + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getBond: function _getBond(a) { + switch (a) { + case "-": + return "{-}"; + + case "1": + return "{-}"; + + case "=": + return "{=}"; + + case "2": + return "{=}"; + + case "#": + return "{\\equiv}"; + + case "3": + return "{\\equiv}"; + + case "~": + return "{\\tripledash}"; + + case "~-": + return "{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}"; + + case "~=": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}"; + + case "~--": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}"; + + case "-~-": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}"; + + case "...": + return "{{\\cdot}{\\cdot}{\\cdot}}"; + + case "....": + return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}"; + + case "->": + return "{\\rightarrow}"; + + case "<-": + return "{\\leftarrow}"; + + case "<": + return "{<}"; + + case ">": + return "{>}"; + + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getOperator: function _getOperator(a) { + switch (a) { + case "+": + return " {}+{} "; + + case "-": + return " {}-{} "; + + case "=": + return " {}={} "; + + case "<": + return " {}<{} "; + + case ">": + return " {}>{} "; + + case "<<": + return " {}\\ll{} "; + + case ">>": + return " {}\\gg{} "; + + case "\\pm": + return " {}\\pm{} "; + + case "\\approx": + return " {}\\approx{} "; + + case "$\\approx$": + return " {}\\approx{} "; + + case "v": + return " \\downarrow{} "; + + case "(v)": + return " \\downarrow{} "; + + case "^": + return " \\uparrow{} "; + + case "(^)": + return " \\uparrow{} "; + + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + } +}; // +// Helpers for code anaylsis +// Will show type error at calling position +// + +/** @param {number} a */ + +function assertNever(a) {} +/** @param {string} a */ + + +function assertString(a) {} + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/source/lib/katex@0.12.0/contrib/mhchem.min.js b/source/lib/katex@0.12.0/contrib/mhchem.min.js new file mode 100644 index 0000000..432a76a --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/mhchem.min.js @@ -0,0 +1 @@ +!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],e);else{var n="object"==typeof exports?e(require("katex")):e(t.katex);for(var o in n)("object"==typeof exports?exports:t)[o]=n[o]}}("undefined"!=typeof self?self:this,function(t){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var a=e[o]={i:o,l:!1,exports:{}};return t[o].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)n.d(o,a,function(e){return t[e]}.bind(null,a));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.r(e);var o=n(0),a=n.n(o);a.a.__defineMacro("\\ce",function(t){return r(t.consumeArgs(1)[0],"ce")}),a.a.__defineMacro("\\pu",function(t){return r(t.consumeArgs(1)[0],"pu")}),a.a.__defineMacro("\\tripledash","{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}");var r=function(t,e){for(var n="",o=t[t.length-1].loc.start,a=t.length-1;a>=0;a--)t[a].loc.start>o&&(n+=" ",o=t[a].loc.start),n+=t[a].text,o+=t[a].text.length;return c.go(i.go(n,e))},i={go:function(t,e){if(!t)return[];void 0===e&&(e="ce");var n,o="0",a={};a.parenthesisLevel=0,t=(t=(t=t.replace(/\n/g," ")).replace(/[\u2212\u2013\u2014\u2010]/g,"-")).replace(/[\u2026]/g,"...");for(var r=10,c=[];;){n!==t?(r=10,n=t):r--;var u=i.stateMachines[e],p=u.transitions[o]||u.transitions["*"];t:for(var s=0;s0))return c;if(d.revisit||(t=_.remainder),!d.toContinue)break t}}if(r<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(t,e){if(e)if(Array.isArray(e))for(var n=0;n":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(t){return i.patterns.findObserveGroups(t,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(t){return i.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(t){return i.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(t){return i.patterns.findObserveGroups(t,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(t){return i.patterns.findObserveGroups(t,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(t){return i.patterns.findObserveGroups(t,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(t){var e;if(e=t.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/))return{match_:e[0],remainder:t.substr(e[0].length)};var n=i.patterns.findObserveGroups(t,"","$","$","");return n&&(e=n.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/))?{match_:e[0],remainder:t.substr(e[0].length)}:null},amount2:function(t){return this.amount(t)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(t){if(t.match(/^\([a-z]+\)$/))return null;var e=t.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return e?{match_:e[0],remainder:t.substr(e[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(t,e,n,o,a,r,i,c,u,p){var s=function(t,e){if("string"==typeof e)return 0!==t.indexOf(e)?null:e;var n=t.match(e);return n?n[0]:null},_=s(t,e);if(null===_)return null;if(t=t.substr(_.length),null===(_=s(t,n)))return null;var d=function(t,e,n){for(var o=0;e":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(t,e){var n;if((t.d||"").match(/^[0-9]+$/)){var o=t.d;t.d=void 0,n=this.output(t),t.b=o}else n=this.output(t);return i.actions["o="](t,e),n},"d= kv":function(t,e){t.d=e,t.dType="kv"},"charge or bond":function(t,e){if(t.beginsWithBond){var n=[];return i.concatArray(n,this.output(t)),i.concatArray(n,i.actions.bond(t,e,"-")),n}t.d=e},"- after o/d":function(t,e,n){var o=i.patterns.match_("orbital",t.o||""),a=i.patterns.match_("one lowercase greek letter $",t.o||""),r=i.patterns.match_("one lowercase latin letter $",t.o||""),c=i.patterns.match_("$one lowercase latin letter$ $",t.o||""),u="-"===e&&(o&&""===o.remainder||a||r||c);!u||t.a||t.b||t.p||t.d||t.q||o||!r||(t.o="$"+t.o+"$");var p=[];return u?(i.concatArray(p,this.output(t)),p.push({type_:"hyphen"})):(o=i.patterns.match_("digits",t.d||""),n&&o&&""===o.remainder?(i.concatArray(p,i.actions["d="](t,e)),i.concatArray(p,this.output(t))):(i.concatArray(p,this.output(t)),i.concatArray(p,i.actions.bond(t,e,"-")))),p},"a to o":function(t){t.o=t.a,t.a=void 0},"sb=true":function(t){t.sb=!0},"sb=false":function(t){t.sb=!1},"beginsWithBond=true":function(t){t.beginsWithBond=!0},"beginsWithBond=false":function(t){t.beginsWithBond=!1},"parenthesisLevel++":function(t){t.parenthesisLevel++},"parenthesisLevel--":function(t){t.parenthesisLevel--},"state of aggregation":function(t,e){return{type_:"state of aggregation",p1:i.go(e,"o")}},comma:function(t,e){var n=e.replace(/\s*$/,"");return n!==e&&0===t.parenthesisLevel?{type_:"comma enumeration L",p1:n}:{type_:"comma enumeration M",p1:n}},output:function(t,e,n){var o,a,r;t.r?(a="M"===t.rdt?i.go(t.rd,"tex-math"):"T"===t.rdt?[{type_:"text",p1:t.rd||""}]:i.go(t.rd),r="M"===t.rqt?i.go(t.rq,"tex-math"):"T"===t.rqt?[{type_:"text",p1:t.rq||""}]:i.go(t.rq),o={type_:"arrow",r:t.r,rd:a,rq:r}):(o=[],(t.a||t.b||t.p||t.o||t.q||t.d||n)&&(t.sb&&o.push({type_:"entitySkip"}),t.o||t.q||t.d||t.b||t.p||2===n?t.o||t.q||t.d||!t.b&&!t.p?t.o&&"kv"===t.dType&&i.patterns.match_("d-oxidation$",t.d||"")?t.dType="oxidation":t.o&&"kv"===t.dType&&!t.q&&(t.dType=void 0):(t.o=t.a,t.d=t.b,t.q=t.p,t.a=t.b=t.p=void 0):(t.o=t.a,t.a=void 0),o.push({type_:"chemfive",a:i.go(t.a,"a"),b:i.go(t.b,"bd"),p:i.go(t.p,"pq"),o:i.go(t.o,"o"),q:i.go(t.q,"pq"),d:i.go(t.d,"oxidation"===t.dType?"oxidation":"bd"),dType:t.dType})));for(var c in t)"parenthesisLevel"!==c&&"beginsWithBond"!==c&&delete t[c];return o},"oxidation-output":function(t,e){var n=["{"];return i.concatArray(n,i.go(e,"oxidation")),n.push("}"),n},"frac-output":function(t,e){return{type_:"frac-ce",p1:i.go(e[0]),p2:i.go(e[1])}},"overset-output":function(t,e){return{type_:"overset",p1:i.go(e[0]),p2:i.go(e[1])}},"underset-output":function(t,e){return{type_:"underset",p1:i.go(e[0]),p2:i.go(e[1])}},"underbrace-output":function(t,e){return{type_:"underbrace",p1:i.go(e[0]),p2:i.go(e[1])}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1])}},"r=":function(t,e){t.r=e},"rdt=":function(t,e){t.rdt=e},"rd=":function(t,e){t.rd=e},"rqt=":function(t,e){t.rqt=e},"rq=":function(t,e){t.rq=e},operator:function(t,e,n){return{type_:"operator",kind_:n||e}}}},a:{transitions:i.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:i.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(t){if(t.text_){var e={type_:"text",p1:t.text_};for(var n in t)delete t[n];return e}}}},pq:{transitions:i.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(t,e){return{type_:"state of aggregation subscript",p1:i.go(e,"o")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1],"pq")}}}},bd:{transitions:i.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1],"bd")}}}},oxidation:{transitions:i.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(t,e){return{type_:"roman numeral",p1:e||""}}}},"tex-math":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var n in t)delete t[n];return e}}}},"tex-math tight":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(t,e){t.o=(t.o||"")+"{"+e+"}"},output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var n in t)delete t[n];return e}}}},"9,9":{transitions:i.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:i.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(t,e){var n=[];return"+-"===e[0]||"+/-"===e[0]?n.push("\\pm "):e[0]&&n.push(e[0]),e[1]&&(i.concatArray(n,i.go(e[1],"pu-9,9")),e[2]&&(e[2].match(/[,.]/)?i.concatArray(n,i.go(e[2],"pu-9,9")):n.push(e[2])),e[3]=e[4]||e[3],e[3]&&(e[3]=e[3].trim(),"e"===e[3]||"*"===e[3].substr(0,1)?n.push({type_:"cdot"}):n.push({type_:"times"}))),e[3]&&n.push("10^{"+e[5]+"}"),n},"number^":function(t,e){var n=[];return"+-"===e[0]||"+/-"===e[0]?n.push("\\pm "):e[0]&&n.push(e[0]),i.concatArray(n,i.go(e[1],"pu-9,9")),n.push("^{"+e[2]+"}"),n},operator:function(t,e,n){return{type_:"operator",kind_:n||e}},space:function(){return{type_:"pu-space-1"}},output:function(t){var e,n=i.patterns.match_("{(...)}",t.d||"");n&&""===n.remainder&&(t.d=n.match_);var o=i.patterns.match_("{(...)}",t.q||"");if(o&&""===o.remainder&&(t.q=o.match_),t.d&&(t.d=t.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.d=t.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),t.q){t.q=t.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.q=t.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var a={d:i.go(t.d,"pu"),q:i.go(t.q,"pu")};"//"===t.o?e={type_:"pu-frac",p1:a.d,p2:a.q}:(e=a.d,a.d.length>1||a.q.length>1?e.push({type_:" / "}):e.push({type_:"/"}),i.concatArray(e,a.q))}else e=i.go(t.d,"pu-2");for(var r in t)delete t[r];return e}}},"pu-2":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(t,e){t.rm+="^{"+e+"}"},space:function(){return{type_:"pu-space-2"}},output:function(t){var e=[];if(t.rm){var n=i.patterns.match_("{(...)}",t.rm||"");e=n&&""===n.remainder?i.go(n.match_,"pu"):{type_:"rm",p1:t.rm}}for(var o in t)delete t[o];return e}}},"pu-9,9":{transitions:i.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var n=t.text_.length%3;0===n&&(n=3);for(var o=t.text_.length-3;o>0;o-=3)e.push(t.text_.substr(o,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(0,n)),e.reverse()}else e.push(t.text_);for(var a in t)delete t[a];return e},"output-o":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){for(var n=t.text_.length-3,o=0;o":case"\u2192":case"\u27f6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<--\x3e":return"rightleftarrows";case"<=>":case"\u21cc":return"rightleftharpoons";case"<=>>":return"rightequilibrium";case"<<=>":return"leftequilibrium";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(t){switch(t){case"-":case"1":return"{-}";case"=":case"2":return"{=}";case"#":case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";case"~=":case"~--":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"-~-":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(t){switch(t){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":case"$\\approx$":return" {}\\approx{} ";case"v":case"(v)":return" \\downarrow{} ";case"^":case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}}}]).default}); \ No newline at end of file diff --git a/source/lib/katex@0.12.0/contrib/mhchem.mjs b/source/lib/katex@0.12.0/contrib/mhchem.mjs new file mode 100644 index 0000000..f79a355 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/mhchem.mjs @@ -0,0 +1,3109 @@ +import katex from '../katex.mjs'; + +/* eslint-disable */ + +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ + +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * KaTeX mhchem.js + * + * This file implements a KaTeX version of mhchem version 3.3.0. + * It is adapted from MathJax/extensions/TeX/mhchem.js + * It differs from the MathJax version as follows: + * 1. The interface is changed so that it can be called from KaTeX, not MathJax. + * 2. \rlap and \llap are replaced with \mathrlap and \mathllap. + * 3. Four lines of code are edited in order to use \raisebox instead of \raise. + * 4. The reaction arrow code is simplified. All reaction arrows are rendered + * using KaTeX extensible arrows instead of building non-extensible arrows. + * 5. \tripledash vertical alignment is slightly adjusted. + * + * This code, as other KaTeX code, is released under the MIT license. + * + * /************************************************************* + * + * MathJax/extensions/TeX/mhchem.js + * + * Implements the \ce command for handling chemical formulas + * from the mhchem LaTeX package. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2015 The MathJax Consortium + * Copyright (c) 2015-2018 Martin Hensel + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// +// Coding Style +// - use '' for identifiers that can by minified/uglified +// - use "" for strings that need to stay untouched +// version: "3.3.0" for MathJax and KaTeX +// Add \ce, \pu, and \tripledash to the KaTeX macros. +katex.__defineMacro("\\ce", function (context) { + return chemParse(context.consumeArgs(1)[0], "ce"); +}); + +katex.__defineMacro("\\pu", function (context) { + return chemParse(context.consumeArgs(1)[0], "pu"); +}); // Needed for \bond for the ~ forms +// Raise by 2.56mu, not 2mu. We're raising a hyphen-minus, U+002D, not +// a mathematical minus, U+2212. So we need that extra 0.56. + + +katex.__defineMacro("\\tripledash", "{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu" + "\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}"); +// This is the main function for handing the \ce and \pu commands. +// It takes the argument to \ce or \pu and returns the corresponding TeX string. +// + +var chemParse = function chemParse(tokens, stateMachine) { + // Recreate the argument string from KaTeX's array of tokens. + var str = ""; + var expectedLoc = tokens[tokens.length - 1].loc.start; + + for (var i = tokens.length - 1; i >= 0; i--) { + if (tokens[i].loc.start > expectedLoc) { + // context.consumeArgs has eaten a space. + str += " "; + expectedLoc = tokens[i].loc.start; + } + + str += tokens[i].text; + expectedLoc += tokens[i].text.length; + } + + var tex = texify.go(mhchemParser.go(str, stateMachine)); + return tex; +}; // +// Core parser for mhchem syntax (recursive) +// + +/** @type {MhchemParser} */ + + +var mhchemParser = { + // + // Parses mchem \ce syntax + // + // Call like + // go("H2O"); + // + go: function go(input, stateMachine) { + if (!input) { + return []; + } + + if (stateMachine === undefined) { + stateMachine = 'ce'; + } + + var state = '0'; // + // String buffers for parsing: + // + // buffer.a == amount + // buffer.o == element + // buffer.b == left-side superscript + // buffer.p == left-side subscript + // buffer.q == right-side subscript + // buffer.d == right-side superscript + // + // buffer.r == arrow + // buffer.rdt == arrow, script above, type + // buffer.rd == arrow, script above, content + // buffer.rqt == arrow, script below, type + // buffer.rq == arrow, script below, content + // + // buffer.text_ + // buffer.rm + // etc. + // + // buffer.parenthesisLevel == int, starting at 0 + // buffer.sb == bool, space before + // buffer.beginsWithBond == bool + // + // These letters are also used as state names. + // + // Other states: + // 0 == begin of main part (arrow/operator unlikely) + // 1 == next entity + // 2 == next entity (arrow/operator unlikely) + // 3 == next atom + // c == macro + // + + /** @type {Buffer} */ + + var buffer = {}; + buffer['parenthesisLevel'] = 0; + input = input.replace(/\n/g, " "); + input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-"); + input = input.replace(/[\u2026]/g, "..."); // + // Looks through mhchemParser.transitions, to execute a matching action + // (recursive) + // + + var lastInput; + var watchdog = 10; + /** @type {ParserOutput[]} */ + + var output = []; + + while (true) { + if (lastInput !== input) { + watchdog = 10; + lastInput = input; + } else { + watchdog--; + } // + // Find actions in transition table + // + + + var machine = mhchemParser.stateMachines[stateMachine]; + var t = machine.transitions[state] || machine.transitions['*']; + + iterateTransitions: for (var i = 0; i < t.length; i++) { + var matches = mhchemParser.patterns.match_(t[i].pattern, input); + + if (matches) { + // + // Execute actions + // + var task = t[i].task; + + for (var iA = 0; iA < task.action_.length; iA++) { + var o; // + // Find and execute action + // + + if (machine.actions[task.action_[iA].type_]) { + o = machine.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option); + } else if (mhchemParser.actions[task.action_[iA].type_]) { + o = mhchemParser.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option); + } else { + throw ["MhchemBugA", "mhchem bug A. Please report. (" + task.action_[iA].type_ + ")"]; // Trying to use non-existing action + } // + // Add output + // + + + mhchemParser.concatArray(output, o); + } // + // Set next state, + // Shorten input, + // Continue with next character + // (= apply only one transition per position) + // + + + state = task.nextState || state; + + if (input.length > 0) { + if (!task.revisit) { + input = matches.remainder; + } + + if (!task.toContinue) { + break; + } + } else { + return output; + } + } + } // + // Prevent infinite loop + // + + + if (watchdog <= 0) { + throw ["MhchemBugU", "mhchem bug U. Please report."]; // Unexpected character + } + } + }, + concatArray: function concatArray(a, b) { + if (b) { + if (Array.isArray(b)) { + for (var iB = 0; iB < b.length; iB++) { + a.push(b[iB]); + } + } else { + a.push(b); + } + } + }, + patterns: { + // + // Matching patterns + // either regexps or function that return null or {match_:"a", remainder:"bc"} + // + patterns: { + // property names must not look like integers ("2") for correct property traversal order, later on + 'empty': /^$/, + 'else': /^./, + 'else2': /^./, + 'space': /^\s/, + 'space A': /^\s(?=[A-Z\\$])/, + 'space$': /^\s$/, + 'a-z': /^[a-z]/, + 'x': /^x/, + 'x$': /^x$/, + 'i$': /^i$/, + 'letters': /^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/, + '\\greek': /^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/, + 'one lowercase latin letter $': /^(?:([a-z])(?:$|[^a-zA-Z]))$/, + '$one lowercase latin letter$ $': /^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/, + 'one lowercase greek letter $': /^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/, + 'digits': /^[0-9]+/, + '-9.,9': /^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/, + '-9.,9 no missing 0': /^[+\-]?[0-9]+(?:[.,][0-9]+)?/, + '(-)(9.,9)(e)(99)': function e99(input) { + var m = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/); + + if (m && m[0]) { + return { + match_: m.splice(1), + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + '(-)(9)^(-9)': function _(input) { + var m = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/); + + if (m && m[0]) { + return { + match_: m.splice(1), + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + 'state of aggregation $': function stateOfAggregation$(input) { + // ... or crystal system + var a = mhchemParser.patterns.findObserveGroups(input, "", /^\([a-z]{1,3}(?=[\),])/, ")", ""); // (aq), (aq,$\infty$), (aq, sat) + + if (a && a.remainder.match(/^($|[\s,;\)\]\}])/)) { + return a; + } // AND end of 'phrase' + + + var m = input.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/); // OR crystal system ($o$) (\ca$c$) + + if (m) { + return { + match_: m[0], + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + '_{(state of aggregation)}$': /^_\{(\([a-z]{1,3}\))\}/, + '{[(': /^(?:\\\{|\[|\()/, + ')]}': /^(?:\)|\]|\\\})/, + ', ': /^[,;]\s*/, + ',': /^[,;]/, + '.': /^[.]/, + '. ': /^([.\u22C5\u00B7\u2022])\s*/, + '...': /^\.\.\.(?=$|[^.])/, + '* ': /^([*])\s*/, + '^{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "^{", "", "", "}"); + }, + '^($...$)': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", "$", "$", ""); + }, + '^a': /^\^([0-9]+|[^\\_])/, + '^\\x{}{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '^\\x{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '^\\x': /^\^(\\[a-zA-Z]+)\s*/, + '^(-1)': /^\^(-?\d+)/, + '\'': /^'/, + '_{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "_{", "", "", "}"); + }, + '_($...$)': function _$$(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", "$", "$", ""); + }, + '_9': /^_([+\-]?[0-9]+|[^\\])/, + '_\\x{}{}': function _X(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '_\\x{}': function _X(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '_\\x': /^_(\\[a-zA-Z]+)\s*/, + '^_': /^(?:\^(?=_)|\_(?=\^)|[\^_]$)/, + '{}': /^\{\}/, + '{...}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "", "{", "}", ""); + }, + '{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "{", "", "", "}"); + }, + '$...$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + }, + '${(...)}$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "${", "", "", "}$"); + }, + '$(...)$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "$", "", "", "$"); + }, + '=<>': /^[=<>]/, + '#': /^[#\u2261]/, + '+': /^\+/, + '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/, + // -space -, -; -] -/ -$ -state-of-aggregation + '-9': /^-(?=[0-9])/, + '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/, + '-': /^-/, + 'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/, + 'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/, + 'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/, + '\\bond{(...)}': function bond(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); + }, + '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/, + 'CMT': /^[CMT](?=\[)/, + '[(...)]': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); + }, + '1st-level escape': /^(&|\\\\|\\hline)\s*/, + '\\,': /^(?:\\[,\ ;:])/, + // \\x - but output no space before + '\\x{}{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '\\x{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/, + '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/, + 'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/, + // only those with numbers in front, because the others will be formatted correctly anyway + 'others': /^[\/~|]/, + '\\frac{(...)}': function frac(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); + }, + '\\overset{(...)}': function overset(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); + }, + '\\underset{(...)}': function underset(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); + }, + '\\underbrace{(...)}': function underbrace(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); + }, + '\\color{(...)}0': function color0(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); + }, + '\\color{(...)}{(...)}1': function color1(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}"); + }, + '\\color(...){(...)}2': function color2(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}"); + }, + '\\ce{(...)}': function ce(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); + }, + 'oxidation$': /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + 'd-oxidation$': /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + // 0 could be oxidation or charge + 'roman numeral': /^[IVX]+/, + '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/, + 'amount': function amount(input) { + var match; // e.g. 2, 0.5, 1/2, -2, n/2, +; $a$ could be added later in parsing + + match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + + var a = mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + + if (a) { + // e.g. $2n-1$, $-$ + match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + } + + return null; + }, + 'amount2': function amount2(input) { + return this['amount'](input); + }, + '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/, + 'formula$': function formula$(input) { + if (input.match(/^\([a-z]+\)$/)) { + return null; + } // state of aggregation = no formula + + + var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + + return null; + }, + 'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/, + '/': /^\s*(\/)\s*/, + '//': /^\s*(\/\/)\s*/, + '*': /^\s*[*.]\s*/ + }, + findObserveGroups: function findObserveGroups(input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) { + /** @type {{(input: string, pattern: string | RegExp): string | string[] | null;}} */ + var _match = function _match(input, pattern) { + if (typeof pattern === "string") { + if (input.indexOf(pattern) !== 0) { + return null; + } + + return pattern; + } else { + var match = input.match(pattern); + + if (!match) { + return null; + } + + return match[0]; + } + }; + /** @type {{(input: string, i: number, endChars: string | RegExp): {endMatchBegin: number, endMatchEnd: number} | null;}} */ + + + var _findObserveGroups = function _findObserveGroups(input, i, endChars) { + var braces = 0; + + while (i < input.length) { + var a = input.charAt(i); + + var match = _match(input.substr(i), endChars); + + if (match !== null && braces === 0) { + return { + endMatchBegin: i, + endMatchEnd: i + match.length + }; + } else if (a === "{") { + braces++; + } else if (a === "}") { + if (braces === 0) { + throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"]; + } else { + braces--; + } + } + + i++; + } + + if (braces > 0) { + return null; + } + + return null; + }; + + var match = _match(input, begExcl); + + if (match === null) { + return null; + } + + input = input.substr(match.length); + match = _match(input, begIncl); + + if (match === null) { + return null; + } + + var e = _findObserveGroups(input, match.length, endIncl || endExcl); + + if (e === null) { + return null; + } + + var match1 = input.substring(0, endIncl ? e.endMatchEnd : e.endMatchBegin); + + if (!(beg2Excl || beg2Incl)) { + return { + match_: match1, + remainder: input.substr(e.endMatchEnd) + }; + } else { + var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl); + + if (group2 === null) { + return null; + } + /** @type {string[]} */ + + + var matchRet = [match1, group2.match_]; + return { + match_: combine ? matchRet.join("") : matchRet, + remainder: group2.remainder + }; + } + }, + // + // Matching function + // e.g. match("a", input) will look for the regexp called "a" and see if it matches + // returns null or {match_:"a", remainder:"bc"} + // + match_: function match_(m, input) { + var pattern = mhchemParser.patterns.patterns[m]; + + if (pattern === undefined) { + throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"]; // Trying to use non-existing pattern + } else if (typeof pattern === "function") { + return mhchemParser.patterns.patterns[m](input); // cannot use cached var pattern here, because some pattern functions need this===mhchemParser + } else { + // RegExp + var match = input.match(pattern); + + if (match) { + var mm; + + if (match[2]) { + mm = [match[1], match[2]]; + } else if (match[1]) { + mm = match[1]; + } else { + mm = match[0]; + } + + return { + match_: mm, + remainder: input.substr(match[0].length) + }; + } + + return null; + } + } + }, + // + // Generic state machine actions + // + actions: { + 'a=': function a(buffer, m) { + buffer.a = (buffer.a || "") + m; + }, + 'b=': function b(buffer, m) { + buffer.b = (buffer.b || "") + m; + }, + 'p=': function p(buffer, m) { + buffer.p = (buffer.p || "") + m; + }, + 'o=': function o(buffer, m) { + buffer.o = (buffer.o || "") + m; + }, + 'q=': function q(buffer, m) { + buffer.q = (buffer.q || "") + m; + }, + 'd=': function d(buffer, m) { + buffer.d = (buffer.d || "") + m; + }, + 'rm=': function rm(buffer, m) { + buffer.rm = (buffer.rm || "") + m; + }, + 'text=': function text(buffer, m) { + buffer.text_ = (buffer.text_ || "") + m; + }, + 'insert': function insert(buffer, m, a) { + return { + type_: a + }; + }, + 'insert+p1': function insertP1(buffer, m, a) { + return { + type_: a, + p1: m + }; + }, + 'insert+p1+p2': function insertP1P2(buffer, m, a) { + return { + type_: a, + p1: m[0], + p2: m[1] + }; + }, + 'copy': function copy(buffer, m) { + return m; + }, + 'rm': function rm(buffer, m) { + return { + type_: 'rm', + p1: m || "" + }; + }, + 'text': function text(buffer, m) { + return mhchemParser.go(m, 'text'); + }, + '{text}': function text(buffer, m) { + var ret = ["{"]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'text')); + ret.push("}"); + return ret; + }, + 'tex-math': function texMath(buffer, m) { + return mhchemParser.go(m, 'tex-math'); + }, + 'tex-math tight': function texMathTight(buffer, m) { + return mhchemParser.go(m, 'tex-math tight'); + }, + 'bond': function bond(buffer, m, k) { + return { + type_: 'bond', + kind_: k || m + }; + }, + 'color0-output': function color0Output(buffer, m) { + return { + type_: 'color0', + color: m[0] + }; + }, + 'ce': function ce(buffer, m) { + return mhchemParser.go(m); + }, + '1/2': function _(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m.match(/^[+\-]/)) { + ret.push(m.substr(0, 1)); + m = m.substr(1); + } + + var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/); + n[1] = n[1].replace(/\$/g, ""); + ret.push({ + type_: 'frac', + p1: n[1], + p2: n[2] + }); + + if (n[3]) { + n[3] = n[3].replace(/\$/g, ""); + ret.push({ + type_: 'tex-math', + p1: n[3] + }); + } + + return ret; + }, + '9,9': function _(buffer, m) { + return mhchemParser.go(m, '9,9'); + } + }, + // + // createTransitions + // convert { 'letter': { 'state': { action_: 'output' } } } to { 'state' => [ { pattern: 'letter', task: { action_: [{type_: 'output'}] } } ] } + // with expansion of 'a|b' to 'a' and 'b' (at 2 places) + // + createTransitions: function createTransitions(o) { + var pattern, state; + /** @type {string[]} */ + + var stateArray; + var i; // + // 1. Collect all states + // + + /** @type {Transitions} */ + + var transitions = {}; + + for (pattern in o) { + for (state in o[pattern]) { + stateArray = state.split("|"); + o[pattern][state].stateArray = stateArray; + + for (i = 0; i < stateArray.length; i++) { + transitions[stateArray[i]] = []; + } + } + } // + // 2. Fill states + // + + + for (pattern in o) { + for (state in o[pattern]) { + stateArray = o[pattern][state].stateArray || []; + + for (i = 0; i < stateArray.length; i++) { + // + // 2a. Normalize actions into array: 'text=' ==> [{type_:'text='}] + // (Note to myself: Resolving the function here would be problematic. It would need .bind (for *this*) and currying (for *option*).) + // + + /** @type {any} */ + var p = o[pattern][state]; + + if (p.action_) { + p.action_ = [].concat(p.action_); + + for (var k = 0; k < p.action_.length; k++) { + if (typeof p.action_[k] === "string") { + p.action_[k] = { + type_: p.action_[k] + }; + } + } + } else { + p.action_ = []; + } // + // 2.b Multi-insert + // + + + var patternArray = pattern.split("|"); + + for (var j = 0; j < patternArray.length; j++) { + if (stateArray[i] === '*') { + // insert into all + for (var t in transitions) { + transitions[t].push({ + pattern: patternArray[j], + task: p + }); + } + } else { + transitions[stateArray[i]].push({ + pattern: patternArray[j], + task: p + }); + } + } + } + } + } + + return transitions; + }, + stateMachines: {} +}; // +// Definition of state machines +// + +mhchemParser.stateMachines = { + // + // \ce state machines + // + //#region ce + 'ce': { + // main parser + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + 'else': { + '0|1|2': { + action_: 'beginsWithBond=false', + revisit: true, + toContinue: true + } + }, + 'oxidation$': { + '0': { + action_: 'oxidation-output' + } + }, + 'CMT': { + 'r': { + action_: 'rdt=', + nextState: 'rt' + }, + 'rd': { + action_: 'rqt=', + nextState: 'rdt' + } + }, + 'arrowUpDown': { + '0|1|2|as': { + action_: ['sb=false', 'output', 'operator'], + nextState: '1' + } + }, + 'uprightEntities': { + '0|1|2': { + action_: ['o=', 'output'], + nextState: '1' + } + }, + 'orbital': { + '0|1|2|3': { + action_: 'o=', + nextState: 'o' + } + }, + '->': { + '0|1|2|3': { + action_: 'r=', + nextState: 'r' + }, + 'a|as': { + action_: ['output', 'r='], + nextState: 'r' + }, + '*': { + action_: ['output', 'r='], + nextState: 'r' + } + }, + '+': { + 'o': { + action_: 'd= kv', + nextState: 'd' + }, + 'd|D': { + action_: 'd=', + nextState: 'd' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'qd|qD': { + action_: 'd=', + nextState: 'qd' + }, + 'dq': { + action_: ['output', 'd='], + nextState: 'd' + }, + '3': { + action_: ['sb=false', 'output', 'operator'], + nextState: '0' + } + }, + 'amount': { + '0|2': { + action_: 'a=', + nextState: 'a' + } + }, + 'pm-operator': { + '0|1|2|a|as': { + action_: ['sb=false', 'output', { + type_: 'operator', + option: '\\pm' + }], + nextState: '0' + } + }, + 'operator': { + '0|1|2|a|as': { + action_: ['sb=false', 'output', 'operator'], + nextState: '0' + } + }, + '-$': { + 'o|q': { + action_: ['charge or bond', 'output'], + nextState: 'qd' + }, + 'd': { + action_: 'd=', + nextState: 'd' + }, + 'D': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'qd': { + action_: 'd=', + nextState: 'qd' + }, + 'qD|dq': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + } + }, + '-9': { + '3|o': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '3' + } + }, + '- orbital overlap': { + 'o': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + }, + 'd': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + } + }, + '-': { + '0|1|2': { + action_: [{ + type_: 'output', + option: 1 + }, 'beginsWithBond=true', { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + '3': { + action_: { + type_: 'bond', + option: "-" + } + }, + 'a': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + }, + 'as': { + action_: [{ + type_: 'output', + option: 2 + }, { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + 'b': { + action_: 'b=' + }, + 'o': { + action_: { + type_: '- after o/d', + option: false + }, + nextState: '2' + }, + 'q': { + action_: { + type_: '- after o/d', + option: false + }, + nextState: '2' + }, + 'd|qd|dq': { + action_: { + type_: '- after o/d', + option: true + }, + nextState: '2' + }, + 'D|qD|p': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + } + }, + 'amount2': { + '1|3': { + action_: 'a=', + nextState: 'a' + } + }, + 'letters': { + '0|1|2|3|a|as|b|p|bp|o': { + action_: 'o=', + nextState: 'o' + }, + 'q|dq': { + action_: ['output', 'o='], + nextState: 'o' + }, + 'd|D|qd|qD': { + action_: 'o after d', + nextState: 'o' + } + }, + 'digits': { + 'o': { + action_: 'q=', + nextState: 'q' + }, + 'd|D': { + action_: 'q=', + nextState: 'dq' + }, + 'q': { + action_: ['output', 'o='], + nextState: 'o' + }, + 'a': { + action_: 'o=', + nextState: 'o' + } + }, + 'space A': { + 'b|p|bp': {} + }, + 'space': { + 'a': { + nextState: 'as' + }, + '0': { + action_: 'sb=false' + }, + '1|2': { + action_: 'sb=true' + }, + 'r|rt|rd|rdt|rdq': { + action_: 'output', + nextState: '0' + }, + '*': { + action_: ['output', 'sb=true'], + nextState: '1' + } + }, + '1st-level escape': { + '1|2': { + action_: ['output', { + type_: 'insert+p1', + option: '1st-level escape' + }] + }, + '*': { + action_: ['output', { + type_: 'insert+p1', + option: '1st-level escape' + }], + nextState: '0' + } + }, + '[(...)]': { + 'r|rt': { + action_: 'rd=', + nextState: 'rd' + }, + 'rd|rdt': { + action_: 'rq=', + nextState: 'rdq' + } + }, + '...': { + 'o|d|D|dq|qd|qD': { + action_: ['output', { + type_: 'bond', + option: "..." + }], + nextState: '3' + }, + '*': { + action_: [{ + type_: 'output', + option: 1 + }, { + type_: 'insert', + option: 'ellipsis' + }], + nextState: '1' + } + }, + '. |* ': { + '*': { + action_: ['output', { + type_: 'insert', + option: 'addition compound' + }], + nextState: '1' + } + }, + 'state of aggregation $': { + '*': { + action_: ['output', 'state of aggregation'], + nextState: '1' + } + }, + '{[(': { + 'a|as|o': { + action_: ['o=', 'output', 'parenthesisLevel++'], + nextState: '2' + }, + '0|1|2|3': { + action_: ['o=', 'output', 'parenthesisLevel++'], + nextState: '2' + }, + '*': { + action_: ['output', 'o=', 'output', 'parenthesisLevel++'], + nextState: '2' + } + }, + ')]}': { + '0|1|2|3|b|p|bp|o': { + action_: ['o=', 'parenthesisLevel--'], + nextState: 'o' + }, + 'a|as|d|D|q|qd|qD|dq': { + action_: ['output', 'o=', 'parenthesisLevel--'], + nextState: 'o' + } + }, + ', ': { + '*': { + action_: ['output', 'comma'], + nextState: '0' + } + }, + '^_': { + // ^ and _ without a sensible argument + '*': {} + }, + '^{(...)}|^($...$)': { + '0|1|2|as': { + action_: 'b=', + nextState: 'b' + }, + 'p': { + action_: 'b=', + nextState: 'bp' + }, + '3|o': { + action_: 'd= kv', + nextState: 'D' + }, + 'q': { + action_: 'd=', + nextState: 'qD' + }, + 'd|D|qd|qD|dq': { + action_: ['output', 'd='], + nextState: 'D' + } + }, + '^a|^\\x{}{}|^\\x{}|^\\x|\'': { + '0|1|2|as': { + action_: 'b=', + nextState: 'b' + }, + 'p': { + action_: 'b=', + nextState: 'bp' + }, + '3|o': { + action_: 'd= kv', + nextState: 'd' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'd|qd|D|qD': { + action_: 'd=' + }, + 'dq': { + action_: ['output', 'd='], + nextState: 'd' + } + }, + '_{(state of aggregation)}$': { + 'd|D|q|qd|qD|dq': { + action_: ['output', 'q='], + nextState: 'q' + } + }, + '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': { + '0|1|2|as': { + action_: 'p=', + nextState: 'p' + }, + 'b': { + action_: 'p=', + nextState: 'bp' + }, + '3|o': { + action_: 'q=', + nextState: 'q' + }, + 'd|D': { + action_: 'q=', + nextState: 'dq' + }, + 'q|qd|qD|dq': { + action_: ['output', 'q='], + nextState: 'q' + } + }, + '=<>': { + '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { + action_: [{ + type_: 'output', + option: 2 + }, 'bond'], + nextState: '3' + } + }, + '#': { + '0|1|2|3|a|as|o': { + action_: [{ + type_: 'output', + option: 2 + }, { + type_: 'bond', + option: "#" + }], + nextState: '3' + } + }, + '{}': { + '*': { + action_: { + type_: 'output', + option: 1 + }, + nextState: '1' + } + }, + '{...}': { + '0|1|2|3|a|as|b|p|bp': { + action_: 'o=', + nextState: 'o' + }, + 'o|d|D|q|qd|qD|dq': { + action_: ['output', 'o='], + nextState: 'o' + } + }, + '$...$': { + 'a': { + action_: 'a=' + }, + // 2$n$ + '0|1|2|3|as|b|p|bp|o': { + action_: 'o=', + nextState: 'o' + }, + // not 'amount' + 'as|o': { + action_: 'o=' + }, + 'q|d|D|qd|qD|dq': { + action_: ['output', 'o='], + nextState: 'o' + } + }, + '\\bond{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'bond'], + nextState: "3" + } + }, + '\\frac{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'frac-output'], + nextState: '3' + } + }, + '\\overset{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'overset-output'], + nextState: '3' + } + }, + '\\underset{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'underset-output'], + nextState: '3' + } + }, + '\\underbrace{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'underbrace-output'], + nextState: '3' + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'color-output'], + nextState: '3' + } + }, + '\\color{(...)}0': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'color0-output'] + } + }, + '\\ce{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'ce'], + nextState: '3' + } + }, + '\\,': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'copy'], + nextState: '1' + } + }, + '\\x{}{}|\\x{}|\\x': { + '0|1|2|3|a|as|b|p|bp|o|c0': { + action_: ['o=', 'output'], + nextState: '3' + }, + '*': { + action_: ['output', 'o=', 'output'], + nextState: '3' + } + }, + 'others': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'copy'], + nextState: '3' + } + }, + 'else2': { + 'a': { + action_: 'a to o', + nextState: 'o', + revisit: true + }, + 'as': { + action_: ['output', 'sb=true'], + nextState: '1', + revisit: true + }, + 'r|rt|rd|rdt|rdq': { + action_: ['output'], + nextState: '0', + revisit: true + }, + '*': { + action_: ['output', 'copy'], + nextState: '3' + } + } + }), + actions: { + 'o after d': function oAfterD(buffer, m) { + var ret; + + if ((buffer.d || "").match(/^[0-9]+$/)) { + var tmp = buffer.d; + buffer.d = undefined; + ret = this['output'](buffer); + buffer.b = tmp; + } else { + ret = this['output'](buffer); + } + + mhchemParser.actions['o='](buffer, m); + return ret; + }, + 'd= kv': function dKv(buffer, m) { + buffer.d = m; + buffer.dType = 'kv'; + }, + 'charge or bond': function chargeOrBond(buffer, m) { + if (buffer['beginsWithBond']) { + /** @type {ParserOutput[]} */ + var ret = []; + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + return ret; + } else { + buffer.d = m; + } + }, + '- after o/d': function afterOD(buffer, m, isAfterD) { + var c1 = mhchemParser.patterns.match_('orbital', buffer.o || ""); + var c2 = mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || ""); + var c3 = mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || ""); + var c4 = mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || ""); + var hyphenFollows = m === "-" && (c1 && c1.remainder === "" || c2 || c3 || c4); + + if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) { + buffer.o = '$' + buffer.o + '$'; + } + /** @type {ParserOutput[]} */ + + + var ret = []; + + if (hyphenFollows) { + mhchemParser.concatArray(ret, this['output'](buffer)); + ret.push({ + type_: 'hyphen' + }); + } else { + c1 = mhchemParser.patterns.match_('digits', buffer.d || ""); + + if (isAfterD && c1 && c1.remainder === '') { + mhchemParser.concatArray(ret, mhchemParser.actions['d='](buffer, m)); + mhchemParser.concatArray(ret, this['output'](buffer)); + } else { + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + } + } + + return ret; + }, + 'a to o': function aToO(buffer) { + buffer.o = buffer.a; + buffer.a = undefined; + }, + 'sb=true': function sbTrue(buffer) { + buffer.sb = true; + }, + 'sb=false': function sbFalse(buffer) { + buffer.sb = false; + }, + 'beginsWithBond=true': function beginsWithBondTrue(buffer) { + buffer['beginsWithBond'] = true; + }, + 'beginsWithBond=false': function beginsWithBondFalse(buffer) { + buffer['beginsWithBond'] = false; + }, + 'parenthesisLevel++': function parenthesisLevel(buffer) { + buffer['parenthesisLevel']++; + }, + 'parenthesisLevel--': function parenthesisLevel(buffer) { + buffer['parenthesisLevel']--; + }, + 'state of aggregation': function stateOfAggregation(buffer, m) { + return { + type_: 'state of aggregation', + p1: mhchemParser.go(m, 'o') + }; + }, + 'comma': function comma(buffer, m) { + var a = m.replace(/\s*$/, ''); + var withSpace = a !== m; + + if (withSpace && buffer['parenthesisLevel'] === 0) { + return { + type_: 'comma enumeration L', + p1: a + }; + } else { + return { + type_: 'comma enumeration M', + p1: a + }; + } + }, + 'output': function output(buffer, m, entityFollows) { + // entityFollows: + // undefined = if we have nothing else to output, also ignore the just read space (buffer.sb) + // 1 = an entity follows, never omit the space if there was one just read before (can only apply to state 1) + // 2 = 1 + the entity can have an amount, so output a\, instead of converting it to o (can only apply to states a|as) + + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + + if (!buffer.r) { + ret = []; + + if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) ; else { + if (buffer.sb) { + ret.push({ + type_: 'entitySkip' + }); + } + + if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows !== 2) { + buffer.o = buffer.a; + buffer.a = undefined; + } else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) { + buffer.o = buffer.a; + buffer.d = buffer.b; + buffer.q = buffer.p; + buffer.a = buffer.b = buffer.p = undefined; + } else { + if (buffer.o && buffer.dType === 'kv' && mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) { + buffer.dType = 'oxidation'; + } else if (buffer.o && buffer.dType === 'kv' && !buffer.q) { + buffer.dType = undefined; + } + } + + ret.push({ + type_: 'chemfive', + a: mhchemParser.go(buffer.a, 'a'), + b: mhchemParser.go(buffer.b, 'bd'), + p: mhchemParser.go(buffer.p, 'pq'), + o: mhchemParser.go(buffer.o, 'o'), + q: mhchemParser.go(buffer.q, 'pq'), + d: mhchemParser.go(buffer.d, buffer.dType === 'oxidation' ? 'oxidation' : 'bd'), + dType: buffer.dType + }); + } + } else { + // r + + /** @type {ParserOutput[]} */ + var rd; + + if (buffer.rdt === 'M') { + rd = mhchemParser.go(buffer.rd, 'tex-math'); + } else if (buffer.rdt === 'T') { + rd = [{ + type_: 'text', + p1: buffer.rd || "" + }]; + } else { + rd = mhchemParser.go(buffer.rd); + } + /** @type {ParserOutput[]} */ + + + var rq; + + if (buffer.rqt === 'M') { + rq = mhchemParser.go(buffer.rq, 'tex-math'); + } else if (buffer.rqt === 'T') { + rq = [{ + type_: 'text', + p1: buffer.rq || "" + }]; + } else { + rq = mhchemParser.go(buffer.rq); + } + + ret = { + type_: 'arrow', + r: buffer.r, + rd: rd, + rq: rq + }; + } + + for (var p in buffer) { + if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') { + delete buffer[p]; + } + } + + return ret; + }, + 'oxidation-output': function oxidationOutput(buffer, m) { + var ret = ["{"]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'oxidation')); + ret.push("}"); + return ret; + }, + 'frac-output': function fracOutput(buffer, m) { + return { + type_: 'frac-ce', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'overset-output': function oversetOutput(buffer, m) { + return { + type_: 'overset', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'underset-output': function undersetOutput(buffer, m) { + return { + type_: 'underset', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'underbrace-output': function underbraceOutput(buffer, m) { + return { + type_: 'underbrace', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1]) + }; + }, + 'r=': function r(buffer, m) { + buffer.r = m; + }, + 'rdt=': function rdt(buffer, m) { + buffer.rdt = m; + }, + 'rd=': function rd(buffer, m) { + buffer.rd = m; + }, + 'rqt=': function rqt(buffer, m) { + buffer.rqt = m; + }, + 'rq=': function rq(buffer, m) { + buffer.rq = m; + }, + 'operator': function operator(buffer, m, p1) { + return { + type_: 'operator', + kind_: p1 || m + }; + } + } + }, + 'a': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '1', + revisit: true + } + }, + '$(...)$': { + '*': { + action_: 'tex-math tight', + nextState: '1' + } + }, + ',': { + '*': { + action_: { + type_: 'insert', + option: 'commaDecimal' + } + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: {} + }, + 'o': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '1', + revisit: true + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '\\ca': { + '*': { + action_: { + type_: 'insert', + option: 'circa' + } + } + }, + '\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: '{text}' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: {} + }, + 'text': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '{...}': { + '*': { + action_: 'text=' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '\\greek': { + '*': { + action_: ['output', 'rm'] + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: ['output', 'copy'] + } + }, + 'else': { + '*': { + action_: 'text=' + } + } + }), + actions: { + 'output': function output(buffer) { + if (buffer.text_) { + /** @type {ParserOutput} */ + var ret = { + type_: 'text', + p1: buffer.text_ + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + 'pq': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'state of aggregation $': { + '*': { + action_: 'state of aggregation' + } + }, + 'i$': { + '0': { + nextState: '!f', + revisit: true + } + }, + '(KV letters),': { + '0': { + action_: 'rm', + nextState: '0' + } + }, + 'formula$': { + '0': { + nextState: 'f', + revisit: true + } + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '!f', + revisit: true + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: 'text' + } + }, + 'a-z': { + 'f': { + action_: 'tex-math' + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '-9.,9': { + '*': { + action_: '9,9' + } + }, + ',': { + '*': { + action_: { + type_: 'insert+p1', + option: 'comma enumeration S' + } + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: 'color-output' + } + }, + '\\color{(...)}0': { + '*': { + action_: 'color0-output' + } + }, + '\\ce{(...)}': { + '*': { + action_: 'ce' + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'state of aggregation': function stateOfAggregation(buffer, m) { + return { + type_: 'state of aggregation subscript', + p1: mhchemParser.go(m, 'o') + }; + }, + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1], 'pq') + }; + } + } + }, + 'bd': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'x$': { + '0': { + nextState: '!f', + revisit: true + } + }, + 'formula$': { + '0': { + nextState: 'f', + revisit: true + } + }, + 'else': { + '0': { + nextState: '!f', + revisit: true + } + }, + '-9.,9 no missing 0': { + '*': { + action_: '9,9' + } + }, + '.': { + '*': { + action_: { + type_: 'insert', + option: 'electron dot' + } + } + }, + 'a-z': { + 'f': { + action_: 'tex-math' + } + }, + 'x': { + '*': { + action_: { + type_: 'insert', + option: 'KV x' + } + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '\'': { + '*': { + action_: { + type_: 'insert', + option: 'prime' + } + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: 'text' + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: 'color-output' + } + }, + '\\color{(...)}0': { + '*': { + action_: 'color0-output' + } + }, + '\\ce{(...)}': { + '*': { + action_: 'ce' + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1], 'bd') + }; + } + } + }, + 'oxidation': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'roman numeral': { + '*': { + action_: 'roman-numeral' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + 'else': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'roman-numeral': function romanNumeral(buffer, m) { + return { + type_: 'roman numeral', + p1: m || "" + }; + } + } + }, + 'tex-math': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '\\ce{(...)}': { + '*': { + action_: ['output', 'ce'] + } + }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'o=' + } + }, + 'else': { + '*': { + action_: 'o=' + } + } + }), + actions: { + 'output': function output(buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { + type_: 'tex-math', + p1: buffer.o + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + 'tex-math tight': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '\\ce{(...)}': { + '*': { + action_: ['output', 'ce'] + } + }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'o=' + } + }, + '-|+': { + '*': { + action_: 'tight operator' + } + }, + 'else': { + '*': { + action_: 'o=' + } + } + }), + actions: { + 'tight operator': function tightOperator(buffer, m) { + buffer.o = (buffer.o || "") + "{" + m + "}"; + }, + 'output': function output(buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { + type_: 'tex-math', + p1: buffer.o + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + '9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + ',': { + '*': { + action_: 'comma' + } + }, + 'else': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'comma': function comma() { + return { + type_: 'commaDecimal' + }; + } + } + }, + //#endregion + // + // \pu state machines + // + //#region pu + 'pu': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + 'space$': { + '*': { + action_: ['output', 'space'] + } + }, + '{[(|)]}': { + '0|a': { + action_: 'copy' + } + }, + '(-)(9)^(-9)': { + '0': { + action_: 'number^', + nextState: 'a' + } + }, + '(-)(9.,9)(e)(99)': { + '0': { + action_: 'enumber', + nextState: 'a' + } + }, + 'space': { + '0|a': {} + }, + 'pm-operator': { + '0|a': { + action_: { + type_: 'operator', + option: '\\pm' + }, + nextState: '0' + } + }, + 'operator': { + '0|a': { + action_: 'copy', + nextState: '0' + } + }, + '//': { + 'd': { + action_: 'o=', + nextState: '/' + } + }, + '/': { + 'd': { + action_: 'o=', + nextState: '/' + } + }, + '{...}|else': { + '0|d': { + action_: 'd=', + nextState: 'd' + }, + 'a': { + action_: ['space', 'd='], + nextState: 'd' + }, + '/|q': { + action_: 'q=', + nextState: 'q' + } + } + }), + actions: { + 'enumber': function enumber(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + + if (m[1]) { + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + + if (m[2]) { + if (m[2].match(/[,.]/)) { + mhchemParser.concatArray(ret, mhchemParser.go(m[2], 'pu-9,9')); + } else { + ret.push(m[2]); + } + } + + m[3] = m[4] || m[3]; + + if (m[3]) { + m[3] = m[3].trim(); + + if (m[3] === "e" || m[3].substr(0, 1) === "*") { + ret.push({ + type_: 'cdot' + }); + } else { + ret.push({ + type_: 'times' + }); + } + } + } + + if (m[3]) { + ret.push("10^{" + m[5] + "}"); + } + + return ret; + }, + 'number^': function number(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + ret.push("^{" + m[2] + "}"); + return ret; + }, + 'operator': function operator(buffer, m, p1) { + return { + type_: 'operator', + kind_: p1 || m + }; + }, + 'space': function space() { + return { + type_: 'pu-space-1' + }; + }, + 'output': function output(buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + var md = mhchemParser.patterns.match_('{(...)}', buffer.d || ""); + + if (md && md.remainder === '') { + buffer.d = md.match_; + } + + var mq = mhchemParser.patterns.match_('{(...)}', buffer.q || ""); + + if (mq && mq.remainder === '') { + buffer.q = mq.match_; + } + + if (buffer.d) { + buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + } + + if (buffer.q) { + // fraction + buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + var b5 = { + d: mhchemParser.go(buffer.d, 'pu'), + q: mhchemParser.go(buffer.q, 'pu') + }; + + if (buffer.o === '//') { + ret = { + type_: 'pu-frac', + p1: b5.d, + p2: b5.q + }; + } else { + ret = b5.d; + + if (b5.d.length > 1 || b5.q.length > 1) { + ret.push({ + type_: ' / ' + }); + } else { + ret.push({ + type_: '/' + }); + } + + mhchemParser.concatArray(ret, b5.q); + } + } else { + // no fraction + ret = mhchemParser.go(buffer.d, 'pu-2'); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + }, + 'pu-2': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '*': { + '*': { + action_: ['output', 'cdot'], + nextState: '0' + } + }, + '\\x': { + '*': { + action_: 'rm=' + } + }, + 'space': { + '*': { + action_: ['output', 'space'], + nextState: '0' + } + }, + '^{(...)}|^(-1)': { + '1': { + action_: '^(-1)' + } + }, + '-9.,9': { + '0': { + action_: 'rm=', + nextState: '0' + }, + '1': { + action_: '^(-1)', + nextState: '0' + } + }, + '{...}|else': { + '*': { + action_: 'rm=', + nextState: '1' + } + } + }), + actions: { + 'cdot': function cdot() { + return { + type_: 'tight cdot' + }; + }, + '^(-1)': function _(buffer, m) { + buffer.rm += "^{" + m + "}"; + }, + 'space': function space() { + return { + type_: 'pu-space-2' + }; + }, + 'output': function output(buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret = []; + + if (buffer.rm) { + var mrm = mhchemParser.patterns.match_('{(...)}', buffer.rm || ""); + + if (mrm && mrm.remainder === '') { + ret = mhchemParser.go(mrm.match_, 'pu'); + } else { + ret = { + type_: 'rm', + p1: buffer.rm + }; + } + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + }, + 'pu-9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '0': { + action_: 'output-0' + }, + 'o': { + action_: 'output-o' + } + }, + ',': { + '0': { + action_: ['output-0', 'comma'], + nextState: 'o' + } + }, + '.': { + '0': { + action_: ['output-0', 'copy'], + nextState: 'o' + } + }, + 'else': { + '*': { + action_: 'text=' + } + } + }), + actions: { + 'comma': function comma() { + return { + type_: 'commaDecimal' + }; + }, + 'output-0': function output0(buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + + if (buffer.text_.length > 4) { + var a = buffer.text_.length % 3; + + if (a === 0) { + a = 3; + } + + for (var i = buffer.text_.length - 3; i > 0; i -= 3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ + type_: '1000 separator' + }); + } + + ret.push(buffer.text_.substr(0, a)); + ret.reverse(); + } else { + ret.push(buffer.text_); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + }, + 'output-o': function outputO(buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + + if (buffer.text_.length > 4) { + var a = buffer.text_.length - 3; + + for (var i = 0; i < a; i += 3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ + type_: '1000 separator' + }); + } + + ret.push(buffer.text_.substr(i)); + } else { + ret.push(buffer.text_); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } //#endregion + + } +}; // +// texify: Take MhchemParser output and convert it to TeX +// + +/** @type {Texify} */ + +var texify = { + go: function go(input, isInner) { + // (recursive, max 4 levels) + if (!input) { + return ""; + } + + var res = ""; + var cee = false; + + for (var i = 0; i < input.length; i++) { + var inputi = input[i]; + + if (typeof inputi === "string") { + res += inputi; + } else { + res += texify._go2(inputi); + + if (inputi.type_ === '1st-level escape') { + cee = true; + } + } + } + + if (!isInner && !cee && res) { + res = "{" + res + "}"; + } + + return res; + }, + _goInner: function _goInner(input) { + if (!input) { + return input; + } + + return texify.go(input, true); + }, + _go2: function _go2(buf) { + /** @type {undefined | string} */ + var res; + + switch (buf.type_) { + case 'chemfive': + res = ""; + var b5 = { + a: texify._goInner(buf.a), + b: texify._goInner(buf.b), + p: texify._goInner(buf.p), + o: texify._goInner(buf.o), + q: texify._goInner(buf.q), + d: texify._goInner(buf.d) + }; // + // a + // + + if (b5.a) { + if (b5.a.match(/^[+\-]/)) { + b5.a = "{" + b5.a + "}"; + } + + res += b5.a + "\\,"; + } // + // b and p + // + + + if (b5.b || b5.p) { + res += "{\\vphantom{X}}"; + res += "^{\\hphantom{" + (b5.b || "") + "}}_{\\hphantom{" + (b5.p || "") + "}}"; + res += "{\\vphantom{X}}"; + res += "^{\\smash[t]{\\vphantom{2}}\\mathllap{" + (b5.b || "") + "}}"; + res += "_{\\vphantom{2}\\mathllap{\\smash[t]{" + (b5.p || "") + "}}}"; + } // + // o + // + + + if (b5.o) { + if (b5.o.match(/^[+\-]/)) { + b5.o = "{" + b5.o + "}"; + } + + res += b5.o; + } // + // q and d + // + + + if (buf.dType === 'kv') { + if (b5.d || b5.q) { + res += "{\\vphantom{X}}"; + } + + if (b5.d) { + res += "^{" + b5.d + "}"; + } + + if (b5.q) { + res += "_{\\smash[t]{" + b5.q + "}}"; + } + } else if (buf.dType === 'oxidation') { + if (b5.d) { + res += "{\\vphantom{X}}"; + res += "^{" + b5.d + "}"; + } + + if (b5.q) { + res += "{\\vphantom{X}}"; + res += "_{\\smash[t]{" + b5.q + "}}"; + } + } else { + if (b5.q) { + res += "{\\vphantom{X}}"; + res += "_{\\smash[t]{" + b5.q + "}}"; + } + + if (b5.d) { + res += "{\\vphantom{X}}"; + res += "^{" + b5.d + "}"; + } + } + + break; + + case 'rm': + res = "\\mathrm{" + buf.p1 + "}"; + break; + + case 'text': + if (buf.p1.match(/[\^_]/)) { + buf.p1 = buf.p1.replace(" ", "~").replace("-", "\\text{-}"); + res = "\\mathrm{" + buf.p1 + "}"; + } else { + res = "\\text{" + buf.p1 + "}"; + } + + break; + + case 'roman numeral': + res = "\\mathrm{" + buf.p1 + "}"; + break; + + case 'state of aggregation': + res = "\\mskip2mu " + texify._goInner(buf.p1); + break; + + case 'state of aggregation subscript': + res = "\\mskip1mu " + texify._goInner(buf.p1); + break; + + case 'bond': + res = texify._getBond(buf.kind_); + + if (!res) { + throw ["MhchemErrorBond", "mhchem Error. Unknown bond type (" + buf.kind_ + ")"]; + } + + break; + + case 'frac': + var c = "\\frac{" + buf.p1 + "}{" + buf.p2 + "}"; + res = "\\mathchoice{\\textstyle" + c + "}{" + c + "}{" + c + "}{" + c + "}"; + break; + + case 'pu-frac': + var d = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + res = "\\mathchoice{\\textstyle" + d + "}{" + d + "}{" + d + "}{" + d + "}"; + break; + + case 'tex-math': + res = buf.p1 + " "; + break; + + case 'frac-ce': + res = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'overset': + res = "\\overset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'underset': + res = "\\underset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'underbrace': + res = "\\underbrace{" + texify._goInner(buf.p1) + "}_{" + texify._goInner(buf.p2) + "}"; + break; + + case 'color': + res = "{\\color{" + buf.color1 + "}{" + texify._goInner(buf.color2) + "}}"; + break; + + case 'color0': + res = "\\color{" + buf.color + "}"; + break; + + case 'arrow': + var b6 = { + rd: texify._goInner(buf.rd), + rq: texify._goInner(buf.rq) + }; + + var arrow = "\\x" + texify._getArrow(buf.r); + + if (b6.rq) { + arrow += "[{" + b6.rq + "}]"; + } + + if (b6.rd) { + arrow += "{" + b6.rd + "}"; + } else { + arrow += "{}"; + } + + res = arrow; + break; + + case 'operator': + res = texify._getOperator(buf.kind_); + break; + + case '1st-level escape': + res = buf.p1 + " "; // &, \\\\, \\hlin + + break; + + case 'space': + res = " "; + break; + + case 'entitySkip': + res = "~"; + break; + + case 'pu-space-1': + res = "~"; + break; + + case 'pu-space-2': + res = "\\mkern3mu "; + break; + + case '1000 separator': + res = "\\mkern2mu "; + break; + + case 'commaDecimal': + res = "{,}"; + break; + + case 'comma enumeration L': + res = "{" + buf.p1 + "}\\mkern6mu "; + break; + + case 'comma enumeration M': + res = "{" + buf.p1 + "}\\mkern3mu "; + break; + + case 'comma enumeration S': + res = "{" + buf.p1 + "}\\mkern1mu "; + break; + + case 'hyphen': + res = "\\text{-}"; + break; + + case 'addition compound': + res = "\\,{\\cdot}\\,"; + break; + + case 'electron dot': + res = "\\mkern1mu \\bullet\\mkern1mu "; + break; + + case 'KV x': + res = "{\\times}"; + break; + + case 'prime': + res = "\\prime "; + break; + + case 'cdot': + res = "\\cdot "; + break; + + case 'tight cdot': + res = "\\mkern1mu{\\cdot}\\mkern1mu "; + break; + + case 'times': + res = "\\times "; + break; + + case 'circa': + res = "{\\sim}"; + break; + + case '^': + res = "uparrow"; + break; + + case 'v': + res = "downarrow"; + break; + + case 'ellipsis': + res = "\\ldots "; + break; + + case '/': + res = "/"; + break; + + case ' / ': + res = "\\,/\\,"; + break; + + default: + throw ["MhchemBugT", "mhchem bug T. Please report."]; + // Missing texify rule or unknown MhchemParser output + } + return res; + }, + _getArrow: function _getArrow(a) { + switch (a) { + case "->": + return "rightarrow"; + + case "\u2192": + return "rightarrow"; + + case "\u27F6": + return "rightarrow"; + + case "<-": + return "leftarrow"; + + case "<->": + return "leftrightarrow"; + + case "<-->": + return "rightleftarrows"; + + case "<=>": + return "rightleftharpoons"; + + case "\u21CC": + return "rightleftharpoons"; + + case "<=>>": + return "rightequilibrium"; + + case "<<=>": + return "leftequilibrium"; + + default: + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getBond: function _getBond(a) { + switch (a) { + case "-": + return "{-}"; + + case "1": + return "{-}"; + + case "=": + return "{=}"; + + case "2": + return "{=}"; + + case "#": + return "{\\equiv}"; + + case "3": + return "{\\equiv}"; + + case "~": + return "{\\tripledash}"; + + case "~-": + return "{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}"; + + case "~=": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}"; + + case "~--": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}"; + + case "-~-": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}"; + + case "...": + return "{{\\cdot}{\\cdot}{\\cdot}}"; + + case "....": + return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}"; + + case "->": + return "{\\rightarrow}"; + + case "<-": + return "{\\leftarrow}"; + + case "<": + return "{<}"; + + case ">": + return "{>}"; + + default: + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getOperator: function _getOperator(a) { + switch (a) { + case "+": + return " {}+{} "; + + case "-": + return " {}-{} "; + + case "=": + return " {}={} "; + + case "<": + return " {}<{} "; + + case ">": + return " {}>{} "; + + case "<<": + return " {}\\ll{} "; + + case ">>": + return " {}\\gg{} "; + + case "\\pm": + return " {}\\pm{} "; + + case "\\approx": + return " {}\\approx{} "; + + case "$\\approx$": + return " {}\\approx{} "; + + case "v": + return " \\downarrow{} "; + + case "(v)": + return " \\downarrow{} "; + + case "^": + return " \\uparrow{} "; + + case "(^)": + return " \\uparrow{} "; + + default: + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + } +}; // diff --git a/source/lib/katex@0.12.0/contrib/render-a11y-string.js b/source/lib/katex@0.12.0/contrib/render-a11y-string.js new file mode 100644 index 0000000..d8b27c7 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/render-a11y-string.js @@ -0,0 +1,870 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else { + var a = typeof exports === 'object' ? factory(require("katex")) : factory(root["katex"]); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_0__); +/** + * renderA11yString returns a readable string. + * + * In some cases the string will have the proper semantic math + * meaning,: + * renderA11yString("\\frac{1}{2}"") + * -> "start fraction, 1, divided by, 2, end fraction" + * + * However, other cases do not: + * renderA11yString("f(x) = x^2") + * -> "f, left parenthesis, x, right parenthesis, equals, x, squared" + * + * The commas in the string aim to increase ease of understanding + * when read by a screenreader. + */ +// NOTE: since we're importing types here these files won't actually be +// included in the build. +// $FlowIgnore: we import the types directly anyways + +var stringMap = { + "(": "left parenthesis", + ")": "right parenthesis", + "[": "open bracket", + "]": "close bracket", + "\\{": "left brace", + "\\}": "right brace", + "\\lvert": "open vertical bar", + "\\rvert": "close vertical bar", + "|": "vertical bar", + "\\uparrow": "up arrow", + "\\Uparrow": "up arrow", + "\\downarrow": "down arrow", + "\\Downarrow": "down arrow", + "\\updownarrow": "up down arrow", + "\\leftarrow": "left arrow", + "\\Leftarrow": "left arrow", + "\\rightarrow": "right arrow", + "\\Rightarrow": "right arrow", + "\\langle": "open angle", + "\\rangle": "close angle", + "\\lfloor": "open floor", + "\\rfloor": "close floor", + "\\int": "integral", + "\\intop": "integral", + "\\lim": "limit", + "\\ln": "natural log", + "\\log": "log", + "\\sin": "sine", + "\\cos": "cosine", + "\\tan": "tangent", + "\\cot": "cotangent", + "\\sum": "sum", + "/": "slash", + ",": "comma", + ".": "point", + "-": "negative", + "+": "plus", + "~": "tilde", + ":": "colon", + "?": "question mark", + "'": "apostrophe", + "\\%": "percent", + " ": "space", + "\\ ": "space", + "\\$": "dollar sign", + "\\angle": "angle", + "\\degree": "degree", + "\\circ": "circle", + "\\vec": "vector", + "\\triangle": "triangle", + "\\pi": "pi", + "\\prime": "prime", + "\\infty": "infinity", + "\\alpha": "alpha", + "\\beta": "beta", + "\\gamma": "gamma", + "\\omega": "omega", + "\\theta": "theta", + "\\sigma": "sigma", + "\\lambda": "lambda", + "\\tau": "tau", + "\\Delta": "delta", + "\\delta": "delta", + "\\mu": "mu", + "\\rho": "rho", + "\\nabla": "del", + "\\ell": "ell", + "\\ldots": "dots", + // TODO: add entries for all accents + "\\hat": "hat", + "\\acute": "acute" +}; +var powerMap = { + "prime": "prime", + "degree": "degrees", + "circle": "degrees", + "2": "squared", + "3": "cubed" +}; +var openMap = { + "|": "open vertical bar", + ".": "" +}; +var closeMap = { + "|": "close vertical bar", + ".": "" +}; +var binMap = { + "+": "plus", + "-": "minus", + "\\pm": "plus minus", + "\\cdot": "dot", + "*": "times", + "/": "divided by", + "\\times": "times", + "\\div": "divided by", + "\\circ": "circle", + "\\bullet": "bullet" +}; +var relMap = { + "=": "equals", + "\\approx": "approximately equals", + "≠": "does not equal", + "\\geq": "is greater than or equal to", + "\\ge": "is greater than or equal to", + "\\leq": "is less than or equal to", + "\\le": "is less than or equal to", + ">": "is greater than", + "<": "is less than", + "\\leftarrow": "left arrow", + "\\Leftarrow": "left arrow", + "\\rightarrow": "right arrow", + "\\Rightarrow": "right arrow", + ":": "colon" +}; +var accentUnderMap = { + "\\underleftarrow": "left arrow", + "\\underrightarrow": "right arrow", + "\\underleftrightarrow": "left-right arrow", + "\\undergroup": "group", + "\\underlinesegment": "line segment", + "\\utilde": "tilde" +}; + +var buildString = function buildString(str, type, a11yStrings) { + if (!str) { + return; + } + + var ret; + + if (type === "open") { + ret = str in openMap ? openMap[str] : stringMap[str] || str; + } else if (type === "close") { + ret = str in closeMap ? closeMap[str] : stringMap[str] || str; + } else if (type === "bin") { + ret = binMap[str] || str; + } else if (type === "rel") { + ret = relMap[str] || str; + } else { + ret = stringMap[str] || str; + } // If the text to add is a number and there is already a string + // in the list and the last string is a number then we should + // combine them into a single number + + + if (/^\d+$/.test(ret) && a11yStrings.length > 0 && // TODO(kevinb): check that the last item in a11yStrings is a string + // I think we might be able to drop the nested arrays, which would make + // this easier to type - $FlowFixMe + /^\d+$/.test(a11yStrings[a11yStrings.length - 1])) { + a11yStrings[a11yStrings.length - 1] += ret; + } else if (ret) { + a11yStrings.push(ret); + } +}; + +var buildRegion = function buildRegion(a11yStrings, callback) { + var regionStrings = []; + a11yStrings.push(regionStrings); + callback(regionStrings); +}; + +var handleObject = function handleObject(tree, a11yStrings, atomType) { + // Everything else is assumed to be an object... + switch (tree.type) { + case "accent": + { + buildRegion(a11yStrings, function (a11yStrings) { + buildA11yStrings(tree.base, a11yStrings, atomType); + a11yStrings.push("with"); + buildString(tree.label, "normal", a11yStrings); + a11yStrings.push("on top"); + }); + break; + } + + case "accentUnder": + { + buildRegion(a11yStrings, function (a11yStrings) { + buildA11yStrings(tree.base, a11yStrings, atomType); + a11yStrings.push("with"); + buildString(accentUnderMap[tree.label], "normal", a11yStrings); + a11yStrings.push("underneath"); + }); + break; + } + + case "accent-token": + { + // Used internally by accent symbols. + break; + } + + case "atom": + { + var text = tree.text; + + switch (tree.family) { + case "bin": + { + buildString(text, "bin", a11yStrings); + break; + } + + case "close": + { + buildString(text, "close", a11yStrings); + break; + } + // TODO(kevinb): figure out what should be done for inner + + case "inner": + { + buildString(tree.text, "inner", a11yStrings); + break; + } + + case "open": + { + buildString(text, "open", a11yStrings); + break; + } + + case "punct": + { + buildString(text, "punct", a11yStrings); + break; + } + + case "rel": + { + buildString(text, "rel", a11yStrings); + break; + } + + default: + { + tree.family; + throw new Error("\"" + tree.family + "\" is not a valid atom type"); + } + } + + break; + } + + case "color": + { + var color = tree.color.replace(/katex-/, ""); + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start color " + color); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end color " + color); + }); + break; + } + + case "color-token": + { + // Used by \color, \colorbox, and \fcolorbox but not directly rendered. + // It's a leaf node and has no children so just break. + break; + } + + case "delimsizing": + { + if (tree.delim && tree.delim !== ".") { + buildString(tree.delim, "normal", a11yStrings); + } + + break; + } + + case "genfrac": + { + buildRegion(a11yStrings, function (regionStrings) { + // genfrac can have unbalanced delimiters + var leftDelim = tree.leftDelim, + rightDelim = tree.rightDelim; // NOTE: Not sure if this is a safe assumption + // hasBarLine true -> fraction, false -> binomial + + if (tree.hasBarLine) { + regionStrings.push("start fraction"); + leftDelim && buildString(leftDelim, "open", regionStrings); + buildA11yStrings(tree.numer, regionStrings, atomType); + regionStrings.push("divided by"); + buildA11yStrings(tree.denom, regionStrings, atomType); + rightDelim && buildString(rightDelim, "close", regionStrings); + regionStrings.push("end fraction"); + } else { + regionStrings.push("start binomial"); + leftDelim && buildString(leftDelim, "open", regionStrings); + buildA11yStrings(tree.numer, regionStrings, atomType); + regionStrings.push("over"); + buildA11yStrings(tree.denom, regionStrings, atomType); + rightDelim && buildString(rightDelim, "close", regionStrings); + regionStrings.push("end binomial"); + } + }); + break; + } + + case "kern": + { + // No op: we don't attempt to present kerning information + // to the screen reader. + break; + } + + case "leftright": + { + buildRegion(a11yStrings, function (regionStrings) { + buildString(tree.left, "open", regionStrings); + buildA11yStrings(tree.body, regionStrings, atomType); + buildString(tree.right, "close", regionStrings); + }); + break; + } + + case "leftright-right": + { + // TODO: double check that this is a no-op + break; + } + + case "lap": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "mathord": + { + buildString(tree.text, "normal", a11yStrings); + break; + } + + case "op": + { + var body = tree.body, + name = tree.name; + + if (body) { + buildA11yStrings(body, a11yStrings, atomType); + } else if (name) { + buildString(name, "normal", a11yStrings); + } + + break; + } + + case "op-token": + { + // Used internally by operator symbols. + buildString(tree.text, atomType, a11yStrings); + break; + } + + case "ordgroup": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "overline": + { + buildRegion(a11yStrings, function (a11yStrings) { + a11yStrings.push("start overline"); + buildA11yStrings(tree.body, a11yStrings, atomType); + a11yStrings.push("end overline"); + }); + break; + } + + case "phantom": + { + a11yStrings.push("empty space"); + break; + } + + case "raisebox": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "rule": + { + a11yStrings.push("rectangle"); + break; + } + + case "sizing": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "spacing": + { + a11yStrings.push("space"); + break; + } + + case "styling": + { + // We ignore the styling and just pass through the contents + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "sqrt": + { + buildRegion(a11yStrings, function (regionStrings) { + var body = tree.body, + index = tree.index; + + if (index) { + var indexString = flatten(buildA11yStrings(index, [], atomType)).join(","); + + if (indexString === "3") { + regionStrings.push("cube root of"); + buildA11yStrings(body, regionStrings, atomType); + regionStrings.push("end cube root"); + return; + } + + regionStrings.push("root"); + regionStrings.push("start index"); + buildA11yStrings(index, regionStrings, atomType); + regionStrings.push("end index"); + return; + } + + regionStrings.push("square root of"); + buildA11yStrings(body, regionStrings, atomType); + regionStrings.push("end square root"); + }); + break; + } + + case "supsub": + { + var base = tree.base, + sub = tree.sub, + sup = tree.sup; + var isLog = false; + + if (base) { + buildA11yStrings(base, a11yStrings, atomType); + isLog = base.type === "op" && base.name === "\\log"; + } + + if (sub) { + var regionName = isLog ? "base" : "subscript"; + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start " + regionName); + buildA11yStrings(sub, regionStrings, atomType); + regionStrings.push("end " + regionName); + }); + } + + if (sup) { + buildRegion(a11yStrings, function (regionStrings) { + var supString = flatten(buildA11yStrings(sup, [], atomType)).join(","); + + if (supString in powerMap) { + regionStrings.push(powerMap[supString]); + return; + } + + regionStrings.push("start superscript"); + buildA11yStrings(sup, regionStrings, atomType); + regionStrings.push("end superscript"); + }); + } + + break; + } + + case "text": + { + // TODO: handle other fonts + if (tree.font === "\\textbf") { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start bold text"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end bold text"); + }); + break; + } + + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start text"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end text"); + }); + break; + } + + case "textord": + { + buildString(tree.text, atomType, a11yStrings); + break; + } + + case "smash": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "enclose": + { + // TODO: create a map for these. + // TODO: differentiate between a body with a single atom, e.g. + // "cancel a" instead of "start cancel, a, end cancel" + if (/cancel/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start cancel"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end cancel"); + }); + break; + } else if (/box/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start box"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end box"); + }); + break; + } else if (/sout/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start strikeout"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end strikeout"); + }); + break; + } + + throw new Error("KaTeX-a11y: enclose node with " + tree.label + " not supported yet"); + } + + case "vphantom": + { + throw new Error("KaTeX-a11y: vphantom not implemented yet"); + } + + case "hphantom": + { + throw new Error("KaTeX-a11y: hphantom not implemented yet"); + } + + case "operatorname": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "array": + { + throw new Error("KaTeX-a11y: array not implemented yet"); + } + + case "raw": + { + throw new Error("KaTeX-a11y: raw not implemented yet"); + } + + case "size": + { + // Although there are nodes of type "size" in the parse tree, they have + // no semantic meaning and should be ignored. + break; + } + + case "url": + { + throw new Error("KaTeX-a11y: url not implemented yet"); + } + + case "tag": + { + throw new Error("KaTeX-a11y: tag not implemented yet"); + } + + case "verb": + { + buildString("start verbatim", "normal", a11yStrings); + buildString(tree.body, "normal", a11yStrings); + buildString("end verbatim", "normal", a11yStrings); + break; + } + + case "environment": + { + throw new Error("KaTeX-a11y: environment not implemented yet"); + } + + case "horizBrace": + { + buildString("start " + tree.label.slice(1), "normal", a11yStrings); + buildA11yStrings(tree.base, a11yStrings, atomType); + buildString("end " + tree.label.slice(1), "normal", a11yStrings); + break; + } + + case "infix": + { + // All infix nodes are replace with other nodes. + break; + } + + case "includegraphics": + { + throw new Error("KaTeX-a11y: includegraphics not implemented yet"); + } + + case "font": + { + // TODO: callout the start/end of specific fonts + // TODO: map \BBb{N} to "the naturals" or something like that + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "href": + { + throw new Error("KaTeX-a11y: href not implemented yet"); + } + + case "cr": + { + // This is used by environments. + throw new Error("KaTeX-a11y: cr not implemented yet"); + } + + case "underline": + { + buildRegion(a11yStrings, function (a11yStrings) { + a11yStrings.push("start underline"); + buildA11yStrings(tree.body, a11yStrings, atomType); + a11yStrings.push("end underline"); + }); + break; + } + + case "xArrow": + { + throw new Error("KaTeX-a11y: xArrow not implemented yet"); + } + + case "mclass": + { + // \neq and \ne are macros so we let "htmlmathml" render the mathmal + // side of things and extract the text from that. + var _atomType = tree.mclass.slice(1); // $FlowFixMe: drop the leading "m" from the values in mclass + + + buildA11yStrings(tree.body, a11yStrings, _atomType); + break; + } + + case "mathchoice": + { + // TODO: track which which style we're using, e.g. dispaly, text, etc. + // default to text style if even that may not be the correct style + buildA11yStrings(tree.text, a11yStrings, atomType); + break; + } + + case "htmlmathml": + { + buildA11yStrings(tree.mathml, a11yStrings, atomType); + break; + } + + case "middle": + { + buildString(tree.delim, atomType, a11yStrings); + break; + } + + case "internal": + { + // internal nodes are never included in the parse tree + break; + } + + case "html": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + default: + tree.type; + throw new Error("KaTeX a11y un-recognized type: " + tree.type); + } +}; + +var buildA11yStrings = function buildA11yStrings(tree, a11yStrings, atomType) { + if (a11yStrings === void 0) { + a11yStrings = []; + } + + if (tree instanceof Array) { + for (var i = 0; i < tree.length; i++) { + buildA11yStrings(tree[i], a11yStrings, atomType); + } + } else { + handleObject(tree, a11yStrings, atomType); + } + + return a11yStrings; +}; + +var flatten = function flatten(array) { + var result = []; + array.forEach(function (item) { + if (item instanceof Array) { + result = result.concat(flatten(item)); + } else { + result.push(item); + } + }); + return result; +}; + +var renderA11yString = function renderA11yString(text, settings) { + var tree = katex__WEBPACK_IMPORTED_MODULE_0___default.a.__parse(text, settings); + + var a11yStrings = buildA11yStrings(tree, [], "normal"); + return flatten(a11yStrings).join(", "); +}; + +/* harmony default export */ __webpack_exports__["default"] = (renderA11yString); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/source/lib/katex@0.12.0/contrib/render-a11y-string.min.js b/source/lib/katex@0.12.0/contrib/render-a11y-string.min.js new file mode 100644 index 0000000..5d406a6 --- /dev/null +++ b/source/lib/katex@0.12.0/contrib/render-a11y-string.min.js @@ -0,0 +1 @@ +!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],r);else{var t="object"==typeof exports?r(require("katex")):r(e.katex);for(var a in t)("object"==typeof exports?exports:e)[a]=t[a]}}("undefined"!=typeof self?self:this,function(e){return function(e){var r={};function t(a){if(r[a])return r[a].exports;var o=r[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(a,o,function(r){return e[r]}.bind(null,o));return a},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=1)}([function(r,t){r.exports=e},function(e,r,t){"use strict";t.r(r);var a=t(0),o=t.n(a),n={"(":"left parenthesis",")":"right parenthesis","[":"open bracket","]":"close bracket","\\{":"left brace","\\}":"right brace","\\lvert":"open vertical bar","\\rvert":"close vertical bar","|":"vertical bar","\\uparrow":"up arrow","\\Uparrow":"up arrow","\\downarrow":"down arrow","\\Downarrow":"down arrow","\\updownarrow":"up down arrow","\\leftarrow":"left arrow","\\Leftarrow":"left arrow","\\rightarrow":"right arrow","\\Rightarrow":"right arrow","\\langle":"open angle","\\rangle":"close angle","\\lfloor":"open floor","\\rfloor":"close floor","\\int":"integral","\\intop":"integral","\\lim":"limit","\\ln":"natural log","\\log":"log","\\sin":"sine","\\cos":"cosine","\\tan":"tangent","\\cot":"cotangent","\\sum":"sum","/":"slash",",":"comma",".":"point","-":"negative","+":"plus","~":"tilde",":":"colon","?":"question mark","'":"apostrophe","\\%":"percent"," ":"space","\\ ":"space","\\$":"dollar sign","\\angle":"angle","\\degree":"degree","\\circ":"circle","\\vec":"vector","\\triangle":"triangle","\\pi":"pi","\\prime":"prime","\\infty":"infinity","\\alpha":"alpha","\\beta":"beta","\\gamma":"gamma","\\omega":"omega","\\theta":"theta","\\sigma":"sigma","\\lambda":"lambda","\\tau":"tau","\\Delta":"delta","\\delta":"delta","\\mu":"mu","\\rho":"rho","\\nabla":"del","\\ell":"ell","\\ldots":"dots","\\hat":"hat","\\acute":"acute"},s={prime:"prime",degree:"degrees",circle:"degrees",2:"squared",3:"cubed"},i={"|":"open vertical bar",".":""},l={"|":"close vertical bar",".":""},c={"+":"plus","-":"minus","\\pm":"plus minus","\\cdot":"dot","*":"times","/":"divided by","\\times":"times","\\div":"divided by","\\circ":"circle","\\bullet":"bullet"},u={"=":"equals","\\approx":"approximately equals","\u2260":"does not equal","\\geq":"is greater than or equal to","\\ge":"is greater than or equal to","\\leq":"is less than or equal to","\\le":"is less than or equal to",">":"is greater than","<":"is less than","\\leftarrow":"left arrow","\\Leftarrow":"left arrow","\\rightarrow":"right arrow","\\Rightarrow":"right arrow",":":"colon"},p={"\\underleftarrow":"left arrow","\\underrightarrow":"right arrow","\\underleftrightarrow":"left-right arrow","\\undergroup":"group","\\underlinesegment":"line segment","\\utilde":"tilde"},d=function(e,r,t){var a;e&&(/^\d+$/.test(a="open"===r?e in i?i[e]:n[e]||e:"close"===r?e in l?l[e]:n[e]||e:"bin"===r?c[e]||e:"rel"===r?u[e]||e:n[e]||e)&&t.length>0&&/^\d+$/.test(t[t.length-1])?t[t.length-1]+=a:a&&t.push(a))},b=function(e,r){var t=[];e.push(t),r(t)},h=function(e,r,t){switch(e.type){case"accent":b(r,function(r){f(e.base,r,t),r.push("with"),d(e.label,"normal",r),r.push("on top")});break;case"accentUnder":b(r,function(r){f(e.base,r,t),r.push("with"),d(p[e.label],"normal",r),r.push("underneath")});break;case"accent-token":break;case"atom":var a=e.text;switch(e.family){case"bin":d(a,"bin",r);break;case"close":d(a,"close",r);break;case"inner":d(e.text,"inner",r);break;case"open":d(a,"open",r);break;case"punct":d(a,"punct",r);break;case"rel":d(a,"rel",r);break;default:throw e.family,new Error('"'+e.family+'" is not a valid atom type')}break;case"color":var o=e.color.replace(/katex-/,"");b(r,function(r){r.push("start color "+o),f(e.body,r,t),r.push("end color "+o)});break;case"color-token":break;case"delimsizing":e.delim&&"."!==e.delim&&d(e.delim,"normal",r);break;case"genfrac":b(r,function(r){var a=e.leftDelim,o=e.rightDelim;e.hasBarLine?(r.push("start fraction"),a&&d(a,"open",r),f(e.numer,r,t),r.push("divided by"),f(e.denom,r,t),o&&d(o,"close",r),r.push("end fraction")):(r.push("start binomial"),a&&d(a,"open",r),f(e.numer,r,t),r.push("over"),f(e.denom,r,t),o&&d(o,"close",r),r.push("end binomial"))});break;case"kern":break;case"leftright":b(r,function(r){d(e.left,"open",r),f(e.body,r,t),d(e.right,"close",r)});break;case"leftright-right":break;case"lap":f(e.body,r,t);break;case"mathord":d(e.text,"normal",r);break;case"op":var n=e.body,i=e.name;n?f(n,r,t):i&&d(i,"normal",r);break;case"op-token":d(e.text,t,r);break;case"ordgroup":f(e.body,r,t);break;case"overline":b(r,function(r){r.push("start overline"),f(e.body,r,t),r.push("end overline")});break;case"phantom":r.push("empty space");break;case"raisebox":f(e.body,r,t);break;case"rule":r.push("rectangle");break;case"sizing":f(e.body,r,t);break;case"spacing":r.push("space");break;case"styling":f(e.body,r,t);break;case"sqrt":b(r,function(r){var a=e.body,o=e.index;if(o)return"3"===m(f(o,[],t)).join(",")?(r.push("cube root of"),f(a,r,t),void r.push("end cube root")):(r.push("root"),r.push("start index"),f(o,r,t),void r.push("end index"));r.push("square root of"),f(a,r,t),r.push("end square root")});break;case"supsub":var l=e.base,c=e.sub,u=e.sup,h=!1;if(l&&(f(l,r,t),h="op"===l.type&&"\\log"===l.name),c){var y=h?"base":"subscript";b(r,function(e){e.push("start "+y),f(c,e,t),e.push("end "+y)})}u&&b(r,function(e){var r=m(f(u,[],t)).join(",");r in s?e.push(s[r]):(e.push("start superscript"),f(u,e,t),e.push("end superscript"))});break;case"text":if("\\textbf"===e.font){b(r,function(r){r.push("start bold text"),f(e.body,r,t),r.push("end bold text")});break}b(r,function(r){r.push("start text"),f(e.body,r,t),r.push("end text")});break;case"textord":d(e.text,t,r);break;case"smash":f(e.body,r,t);break;case"enclose":if(/cancel/.test(e.label)){b(r,function(r){r.push("start cancel"),f(e.body,r,t),r.push("end cancel")});break}if(/box/.test(e.label)){b(r,function(r){r.push("start box"),f(e.body,r,t),r.push("end box")});break}if(/sout/.test(e.label)){b(r,function(r){r.push("start strikeout"),f(e.body,r,t),r.push("end strikeout")});break}throw new Error("KaTeX-a11y: enclose node with "+e.label+" not supported yet");case"vphantom":throw new Error("KaTeX-a11y: vphantom not implemented yet");case"hphantom":throw new Error("KaTeX-a11y: hphantom not implemented yet");case"operatorname":f(e.body,r,t);break;case"array":throw new Error("KaTeX-a11y: array not implemented yet");case"raw":throw new Error("KaTeX-a11y: raw not implemented yet");case"size":break;case"url":throw new Error("KaTeX-a11y: url not implemented yet");case"tag":throw new Error("KaTeX-a11y: tag not implemented yet");case"verb":d("start verbatim","normal",r),d(e.body,"normal",r),d("end verbatim","normal",r);break;case"environment":throw new Error("KaTeX-a11y: environment not implemented yet");case"horizBrace":d("start "+e.label.slice(1),"normal",r),f(e.base,r,t),d("end "+e.label.slice(1),"normal",r);break;case"infix":break;case"includegraphics":throw new Error("KaTeX-a11y: includegraphics not implemented yet");case"font":f(e.body,r,t);break;case"href":throw new Error("KaTeX-a11y: href not implemented yet");case"cr":throw new Error("KaTeX-a11y: cr not implemented yet");case"underline":b(r,function(r){r.push("start underline"),f(e.body,r,t),r.push("end underline")});break;case"xArrow":throw new Error("KaTeX-a11y: xArrow not implemented yet");case"mclass":var g=e.mclass.slice(1);f(e.body,r,g);break;case"mathchoice":f(e.text,r,t);break;case"htmlmathml":f(e.mathml,r,t);break;case"middle":d(e.delim,t,r);break;case"internal":break;case"html":f(e.body,r,t);break;default:throw e.type,new Error("KaTeX a11y un-recognized type: "+e.type)}},f=function e(r,t,a){if(void 0===t&&(t=[]),r instanceof Array)for(var o=0;o "start fraction, 1, divided by, 2, end fraction" + * + * However, other cases do not: + * renderA11yString("f(x) = x^2") + * -> "f, left parenthesis, x, right parenthesis, equals, x, squared" + * + * The commas in the string aim to increase ease of understanding + * when read by a screenreader. + */ +const stringMap = { + "(": "left parenthesis", + ")": "right parenthesis", + "[": "open bracket", + "]": "close bracket", + "\\{": "left brace", + "\\}": "right brace", + "\\lvert": "open vertical bar", + "\\rvert": "close vertical bar", + "|": "vertical bar", + "\\uparrow": "up arrow", + "\\Uparrow": "up arrow", + "\\downarrow": "down arrow", + "\\Downarrow": "down arrow", + "\\updownarrow": "up down arrow", + "\\leftarrow": "left arrow", + "\\Leftarrow": "left arrow", + "\\rightarrow": "right arrow", + "\\Rightarrow": "right arrow", + "\\langle": "open angle", + "\\rangle": "close angle", + "\\lfloor": "open floor", + "\\rfloor": "close floor", + "\\int": "integral", + "\\intop": "integral", + "\\lim": "limit", + "\\ln": "natural log", + "\\log": "log", + "\\sin": "sine", + "\\cos": "cosine", + "\\tan": "tangent", + "\\cot": "cotangent", + "\\sum": "sum", + "/": "slash", + ",": "comma", + ".": "point", + "-": "negative", + "+": "plus", + "~": "tilde", + ":": "colon", + "?": "question mark", + "'": "apostrophe", + "\\%": "percent", + " ": "space", + "\\ ": "space", + "\\$": "dollar sign", + "\\angle": "angle", + "\\degree": "degree", + "\\circ": "circle", + "\\vec": "vector", + "\\triangle": "triangle", + "\\pi": "pi", + "\\prime": "prime", + "\\infty": "infinity", + "\\alpha": "alpha", + "\\beta": "beta", + "\\gamma": "gamma", + "\\omega": "omega", + "\\theta": "theta", + "\\sigma": "sigma", + "\\lambda": "lambda", + "\\tau": "tau", + "\\Delta": "delta", + "\\delta": "delta", + "\\mu": "mu", + "\\rho": "rho", + "\\nabla": "del", + "\\ell": "ell", + "\\ldots": "dots", + // TODO: add entries for all accents + "\\hat": "hat", + "\\acute": "acute" +}; +const powerMap = { + "prime": "prime", + "degree": "degrees", + "circle": "degrees", + "2": "squared", + "3": "cubed" +}; +const openMap = { + "|": "open vertical bar", + ".": "" +}; +const closeMap = { + "|": "close vertical bar", + ".": "" +}; +const binMap = { + "+": "plus", + "-": "minus", + "\\pm": "plus minus", + "\\cdot": "dot", + "*": "times", + "/": "divided by", + "\\times": "times", + "\\div": "divided by", + "\\circ": "circle", + "\\bullet": "bullet" +}; +const relMap = { + "=": "equals", + "\\approx": "approximately equals", + "≠": "does not equal", + "\\geq": "is greater than or equal to", + "\\ge": "is greater than or equal to", + "\\leq": "is less than or equal to", + "\\le": "is less than or equal to", + ">": "is greater than", + "<": "is less than", + "\\leftarrow": "left arrow", + "\\Leftarrow": "left arrow", + "\\rightarrow": "right arrow", + "\\Rightarrow": "right arrow", + ":": "colon" +}; +const accentUnderMap = { + "\\underleftarrow": "left arrow", + "\\underrightarrow": "right arrow", + "\\underleftrightarrow": "left-right arrow", + "\\undergroup": "group", + "\\underlinesegment": "line segment", + "\\utilde": "tilde" +}; + +const buildString = (str, type, a11yStrings) => { + if (!str) { + return; + } + + let ret; + + if (type === "open") { + ret = str in openMap ? openMap[str] : stringMap[str] || str; + } else if (type === "close") { + ret = str in closeMap ? closeMap[str] : stringMap[str] || str; + } else if (type === "bin") { + ret = binMap[str] || str; + } else if (type === "rel") { + ret = relMap[str] || str; + } else { + ret = stringMap[str] || str; + } // If the text to add is a number and there is already a string + // in the list and the last string is a number then we should + // combine them into a single number + + + if (/^\d+$/.test(ret) && a11yStrings.length > 0 && // TODO(kevinb): check that the last item in a11yStrings is a string + // I think we might be able to drop the nested arrays, which would make + // this easier to type - $FlowFixMe + /^\d+$/.test(a11yStrings[a11yStrings.length - 1])) { + a11yStrings[a11yStrings.length - 1] += ret; + } else if (ret) { + a11yStrings.push(ret); + } +}; + +const buildRegion = (a11yStrings, callback) => { + const regionStrings = []; + a11yStrings.push(regionStrings); + callback(regionStrings); +}; + +const handleObject = (tree, a11yStrings, atomType) => { + // Everything else is assumed to be an object... + switch (tree.type) { + case "accent": + { + buildRegion(a11yStrings, a11yStrings => { + buildA11yStrings(tree.base, a11yStrings, atomType); + a11yStrings.push("with"); + buildString(tree.label, "normal", a11yStrings); + a11yStrings.push("on top"); + }); + break; + } + + case "accentUnder": + { + buildRegion(a11yStrings, a11yStrings => { + buildA11yStrings(tree.base, a11yStrings, atomType); + a11yStrings.push("with"); + buildString(accentUnderMap[tree.label], "normal", a11yStrings); + a11yStrings.push("underneath"); + }); + break; + } + + case "accent-token": + { + // Used internally by accent symbols. + break; + } + + case "atom": + { + const text = tree.text; + + switch (tree.family) { + case "bin": + { + buildString(text, "bin", a11yStrings); + break; + } + + case "close": + { + buildString(text, "close", a11yStrings); + break; + } + // TODO(kevinb): figure out what should be done for inner + + case "inner": + { + buildString(tree.text, "inner", a11yStrings); + break; + } + + case "open": + { + buildString(text, "open", a11yStrings); + break; + } + + case "punct": + { + buildString(text, "punct", a11yStrings); + break; + } + + case "rel": + { + buildString(text, "rel", a11yStrings); + break; + } + + default: + { + tree.family; + throw new Error(`"${tree.family}" is not a valid atom type`); + } + } + + break; + } + + case "color": + { + const color = tree.color.replace(/katex-/, ""); + buildRegion(a11yStrings, regionStrings => { + regionStrings.push("start color " + color); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end color " + color); + }); + break; + } + + case "color-token": + { + // Used by \color, \colorbox, and \fcolorbox but not directly rendered. + // It's a leaf node and has no children so just break. + break; + } + + case "delimsizing": + { + if (tree.delim && tree.delim !== ".") { + buildString(tree.delim, "normal", a11yStrings); + } + + break; + } + + case "genfrac": + { + buildRegion(a11yStrings, regionStrings => { + // genfrac can have unbalanced delimiters + const leftDelim = tree.leftDelim, + rightDelim = tree.rightDelim; // NOTE: Not sure if this is a safe assumption + // hasBarLine true -> fraction, false -> binomial + + if (tree.hasBarLine) { + regionStrings.push("start fraction"); + leftDelim && buildString(leftDelim, "open", regionStrings); + buildA11yStrings(tree.numer, regionStrings, atomType); + regionStrings.push("divided by"); + buildA11yStrings(tree.denom, regionStrings, atomType); + rightDelim && buildString(rightDelim, "close", regionStrings); + regionStrings.push("end fraction"); + } else { + regionStrings.push("start binomial"); + leftDelim && buildString(leftDelim, "open", regionStrings); + buildA11yStrings(tree.numer, regionStrings, atomType); + regionStrings.push("over"); + buildA11yStrings(tree.denom, regionStrings, atomType); + rightDelim && buildString(rightDelim, "close", regionStrings); + regionStrings.push("end binomial"); + } + }); + break; + } + + case "kern": + { + // No op: we don't attempt to present kerning information + // to the screen reader. + break; + } + + case "leftright": + { + buildRegion(a11yStrings, regionStrings => { + buildString(tree.left, "open", regionStrings); + buildA11yStrings(tree.body, regionStrings, atomType); + buildString(tree.right, "close", regionStrings); + }); + break; + } + + case "leftright-right": + { + // TODO: double check that this is a no-op + break; + } + + case "lap": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "mathord": + { + buildString(tree.text, "normal", a11yStrings); + break; + } + + case "op": + { + const body = tree.body, + name = tree.name; + + if (body) { + buildA11yStrings(body, a11yStrings, atomType); + } else if (name) { + buildString(name, "normal", a11yStrings); + } + + break; + } + + case "op-token": + { + // Used internally by operator symbols. + buildString(tree.text, atomType, a11yStrings); + break; + } + + case "ordgroup": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "overline": + { + buildRegion(a11yStrings, function (a11yStrings) { + a11yStrings.push("start overline"); + buildA11yStrings(tree.body, a11yStrings, atomType); + a11yStrings.push("end overline"); + }); + break; + } + + case "phantom": + { + a11yStrings.push("empty space"); + break; + } + + case "raisebox": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "rule": + { + a11yStrings.push("rectangle"); + break; + } + + case "sizing": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "spacing": + { + a11yStrings.push("space"); + break; + } + + case "styling": + { + // We ignore the styling and just pass through the contents + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "sqrt": + { + buildRegion(a11yStrings, regionStrings => { + const body = tree.body, + index = tree.index; + + if (index) { + const indexString = flatten(buildA11yStrings(index, [], atomType)).join(","); + + if (indexString === "3") { + regionStrings.push("cube root of"); + buildA11yStrings(body, regionStrings, atomType); + regionStrings.push("end cube root"); + return; + } + + regionStrings.push("root"); + regionStrings.push("start index"); + buildA11yStrings(index, regionStrings, atomType); + regionStrings.push("end index"); + return; + } + + regionStrings.push("square root of"); + buildA11yStrings(body, regionStrings, atomType); + regionStrings.push("end square root"); + }); + break; + } + + case "supsub": + { + const base = tree.base, + sub = tree.sub, + sup = tree.sup; + let isLog = false; + + if (base) { + buildA11yStrings(base, a11yStrings, atomType); + isLog = base.type === "op" && base.name === "\\log"; + } + + if (sub) { + const regionName = isLog ? "base" : "subscript"; + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push(`start ${regionName}`); + buildA11yStrings(sub, regionStrings, atomType); + regionStrings.push(`end ${regionName}`); + }); + } + + if (sup) { + buildRegion(a11yStrings, function (regionStrings) { + const supString = flatten(buildA11yStrings(sup, [], atomType)).join(","); + + if (supString in powerMap) { + regionStrings.push(powerMap[supString]); + return; + } + + regionStrings.push("start superscript"); + buildA11yStrings(sup, regionStrings, atomType); + regionStrings.push("end superscript"); + }); + } + + break; + } + + case "text": + { + // TODO: handle other fonts + if (tree.font === "\\textbf") { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start bold text"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end bold text"); + }); + break; + } + + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start text"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end text"); + }); + break; + } + + case "textord": + { + buildString(tree.text, atomType, a11yStrings); + break; + } + + case "smash": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "enclose": + { + // TODO: create a map for these. + // TODO: differentiate between a body with a single atom, e.g. + // "cancel a" instead of "start cancel, a, end cancel" + if (/cancel/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start cancel"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end cancel"); + }); + break; + } else if (/box/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start box"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end box"); + }); + break; + } else if (/sout/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start strikeout"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end strikeout"); + }); + break; + } + + throw new Error(`KaTeX-a11y: enclose node with ${tree.label} not supported yet`); + } + + case "vphantom": + { + throw new Error("KaTeX-a11y: vphantom not implemented yet"); + } + + case "hphantom": + { + throw new Error("KaTeX-a11y: hphantom not implemented yet"); + } + + case "operatorname": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "array": + { + throw new Error("KaTeX-a11y: array not implemented yet"); + } + + case "raw": + { + throw new Error("KaTeX-a11y: raw not implemented yet"); + } + + case "size": + { + // Although there are nodes of type "size" in the parse tree, they have + // no semantic meaning and should be ignored. + break; + } + + case "url": + { + throw new Error("KaTeX-a11y: url not implemented yet"); + } + + case "tag": + { + throw new Error("KaTeX-a11y: tag not implemented yet"); + } + + case "verb": + { + buildString(`start verbatim`, "normal", a11yStrings); + buildString(tree.body, "normal", a11yStrings); + buildString(`end verbatim`, "normal", a11yStrings); + break; + } + + case "environment": + { + throw new Error("KaTeX-a11y: environment not implemented yet"); + } + + case "horizBrace": + { + buildString(`start ${tree.label.slice(1)}`, "normal", a11yStrings); + buildA11yStrings(tree.base, a11yStrings, atomType); + buildString(`end ${tree.label.slice(1)}`, "normal", a11yStrings); + break; + } + + case "infix": + { + // All infix nodes are replace with other nodes. + break; + } + + case "includegraphics": + { + throw new Error("KaTeX-a11y: includegraphics not implemented yet"); + } + + case "font": + { + // TODO: callout the start/end of specific fonts + // TODO: map \BBb{N} to "the naturals" or something like that + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "href": + { + throw new Error("KaTeX-a11y: href not implemented yet"); + } + + case "cr": + { + // This is used by environments. + throw new Error("KaTeX-a11y: cr not implemented yet"); + } + + case "underline": + { + buildRegion(a11yStrings, function (a11yStrings) { + a11yStrings.push("start underline"); + buildA11yStrings(tree.body, a11yStrings, atomType); + a11yStrings.push("end underline"); + }); + break; + } + + case "xArrow": + { + throw new Error("KaTeX-a11y: xArrow not implemented yet"); + } + + case "mclass": + { + // \neq and \ne are macros so we let "htmlmathml" render the mathmal + // side of things and extract the text from that. + const atomType = tree.mclass.slice(1); // $FlowFixMe: drop the leading "m" from the values in mclass + + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "mathchoice": + { + // TODO: track which which style we're using, e.g. dispaly, text, etc. + // default to text style if even that may not be the correct style + buildA11yStrings(tree.text, a11yStrings, atomType); + break; + } + + case "htmlmathml": + { + buildA11yStrings(tree.mathml, a11yStrings, atomType); + break; + } + + case "middle": + { + buildString(tree.delim, atomType, a11yStrings); + break; + } + + case "internal": + { + // internal nodes are never included in the parse tree + break; + } + + case "html": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + default: + tree.type; + throw new Error("KaTeX a11y un-recognized type: " + tree.type); + } +}; + +const buildA11yStrings = function buildA11yStrings(tree, a11yStrings, atomType) { + if (a11yStrings === void 0) { + a11yStrings = []; + } + + if (tree instanceof Array) { + for (let i = 0; i < tree.length; i++) { + buildA11yStrings(tree[i], a11yStrings, atomType); + } + } else { + handleObject(tree, a11yStrings, atomType); + } + + return a11yStrings; +}; + +const flatten = function flatten(array) { + let result = []; + array.forEach(function (item) { + if (item instanceof Array) { + result = result.concat(flatten(item)); + } else { + result.push(item); + } + }); + return result; +}; + +const renderA11yString = function renderA11yString(text, settings) { + const tree = katex.__parse(text, settings); + + const a11yStrings = buildA11yStrings(tree, [], "normal"); + return flatten(a11yStrings).join(", "); +}; + +export default renderA11yString; diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.ttf b/source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..737cf8eb58a98d8717f742fca3f10f6d214e4e22 GIT binary patch literal 70936 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 fmBe8g} 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.woff b/source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..38378bfba8d66d78d68b0a392316adca9e042a11 GIT binary patch literal 36912 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 I0ssF150Nz-vj6}9 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a4d1ba64101f2102fd7dfab61bb98ade4de55870 GIT binary patch literal 31136 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Bold.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..a01ce906060328399bad5499e87b6bac40f8fb3c GIT binary patch literal 9376 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 J-roVV{|A7QZfO7j literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Bold.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..37927274af1e1e3eabcf1763e9dbc261473dc4ef GIT binary patch literal 8392 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 Am;e9( literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Regular.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..bc169b7cdd8b30947558f542d59ab407a0646ab9 GIT binary patch literal 9148 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.ttf b/source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c42d169167d78a1d93b4fb3f85f168417b5bafd0 GIT binary patch literal 24400 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 yz@B<4V()6)Y literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..f30b54b3d1c494e73e6af651165cfe572d8663dc GIT binary patch literal 16208 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b7a83593a8d3170d69921e7d3d63e0289926bae6 GIT binary patch literal 13912 zcmV-eHmAvVPew8T0RR9105(_v4gdfE0AHK{05$&r0RR9100000000000000000000 z00006U;u#x2s#Ou7ZC^wfs!=;1OYYzBm;tc3xPlY1Rw>7RtJJ041o$8HdIB2LfAL} zXrMnZiaISu>4N`n37p8VR1MV4{RIU$5g3a-MAOCgD+#XUVn~ykZ43UW)myD73S#Bn zSC=9|sgHJdncRKml=WDC$`hy1z(=4T+P+y)-l1vUFo8V`a**5eQYdVJ{XZ~qEF zn+ZSZt?tt#u4y6;q>2>%|8-j5zNbvi&ah`OnI-ZpLBCvY(Qng8SBj(ep7F`qBTEC8 zlgzQ@0aJ2h4H*`QO61Ow2ECkFOctpE?2xKGTW?WO)BK|RW&i76w8cNa<96Yn{@&Dc z?|<8#(BfiAh+?$0Q>;{M#ac7ZcGL%S{1TPz?MaiX^~273{#XfZt%~m#1DD_qMSXKtcI#$&}s`&By+104#hv z835qlGyniaewmnzpiaic%oHDu7Y8Ppp{1BwsdAO3*w`pP^oL9T|IddpD7M$C5Z|u! zkPjDsI`y}E?z-c)TW&b^@!}9s1pwWUE<%7WnRMH?w zp8iAn{wcMGPm!w&4&Krl<@qax<^M)#Az$d+i4X~Kto;OnDR>fWBx_FrEW!U?QN~Zx zK&<0oF}(R4Ma7j@Ti)HGFn)93=9`6^Z-z>2hM+cBkyujA9V`-GFNqY#`&MdtXunkigl8kliY%oY}E>VO>wIaW}ylU5_fDSKx53Eij8 zqU)h|VMm9AB;`|~F~u1jD-8n|*z78n{ILQ%+LI*qCkl_B7qC$wPTxglG+>}z6w^{N z2}pmE{?3jzF~B91cmMN^ke|CdWu8S;6fSwXsNCXNuw;djC1tDl)(EUqu|d`5&LPl{ zUzCjaO+x;jbPXGHTvpXpQ=_(^X+g^hZA&^<=~|;_oxTkQHalZWOTuJNVm3i1O3kgk z97esd-<_C(6X)a{^D_XmD>!6T^PZ-&t5YsIv12^9)5{!lcCMxrXLg>$%>AG)(J4clV;_CJ2wx4w5Ww%ZL?*m2vpkPGt$QQEC;rjCh{Aw^R@Qj&fP!L(E=%uAN4 ziR=PRxu{`VJu7&9GU}N3oYLS(VY%Gf*(R*0Rzv}sT#!;N%Z9`TWz>wBFcU2)*{-Hf z)o!#s5uQkWYJ@`9cCX*DW6{unsH25W!D)22URIb5TUehSQbUv8SQfi^a5}1xNPS-o8&zjaoNg@-JfMg`fuH znJc%t=fv%OVzSaxql91(&iX{xXQ6wlk8b+ z(PB;T21SFhv{ShFGvG48MXl%>6VS&2-I&})2HjbD_p}=PP^);140^Kko>zM47qyC) zkwLF4y`)m-A)>X4@(84uqgPSMpu^ zl9C3M(l`Tnl{7Ssi(AngifIYO{nmvvw2f64+JlOYprSLV=*p<+4r+RWn%_{lD{}$Z9sq!T2Hecc1nfJKbdzXd1@DSy zi6w=oYH!cdw`wjiwCEeW&U0uiFKh7#r27YBo7JLUzGHR$MK_tOW#wXZe}g0A zk;d$(TU&QK)zw;B_xQmZH2vO=46-|au~nP@%sl?-rPGdo5z0E*-~B_l!v^2W?dewB zYu}r?dk`8=nD?fh_l^6sC#`!A+1bfs)&=LKC}JMkk@Y4Uoh&s~#>UUTS!#Q4Kif*D zAahs7lX52AuYXqcd_*83CFHb|MkQ=dqcmw-ARjv_KNLfmCY}gprxOc+1 z+@rkDu6>^OP~`#&@e3rR=tB&lIREcoT>FwM?Ui=@S^mpS!{2odMxtn8+M-le{a|5~ z(wg1SQ=b^3P4DQlC?z1!EBr;vH^2PM07vDvD6UBy=zTAEidrmQbftjYBXduX!bb|} zrmR?{MD(<&vT@M2SP?!G9C1waTy9+!o$sVPh2r1i&)g{WKuYHcf|*UIb!wt5ro2B_ z#X|)>rnE@Df)Z5QO7#_|r{(Ya$Jy3V!$MUw{Jd9yD&HvZIr`SFsLIm`Kz|DN@S5X9 zWAXrv^ibp@;8B@0vlj;rhDeg^GK>7*p!C@@5h9{$}h2uL901-92Xus za^NUZjqtur)`JG*uw(xkhtnExHCIdTJ4)%O3DU)<0?iplS&zB_dA5DW*tsrOpX$BT zqWm34MGwdzE=W(ZWMZqOQmZ++!rm=~MY{`$9QRcF7?W}fVPqKV9cF4>mSG+D`YJiZ z4SsD|6b~caKdTVeS0=QY*r7rOpqK{59y1lu)wpy=?{o z;rEw09Bgu;0`*{{hD2B13t}oB7?=@lNNriDCjuM-VNt7rGl_MBku53hiR||LMSobJ z0Xh)mAS^RE&RDZCe;+Tkek2t6`HdVHS2qzAU_Dy`!zn5CdWts`i>7JX+I(i<>aaq9 zVhrCcs(eUa&^zT_6|Nq9D%xPkSa{&}f&dHX)}f~@Q=%lv!72w2tKO@|ZYtUYx_)v- z7DgvWg>s3`z1zZ&Kg$%GvV?voDl0qUL*jBq{$MzR{?J^krHEv3Fs_xbt@tydc)bq( zKGQ;5`+E;Eln_papGs=t6(b{I6PEoRf7mK#1^`>!>&39>qkg1-V)q@8ShwsF@6uSc z54l|BmEb90etm8@l&Z{cI6U>wkNlz(`y9vEqv~%M$EdqNCo38}uOuo<6ymDcLShER zq~Ujm6=0R~D*uj&t8%A(M)7ND@6|ER-npuLQ*T5h0=*$4rEvj^bb>UqI%OH(qV0hO zrFUVi2Ap|2pzE4$n}{PBYT)?LT4NYqyQ3Su;=v%J>03&Lhua!OG0cXS6g<)2Us5FA z?7ZD=3TyKM0|#e7>OX>u6HR3Z*As4qyxbX&WK<7VA6m<+KX(n*W@;rb;(Kj3J-sF~ zC5jl$03{tY5ZFkZinJ0Je=1*msoH_eYGPWi2tDmpTI2Dz7y6|Qo!6dS#E8Hun?z1d ze8KEt&}zuh#PoJZ@0`&$K0KFn{c04Ff#;S@hh?2VT-3d!#O_i%iCVvZ#y?R0^uu4X z@$LB`qF5ullAaPl?XwTQmNv?_Mr?Q(XC6A4;t!3^;$bFx8$3^3h7nElI>opxH87=+ z`1(R}z;8D3+|#;Y-q0ij&F2)LnYZjGszc7kC#bs>}EAOtUnt^qg7@GwZc zbhluobKv1GSrqLV9+YgZ%karKUDI}5w4onSH?5wu;@u8j(S60gFWNC4_rCjg4k%2WsUxhKD%L$P5YZw^HJ!>DzZRq$rB7YRud|42gP_{VF~B!cJRk2JC1=Wng# zjj0D`y9UajJEnq6k@8NAl*~6(5I6BZ>!jLaN7%U3Tx-G&|SB1P%@H&?ArJ-eSu z99Yag2sYGhfE0l&neeOx<}gk*j3MPG(@b8GMNIi4Lk>Quj5SJ9B8Gm}BWne%9Jraa z9^%NQz91Xh2I0-wHfonpuIR*l1=z$(CxulMN+mxzraQ5?eM4TMJ&`gbFevZ_26v6! zP|jp}nmM`EF^=Pe3O2-M#|N-Cir^+53Kq#ec$9_}hZ>`JUS*GZ<1X!~*B@f?M`fMW z#G6B{xb&Zs@(NNm9JfR4F+=InYBQJ{@2J4Cs1R zGBzaYI=;*q((-olc8#mfszAy%gp3j&0zdP#W^nczs|k*bUb@HGt-l?pmk)8ctEIk9 z9(@zh@S!mkv9!dF# z3%Y$8so?1SDZJg!wYJ5C4#g5;j>C@cD7<6_P0D@OBMxVQ_ z$SFHha|okEa~RaX^gN!?sJPKb#Ox5Fb`B=itc*aK`~o`OEcfw)LIGf^>fWsyL-fO{ zPf8(I=6f)i+RWxyqs`;ALZ!}KrSMyB6|iN)Gg)P72${`}ReQh@OTNz8poQWZu8VN~ z`RBcV^AU2&x3N~YA~0^}y*fuBb+qg)c57ET#EAk4fvjkY!XbuA-m&M&21y?JS$;v_ zwTzEBK4*03%4h6K@8F#+V7TM|WP!~+Bpq^6e39b*lbCH`iXJC^URY(|4;eC&kF)|u ze?Fyx@%70yhO{NP3P)+d+O)Ag;-#Q$RF@YcJsQa@h22kv*;`CUK@;a#Vk5#PKCSC0 z345swx;F`EsGZZFvhh`mD@#4q)0We=Nr88!LZ|XpcQfWLbmR~C!)|Y1AKF7uUrH^^ zLz}`1$m1-5+eCX3?bun~D9tC_t$D>ESwCO16SVfs*bil!mbV4mt`vTpLMc%{ImXib zT;%EOHmxmB`0VUIsC0gT4uwCT^H`+yn6urx!-&x<&@@TR@%|dX9L3-+5KEsNEJyT3 zU0Rk9LtAxY)ja8iai3AzC9X;=?hI%=RbkONaimx)YZ04;yu2rRVZk%+K%nW_yAIw< zISWRgJ+*cJ+>f}9p(#OLY(+v;fv>_deR+oS4M))DvG@&eIu-09og_#1K$oHlK0wth z9L7|k0)YW98aZ3(Ao=0_$zjDRR0DMzsPO~TEym8J*hZw^*A&Z!{l4Zudi*+N3=`jv z(iuxaJe3okU-QWLsxu3KXljk*xa=)DR z1xWr+4Q_DAlQ?y?9YV$Eus*A<{$Vz5Ij!u$4ME=^@A6l-c?WWA==4^N>( zyKY0iv?;z+`jQ6ymim2f4aTcv&#iQeufEc3>ts(dq#>kHC1PwAaLr73B3N5mRZ>_K z^!Hp?*TA%%vJfjSd7+b#xpeyxUTws+zv&$l=_)7n0~mAv!q7h@--$*kwfDx@_<<2#)Nn+ zogaTTHZ>`4NoW6>tQM3pxrSb%wn|H)m1f20&MWPvIVf5RBwfvi+#uHfhkZ)ZymZA_ z35Bn=xKyicuJ%!zqY|%IRk5$HJ2DWp4<50PR(jg6n`0@1>XOEH6tsL}zQCc6IH(py z@w|qBDq`!HYOc{LRxCG7)yN|Dkq>9IOl$m#{5DuCuPB4`-d$Pjvdy&T{8->rmc*J( zl7Z^m?p%*qOxmT|O(O1A?J`u|@nnrVN9ZAcs3Oui*_)t{cb@rqI|o_(`Hjp;Cs)Yl znhmv7iLOE?bK8}(6HaRGafp%MAY@M;2pU9n47Hg}7gKX29@EtC*PN-<&~teqw)@)5 z1MNFC&5c%pl@7hwR8kJNuC?$D%zSvznajG-yFybKnOW_K6*rw?K)LAJxWmNw*Nyb+9EnrDgpvv-Wy`meqSOb% zs%2lC%Z5oyNqI(9g}YM`RZX0GR!J}Oe1P(ibi`Z;?!)@jhK!KkRD995sG%M>#!pa- zoY6o}yj+lOZ(5aCBQcnhGF<;r9O{}H9kE^R9vusgpwW%W>_ASO$w3{@C9V=6m|eN* z46TWJ?pJl>Hibr;O@PWSO~9=MYia{^fw={&oDO>%;sgf2O%`k{e+?()yy4hzkC{pT&CmKT4-XHGu)kYm7gU2`keOZ;_sX~?zTEQz)xSU) ziHoLa+XecF-0j_@!xa(O+aQedn?JTM+B-vKCZlXO{!E2*w;j}`1 zaZ1|L*>;&mOJcDP==HEW=-MI@TC%pWfvE0ZaB@KIXhx%C63 z8h&McHMULKNv^UO=>k$_G@ZC#s0}KFUZ zuhlFTofgF==QUY>bRGySStW$cZZZ4smtWS5zqKA3v6IYo?UhE04_NTsc!^mkNqE(rr(Ws`$&l!exZOx^S1h1iFa*c5`d-?N=55UCdn+ToB9vx*N z%KDlLBl6r|vo-|R-&k{*$KL&`YKi=BiW0IhX;2lM}NCF{G4a<6ZzS z(pG(4c;S{ajQAsr5dHrG$=CZ4P+hM68qwtI#F{I63o1UEXabdJ<)I2>Kb}&(t(R1e zvo^F_DL>_+_*V4YBpgFEt!hpE2Av50X%!NJ?LE2tbKd zOx*5gWZq3RRFdf$=V`-!r4w(YI$Y{AT5=5OB$~lOj5QfX!hQI1!I)GcdSQr~X3xd4-L9{g|lUHqorDH?CehwVy>=`T4}- zoa_}fP|>1uu>A6=WDaMtt+Ln2vGb9n?nPvDFZcN$R!>Z#3o7$CKYjb5 z)=f_Ub z-x081#RmD|!tMD(O+z9hEBg#+SFOxY-O8`B2o=~8XiO4#e2B$|v(*1LPnTo{X0BWX z=L#--X|_nCZotOEbQi?MH5eNx0uHr~nyJ6&^OTDK)dU z9;ymd@|0=U$k_kwjt$~kuki{UpHKCGwjjK9b6@cWW$?WQR+8e>%HMYDhwM>e&t#5UwS=&D?% z>*{{gVdt~>Tv?5asN(Op*ZF>Xb6h8SpMdx;)n168zm5CO<}Q#rV3lx4_FbpjJ#!ri2 zD$Mng%H>kAZcgd5Pwy0jYM1==-&g_CTj25vmG@!@6!_P)@GF=oc9*ERYxO&EUiD4u#*FaC7GEHgVMsU0xz_l7`CoWBV_;d-~kQtu?P!9!wS5 zY5Ds0PA`jm@apczr+K-%u3p;+sZM8oo0S9`fD>u!>uo_=oRC$OnXwzj)sdIxm?0*n zZQJEATMNsSxy_mJkh;J|AJ2wpj|sFVVX{ovCe+jW*XC!E7a(mt=?z~k;;lQi5R4n| zYp|pZp%#RzzIt#92rP`0pZ(^fodJVMKTD{Cx{@%rAYbF-(K~nP3 zRy#ZDA?H}WhBo1{z1WhZ~}Sr2=0h@X(Ui{gs0f+?MQ8)6c(T2|x+mH$WB*s^fY zX=fX`R)bv_%!=%eT7#Az_L=cC?)0Xtk%h+})DCYNkEs8ha}HGvezj~k?b*;Ti1xzk zou5jW)!I=*AP#5QD8uz3~bEz`YM=8oBz2-?3`*4qs`yJN9b zJ2Qdy^cdXvAy!|2afxPLCuSd~S2Z-bL>a9!%R;dz^K0A@p!ktMQMrWi$#3C|K^ZpCBW$KXI9Kg4Br=0hEZTLI=i5YJLo{q47 zb5K2sGTA=4o{GEe@l~g8Z)=a})AWP|bFOsHssa&*o>Fk+9L9pNX=1f9u%fNho}8Xo zH#_Yn4QaNBT#TLHjsCh61+*jPf&-J;@SHaTODe4tBQnbwm8Tewje=8`!LJyZm3s2% zjSh3c2RGu9(mbGEZW#zDUBKlHVqoB@6?Q>uOz{?3ySxh)Obr$#$CY1vG#nSM5W&4X zoxHN(6od2iES0V!l5%x@L@sqW5$j$4=0%>=&km2KgEMwQe%`nb%yoXVd_WRX z<$_p6H%>me5h0=XHht()e3B?ueuO`@Z#?Q(lbfS7{Jx~;5NR~)rkUph!3FnEP9*qM z+R;7e1(C$+w&^wO_JmWNh_b>$9h)q*f_=C+AaE7qZD zwP6X8dpmb=cw9vhO9}Aut0=9%z5=^27D zR-@JeKe-5=4ON?HAi@-Ofd&-gx4Mdqo2f1Q)C$ucbecqIoAbvbJXWvB-`{4{(A`8= z4!AHqR?5Smr;EL*;A)EZzyfQoYP;ufd(?7d2|=|Ai;oqJQcKCU=+$TyyXL#=*)w0Z zILYM-dPj8S$}*e2|BQMY4HFlnB;CUN4KtCs|F2!Dx-v$QOlE$pp+WMkGynbLG+S0} zl0gR6f}*6GJFnvgk5`tf%y`_d=_ycRG%z4RgVFiA0`~lvE*})BU)y0xuva&)o@iT8 zo(d_~urP!=B5B}_LDiu7T`$YaeEq_w**dFh+O#7CnHHrVMJYo?1=}t^mHVl&)pA4m&4^|K%5B)vaXX2JqKjN+L3B)yWBY@Sln zLV1LP?OsyBk513tJ&Rqifj@ssUAb4Tm!)d;4v4W8v~r>)@c|5PL!lMn#4xG+qkV=U;u04T(DhV7r{NR}l{J8j&o*#*JhuBT~H_GepGtai% zjeq{}70goy1_>(IX|8d$84D-bYg${5URW3XcU0_L$C-LObl?(X&6(KWX+=7GLS3g0yHS=Np#r zKjK8`S2;QYdf9O3&zQDE!FLwPoUFwdLy5C+jZEZ$Yvg==Ynu%Wn){`usA|02*-<&F zvvFPP7mzUIV57c7dfcF1D3xeUn21#H-Sv-(TDd!SwOeVpdCvbIM#wASheZg-#liYr zSObH|@(cj4f?RV7;w%6JZ&IvRrsUY5K-9Q9lme5gFH@;1+f`iB2e5^6$;q~X{%-2Z z&CxyCC$zX2%ABc!danTiknw79qQZM<=|UKM1Offa8OgeCp~|;#U!Eb;8UeF)Ktu~v z*UA*Aar+PpZjnGmZ!l5ieU>r1)y++qrtOwLYfVW+li3|Cn}W0a4Wd05%3PfUN1?6; zsEL*A(;{Cf1Ye?Sjp)MW~UelwaCBN5XFt zO?tbF?ULet+#gDTN>Pq(ep1Fk5Q>eu!nv%*g!BG<-Z6y@Ks9&qp{hwVwJoluNFe#r zb^!cbqdNq0#L-i8#t4Krq7aoE^sf`9L<0rzFdpudoaX(wHiq3kp8*>NFj9eNr5Iuhg{J)4w<)K0I^2wn&i zIUEci@|&Uo$cmW|ZoctAT<3(7B9aV>=r4p+bzjAaY0hzSJ?;%tToe;ZS3F*%FqI9& zNXZNoA_T3yHCbk@7Ik8t6p)@2Y`m|?2K6WWgWMb!kbWi^%oOaFIKofDxp;QwR)AD1 z;n<+L=!_WT?w+(DtQhk3eDDV08?RHM$tIrZ5o8z|o5wno#nA>RulT;Ie0OuT(4ac* z8A-ziN>DKaxC4@%o6|VtR8UQ;XSyY#n5y2syDi?<${(&lR1vfhOT{Q(`0h3ReCai*VL3blhpWrPgH(( zm`p=;CW;4X;v>?_vt|^$um{wkd#Jd|9%3%Ghk?eMX|DZ|Pxo$z&1BG&^h;5RVRl%G zKq`7NLnJ;OeXt4}i=A~rDWLF# zH@UX;+|zNrj6?hCTywz(h;L7dl&-#@*?n`Nq)EH*uzU&ZeyT_6_bx%}q-!!mtn-!< zhr-pP#9>8sJ7nSptgQq{Z=w}er$)sHhD*#|hIMS(CmPs|L$A#rRXK5K$;NJ zR-#cfhurM}#U>NWa}cf`I*)>Ydnokf!dREYz7Z}wBRyt>X6U|cZL>Ej(PZ@VUdsy3 z2Jt{B8Q*laCR_TicPb_62=D$^FPC}(X1$GjyJz1smE>lSE;RuWSEIEH(qFl@ zsPYjQ%3^9Rw^Cy??wK_|12)<`dYpEnKEFi-_3DuVzA%Ht%Tq{sw2_6Cvd=`5))V~6 z-N=x^NIt3ioP37N_>8SS6__yR9%t>7v7~8`Fe%ym+VI*oiD;mUvy$EGC9kot2dVbS zlDC%Nb-u`JYV;{1z)PlK7HOlPgd_GLKq8QF%Lyd0D|QL@Clj#>{csfHH@{R7cUXLW zs8bM&;Kg#z8+ks|9`QlkU1l-K*Eg%K;fxKl&Uo;rKs_F=f!B!?$g$~4*r<~ms|9Q1 zh|CC5H&@%v#7!~+m%@dJs8z{WgOsCJbe%3kd~-w}lChFQP^D-2F}^mug4WI(r^BY# z6|XNtf1QiG8hc(Z1Z}s%q3X3$skA8eN>wOzttjY9^(6Vv0CMb5 zi#_PrlD&s6qpM~rfiAd%xCGj&X@T$ZRzAnGahuQ%Ya3&m5)Fa4`Z^r4nhiSD_GZP( zB=X(f&wODQU_T470+k#O_RpgsoPn&=%PR}GIhEOn@{uHPG6}x7OebWt$vH2R&s{ly z8PBT%e?6*I!{e?sGup#75cP47F~Ae)V7VP(oDBtorwFjbE`|mQdBPyNvc}1swn)nv z#jt|;)Kgwv$zpfDT1ewir))s*0EIwh1~A@m^}Do)0;)}*M$wT?r?T3IyAbs_H3wMJ zo2M#(w``9JuVJ>sQG&6%)KfJQT^!p(WEtWcOk97nJX+?kSw*uVOQPALB{n=a?YBd`M6hSa9{aE{O8+&-nN$Jrl8+!(rHTfPKS!K@|pDwZ_{_5P_FF<^sL7# zCeehC%>dhi#Y;!34b|F!RxMm;r90%<`;BgbAjWQeEdc=(I7$vnn>j7b&Yck+e!eP2 zdAhK)FAjv~Ot(=|jnIOsh0(Wi4>+)?9(GUc_Jkgf!-w(UCF0wdu@GvooOOKk# zAy>rwkgo`KTQv@zZ#!4E(l`BiHRXW{H%Ik{r~TB1Z2|8sS{Myd)swDe-$MCu{f? zt|gQjJl+Q{Rh&iNoI}Y|G|;2~GbH=3?N%6k_j9hpk7i&F<&|SqC|45<=~Um@ucwZj zj%!%h96A_5y}jfS1RQ47gR%NTeTH2mTt=%{;No3S;eqhK{N$Z2DW)uWZImINFZzt+(5y$>G7}a1OY}s38r7fRmP?lEcYV)w zF#fdv$e7ZkZuzbr%%% zfOS^JwGV*%asLvD_4&<@+RmcD_uP>XJ%(0pzFfF^F3ITysIRV6cRn{?3?sP_RLET} z6`3b|p;k{!ainabo(nlf^W~zZDhoq32*%CD2uRU{Vc@m8^7`2Qke;CO8V?tHR-~cp z7(I5^DuEABpU{jqYdWzl<2kSp_HbA}!7Ak`%@mZeNEyCeA}Bw-%$|#b`bwE3hF`f6 zC_4I=m}V}Y*z(03e!~NZ}fe*&hPu20%)nhSk#@uiVbe^RbC)!l3E35K`d5xdIPH(aN4=M z_|UMdZVC%}O(!pLH7;5dPY-s5i!c|{aTZ2Ig!P!0Bl_RTitX3b1QUDp%Y`^lyf(NhA3)NDdM@baB|{YgXkd) z;}BS+WNQBP7~w0@s@6S z==FZp`dUt2@0aL^nd4CI5dcV1!8HH?*lu6Cp^#{_a6np{Z3cEG-{zeK!(TfqPF&tu z>I8Ual^@&_YV|ui*&L?Fo3>g99qZ6(NVg^p8ug-JNnn>LF`+OOcxNKwatebwJ#9#P zL_W#kI+7>|cfhQROUIYq!xkb^EGKr9#kpf`Dz27uZHCxe*k2r0#iZNkTJ-93Ih_uz zI5Cx*wCl}xYf#q{*hNuwq`T!^oM>&d{0yCW1z(ps_vgt!OS;yzX@3!_NK>bRt=9L{vkyIv&Eya(LH_?MkKIGiCO0JlM#qJ>_976xp5kiN`s76cAd`_X6>;liC)XX0ZiWxWqpujv mgkHhB#y*ao@qs@~N~W*%9dQyy6aWdtE%7o z9pB&aUNxbF5EFTj@ML5EVyR>7&u4#ukm<*8bYtuM=EYz7^`oD_{&%qds;xWkh;T8} z8X>Ffe9wuCC(r+p<4^w&Av4Db(ZB8F=H-hxZXx6_`Vh^@b9bNk(nD{%5AE*~GX5v0 zwl|M^AA0LugiL+}$Ev4rKpx|9?KD0le(L-kSAXMoj0K#3o)G%rx!bljH_z|?G9eS} z`JX+%dG#WFi(vx$zl;6Ih0XKZM}FhJ70~lrgb1fD-gfzpr;Q&*-$Qv^pS^f#`{J8k z_oL4fvhpMJzeYIHf$i^dPK;J2n&%{e60R**wwA4_vQ_DL>+y~b&iUiN@1WPwcYWvk zL`z(x_M8q~>GVvqIKNi65RP-t;8yeyq0~WV{dFVTBXonE;bt4prIZ*ixpURd zYPrMZkd#=BPgW{y&*_l)^_a&Ujk-M=KkxM>#JIZ{ixp$PNgrtAvx zB)`S|D$#+0a=p!|<#^B_Ql94ysw4=MQgRTFcGFqC9x`z0T~;&t>*A8+%-K`PN++K0 zbjszurbCuv4l!nMI*+@=l+I4=wE6StXi}%^{Eg2j8jnsJF@F~PY2W!i_vhRvNf#L+ z`^Zyue}}?}nqDf1%N}J3f%jc>-bS^1x$aVz5u?75Zue zD?^Lb!M@2eo$1k>tyBBX2fOy?;ubN-^KEj{yYz;idw1{F)Ft|Jsor*fHJ%FgurZI) zXUU_Gvz~bCF76hYLb7_IPw;!P#ON>vdCkT-%^|@@pZ$!-Xfj7lzE9#Vx9^P60{2(M zMx)gTlGPF7X<=f~Vsm63c#OCBEAR72uUS3$#H){g$>opTI6rvk z{>5QN&C1RQb#UJ#&b|BCD=w?UB*>L&tqL7Z6}grFA?SVS;oO`rX4ly}xzG7iH�r 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

    8B8l z?!)~>g1Rp$qa2&ZaUJeips(HeA>$)>SimPw|A|b|eeZvJf`C3ri13Uz(LUBmAP5c0a#7P(|Q@`hXf9wg)+ zE#$lZuy<(w#Mp6CCy{T-d}ODKtaIO{G(yN5jHomp<&7Hs4 z`SYDW+xf=MpX@yM&4D0WGf27&PT3wAsq=J944hj#ZO%{F$vjrIKW{8|J= zT-%H^b@OW*I1*v!bgWfnt?Gt<13#YNZ_-?&p)|?-+IFK+X!7~USfnW=HbIa$GQZXo zmEoqO41@eelWr86LS6w~k>l6JW5W@4ruA_4jq_t$O+FjN@sY^2$Ti&idYhQQunw$k z%=h`mD7jN4dLmPEjTEs)(b zjci1&ZA6+TFs;zEQlZ&)Q#{nwEM>2Y)H${W z7-B+bzm+pTdAcJXsi^dp(T|S(q(uWLUY0y|oVcDAK!QofuIk#t(vD_L2=K z_GVY1S;-gOeT8QAKkEu5+(P#nL_%DNNHH?Oj2En&x^`_snE+U<0oDPFu;?nKP6wXf z1(b2YK=5Df($tRRwyzbHNTlx??$!Om=}574kEVcoqF1E3!R)<$VC@+$!bkkia7o_R z7-kr#0h;1@c%m{6>w`33Y)Y_unrneQH?nbDY4RhR#{om!$fh6djRtJ@rPpkNBmlEA zzS-qh@Pu)U3mf$*xZle>1cWfK6aWC=y$FQ@w7-NB+;I~ZCsZQv4Nt>R?uBPTBYGGQ zB6zx(+~tAN2iEkehnpH0cqB5eOt6PBY4xcrV*}XbC|O!7M*83z8O6H?akCd#E+w!x zg;O`ZZ%a@=sazY%u4F)Cq1nGn!N{IyHkf;U=@9osIgnQ(MaH#p0CQiXc)ds+FhDFO z+dT|vzHqpH^RU|cW%~@}n_aoRGcUU7aK71{y9OO%%5n{6`4bO@Sc=UeoKm!3p+>%?#t(82E}G zAAr{F(lDE6>e!qCTleLkCS(+iIW#D1?9V?<)g$w0s7DU4K4Unw!1}PpBJ0B%ORNuT zEVDjCXsob4tg*`au*Mqe!x|0NX9SIP)`v9?vOcVFi1lHO!>rFZ8b??k);P-gu*L@K z!y22c&oCOtSRdBdVtrWSIP1e2+xceCO*WrkJIw(cKB=|_(K@B-6Ast0b2{Jbz1jN= z+fjR;Ra>n0Ikm;Qp3gV?Zg#!EcGRx7sV&y^qS|6zZ_hXTZ+5-JcGRwy)fVe|huUIY zujHS>+n9U7({Qe-*>3Xj`Kx;_r+}ZW{RH{l1q3Se^+4uU_;wIDPB@qRYqDuJgx7uP52wCp8b^ry%N&Z6U-$ z7X;CbXN($Z$bN$EJkk`Ngtr*IE*>9MUDHdy=E*!e#Qg?VbH0y$4H-uPmG{>Eb?j$a z`|4#{EMh`dBWSVrUVK_@%)?->)y4_}^6R^8o=lU^@3sYk3i57S#KPZ!-L`bgaU*wz zuI(N-kxu@zWQ5#?1?6|+si(6eG>%-rb{lny2$@pbMWXvp@7#{Lv%Nca;mR32eG^wl$Pn(fNsi-==Rw&F+DmA! zVb%XQ=-eb{LFE;+7I5?=TIX==63*R*tM5>^mvDR=cj`c`j8WaA-v5>EQ+UapUipbH z?YV-dTvGYLo*lun*z<}Q+5a0~8Rvdh&NBJ*p(4co6~UoRjQJEfgY8x9-v)Y4k^#u? z|33-5_=#tC<+S-CDc$vN)GPCx>5>i_ za0++4{GzKDG1?P&%3Z4bnY>#)&SA^+@dEm{o_Gaqrcam9hf&4)E<#slvE2{-XMJy_ zYxYHVVA6T1q}#!3_PLd^7e6-ws_w++w5p%S@Xen30$(=OCk~MV*fJUR;9kuB?f^YK znAa(R`Ylj=8vA#kUBrjoYmd_TBF1r{_=`8!Ask;AAdeVqI%Chzd8lz81%#)~9cs*|r=INjDZ)W)`B<+i6rikmWdy&@(&C|w`4MmZ4Dg&09L{u zS^o#W%l_)O8N0ds$lTFCGT9HffQjKX%pA;Ze|Y`?09X_N0F$8J`#537+RAbK2oAMWptR(5o8f2KpIq>&a@Si+5P|O=pHcZ%L#wR8?+_NrxMkXc* zaG9C6O+VCKrBNuN{CZokx4m{f^GYi~5zBsjgOB+GAiSwbpMX*a81YAx2NZTZwF z3EqwS=>}|rA+GSfsNcYxbOu1R3Eq;_LyTh=F(je_#v|B)}|P$0ghE zE<|%p&hv%DM{M67TIa>DykD_V?dj>7snhLPvJOHNe;>D0Sg0VI3BD9lo*_%ZFGm1i z{~*32eGz;JECLwoAh*_T)l~*>g5u38UO|OHmVh}0rrU`?%;9QL0h4vKK1dAyV6dGq z9=U5ksHPbZxTQE3b3QHe&zeuH?3llJ9^tMA@GsMou*{3&6_XTEa3;t%7NwNym8@ju z>)gjqux0NCFiFOp?1~j@EhSlpS;v}nl*lL&v1vMQ%qs$>_mXJ8Aitgd)S)MEl5tka z!ZF`VzfUHV(``Rhv1z$fbD7~w4j2FCh|se4VG${&&)T|O7+e~=+G|gcSwewqe2(QA zClw1@5cDeJY+!6z!^At&t0^XLjLke1wzt3=8zv){RwVm%s_Q+@&Ck`w?Ty#1j6?g5 z<4CtcZk!uTA6V*`ExL2rHd~Mm>>n2a^)K9%->1zOo^)NP38DL?2tR5Oz4@&hLBL_U z4|Sr59~i#ZSJl5R+4R69abwYj#dPTkT9JXjk(yKIG;3NZvF8g4;r-w!1OuP{S=!F; z;z_q?gg_UMV#x+qMgZdtgz!0UzpC@{7tQ1%&ZHRLdy_w#Z#cS7`Rzp_{Sj(5>qC<7 z<&&B1;Z-w<=+eFx*Y|k+@l>j~`Pe-0jd<^N5r!aQw0kyCo_c~Vd=%vkt*|E0g?h4t zQBMfJHb4#*O5np0&kt1l04qwHK9qE@qfxGT)`SyIT+6y6B~#6`T}+v%emKC@k8)^0 zNJB2QIglS~PZ>7{*3-G&Y~fg*=!K+s)vRxIjV!zVwd)B@Z+qCGKyy zPtweRuPN8LLVtm@0;Fsp|3Cvg1%M!Q&Z#EUPT{6yn#EF5h~h7+sDIfq$a906}|j-C2K{EO#aMF69$=zG8=MJ+V`L zzVz`2>O(w(z#kmjn}&D3yIO>FbdI60d5-{i8XgPh0|-QBqWslu6s;|_#)W+?4m{Tc zA-9>f(4hJQKu?JCDNh&6Y5~v+%ig63Ije7(JxX?GuYy&5-&l~S`)8n05`QHv zE40AOz?hTGJ8t@7D$S)!MMDqMbwZ1F_&#L6UT|J3Z1bp{bnqJ{=yMSMv4OuuOa=k^ z`9r=jUIg2fZ!{)QMHPbjUttR1Gmx*~P{CSYw}Jd?AIc>mg1nW4b_=oV16GP2fs#nX z*mk~A{+X>T_vIL_;Po~jH~LSOS2}W!yfw-e8x6{n zXlxGHs#V7+)Hd90mkmW-b8^q843CSqBt=9;PXw=3Ymng7NYF5+oa*nh9m)3)U8>Vh z$&&9ggxY)=acs(jOM{pi`TO5L#qC@JAa48vf;Sbm5>!bFaYsDowYilT|H2+kpcxI+ITboLQo+`R-`zmLEm54 zNv6dRY(AyW_kHmEhwYyYn=D-2F1IV^=9RY2bUjV%j7$oSy?NSf+eSjAsp$0PU3$w~ z{i9mS!BKzu@7wzQa6SQ${-iH1;sS`k_;awC%oV(lga#I)@#x#vmn@stmw&!`9!1qY z3kO^Mlt$c-dEgLZXd|#KZB7Whc7%RnPBR+ppKqnjMbazF)a-eW{KJBj8$7K%Z2CL}R(J_W*ZxqGU~@9WCFN z+Q;;KJstUV`&bN!T9G<3AbkJq>pFjuL3YSqPG(SDl3q6@jA!8BUU)E|_)$vKPfW0} zSy`v#KO_QC+ITRag}pPqz;rC<|N1LnIaIAVjJ29hLr?R%KIz%b%Cr1{GS=yT-p^^t z*1Qk%arZtSGhqO#1l|YEhv{TvcB*A&+(UmLo`M!>cI z73AEQdXhlIR2AgpTaJ)x{j2|EYCXba&ZC7rU#rK~G9{T_EARK5_rRG-4NRP;o7H9G zb-c3PVxoqPm=*;- zBH|(#Dj*!Vt(Qn73qWMV94LPGWDqUj0E{yDM=;1GiW8O=GzgA4=C&8+qJB3f$Lg-z z^4s}2*ZcHzwO}S8<+r1k#R1QzX)QfLEqPXz!dvn5hW9T9?uRD@&wWclzD3L~p{fep z511Fy4@(1JIR~RJHPmtZ^dVfU6JH z(})O->sDA9f>fY!$s)9*)-hGdC1l)m#^k-J13L;E;EtdJa17;4XTedt(H!bPuQesE@e_7V_ldzj<+!zsG7d=nT&a((F@<}+oEIC`Be3_+8m$fq2#tH5gVXVbtLVyqZ*bu zHo8Rjk`gq=T;_G!#pvw}72K_W#!X$_j4vux5q+?M6>*AQ;hcAjNT^6bWwJr0NSs?> zkbsC>5LhFmfh!O-fhq?$NFL-DYyYtDuw?)XkwphM$JEXGM*%2fMsF;nD|V!`v9*uu z;mL}0_6N4 zX#7STLi~U`7emx<5Poz5ZKj?tu-tW=(d8EW7Eh%N8`piAx3c$-_9|MfE+EZalqvr< z*N5cy{_?QNqNzf9G6>LLNUJI#gE3F^70m^m9jhGYdGuqA;uy!rwOzl`nlHVNLq(+Z zkgSvXj9iV0-8IqGN2s=BH9c|oy==(0*Kk7+=Ae(8ysA>|$lTq{M8EoC@ZXp)fhXl;gAtRZfqFs&5hqtcq380YrOvn{r_X&#waP=ps^g`}Su#nx;;OwL{bvRSf`er(6JojlP)i|KTk^NLg= zDI+}NIP|E$af;_}`?*`=OxR~rRci299kV4BH7#>uMoSzDQK}|HI3&ZRT#rG3vf$)u z(zcraT2gf=k$f!8RV(A5n1K4~g!zSZ>6;oJyE29QfIA0ih5LXu!+{0rRQU9?A1 zzBF_h=~CcNaD@%MB?HE5n1ony5=%zX=dHXfsYF^&Kv*p7<_UW|njG}+T3fd@`Mva+ zY@VH!%&gw$39<RrnG-~^zb!> zk*t$)?q1=^_Fub$$^Lt_urrE3)`5S1|D(}|UogI(dpL;^I?dA3xYoI}#Ki5KaC!_< zWpVFu;f0SGX!Eqpb%aYV-#o`o_JIAzpiQ~Yz;!kcd=>l^1RQ{T{+5wDYdcwaJPB<-|H-Z=K?$(^aDE->9 zV``jOnh`c$M;ddv(m3nS2(PupjvIZF=wJY#urrPI*;w%}@ZDY<#j{-91WzUl+btB{ zbui(o$j4GQj=|zFyxZV+M$zYnPj~5W_?GDrG~0QS*18IeCstwdzc@e4pNPf-&+qKY z&CroRhYE@Mx(dtU6gSIrK=myvJtIth5 z3acBq@oZt?mZ>!bqZ^M^0mP+bAT;*&eJfa9fx^D~V{OlBg0=RWS679Nb+S*2T6ykN zx?T4^$y_f=T2j}u<1S!a^<7!gFpVfKW8(L^eMIKYh$>i)bT_#gXVW{@ZeNf+UG6?r z3K!@ zFX~0$dxO3?JTQ4f_yFX+Lgp>tSRJOKsIbB!uYZ|Hk~FkwL#hU9U6oPg6O$V3HD zR3BYA4~G5cS|HqjBnpgM7>Grj15w1FNB%PTm5-od4(8E{3tgUZSOr!+|2jIc&KK?+ zJqIy{kmLi7m;Eh08r1QsYyrMl=qSn6+s%^Jo$hF2gKtVB3yazYuB0ClOehqd2nF+p>LidQsvK4XH4xMeAgz2+qelp9SUoJlsAa(_1;&~i zT`sc2{f=pvPi081f}rBUbBeHlSsvSm9h$q6OjoChAS(}sobx{4H*VG8nzCAEkvrdP zhSID?%9`rwX3BM8Y`JwAJ>Z9Ec2%)Vau*(=Yq$Lq5{qm{sA&fGt)%8k9R_n{(El)= zeuF{UHXueKWK4E|?ZNSZcVQgXyWZIJ2j0dLBsa800!o62QwxrV2SYSs=*9)WI1Iv?z>a&=xBomUoc^0&Z>QfYK?vJ|mn5w2s&!QDvC+%gubM17Fv1q{_@(2-VKd@-JV!>pJHo zD>HfjK8yl#DFrtE`;o80JZfbprYEJ$@`yOD)q?K#SlPhuCq--OczcE^tMSNkFI=iz6X$ zys!htdyTxWr55q{FZUxuZcc$lP|YW(JhPeR+MeT?Lv1|9O3nirLUam-B!#Lnd0Vj; zv*uZkp^@RLvI(r}+H31Q&(!%_jLrCqL$%k5=V1`5RoKbskXEe=cp}_iISyu94NqQP zdqB?qIMgh0&<_(epGBpqD1CXTad{8)($;L$q~NrXtN(}!4q$v5PU5EVx|X^6LhuUm zbFMrp7H?D8O?=!py3BKBK)s{mp7v@UF;%$6*jF&29o=A^U`VJzvNjzM?o_&N9FQDS5`v^8^!UwjOJd5rg<(DxTmK^-B&3$OP1Wa?=f zK`@7hXkTLZR$krWh+#}8%I%*-upw-K0g8wLb>Db=XE?lI)5)CpKA)@eIM!NxHE2xf zKSyJz(_Ts6htp0Z<~#OMOHkFsFjY9H3OVy+q+oB^Y5@W+<7|tQv(x4`WsH2(*$s&_ zg&XBvR^@0&o0ThxE?0n5LgJ8J{lDDyispLyx-3YLp*Sjlc=>Oi) zeT;T#zkKkH!(ElL=S#YKt(>jO#)AuA`m0?BgC#$wS+!<-mOu@R2#WBPj@^gm4gDcW zVG|I~-H?2*jRo#SXq3tI;!PCT$S1LH;=Bu6j`(1l5e2A!VUMLYeE=whe!%Z|hUDib z9iaPcSOoZz$X5Dne0)1wm%Uo#`09NcD<@Ad_#b!E!F?>VAW zni$#(?ZPiE8`qf2qd;WYC5kPSl7gEL>}-@8dzoSJo;$?GL-fmsnLc}!q_V=ul`g0J zBFD65NbsK?L}8m+SWc)K z-Um~S>J+tR!0JZB&HUG~nU?!DVYzysL<p~Zo1`mfimmh zMgE)hWzEALmjqf^J^34=DxQyjW{whjun>~b0)ECHnC0{u_UjtkpB9t_wA0`4ZGIba z!j)o}gs9eNuMb*lcl4kZC^yDTm0oyb!|QLc0G3hWOIh!k-WduGaib&-3$`9mpEgck zWa0tYE>tUrPs!Pq=X94fjLaNX3+zy_(Jwu6WN{I6%3#_(CFxwg>S1BGR_|ga9BbUM zw!$J9ix?$TaRzFQNgyD>7KT=}@8%&4Vu`)B4wgh_c9kV+iR>UZLG9s!bgNP$BUXY} z1zLvmn>!te230oqb@7@O)P9teAW*asjtj7~UT&^gjz4YH#_$4-3&0|<>w*3m)Fjvp z&M{soh33&z-MD?sy-Z=GuLTo-C@B(_-_t0d}>|AP%q6mHnM)i*RSA>~Z<7K}ZmLlf3X==N8s*5{tbmtW<$zrrRKZCXsI zn=9mFe&3Pxal(Ts)+BFe09EaX;3TrOq#V{lGmdZEnma7mG^|ui`GzoE-75Jog(qTVv}~Oyqu#MX5|S z9J3=knK%;~{kQ)5^ppsFXwR?eR@lRj&t$mcNB9>Dia)~_sDFAgxGVCS0ECzh>hH_z^D*U5qH9{UDgVmkzOIeDh_`vLW`e!CUe5<*3MSg zmphsFjfFuDjo6aH?@UZT)>R?O;ew6VSr*##3}m~yH{7A4nKKE}MC!D)HQ!R3owkl# zyX`pV*VKgC6e`-523ts@Wx2t+mW<%j*w4d@?XoeDw*}iLXfs!$8+Gw|;ufHPacSBZ zvss!JD7y5tAvbh%`S$p+z#{H4tKdANL+OChyCM^@_b&-Tm&X^x+7dTRWtUjkVK=aF zvvbW&&Dq4wGyy^|MUW-{x0ZEd1{I0~fJ4 zdsWPNz>xmz=rHZhmjWmoT;Qmfct@P#7b$=+d-1MF27)ftnzP3TjmInkDd^f;b^B++ z!1dWdjl!A#Zai<%G!l0~(X?4nmG|{VMLgXNZpzE>GV9yw@;;H(la?Nauah+K%1x8p zUei}^GC#*E*VdwsKo}7$C{;VY@S|&!AWlue8lIqw4@Seh`7ND?DXw_k-i!7Tpdms;m@gv3c^MPn?f^@uu0U%=Z*_jSnp9m zPXN$?M+1EdlZj+AfdwlD&Ur#SSkfd(N3Vi{86`kay*QHw{ho(ytDfSS#cEDbh45V#`Q+#GYGQMkL6T6Hzn)~Jbj>nV=%#RIt6 znXaSXidzoXGKqntA;Z2!6kth{vuubG+(aM5?-j4bp#q{35Ulfq#64fM;6RNY#te)w z5eUOzf*&ZTXAp$9mK}-=99;zAf0)eNQUWq4ifh-r^*KhEwQK`gSq^@aBfuNLyZ$-%f7a3ZehC1Rr`j%DRN_4Gg3D@ z=q=K!E=zI-n^)5^m8}d#-ea9e~+e-x*ea zIXHjtU6yL&W@h`+=dBbuCdf$_zPK%{OQUUqf42aMk5 zB)DgeLlNqaju~mB^X|B!v`X*eg!uD$hS)Dd)?;lxR*wOEqp&z#Dmm7{+4|O^$Bbo$ zxuao%31a)IOZa6aqU}jZSD$}|OvRZ5FSkoWBEc#B+Nzg9QeKl?cIEC|b24xIalD); zT@R0lPRIc0Q3yYwuzGj2crb(jcGp~c;l|=BVgS9qR9zF~Z^Vdm>+quVc4Ctbe^z1U zC|=ln$bj%p2DNlZ8X5d!jJSF|P+&Uf&R(0A3qX|UGEzs8EAr4KAhr?NryOF?O3UNs zi@CIgO+5}@Gy8H%295=%*+wN|t@>@kqpFrbllR?=Gh%=1JHI}=&m`w9@e7iPI?4E5 z+1*R1QRiZ&1A4dflf$P-K#?6HCvCBhh)d%+gb$s{8}BIXyPBz;vy*SLrWL|u>JRut zbIfdZW**#N4LF`$i%wmJ&9!wYf7Rq+JeI2%#HZHCT4w$kj3oq=VZluWX6o{8UaXvL zECoLI`lGyQVC7k3eZ=~Arkt!C!pF%RPS+x#lw-gm#ZH~60d05EDB7?mCm(;Jhd40? z^%iDCNPa42@~~BLGs>i~yle<~R(EaGwUpoG8HHn9I%pc#@n$-9pk!%K0TOPN8Hyu+ zR3A!b68SloE&z;F;Ez0vf{7LYD3Ux25ww8*#%tc%3-tYvnURg>Kqcw6Z6K>L>6Fzx ziGlROZ-av}h~Tu7rb0*QJSgu(6Chtdx4?elC~h)Lqf zpw%nTBl>mi@WTc~idP-X{$BQnFprrLGCgVA``uY+7vgfp&A-<>k7Q^` z3h_-@JKYiI#5UVTfU($@h2TgGTN&a`dw5JB&h5uzNQs*4&Be3MIs-wDhB~2?6u9;h z0@9=WF*s2CkQ4xn!*ij%AiKB>Kud$U;D~1pQ)0-A|L9)ecvm=F8hf4Jw@){7maOd$ zWL_SZyEi}MCp;yLi$G*qb7g9{3vcx_S*{#PI*3TG;_2j0>E#mwJr?CgzJgi!?v&g- zS`i=gk4sBP`EYL_rDM--FfziOx(Mm?y-QLXJuWIdEh%jf#K!Nbj_Wg=z?Z~NrAfZ( z;yGhdf`ijl&W6bbqCTm6+r><&*4!_=O7n&eurZv8f^XjCEreix z5z7>;JGfu7ri9s^muw`))Ah=g>X}b}wCuOszd^Jv|9zgk-`;;64@8d?;@qO#T+d#k zoPMcd$9J7VmpZQbeMddf_?6{vf6IT{f7WE&gw+Ra2Yf^NX>U`cUYnq%&HqyLC#ikT z5DhRFSf&$(o_b)T>6NxxI2WvfK>;$(sXM)@M%l|8ye_k5tnOihH1A0qBUwIfNP*e{ z-^XWvcEDe1&6bO_($L{%zptLT@!?JjGK${h?ol4SR~!EcQ~BLhU7qh}hEF=Emet%0|(<`K~Fk7QIUJD^v4&SkbXx=Y0-d zcPHrm{mkp}Vqu(vcAZxW2j`H1@PnoA)dzuIwf=Pj>4LT@BRI@J532cE*U2GN7%>7F z-3Oyz14dZeKSsc9R4bD^`*a%Kohx>v5!Ndij zM7XNBpHSDUNITYp8LVq@K=4;i5Bp(!YQWG66DRBKJ@bt^e%`CbXm`E)+a=U!Ich3! zzJFC{Kn_KlvBy!q1UmI!eOIkQzpg!2<$?0#x%hxfF(#hMa`x3< z0(zJ21=AT7M6Pm9Giy)IVcKez(5O*}+RNt3X;=+fqxryma@mw)rqzO&BH7%c!`8_{{hv{PRn?*KAj(M7$y z?G>3`P2xsES*eboa)W;MN@M7>ae!{U%FkYx20B4VwT9urm6_*JI*kB_YuFayW0)IV zdzHOJSbCT$Y;Y4Z6+mYzn$NF0SN6N zF<;kJonN&76U?-16=NH4+RRv9?k($u81I&nYqRt^xtytaM-_0!&Mj7)=W!r3g#7g{ z`C%pdHTKPAH-;LDg{!4M9j)3HV8y7~9!t$vZXE<&?veV=U;Be^PQ1GWI-Yk;2h;X+ ztrFzFaGQ438Qtdu>h_~TyX-KAq3I}BtI(b4rz{g+q)^m#`PWfv)MI0)Gd}k9%IEn{ zLHnZ>mI?=CjEkun%%DYbJ1y?e)L(WtSIoBp07${(h`S-E;Hb9lB==!i)^A z-M%%?7%6eG-}`W%(||HoLHNNl7?E{Gs9o|vOY&#w$6p|E>RP)S>$xP$i+ zUuvi2vXij|)1uHV*vAzF&rQh&h)Zl`;ohBTU}9ZHT`xb@K8YIBoV4Ut_rD*$kiASs zb?_B{fOCWRgVY(^tT=kaxPmxJg+JV;vO` zneHb)lFTyY!T2z()0uTG+Z5y|2h2#H`AyFkq6g1MDqOOiF1k&XUX;;`sjiuRmnOK7 zlEtxy%bLS~fhTUl$!#o7{HYWSxdb`QSqO|~!52A-AE5hN@UPL0`>nxrX9A~1&xJC2 zz}IxQTK|2|)eB0X7w-e>P5tFt0D_+m%1~0Av^@=Fm?Y*((LgnIKy&Upy1hM@r7M_- zD2dTQXh?KR2n_*Bq+k4q`^>98*4kk(AlVYVz#^L^$Pm80sHAf zW_cik!)IT(Z2X0~P0rBqoUa-~JXqV|Q7b^1B{MJN1K7LVt}baUfVMbZQ~MLSEs>b8!$Q!}TY3l`R+=9!b%CCwqz zt<=C_-xB@+fnSG!3rt@h^yrBSSPUOvgv5&ZHYa{%yB5bTvdUw!~IrJIu`3UQsLTu6{_ z?FF(-T~@R+ZJaqZX*$SU4R-u= zyx+ecr21UwKQ{Q;{>2rmUo=SYuzDZ{5QO;wbO?n!Vzz&+(qiJF#umfPM=bKupC-XF zW*+Lny=m>k_jc}ds*C!b&0!aBC|4GjdLB#H6iv*y;rg=De++I`-zKeI2$za8At^_6 zzCrYSdO4n49$WYwpK=`%VVMkgyaIpp5K4I|P-51F`;$G;W1EeVt4=^5H1>GN9On+R zi$3NGQwyJ_MMnCaLOwNjvh5D!QC}#pIn|IrG}BK&;7-S=o4o*w@EEgaLe+e zULED2|Ji5m{E(iNq}k!1qZ6BXxF1Nr5k7nrK*YJF!A55g8)Rq$2}LJOnV}-DwCKp8 z4Pgf+Q>&)+A!vu5%v_NKp1V`SDY8#BM8{9`3(rD2`9EW%MT!1MY#$6I*w}8ZzS~Z` zevJ;~LXzp);Zj+nq2M`-6~zX7p(=G}4*2T1HD2>twY))J+(wb5P1=2>p%cs{!UPSS z7)^;-!{@DT`lrdm*y_J&?Eemcla#jU<3z5E-`HoneCc0OBXTx=*6g_KacF@ig zjnnkW_Iy)(l+Q$ZzB-G`R_u}Z7%-+4;efd#oP#==*Mb%HoB4;5nxlkkRBKEoF%sxC z&QkJMGNTSxJzwG`scWUvWvt|${Do>NvEk3kDR$n^pEtCSe{ZbP;H#IC>zhaz50`jF zR4+IeA*Jo+IxPWAXBIU;VIW|ac3w|(yB>>Y$gyO$Mrt3U5pz3(|K^|t@*@?GyyId2 z62k4}luZ|s_%BW<*PZiC1UN##p!{2?vTQc#**L`CK9m?{<5Zh9xAP|R%ao(nF7DS} z1F0JSSYIW&f&^1taDh-sKwuU2yIMtuc5}^m`X@!_Cg>ce4}AqzdpsW1^HNm7zs#Fy z2m3Axia3h*0p$g?t^uJNe`=BA!~%+`r1oe<1>sm6Mt7p1DI43VJE&xVXD_DT&M=-JAQ<@x)|2qpa+sQuex%y8Jn22cXfs%N*lTFd2_>hHPqz*~WVp7oO|0?SEWp60Kg$lLB_G z&d)*~>hHYbktm3B1-k8WtC#*Y*v^--#JS`lkb>iEDLmHH8*cX8Z0<0hPz2yf;6*J4 z3OvJib0FA0vY~5S#Ys3ecBVoGSD7AAzsscVtOhgXNN6n^L3?V!cLVqWx*^*9yNpAI ztNek{oqSTi&#q&%XS0*d;zgT>Cu=IC<@zuN%i{@Gct9cvL#M4Eu2 ze?qU29U2p61_a#EZaM;8Ct--C^|f=$H!#UN3#^Ye95teG>B1nTEhzGqZd0c?t+zH{ zzVgU0N5AD&<*C%v|Mf6Yl&!wxQ%|QZc=1TC>Z3&&-;J!SVd*;t1=&twT(4e19 zM9h0FH*HLv33}GFEZ{*QpI$?;O{WeEA3#EOLdelhhXLYJDZUJ|!;R+uivQAdJ>Sh7Sp4 zPycN~Q`}}DzsTyvMkg9^(mc`qDg|E!SW-IjD9xQ1Wk!wO=o`jkC2=2^<(Q%8#G`+n zNfeMeqpTSO`QoMSwffa$$Gcx$;u z@qNbXdmP?>bVlE1F4w2TtS`6WanaNsAFtQSfCjg&G_i6`p69lvjxp8Mhgy}5jc*Bn z{Ht*bTUhIl`4kpK@fH6ryLAILJNE|#MM~Z%(6ZM&j00PC;5e?a=!uwu3S(mqy>aBl z=C(;^wRJ$*Pt#20@L?DvPw9IZzp=>x3H?b;S<86`2u%QSF#3Q48v@$5NCH(9nEz?2 z(#J#W~~_QvS-n`7`Mw!@e@s*#w}d?1bYZbdOKW@ zG-*3qaD^#d&;;Exj=t&Ou`RVL>}BAJP1yL$Vf!q+5P^o458 zr{5MHb?E={N(=yj0Fa-|2><{XfD51nxc~HWVbcDm0RYhdPgMt`07(Pc0VM*p1H%FH z0viH*0~Y~zfLhL~nK%qfJLc>8f!f3#3 zz)He)!`Z{bBS;|fAz;CTeVfSmldwsrdQ<^S7$AAEg-5&$3m$dEsG z;eW+rjV_MaDBlrLe0!p`#df`=Yn`sLxq^dJK%q3kIWe2a3}^j_zbD_rn5mBp;0@DI zkMg@9HD#+;w8F#4axfC1C5D%8kn?mT>a9A)K_?sac+l2SrV9CZNYhaz8?m!|Kd~); z%lav=QLn#+G9cO&6|zj1ER7hhUcz<;i$CfTIA#wn9TzpBK5+k_3TNkRnYy2RC*Elc6 zaztut#cgSIilO2Ie!Y(!f%f^)roj!r+&$*O_HapC(W0UC;;y*Lp$(UAKYFi{<-W=^ z*pb{{Ybug?X<8a*r|#@|Rhsdi=_>anp0{l}T4Of9f)l`F&Dg-iz`*P6nqL?-YT=vW zTfcr3L{vc#7|?kPQS-m+M%hCg0Rbri0p(Ga2p}NB2*GB*dkscM2mL{@F)_Db82);~ z>_hx%FJa(dpyV+#S9`JVLmYZYPEZU8DBzF9DtqUgm(5280~Z4z5+J_+_{1Fz01FfZ zfX}F>0YgdxQ8bAp9!Vh0z{<|+lts*}i$ygP-cvhiTj~AxePrY!N+n|yTj;|d`wRzKKWD)Z+ z%~><~dn2n^Y`}t5>xI;<$@rM@c0=dlW`2;oo2If;Qb=^0QhQ&s44iwf(#aPs)d3wv z-~j9PL?>HF*olq0a=oD=XU#H^lug?%(L&An)+^CNhZU5+*$iCZ(c#xo2Yg!rNU!{g z6mJa{oKBP4f;w&{&$mgJ?@)*XrtBDJQ z4I{1t!UgNfDSWJOHm>=C_3%tJRW^0a(BC@to;)TJ0?|eylop)YCUNPT2XRkb8a1K#Sf!|kTt&@5%Ky;WGHm=eM8+0Nrq(_Yjl*<~$J>e> z&hw@BOJvH}*|cJeMwaB}oOp5>M2nGcwU(Yd=6d79M+PvQ@L=#rd5Ai}F39WdJ)rGM zq@^HXtB8Nehf*C<-I7Y&d#wG{iHus);%=WnIe!z6lTS~(za1ayo^#9RS3Q%@6p{@Y zcVuJ@c{2r)Z=d^Pv6+vV76c2g+hu2)e#k*!k{tNjv}ZWh!oOS+Nq_qYz5)y z{GQ3c;kC{?vISSnhFm*-9%BgE9jynt=M<`H!m+F(if13HYXXMsETUzWk;DOa2`2h$ z4V9RPuf?eOIdh!$;T}!grqgZn$Tijw%2iMA3m-!_#5QO&F`facClscr)lY+kDasb0 zcmT@~`2oNbodPbBFg`I{waOJ-IZYM{K$PMnT$Si~4dqSam6<~mUMLo(E@~JNItR*)MT$VC}=k2yTQHyv6zo@eCLzKY`B&bq1_fxx@_pQ1{ zU#?~zJt4n?*a^CAfNt!>-)8!155wQ)n?jXsgTCjcjNn=)&Ff(Ln}6q->+Xs%k6%mZ z*TOK{N_ReCIoMdePv6KwEf)2iWiRNNPYk1!uM4!q}t$D zF`+_F9`H9{fC#**X$en;prRduE+FR1SRZPhb#jqGJ1eSw%%)1&Gw5k+jD_eS`YJyZ z8;NTarZ75jPEfE(WR^pcs695c;`$ysE>W=&G+?^@i>4J1hOCDk7m?*L0|?@csLYel z>YxH7+to!qP_h|6vRlTWw@fS2$EyqvCsURz+g5qY!sz+;ajSig0)*>LK9knk%Pc^! zO*2!aJNLPyP4nM~SQ34e>kR|H%twE#oG~EJru^8gBJZk&Z{{dtxAQ7M4rJhY12>>p z)8DNJ?%!S`!n{M}K<||rj8#)d?KS*H^R2}W+&4z`%4bi9{EoRhkn}#(s-iswmO*rI z^yCM3VownS=t*a%@)hwR^XKjbRmOla-}WG_uS@t>J5{pl8|rrdTgWaqB7I0RDj3N;CbhAT=+mh)=D;;BmPoD~sV`j0xY?j1?e7s6 zm`!ei!l9}vD;j}a zVY1hocZ*cF6`}-0Oi~k@4MO(`S7q+y>XvbN%$$XYmxi7ER(|g(ZwI@8s1^S2nb`Cx z3jq`XfL_hNHtTL#w(G;X9m<=(eA!8!j?ZO}_-n%lk;@771B65)Qz%tSbV8(5D;CRC zOZ9@pWHXyB<_n}-@w?t0a2PB`>yV0uqsL{^SxncWHJy*>G@49SD_FByY}V_or@KMI zVsW`0&nDVo(rR=%9nYt_AmVZhS32V;BjzYYI2G-ZF?`~Z5~8|T=;wQTX8|Ie*f_lw k!j!h4#W4jFtSVyhiq^%OSrHQ7r*j+Dsw{T$NP{d^8zl|-zk!I_n z$iPE~b~uQ|ENr$eGWuRJzoC!)gO@|r%cIgfudhP~!JPCVQ{=%XJ#OhEH1(4i%<|06_Au_iB>T|DkRcGF=|FHT$HPDQLgi15qVKwZTf3Z1XyN4VW;aq)>!+pa%i)Z=!rIqx(FHO+Q1?|N=Rl0M? z{1Rd&ME!fFxBvgG)RQ`FQje-U-C9?*LanvE8rMj=pqUF1ImE!`S{tRADodBO=NOQU zLP#hw6MTReKr@;Fi2xcPU}$*Ejer8Mh}1Tb#JtAlm$p{*EDXkUtn|9JH$(^lZC}-~ zvbJ39DufVles>?h=#9Px1z<1R#{gdOe#`VjW@IRy@j1XB2L1MZV)p*;-3F-@e-T`~ z$l?n6nZP3O>Kk2vez6|`ii|De94xj4?Y9Zsb$m7BbVudxXYB#i}X>TtUU*c#Q zM7{3fj&@x;kLO?T%Syj~@3($!q+j}}Bfo#D{{x|5dji;keX@t!l0aEE1wCI$_)K}wpBPaFBCsH{XN~SvwnZcaUN(fVKxXyzl$6f z&>U|a8{%0~RcfhiqB3_li)LCxCA*g&mzPayy^OFhLt{VU=Z5$DBbOXoAZ!Z#k;OJ< zfS1>0Qh>I!AXjS7q0!?|h?lg$L7%UcuftFFI`lH07Y<#b9|wzmqEuQKIwoD0-HE5M zXnMfkfHAF_O3BER~Wgeaog~j+QjNV21>;LqgagVRT3Y9a4f0DMg2r;bl@zcTh0_1XdE_(H(Y46?REA zc1aAo&#J*Y4b{AML+)Mv5vjuhsMi7Z4hx|nlhXnkqdCwN%@NIeEQFR!?i$e5U`D+25A4F&e%>5ZwzDU)-5hM!POX3`HH|xEeLb#ujIH6Vm3=Ge^??cK zZ?6!VsT=KpVMOiL4-3D~(2Ch1G7CA^3MRFLscBkN2(7la8tztBUZ0G#U&U!8zc+i& zJI~X*+gCLT7mE`Oxx;W9f)(zeWl&M$!B_jTE7{@@C8mW5WWy2WiILgq~WhUr8ocF|S zgR|>9M4hs5E_Z}6`210+50U1SIHM_Bm{zsk@0Hru)Q+lUvP3{<0@0{n?yI`VA(MlM zm-S2bMYk*G*}dw_G>-YcQ}yi+u6*U&wcq*5b;WLAWTs+@)EXjw@!i_*8G*9PA;BK$ zk9PSlW}jABO{8NC7fKhS`=rnqMbzL`I=}$DboFVDVyykk*HkhNbxZJVnH!iR(yZ?1 zA#4hF6Y-oNil_)?fl97 zcWvx{2mMIi!dP#r7;_YC#pG|kTl+l-gd!N{ol=zrt(vW@W}fZS>2q*%w*kJ z-PX^7dhB*{gIlIvmdVL7X47vf%Fa4HToFy9X9o%|#$qOb7lUjZfc>s28`O#x5}_(fHn{cQu5;=prYAOuSTwX&8xTBIiOvX+ zSDLa`lYFHe!4WG*)z@xRw@=UAkCk-S2x9tGl@viwvQt+Ih-=m5{Pa0BW7U3^u-Y?7 zls{GDPaRUbzmQi9z@v-W zGiv>3{LQ7$ZcQD-m1m3z90Nq4A*M-TIwES8XAJ5a+1gK*9}GuW$SjRh~|C@S-cj z6lFtcHCtLgN#v``oEjd^_`cr&3fUsf>W1iU3ntcIQkP{jkH12|o12`@QD;X+9GC4p zdl$K2%42r%Yv%hbxIxXI8uzxF5|{c5M9}vONr-nuY?<}h=s@WtlV+O467%!QUW(Vm&} zGbUKoL+RUit~qCqX;bGdc%U*mkd0=|39G8Fy&JtIA-**$r+ur++Z^`JW%h`GZ@Lb> zdk{Sk{1THbn`szP;*zGN&mMI-kyr`s@>bi*F;k7&FFRy)n$4Om{DJk7Gh~ZvuM?ab z_ZuAPz7Ob<7GH`JwLlh@2lj>yPX|Tm%9cUBF*Zl-kaB_xN3%1(5(c}0|3tA^*o5|m zQzq-c%+@xw4X5koz^(HOQ#stxo9JahT-VKAH*MOvm^+hB=i@t&?%Te{6S6u!K23Dc z-iNSbJ~#;Ji$=L5Ak?B+7%vf3fo$E{thg^AC7hwo4`j>5MRDObgK)EUZddrEMI=vM zt+?<@JCXn+l8;-7X;ZO7z%uD&^$=xjBzV;x#`uNw2N!{S%%i$3EAl(61|MUs+B*J_ zH?85LzJ(wrxx1;NwXwPpL*}`hZb%W)hkB9Z4TUc%X%*^i)kblB$*0695;2sqr3ktq z{{9KXDrP5=)C$z{smgOEQ|W@AMLhc?&nKBt!3i-U%%tP);wHfQU%I9fz)0>iLpv|j z<}Y_35#z_+!vm*(2)8<~`Izr2<+7hU9Thv~>x06zy2=v_6FuEqStjeu>UX`daohP5 zuC=5Ue*}FVnF@Iq1c@W-jzHBeGrtxF{TV6}KAklmcy@f_CZF3OZ3fouHX5iIHvVS& z*ju=0@F~ruRt9T09Xh1mZemP0JGvIm?Ku0;1&Aw=ErnAblk5<&y-@F0<{`=O-g?_1 z3QW-Pl+4l}3uO}QR)dtJR>qQ9y@rHg?h&6t8cAb-e3U#r@O1?RZ+~Nn&KM3||N0ve z`6r5pfxR2nZuVn1&)*UHufHF-yG(<*JN9-A8cI4UAx>ojr1)u zdE{-b`SLypFW*oE_@#(u3nk5563y7^Q;e>?*1(XvfA25>a}_?ROy)Q5hPbRbSd`61#2T1C+6lV~x^n&rxzKwA<5t-VRN1sLM@ z%FA~jAfrvYI*M|nq{9Mg=bDmH6B0tcPUN3D3;nGzu`=wjl%-mX^*k~^M3d+O^=0(l zFuNrHjvS(J7r-ywfa$tFFE{9-LDA1asc9q&v4$#V3>@DuL5+(PkPTcWADgk-Z$W~J z;Zmy5;;-0;EqDR;?)tqbqy)^#JdAxd%&vfO!G8AsD(MWC-z#;8A$oMDqdWr=cF3|fE%IH{$0OI@Lm^ARCzBdAmpEQ#L=} zb%o!leCdHTKcUyVf%xu&qz|irwN8V>U_)p(<&x~4%G{0l05B9B>>Uixnm}j2^65me zoT*9b_h7zm0*7tYjGoc9t0;9*kC^}#LmQNiH3ctEKY_%WoU7>dgNO8NerAE`r=4-| z4tlI(wr1S({eU&oL^;wgb4}v9Jh{!atNlWic-*+{E;7Bka4iV_(NSx98=pZ?uNmQ6 z{L5>Y7ctr+?}0Wkfz~jFuvF<_7HRCOKDpS3VHV#Xg1s3k)-oC`);WIKx>hB7q}#;5>GMJGWh{{LKrJX;&DJR5Qm4JB@Rfy zQ1%=GTg-JaJ2L6}(92D94kO6|SEikeVNUB3@LV__MoUJWQ9S7w5&Nh!^|3J}XSs%} zMb;c=TkS|dtM`Od>vGNE1`GE-PybBjQQ(bh#!n2oG8CgCs*l*QaNw?FM&opXZ}I$T zOLW5_O|_-0-R!7d^4%&~`W8Itet@i57(9eLjYA|mQz-Q0Y{J(B;YPeM-ZM2NfUKP} z1zpX%F@Q;*NncU`DoL3@^eD9u|M~P2oE=KA8$O2MpZ}w?{|5>D`?|Y<&^z4|M1DWlr?(>D7rc5Y?D&bqgK~Rq}{@nJ0fjB zO1x$8)FaW&X-wq+hb8f(ociD5x4ON*?Ari|`^$mtn(C}t zxi{>N4ERbWtoYI<8fPgUt8X86)%E!W-z-lonVSGgX~URIpyWPCpg9T=y{t?$_-@uV z>rXDN1jE}rKbeQ{+6C0=vZ1+dI)Kr-C5vi9HouOP-&9*(yA=au*0LmWx%^RhQz!MVW5r2W(WuXEOwI~~D>aRQ5C#a9ZEGZwSw z>%95dSfZop+QGrtF`5TpH+M6Q0){bJT<#?6vNf`c8Y9F6^?B4<}8iUaon-F!2?7?I{yJY*EzKc!Q=qe|)69 zxRl}VRvY4X3`%Zp>*%PiK0=ydHXmC&A`3XDyJ6?W<>~@MV{SedllhDEDXY87Bz>oc z2}%3wxjgj(YF-j?=T9iSI7lba^^5YZnU~cK#sB44j0UVMN4ENBrFi7Gl_K0QPFJv# zVc_y}t!yfe#`>t^ekIiOIJDU&V>ajR(`(jF3~iHXLH>bF!kwe1r+5vNxXOWw&!VPx zD@xsQ)mR=qghD*2SkMY4N3Ra$)%gUEKezf~!xWotyK(Hc25Yp@BG9Y&Dc?zcLG$#6 z_n+SgllIR2vmqVLRwD;HvQ(DZsJU84AZDMjva}A#;c@2K#ZWuMY8w;l%ogQjq=Z@t z*0DLy#*fD(E)f)wB@Dkm$}iTH)HK90^g9tAyq2V^!*)2hC%1+2-Q_`(C|DaP&mY@& z=n?17wY`qxFjLe<3o^#6^k7&!yTY35E~YZar!qH}nKKIFwPWF-(VujdBE2|E{RIrS z9cN}7*{AfWChB3-^95wN%4nuOIyDP0szQ@{NhxALVG+(J9dfz+fjQzeesS7|io8tm z(s0P>*k2*=2XvXO;?En_5zyg2f_F*2wV2c`;5>!yYy2<_(CfqDt!u2dk+??dRG;_1 zxiWL38STZjEDrao7p&V;fD19^X69wdU88E%XKQL?V)ok;s}m!dqaErCSi)SaUSE@k zI1baXcXUD1D46OM*ip={AT^CTfr88jXyHL%qrA$Tw32Z4Htvwubn@&k=LaHs3w6}s zt-o|f3ceR><^P9tow1eG-!<#P&e|^os$*FO@(Mt`0`^NP!JKQcc~PF zC3FnJhs(PTqUM>(3UCbb&=qFRIN1Czi;EH@q0&SB7Hx#O@^eDCx;=4h*Rm0d(3Gzy*` zvmY!iDge1DIRF0P(R!s;$RziZQY5bn3-BJv8jmLwiUvybS)KV!zC!#^NPlfyYvbsS zheIVN*weUa-_EucSElP#oHdgJ^;bLTWYdYU+I+I`fPN#)9ga6yNoPAhCt zQqh7W*PfSw%LH>l$|I;k}jSg_&^H;WO;~IVb6C)1UBQL#O3O*pm_CJTKEkf z_P|*wR;4*lN0o4*n==g7GZ6kafpSjiX{#gRTS&5Pv4yNI4Bnz$)3^%gN&T8 z;VXRFV9Lwq|IKI`_C7?Sy3h-nvnBv`sZy*jKb=Ng_}-4U%H0SPXKlfZeJOIZx|r+xViYWk-sI|q@@RA+=A49ze| zGKuL2X-6>`y8Lm^)|O)7ryF3Np~pbb8&y_+9c8xn0vh;zEUK& zV7#ik5&N>)ojw~?TfupR$W@O1|5#2u6Cxr^uDf@>IZ@TkuYvn!1oEv!?Tt1(43u#3zZLiE;!#US zSHh#BFMW;#W}0eE^s+jtqu)yu!O#)_%*0Z99KPHKQ;j`kklo35p#)js>?*Rh=PDF* znV6j`*+3T}<|1w3>rv~Ch?`7S4emrS#-?}W*HG5)D>+#|$r>H0?QnlZ5FCS=S%%at zlBgx$056B9r0OPPlRKOHgdwBmFm!h>(MNVoWy5c}Z$k=s;l=M1vK<;?b9;?=q z_@DND3xzUKys%j&80wuc*7<}XvlVi<#xtIK zv$T$E#%d~;*U!$-78=T@?JH}vv6Qn6T!~FHY|>{gOr!g6pCgjHW>#RzVo?XtlN*+0 zlN?7!xf-s-Ptg}P%TKd}IS;Y=@NkB4?GaHC3vJxvAQJX=!7GJ4P4UIv_6eJ*;`Id_ z+_QzQ@Z=MQ0!HkRfLGf+Y1o&iW%>5WgwJEG%=y`PR@i;eWw;7kFcAK|<#QHbyX{YHzA+MuT+fGbuk?^z8!3vI1a34Ev6 z$wyLeW`-18!fG6!;l0r1OQJyXg387MiJ@X&zOj(E_!BVbn`(-g=q2@BXEXiRe+@HV zJ=}|K&@*##0$?qBGAXJwt)i^g(`2(qUS{GyFT9@-VO=weNQ@>e8O8O1Mb>#OXXmdLE z^KY4jIt5r|lkmLA(oA5`H_a3?P=5N3i1AUg%;%oxNM5qe20Au^4FJKwtez>VOy{NP zDT$*|P4=!Yy1mLl`+m!}rN9h?pIU0jmSsG{jtL78T32JTW#!J%XLJQdqhG30J~x@R zc5k!HF%>oC*m&9kcSGgeuz%28W2Tli5cJ1g8Hx}Z8^in$R#}Q`-;=`eD)+%YcZQ8| zS7(HGf5#K9PSF(#zFjGM4(%g8&x z6T7navH~{ct3hkcVddU)RrUGlzmn72VF?C-z9Mx3JoUu^Jlqk7Qe5J7@2c0n!*z)C z?=%Cho|ec=p=y@zM#z{TlxTdsV6D9CkfxAtcvyV zyN`yxzF3vA2|xd12LJP~Z$38O`u6u;|5IaXVO$n7m_ z9@`=`TLAA=AtD21V+y%El@^gEni1#?Bmu9q6KaeIP*OBxl@zivCDML$`4n$uhS$0Z zVcs+XnFCI>%OQ81#Uy;(|AQ2B)+saj4W+hZS06FQ5NFK^f4RB#{w0NT$}$}#UDux7 zAS%=}X*u|X%}3`~6fP3-GUMBQ#m|{{#HVwZ5bvMgUPr^iGUsGnqIS;W8Vv2ut@I!- zhS)owZE?aXINp{Gu^&zHxid^z2s=@)z7C|*EF4!z?~=MK1Z!@J|NA`)+u zgKsoqCZ)@Q96~tZn)NkGy3bqB@3x~u|k42$;wT#j>DRiDGZOv6ap79 zYm%#UqVmk$#uO9R-!hm6@L|yg(u9%@qrNw(q}I#OysXew`CKkNql=wBSJUdAmQc~1 zvWgTgHmUjdzkGj)(i9ibGl{SnU@rZ1+;=Lw+p3PhPwib2UwHs$>k7ufJLx4VKub%r zeaM1^RGW?xBiX(NH<{RWJ)x5|8LDp+WPD$X5>!GtU0fP+qy@b^Jgca{{0 zFz7`yWOI5^_QUnanGRvpWLFpwPI)J$yx)OF`pkN*w@i>R7F*Glmt8Puko2IMe*gaPI8AZR;<)NVVPe4y6$no` zGNC!ZF{UT(P1?ExOQT&FcadXOh4`pNbqjurwDuhhzWT zATD;=W!&^Z1(ps=M6ub$Dgc<+SgAz8YO*b%kbikivFJ!LaipTeQ5XNOJeU3#GRb{^ z(#Ve5^hCozGbjSMucL4;*n?G-p3{JNO_L9EQ(BGF`5FA2GOljQO?8 zrpId=$mrPd@7j0ohuEFhL8n0iP!pEKFu{xY>hV7{-eGNMomYGB-`Xl%7Js`22|ij~ z#Me@xWgcUpMV-eGnfEGwnKbm3h&)mEQOU8V7S?OYO{etekRmH#lmqPE4 z3)^8jc!^4V35PCJ?lPOr z@*0H<^Sn4L^w^G&{TW4;M5nR$CiH zMo#(q;jmgI`9;RYb{(GNsYoKnrFNy-s`R&$waEr<7ol*3lQtcVyzObR z#h?=-2~JY9BCqU7!nX3K`(tq+0|PRvqQoEHyQKgm`3e$yi*?l6Nue)%Ky zAV%KT27;7$2kXn+KmZxA&~Lr#}9LWxahsFJ)qv1))D;(TE&DjK#7|u2vzRsxM%QUI2s%_y*I4}!_2{h zQDSY~xMC4L@A~mwBL?gyr=*gp+uIHB@|cK1_oFF%r!C^oIGx=BCDT{gMW$B~ZClQf z+oUrtd!9}X;%L?}Kv{^|2Fckg@cdhnfPj$uC|%2^eG*XUQe;(ah4+E#{OpE=o|DP# zr%Dnk1!Ms0)_xRJ#T-@$fI}QqWN74KNV80kJy#-)y1>+MABKu)Z|xYu1>&JYhc)AM z_Pk;|u=;RX8$QC;;qqW;t+`SwXE1DuQkf@Qbbe7JnubY_{b>!W5#wZM~&OHhIt z5T>*~$VtXUxzAO)uW`vrQ4V;v^`apBwn5&t>3Z3d7Jvp#l?hI)=fN}~k!UU@ijec* zM$dL7%}=t)alP(>k?AcI+7@M6<~a;8S-cFKd8U&LJWqQrnArzN>jW$Y(Xs*IaN$!( z&~XB5Iz?i;&UqoXDa`{zE_%`=>gKomVh z%56wQL7a(jLo=-U$9Iw6&Sac*npzDOrqSC`NCemR#@muL%|IC52bhr!?EUCbX7sYq zXF;C!q}UpX_~zy+=HEZ>kyN_?3WT^v404mqlY1ommbAB;+B+`T7?-26&aN(|B0{MA z36<_09~h37KC*Rf`5|-+J<81zNYS%cTgsIia~8Rw03oDDsdcdJ>ThdfW(v1i5*Wht zIev0$s-{PNoM!F2DVpp=Wd)HS9!7MQkO!P3ISm*};s92{YQT!~w*P2<#jeol6rs-` zq4SOp5B4|Ln~me#OGfrT6MRYkes4|dyiVfX>AKoRC?%Mch87@}PwC~vVN*S8%rCPP zYGd?S&1?nBtZ4p%!=r*01O~TWWMmYT;T5s6>W7-#zjMwi(Z2CV1z%BdMqzO8rB&iIL zC9weu2{H9BXgpUk*zK~nv)=DHYb!mwlfqfX%-P9#pDzIP2;}&Fl-aEeS7@FYYPlaT zL&Q>sXE5L+Luux(DkbfOKa>QQxA)~+7f+hs$))zixe|(+={L;!JjFiQNqGUJ2Soyg zSec%ZIz&ZyFjqwtf_-&FT!2*NPY}F%Vkr2asNF}?I!_dSH2GIuAq65R7%9H6`y(+! zrgpY4H&EUiydKKYD5yz!No;A#EpV^`iVBgfKrjux+uTzF5CaZuHBJ}CC1ra15qYpd zC$+0==NsD$)gD-D(wZ8{L&46-l|8kZp##b?!*H*ejRQiV%ZNd)Qtq*$kNWB<%e1@N z+vRY-->VHzB$rGOuL-G%O^zr=I{5V^+nF4No7l7o0;6!DL(*8bwcciX z<@V$_EI`f2Jbd0R!?=baojj?(uEJ!jDaZXYQh(0gRpOKT*2gLbb4ycKdWGAIY}Cr( z!A@i0w6QYVd{^6;jYNVk3E#dH}1ZIJxd{Yjc(0#XGnY-!jw| z$t{x8(WdTh`C``Z4V#yd4p8SBdAziqX&}#&k!L;Qmchx<&;(b@$QbqGb1w=e887dQ zXLfP!f&61)K`NXlY4U9IUGZ;cayI%U!S6%CUm8#fwG29>+@#1NHzAm{yWFK`EYfql zxxt1XAQ!;skBQG;ia)~q2q-M z9}k5J*{-~e7F(s8LM&%E-*PuIGUOcu7;G_;>$((n|BmY9I5N>Fhu3H2D>TU2wYKs* zhD5EIUG*MCo?Ic!$~{aCW;Edls!<0lg+`1538M8me7n+Ib7v9U?LlX=bVL0vOr2wL%shq5mc@(0N?|-d%jVy_vl#yYT#D>}yVTOvfv@=It zx5pTm;KCf~+J;ag9v`LiI?>8{nlF+eeg+7iLg1xF!xLC2#!*yxtjiD}Y{$E?5tC&O zrk%XgN{l|yfs_Ki5B1CL;hVh65cu%!n(7({r26I&i|S>H(xO+m5;y{^iP}$4oomSn zV`@ozU1Y0sk8fqt;Wv>7c|kc3%3_BVr^+T9Hq5j-d+L+tH@(xt{oU<#x8G|wuP-N( zkziNrK3aF!VRZ0AG-6oz`Nbr7Wm?~Zj#f0H1+!#|f)Xti)I@uk5gMh$$;&E!cXm1} z%Mp{Dhs7LRhQ4Jn=U+=WaUJgIXOD&WI#{g~h%J%``D7z1SWtUQgBVimZ%I}<@9bbj6tYisC70^jsfD7PdlVg?c_aag6 zl@s!>*a%fP2Pr;$)jfS0bsCrU#ssgDoZ@(Ur?NHpowTYPtKpSXtq&gRthH|#m-6pO ziG$g#&P5o=;v+qiT$SR@_T_FABh?1S9RE1M6$ID#Hr;j192bbiA!HrR;wU)i@QvCc z?dzIfftx14soz+a)7=$PNQmoq5DH8fZ!Hcu+tRoyA{>kotg=7mLS2|hVOMkB?Uq`SBCWU z?OZ&_w+=*^@{1=y)zVq@8W!GSOm$VVHS_>yI=QG-Bf=KNrE`Z(ldec(1FmWg|M7Cv z$A;fQ0*tqnnpEl)P8!_cfXTOeRb#W zDHjoOzA-imUAUGR;H(d!h)1BP$|F#@S`}U<1ACOFl_DDGxf+%G$s0S3F`|ux3@ote zEiwpx+=~D;93m^GG)RrTPRMak6nAa2^AoYqXQ7Av9eUE0 z53Mt#)fCTb7cNd`P~di*tIx$tT{}h~6;Gm_5SV|XI&pIIO`Rpiyt!#)i1XB%E8#Bl zB=T&F^dx7&p(>6%%`bdTGyA`vvRzfk=#Bjn=up1}(=r)chf>x7K_|i147-GVW;e0P zrpG>#qU_L#`=uDc@;>uD~{(nous1L-O7GhpsijMsu1{l(E2_le81@C_3ZmHx^1@Mo+iG4DF^ z{zHm8rQAWzzp+7)*!Dc|O#y~1<2oxj2`-uJj1IfpaLNlwWCdoC?bE9=8RQpK{*aVF=(a9C-@pi}1qLoPF z6xDLwBSiD*y=#utYtX5Ic_XZ4y&F4HG%42Xi)#L`6JjylB8EfIkck=%riFc2E^YFS z+Sl5(fUtSAQ3f&vT`SuzO;itwhJ4vprMaEPjfh&cwcP7o7Y%rvBztii4T;^UI)1Ee z+MUD*GRr1#8+1t&66wmZxs!P&?{}la#A}9hhI)lj)6oQ0;mIeb02akX#9SIo) z4Fd}s2Nw^YKn5WZF-fj{smUoQsi{C{d~`%m=KD0|*Aj0po!XAQYGYgaP5u?lBEgsaCpthCv}6k&Vbl6eG$J)rfkt zOn~hxz~#=+0U&UGct7y}ibC2B03f=9cpyOV*n2230hn-_#6TRV?kJc-20J0)1VG`& zV1WJr3pnTw?Jpb*DZ~iJcQj!V02r6Hs(m3b7BUdHOulXP)WO^chJbjmk9D(MXnMS(3XQN0uGik!xZnj_o7_NKXh$ zCj^#276K%+1wH|mvak!hEG)b%7uZg@u*~z6T(K$9(}<%Ht&2PAz%16T%Wq>=-J~3-hX=*&+}tk-#mBog^T`8 z-~1RM|1?C1W}Z8L{M^H@_~n;yz6aO8j4(2Sf4|5qtX3oXM^u>-HdLzkD!yXHmmPV- zv5^sGJ^Sw?^n(kPmSj$QBBC@Tum~b&dXQ-~RMH%aHyO^R9 z<$8~ksiwg+UDb|Clv2-NnDj zCTnmWSgIDRRP3c+ddnH3X<03(inAMUK`2fdkSb8kX8D`TZv_D>;#2F5Mm1Y3DEykv zCv=Xt!Zauur8G0$F2B6}$Wckl_sE)$zd3ZB><^tfDThMro_q1~t^3X5Y4P44Tne z{~~R(ACYZjKRHTvwzdsXN#46mcxuuRbqrGi$s>>^F)!Tq|kGOGKsRA zRLTg>-UKzd1qxzG%hw%@`QznY2xY9452~7#tz`?@0!S{Hg(Dd)6N2W1LzR(Qtyti6 zhtyUowTe{{$Du)>zJ0t=$E&QxZ;(_gh}*)os=rz&T9py-oVHIKXfo#9aWtP!7879& z3TG%*wo9kJgTtAHv0OxID!u+wLAj9fdyGUZWUyFjP~CY_r|XBc@U-;S(O#y7V*YO& zy~V6nnDh9~bg|eS&8ti|70an#I4=jcj!e!Sx7^i=s-=(m0_i>`>w$bEr!f|?v@f~N zE-Uo)!L32}po?C2U0d2YZv4G&T0|x@>tBQp{D=&ZS+a*5C;M8v^I()hiBzWG|Dp^E zg23t;*g-UjtifDCN9Y>SiNn+##|W2`{lqktRReb@I}RV(zi<0;Pa)rv$rVd!C-i}G z15^wLLl&2N{)Q8rtA|ZzTTyU^@RK+bC}cC5peH9|ty(Nlaq*RR|H>uozLAmL%O<7z zfq2rTEo`q3ZSF1ZI~okXaI44b@-g=8rxo4V%?>$@kk9S*MU#PBL1@K6l6VZIh$9e6BYD^2bUP zqTHxhSQi%aN3)!SGtD{waK&t&FhbZ9sAdIp7pYrbG9l; zDdxVm$^2@}m+rGN`(>s72GcRVl$!rUD(*50CX0Cw{6ndKu4Z04CF@k_rhg(y&B3XG zX4WfPJyE~YkYw30*cx)G_4%gL)syqpda0)G*b{d(cN>%%-nnu0$gup}Yw>JFK!3n3~cI$(CRks4J83e!iT1~CH*n{zO8hGK8>fChjlmRN@*RAfi5mRmDqW0 zD+sGC5ee!6BM%v;)Ww$Ltr%z~k^Oj&6VQ$|ei`5ok#?-KjB-z;+#}$J4S_&03lGmd zFT^-2OglH=;9HSfBY+_+skY&0`IRoncVq^#BL=nsaNv&+gzY%e`+`C~EvuQ@09a;G%K?jRXbX$=8z z5DV(h7P+9DhcAs(5#wBU`Fwbu-;)!?zP&PKXc zrEk}J;BOZJ0iJx48Nq#q}l> z;}1!SL|Y+{ovlJU+)I!hKV2T|5!%t3Gg_fE07pM zx7ottgBLC}YH7d?e;RjEAs9g>R@$f& z`e%C3?WgoTU-TP(R{+eqhkY{`bQBqUVG@C0 zOOkln5MAyq^`tnir?$(y#MdfEnc)Jbt*UYS5fZqgYWqxwyP$v2QnF)j_)ys&DDRn6 zE=H$|T|tBD>Ts?e^Fnwe_9`0xTB-4>`P-ftKehGT!MaLs811s=?i_hzDOD=R&gzTN zn=_+)sXOu4kJzh8l+;=yK-UUvh9WEH0VE_QOKX5z2v&d&fEC;X{s>n_gPC;B=kpnA zyp%4av}~=X+?`bcba2Ang5r{D-eOs+)5A zAKL%W#1o8xGzus+O%5zQ<%E$)6F@$NNayebOge!}6hf6X$fbOM$g*38#mHQ7jUus| zp64Q1j)732zi3+y+dgo!XIp`e-PN=XaqIA%5EspYItk>>F^XV<1*`b?rR-2x_k@nM z=IfKm(pY>ZvD9e2%4IlYsYyLfslA7?>(6_K{En@Y0W~QpDca7LdOWdwusG<8a-IN9FgJLzK(@5zW~inDTq|kV z3~3Q)N>MfC906}+1`-jXY6MVDA;1^1kgtQ#2FO>w*DChp2Q#{wxFUAsPG78DXojE$ ze`{k1v1V9N=nO~5BcN5iLk4bFq3Sy??AUv&mp$OwnNO>Mmz=m|rkAmSe4*Tu{9p8` zT9^fV55C^-I@kW*``<6Avg}f$GK6hqW#yZXY`qDhe5m=2ZvYK2ocx==;qR#R@q@5j zWDFcsz`@<*L~Csl9Gs#|>%s&2fWl$siLzLr%7U$FJl2uOIRiHWqTB?{Q#BbZ)o@sY z$pHFYCGb`HGECpX-0Wz5aG=zih=nbOPIlAX4tVs2?F=~(g!FQB4aY7_2seN=F8387 z_*~pOo>N$~Y{s%61)YN`zgj?o`u*v?ilh|Bs@+Z#Hbr-a(mVS!!yQ%-N&w7Co-KQK zY&R7{Hn!a!=yGIWDS)a6o5$~Y{e@(%Z^mVm{-rNn_fa|7?dr?-Q+n^} zUQkVmCuGy(bzbL_q_HsyLdI`7ympJ>8q3AQsS;RzNfQRiCi1$EIH(HqwDgn%Mj{I` zQ6eKOgkh3-5CfvB+)Svd@L?eUi>0S5T$=xtOM%n4%kVB;dGYV`kt-`LM{hnq-_xJg zVEw3|F^}mvBH={j%7wRrkhTtWjzM_ACaLFBU47KbMdNO-p;JB5Xn8e2+hvz8P)tqrMI<@qa$PsL zt-d*x>0aIU=p#=#>E1{<-BU=F{@QZ;L+S3Rs};mDuvH@9KW4!fY{{hIQI_sAuF13cDAr%yfNXkcD3wL&JuBpS2 zAlu@;isX^Qn;`?OzH-_vNgxaCtMJ=0z3jO0XfxHBfl?%tQEVV@+m3K2sM;{ELXY^W zxHVOT`{o*nMFmF0J0Uz)FmyD0U8`jF7Iw&rYtk^wO~rH9;r%ZNI*jn5?pUDa*nT~I zy-wr$7I$+oPu~t;Qr^Z&19hr+i+iKKdS20D2kU|8;=ZXyB%6v&7Zt6(ci=*4bU8?y ziJ)3+pYJc{WAtFCe{#HeNwZ!>`mx^eR>P!<3f9X&r3hWA4E7>PpztICoG(y;faC`u z4O+e-SYi=J1vc5FFVNOkx4<3oOR%qyu{v8x#Js^$yxF*D-v zg(_5BI7EuogIY+=YADe4rfOq0#){uuZEa(^IWBaF#q&ww23EJ zZ<1%k6O_qNYoHfWnF3Y@<*$4ed6h$*B@o;%EtmTv*&>83Vh5_19!a%u@U=g_v~WOVIE1fS;pf1t1}t&vAio)N?uRa)dT0N=TNG zPwVoz^!6v)pO6egrkm+35`Au;A-BKT{+6HSXizamoxV3eCK*nbAwTvg^Shje{EAmN zUVguVxSEj`IV(-k-y=>EA%m@cSbiuvp+}*l65GdFxT0{Jw9Vxr#1(Nxf<9d9tiq_2 z0^*_4b{wT#dK1+4hl2_|NlzkrdUgm8*?CR3IRcgr7mW1hKN=PgwxkzKZap{X5aUsc zc9{-PARcFXJtRhBcAPDK4J{M}NsxOXwn`|<-7bGnVl#I<(*Crh`4MG5BpZg*{zUsv z_W4|1C!>M!EpL)_r^`p%Uy=>bL3-@Xpuh~M{vGxwqyoHLZ&mz!`LI%0GeJfPsF2Aw zZ3G!8BgnF{N)*MdEaystg9Wch;@kEXys;m~wyGW7EpXixI1uKGn=9_Ate^x*6NLsS z^AnRr=DK0)%SMv3qsch3GH~T`ASffNrudr?=5l$`87o6sGA&9F`NAOmNipS9Arq;A zR!_Q^E=YwgWG;H-9`ICqYj}m0oj$X4< zA_mrMIEcf5osv`pn^-%Nmxk_GGo6fRkSn4d1F6L7ML9(%R8$6rI&$60{vFF(x3rq| zN?%VR=J&cyRVMrBJ{P=Eeq;mpBMVl6^}bA|OW=r8NRUs^W`lA??!7=CTl$4hsMt3{ zs01xVqOQUITl0Od|AW0dKKus#wYNlbIay;Y@xBl2Xr8>sg~W1w;4N!4*Tr{s`6ec0 z&tgAvB2*3ak6d@FoAyuL88WUJNVt7Gh56FnW+FN;5KE5rJ@v$^-?_Tu!B;-6_UKH} zn5;PG0*Oa&amS+GQ}fe{)OE+Pk@;(HH)#eqOLbbu_vwi}ib%Y%U5(h#(0|8`){Olu?HF1Q-xtOivnr7yOvsPf2S^$*d4sRa17r?KLXH}q<)~sXStdMdOI%BcAAt0EE`%ZI zMPNHr>g_4u)^sY_9rvXjuyz3)4quTpgEa6T9?9be!G%vj*`Sa`K!J6Kt5~FuzbbzB zUyXei-6)V0a`V(ZJrr`q&C>77>%TZdAMed+*B#uw$2bz-fBN+GYsM-&*F;sMrH6d# zaCgc_nVAlHd&^zf8+?>D*~raNvk-!m*Zk8tMD?ypyd?>i8PjC%w_D1G)TRP_vu zzhOFY@CbOpH=ga_0Sq8FJ8Gg9X{?|);6hzM zmeqp@Qrs%+R%N)aCzs6#0gQxv9=8)3D3dC!a=S(0_aSjvL=@l56s^ zA+5vE9K6tEFx@zckX@2j;G|qjrU=_zPKt2O&NKCqzTTcU8Vq!;puyVAAHPmVkL*9sMORQmBG}}R@X$I)ND$96I~B+yU}@aqkm%B)PK&3 zqrvvqgQG?E^QNsuKa;jWi*}Qx)`EpVe-v04tCNw5VG=K*orAAIDFcP0qgT0IA%BRP zwk~X$Zca^3)T;xfT;@R9fZfQ$OK>gXY9j(~p=l_^JXg^;lb~lRU^6t0bF&7k!e8># z49`@E6epO;UOIaBTTh-3vug7Ni`yi(yr&g2*vkmdn51(U53qf=^%7*kgT?@1)l><4;*zF8e&^{#c4WJMd9oY`rX2dge;%e)A1sJ zk%MHgJkVd_j4yOVy(6r;8EAhd=sJJi6@2`y{NGEz9>18& zo{kvZgWuRsMp}b_mcmoPcBteW5CLWA&S1>71ga?q0r6nMLq*?feO9g$m)XYovdBPc zF3ZeDpjNE|pnss-Oa$iwGJT~d{vPL$%MFQe?4okl(c$s?hpds=k@NX(rnKBMpZ}@N z@TWgF=~?b}O+|}(x>QPc_`VlUyNT>??QInUFm80wsSCcZnhvAGcfZdi_#O;+J?_hV z-$XXe&Wv%3J2E^pH~`kClCdbzdxz)N^Yh#Xcy_fy!0%?dS(07mKfnb8Fw?j}c#agv zPrQAz>3@ll^2bm{z2V}GNGQfDLl2Y(9sU=+KIY10>1Sy$)OT4j+W&*S`js{bjvaL9 zh0U`cqC!d-)qH{6XSt+sYkxl|5hKM`j;GHNlOXYcM2aZ$u7F`MaFAs#&S{>VrBcT} zUltD$B?Ei1`;*W98N}9l>?zCr&`?d?-`j1XWYX3Cp4^dEI2&Vj;24mY_}y{>zq>~E zw07pGOY%_WLSzY|ORiJ4x#g8**OJ@R1S7m2Ctx$xHe|O(YSju@P!fKo3y&D*TIcf# z4hXo$O>Y>EBmjd12BbUcX3Mw)bEPpMUM!mtb%1gAkKD$YGt{Bz@s)Fxsg<~{QXPx( zwg1isUG#b9yY82DE2RIzWE-?r#=p{Dzxc|pj4PKkF-)yO{_V5vze3@T?QZ|1{bQjg z-1~Ej(??pZsUoi*E*c8xEwAdDih6R#x2(FHNTY8oQ#hA2WDF|{3AVcAp9+eLr;2He1QI0{lxKlzwEm`9gn4N_sQ&4ebn=|mpF1+ z$DKQlQSW2-2cx?-T`2C@vH6wt)ccAKNAZ2BIvV!`(qexJS|?zY##(h^5QQ1a8VAcF zzH%+u^&-dRdQmo=>c;g6U*9ljoi;_y$j1Ggx}46i?j6VsB@GDhg6HQe08Zgb`(~Kz zGk^EdE!{8AIg-OScOO4|W>DY0w74%^cB3_{WSdT=CeEbdwSfhM^WSZP{Z7 z=}cF_9w*UNr@m%hmOjHqkq+UDIjOZ(qG=%w*njJm`Aztonbvf3a%8Z#Cz}@b*R4h` zMW{j^uMkHb+SxxHFb#YrII;oXIEdrX0))22M39F{3mThV7I^fH9BusB*VFgSWvN-p zj-xcP$s;Se>K_V5d5>m4!qr+)ww@StXo~7ByXVHw+?d%@n4H^g?NJR|q>%wE)dK2p zJ`qG(E8B7nP5Y|d7Gz#kUByw2wmbn}tLY#1D(j@lu8piy#l1f?M6d|ilgpi}@h>{)Krl(51xlGVY_R_tY5Jp=ap^+WY6GFw+ z6jTXql-h9`6%Hc4SoIyW(| z&_N{<<-Rxep(y+u=y=U=IXPgm4D}zLbq9L}&scOo8O9aSm9vP$5Fz`Pw{xoX!qEMU zy#uv?txHd3U=X60{I+f0I{qB3x$#yQ9dsfEDGKG6&#bge+ry*(h1Xws{{lj25qjC- z*=2yr(?XFeVAKH5L(8wpyDCVkIORrM#RWSq#PT?&2n z8{DC=B2`@J%n6>I<+`#>_`#{xxR>&Nkd0i8b0b#+xVT}6BZaVD?|3X^AQ|C#eRqaLz5nU{lEO6k6L=0dxLR^I> zWHwSUxH2E+4{YTE@Fx6u?EpZ6t<=yHQz%N8fp!>CRh@%Gw$r+K4aVZZGidIssCxIA z2iMHNLy!4g*B(CNbdFeuuNBYQ{)=DCa^ai(1+DRi{q{HGiHpPE5=bMm{tNjPc-Ea{ zp|yEway%|No7^r#M}Y(n3oKy+_l8fd6eglaQV(1+hBe+&&_h{!;@o?si^N> z4ypLVZv=CaoADL|o&4DX`ZyJoN&}N^5_TKW zz(f?O-pkRz%5RMZxRsu|6b+OMc@YnER|MBVzAK}FX$H4=nGoPNTBtA41x}D#q44E! z0Axe617c^oC4ApSk7K5_wpJcJe%AEA;&H!g>-fYS0|Tb#_bz&kd-v@2xSR2dXH5Ug zaVnpi-@a|zK$)-kB`=-b`C7i@y}O?j`2Ut$s1;l(yi1T_?cC`bKn9B5ej@Dx75d56 z)_iXiKoL~PQF+0%<04zSIYM;`zvV`I=mtRTCkTUKG?DE=&qCT4z+YEpQ<1~DyiBo1 z-a&r(5bR0CVuu26d=!r8?2B$R1Fv{n5K!1G2d};M+I+#`zi`Z@-+1QEvslL8zWtN@ z$-Tb$?gt)tK&n}o*Em{f$(kbBvf6E}Tq=F_QZVD}Hr;|FULw3;5 z^dCd5mU)~m@6P2+#9K@zQ4sl2`$saG67G~YZI8X!Md=5SI#a^vvuyv<%1pNhxX&#iq1cNO5>9ADgHcqFDh$KP zb4P#Alc!Gor}S@AzkGPg_ON#6nE$HIvEB@?g#`-SL&9A8{oxR|q*cz|Fr4PZ(WS$)_$qA%7qup~?kU!>e2r(<4mu$6bCx zBr`dF@kO6}@)Y~v)Gs4bNc2*27t`ry&;#ox>W5*ZhTw|0x5nexEy8!bjlC5mfywFV zNr`6I_>1Wa*)TVv!+d>Y{m)o){b#_=zokFVf`4PpsY-=M390q}WM%q!)Tn02U$#79 zbURIz7;iz>RF1NF|Hd%SMN9H2!izU52O=U79pNn*$ieegXjDHnjU2RJi~a-djYsSo zxeWf!ceVz9^G!NdDt;T~y;D)Tj7EhpC5?KyKbPrFgn~Ygp^*w5F@S_HX2WdSi7A2x zdfy5>o&nUcZFh(5aQD1@fdim?FvLZk=VBn<^nazYJweH=A6z^&T-tH3f2f`fC?1Rx zC$z>J(435a8x&sXD9q=H8@t2!l7g_*EKfS49DHs zBe%P$5kk8Cj^sexk^}Utmh9%d=mIaU1^?rSE^lw4;;Yb18ijO)b;6yrP-0XuxsScN zF{b0f;!qN<=)ZCe)csNi4P4zy%R=p_knD;@f_{%nS4o^9)DM;dBS<{?Ko*chU<&T2 zdG9gomFS?+V5NER0vgq-Df$tr&hI~dhjQ#5as}b8BrjFFd!78B^?Y5DTF=a@miFFyu5vxFnhoLx|LRdl6)?mjD|ffhek@Y z#DO#Iz+qTDNC3A8mmx7n(v=a&ji|_G3$!>pSQrT;jEOEq4_cBYM;8YB4@@0tZo2J5 z`BuTDc|NgD(Po^ynT0v#5}w}4yH8GRK9)weUDS_WGExA~kAmlYWQtFJWT`4c z|EP*)RZT)NUO_{r&F@ZNi|z+dMFh4&4LUE`vP34v2Ksx8nN-;FI?-;{C-re1puEr1 z$Ll|^-~jyDOs&R|%SK$v*U2LxFxZ~^0G32hAefAz++n)93UdIi1|JJjM{D7c(Xi%S zTQ=hRCi&s%;Vqh$3x{3I?d}?!FKg@rvW(=(R~26}sfI#Y{`TQ!C_8_RN%MyfbG|<{ z%oHm)+ZyO8dlPlhD*!7*e?&ireB3a(?IS&%-Z9=_T7V>@ONpQ$royzTu&jzAn#Mo~ zSr%bEj6nQ1TnGudd?5s%l3^4GGs$?w=YilCX^{(l-d6vsYr=y6sJ+-peeMV`a0D9i z5THW8>UUXfqwGfN3$-bY8%a7{k+dmQ%}Ll zcFN?)VI!}tBSC17p%7&3JCG#a8n7=1(SDcfS420tKry{NR?eD-BlV?ue6djv=H9B- z!0J0gDVNlMlfnXe;r916+$WO z-nJ?{z9efB&-mDdV9^(J>7^{|t9(=tSscRa(^lc7tu0kPV13JV9VC z-?Gw*oH%;+#-kTbTsU}O&+bjL<0!u7vn3NqqroF&(K5zuLpaW)Nc(aX(*{x?DXk#h)(W^7bz5#)xn&I$Gg)3wx^$peIG&AYda*B-6dFn&;H8k?cf8D?eyeA* zgGtF$co6yY^zhQ*zCbwY=^rd-9a?d0yjY8UoyX4e?7m$oc_<@j8KvhN>HPjo*1ES)TNySlfKn^b8 z_cRvk9@oYWZk5Rp6uQM{g0JOTTV7iH=Pwhg`2uz=eS4b z`dnZiBMvkpG+PtsuiXOcEyT^k5fg&~Gv=-da>{9^u$uY0}hRFTnM|Ks&h z>K9K~CNFL|dZ?_Xc;wLWxoj?R71NeMv+OJf(f0nF^}$nd8_N|5z>R~Epe70~fMsO{PjzZzt)D`(g5sULb$o9z z+12Zn9Of7TY6br5idF0F|K4&3Lrc|icW)sXNU&x9m;cs~6%jRcfl*74$q8QZ?=40k za7b(n_a`KE3voKhs!Isxwl?do8*gyy8v@$iy0>K4zJ`pUEw2$`xdpQwH(e>9w!ay`+Cv1DQf^4W zSq?5i0Y2RX9ppVV60rgvx66rTBV$5BQpiS%SBqiiX-gb0K!47jf%w_#BFoPTH9=#C zPz+%Qqz}-~qE>&lbps-%AYF9BR+CjmErit&tzhu-n}7#JX;=Yy#gATOUYFK|qENDH z$I>FI_M7KWlAIhzHEd*96r~HfWcNlf+UtgsN9%ovvw>Gtg{_7}{mw?>`AtU$GxdBB z>Eh{|PbN)ABoJ=SSmm{d-&@b7L=ub>Jo zto<(L6a*;sO$UFSHMN%uTbf$`FV+o=7z9e>xd2{!L;8^~v(xVl9LPvI6$v>_5@Z1d z48Jt61!K}dyp4^4ErIGd&__^64R??BmH}5|VC-{a$ExFJ)Z62;yAsBRn^@e`^kp)>=BCydp0R5kiGA=Shj{vM>!3mnQtD$4 z9j%`Zpn1apJ4~B3T-rBYI~)ShMp1R3H^LkbOp zLYev81_xon<2`qIsbn#q97y%^l$kG7$e2jJ=S9rPjlSsR1f;sk)fGn?*b{&waKSwK z=HAKj^{v+Vqn@O9%OHa4(GAc2;$6dvXROd1ALy0)qT%Mm=@Yj)m~+@j_dNRvzMc>5 z`hb}ox_)`{A#`<7O#c%439O}$`{^v2>9ri%IIs|8s#j5S*C1v{GId^FZ6AYt!Y=LW z@*055#O~O&JM0BCz5;;oq#rW#VP1!^g7lGQUXygkjDzlXxL(Y$GdGyh`xTmdBOF(%m*Mq z;#>ftPbIqJgF5MH814;oiMk2}8-Xa4n=+v|1JHzl?>X{hH#70g5$4h~uE z>XB3(I9^eXE5~E(;FaXVlM(3JGb;yH-gGCrya&7ft+RO94~|O zEFEN(zZ7LiVN^ua5am$=>P%PMKr~#n|BBl-GGe%v7n6cTtAGef6q9P$wgL@Lp>PMt z1Hg19WCVFcxrW=Iw>Mw@a%2wO2}27yn@p_~T+tUrltmdyY%$37;~2+5>b)Rf+;`M^E8TcEbs`m<~flNtS_w^itmAw#f$ge9*-tpdGv zhD3l}B0gU>QViI=JKPF_8%S`7KU_TdpR2O-6__5LoTsmK?b@QN^L}|ESPAG#SvCTd z;Dqd-*PUzUT*gqXBAuj>h}ajQM}KhOLY|9q{=&e6dJk9D+b+<5VWPGWUH_$&$FuGv zsP>K3yU~O~7k6%I_RD0!bm*F>NUfrJCZJCzlec60md&#*{`gjGDY#4QjH}K za?qu+qv1+~s;(YW$GI8Jc?4i?sJ|a=Q_Pg6HRIar{dzP?ucM*(&=@EH6Vq(|yvaWW z8l;%)Cu4U{Qfy7)z)?<&vuAsTSG1VMUo-jpwb?ra7t#LA7D1U7S!`{=)*+~a=8_&s zT4)V|qaZ&D;MiOVZ8(zTUE+fkoWZ683`Sqp^c0VjE5qgfKsE$Ig#x1O6ydap_#m!V z72bps>>zMk41m7Fm*F=0zg29sQL+BXb!e}l9Z7U$bF=e%bm!4iej}01P?pQ)b@xG> zJ6xTTTKjr?JLh)NAohInV{MsqU*E24`6^3&{k{C(sRe1*3A^!ZjfN5#dN|cu?0Khna1b@A;u{bA+T(=%0prvbzwuTgP1Xm=`c(gehpB@ zxnFSQ>|yP7)C5<5)@3yxSiyEh(c>_mF z*v&2@5}vg$u0DrtC*BUbDXpveunpbNb(Mu z%+JkCm-=#Wy68gMFYo6e8AbA5tPY%mJ=jQITVd|1!y)8=xgYN2qY8s;QYutyyu;l7 zfv?8W?Vnn;TAyUKMxDNwb?b3i(|l_vSx|E(j^n6c$(+$fP;+amjKN?GU9y$pM-n*`es+&nttuBYbB!~u|7reBC z3W7e9n)YN@(dXqbIqXv(#|BTx);o+}MCiBZw`42&%SF+Dv%!&TxFuS~e5E=7*{cIi z0kA^=CnR}4yecn0$kL8IyEe~_k5-1e;*pRa**qR@a_AFINTDFF zFm-+eYT_Kij};8631(qjbH_Q>3PV}8|hI&cWfUvB$$`&^Kfk+ zJm1hKQ0Ih!Yi@)gpWzN6V8b=O<|3%@O{Y7M>J4YI&VbA}(a|!gSmDa|UD!*9$^J;z z>5~kJ&1=c<<=5EIgOL;K&qzM@-!XfBBl%Fv*Fx{gCTqowyi@uC`@tVx%VQQjfNO??Rh?f2Z9@SuC&tF zgy`6z)qQ(*Y@45(nygiNi|OvL#mmoRjjr+h5q1Hp@$7pTBR;jNh-A5RRKx}<5Evn6 zA_^3-Q=<-H0R=%zG*E1qge;H`I_x;DakG$3egzOjp@=FezXQF7^^fgRca5dIveY*! zYd~(f6fH{O`pkY$vzV27tZ+1$j{!R}Z=;!Xbp>f(KSi&lTp0*jETB#d_I8(b$r0{? zVpzKd`xE2w-lStXphgp>OCM2-!;)ma$ql1`!B&Qp;p_FS#j4VqYwn1-q37m{Wpiks~aONz0EB6PYZ`yW$vR zj2j;hSasugV<O=*8buZjm9ElYJ0FSFLL7#96%TiV)b`L_aBdImAsi4%j7;2$*Eoz z3AxPOkidr;4VO1rQkjLF0KEwp^@n2y!Ysbx^>1UA^XtgAOt!`>Y~O~47(TmtopONKZa#@y(I!t&-Z`7XNZ9bocr&{q*|JQ9;kP zfGX@>45TXTxw06aE5o_i%;+xBD1zRj5KnJ)>bzO4#;2e~wELZ?Hi&Gvx%W+dm2r>E zl5aBowaE&CDoF~rwtJ8cuFye`831Nyybn?OU+BEqMXn|1TQ?&uwS~x-qmnU4g`Rzf z(>P}ZnC77lXJ@1ePVK1QhPNwl>#ijXwsLTL5Zf~1BY|#r?71Ksjbcu0upCMc$1GnUn+{!3rfbywKyX)0j+NERBXXkagopB&xPn-SA4H>_nX?*- zP`ueH;1e%suj>UToqDxWcvGRpUTn{o>G71|u^ipzfH9jZ`@$|)vpMW5=cZQDwRqak zSd;c+qHfo_hY&41g}ouR0PrD9xa|;z&VGn#BIa(+gkW=c#L)f)IwV7pva|hlC&qc{ z4-HqQcp4q~ok_JH-gXIt~ff6TM&cVKn<<$|0W1`xQ>Csw5 zNIRglLp^gCfb0Mz+?^93P!(VIH?mfZ_J z^z71s(yaI5kmd3x*kf;DUD#iy{pU1ZntOD_t+%>q5xYAK&(2?SdhgEt2}%RuzHWJ0 z-}&Zf>fY)(RC`(jj=2VjPz#YL!Fymi&VMWAPSamBv8K`;j`>+tHGvaT4W6~l~(6?nc} zr4Fuiym9r?8}8F9zwu6fF%_{W{}i!5WK=~42$KTybE9?Mis5yOnh7c?WGCImCj}ZJ zHWdZ+4IXvO5BJPrTLv!|y&$AWPjlBSc*=#gGxLss7mhnqcod`8n>TM(y{DHe=F8(S z?PVmKPbudQR=dLKXe8y+2K{;>pG543cD8&Z)>Gb#X;o~{=&-nYwwlca-_R%x95Va^ z*=!h5`~0g99>>Nu(NroL4$9SVef$0{%XIsZ;gCXIUsiE(u*fJ22jhv+zS?rV)$B3bux`BObToMKk&cSJ8XIgd?g?X2( zxz^kcCUWEW=m?rEd9#^FR`NXDxP7mQ>FEEbH?Oo}bDIvW?%a;qf~C2ondw3y4-Kg1 zM5|^1rK51@l0iVr2RsAM%h}*bxbULDN_N`}I?2Ekfw4B4$?_T0?zr#37#hEozr;=|sF@yj&UA{_v*M0BO?kXG-TrPW9}1@oy%3eDW12VAwALTT{sH^Igb1n@RrLD7 zkHV_LX`(2NyvtE++NFpnho?hjWrx#=ibUKQaYpJnAk1)yb}F>6o`uVMbs)-At~f!j zohlaUtqLl#C4JvwmPHni6%P zk#M8IBVpLZ4dhhRGyzeBq6rLz7>=iH8+8dB!#JDLHA9;=84V$mrKz|a55BUd2QCA zW4=7Zu>T>?++I~R;gSeZua%$M7{Jr6SN8*uJ?l@)=P-A*NDh*B+U9c;LFW;6IpZBz zhOQc1Q+0=?AH}Z2cJ~>28F*6`&;8-0!y(E&u%=GuhM$VJW`5JB@XZ^*xGp8CN!M;BIzD0J(`&nLl7Lm@L&h>x1pU-WjX z-X&O7ZdfZ6236xO5x3hNjvz)K`_2y zpjjPQbg&RN^dBN~gjw5A%F+J1BNcLcyajsLG)&)bhJgGA6yifsm-qzF)A0z)c<0^t?t=mEfv6dc!d$_g$AQ zWA4^hhnjzQ^A=s7JN3TcAf-?C$62Ld7a|q`^h{JjlUiX_oJh7C>tGw=}P8|Mg8PD7*fqUX}lE z9pd*Rg!?3W9b#DZ!(NH^mp3tfjkZ3X7KGSy^?5Zs37u)RW+?I?m~nU`dn45P1rCfc zMerZIlOravYp&tg6+4o$1a>4n3`zVgJ?8;LB|8z$CN^#2_x+ImoPL>o7Q4bCT1OFb z3kMPwfte;g>SG`ywc9Z@+)lVeN2xj&9RWe z(@f{_$-D5$Zr@%?j}YvI_@@>N=lkMTU~H5H1It?-G4{elzjtnq zMI$|V&4*7qL4QiWE_!47FeC59HYLa~q9b{MXBQA!9L9SO_bg5ax4cMMh{vvDXAhoX zg*AfJ<<&m?LYf@is#MItkqOH;xxXTr^K5piY$(`Ebc^ghu~{+v1->ivB6E?SB9Gy^ za<|+tSq^*ol!9M$Lvj7%PU~}vL&a{%7zzcLYbc-Y*Jvt`;SF}Q!Xj+=cgY-V?CO3A z*gQ9LK*#@Iqz8RHe2}iwAF?k&GK!>2#E&2CNMQVr_>0pk zAIYTpnAnL76JC%$-uMc#^G)Wz^G2ck((xIL>-g3>rggm<+d$FXTqYeTcy`lwoBe3TaX5vT8vtHgh zWr_#sujT@hQXRvOZSMtiM&y`<7xv1yeYivfkx^9a{J8`^D@ZolD{ z@804R8(K;1P1vCcUqK;1dsdU5DZI|R{PjNuVL9IX8KT{flQ1f`qr~yC@<1-?VG?YS zjkWPBx%LRajWyP)0O=bpnLB0vVA!D%YQ?`10-)GBH}LLTM$CKO6?KTH^bbxVWM$39 zYogx6yN#~9W7$mX?k=N!SM&4D=I5Dj+X3o+`Gwx0`&JQs?hujbz6)~b4fo6qJe<p_1qc|()VHk<8FJ!v$lWJ(DK{g4^Q3)(d3U;ZVk zZl~)tik$$*P$HHWrLTQDoyMPa@*T-xj2nEmlF4}CkiKKfFm`!(H+pKGPlkD`_@xfV zt2TU*YS?Jvsx4mnn@z~8kYgdY$V!49ZDiV7`0Nk^Klp|msUnw@dZRHS)Pg5J(j8^V z@Hh>B5Z8hTT(CHIMv&*@NEAN8VzGR1(BcXP`nqNhO>}Bglm04 z0twu(Oz6n6zlEVuyWD#qri8d6^M=-(ScS+mg(~=-o?l%oaDHIQq&M(~zVhw2p3&VSi09qL zi^m(f^o-#amKBl%ihlq-r|O4$uGD1l{Co`%6fQbKrFp*&w>MYLQ~MhHnQcA7MID%D zvj@DuLfO6c^E(y?Z_}tx!&kJJ(hIc#>~%2Y_k}n=>tif12v-KkJNd!&LOfc&UrO=YRIpdU-$xFZu>k{0@p6)w0S4mE&RYjD55rA zI|bKNtBKAE4ELc#{c%KbkS{Sy2wQ~}ZJ1XM(S-`|^}t$i8H4fY#82E%z`O_=*muCl za0=l{@geviktfG7PO@ib_g-^r;}8Z=%z96Mv^b0&5)}{Cq<$|ub4Eg!Nj{f_1DOC@z5B1HYB?; z99{VBbf2K%2Cn1sq*_{#zkhltX9c=4dm>JRa#wz#3H|KCu;Jd+ciWzb${a3D*RJ|b zlmA`crh@N!!uMEIvHk=s8!Gd>q=AL=bU*Ls=1U)~r<3t0N^(|-K4gTONu@JT|HGl1yx8#Qe&GuRbjX2%bLXYXB zu1fa#55w${|Nng78a&SW0R0rAf}LdVN8p1XnD!tQHqph<2SzI?isOtSH?AmRR4Rl~ zO69_H&hpVw%uY^?m3j-gFusTddF`Dd=X6DIQo)p*unb_EZ9c$NzMC}XqTp&4lYtwi zsKmf#;lQg+89Q#m;oZ}niTE{7tgjn60BnyDOm_`dMpauMv;a91W_rBxR6(k>~Xx6;XMpXN)q^n}z!y}@if8}zb? zSEtLcB@f(ySrqsA-N>WU^w8<(IzXj@xfMed5^ueT!Q+&(^Db#cbLN_?;U; zX*bfe;Sl%hBJ*!khEFI6lJUY6SA}AMTV$Jn-0JeLJOWTg+6%j13$In>Mp{I#-H>4 z>hHAay=u?#tKY#~W=WbZu?pg}E5GliN8|$nc8-Ky%6y8DmzC?Gyr$VtPl z-=_=j@i;v$)mscYz2$rmdtPI>+4a8ng~RlGkbTqyO?m@qc ze`OH9Y3CVsAH2h1{JuEHU?FZb0=(_80WmIQ(6+!;puu4lsE(;GE6Wi(Y1F18dAI zBO&Gr1-m_p=2bDx?GJ3uJB@sI%`+K{)=SwSVrfH>TJd|wZ!7r~&7^_uL9dE00P|&v<0|vSMgqA%Xv89@!zn*k@%2sIwmgH~ zb$}g_5$i0TYruN)i(CLJFT05`u6lBzbuxd5{o-R=@9=yDLjz zzTmckaEj_ntX(=FFKhr;t?{(ChUEM7qnJ-?`pa<;w3evm#rizLjNdVV%L* z>T$#0lmY}hvImuX!})Dqf0Z#1iuD*o(J;|v)o3KsrfV%?sPYW?8}TzM4HE(I1%u0r zC`Ts$Qil?@Ibs#o;+ou8bnAL|^_IHayj&}ylu65%nR07j-0q1OnLWQkHrvc)_0DYZ z>o5VV@K=WkYz>o(-K=wmCoB214WwRy|`<4%F@<8oxds8XJe`F#32m0 zJ+Lqm6_eHE7wwHco7LqsWS6%@eHOi9YR@;pfCwgR-~^&JJ1Zw(1sZBxZj;{baeDJh z;UPIU_h&u>bO-F5T1chvS|&Gox5tB}PK(4buZ}3- zm8t7GE&Xh=jY9l;#Oyq)$7-`D)`cUoVTn!D+H1>(vLys=T^}5NSwH4(1gB@%(zoc~ZTH{&U@<5eK=PJaXvKJAFY!vO?I8+-V%@86VP&$l^ z0!CexVltVZ-Z?oT1#29{M1IjkQv64tQ=&X-DQ7M8Afn2;T1ic}$0XS#tift5RM+_{3N zfKRow-HYHM&@RyMNyITPV|;|ahczvK2!;} zFdB8EM7<3M^h{3_@+inBnJn)lbx;uDleDJtQ}i{AicmeOzGF&;6EVQcmsthGn;a#I zKx%Fn;bHQKD3ULVgl=#E*Tc{n%U_L8)UUEgY7K0B=W9|whdrKF(g%@EK(ur#EBYm3 zrq()xnC(OWF;g`dvrbxWmh`eyd`#5n4efdIA3+521rVU@h5pJMd#)CFmP4{=u-Xja zl3aU^)s43~+*jzeOA^LF3^g>8tvyfqU0zY8&*aF7YN!j(HK0i-BMiV3|lP2=eV#%<@6Xd&c=Kjyx+1+4zHGNILir(QpvIQT(4{~ z%ieR>B9IibIM?(b#VmT=GS`Ydktd)})f|i30fUn`5WO#+pj8Lnn(kpau&pXf*z?Icf6$Kb3r0(HYm0%I957Kgw2ejCbtbEuEN!M&0qp=n z6t(7o{Z1IJx)B>I(q~HDo4OZ!LT9iuOnnhE(PTR?v;-Kc1a$dkK!<4s=As#b;j%ra zLYD=JHvkV=t`hK63t3M85Bsb$l<*+XRz9}voCk-nPeqP6@F^HN=v1_BjxK)|&^hk; zmjkQb{0`JHVvtCV)#tkrYm00VF)J|l`KytPk`R~cW;%|!7LGZDAUOtG@(kDWc)i@J zo{mle1!E=6nbPto2j4>Y8Eb=0kH@K%n4x8B)Izwl51yYT*$i6QebIme_Pr`*fRjxc zr)ZN?pG)0K$Wc-0+&|zkm{v`rB1KOmdLnG~0-_Qc!Pv)26OA`STs2wb(W!?T0qMe_#nb*-bclYJ4n_z5Z35|Rls|? z8##ghWWHArPSLW6w3DfOl8gGyqSG%Xe(@Pj^wf(j;0ixR+y%|CVp@Bo6+Te`##fXZ zmSBw%YoPg!rc`dDMXVHkOLrq&Vnwq&ax=nVYUE$fUJZ|-h)JW@$jBkA4b>Qs8?d)? zd?i*S7R#oyeS5O6`d07qdrOM7_gU-``-T|ASauey>&wCs$=hXvrFHpepH*>4p$3D+ z=rD9kTRhW`Ea|vDKSHAcafv~DKZc*B=9rgOFkY39u($y4DRq)g3qPu~qzXZN;jX2T zOVr7^9k!&knlsFHu=mPMtTy+8tgg14W?6*1s?`_=C%QYd8oQw;grwzO87(ro^+=jG z+j^%gKWj5XW6b1LP!pf&H{~P3E{_1y7?K={b=euqTP;X-iTHG~lvP&aEvfL%-hCCL zH7__#5b!?%dyzEO)lG4aSEz|Xd!VvJPF%n+LCt-6A<3xAVd9uIQ3O>(zeEe$DRP+f zTk)JzVZD7~z@*h#7oxqmL@R!p<9+r7;k|I((o^8QQGZIjpM={(cuyM$z|NEQb2!9A zGSmesu+$VH8yw<^IB^4N3`}5fCI>9Qd+JAz~KeDEnig-QJE`JE#i;=`uoH#^A%JUq)5qOWz6jA%dEzi%mfDvD0@*6@-b_<+9fG z8uLJ%bQ;t7XN%(|cT1T4Q(oTUa}+my^vo_56=Ycp6)7i>#__X&wjIzGSO~|6+jY7a zo?ky>E>U^UMTsJI*XbjAoK>u{nKb6riBP!NYhq_c%EZ$}cXfVN(Ca8|lydx%QfMX2 z3%}$t6KQ5V3dcO4Qh3m)7KP?pnsL<~P5AS3S;?J(DF~);?0`t0>?eW64Z%vS58<5T_o#c(pln>jZ^D`_St zYlmD_wtz&VvPiU#uNS=my#?w-8HUCwSIW(08(nQ* zA{!a;G>)5BU^bRWa)imG%Do{uq+19#HX4O$#8ZunJgC8-(MHwcC_$nX_t*Io`y(7c zWl=BPvQ(!-q$`fp(l$eCD1|WRShmWDHA2F!CKzmYW_b9R<4~~s}+}|g4Yw9*jaUJ5C zA)|c*bRB21on$clMC!P%G-OaT9>uKFFTb{-3GVcI`_9Me#60AhU>bX(65Ehkw*%gv zdD+-|gH)RnMwEFZ1Z4W^W;<3_wyXPctr|E5AhCw;n$1Ls0jv-1!MxZ7N~|E-SHe*{ zIw%UFfbXkIiwO`m{zM&io9Z1*b2-h2^J9@l3Fs8R!tcVAg@XOSX*A>q5SSp4Z=j$d zh`^vnqC(8fg)Kz}IK3bWo7?>P4vopIEPEyo>sF1~P}G8`hobITuXur}xE67$YKu*& zth?ZM1?{arU@e2f9`G}A*XPYwcg2;eVjBGWnf!bCAD5O1}Q^%;uuj9A)WD5E3l9@}X{ zM8d#zQ?Y!#&a8M4{xDRkOC3)ghh`XkXDM%hngL<9>xwO@+fujTB9aLiD-#Ya%tth~ z&DZ!~z@Q*mKx8V`YQrMc-dwGRFPz=X3=u!#ne)Oi*;Tp{s3LBF8CI5+dg(u)_g+-=7tFZE)A9l?vB)5QvtdP!EwVkIWE zmu^|@M#>pU(ZGuW9M0fgeT&*%rjl40_MLQIvkpBp-`nEda0(|z%bdE@Z&Q$WB7P6= zF-fuZ-cab5%o+qv*J{j?zwm}$t0M8f^Z2pp9b`E=Y<3~A+1076c@lsYsuF#<5`DRv z>*hAED}r4CRzK=Ipbe?5B%M)Om&+v{LIU;bNyf%e0EVurhNBfq9p8CN#2IxkDx*RO zqjHxNMs5gOt&zQEghRFtCt-MHD_CxS8HyShf9+V+S)kQZEhQTnI8z~=+nKHKdfI}{ zRXebK&sV^3PY}Pn!6P1MDl^W0St;o>6|{?kjb&npR>!eUt2HMtlx5a}5+s93y0;Zm zngS7*74)|cT4CUAwp9lG27^CXX`@=!!S?1X#TI*gHi*8exwKXUJV)I-g4Z;CgG&qKmo1{k^$r2(R7 z5HJbtb%k7(r;*LIGQ2NTXXp7|B95%CS|n~$L_kCA57Ra>eb}D5W-l`_z0}**T5M8u zCTlFu88Ywq9p~c++nYXi6U>! z8ZOHrwI%Qz0k=ZrbDI63azYNYG;v|G2g}qDHG>>w(V#)7(9rGdj-UJl&N6Sjjs>_q zRY@MQkG%Mz?7-Hg4&tRQl$t%|whq79VaEUXg7VYM|j*x!P@ zI+^t$(jd6B?5w(G&-mH3<#h(hjDL2zthG`c zki7C$4_y8Eh!<8zMzieFVB_%@Qal!l`r>M*9bI3|Oy zZ`#cMYOUJV$=I(Y@pHhQMw#6V>01V$9D3*>CZ6LT{>r%$`-~Q}FgEvy_*vv-t_Ll| zG@u1&oD(tZ`PFd7qtYzLa^}j(uv*@99S{g08vE*%EWg3O2U5}gv$a0s^1UwITW{m+ z?YDG}O>F^p*1`Qa+j+is$6Yzbe_j1G5{r-@nWPZOxxE*1sCq7%a$ClHMhV#GVv}sW zVvGm88coAWYu2>1Ohb`A86K&Ua6+ARK?kr`CO_SO;dolLlin zy)saLgYf5>0<}5}wSBscX{UC$^l#@GsULVC?XfQEi}Wn*%8rBRO=CLksm|`ZUvYZw ze<0naNCx&cM1@Jg6W9hAF!*U^=j<0#B*r21y#o7&&Sima_u=n2^bVwf64@ochK)iSp({a+_I0L}IZIqYrrGWI_;$CiZ%E-msC&hrbbTCytnhUdbKdWVz~iyf6(_gIBTvhRf4 z-eMdeN=u--?}x7paYhGm)Ea6UR~4)JVn)kG?Q0a_Hv8%m$_BFhUVa0BzQ00JSv za)b3;(?0tqCTN)IAs`XvfBpyZJZypcWTReG%*a$e@Y(*b)4Jk%#TOq40Y_n%$ zJ~h-`-y<6gklekgze4T66g~E8Qomwiv&Erjvvb>+;}f#Zfo=Kn*}q{ej3usKtYt{c znR(|%zF&!`NW4E_fk328F9kVp`+1ieVXrv8F`~hN(#!$d9si|!DR~95R-+Wd{ zYdBO4&<6r+_kq53+$14|LGXpOX7w_S~c)s{wUqJR7AjV0c=sz`a zZa;@a+?WAn)yVJwL87$+64~t{P`Z1o7C}-jo(n6HRzMQ>059BH(~V(I!yNz92SN}! z2B_iInss0ZM11(K{-K3A-?aN)VJ`Y52QJ=7H14W3iI(1~P*zEiPKxFQiWc9rWCiQ{ z%1ijIlEz|0`L{)!HJhG35!ckMwi)A9R(G(dc;SuCwqQLHLtAj2_o}d4YG$7RztbFp zteT!vs6*3IAGlYYI@Z&B^XXP1m zs8Rv3ePZn{i(H$iX_Vqfpao_KuR0(|YbmW=0Z*`orAnzBF!;?`&>NWQ2FzHJ>P&&g ziJsNklKfChEiS>rPM70_A$(qOMWVhv$hLbtvsLf<9lpSlqFSb@kOGohH@2Lrcx3Iw_Fljx?4?UaMXIR*8<;EDjURWNmZ5gLHccJzEE@t>Ji6yrLNCGr%iI zYB-%9)^Z+}7Nbu_d2nezzUz%7bgL5bY?T-0=4zQud?ZQSjmW=<@JlO}6T}_30#}vL zf@q5gbg}{c6GISHk~}Cg51)b4U6A2-d=$~li~lqVaqd*j(muX6@Pg`6)U$JKc2;8J zih_c0%^(&qOlw9WxSgv4+40RwIwM+hPi4qxbQ|njI&-pWH!UkFe1E-~QC_cnz^*fk zrt(!28dF`V*;ElmKwqD14DbsPzrvyczcnZIR#mRQt`liwN-XAubqoorQu?Zh<^%JXbdU=Q$>N>wg{#GrU&iGVSr!7$JtgTKCh-7vU(m;5=hTH4Z4ZW+nYAj~*$rMZc3@n&1tqcCrd-zR z@gz)+JMWV8CWk?T2wq0TamW$NF$VMbNSdQ7tt@m6puzx|9`cB)k*4_5^cl6A{fahFdi1;3 zxt!5&?N9x~r})iw6%JeD5a1AlK1ZmrylsUaMgz70ld>D13L>?U3WDe$5J*ZIoqH5m zS%xS`up`luj0R@cD8^$oA5b8wTs^Hc45>=P(XU;}+>x?+|CgWwJNlT;?daL*F>CDY zom=#e9mTcO@7Lw6z9Jl4tS^)uTRRHN^Kw=HKE2n-q)={^oW!Lh>&ya7#4hd zb*#>}G*0M~Q3;}_5?rm1>R`anq`&?*9H(6}n?Bqyxkd+zm>Q7y(YM!~;VZ@?wMhH=Vc1Ohbco`?MIMY~;*mMv=H-w?b&uCn*wUJ)e*?Ff z8ImaT^ze*u0t%~V^=`L#{PZ#Y-ZgweGC^WfCFsn0jO3Ee+AJfNOa6^D83XQV2$84_ zziNVCtJ*(td{|u#bd|`jZr#-eKawSfLCj$U3~@#i?gf&v>v`e-awnX__7J zfSJi`9boVzAO%Dj5hiw-ZgOaJZ|FRLL|s`R&>^D5Jqc}x2cw_stl=30qiHBt67(Ky zY|*Jbbh+LG86N5#g@swjA@kFeF3X3&IS8GD2&;JfPjQA|3dB`1&voLtSdK%Ep&c^* zU@%-{TOqzHJ_%sIiXd4$rZ;;>@4;dZ7C1KkOn27oyQ0SDgBxqx+=Ym8cP=EzJm|5i zq0_Rqnd)jNembIHONz=yIVUHI1K*mLp9}2JO~PuB;)L-Hb~J`_Rt6l`=HqKHfunqR^LodLv zA$QG7#=-*QC%EBjl_EL)p;EyP!HnU;hx zGa8P=k<^dG10U6Z!a^?5YeNVRj}1lw{?t&5UpGB;?W5~z(NCa^!;cu*?47aES(S}bFQx7{({71$^j^oRU_93_H8rL6MIy%3 zfBz_Z)sAxq3{$6U6ALy~*~F^G9WUKF<@NV$IDe$)y8qPTc{`@6J2#)v>G{nMp---C z(oQYvi6}U<;dpg%J{tK^Jwc7+6C&CH(ZEa1OScK51uguLX4S3Q(Xcm^$c=RT;SG1M z!lo{M9j%zWHG&qMx*cVeA%9UbHQ5I4C z_~kDksdY{DlJ<(?7TP0i2T!?3d>o?{wvU-T5}F7?(0X8O!W0&NVGFB9iT)!poGA|Z z?YC*$4O4?tx%nn+_Zzh?op|%j*l8nv(uQXq!ZYo7rjhnt9pI65e3{5uRJ1PCmc`y+ z2Aj{I@+L3qEi&G6i`zGQq0e*6E$TC{5~bJ<*dx@Dqyq%hK=^8uYBF1dX?_Qhr_BN% zo|6h3hyf2gz@JPzg0~ytZp&wSHhT}aUNt@jf)j1WJ09mT+7NZ0k85~&V0z(fk29xG zVY^Pz!v+iOH}EaT*(y(-&Wykp)lh`^X7AxoMrK_`nsezk=)iLT^ZPaDnO)Hk#o~sN z>STI^T&Ux>1LD~h@i~4tnJ*!AOojV?GN?-(^7hae^N zVrB}Vk0$ka!iymeNgWnOKBhA%|Aa@U^o~Y0=p~e4X0jZd{dD?`bu)iu? z=QYC|+ZwI>SE#nwm6cPj7i0J(l0S%r(DsoRLZcVIMD$iSU{sfRpm=HmJqObm%-+dL zR2A=Gt3l17ie4{yjm211VQJ~8L8~{gdy!$4nP3Q{adlVuIx94=U^20y=zRvg)-YOH zTBz}`KPitPn3BBq(wmUT;Aly7SE?F0W80og8V01 zGzsZ2OZ^|l#*ys_t_5=Hkrfp`UN?k5b2_6FmTM3HD7KOfBfE!T_FbxHG8fl1HPscH z{`KPb7<;kFC$Vo;_|LDdh6Sw0!^Y0bt$beerQUh*#qVpizPxZa&xgGmc;C#{D`#ugP0?} zvlvewRC#^y%B733!=C==bIHC4L8;k~I>ktO4!doC2B-02B!MJp9SDMpkq$h)G>vfP z_?*rnOJ;}H7qA=xZ`r+zn4T@|)j9P9=SUs%ID^>TzghQ}&znb%X{_eED3}27aPBmx7 z#G^w&@`o`wB~5nc>YE>1-TuPG*;)x6pf_VSsk+(1uC|*EveDmJ+Ha0tk!_LTN+RAxmNu)Gj)HY_o|r63Y~s!dPKj@`3}yWtXI?*2<5U67JW z$=IDWE@Ek-&^1>feTBURO6T)kmQ6`(7i!{ZIUr*(2~DOF4@WS)IDzo(jm)^l`g5e_?P$HGs;386N*J&11J%s}Vnau|6hwv<|tb zSaxVVQcSW1hqCk=V0*4_EMHrlU74qtEM~Jdx4U6`ajn#~L~oau>8u^CE-mfN>l|8F zYlk@t~&PDO=XyR4_KEt;3;v09AQj^VPwhNWwiwdYcDH^S>1SebqsI~xP&#ro2W zcL-5+A=bhGAlb)dY_p$?1|(Hd=baLLk! z+CkB@1nHCpO3Iy-gT`5oV$iw7BtF@UNEAhV%~kcedP81fWpsCGp)-(ct7t(ecSYY@ zqho*C)lx0my7UoGG}v@$$S}Cv7c6cM)t9+krS;*qlAv$-pyBBaJyvbW;EKA!@-mC1 zysS04dt1Yx6|p;-igI&H5mJ&`-Zr-lE&l=5sr}k8rfkE#&=xhh2xLssvYqlwj4~s_|zw0tqyxrjbs*| zyU3)=mkh8yk@Tv7%&gUyedmf zw+)LIETafy9_oeGGHB$75G~Op^&+jc;?Kv+vR8}7eS=+bVf@qu-m7Ge~c(kO` z8$M6Bm~fT$riiCy-Liy@?L%n&QLCwYG(WaV@r*XIQVegMxO;V5T>?>XK1ja0;(SD7 z*wNFy-2#0K_12s0BFx5QAxXC4E;I2ww1@@{T41FhUeNleILpkhF(a$2-_F?f9paBgt3gh^#}ZA5 zQYEJ@OB3QsNgm-+ZsaAul>;ZN^Z01^S^Z2W8yREt!u(r+x*&+A}Zx;>#);&|B z6~LJn-Y8fu5KBsMc}QhX32rz;OBPyvBoI*s{jDO?tsaO>v|R1Q5w1n*IHDV%y{?W1 zJI--X&oxf86}9=JR>R*8ZAFBAcX}+F?^0M0y)htAoun-JCBd z_LH>~wUY8JmYd(ke|N2<)mn@$ZM~$?Vb>3t+3K4Rd`)vJwp;W{d%G;#wZZ--B=oTv zWv{Y3={#Q_~$UW^wQY>*xpE-w?ssyJ!W|Qb?LW%(3tHm{qOnQ zp=GUjZZ@84rFCO^rwk0p3(G}9FYg`-tA?#GBxI9KBcr1uChUzmM@LKRM#Uc@jE<mpKOMA6O{d+qS3d^prx$61xA-LlVTr(&LvyU2Rx0oF zs?3l@NFfic1+JC+2GlpIqb_I`L`(gs_9d~A_xo3hHt6=bey93WewNI})@N>?p1)<9 zwibI_;^Ig9T*5Pvx0vF1G)K{5b(#bnf;pb_H{^~nXe9TS#U0hYkYqNM5n`BX!T5;t z5mOBntmj5X;*UP)b(l7@5R<3xzPOtkA1(GlQa(& z7WeFFx9g)icphgpn0m=ea}kv+@~;(dIsMjugugAcu0J`6VV0eC?0i2#Ep*HMc$9sJ zhi>Yw`3_)a@&a8%X~b(0L5K4+vb-#F6DOxx(_I4t-_z!6A<`_<4BAdX7GUw4i=CK% zhs(`gf-Jr#V=ch(@ASg#q@yiFp@iB5KP2)&j%8*e4;D|VG7`{X--}Q1T7@4TX9rgvle)6Q9N5F;zEB%|x z8$(z*p0^C9CaRssd*56DDroy2MC5ywYgsaSC{-$%x8@>s!`IByEt)Ff>xk?|nhSjsT4nf%$~{uwO_2L|Brv2NOGc-0pYe$CEmO?& zsCmNtLrah4YX}#5mGuv{%WVH`kJ=A8BuBgBt4_c3Eawkh54)GTf8%NOe8%$^@0C8C z?@Zs1egDiV$m-9U%DN)EKl{7>F8{Z4mgRge_p5=Lz!iB)-sO2u2giax50!@Q4eP?= z;lD?AL{8+#^S@EhTJU^fYvGBgF8WaPo#;D7uNV7@2a9hi{!>Y`6Yh zmn#M;uB#lce5-0>)%jKTRXttxU)A>NWz~DCzg#^RTOPY4_O%*U&DxqT)%>!yt@hU1 zf7b1*`}^Wg+#WBB?~Q*U;Y^%Y@2dZM!`g<+8@}4u(d2HrzS-A2yX1)_@3i!`+}bkJ zI?(!TTTa`BZ7;Xix8KtK$Bu!H!yVt~_*Z9L=V!ZgT?e~f>)zP?KRuWAe6u&+yKkvx zY4g&Xm;P6uuCKpuZ{KbGrvB#s(f)guIhNhJ>}SjVw!D1#!;U0xc>EFd3e+C<0FQV)gup&{AlE@4UP@54f{6Sx8YYC0~^OS z-oEj7o4PhVySaSx?VEpjM(m8AZIQObwjA2>!_mIc=f-Ns-q_l|^^tL5eBJm(pc>E= zeILE(l6SUPo8K0U(i=oeuT(z#O6EBG>(txWqB@RxWJjU?dlxb&{xM1$`!0@W2qWS~ zp-}n{p-pTR+Hh=_4hdDPRp@6=3)}If>wUP^#;;v0z#tJ>b5IxGa(oByZNRq*-{68W z-KT5nv+x@{W0amlM=_7Tr%jp^ilmqjmFV63g{b%zzCXtK)i}RGh_c6oEOE7K3srb6*j+pbpBwO#xlUef~RKFNEJ(E_)uwr;#6+ z?rjmW(UvS6-S~R(Y{E$oYZWe~Bfg`Acfhrc%J3H^Jl(_bJ11NWu3n7tLv$_<3AuPy zke6}9Gm7M!gf%z^oPbMh$K^OuAN(2L{rGM}y?$vDIf>}`t-_UrH^5#`&yfnzzB!?a z;}H1Z*G?X5pko!J*H6-i@OjV)eb)eAz?pmq_gaNUdI#uc577?V*hXK)3Yr;)ZdgE+ zQnZMxjFH-!cvq=s2}iqYOe*y_Vh7x&hOE6szXNvtZBnHbIz}&@2SsuS_sfN zo=e9{I-(DlI4v~eNYAaHcB8#x_>Q8j^rh>WZ(pX2dMj~{-qkL?ge-?@f8E6UXAbo< z-v$+DxUb^wjr0-E<+xOj{9PGX)9>Zi7MAIm>GKYhd+5918S~FWyV?nN>3i+c_c<+D zc^|Zb&fgG1R3`i@rNX7?i|6pQXO7e+f<;OR-DqzJ$1Xb3_4#M2a0h9;ztu`sGziQ{s7apdJ<{GP@l@QTkp#E+!oskem^-2I1^<`_xw766 zzb0TN6c6Jl2-m4cc0#CToJYaNivPPr5Z<&2|MlnesW7mudqM~b!4p9#I9D%hkd8xz zCjDg3*wO8gW32Y;S0hM;YnP7 zS$IwOz3>h;U)G2T@!R5mioXzFl|CiiF5M}8R=P*JPkK;#IH(C4g05gzFgJ)Sp}|=2 zXCW(0zMLUnC?`}Gx+C;p=#kLZL(hi37y3z92uooF^QAHD3}=S};b1rtE(n)~o5OA4 z&Tw~lX?R6=AUqbH4DSqI5WYP8iSP~KJHiiy9|}Jo{!aMK@LwZFn2;YU_)5Xo3%*hC zX5o0@-sm5q??&G%X)Q^f2+qx+Jwah?z8y*4j-T;%`~&S+jdnaQz97CV{!+SSK|3Ch z9tt8>MbH`a1#^PIQ?%nowBzB>*Fw*r9X~`nM6?63%fpT^V#TN15&b|rCcc6wQF9x^0mueJM%T$Yw~O2%wK2TocZ0%uV6@vTDWB2JXkY#7tFOGW{FUBUx?X90#r2E(e{tu}BR}{3-22m?{B&FJADqh2 zA^*SsOA2Mdq%btxJrWEqds46rE=y|GY#2_~`jbT?quYXqhlZ14!Pr-H5GTgRBU}BU zP*NC43Z0RzqrgGuXh(UHl_i6t+scz-S#Tnld}bgi7j8IO#0;I?PJR`N7PDV6Uic6N}mOjRdm0KYCbbC90U-D$AU@2!0;%p1nHiE zN^vU1NByHCBP0GKD;*h$B!z+D$&r!rq*NB{4kqP-F#x1=4h$!iNJml==>Yg6Nj6%Z zl*=N3D>!jP+1e4LJL=2nFYb4bC#8}Qu6G6x2M^=fN2-(pG;45pbihBhdSo~N zhH=YJjY_|{JgJl=wVkC$!H_s=G&qfPM1bN*$5>L_x-H4Z@%*GxQl8Y71qn!F=lGMd zuoYDRX4~ipRT=H#KFx+x(hK-| zN70Fky6QtZ@CcHWM1bPXq|kB{E?1lyoMo7N#O}4jNo%Ad*qtF6yxBGJ)Tc0{IQR@o7Sj@e~L zG<5Wr9YJ`Q@?=ig5gi?K%Z}*jSX>sYNV3i4$r4^Tt2|lC3;WBHfifX!F8yD?mLbL)KC%W#sXSRV-#yHetSmVKr`GOa zup#P%>V=s3;O$shu#Ur9gLToDNdn-Akz4JU60E7WHsWjqtLg2_=D?`?y_$3#eN{$paH zls(cxJWvO2iud7-ksgdb^ycEBgmKSGRc0@Cj!s09Qs>wN*pS#c=0|yS1Y`I8zZnBa zV9b%8v3h?5Z|Fh0aNuvj^G@*+07A@C1_J=@6%Z6y`}-il6UXr50uBWJVx}Q3ck*4J zh(^Kz#HplGn8rb*8K`OEmy zTo{0@^Ow<^Coi|nU*@$lKV4L(y)0Q@nz^&+p&ez(hSI~JAtIK;7?vM+F}kH9S%LR= za&!>^X0S`d6~U;ez#vg!>;lsO51*&hOnX0`6njra82=mUBfJrRX^zzULks#lG?Ip~ zn~;$~Y7ezPM3^TK)9sjVaxa?fRtG0$dyGS8MY0xSap{L#?*q?eE@!e1b^6Pa2^^LY z*1Cb$U=OCX44#&k5jiH80j(>_jtW8-3M)}yR9IDZl<_MADDW$TRHqxaR#P1+tf4wo zSW9)NFhq6QQCLTHsIZ>uP+^$rP+^4XbfU0<>QG@L)uF;BszZg%RHp}pGpG&~won}^ zj8Yvcj8UBq6t+?wDvVPdDojuvDomCo8|TryjZTs+xV)X0T2b1;=?RzHa57bvY?`lq zCY|uwJ9&v}@8Tt@y1OjdJYRJWo$#uAd5Nm-<0YzkR#|e%eAWGQ!mA$OC8|2jOH}n> z*)fFU%m_~%rAggnQpz7VH#6mw3j&1k@2rNP!fpU(R>kjqM+8mBQ6CdZsBp}P*tcrQ zt>GnY$5XT}7WBBP>v&3NQ_GUjbtIo%JqYRY>fs~OMAwl*I(tfY2@-a-T|EvF3soRQ zj~p{2byLZcZ0^dWd_881t|Q7s7oVEm|L2p!C$albODk~k3FLhj=33w(FNj~6ds{rt zzBTvmTs@uhe|qf6VO1`ZTKryo)iT3c{oZt0#Ny(KbXkI){6ErVSqKR4rOS!{ci41U zv*5Z}oM5%->lUF_x*c{-dxd?%d3fs-Y(jPj(^xeZ3FEM+2|^EAg--))1*lYwZxH)H zldv42x_fZ81~sQ}We<*%uul%c!idThg5hJITn(ILo?MS#F2mc$_*2{QgfU?PPuva2 zmZ7{B*q(4^@i(?(Z=GsRQ+{kfHjU3dlq>N$fL73G z+lOlh@GcrnyXJeh5|HNh>%#R?V%0^@i-YlGf@johzK?iyzGG5&;TrS)q%m_CMe-UmHu7RHK zN#S$C&xE9aaLLeD{t6b=uo)I!5q>GWD*Rk{jcJ94n2sTQGmPkvYz8JuR^e`DV|M0X zPUd26=w6Qs$G}^U3y%qp3zrGc36H|k+Q+gGT)>YA*SRdf@>r0CSeQjvKH?`7vM4KJ z#jJ#tBE&>Fk|kBLDrgsDtcKOHIu>UM;db~gH?T(5#F~XSVL{%)T3H)wXC1-=3|aPA z7wcv{2mra1qKpf7v1M#ITftTepJ%Js02>rOCEUtZvo&lj8-j(*dN#~P*ao(dZDN~| znq~_dWn*kBTsSA#B-@5KHapl9LvU-hi|uB6*j~1eoyGRE18kZdWM?Bw!@2A{c0Rj+ zUC1tChuFpJ5_T!Oj9t#IU{|uM*eBT4>>75MUCXXx*Rvb62lq@>Rkc^~W2`2j9y=S- z$M*EGL+Kscy?abqyJK>COtXA!_tuFqad=7`m{QhEZQnhn9olzbYS-R9(!h=>Y2d&V z{VY~h6-ys$(#P8Lu`Yd#r;q$~sNb&HJ+c1`Zvp/fA2ZFCbvy%dFkLj13&Jc+P-62 zy*aV>oIPr3>)z?~4-W2|*u!63-Jrr%-H-;Lp+0?Gg|oUneZM_(&e0UB?&wtOb#$r6 zPL9@Cb!T<@ywk)1nb^9Epi`m3$-#Z*%ykaqd@TZV{)8Y^pVL*R2Y$~+^T&1>C(oTa zFg>|vdTMN!ZgTg&>GKXuPV2VsADfuMMeXFS$=x{W4jdfcF}-7Knm-^`t#(MPTJ4Bf zb=)+DhwPs^uyglV`Yo|)wbile2GhR%d-v_#KRvZ~&)6F31i47>Jj zpBf+AHMVC$pDym*Z<^YJhaQ+5r(Y@ndG8+WfvMe7yT@LgIA&_})F+_a7vX ziF9JMDhgwDRmRD)4o;noj@>h!ersGscP!qa)=i|(6CE5-yz$^xAi+XV(+T~VoHp&B z+_r1--1NQ7iF!|cPJOp}Y*4!^)}WGatRdaXhFZh;)c$dh*sg;I(pBRY_0sNxyQZi1 z?K&@gIgPpol|W+c=_j?PpVVG!#*6n&?wObxKRAz#_VlkhYqb-5r%!f7r%Gf3r$cx$TE`!!YSTWhLRywp^wc!FOPuV0hywYm-!nz|0PeqEYu>pIidyL*%a z`^F|ztjFW(TaX7z9^Z9vD}Pixu69#Au7VVgs~{!1RZtS$>Z21qDxoEM)TShQ)RC3w mN!RPi)KfuD^r$1Ly+(ardwcrW!3n0jDpp1F9K$Y<_5T72oVEP` literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Main-Bold.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..33b41998e40d6bdfbe9e49dc11174bd3f74dc278 GIT binary patch literal 35056 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 U&-nwFmeza#000310ssF150=lfXaE2J literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Main-Bold.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f9b71cbe7420582e03f9479a5b1781e7c8244221 GIT binary patch literal 29932 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�*o(8sUo#yn^Og$YS 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Main-BoldItalic.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..115af4f072e4274fa7b4d2e598da5bef26144564 GIT binary patch literal 24500 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 NKg$3C00IC101uK#C?5a- literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Main-BoldItalic.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5c500c285ab55e11950be8b95b43ab163924eadd GIT binary patch literal 21244 zcmV)AK*YayPew8T0RR9108;z_4gdfE0H^!_08*j=0RR9100000000000000000000 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 O)(X=$tW7~D=Kdew)^%+F literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Main-Italic.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..2d3087ab4960a26677e544f8f6ab204326240a85 GIT binary patch literal 25352 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.ttf b/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3be73ce17f8e383d115aafd096b80310e5bbd537 GIT binary patch literal 28708 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.woff b/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..ec283f418b58a52b4d635333e918de46dc22b2a5 GIT binary patch literal 15712 zcmY*=V{|4@(C-u5w(VqN+uqo=ZQHgs+Ss->wr$%^ZvO9m?}yucey6%>s=8{bXHL(Y z)8!^FCI$ck{4`#D0Q`T{p7j6n|Be6uCa=uE3;?ir|45a8pfB1G5ou&&VE-eV`QaM? z03c94T3rYuS7$;1fGhq-M*jmY;5dWjZf&8$64f94SZ02m?x0Cmja??4rE69Z!afa&5#hwVRLQK$Bp{|JBlYX9&AKOhBv z1`#y3adrm)m`Q)^Ieu{Uj)jwMZD;hO$9VIj^Y$M$@rF-r4BUVGGS2+)g#Q7^50=%| zz{cb!)ZQPvpZGxC^>utl?CqSK0RSGE9~smS973=@Fzg*oer&lAf9!mJ5SbYLG3LIu z*a@MJvz)-l!(zvM_J^)FRtR8C93d3{n}{+YQJqvNMKmXwZq?!16_=a$xOGr1iKB~3 z?iFSGINbJhc`m8qblIy%`gKfW=6efRIv%z7+>dA<@!iyw$!_Z*0}b&2up^BM4o+>3 zfd&=u)_!NYHE}R$e3dqJRDsaaCU1TWA3uR9Nov%!OMy|NJMJQe2tzfcBW#<|V!g){ zr_H@Y{4#8JWQ<{;rvpN4+--5#D47iGQ1y<6w0Ati5>_B0Lf++6Q60Pk76u@2{t5*{ zz21P_u-+68?5|yi+iBiV?S1g<1*^_4qe`eIq>xukDh^O0%Fw&#>^5#b^yYiuJ@?KZ zkT&B&u-lG3_y7y+8|O}+I^~CB?;XGZGRg85)Yl{it_d>+J0RWR+t8=K}MXdrI6NX$ew}D2ReAi}} z|0{l4v=XtbV6nnpLh;pv4_PV2Sm_W$b!xA|k{OA-J6Qq)2BcWYVBaLskMdCZ!-+X* zs_0Ot%=13~IRFBlX|$@{0bM?qYYydU6)dkHo1^$I-?ok$b!eOsXTFQN?zeR0 z(c`8|8a2w75+{6rP{j`mGJx5 zOB9s9p5Bg?bt84gr{90v*4Y6;SL1s9^7GpR=#)ZOTw|xZN_uwUY>OL+(C!&wh!lb& z#5n*Fn9?lleIjy^AeI1Wk=%wz7HK#KbkYH&tc+b_rW~XRDu;BHiK5pOmES4$l!hkA zyY?3P`RWpB=>I6v7gv`o-D5snJ**uZtPKq|ip%~rQ*ElO9Vc$tSdVWM6s~2P4@eue zw7q+E<kkKW}n&eY@)U)g&lGHDFau%YG+$Lr5Ks)Qr)Q*bGq=YuTlA3SW*A z0Wzfb($fFAorZ867{DIwz$s6wYa_DM3jzlHQ#b$mm(Z+f%&1^UwmU;3t}^LQ#AzdY zou&5z&_b=Q<4JwsoprcWyIf2QvS}S71Xp_OuCFe&V2p<9a;ru7GU7CWdP@8;y70*s z&`|d%g2#@Q{Zr(~t@#d}w5vJNm@QIkiS(n&%l*ssRg6PObswwsuy`0(wz^tqG|jiG z>%y1UQ4KVMq*HYyWwTFVwE0}vl}yrTcS}P}!&+V@FIrFAfOEdSu1J>cc(wJDe!P0YU;2cUMWfDrmbTapLV)L_eP{AX z>jml9V@~y(jR!P1g+0aDUQdg-ke5M5lUJ~<089Qc5RMdLXSMP znJ`Bx@%F7bBunktO*TSC^`emuPY>~BX_MB3qSjH%(O~ooJ>Inb`OT!xm86hdUJr@- z=Il$lx2^l|H)n0-3cSH;;sLd5v=W)h6kN=7osE)gvjasUd_Fwbr={KV?a5X7 zkYrLe2Ph{av4sS2ZpJGgp$fB!H0xnzgnm(6EHaPHD)FJuTH2BL+Qyny{CTUh>;0nI zzu9gyYn?sy0k2J7i4+!v>SCa!RTCJZjD3C^N79CXd1F+)QL%agR|7Vrwv1nKPJ;%} z5A2J>XY*c#f`PS^qYALj8&cpPP(QDgLG-o2)Bnue|Emp9c_y{7myc5OBo;{TtlZ(N zex_#}*A-mD^LH2KkodR?@A*Ae5xHHTm@x`-)Ob7PhCOeZarG8{+HQXu07I|5p|B^9 z*?oq>oY9GPTag_~5ShggJ}fhX^V)?$-*p>!ip(CZ56?f8rx03oCJqQ&QX3z;JrJb%SZR4YlLQn-4fVjL9nA!(2`dw?{X1QaU+^a7Sp zYWOAb7YZaO$f*Cyl|TV1Lu8kxX*Ty!YZ)oCsrO8jj`;~b8n;jP*mW74<)Pbmwcuy5 z-rWriUAc~e*4@E!;sDsv)na!w?O+VLLrIFvw z4FBaHCO3Dmuoyk+G4ygJP(O^PYuk&(0lY*`BafuUqwH!BBe8;(GZ(ktawPF);?NKz zE`IN;!aZS)3bau7@YrGs#J7Dczp%Cg1V{Qmm8Tmc)KS8--P4(Pz{8Q8Td_fhO{zgm z*g=K{m;OAeh_I;zF`4WE9YMWA;goq3Z#{)nl|fozprA~or} ztHB&Z>s1bW%viq6uiB4)EqllWeHT}E%XkO6)@93x$e%aPH}yCqbD_FecoW>Z?sHPs zhdZLQaNcjF*Wqnw-uI!VgSOmXiSpczTXQXOuAO#gGwO1+nd;CK2GL$je1%AEXiWTI zCD#Ha)C>!MecJkG#u4uvVF=a!%K0BXiYWWpPg8Ga)JW5lSV4`fn{?1j@MeptY zwWOh=f}L_3&^0i`1Tt?yI@h_*U9SVzm)orRCwaDP*PI9ye@YyMXoK93wW{dMCL&Znm0*9K(e0;2}fyCkP|fU{+(g@WiyKON0vw^ek^radMC!CN(JmD zUc46E=2rd=Rd_^UrcrckYI`P(9go|!Ua9Sy4@S{XdoCQWgyOHG^&9VX#@CXas@$$l zz2k#;xqK=jfXMgN?gl3Niuhw{2p1Tt$`-Y)EZ&N=6%JE^IVsq${&1)#qqC^GH&rk_ z{1C2{_nWJlgg0kdU|l=Bol7%QsL%iO*#a81P95cs5|L3)mi8@h{P{jw@3kgk24dez88`}8}XNM7$gP=q%UtdZcN!{LlC2XW_w7s?-lBXT8a79)X zG#)v$br=HS&-qZUu7Co~3>-J1<_uXD3pbH3leK*=A9Q!L44Qf)Mq=Gg(%qpa7ygtIrmNEV z#)YYbP#IKDsc@?)ao_U(gV;N(FEZIC={Ny~Bgnb+F1uqG;H9_v^GuMd!V?UDZEyYM z6QT8i`p^&mG9ncfM(T*`)G%^joG4-LUStQ;&ngS2`Y*^k`Nn%`@UG+?Gy5S30czac9uY}wTRh|qp)3JSL5XY{Kg?=POmSxjy zjJ8aA>fKjPZ8Xvx^ctYq`y!%e;iV>=@9q0Aa|MJ4()V@c-(l4OLB=cwpLNyEi!G`} zoEO9Tj8GQtNPQG1)^%HX_Gg(~3mA?f*JJmix>DxWo!bd-gGiJ&u{%fGEhaQG%+)ND zt4hb?voRO{7wT^xmXPKHOn}P1&qt$9O?TPRFEWwFdtED^w8E;vxE@x6bK5Yx?2D!+TP! z_S%`kpxS-%JRkIz`KaT8tLE>brEOa19Sk3qNr{xLEZVjPaPRZnaRDCJ&O#&s%}J3rij3)NG`l{%Fe;=E?-)&+~4Z(rr6oI~19R1Qc(h ze&f~`Jx0C%1q{Snt`dqTAqOcD6TQ7 zFWuPrAkF<*4DE`BE&(;*E&T^IF0;@}E$%k7b;~qJ-sgzHn;;{PkFLX7TG*UKv#qtL zJYnG+xk6PChI@X3v%@0@906*KIakE*?aj3>Bhwl!hlbS)RgOm`5J?oio^mmlpz!>r{>P`b19t2cN8c(+}i!Mo6#>}fA5^h zldbMmd>0q=#8xRuVVg*h0Krw-c_k+>GeD<~%&4SD49nC((G_riblPHPA97=-Ea!5X zhdOn^%0eHkqDVQl$?+o_Px|!3&@Fr(CP1#cEtW!%yPXK3*I5ELN`hooP+{0?qdcPekd3ws)JQKJ|kNs{jcw6|+Nbc}fedg|^5nACd zw*3_F)Xk-?u_WiAm2OVGgj6TK*9wjJ_QVC#x`XbPx^<$4w-?X>0vyl+IS;h%I|kzV zQ0XGBZOG{557LR9`T4Y7CT4ES{mh(8DUjVRkc*pv5Ihd^(OKol=VMWWbSSa++ul^( zsDArN(>v8;W~!Z%l=vw5C5u*M08#H$|^`8zrDyNj(bILKmo9f zpg#Tc3#Tk`d-wAEF&SfSU>1H{IH0n$s! zfkOQiP}o9R(xeA-mmmC58VQn3$5KPaOm?=7pXe>Rv5ze_{9iKLQ(nI7E@#&A*KOkB zZ_n4bdK-(^;*z=AcV+j_+3Dt3_xwMuFxuAV-%iywT`d2Q;5QT{jTGUTciuN2=0#z% zR&UXAVY#e|#bZjDjZ7(_Wt=qtWeLl|>mb~40*)JXc9@6c9~(LOU;QML8t!?nIQ_cs zfUACYM`cJS?X7@`9|LxrvZ=xMAKz-tB9~4zd?uYO|M49=8u-krdmnFjXtt4ZA-S49 zdVV>>*wS^#5CS6*bH;Fflh68|MLwpZ?5&@7yPRwLLdM@D`}>C<)4LjT;Hj!{mkuyI zv}ukZ>$q}X_br{rzXFGWQ#?VWlS*0+FC_F@{Z)Uh7|ScWJ+hY9j#F0!UHrhzw@JW1 zd=NM2uGBI}BVA-sXIO(EVRE$mE`zHe*Q=s`$p-7A@9U-%DHK#zrR}S&4e?l477J8m zZU|w<5`~-26V2}Wbg|)ehN6 zXK5C}zqe3sKWHJc5-n0B8tOvL4qP4_$-3R%q#0WkxMp{}vS%&5VLOr2b6dveJ7_1) z1Ms)U_4lv<GrDf0-URVQy;aV7iIQJQaFP zKsm9ImthY*&g45FE<$6l+CnbZ<}bP)XbEoq#loPL<9l&?V5|M|*i{VW?T{6)JM+i_ zL9<;sI!?nu0c>wP^!v0&LLC^9ktDWO9jTkDU?Br|TjF2#w}&#$%TNLezulEPAN8yh zv%AybdED$=@hE9G_Vv20wr5%n!;S6h{DX>lAfJ1fta8^n^45%vqz!Z>jUk@74d7|r zhY5V-W`P=Brvrlo`8v1SxRcv<+2QPQaIseVV-1NLeQDKXUGjT$s!rYfp?RYA;QLkU zqc8sZA=jAp7!H3>kIN%pl)b3%SPpNA*x<4k*@sd1pUmsR=j{qF0ZW9pSK=m23q0&q zTgBb+GC!KWdFS)L^*ngQ4Eg0h3B0bPo6yfX*6JvB{{(lr)OX{l_Ri#(Fm{3|;8_w&!l@=bWjMbFwRptsQo34Xu%es@ln|ySaDUrD8~h^L zL!RbU2C_Pa%AxjS03ICMCI&}Ok+9Q}S0UCllNRB==-U~hOuR5Ya?nqtZMa_?%Od4; zBpi3f4JWS9%tj1HPO|GDH$B_-$08ALW*cr~(}xzc(u$)3DUdN!yGE=NfA>TMM69wB z5_?oX31o=Wskl$;6bggntd@jIq&M(&>LL%>rLQL$bM225(IxP((jT>vE)@ySK<6T55ZYqQ&9Ati^Ykh&ix{R8)|@vwih9XT9&w| zg7^c6z4uZ%%TJDVAA6wd8KE1s$y;wY)_}16)`%m$y4qpq(~^g1#q1rF!)mh2YC;lH ze;}BM2eF}Gw3gv{DXWo$p$j5B2&4w=1FtYrPvB1>B|8IvE6~lQ)~F~`a*>g{SyDpT zh<1q3O`?V>^L?Q6q~fmqocX(cI29&`4$Z;;4D&tUbh6X8UpD~shp>w9tRR%cM@wF` zjf_9h8-bYb@o7x$l)S%3oUBn=k|xQ2W|AbHV18Mj+q>w(QmkK&lrRj)fFd1Ip7T^; zFrt?YpkVIi-pSKQ=t5KxvGct+_jItof_63O5Y(mWnYnKdd9;ycv)H)jER%h+%RA|w1cmF zzn>f{8_yTbvJCGVEUzAx@+(_g%)}EzuWs84hnt&NW3Q$$-NCV}tkx10fpy!a=e&L0 z_8-?V@KZNFnE^u3{<`wh{_rp=so87ELLKeP^MWk<&C4+8qN=@k zt(kx35qO=yh`4yUqtdp7%@jmT{Vd3!l!Aa=AMD7}CJh`2>h zf>UX95*n!zjTBEKIV^7dc{?znqvro|(Y|*cO_5-iP334Iw2=*>P!>GjD9C?L1kv%q z-A3_$jmkedmYW&QY}{4leQ>aT*e3197TfRaNJyvAznp>P4_}NpO^bq^2L$6dkQn8# zh7~`V~e_Poi$ltW45%4W4hwzmmnze&cjcl7dyCunNb=m^PF^BXcIBbhK?(5 zSlF?wPc7t|*&t+2jC>-I>m|_zwO6nyRm;$U@V*JTq7APy>Wsxi1k3vuNJ;GIVlcjpBFXrx?BrZc}H!1b-`1O`Hfo zI@MUrEKEd*7_FBH$dbK2IhmS;&~$Cw1$jT7d0Dv}xuT5TA&J}Y`)muKlOB%465hM@G&gy3``4rRiWBYaG+qT4 z*p3W%Tz%cUGzlUCAwcH($3<*B#6%F@s6gSu@>kdyZ$}Gk0n1KsrqgM0j1l_SX=5U? zE>S<9GTPb^_uKoh&DO}i;P5uG{VsbgKlh{v=jo8fPw^E-h(}=%^B<(*jNe^-AowTm z-*~zfyE%w>gB7F7n8xqo|M3Bg6c@!CU;Fj?S5r!2PhVH$mB@f+IT4B-K-s9bl8L3I{+_C2z&G zt{Cfd4Ze*?tO*AR2x;A<*H_;gQ)M|Op)!`TX<8|{xz5~$4G;)Z%!8wiO0>kxbs()D zpkF6<&tH!oO^jwdUnj8^-FATwhk1Kiw^lQ7TDz-J_#)iYO_q;ZqNZb(g^ZeX(_F>S z6r^3qQ3GJ*%KNA`g%yUG=ZxbvauX+nb|Q5?ZeDI);!4RuI97^qs8Nyyhr?peq{#`+QK3=Qc;dvG;_$pfUC*G3SC+ZdEGdu?k4MO5Kxr4) zR7IILg;37V8Od0u+VfDlS+ON7SXxFw36|iR(o%~s zEW?HcS41r}8%Pl`2noT?h6!NxHYG~96VGj3udaB0OlBfi>+IVODH*weYQF9*^wYPhnqT1M9vvl&ykVu267fuA!;Bc9z;O;ICg)#p?c z#x7#ea`c_go4;Q|`*yLlwAl{#?FPuDrPYZTNC$P3ZD+u<%U(Pn6C<5kKRXxJ*D!|L zdOI)RpiUJ>SwpO)n*OWHdbD$C@Q^w}nbi}e-LIe;_JwFE8Y?-T|5_cQYU|1+415pmu3{KEpd&etiX2o@ zJ7A@uQ9)x@VC+L)%9WtpuN*}YjrTtA=I+(7N8QBEcDY^b4swe)AMXJZG%m%MZ-R~H zjnk~1d7#lga3;{uNh>CW}!(S>jPFJN|AQ=&SV{>?9Y;JU9ynET;20!Khh9VHVT z%!KgYJgfLtp|TttF*%O_N`f; zHM7|Ah{#%7gAWhU@X4t%F_$|ogakA9^M!(L{IWZ(>Sl{kA9v@G_2mI)Y-`ue?ktup zQkneYBcCsY89!%t`}dpI{Dm3s-XPxTr-RuhR^wxW{s!Da1_2r#T{cLhmCW#h)g=@( zpmGMgnZQ7iFRH(B2-+y4S9-thq_J|~LxVIzRK<_}XqQ=%I59UGMycY=@0ki_H*;Lq z+TTg;=33qPONqD8Y*o65x+I?dbBgM4E%4M=FJWkfm$Drv!zt(=5jk||box`1Z_Qgy z0@yFj8sHz;_Ggyqmvk?%Zg$^{CXA*oCNre2u<1nkt)DoSI;6UTX*l_EHY~8*^^|4% zglQObVZWQ{mVSOsX@(TAUnVdS{bEPJ%~YTvm}xpDZZ~h|aTm zX+@QPi8_g4U?#fX+lx5~k`}989G-t!g}&4-^L%FH4cZqL6Rs{~+*%!-d>a^QTZ%H! zvG6WWk3J0}ynQ6^JS5ZIjt&z!Ht8J=iMe&@1Fo zY(yy8IZ1L|vbkC{(W5kUpUHnwH`%JR_fo``A31$}>=FOj!#W*(BKsIrm!>vbdv8qu zPWgTmZxd+N_iW5zPDGUk5QZP@uDkj^+iSE4VJAW6z%uNRihspuoQZ{>a){&Xtpmy! z<^mg973{1vDq`r8hC3s5PMqE}Be8RHwYL23`#_-I5$99Iy(1V;tMS>ZewR$)@$uA1 z^CxZ$leDQGIXt%!fCWneUUvK(!WEsT0e+vsbTY80)()s?y9@vv$y*zfV()k6|!@;w+ z!Z_6=#-ZF~u*=FutDi*(wY*-l6@z$O8Q5%-iBi$3pjEY65~Q+DI(Cw^UizH+Z-k~! zYhbQjc4s>Iw{!CjB7D=y$@&XxM`^=k9g9eosIZ{G-)=!QJsow)7BxMofEi17wJeef zxjxPSJm2>M<(M_&?UNjsE7ik%x8>Ncr;FyJ=)=6>0{NbZ&ez!nm^kc{&!^mh(Tj`K zsr(I7GgIyxc@902cp*1dEGHnTnK_wyk));rY1+EC#3m#wJYWnwiV74D`i6`iE-zYI zZT}@xmoF+Dgz7-k&vW^+&laAtjZUrvEr^I6>E4`lt`uhBp!53L+N45Kn}BLZ9XK_V zIvB6C0ndU7_{-mcUSYqkD!6RoKkPDR;rUMn4nNDJH>etUO3o%&cG6D?x$SR>No_px8_ zP{yD=zF!S7$N|Vxi@ zLze=@#6xUAP?W5k_#e9?QNq~@%JZ4J%?5|Dd3-_?{6<)sb(Xv#D1LWm*>pJJ7q6aN zH%JNE*nU5V5Js#<&m}B1ndTLAL`%3;T9|7Osdi5krGmF~tWw~#cVxW3)^$O>Hv)SP zznjxE_9jHRdh@n%ZOL4~W7*hgP0FBx#d5or_klYBh7};E7Xl2=Q%C)X!4xwrTLvF= zCoR!L$rCX&B&(8`{0I7)s|IXqxC1z$1&(!+v@h83ggc$U>c zszBBTBmyFJ+GR>5msBsYm70nr>e^Ys^4S8#tW5KiPFeY}n{((AG~rifxgO*f_>N|J zuTNv@VrR2KB$`eAae0UD%mzPqhS1hX372xYI|L<@kQSo`qKAJ*1$R3!8K`iKddO zUUMQQzI<^-d9hbUrnj~C?!>MEA8V-9Go7_~kZV#KC`OE|@99#nbRK~JG_oN`}cB~o8X7fjM=X2 z<>&Hp0m3f=l0^=iIB)06yx&g%On5`^fxWH9a^XdPmb%iDH-D~Mq8ssV&4xyK?4Y6x zQuYn-cVv$!TaI6Dim{dPq=srjrV5;MKG20M9KGOiMZ zSBayy6@kEw`##@+l*_ztBM102m}c#V{#Z0wGVs{I%#)Ey-uxNDzx!5!yH-o+s$31L zd~*5o;SG_CY}w`Unl-fOb3^4m$jsTR{mffieABYfmdA~`x!PagWlU(YL$IR8Fjq@O z;*s>y_;qQu$ELEdE{+XFqTwZ2LwY7j3 zCvSef)}}Qp2fH<^Tf38{2VF2rCD!=^LQvPEF}Wy&PSbbG(h$40x2NjQ+@;4BZ34%h zyOb36?Z?cHo7mB>md?7qxc57Go!&FRPN?!!gY$aPTeigL{-`#VIO3tI`Yz{If}5E>WO=4C#=s@hT}a)Y?_LvH{fhj_bdEdj3KdT$@9is2H9HIpr8K^;I%ePm2mKx zgR=W@jEOpK=lY*$UVMc>35mgY%F5$Er3kXGsse?p_`0U9va$hTV{5x- z--l`{e{h5@iQaEdmFO9|10b>!YHh~mS)P)- zJd>B0{TwyCv3Nt(X{k>o4%R<2Gp~#1eR|T5_G3I4S=jt z<7n50!aUOS1ggtt3#2;})QB^Ek*_$;Z9V0llH(!8&(nyZ2r| zt)~EaWAR&_AM8lQBjr0)>JkYFlwuM?KkBvY2v;YRJ>~0}8xyMG!E5+*h3koQyR;6L zL}kQQU&TK3{wmB+5=(;#1Je<|tIw^Y@F;`LYp9Z|qnB#>g9`oZIOI{ejAUSZG!-S3 zkbi+N62|c9rkTe7_NoJB^MW-|7zM*8q?EGMV(0X7s59XuvztyhhpT|wa{Eij+)bTr3!76x+Z3$`m_O#Fv?U&bUpO8$?%d7dg-OxThw23nl)N#sO z#9$ght})>8vLMLmcyJYirgSfstenyEN@d1sr;?<6~F1iPWSz}eO{sw zuG8Z_^Z9v=!_j|IH*97)iv}In*m=k5mgQdb^xGj;g<`yFK#4s zjE}+-8K3VMs-i*RyA!HcP!p}n9X4UE8qlM)kC+S4Vw{c>t8IbrNG>(D##H>OQ`XU* z&oQ;H;&-G`0*mG71@nA3|EjBUC@zEe`x-ZCvnT}4Z-qgAqzZCT$=grK*|?)Um9Y>Q zmHP5iH^#{!KbHk8h&1*3*RL&m_md=RD3!~JB>CK1BCyOOS>pTFRrfS{>CHY#0+WV^ z%sm=ZUau0Xy89Hm8ca&!%o>j`R`Sn%2%d;S%@)^RWHhZw28W_)OWpEO$sP5zV@+r) z|Js(Qi^?|X4WqWtdiu$sF&BMH;{E!VwSeXVLps;h8ZYDTqr%eaP5)i@tNMkrwnM|B zSw6-~P3Fy|c8c3M-^b;uD#fEkR*oKuB|nD#+mL=?KwEtn66Z3-kGe;MYVv*V%4Hb7 zEy)`B-m#e8toDtmDPMh9&6yl>PSaD^f)gOvJML1>W;e()Lbb87$!iRE0Da}ztG;y} zfTeE9zxww%N0I6 zNl}tq>z+2ZVip!W^APezllZ+*U}2P|_BBRL=zFR;qc?~3_k8g;!CT8YBwxVxzwKr> zoS+0W1O=Y~UnoVfI?*E$h4ZuvN-6dMqHdR6n`N7>#-}|LO`(e0-6&7(jzBWAY=m#W z?`QLGJDKWDr=Jt~|J5>h11texKNJ7}1`q?70d7AdW0TrYb zM)1uD#0Z`U!-!;v_K10i-$<%RiO3kp#>k&2HmG{2J81D}v*NqpF;&@be$#@s|>iB*5Hv~}x$As*Jk3_meoy4rfF~qMVf+SU> zV5Byr{bYcj&O+uzRzNmGj!Z5`?n9nIK1%*c!A)UEQBLtf$x10f=}tLA`9XzC#YCk| zl}+_b{hPX(dY1Zv2A{@=rji!+=kEW@%@5|$4lwl)cpd>TASeIjWSybx{{PYMp>J@I zW8kYF9`Yx9|I^&pWEDWnyA*MGpMCw-*-9DLn{B*S-3_Mxjc0ci4^d56ScGe(Upn>V zme0RpK^)ry0gw=OvT?(~9l{AT89PVhA`h8x2f2--$OjQ~qaiHg(#@iM;zl{6%ig|4 zsCV`IG4@JhuK%)}tJLrrf#uFYGVH-5kigxfjE^Lqj>K;TCw!4ItLKesigW(kU^ljG z8ZqLLu5Q@Y-!rX8$u_3=8UZq{f6id@H;atmu1{|H76H1Abt6Sa#Cf5(CRUB!$9Sc9 zjk51EbK(9pzaae0)185=6<&x}=p)n^nRQp^DG%<#R9k~x^RR*Y?6QxAHHJRW4qqmv z=SXIi)K;o9Id684j?y22l@vOAX13L3dN=;q6SSM}yw4!T08tG0cxOB@ADW|%V1vSF zCEJ6*Zwn-yY-Z@bW~6VdukZPs7ef^JI`m!mUBki;5t$!o3FvWz7$MlyyH|f?WY8ZJ8xwO2hOyHFW*?%ct%Q+-k&<$RndYNKKitrB_(nP) zpnyLX>#rBWJX=087`PY!Mji3%XHIQtVWChUM4xXNiV@pXtgL9SgIFZ_c$@VjuJtD{ zu3m51mEc>RpUM~5-g~F^?iQRa0I3ikgI*CKoW_VS(%4LlfsD~AnmAOWWQVixv-b4l z#=o46NgtjOl07P4WMgoF_)yq`{GB|fpyt!atJbSDC;zY^VQ;dT3Ej(~+{;n?%c&*n zEpqFbKidP@Y^953&eRW5(~rO79wiW*^`3M2Qa=cH1#xFCje!CF<#Gu>F;}V_W}b_| z;)SK|GPe?Lx2@Xl*DbAJIPPA3%#&s&r_++XKT|6t-t-}jb>8D<}%&q^O4vw!C zO0{{@YG@wwGR;{%>AjKFBsO5qs`*0d+Gupl^s{AN+{_P>chgjKND7H=Q)=yN`~~OU zt8ny1OSMNw5jeoQJ<-k<5_V*xu2`>c&snobBxTdGO*B_^y7f$S*JcIfZ!!fJc(kWK zYKLzv0O^%qk>ah!g41qPT~Gr~O!BpV9rS1%TTBJEVM(b2AAPgwHKo?2ZMLOusA zmB%o`T}@mdtRHq65H46(PT^yPvv$cBtb=E+uC%Ugg8tUF^WZU-5Qq(_=viKXj)3sZ zBsWZKmX04NVgFUqPifAnWgM5jc@X#1rCuG1k5!6#$W_<`q&$YsmSOF`Au_sHGPU-J zXcVS>Jl&XFgVQM4HOR&(jeeXch?e0TuE5f28Bl!vGT z?1H@Z-W}SuL|O_Gwvw1$K9uT^>XuaE-hHi8J2Glble=vK<@`-NPCh;D{&sw*d(JhV zU*$|bQ%E*s+<}QTw?5 z0qnb&T##I6=US+v<98Tpt-@I{xE4{xFz1GhFlwd9#aU}9j!aM#}ukc!m+F(ibo%+O9F=METTo0 zp~L}q2`2h$HIw!4r=){vV7E=!rh^LE>ws75@4UsRg=A%?0 z`KjK``&M3~FITaQoRHr^>;&D`LpOBbZ!>?jh2d}WO`*!RLf>;!MsTf@=Cw0-=HGeb zy18J?>Gsnq+GPyA*e59kaSAOf#!T*8wfC~t$H3yAqL(u103om^zp%8IHRwXRh52zuHY z{YCT;eU%@Ijl?wq^CvoSPEfE>WR^pcs4X_M{Q4d`E>W=oG+?^zi>3t+hOCDH7xC9) z1`xy>(O(Zj%Y$-|Y!_#>K*=Wj$Zi?^-oKiWKAwN^a581dvTc;N%nhHtk6Y||6d+t~ z@|iW)US@;hd3K+^kA ztBQ6MSo+by(UTwCi9Ll7peG$2%2&jPET6jZb-Zy~$f zhzuc3kex~t5Rrl_YGP{%dWNrS4>wc#x8N|+=ytNx)U1Aw>dU6^AOfhtaRqTvpm4ZO zv@8uKru5P?`EIK5llRXQ=-kL}(%|Kcs&#iNFXqGKoOk)6EVc^1{vzBUT^smWFxs-fR_zY7!`sbmba*k6~(UNtaW= zE-FhsMk{f(bS@{;V@jnZ&!H7N+j!VfZ89d?Hsy2Eooqo9*i|RSmD{~&94B`w zU$D?P$Qu2(C*5rI*%MP5l8_kb9f1GK!G*NhpDU;W#^f`nPuS3qJ&;uJY9#)@c%A^xKjB`oeJ0V*L$ zifDawsDCiK*7wrm0wR4aMxM{Ngo*)h(;yuO{O7+H)Is26d}q8dCLq89XCEIt^xIYD zkHFLEcTGAxbMEW+We-z00$^bs_NV&OeXS}%G!<0-2}!d`y}4;5lxl$FOK-BW8tWi9`fG_o{3vZ#R}w^**kE$XY{^^uehiJzQ0o@sNkZ zl2=dedAMZlhxE~}Fg|92dAIp&|H^C%nz2#!mameRgcq#oMV6pyJA4nS8-d?N@-g|x zk(qEQ-c6DJ7KjDMo`a8%wIRBV-v=%zF#EQ42v*8Wff2&KYKPyy^T+S(BZ=s%xB_xN z(6*5xR)SbAUgPFpl`j0vFD6iGL{+4{#FU8J2I%B#YKMY1hTp?CYeLG4)VWq{S zHMZ+9@}Q!L2nV(?4@GCzUOg*xWbrd>DIRg-j?B(1)j#> ze-~2YX1qy$gkbA@^jXUCk92+KGxVW2aFnY~bk|oh~IF%`F+IZ+Jb0Vdtc5_HSt$G7Sc|6*2CIp%uDJLpK;w#(R#tG4TaFno`Th|*k-s}Qv<_w$@*zL%4v>F$@atZUzw)3j}= zub1<@Z|dLWN>yT2T#wkS7E9%_9q>8r&gZig@;yL7p|ChimJ_W|NhLB_Ojc7$;p&R6 zru-s!t*~{72vEav*<8-}iAzG%MZ)C9!t@8iM5tA3wHCwGbnBz%DMu#Qm>k&t79>Va zkeAj_#drmcC>36YwzkAp5@ME;#98u&wn|dO$|B^-0_0Zqrk=LMUgm-hrgFacP6A@& YP67_(0D?1a|Np+4fdD|?-vEUF12rWvIsgCw literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e46094fba16105fc781298a1bb73b7e9dcf205c1 GIT binary patch literal 13300 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 z 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Size1-Regular.ttf b/source/lib/katex@0.12.0/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f0aff83efb32936ad31565206b00af3c90d6fb2a GIT binary patch literal 11932 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Size1-Regular.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..0358ee4a3eb557fc65845240c3547b9a6bc17a7c GIT binary patch literal 6300 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.ttf b/source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4f72f167953526b7d33051bd8cf0c2cfcbab5718 GIT binary patch literal 11080 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8a053d23ae37b5b78b68ee2fa436e4c3600eacd9 GIT binary patch literal 6012 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..181d9625a796eea012f0ebe09f720ed3eaaeab39 GIT binary patch literal 5080 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Size3-Regular.ttf b/source/lib/katex@0.12.0/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..56d2dc6c5d2d2d620951db50de45424415b704f9 GIT binary patch literal 7028 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

    WhCy=tf`#CsnM?OSyFBThPv3+g2 z$hX(jfhygP-mYwOkE3_ya8|(9t?zDffG&1!UOmx1ABW3c>Tc|r^~i`l|CIdY11#pD zLH??Z)d$Hi$ZC2$ZItEKhVs5w@-d281ppgK4&F7^Pa4L;_r~DJljx9EddEIrj&sgvgtH32-gwHd4$x6pVS(R zMnxc3Mx(-WGcyn67lhLu%26BUUrIp2jGxOuv6*cv9y_qic@Qe`1pL{ z&$D`6i;11J;QfSgN%1en1w@!;lsoO1Nug*VGL{hzN_L)9<@(e}EicF#c9vAAizy5B z-pbS#$kgU$!sSuMwP5JKz8&(z2@YR&;dg?&!Ch9sjdUQf=!s!=!gZB7J!lwIf!&*Z zbI>0;>gH(VydK&3fT4u`MS-_8cYuAFq$V5xo8;c;P^to{#<>@Sxc^z7E~$~1p_}f4 z638dj8CjwE-TAg|W`s5T4erbnRfT1m6&Yqm#&!fn-r6yJ|ggmUo`AC;B>VrpIQ$b#p zZecyj!p?5V=RnR&{d!etyF;$q);-i|Ch}oU2z&yiIej@V(RFndC^K($e3Piwfx#oc(!; zF7n^xgH=L5_aIR#HASPj4SopgTF9ie(wT-_u&CFIC#L$}>|O0U22qD?WjRLE^P(N5 zGW@0YI!XlHv(px63{5O@W?KU+BbJ@+sZ%j?$&ZHk>Id~2S6hnOCV8aYw7fpb0s2g< z-iG|}?llKR;ciD?I@&urXy>~5G*U!d3aLsW@jA6gfy8J!^Pi~ciYfOVw5ZZebpPz| zaP2&Mi^o_iOUKE!g8%Q~2CDMOoDToZ(H5q*orNcRzek$r-u~>o-1{zKlkJ5ME}{oM zO3kb9JP7WF?2sK6M;s3vD*9+Jo^Lv(4V~0mO@12s-sU92Kq5VNBWxwV9niDy$5ny& xZROY#e@lYayMBP|e5owoW7w*jjPu!rX;eW`q4P1JDUsDBu51th!eRmP{{hY9t_T1C literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Size4-Regular.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a4e810da5e31a364ad7ba2ff229562f97ae0f49f GIT binary patch literal 4720 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Typewriter-Regular.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..c66d149d5e2a4a5e98d696ceaded67669edc6579 GIT binary patch literal 19700 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 .newline { + display: block; +} +.katex .base { + position: relative; + display: inline-block; + white-space: nowrap; + width: min-content; +} +.katex .strut { + display: inline-block; +} +.katex .textbf { + font-weight: bold; +} +.katex .textit { + font-style: italic; +} +.katex .textrm { + font-family: KaTeX_Main; +} +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .texttt { + font-family: KaTeX_Typewriter; +} +.katex .mathnormal { + font-family: KaTeX_Math; + font-style: italic; +} +.katex .mathit { + font-family: KaTeX_Main; + font-style: italic; +} +.katex .mathrm { + font-style: normal; +} +.katex .mathbf { + font-family: KaTeX_Main; + font-weight: bold; +} +.katex .boldsymbol { + font-family: KaTeX_Math; + font-weight: bold; + font-style: italic; +} +.katex .amsrm { + font-family: KaTeX_AMS; +} +.katex .mathbb, +.katex .textbb { + font-family: KaTeX_AMS; +} +.katex .mathcal { + font-family: KaTeX_Caligraphic; +} +.katex .mathfrak, +.katex .textfrak { + font-family: KaTeX_Fraktur; +} +.katex .mathtt { + font-family: KaTeX_Typewriter; +} +.katex .mathscr, +.katex .textscr { + font-family: KaTeX_Script; +} +.katex .mathsf, +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .mathboldsf, +.katex .textboldsf { + font-family: KaTeX_SansSerif; + font-weight: bold; +} +.katex .mathitsf, +.katex .textitsf { + font-family: KaTeX_SansSerif; + font-style: italic; +} +.katex .mainrm { + font-family: KaTeX_Main; + font-style: normal; +} +.katex .vlist-t { + display: inline-table; + table-layout: fixed; + border-collapse: collapse; +} +.katex .vlist-r { + display: table-row; +} +.katex .vlist { + display: table-cell; + vertical-align: bottom; + position: relative; +} +.katex .vlist > span { + display: block; + height: 0; + position: relative; +} +.katex .vlist > span > span { + display: inline-block; +} +.katex .vlist > span > .pstrut { + overflow: hidden; + width: 0; +} +.katex .vlist-t2 { + margin-right: -2px; +} +.katex .vlist-s { + display: table-cell; + vertical-align: bottom; + font-size: 1px; + width: 2px; + min-width: 2px; +} +.katex .vbox { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-direction: column; + flex-direction: column; + align-items: baseline; +} +.katex .hbox { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-direction: row; + flex-direction: row; + width: 100%; +} +.katex .thinbox { + display: inline-flex; + flex-direction: row; + width: 0; + max-width: 0; +} +.katex .msupsub { + text-align: left; +} +.katex .mfrac > span > span { + text-align: center; +} +.katex .mfrac .frac-line { + display: inline-block; + width: 100%; + border-bottom-style: solid; +} +.katex .mfrac .frac-line, +.katex .overline .overline-line, +.katex .underline .underline-line, +.katex .hline, +.katex .hdashline, +.katex .rule { + min-height: 1px; +} +.katex .mspace { + display: inline-block; +} +.katex .llap, +.katex .rlap, +.katex .clap { + width: 0; + position: relative; +} +.katex .llap > .inner, +.katex .rlap > .inner, +.katex .clap > .inner { + position: absolute; +} +.katex .llap > .fix, +.katex .rlap > .fix, +.katex .clap > .fix { + display: inline-block; +} +.katex .llap > .inner { + right: 0; +} +.katex .rlap > .inner, +.katex .clap > .inner { + left: 0; +} +.katex .clap > .inner > span { + margin-left: -50%; + margin-right: 50%; +} +.katex .rule { + display: inline-block; + border: solid 0; + position: relative; +} +.katex .overline .overline-line, +.katex .underline .underline-line, +.katex .hline { + display: inline-block; + width: 100%; + border-bottom-style: solid; +} +.katex .hdashline { + display: inline-block; + width: 100%; + border-bottom-style: dashed; +} +.katex .sqrt > .root { + margin-left: 0.27777778em; + margin-right: -0.55555556em; +} +.katex .sizing.reset-size1.size1, +.katex .fontsize-ensurer.reset-size1.size1 { + font-size: 1em; +} +.katex .sizing.reset-size1.size2, +.katex .fontsize-ensurer.reset-size1.size2 { + font-size: 1.2em; +} +.katex .sizing.reset-size1.size3, +.katex .fontsize-ensurer.reset-size1.size3 { + font-size: 1.4em; +} +.katex .sizing.reset-size1.size4, +.katex .fontsize-ensurer.reset-size1.size4 { + font-size: 1.6em; +} +.katex .sizing.reset-size1.size5, +.katex .fontsize-ensurer.reset-size1.size5 { + font-size: 1.8em; +} +.katex .sizing.reset-size1.size6, +.katex .fontsize-ensurer.reset-size1.size6 { + font-size: 2em; +} +.katex .sizing.reset-size1.size7, +.katex .fontsize-ensurer.reset-size1.size7 { + font-size: 2.4em; +} +.katex .sizing.reset-size1.size8, +.katex .fontsize-ensurer.reset-size1.size8 { + font-size: 2.88em; +} +.katex .sizing.reset-size1.size9, +.katex .fontsize-ensurer.reset-size1.size9 { + font-size: 3.456em; +} +.katex .sizing.reset-size1.size10, +.katex .fontsize-ensurer.reset-size1.size10 { + font-size: 4.148em; +} +.katex .sizing.reset-size1.size11, +.katex .fontsize-ensurer.reset-size1.size11 { + font-size: 4.976em; +} +.katex .sizing.reset-size2.size1, +.katex .fontsize-ensurer.reset-size2.size1 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size2.size2, +.katex .fontsize-ensurer.reset-size2.size2 { + font-size: 1em; +} +.katex .sizing.reset-size2.size3, +.katex .fontsize-ensurer.reset-size2.size3 { + font-size: 1.16666667em; +} +.katex .sizing.reset-size2.size4, +.katex .fontsize-ensurer.reset-size2.size4 { + font-size: 1.33333333em; +} +.katex .sizing.reset-size2.size5, +.katex .fontsize-ensurer.reset-size2.size5 { + font-size: 1.5em; +} +.katex .sizing.reset-size2.size6, +.katex .fontsize-ensurer.reset-size2.size6 { + font-size: 1.66666667em; +} +.katex .sizing.reset-size2.size7, +.katex .fontsize-ensurer.reset-size2.size7 { + font-size: 2em; +} +.katex .sizing.reset-size2.size8, +.katex .fontsize-ensurer.reset-size2.size8 { + font-size: 2.4em; +} +.katex .sizing.reset-size2.size9, +.katex .fontsize-ensurer.reset-size2.size9 { + font-size: 2.88em; +} +.katex .sizing.reset-size2.size10, +.katex .fontsize-ensurer.reset-size2.size10 { + font-size: 3.45666667em; +} +.katex .sizing.reset-size2.size11, +.katex .fontsize-ensurer.reset-size2.size11 { + font-size: 4.14666667em; +} +.katex .sizing.reset-size3.size1, +.katex .fontsize-ensurer.reset-size3.size1 { + font-size: 0.71428571em; +} +.katex .sizing.reset-size3.size2, +.katex .fontsize-ensurer.reset-size3.size2 { + font-size: 0.85714286em; +} +.katex .sizing.reset-size3.size3, +.katex .fontsize-ensurer.reset-size3.size3 { + font-size: 1em; +} +.katex .sizing.reset-size3.size4, +.katex .fontsize-ensurer.reset-size3.size4 { + font-size: 1.14285714em; +} +.katex .sizing.reset-size3.size5, +.katex .fontsize-ensurer.reset-size3.size5 { + font-size: 1.28571429em; +} +.katex .sizing.reset-size3.size6, +.katex .fontsize-ensurer.reset-size3.size6 { + font-size: 1.42857143em; +} +.katex .sizing.reset-size3.size7, +.katex .fontsize-ensurer.reset-size3.size7 { + font-size: 1.71428571em; +} +.katex .sizing.reset-size3.size8, +.katex .fontsize-ensurer.reset-size3.size8 { + font-size: 2.05714286em; +} +.katex .sizing.reset-size3.size9, +.katex .fontsize-ensurer.reset-size3.size9 { + font-size: 2.46857143em; +} +.katex .sizing.reset-size3.size10, +.katex .fontsize-ensurer.reset-size3.size10 { + font-size: 2.96285714em; +} +.katex .sizing.reset-size3.size11, +.katex .fontsize-ensurer.reset-size3.size11 { + font-size: 3.55428571em; +} +.katex .sizing.reset-size4.size1, +.katex .fontsize-ensurer.reset-size4.size1 { + font-size: 0.625em; +} +.katex .sizing.reset-size4.size2, +.katex .fontsize-ensurer.reset-size4.size2 { + font-size: 0.75em; +} +.katex .sizing.reset-size4.size3, +.katex .fontsize-ensurer.reset-size4.size3 { + font-size: 0.875em; +} +.katex .sizing.reset-size4.size4, +.katex .fontsize-ensurer.reset-size4.size4 { + font-size: 1em; +} +.katex .sizing.reset-size4.size5, +.katex .fontsize-ensurer.reset-size4.size5 { + font-size: 1.125em; +} +.katex .sizing.reset-size4.size6, +.katex .fontsize-ensurer.reset-size4.size6 { + font-size: 1.25em; +} +.katex .sizing.reset-size4.size7, +.katex .fontsize-ensurer.reset-size4.size7 { + font-size: 1.5em; +} +.katex .sizing.reset-size4.size8, +.katex .fontsize-ensurer.reset-size4.size8 { + font-size: 1.8em; +} +.katex .sizing.reset-size4.size9, +.katex .fontsize-ensurer.reset-size4.size9 { + font-size: 2.16em; +} +.katex .sizing.reset-size4.size10, +.katex .fontsize-ensurer.reset-size4.size10 { + font-size: 2.5925em; +} +.katex .sizing.reset-size4.size11, +.katex .fontsize-ensurer.reset-size4.size11 { + font-size: 3.11em; +} +.katex .sizing.reset-size5.size1, +.katex .fontsize-ensurer.reset-size5.size1 { + font-size: 0.55555556em; +} +.katex .sizing.reset-size5.size2, +.katex .fontsize-ensurer.reset-size5.size2 { + font-size: 0.66666667em; +} +.katex .sizing.reset-size5.size3, +.katex .fontsize-ensurer.reset-size5.size3 { + font-size: 0.77777778em; +} +.katex .sizing.reset-size5.size4, +.katex .fontsize-ensurer.reset-size5.size4 { + font-size: 0.88888889em; +} +.katex .sizing.reset-size5.size5, +.katex .fontsize-ensurer.reset-size5.size5 { + font-size: 1em; +} +.katex .sizing.reset-size5.size6, +.katex .fontsize-ensurer.reset-size5.size6 { + font-size: 1.11111111em; +} +.katex .sizing.reset-size5.size7, +.katex .fontsize-ensurer.reset-size5.size7 { + font-size: 1.33333333em; +} +.katex .sizing.reset-size5.size8, +.katex .fontsize-ensurer.reset-size5.size8 { + font-size: 1.6em; +} +.katex .sizing.reset-size5.size9, +.katex .fontsize-ensurer.reset-size5.size9 { + font-size: 1.92em; +} +.katex .sizing.reset-size5.size10, +.katex .fontsize-ensurer.reset-size5.size10 { + font-size: 2.30444444em; +} +.katex .sizing.reset-size5.size11, +.katex .fontsize-ensurer.reset-size5.size11 { + font-size: 2.76444444em; +} +.katex .sizing.reset-size6.size1, +.katex .fontsize-ensurer.reset-size6.size1 { + font-size: 0.5em; +} +.katex .sizing.reset-size6.size2, +.katex .fontsize-ensurer.reset-size6.size2 { + font-size: 0.6em; +} +.katex .sizing.reset-size6.size3, +.katex .fontsize-ensurer.reset-size6.size3 { + font-size: 0.7em; +} +.katex .sizing.reset-size6.size4, +.katex .fontsize-ensurer.reset-size6.size4 { + font-size: 0.8em; +} +.katex .sizing.reset-size6.size5, +.katex .fontsize-ensurer.reset-size6.size5 { + font-size: 0.9em; +} +.katex .sizing.reset-size6.size6, +.katex .fontsize-ensurer.reset-size6.size6 { + font-size: 1em; +} +.katex .sizing.reset-size6.size7, +.katex .fontsize-ensurer.reset-size6.size7 { + font-size: 1.2em; +} +.katex .sizing.reset-size6.size8, +.katex .fontsize-ensurer.reset-size6.size8 { + font-size: 1.44em; +} +.katex .sizing.reset-size6.size9, +.katex .fontsize-ensurer.reset-size6.size9 { + font-size: 1.728em; +} +.katex .sizing.reset-size6.size10, +.katex .fontsize-ensurer.reset-size6.size10 { + font-size: 2.074em; +} +.katex .sizing.reset-size6.size11, +.katex .fontsize-ensurer.reset-size6.size11 { + font-size: 2.488em; +} +.katex .sizing.reset-size7.size1, +.katex .fontsize-ensurer.reset-size7.size1 { + font-size: 0.41666667em; +} +.katex .sizing.reset-size7.size2, +.katex .fontsize-ensurer.reset-size7.size2 { + font-size: 0.5em; +} +.katex .sizing.reset-size7.size3, +.katex .fontsize-ensurer.reset-size7.size3 { + font-size: 0.58333333em; +} +.katex .sizing.reset-size7.size4, +.katex .fontsize-ensurer.reset-size7.size4 { + font-size: 0.66666667em; +} +.katex .sizing.reset-size7.size5, +.katex .fontsize-ensurer.reset-size7.size5 { + font-size: 0.75em; +} +.katex .sizing.reset-size7.size6, +.katex .fontsize-ensurer.reset-size7.size6 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size7.size7, +.katex .fontsize-ensurer.reset-size7.size7 { + font-size: 1em; +} +.katex .sizing.reset-size7.size8, +.katex .fontsize-ensurer.reset-size7.size8 { + font-size: 1.2em; +} +.katex .sizing.reset-size7.size9, +.katex .fontsize-ensurer.reset-size7.size9 { + font-size: 1.44em; +} +.katex .sizing.reset-size7.size10, +.katex .fontsize-ensurer.reset-size7.size10 { + font-size: 1.72833333em; +} +.katex .sizing.reset-size7.size11, +.katex .fontsize-ensurer.reset-size7.size11 { + font-size: 2.07333333em; +} +.katex .sizing.reset-size8.size1, +.katex .fontsize-ensurer.reset-size8.size1 { + font-size: 0.34722222em; +} +.katex .sizing.reset-size8.size2, +.katex .fontsize-ensurer.reset-size8.size2 { + font-size: 0.41666667em; +} +.katex .sizing.reset-size8.size3, +.katex .fontsize-ensurer.reset-size8.size3 { + font-size: 0.48611111em; +} +.katex .sizing.reset-size8.size4, +.katex .fontsize-ensurer.reset-size8.size4 { + font-size: 0.55555556em; +} +.katex .sizing.reset-size8.size5, +.katex .fontsize-ensurer.reset-size8.size5 { + font-size: 0.625em; +} +.katex .sizing.reset-size8.size6, +.katex .fontsize-ensurer.reset-size8.size6 { + font-size: 0.69444444em; +} +.katex .sizing.reset-size8.size7, +.katex .fontsize-ensurer.reset-size8.size7 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size8.size8, +.katex .fontsize-ensurer.reset-size8.size8 { + font-size: 1em; +} +.katex .sizing.reset-size8.size9, +.katex .fontsize-ensurer.reset-size8.size9 { + font-size: 1.2em; +} +.katex .sizing.reset-size8.size10, +.katex .fontsize-ensurer.reset-size8.size10 { + font-size: 1.44027778em; +} +.katex .sizing.reset-size8.size11, +.katex .fontsize-ensurer.reset-size8.size11 { + font-size: 1.72777778em; +} +.katex .sizing.reset-size9.size1, +.katex .fontsize-ensurer.reset-size9.size1 { + font-size: 0.28935185em; +} +.katex .sizing.reset-size9.size2, +.katex .fontsize-ensurer.reset-size9.size2 { + font-size: 0.34722222em; +} +.katex .sizing.reset-size9.size3, +.katex .fontsize-ensurer.reset-size9.size3 { + font-size: 0.40509259em; +} +.katex .sizing.reset-size9.size4, +.katex .fontsize-ensurer.reset-size9.size4 { + font-size: 0.46296296em; +} +.katex .sizing.reset-size9.size5, +.katex .fontsize-ensurer.reset-size9.size5 { + font-size: 0.52083333em; +} +.katex .sizing.reset-size9.size6, +.katex .fontsize-ensurer.reset-size9.size6 { + font-size: 0.5787037em; +} +.katex .sizing.reset-size9.size7, +.katex .fontsize-ensurer.reset-size9.size7 { + font-size: 0.69444444em; +} +.katex .sizing.reset-size9.size8, +.katex .fontsize-ensurer.reset-size9.size8 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size9.size9, +.katex .fontsize-ensurer.reset-size9.size9 { + font-size: 1em; +} +.katex .sizing.reset-size9.size10, +.katex .fontsize-ensurer.reset-size9.size10 { + font-size: 1.20023148em; +} +.katex .sizing.reset-size9.size11, +.katex .fontsize-ensurer.reset-size9.size11 { + font-size: 1.43981481em; +} +.katex .sizing.reset-size10.size1, +.katex .fontsize-ensurer.reset-size10.size1 { + font-size: 0.24108004em; +} +.katex .sizing.reset-size10.size2, +.katex .fontsize-ensurer.reset-size10.size2 { + font-size: 0.28929605em; +} +.katex .sizing.reset-size10.size3, +.katex .fontsize-ensurer.reset-size10.size3 { + font-size: 0.33751205em; +} +.katex .sizing.reset-size10.size4, +.katex .fontsize-ensurer.reset-size10.size4 { + font-size: 0.38572806em; +} +.katex .sizing.reset-size10.size5, +.katex .fontsize-ensurer.reset-size10.size5 { + font-size: 0.43394407em; +} +.katex .sizing.reset-size10.size6, +.katex .fontsize-ensurer.reset-size10.size6 { + font-size: 0.48216008em; +} +.katex .sizing.reset-size10.size7, +.katex .fontsize-ensurer.reset-size10.size7 { + font-size: 0.57859209em; +} +.katex .sizing.reset-size10.size8, +.katex .fontsize-ensurer.reset-size10.size8 { + font-size: 0.69431051em; +} +.katex .sizing.reset-size10.size9, +.katex .fontsize-ensurer.reset-size10.size9 { + font-size: 0.83317261em; +} +.katex .sizing.reset-size10.size10, +.katex .fontsize-ensurer.reset-size10.size10 { + font-size: 1em; +} +.katex .sizing.reset-size10.size11, +.katex .fontsize-ensurer.reset-size10.size11 { + font-size: 1.19961427em; +} +.katex .sizing.reset-size11.size1, +.katex .fontsize-ensurer.reset-size11.size1 { + font-size: 0.20096463em; +} +.katex .sizing.reset-size11.size2, +.katex .fontsize-ensurer.reset-size11.size2 { + font-size: 0.24115756em; +} +.katex .sizing.reset-size11.size3, +.katex .fontsize-ensurer.reset-size11.size3 { + font-size: 0.28135048em; +} +.katex .sizing.reset-size11.size4, +.katex .fontsize-ensurer.reset-size11.size4 { + font-size: 0.32154341em; +} +.katex .sizing.reset-size11.size5, +.katex .fontsize-ensurer.reset-size11.size5 { + font-size: 0.36173633em; +} +.katex .sizing.reset-size11.size6, +.katex .fontsize-ensurer.reset-size11.size6 { + font-size: 0.40192926em; +} +.katex .sizing.reset-size11.size7, +.katex .fontsize-ensurer.reset-size11.size7 { + font-size: 0.48231511em; +} +.katex .sizing.reset-size11.size8, +.katex .fontsize-ensurer.reset-size11.size8 { + font-size: 0.57877814em; +} +.katex .sizing.reset-size11.size9, +.katex .fontsize-ensurer.reset-size11.size9 { + font-size: 0.69453376em; +} +.katex .sizing.reset-size11.size10, +.katex .fontsize-ensurer.reset-size11.size10 { + font-size: 0.83360129em; +} +.katex .sizing.reset-size11.size11, +.katex .fontsize-ensurer.reset-size11.size11 { + font-size: 1em; +} +.katex .delimsizing.size1 { + font-family: KaTeX_Size1; +} +.katex .delimsizing.size2 { + font-family: KaTeX_Size2; +} +.katex .delimsizing.size3 { + font-family: KaTeX_Size3; +} +.katex .delimsizing.size4 { + font-family: KaTeX_Size4; +} +.katex .delimsizing.mult .delim-size1 > span { + font-family: KaTeX_Size1; +} +.katex .delimsizing.mult .delim-size4 > span { + font-family: KaTeX_Size4; +} +.katex .nulldelimiter { + display: inline-block; + width: 0.12em; +} +.katex .delimcenter { + position: relative; +} +.katex .op-symbol { + position: relative; +} +.katex .op-symbol.small-op { + font-family: KaTeX_Size1; +} +.katex .op-symbol.large-op { + font-family: KaTeX_Size2; +} +.katex .op-limits > .vlist-t { + text-align: center; +} +.katex .accent > .vlist-t { + text-align: center; +} +.katex .accent .accent-body { + position: relative; +} +.katex .accent .accent-body:not(.accent-full) { + width: 0; +} +.katex .overlay { + display: block; +} +.katex .mtable .vertical-separator { + display: inline-block; + min-width: 1px; +} +.katex .mtable .arraycolsep { + display: inline-block; +} +.katex .mtable .col-align-c > .vlist-t { + text-align: center; +} +.katex .mtable .col-align-l > .vlist-t { + text-align: left; +} +.katex .mtable .col-align-r > .vlist-t { + text-align: right; +} +.katex .svg-align { + text-align: left; +} +.katex svg { + display: block; + position: absolute; + width: 100%; + height: inherit; + fill: currentColor; + stroke: currentColor; + fill-rule: nonzero; + fill-opacity: 1; + stroke-width: 1; + stroke-linecap: butt; + stroke-linejoin: miter; + stroke-miterlimit: 4; + stroke-dasharray: none; + stroke-dashoffset: 0; + stroke-opacity: 1; +} +.katex svg path { + stroke: none; +} +.katex img { + border-style: none; + min-width: 0; + min-height: 0; + max-width: none; + max-height: none; +} +.katex .stretchy { + width: 100%; + display: block; + position: relative; + overflow: hidden; +} +.katex .stretchy::before, +.katex .stretchy::after { + content: ""; +} +.katex .hide-tail { + width: 100%; + position: relative; + overflow: hidden; +} +.katex .halfarrow-left { + position: absolute; + left: 0; + width: 50.2%; + overflow: hidden; +} +.katex .halfarrow-right { + position: absolute; + right: 0; + width: 50.2%; + overflow: hidden; +} +.katex .brace-left { + position: absolute; + left: 0; + width: 25.1%; + overflow: hidden; +} +.katex .brace-center { + position: absolute; + left: 25%; + width: 50%; + overflow: hidden; +} +.katex .brace-right { + position: absolute; + right: 0; + width: 25.1%; + overflow: hidden; +} +.katex .x-arrow-pad { + padding: 0 0.5em; +} +.katex .x-arrow, +.katex .mover, +.katex .munder { + text-align: center; +} +.katex .boxpad { + padding: 0 0.3em 0 0.3em; +} +.katex .fbox, +.katex .fcolorbox { + box-sizing: border-box; + border: 0.04em solid; +} +.katex .cancel-pad { + padding: 0 0.2em 0 0.2em; +} +.katex .cancel-lap { + margin-left: -0.2em; + margin-right: -0.2em; +} +.katex .sout { + border-bottom-style: solid; + border-bottom-width: 0.08em; +} +.katex-display { + display: block; + margin: 1em 0; + text-align: center; +} +.katex-display > .katex { + display: block; + text-align: center; + white-space: nowrap; +} +.katex-display > .katex > .katex-html { + display: block; + position: relative; +} +.katex-display > .katex > .katex-html > .tag { + position: absolute; + right: 0; +} +.katex-display.leqno > .katex > .katex-html > .tag { + left: 0; + right: auto; +} +.katex-display.fleqn > .katex { + text-align: left; + padding-left: 2em; +} + diff --git a/source/lib/katex@0.12.0/katex.js b/source/lib/katex@0.12.0/katex.js new file mode 100644 index 0000000..9fedb8d --- /dev/null +++ b/source/lib/katex@0.12.0/katex.js @@ -0,0 +1,17308 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["katex"] = factory(); + else + root["katex"] = factory(); +})((typeof self !== 'undefined' ? self : this), function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./src/katex.less +var katex = __webpack_require__(0); + +// CONCATENATED MODULE: ./src/SourceLocation.js +/** + * Lexing or parsing positional information for error reporting. + * This object is immutable. + */ +var SourceLocation = +/*#__PURE__*/ +function () { + // The + prefix indicates that these fields aren't writeable + // Lexer holding the input string. + // Start offset, zero-based inclusive. + // End offset, zero-based exclusive. + function SourceLocation(lexer, start, end) { + this.lexer = void 0; + this.start = void 0; + this.end = void 0; + this.lexer = lexer; + this.start = start; + this.end = end; + } + /** + * Merges two `SourceLocation`s from location providers, given they are + * provided in order of appearance. + * - Returns the first one's location if only the first is provided. + * - Returns a merged range of the first and the last if both are provided + * and their lexers match. + * - Otherwise, returns null. + */ + + + SourceLocation.range = function range(first, second) { + if (!second) { + return first && first.loc; + } else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) { + return null; + } else { + return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end); + } + }; + + return SourceLocation; +}(); + + +// CONCATENATED MODULE: ./src/Token.js + +/** + * Interface required to break circular dependency between Token, Lexer, and + * ParseError. + */ + +/** + * The resulting token returned from `lex`. + * + * It consists of the token text plus some position information. + * The position information is essentially a range in an input string, + * but instead of referencing the bare input string, we refer to the lexer. + * That way it is possible to attach extra metadata to the input string, + * like for example a file name or similar. + * + * The position information is optional, so it is OK to construct synthetic + * tokens if appropriate. Not providing available position information may + * lead to degraded error reporting, though. + */ +var Token_Token = +/*#__PURE__*/ +function () { + // don't expand the token + // used in \noexpand + function Token(text, // the text of this token + loc) { + this.text = void 0; + this.loc = void 0; + this.noexpand = void 0; + this.treatAsRelax = void 0; + this.text = text; + this.loc = loc; + } + /** + * Given a pair of tokens (this and endToken), compute a `Token` encompassing + * the whole input range enclosed by these two. + */ + + + var _proto = Token.prototype; + + _proto.range = function range(endToken, // last token of the range, inclusive + text) // the text of the newly constructed token + { + return new Token(text, SourceLocation.range(this, endToken)); + }; + + return Token; +}(); +// CONCATENATED MODULE: ./src/ParseError.js + + +/** + * This is the ParseError class, which is the main error thrown by KaTeX + * functions when something has gone wrong. This is used to distinguish internal + * errors from errors in the expression that the user provided. + * + * If possible, a caller should provide a Token or ParseNode with information + * about where in the source string the problem occurred. + */ +var ParseError = // Error position based on passed-in Token or ParseNode. +function ParseError(message, // The error message +token) // An object providing position information +{ + this.position = void 0; + var error = "KaTeX parse error: " + message; + var start; + var loc = token && token.loc; + + if (loc && loc.start <= loc.end) { + // If we have the input and a position, make the error a bit fancier + // Get the input + var input = loc.lexer.input; // Prepend some information + + start = loc.start; + var end = loc.end; + + if (start === input.length) { + error += " at end of input: "; + } else { + error += " at position " + (start + 1) + ": "; + } // Underline token in question using combining underscores + + + var underlined = input.slice(start, end).replace(/[^]/g, "$&\u0332"); // Extract some context from the input and add it to the error + + var left; + + if (start > 15) { + left = "…" + input.slice(start - 15, start); + } else { + left = input.slice(0, start); + } + + var right; + + if (end + 15 < input.length) { + right = input.slice(end, end + 15) + "…"; + } else { + right = input.slice(end); + } + + error += left + underlined + right; + } // Some hackery to make ParseError a prototype of Error + // See http://stackoverflow.com/a/8460753 + + + var self = new Error(error); + self.name = "ParseError"; // $FlowFixMe + + self.__proto__ = ParseError.prototype; // $FlowFixMe + + self.position = start; + return self; +}; // $FlowFixMe More hackery + + +ParseError.prototype.__proto__ = Error.prototype; +/* harmony default export */ var src_ParseError = (ParseError); +// CONCATENATED MODULE: ./src/utils.js +/** + * This file contains a list of utility functions which are useful in other + * files. + */ + +/** + * Return whether an element is contained in a list + */ +var contains = function contains(list, elem) { + return list.indexOf(elem) !== -1; +}; +/** + * Provide a default value if a setting is undefined + * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022. + */ + + +var deflt = function deflt(setting, defaultIfUndefined) { + return setting === undefined ? defaultIfUndefined : setting; +}; // hyphenate and escape adapted from Facebook's React under Apache 2 license + + +var uppercase = /([A-Z])/g; + +var hyphenate = function hyphenate(str) { + return str.replace(uppercase, "-$1").toLowerCase(); +}; + +var ESCAPE_LOOKUP = { + "&": "&", + ">": ">", + "<": "<", + "\"": """, + "'": "'" +}; +var ESCAPE_REGEX = /[&><"']/g; +/** + * Escapes text to prevent scripting attacks. + */ + +function utils_escape(text) { + return String(text).replace(ESCAPE_REGEX, function (match) { + return ESCAPE_LOOKUP[match]; + }); +} +/** + * Sometimes we want to pull out the innermost element of a group. In most + * cases, this will just be the group itself, but when ordgroups and colors have + * a single element, we want to pull that out. + */ + + +var getBaseElem = function getBaseElem(group) { + if (group.type === "ordgroup") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "color") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "font") { + return getBaseElem(group.body); + } else { + return group; + } +}; +/** + * TeXbook algorithms often reference "character boxes", which are simply groups + * with a single character in them. To decide if something is a character box, + * we find its innermost group, and see if it is a single character. + */ + + +var utils_isCharacterBox = function isCharacterBox(group) { + var baseElem = getBaseElem(group); // These are all they types of groups which hold single characters + + return baseElem.type === "mathord" || baseElem.type === "textord" || baseElem.type === "atom"; +}; + +var assert = function assert(value) { + if (!value) { + throw new Error('Expected non-null, but got ' + String(value)); + } + + return value; +}; +/** + * Return the protocol of a URL, or "_relative" if the URL does not specify a + * protocol (and thus is relative). + */ + +var protocolFromUrl = function protocolFromUrl(url) { + var protocol = /^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(url); + return protocol != null ? protocol[1] : "_relative"; +}; +/* harmony default export */ var utils = ({ + contains: contains, + deflt: deflt, + escape: utils_escape, + hyphenate: hyphenate, + getBaseElem: getBaseElem, + isCharacterBox: utils_isCharacterBox, + protocolFromUrl: protocolFromUrl +}); +// CONCATENATED MODULE: ./src/Settings.js +/* eslint no-console:0 */ + +/** + * This is a module for storing settings passed into KaTeX. It correctly handles + * default settings. + */ + + + + +/** + * The main Settings object + * + * The current options stored are: + * - displayMode: Whether the expression should be typeset as inline math + * (false, the default), meaning that the math starts in + * \textstyle and is placed in an inline-block); or as display + * math (true), meaning that the math starts in \displaystyle + * and is placed in a block with vertical margin. + */ +var Settings_Settings = +/*#__PURE__*/ +function () { + function Settings(options) { + this.displayMode = void 0; + this.output = void 0; + this.leqno = void 0; + this.fleqn = void 0; + this.throwOnError = void 0; + this.errorColor = void 0; + this.macros = void 0; + this.minRuleThickness = void 0; + this.colorIsTextColor = void 0; + this.strict = void 0; + this.trust = void 0; + this.maxSize = void 0; + this.maxExpand = void 0; + this.globalGroup = void 0; + // allow null options + options = options || {}; + this.displayMode = utils.deflt(options.displayMode, false); + this.output = utils.deflt(options.output, "htmlAndMathml"); + this.leqno = utils.deflt(options.leqno, false); + this.fleqn = utils.deflt(options.fleqn, false); + this.throwOnError = utils.deflt(options.throwOnError, true); + this.errorColor = utils.deflt(options.errorColor, "#cc0000"); + this.macros = options.macros || {}; + this.minRuleThickness = Math.max(0, utils.deflt(options.minRuleThickness, 0)); + this.colorIsTextColor = utils.deflt(options.colorIsTextColor, false); + this.strict = utils.deflt(options.strict, "warn"); + this.trust = utils.deflt(options.trust, false); + this.maxSize = Math.max(0, utils.deflt(options.maxSize, Infinity)); + this.maxExpand = Math.max(0, utils.deflt(options.maxExpand, 1000)); + this.globalGroup = utils.deflt(options.globalGroup, false); + } + /** + * Report nonstrict (non-LaTeX-compatible) input. + * Can safely not be called if `this.strict` is false in JavaScript. + */ + + + var _proto = Settings.prototype; + + _proto.reportNonstrict = function reportNonstrict(errorCode, errorMsg, token) { + var strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + strict = strict(errorCode, errorMsg, token); + } + + if (!strict || strict === "ignore") { + + } else if (strict === true || strict === "error") { + throw new src_ParseError("LaTeX-incompatible input and strict mode is set to 'error': " + (errorMsg + " [" + errorCode + "]"), token); + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (errorMsg + " [" + errorCode + "]")); + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + ("unrecognized '" + strict + "': " + errorMsg + " [" + errorCode + "]")); + } + } + /** + * Check whether to apply strict (LaTeX-adhering) behavior for unusual + * input (like `\\`). Unlike `nonstrict`, will not throw an error; + * instead, "error" translates to a return value of `true`, while "ignore" + * translates to a return value of `false`. May still print a warning: + * "warn" prints a warning and returns `false`. + * This is for the second category of `errorCode`s listed in the README. + */ + ; + + _proto.useStrictBehavior = function useStrictBehavior(errorCode, errorMsg, token) { + var strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + // But catch any exceptions thrown by function, treating them + // like "error". + try { + strict = strict(errorCode, errorMsg, token); + } catch (error) { + strict = "error"; + } + } + + if (!strict || strict === "ignore") { + return false; + } else if (strict === true || strict === "error") { + return true; + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (errorMsg + " [" + errorCode + "]")); + return false; + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + ("unrecognized '" + strict + "': " + errorMsg + " [" + errorCode + "]")); + return false; + } + } + /** + * Check whether to test potentially dangerous input, and return + * `true` (trusted) or `false` (untrusted). The sole argument `context` + * should be an object with `command` field specifying the relevant LaTeX + * command (as a string starting with `\`), and any other arguments, etc. + * If `context` has a `url` field, a `protocol` field will automatically + * get added by this function (changing the specified object). + */ + ; + + _proto.isTrusted = function isTrusted(context) { + if (context.url && !context.protocol) { + context.protocol = utils.protocolFromUrl(context.url); + } + + var trust = typeof this.trust === "function" ? this.trust(context) : this.trust; + return Boolean(trust); + }; + + return Settings; +}(); + + +// CONCATENATED MODULE: ./src/Style.js +/** + * This file contains information and classes for the various kinds of styles + * used in TeX. It provides a generic `Style` class, which holds information + * about a specific style. It then provides instances of all the different kinds + * of styles possible, and provides functions to move between them and get + * information about them. + */ + +/** + * The main style class. Contains a unique id for the style, a size (which is + * the same for cramped and uncramped version of a style), and a cramped flag. + */ +var Style = +/*#__PURE__*/ +function () { + function Style(id, size, cramped) { + this.id = void 0; + this.size = void 0; + this.cramped = void 0; + this.id = id; + this.size = size; + this.cramped = cramped; + } + /** + * Get the style of a superscript given a base in the current style. + */ + + + var _proto = Style.prototype; + + _proto.sup = function sup() { + return Style_styles[_sup[this.id]]; + } + /** + * Get the style of a subscript given a base in the current style. + */ + ; + + _proto.sub = function sub() { + return Style_styles[_sub[this.id]]; + } + /** + * Get the style of a fraction numerator given the fraction in the current + * style. + */ + ; + + _proto.fracNum = function fracNum() { + return Style_styles[_fracNum[this.id]]; + } + /** + * Get the style of a fraction denominator given the fraction in the current + * style. + */ + ; + + _proto.fracDen = function fracDen() { + return Style_styles[_fracDen[this.id]]; + } + /** + * Get the cramped version of a style (in particular, cramping a cramped style + * doesn't change the style). + */ + ; + + _proto.cramp = function cramp() { + return Style_styles[_cramp[this.id]]; + } + /** + * Get a text or display version of this style. + */ + ; + + _proto.text = function text() { + return Style_styles[_text[this.id]]; + } + /** + * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle) + */ + ; + + _proto.isTight = function isTight() { + return this.size >= 2; + }; + + return Style; +}(); // Export an interface for type checking, but don't expose the implementation. +// This way, no more styles can be generated. + + +// IDs of the different styles +var D = 0; +var Dc = 1; +var T = 2; +var Tc = 3; +var S = 4; +var Sc = 5; +var SS = 6; +var SSc = 7; // Instances of the different styles + +var Style_styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another + +var _sup = [S, Sc, S, Sc, SS, SSc, SS, SSc]; +var _sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc]; +var _fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc]; +var _fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc]; +var _cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc]; +var _text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles. + +/* harmony default export */ var src_Style = ({ + DISPLAY: Style_styles[D], + TEXT: Style_styles[T], + SCRIPT: Style_styles[S], + SCRIPTSCRIPT: Style_styles[SS] +}); +// CONCATENATED MODULE: ./src/unicodeScripts.js +/* + * This file defines the Unicode scripts and script families that we + * support. To add new scripts or families, just add a new entry to the + * scriptData array below. Adding scripts to the scriptData array allows + * characters from that script to appear in \text{} environments. + */ + +/** + * Each script or script family has a name and an array of blocks. + * Each block is an array of two numbers which specify the start and + * end points (inclusive) of a block of Unicode codepoints. + */ + +/** + * Unicode block data for the families of scripts we support in \text{}. + * Scripts only need to appear here if they do not have font metrics. + */ +var scriptData = [{ + // Latin characters beyond the Latin-1 characters we have metrics for. + // Needed for Czech, Hungarian and Turkish text, for example. + name: 'latin', + blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B + [0x0300, 0x036f]] +}, { + // The Cyrillic script used by Russian and related languages. + // A Cyrillic subset used to be supported as explicitly defined + // symbols in symbols.js + name: 'cyrillic', + blocks: [[0x0400, 0x04ff]] +}, { + // The Brahmic scripts of South and Southeast Asia + // Devanagari (0900–097F) + // Bengali (0980–09FF) + // Gurmukhi (0A00–0A7F) + // Gujarati (0A80–0AFF) + // Oriya (0B00–0B7F) + // Tamil (0B80–0BFF) + // Telugu (0C00–0C7F) + // Kannada (0C80–0CFF) + // Malayalam (0D00–0D7F) + // Sinhala (0D80–0DFF) + // Thai (0E00–0E7F) + // Lao (0E80–0EFF) + // Tibetan (0F00–0FFF) + // Myanmar (1000–109F) + name: 'brahmic', + blocks: [[0x0900, 0x109F]] +}, { + name: 'georgian', + blocks: [[0x10A0, 0x10ff]] +}, { + // Chinese and Japanese. + // The "k" in cjk is for Korean, but we've separated Korean out + name: "cjk", + blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana + [0x4E00, 0x9FAF], // CJK ideograms + [0xFF00, 0xFF60]] +}, { + // Korean + name: 'hangul', + blocks: [[0xAC00, 0xD7AF]] +}]; +/** + * Given a codepoint, return the name of the script or script family + * it is from, or null if it is not part of a known block + */ + +function scriptFromCodepoint(codepoint) { + for (var i = 0; i < scriptData.length; i++) { + var script = scriptData[i]; + + for (var _i = 0; _i < script.blocks.length; _i++) { + var block = script.blocks[_i]; + + if (codepoint >= block[0] && codepoint <= block[1]) { + return script.name; + } + } + } + + return null; +} +/** + * A flattened version of all the supported blocks in a single array. + * This is an optimization to make supportedCodepoint() fast. + */ + +var allBlocks = []; +scriptData.forEach(function (s) { + return s.blocks.forEach(function (b) { + return allBlocks.push.apply(allBlocks, b); + }); +}); +/** + * Given a codepoint, return true if it falls within one of the + * scripts or script families defined above and false otherwise. + * + * Micro benchmarks shows that this is faster than + * /[\u3000-\u30FF\u4E00-\u9FAF\uFF00-\uFF60\uAC00-\uD7AF\u0900-\u109F]/.test() + * in Firefox, Chrome and Node. + */ + +function supportedCodepoint(codepoint) { + for (var i = 0; i < allBlocks.length; i += 2) { + if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) { + return true; + } + } + + return false; +} +// CONCATENATED MODULE: ./src/svgGeometry.js +/** + * This file provides support to domTree.js and delimiter.js. + * It's a storehouse of path geometry for SVG images. + */ +// In all paths below, the viewBox-to-em scale is 1000:1. +var hLinePad = 80; // padding above a sqrt viniculum. Prevents image cropping. +// The viniculum of a \sqrt can be made thicker by a KaTeX rendering option. +// Think of variable extraViniculum as two detours in the SVG path. +// The detour begins at the lower left of the area labeled extraViniculum below. +// The detour proceeds one extraViniculum distance up and slightly to the right, +// displacing the radiused corner between surd and viniculum. The radius is +// traversed as usual, then the detour resumes. It goes right, to the end of +// the very long viniculumn, then down one extraViniculum distance, +// after which it resumes regular path geometry for the radical. + +/* viniculum + / + /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraViniculum + / █████████████████████←0.04em (40 unit) std viniculum thickness + / / + / / + / /\ + / / surd +*/ + +var sqrtMain = function sqrtMain(extraViniculum, hLinePad) { + // sqrtMain path geometry is from glyph U221A in the font KaTeX Main + return "M95," + (622 + extraViniculum + hLinePad) + "\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl" + extraViniculum / 2.075 + " -" + extraViniculum + "\nc5.3,-9.3,12,-14,20,-14\nH400000v" + (40 + extraViniculum) + "H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM" + (834 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize1 = function sqrtSize1(extraViniculum, hLinePad) { + // size1 is from glyph U221A in the font KaTeX_Size1-Regular + return "M263," + (601 + extraViniculum + hLinePad) + "c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl" + extraViniculum / 2.084 + " -" + extraViniculum + "\nc4.7,-7.3,11,-11,19,-11\nH40000v" + (40 + extraViniculum) + "H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize2 = function sqrtSize2(extraViniculum, hLinePad) { + // size2 is from glyph U221A in the font KaTeX_Size2-Regular + return "M983 " + (10 + extraViniculum + hLinePad) + "\nl" + extraViniculum / 3.13 + " -" + extraViniculum + "\nc4,-6.7,10,-10,18,-10 H400000v" + (40 + extraViniculum) + "\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize3 = function sqrtSize3(extraViniculum, hLinePad) { + // size3 is from glyph U221A in the font KaTeX_Size3-Regular + return "M424," + (2398 + extraViniculum + hLinePad) + "\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl" + extraViniculum / 4.223 + " -" + extraViniculum + "c4,-6.7,10,-10,18,-10 H400000\nv" + (40 + extraViniculum) + "H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M" + (1001 + extraViniculum) + " " + hLinePad + "\nh400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize4 = function sqrtSize4(extraViniculum, hLinePad) { + // size4 is from glyph U221A in the font KaTeX_Size4-Regular + return "M473," + (2713 + extraViniculum + hLinePad) + "\nc339.3,-1799.3,509.3,-2700,510,-2702 l" + extraViniculum / 5.298 + " -" + extraViniculum + "\nc3.3,-7.3,9.3,-11,18,-11 H400000v" + (40 + extraViniculum) + "H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "H1017.7z"; +}; + +var sqrtTall = function sqrtTall(extraViniculum, hLinePad, viewBoxHeight) { + // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular + // One path edge has a variable length. It runs vertically from the viniculumn + // to a point near (14 units) the bottom of the surd. The viniculum + // is normally 40 units thick. So the length of the line in question is: + var vertSegment = viewBoxHeight - 54 - hLinePad - extraViniculum; + return "M702 " + (extraViniculum + hLinePad) + "H400000" + (40 + extraViniculum) + "\nH742v" + vertSegment + "l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 " + hLinePad + "H400000v" + (40 + extraViniculum) + "H742z"; +}; + +var sqrtPath = function sqrtPath(size, extraViniculum, viewBoxHeight) { + extraViniculum = 1000 * extraViniculum; // Convert from document ems to viewBox. + + var path = ""; + + switch (size) { + case "sqrtMain": + path = sqrtMain(extraViniculum, hLinePad); + break; + + case "sqrtSize1": + path = sqrtSize1(extraViniculum, hLinePad); + break; + + case "sqrtSize2": + path = sqrtSize2(extraViniculum, hLinePad); + break; + + case "sqrtSize3": + path = sqrtSize3(extraViniculum, hLinePad); + break; + + case "sqrtSize4": + path = sqrtSize4(extraViniculum, hLinePad); + break; + + case "sqrtTall": + path = sqrtTall(extraViniculum, hLinePad, viewBoxHeight); + } + + return path; +}; +var svgGeometry_path = { + // Two paths that cover gaps in built-up parentheses. + leftParenInner: "M291 0 H417 V300 H291 z", + rightParenInner: "M457 0 H583 V300 H457 z", + // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main + doubleleftarrow: "M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z", + // doublerightarrow is from glyph U+21D2 in font KaTeX Main + doublerightarrow: "M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z", + // leftarrow is from glyph U+2190 in font KaTeX Main + leftarrow: "M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z", + // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular + leftbrace: "M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z", + leftbraceunder: "M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z", + // overgroup is from the MnSymbol package (public domain) + leftgroup: "M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z", + leftgroupunder: "M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z", + // Harpoons are from glyph U+21BD in font KaTeX Main + leftharpoon: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z", + leftharpoonplus: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z", + leftharpoondown: "M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z", + leftharpoondownplus: "M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z", + // hook is from glyph U+21A9 in font KaTeX Main + lefthook: "M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z", + leftlinesegment: "M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z", + leftmapsto: "M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z", + // tofrom is from glyph U+21C4 in font KaTeX AMS Regular + leftToFrom: "M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z", + longequal: "M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z", + midbrace: "M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z", + midbraceunder: "M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z", + oiintSize1: "M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z", + oiintSize2: "M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z", + oiiintSize1: "M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z", + oiiintSize2: "M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z", + rightarrow: "M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z", + rightbrace: "M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z", + rightbraceunder: "M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z", + rightgroup: "M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z", + rightgroupunder: "M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z", + rightharpoon: "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z", + rightharpoonplus: "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z", + rightharpoondown: "M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z", + rightharpoondownplus: "M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z", + righthook: "M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z", + rightlinesegment: "M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z", + rightToFrom: "M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z", + // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular + twoheadleftarrow: "M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z", + twoheadrightarrow: "M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z", + // tilde1 is a modified version of a glyph from the MnSymbol package + tilde1: "M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z", + // ditto tilde2, tilde3, & tilde4 + tilde2: "M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z", + tilde3: "M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z", + tilde4: "M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z", + // vec is from glyph U+20D7 in font KaTeX Main + vec: "M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z", + // widehat1 is a modified version of a glyph from the MnSymbol package + widehat1: "M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z", + // ditto widehat2, widehat3, & widehat4 + widehat2: "M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", + widehat3: "M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", + widehat4: "M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", + // widecheck paths are all inverted versions of widehat + widecheck1: "M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z", + widecheck2: "M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", + widecheck3: "M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", + widecheck4: "M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", + // The next ten paths support reaction arrows from the mhchem package. + // Arrows for \ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX + // baraboveleftarrow is mostly from from glyph U+2190 in font KaTeX Main + baraboveleftarrow: "M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z", + // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main + rightarrowabovebar: "M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z", + // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end. + // Ref from mhchem.sty: \rlap{\raisebox{-.22ex}{$\kern0.5em + baraboveshortleftharpoon: "M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z", + rightharpoonaboveshortbar: "M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z", + shortbaraboveleftharpoon: "M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z", + shortrightharpoonabovebar: "M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z" +}; +// CONCATENATED MODULE: ./src/tree.js + + +/** + * This node represents a document fragment, which contains elements, but when + * placed into the DOM doesn't have any representation itself. It only contains + * children and doesn't have any DOM node properties. + */ +var tree_DocumentFragment = +/*#__PURE__*/ +function () { + // HtmlDomNode + // Never used; needed for satisfying interface. + function DocumentFragment(children) { + this.children = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + this.children = children; + this.classes = []; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = {}; + } + + var _proto = DocumentFragment.prototype; + + _proto.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + } + /** Convert the fragment into a node. */ + ; + + _proto.toNode = function toNode() { + var frag = document.createDocumentFragment(); + + for (var i = 0; i < this.children.length; i++) { + frag.appendChild(this.children[i].toNode()); + } + + return frag; + } + /** Convert the fragment into HTML markup. */ + ; + + _proto.toMarkup = function toMarkup() { + var markup = ""; // Simply concatenate the markup for the children together. + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + return markup; + } + /** + * Converts the math node into a string, similar to innerText. Applies to + * MathDomNode's only. + */ + ; + + _proto.toText = function toText() { + // To avoid this, we would subclass documentFragment separately for + // MathML, but polyfills for subclassing is expensive per PR 1469. + // $FlowFixMe: Only works for ChildType = MathDomNode. + var toText = function toText(child) { + return child.toText(); + }; + + return this.children.map(toText).join(""); + }; + + return DocumentFragment; +}(); +// CONCATENATED MODULE: ./src/domTree.js +/** + * These objects store the data about the DOM nodes we create, as well as some + * extra data. They can then be transformed into real DOM nodes with the + * `toNode` function or HTML markup using `toMarkup`. They are useful for both + * storing extra properties on the nodes, as well as providing a way to easily + * work with the DOM. + * + * Similar functions for working with MathML nodes exist in mathMLTree.js. + * + * TODO: refactor `span` and `anchor` into common superclass when + * target environments support class inheritance + */ + + + + + +/** + * Create an HTML className based on a list of classes. In addition to joining + * with spaces, we also remove empty classes. + */ +var createClass = function createClass(classes) { + return classes.filter(function (cls) { + return cls; + }).join(" "); +}; + +var initNode = function initNode(classes, options, style) { + this.classes = classes || []; + this.attributes = {}; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = style || {}; + + if (options) { + if (options.style.isTight()) { + this.classes.push("mtight"); + } + + var color = options.getColor(); + + if (color) { + this.style.color = color; + } + } +}; +/** + * Convert into an HTML node + */ + + +var _toNode = function toNode(tagName) { + var node = document.createElement(tagName); // Apply the class + + node.className = createClass(this.classes); // Apply inline styles + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe Flow doesn't seem to understand span.style's type. + node.style[style] = this.style[style]; + } + } // Apply attributes + + + for (var attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } // Append the children, also as HTML nodes + + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; +}; +/** + * Convert into an HTML markup string + */ + + +var _toMarkup = function toMarkup(tagName) { + var markup = "<" + tagName; // Add the class + + if (this.classes.length) { + markup += " class=\"" + utils.escape(createClass(this.classes)) + "\""; + } + + var styles = ""; // Add the styles, after hyphenation + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += utils.hyphenate(style) + ":" + this.style[style] + ";"; + } + } + + if (styles) { + markup += " style=\"" + utils.escape(styles) + "\""; + } // Add the attributes + + + for (var attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + markup += " " + attr + "=\"" + utils.escape(this.attributes[attr]) + "\""; + } + } + + markup += ">"; // Add the markup of the children, also as markup + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ""; + return markup; +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. +// This type does not include all CSS properties. Additional properties should +// be added as needed. + + +/** + * This node represents a span node, with a className, a list of children, and + * an inline style. It also contains information about its height, depth, and + * maxFontSize. + * + * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan + * otherwise. This typesafety is important when HTML builders access a span's + * children. + */ +var domTree_Span = +/*#__PURE__*/ +function () { + function Span(classes, children, options, style) { + this.children = void 0; + this.attributes = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.width = void 0; + this.maxFontSize = void 0; + this.style = void 0; + initNode.call(this, classes, options, style); + this.children = children || []; + } + /** + * Sets an arbitrary attribute on the span. Warning: use this wisely. Not + * all browsers support attributes the same, and having too many custom + * attributes is probably bad. + */ + + + var _proto = Span.prototype; + + _proto.setAttribute = function setAttribute(attribute, value) { + this.attributes[attribute] = value; + }; + + _proto.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto.toNode = function toNode() { + return _toNode.call(this, "span"); + }; + + _proto.toMarkup = function toMarkup() { + return _toMarkup.call(this, "span"); + }; + + return Span; +}(); +/** + * This node represents an anchor () element with a hyperlink. See `span` + * for further details. + */ + +var domTree_Anchor = +/*#__PURE__*/ +function () { + function Anchor(href, classes, children, options) { + this.children = void 0; + this.attributes = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + initNode.call(this, classes, options); + this.children = children || []; + this.setAttribute('href', href); + } + + var _proto2 = Anchor.prototype; + + _proto2.setAttribute = function setAttribute(attribute, value) { + this.attributes[attribute] = value; + }; + + _proto2.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto2.toNode = function toNode() { + return _toNode.call(this, "a"); + }; + + _proto2.toMarkup = function toMarkup() { + return _toMarkup.call(this, "a"); + }; + + return Anchor; +}(); +/** + * This node represents an image embed () element. + */ + +var domTree_Img = +/*#__PURE__*/ +function () { + function Img(src, alt, style) { + this.src = void 0; + this.alt = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + this.alt = alt; + this.src = src; + this.classes = ["mord"]; + this.style = style; + } + + var _proto3 = Img.prototype; + + _proto3.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto3.toNode = function toNode() { + var node = document.createElement("img"); + node.src = this.src; + node.alt = this.alt; + node.className = "mord"; // Apply inline styles + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe + node.style[style] = this.style[style]; + } + } + + return node; + }; + + _proto3.toMarkup = function toMarkup() { + var markup = "" + this.alt + " 0) { + span = document.createElement("span"); + span.style.marginRight = this.italic + "em"; + } + + if (this.classes.length > 0) { + span = span || document.createElement("span"); + span.className = createClass(this.classes); + } + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + span = span || document.createElement("span"); // $FlowFixMe Flow doesn't seem to understand span.style's type. + + span.style[style] = this.style[style]; + } + } + + if (span) { + span.appendChild(node); + return span; + } else { + return node; + } + } + /** + * Creates markup for a symbol node. + */ + ; + + _proto4.toMarkup = function toMarkup() { + // TODO(alpert): More duplication than I'd like from + // span.prototype.toMarkup and symbolNode.prototype.toNode... + var needsSpan = false; + var markup = " 0) { + styles += "margin-right:" + this.italic + "em;"; + } + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += utils.hyphenate(style) + ":" + this.style[style] + ";"; + } + } + + if (styles) { + needsSpan = true; + markup += " style=\"" + utils.escape(styles) + "\""; + } + + var escaped = utils.escape(this.text); + + if (needsSpan) { + markup += ">"; + markup += escaped; + markup += ""; + return markup; + } else { + return escaped; + } + }; + + return SymbolNode; +}(); +/** + * SVG nodes are used to render stretchy wide elements. + */ + +var SvgNode = +/*#__PURE__*/ +function () { + function SvgNode(children, attributes) { + this.children = void 0; + this.attributes = void 0; + this.children = children || []; + this.attributes = attributes || {}; + } + + var _proto5 = SvgNode.prototype; + + _proto5.toNode = function toNode() { + var svgNS = "http://www.w3.org/2000/svg"; + var node = document.createElementNS(svgNS, "svg"); // Apply attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + }; + + _proto5.toMarkup = function toMarkup() { + var markup = ""; + } else { + return ""; + } + }; + + return PathNode; +}(); +var LineNode = +/*#__PURE__*/ +function () { + function LineNode(attributes) { + this.attributes = void 0; + this.attributes = attributes || {}; + } + + var _proto7 = LineNode.prototype; + + _proto7.toNode = function toNode() { + var svgNS = "http://www.w3.org/2000/svg"; + var node = document.createElementNS(svgNS, "line"); // Apply attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + return node; + }; + + _proto7.toMarkup = function toMarkup() { + var markup = " but got " + String(group) + "."); + } +} +// CONCATENATED MODULE: ./submodules/katex-fonts/fontMetricsData.js +// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY. +/* harmony default export */ var fontMetricsData = ({ + "AMS-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.68889, 0, 0, 0.72222], + "66": [0, 0.68889, 0, 0, 0.66667], + "67": [0, 0.68889, 0, 0, 0.72222], + "68": [0, 0.68889, 0, 0, 0.72222], + "69": [0, 0.68889, 0, 0, 0.66667], + "70": [0, 0.68889, 0, 0, 0.61111], + "71": [0, 0.68889, 0, 0, 0.77778], + "72": [0, 0.68889, 0, 0, 0.77778], + "73": [0, 0.68889, 0, 0, 0.38889], + "74": [0.16667, 0.68889, 0, 0, 0.5], + "75": [0, 0.68889, 0, 0, 0.77778], + "76": [0, 0.68889, 0, 0, 0.66667], + "77": [0, 0.68889, 0, 0, 0.94445], + "78": [0, 0.68889, 0, 0, 0.72222], + "79": [0.16667, 0.68889, 0, 0, 0.77778], + "80": [0, 0.68889, 0, 0, 0.61111], + "81": [0.16667, 0.68889, 0, 0, 0.77778], + "82": [0, 0.68889, 0, 0, 0.72222], + "83": [0, 0.68889, 0, 0, 0.55556], + "84": [0, 0.68889, 0, 0, 0.66667], + "85": [0, 0.68889, 0, 0, 0.72222], + "86": [0, 0.68889, 0, 0, 0.72222], + "87": [0, 0.68889, 0, 0, 1.0], + "88": [0, 0.68889, 0, 0, 0.72222], + "89": [0, 0.68889, 0, 0, 0.72222], + "90": [0, 0.68889, 0, 0, 0.66667], + "107": [0, 0.68889, 0, 0, 0.55556], + "160": [0, 0, 0, 0, 0.25], + "165": [0, 0.675, 0.025, 0, 0.75], + "174": [0.15559, 0.69224, 0, 0, 0.94666], + "240": [0, 0.68889, 0, 0, 0.55556], + "295": [0, 0.68889, 0, 0, 0.54028], + "710": [0, 0.825, 0, 0, 2.33334], + "732": [0, 0.9, 0, 0, 2.33334], + "770": [0, 0.825, 0, 0, 2.33334], + "771": [0, 0.9, 0, 0, 2.33334], + "989": [0.08167, 0.58167, 0, 0, 0.77778], + "1008": [0, 0.43056, 0.04028, 0, 0.66667], + "8245": [0, 0.54986, 0, 0, 0.275], + "8463": [0, 0.68889, 0, 0, 0.54028], + "8487": [0, 0.68889, 0, 0, 0.72222], + "8498": [0, 0.68889, 0, 0, 0.55556], + "8502": [0, 0.68889, 0, 0, 0.66667], + "8503": [0, 0.68889, 0, 0, 0.44445], + "8504": [0, 0.68889, 0, 0, 0.66667], + "8513": [0, 0.68889, 0, 0, 0.63889], + "8592": [-0.03598, 0.46402, 0, 0, 0.5], + "8594": [-0.03598, 0.46402, 0, 0, 0.5], + "8602": [-0.13313, 0.36687, 0, 0, 1.0], + "8603": [-0.13313, 0.36687, 0, 0, 1.0], + "8606": [0.01354, 0.52239, 0, 0, 1.0], + "8608": [0.01354, 0.52239, 0, 0, 1.0], + "8610": [0.01354, 0.52239, 0, 0, 1.11111], + "8611": [0.01354, 0.52239, 0, 0, 1.11111], + "8619": [0, 0.54986, 0, 0, 1.0], + "8620": [0, 0.54986, 0, 0, 1.0], + "8621": [-0.13313, 0.37788, 0, 0, 1.38889], + "8622": [-0.13313, 0.36687, 0, 0, 1.0], + "8624": [0, 0.69224, 0, 0, 0.5], + "8625": [0, 0.69224, 0, 0, 0.5], + "8630": [0, 0.43056, 0, 0, 1.0], + "8631": [0, 0.43056, 0, 0, 1.0], + "8634": [0.08198, 0.58198, 0, 0, 0.77778], + "8635": [0.08198, 0.58198, 0, 0, 0.77778], + "8638": [0.19444, 0.69224, 0, 0, 0.41667], + "8639": [0.19444, 0.69224, 0, 0, 0.41667], + "8642": [0.19444, 0.69224, 0, 0, 0.41667], + "8643": [0.19444, 0.69224, 0, 0, 0.41667], + "8644": [0.1808, 0.675, 0, 0, 1.0], + "8646": [0.1808, 0.675, 0, 0, 1.0], + "8647": [0.1808, 0.675, 0, 0, 1.0], + "8648": [0.19444, 0.69224, 0, 0, 0.83334], + "8649": [0.1808, 0.675, 0, 0, 1.0], + "8650": [0.19444, 0.69224, 0, 0, 0.83334], + "8651": [0.01354, 0.52239, 0, 0, 1.0], + "8652": [0.01354, 0.52239, 0, 0, 1.0], + "8653": [-0.13313, 0.36687, 0, 0, 1.0], + "8654": [-0.13313, 0.36687, 0, 0, 1.0], + "8655": [-0.13313, 0.36687, 0, 0, 1.0], + "8666": [0.13667, 0.63667, 0, 0, 1.0], + "8667": [0.13667, 0.63667, 0, 0, 1.0], + "8669": [-0.13313, 0.37788, 0, 0, 1.0], + "8672": [-0.064, 0.437, 0, 0, 1.334], + "8674": [-0.064, 0.437, 0, 0, 1.334], + "8705": [0, 0.825, 0, 0, 0.5], + "8708": [0, 0.68889, 0, 0, 0.55556], + "8709": [0.08167, 0.58167, 0, 0, 0.77778], + "8717": [0, 0.43056, 0, 0, 0.42917], + "8722": [-0.03598, 0.46402, 0, 0, 0.5], + "8724": [0.08198, 0.69224, 0, 0, 0.77778], + "8726": [0.08167, 0.58167, 0, 0, 0.77778], + "8733": [0, 0.69224, 0, 0, 0.77778], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8737": [0, 0.69224, 0, 0, 0.72222], + "8738": [0.03517, 0.52239, 0, 0, 0.72222], + "8739": [0.08167, 0.58167, 0, 0, 0.22222], + "8740": [0.25142, 0.74111, 0, 0, 0.27778], + "8741": [0.08167, 0.58167, 0, 0, 0.38889], + "8742": [0.25142, 0.74111, 0, 0, 0.5], + "8756": [0, 0.69224, 0, 0, 0.66667], + "8757": [0, 0.69224, 0, 0, 0.66667], + "8764": [-0.13313, 0.36687, 0, 0, 0.77778], + "8765": [-0.13313, 0.37788, 0, 0, 0.77778], + "8769": [-0.13313, 0.36687, 0, 0, 0.77778], + "8770": [-0.03625, 0.46375, 0, 0, 0.77778], + "8774": [0.30274, 0.79383, 0, 0, 0.77778], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8778": [0.08167, 0.58167, 0, 0, 0.77778], + "8782": [0.06062, 0.54986, 0, 0, 0.77778], + "8783": [0.06062, 0.54986, 0, 0, 0.77778], + "8785": [0.08198, 0.58198, 0, 0, 0.77778], + "8786": [0.08198, 0.58198, 0, 0, 0.77778], + "8787": [0.08198, 0.58198, 0, 0, 0.77778], + "8790": [0, 0.69224, 0, 0, 0.77778], + "8791": [0.22958, 0.72958, 0, 0, 0.77778], + "8796": [0.08198, 0.91667, 0, 0, 0.77778], + "8806": [0.25583, 0.75583, 0, 0, 0.77778], + "8807": [0.25583, 0.75583, 0, 0, 0.77778], + "8808": [0.25142, 0.75726, 0, 0, 0.77778], + "8809": [0.25142, 0.75726, 0, 0, 0.77778], + "8812": [0.25583, 0.75583, 0, 0, 0.5], + "8814": [0.20576, 0.70576, 0, 0, 0.77778], + "8815": [0.20576, 0.70576, 0, 0, 0.77778], + "8816": [0.30274, 0.79383, 0, 0, 0.77778], + "8817": [0.30274, 0.79383, 0, 0, 0.77778], + "8818": [0.22958, 0.72958, 0, 0, 0.77778], + "8819": [0.22958, 0.72958, 0, 0, 0.77778], + "8822": [0.1808, 0.675, 0, 0, 0.77778], + "8823": [0.1808, 0.675, 0, 0, 0.77778], + "8828": [0.13667, 0.63667, 0, 0, 0.77778], + "8829": [0.13667, 0.63667, 0, 0, 0.77778], + "8830": [0.22958, 0.72958, 0, 0, 0.77778], + "8831": [0.22958, 0.72958, 0, 0, 0.77778], + "8832": [0.20576, 0.70576, 0, 0, 0.77778], + "8833": [0.20576, 0.70576, 0, 0, 0.77778], + "8840": [0.30274, 0.79383, 0, 0, 0.77778], + "8841": [0.30274, 0.79383, 0, 0, 0.77778], + "8842": [0.13597, 0.63597, 0, 0, 0.77778], + "8843": [0.13597, 0.63597, 0, 0, 0.77778], + "8847": [0.03517, 0.54986, 0, 0, 0.77778], + "8848": [0.03517, 0.54986, 0, 0, 0.77778], + "8858": [0.08198, 0.58198, 0, 0, 0.77778], + "8859": [0.08198, 0.58198, 0, 0, 0.77778], + "8861": [0.08198, 0.58198, 0, 0, 0.77778], + "8862": [0, 0.675, 0, 0, 0.77778], + "8863": [0, 0.675, 0, 0, 0.77778], + "8864": [0, 0.675, 0, 0, 0.77778], + "8865": [0, 0.675, 0, 0, 0.77778], + "8872": [0, 0.69224, 0, 0, 0.61111], + "8873": [0, 0.69224, 0, 0, 0.72222], + "8874": [0, 0.69224, 0, 0, 0.88889], + "8876": [0, 0.68889, 0, 0, 0.61111], + "8877": [0, 0.68889, 0, 0, 0.61111], + "8878": [0, 0.68889, 0, 0, 0.72222], + "8879": [0, 0.68889, 0, 0, 0.72222], + "8882": [0.03517, 0.54986, 0, 0, 0.77778], + "8883": [0.03517, 0.54986, 0, 0, 0.77778], + "8884": [0.13667, 0.63667, 0, 0, 0.77778], + "8885": [0.13667, 0.63667, 0, 0, 0.77778], + "8888": [0, 0.54986, 0, 0, 1.11111], + "8890": [0.19444, 0.43056, 0, 0, 0.55556], + "8891": [0.19444, 0.69224, 0, 0, 0.61111], + "8892": [0.19444, 0.69224, 0, 0, 0.61111], + "8901": [0, 0.54986, 0, 0, 0.27778], + "8903": [0.08167, 0.58167, 0, 0, 0.77778], + "8905": [0.08167, 0.58167, 0, 0, 0.77778], + "8906": [0.08167, 0.58167, 0, 0, 0.77778], + "8907": [0, 0.69224, 0, 0, 0.77778], + "8908": [0, 0.69224, 0, 0, 0.77778], + "8909": [-0.03598, 0.46402, 0, 0, 0.77778], + "8910": [0, 0.54986, 0, 0, 0.76042], + "8911": [0, 0.54986, 0, 0, 0.76042], + "8912": [0.03517, 0.54986, 0, 0, 0.77778], + "8913": [0.03517, 0.54986, 0, 0, 0.77778], + "8914": [0, 0.54986, 0, 0, 0.66667], + "8915": [0, 0.54986, 0, 0, 0.66667], + "8916": [0, 0.69224, 0, 0, 0.66667], + "8918": [0.0391, 0.5391, 0, 0, 0.77778], + "8919": [0.0391, 0.5391, 0, 0, 0.77778], + "8920": [0.03517, 0.54986, 0, 0, 1.33334], + "8921": [0.03517, 0.54986, 0, 0, 1.33334], + "8922": [0.38569, 0.88569, 0, 0, 0.77778], + "8923": [0.38569, 0.88569, 0, 0, 0.77778], + "8926": [0.13667, 0.63667, 0, 0, 0.77778], + "8927": [0.13667, 0.63667, 0, 0, 0.77778], + "8928": [0.30274, 0.79383, 0, 0, 0.77778], + "8929": [0.30274, 0.79383, 0, 0, 0.77778], + "8934": [0.23222, 0.74111, 0, 0, 0.77778], + "8935": [0.23222, 0.74111, 0, 0, 0.77778], + "8936": [0.23222, 0.74111, 0, 0, 0.77778], + "8937": [0.23222, 0.74111, 0, 0, 0.77778], + "8938": [0.20576, 0.70576, 0, 0, 0.77778], + "8939": [0.20576, 0.70576, 0, 0, 0.77778], + "8940": [0.30274, 0.79383, 0, 0, 0.77778], + "8941": [0.30274, 0.79383, 0, 0, 0.77778], + "8994": [0.19444, 0.69224, 0, 0, 0.77778], + "8995": [0.19444, 0.69224, 0, 0, 0.77778], + "9416": [0.15559, 0.69224, 0, 0, 0.90222], + "9484": [0, 0.69224, 0, 0, 0.5], + "9488": [0, 0.69224, 0, 0, 0.5], + "9492": [0, 0.37788, 0, 0, 0.5], + "9496": [0, 0.37788, 0, 0, 0.5], + "9585": [0.19444, 0.68889, 0, 0, 0.88889], + "9586": [0.19444, 0.74111, 0, 0, 0.88889], + "9632": [0, 0.675, 0, 0, 0.77778], + "9633": [0, 0.675, 0, 0, 0.77778], + "9650": [0, 0.54986, 0, 0, 0.72222], + "9651": [0, 0.54986, 0, 0, 0.72222], + "9654": [0.03517, 0.54986, 0, 0, 0.77778], + "9660": [0, 0.54986, 0, 0, 0.72222], + "9661": [0, 0.54986, 0, 0, 0.72222], + "9664": [0.03517, 0.54986, 0, 0, 0.77778], + "9674": [0.11111, 0.69224, 0, 0, 0.66667], + "9733": [0.19444, 0.69224, 0, 0, 0.94445], + "10003": [0, 0.69224, 0, 0, 0.83334], + "10016": [0, 0.69224, 0, 0, 0.83334], + "10731": [0.11111, 0.69224, 0, 0, 0.66667], + "10846": [0.19444, 0.75583, 0, 0, 0.61111], + "10877": [0.13667, 0.63667, 0, 0, 0.77778], + "10878": [0.13667, 0.63667, 0, 0, 0.77778], + "10885": [0.25583, 0.75583, 0, 0, 0.77778], + "10886": [0.25583, 0.75583, 0, 0, 0.77778], + "10887": [0.13597, 0.63597, 0, 0, 0.77778], + "10888": [0.13597, 0.63597, 0, 0, 0.77778], + "10889": [0.26167, 0.75726, 0, 0, 0.77778], + "10890": [0.26167, 0.75726, 0, 0, 0.77778], + "10891": [0.48256, 0.98256, 0, 0, 0.77778], + "10892": [0.48256, 0.98256, 0, 0, 0.77778], + "10901": [0.13667, 0.63667, 0, 0, 0.77778], + "10902": [0.13667, 0.63667, 0, 0, 0.77778], + "10933": [0.25142, 0.75726, 0, 0, 0.77778], + "10934": [0.25142, 0.75726, 0, 0, 0.77778], + "10935": [0.26167, 0.75726, 0, 0, 0.77778], + "10936": [0.26167, 0.75726, 0, 0, 0.77778], + "10937": [0.26167, 0.75726, 0, 0, 0.77778], + "10938": [0.26167, 0.75726, 0, 0, 0.77778], + "10949": [0.25583, 0.75583, 0, 0, 0.77778], + "10950": [0.25583, 0.75583, 0, 0, 0.77778], + "10955": [0.28481, 0.79383, 0, 0, 0.77778], + "10956": [0.28481, 0.79383, 0, 0, 0.77778], + "57350": [0.08167, 0.58167, 0, 0, 0.22222], + "57351": [0.08167, 0.58167, 0, 0, 0.38889], + "57352": [0.08167, 0.58167, 0, 0, 0.77778], + "57353": [0, 0.43056, 0.04028, 0, 0.66667], + "57356": [0.25142, 0.75726, 0, 0, 0.77778], + "57357": [0.25142, 0.75726, 0, 0, 0.77778], + "57358": [0.41951, 0.91951, 0, 0, 0.77778], + "57359": [0.30274, 0.79383, 0, 0, 0.77778], + "57360": [0.30274, 0.79383, 0, 0, 0.77778], + "57361": [0.41951, 0.91951, 0, 0, 0.77778], + "57366": [0.25142, 0.75726, 0, 0, 0.77778], + "57367": [0.25142, 0.75726, 0, 0, 0.77778], + "57368": [0.25142, 0.75726, 0, 0, 0.77778], + "57369": [0.25142, 0.75726, 0, 0, 0.77778], + "57370": [0.13597, 0.63597, 0, 0, 0.77778], + "57371": [0.13597, 0.63597, 0, 0, 0.77778] + }, + "Caligraphic-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.68333, 0, 0.19445, 0.79847], + "66": [0, 0.68333, 0.03041, 0.13889, 0.65681], + "67": [0, 0.68333, 0.05834, 0.13889, 0.52653], + "68": [0, 0.68333, 0.02778, 0.08334, 0.77139], + "69": [0, 0.68333, 0.08944, 0.11111, 0.52778], + "70": [0, 0.68333, 0.09931, 0.11111, 0.71875], + "71": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487], + "72": [0, 0.68333, 0.00965, 0.11111, 0.84452], + "73": [0, 0.68333, 0.07382, 0, 0.54452], + "74": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778], + "75": [0, 0.68333, 0.01445, 0.05556, 0.76195], + "76": [0, 0.68333, 0, 0.13889, 0.68972], + "77": [0, 0.68333, 0, 0.13889, 1.2009], + "78": [0, 0.68333, 0.14736, 0.08334, 0.82049], + "79": [0, 0.68333, 0.02778, 0.11111, 0.79611], + "80": [0, 0.68333, 0.08222, 0.08334, 0.69556], + "81": [0.09722, 0.68333, 0, 0.11111, 0.81667], + "82": [0, 0.68333, 0, 0.08334, 0.8475], + "83": [0, 0.68333, 0.075, 0.13889, 0.60556], + "84": [0, 0.68333, 0.25417, 0, 0.54464], + "85": [0, 0.68333, 0.09931, 0.08334, 0.62583], + "86": [0, 0.68333, 0.08222, 0, 0.61278], + "87": [0, 0.68333, 0.08222, 0.08334, 0.98778], + "88": [0, 0.68333, 0.14643, 0.13889, 0.7133], + "89": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834], + "90": [0, 0.68333, 0.07944, 0.13889, 0.72473], + "160": [0, 0, 0, 0, 0.25] + }, + "Fraktur-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69141, 0, 0, 0.29574], + "34": [0, 0.69141, 0, 0, 0.21471], + "38": [0, 0.69141, 0, 0, 0.73786], + "39": [0, 0.69141, 0, 0, 0.21201], + "40": [0.24982, 0.74947, 0, 0, 0.38865], + "41": [0.24982, 0.74947, 0, 0, 0.38865], + "42": [0, 0.62119, 0, 0, 0.27764], + "43": [0.08319, 0.58283, 0, 0, 0.75623], + "44": [0, 0.10803, 0, 0, 0.27764], + "45": [0.08319, 0.58283, 0, 0, 0.75623], + "46": [0, 0.10803, 0, 0, 0.27764], + "47": [0.24982, 0.74947, 0, 0, 0.50181], + "48": [0, 0.47534, 0, 0, 0.50181], + "49": [0, 0.47534, 0, 0, 0.50181], + "50": [0, 0.47534, 0, 0, 0.50181], + "51": [0.18906, 0.47534, 0, 0, 0.50181], + "52": [0.18906, 0.47534, 0, 0, 0.50181], + "53": [0.18906, 0.47534, 0, 0, 0.50181], + "54": [0, 0.69141, 0, 0, 0.50181], + "55": [0.18906, 0.47534, 0, 0, 0.50181], + "56": [0, 0.69141, 0, 0, 0.50181], + "57": [0.18906, 0.47534, 0, 0, 0.50181], + "58": [0, 0.47534, 0, 0, 0.21606], + "59": [0.12604, 0.47534, 0, 0, 0.21606], + "61": [-0.13099, 0.36866, 0, 0, 0.75623], + "63": [0, 0.69141, 0, 0, 0.36245], + "65": [0, 0.69141, 0, 0, 0.7176], + "66": [0, 0.69141, 0, 0, 0.88397], + "67": [0, 0.69141, 0, 0, 0.61254], + "68": [0, 0.69141, 0, 0, 0.83158], + "69": [0, 0.69141, 0, 0, 0.66278], + "70": [0.12604, 0.69141, 0, 0, 0.61119], + "71": [0, 0.69141, 0, 0, 0.78539], + "72": [0.06302, 0.69141, 0, 0, 0.7203], + "73": [0, 0.69141, 0, 0, 0.55448], + "74": [0.12604, 0.69141, 0, 0, 0.55231], + "75": [0, 0.69141, 0, 0, 0.66845], + "76": [0, 0.69141, 0, 0, 0.66602], + "77": [0, 0.69141, 0, 0, 1.04953], + "78": [0, 0.69141, 0, 0, 0.83212], + "79": [0, 0.69141, 0, 0, 0.82699], + "80": [0.18906, 0.69141, 0, 0, 0.82753], + "81": [0.03781, 0.69141, 0, 0, 0.82699], + "82": [0, 0.69141, 0, 0, 0.82807], + "83": [0, 0.69141, 0, 0, 0.82861], + "84": [0, 0.69141, 0, 0, 0.66899], + "85": [0, 0.69141, 0, 0, 0.64576], + "86": [0, 0.69141, 0, 0, 0.83131], + "87": [0, 0.69141, 0, 0, 1.04602], + "88": [0, 0.69141, 0, 0, 0.71922], + "89": [0.18906, 0.69141, 0, 0, 0.83293], + "90": [0.12604, 0.69141, 0, 0, 0.60201], + "91": [0.24982, 0.74947, 0, 0, 0.27764], + "93": [0.24982, 0.74947, 0, 0, 0.27764], + "94": [0, 0.69141, 0, 0, 0.49965], + "97": [0, 0.47534, 0, 0, 0.50046], + "98": [0, 0.69141, 0, 0, 0.51315], + "99": [0, 0.47534, 0, 0, 0.38946], + "100": [0, 0.62119, 0, 0, 0.49857], + "101": [0, 0.47534, 0, 0, 0.40053], + "102": [0.18906, 0.69141, 0, 0, 0.32626], + "103": [0.18906, 0.47534, 0, 0, 0.5037], + "104": [0.18906, 0.69141, 0, 0, 0.52126], + "105": [0, 0.69141, 0, 0, 0.27899], + "106": [0, 0.69141, 0, 0, 0.28088], + "107": [0, 0.69141, 0, 0, 0.38946], + "108": [0, 0.69141, 0, 0, 0.27953], + "109": [0, 0.47534, 0, 0, 0.76676], + "110": [0, 0.47534, 0, 0, 0.52666], + "111": [0, 0.47534, 0, 0, 0.48885], + "112": [0.18906, 0.52396, 0, 0, 0.50046], + "113": [0.18906, 0.47534, 0, 0, 0.48912], + "114": [0, 0.47534, 0, 0, 0.38919], + "115": [0, 0.47534, 0, 0, 0.44266], + "116": [0, 0.62119, 0, 0, 0.33301], + "117": [0, 0.47534, 0, 0, 0.5172], + "118": [0, 0.52396, 0, 0, 0.5118], + "119": [0, 0.52396, 0, 0, 0.77351], + "120": [0.18906, 0.47534, 0, 0, 0.38865], + "121": [0.18906, 0.47534, 0, 0, 0.49884], + "122": [0.18906, 0.47534, 0, 0, 0.39054], + "160": [0, 0, 0, 0, 0.25], + "8216": [0, 0.69141, 0, 0, 0.21471], + "8217": [0, 0.69141, 0, 0, 0.21471], + "58112": [0, 0.62119, 0, 0, 0.49749], + "58113": [0, 0.62119, 0, 0, 0.4983], + "58114": [0.18906, 0.69141, 0, 0, 0.33328], + "58115": [0.18906, 0.69141, 0, 0, 0.32923], + "58116": [0.18906, 0.47534, 0, 0, 0.50343], + "58117": [0, 0.69141, 0, 0, 0.33301], + "58118": [0, 0.62119, 0, 0, 0.33409], + "58119": [0, 0.47534, 0, 0, 0.50073] + }, + "Main-Bold": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.35], + "34": [0, 0.69444, 0, 0, 0.60278], + "35": [0.19444, 0.69444, 0, 0, 0.95833], + "36": [0.05556, 0.75, 0, 0, 0.575], + "37": [0.05556, 0.75, 0, 0, 0.95833], + "38": [0, 0.69444, 0, 0, 0.89444], + "39": [0, 0.69444, 0, 0, 0.31944], + "40": [0.25, 0.75, 0, 0, 0.44722], + "41": [0.25, 0.75, 0, 0, 0.44722], + "42": [0, 0.75, 0, 0, 0.575], + "43": [0.13333, 0.63333, 0, 0, 0.89444], + "44": [0.19444, 0.15556, 0, 0, 0.31944], + "45": [0, 0.44444, 0, 0, 0.38333], + "46": [0, 0.15556, 0, 0, 0.31944], + "47": [0.25, 0.75, 0, 0, 0.575], + "48": [0, 0.64444, 0, 0, 0.575], + "49": [0, 0.64444, 0, 0, 0.575], + "50": [0, 0.64444, 0, 0, 0.575], + "51": [0, 0.64444, 0, 0, 0.575], + "52": [0, 0.64444, 0, 0, 0.575], + "53": [0, 0.64444, 0, 0, 0.575], + "54": [0, 0.64444, 0, 0, 0.575], + "55": [0, 0.64444, 0, 0, 0.575], + "56": [0, 0.64444, 0, 0, 0.575], + "57": [0, 0.64444, 0, 0, 0.575], + "58": [0, 0.44444, 0, 0, 0.31944], + "59": [0.19444, 0.44444, 0, 0, 0.31944], + "60": [0.08556, 0.58556, 0, 0, 0.89444], + "61": [-0.10889, 0.39111, 0, 0, 0.89444], + "62": [0.08556, 0.58556, 0, 0, 0.89444], + "63": [0, 0.69444, 0, 0, 0.54305], + "64": [0, 0.69444, 0, 0, 0.89444], + "65": [0, 0.68611, 0, 0, 0.86944], + "66": [0, 0.68611, 0, 0, 0.81805], + "67": [0, 0.68611, 0, 0, 0.83055], + "68": [0, 0.68611, 0, 0, 0.88194], + "69": [0, 0.68611, 0, 0, 0.75555], + "70": [0, 0.68611, 0, 0, 0.72361], + "71": [0, 0.68611, 0, 0, 0.90416], + "72": [0, 0.68611, 0, 0, 0.9], + "73": [0, 0.68611, 0, 0, 0.43611], + "74": [0, 0.68611, 0, 0, 0.59444], + "75": [0, 0.68611, 0, 0, 0.90138], + "76": [0, 0.68611, 0, 0, 0.69166], + "77": [0, 0.68611, 0, 0, 1.09166], + "78": [0, 0.68611, 0, 0, 0.9], + "79": [0, 0.68611, 0, 0, 0.86388], + "80": [0, 0.68611, 0, 0, 0.78611], + "81": [0.19444, 0.68611, 0, 0, 0.86388], + "82": [0, 0.68611, 0, 0, 0.8625], + "83": [0, 0.68611, 0, 0, 0.63889], + "84": [0, 0.68611, 0, 0, 0.8], + "85": [0, 0.68611, 0, 0, 0.88472], + "86": [0, 0.68611, 0.01597, 0, 0.86944], + "87": [0, 0.68611, 0.01597, 0, 1.18888], + "88": [0, 0.68611, 0, 0, 0.86944], + "89": [0, 0.68611, 0.02875, 0, 0.86944], + "90": [0, 0.68611, 0, 0, 0.70277], + "91": [0.25, 0.75, 0, 0, 0.31944], + "92": [0.25, 0.75, 0, 0, 0.575], + "93": [0.25, 0.75, 0, 0, 0.31944], + "94": [0, 0.69444, 0, 0, 0.575], + "95": [0.31, 0.13444, 0.03194, 0, 0.575], + "97": [0, 0.44444, 0, 0, 0.55902], + "98": [0, 0.69444, 0, 0, 0.63889], + "99": [0, 0.44444, 0, 0, 0.51111], + "100": [0, 0.69444, 0, 0, 0.63889], + "101": [0, 0.44444, 0, 0, 0.52708], + "102": [0, 0.69444, 0.10903, 0, 0.35139], + "103": [0.19444, 0.44444, 0.01597, 0, 0.575], + "104": [0, 0.69444, 0, 0, 0.63889], + "105": [0, 0.69444, 0, 0, 0.31944], + "106": [0.19444, 0.69444, 0, 0, 0.35139], + "107": [0, 0.69444, 0, 0, 0.60694], + "108": [0, 0.69444, 0, 0, 0.31944], + "109": [0, 0.44444, 0, 0, 0.95833], + "110": [0, 0.44444, 0, 0, 0.63889], + "111": [0, 0.44444, 0, 0, 0.575], + "112": [0.19444, 0.44444, 0, 0, 0.63889], + "113": [0.19444, 0.44444, 0, 0, 0.60694], + "114": [0, 0.44444, 0, 0, 0.47361], + "115": [0, 0.44444, 0, 0, 0.45361], + "116": [0, 0.63492, 0, 0, 0.44722], + "117": [0, 0.44444, 0, 0, 0.63889], + "118": [0, 0.44444, 0.01597, 0, 0.60694], + "119": [0, 0.44444, 0.01597, 0, 0.83055], + "120": [0, 0.44444, 0, 0, 0.60694], + "121": [0.19444, 0.44444, 0.01597, 0, 0.60694], + "122": [0, 0.44444, 0, 0, 0.51111], + "123": [0.25, 0.75, 0, 0, 0.575], + "124": [0.25, 0.75, 0, 0, 0.31944], + "125": [0.25, 0.75, 0, 0, 0.575], + "126": [0.35, 0.34444, 0, 0, 0.575], + "160": [0, 0, 0, 0, 0.25], + "163": [0, 0.69444, 0, 0, 0.86853], + "168": [0, 0.69444, 0, 0, 0.575], + "172": [0, 0.44444, 0, 0, 0.76666], + "176": [0, 0.69444, 0, 0, 0.86944], + "177": [0.13333, 0.63333, 0, 0, 0.89444], + "184": [0.17014, 0, 0, 0, 0.51111], + "198": [0, 0.68611, 0, 0, 1.04166], + "215": [0.13333, 0.63333, 0, 0, 0.89444], + "216": [0.04861, 0.73472, 0, 0, 0.89444], + "223": [0, 0.69444, 0, 0, 0.59722], + "230": [0, 0.44444, 0, 0, 0.83055], + "247": [0.13333, 0.63333, 0, 0, 0.89444], + "248": [0.09722, 0.54167, 0, 0, 0.575], + "305": [0, 0.44444, 0, 0, 0.31944], + "338": [0, 0.68611, 0, 0, 1.16944], + "339": [0, 0.44444, 0, 0, 0.89444], + "567": [0.19444, 0.44444, 0, 0, 0.35139], + "710": [0, 0.69444, 0, 0, 0.575], + "711": [0, 0.63194, 0, 0, 0.575], + "713": [0, 0.59611, 0, 0, 0.575], + "714": [0, 0.69444, 0, 0, 0.575], + "715": [0, 0.69444, 0, 0, 0.575], + "728": [0, 0.69444, 0, 0, 0.575], + "729": [0, 0.69444, 0, 0, 0.31944], + "730": [0, 0.69444, 0, 0, 0.86944], + "732": [0, 0.69444, 0, 0, 0.575], + "733": [0, 0.69444, 0, 0, 0.575], + "915": [0, 0.68611, 0, 0, 0.69166], + "916": [0, 0.68611, 0, 0, 0.95833], + "920": [0, 0.68611, 0, 0, 0.89444], + "923": [0, 0.68611, 0, 0, 0.80555], + "926": [0, 0.68611, 0, 0, 0.76666], + "928": [0, 0.68611, 0, 0, 0.9], + "931": [0, 0.68611, 0, 0, 0.83055], + "933": [0, 0.68611, 0, 0, 0.89444], + "934": [0, 0.68611, 0, 0, 0.83055], + "936": [0, 0.68611, 0, 0, 0.89444], + "937": [0, 0.68611, 0, 0, 0.83055], + "8211": [0, 0.44444, 0.03194, 0, 0.575], + "8212": [0, 0.44444, 0.03194, 0, 1.14999], + "8216": [0, 0.69444, 0, 0, 0.31944], + "8217": [0, 0.69444, 0, 0, 0.31944], + "8220": [0, 0.69444, 0, 0, 0.60278], + "8221": [0, 0.69444, 0, 0, 0.60278], + "8224": [0.19444, 0.69444, 0, 0, 0.51111], + "8225": [0.19444, 0.69444, 0, 0, 0.51111], + "8242": [0, 0.55556, 0, 0, 0.34444], + "8407": [0, 0.72444, 0.15486, 0, 0.575], + "8463": [0, 0.69444, 0, 0, 0.66759], + "8465": [0, 0.69444, 0, 0, 0.83055], + "8467": [0, 0.69444, 0, 0, 0.47361], + "8472": [0.19444, 0.44444, 0, 0, 0.74027], + "8476": [0, 0.69444, 0, 0, 0.83055], + "8501": [0, 0.69444, 0, 0, 0.70277], + "8592": [-0.10889, 0.39111, 0, 0, 1.14999], + "8593": [0.19444, 0.69444, 0, 0, 0.575], + "8594": [-0.10889, 0.39111, 0, 0, 1.14999], + "8595": [0.19444, 0.69444, 0, 0, 0.575], + "8596": [-0.10889, 0.39111, 0, 0, 1.14999], + "8597": [0.25, 0.75, 0, 0, 0.575], + "8598": [0.19444, 0.69444, 0, 0, 1.14999], + "8599": [0.19444, 0.69444, 0, 0, 1.14999], + "8600": [0.19444, 0.69444, 0, 0, 1.14999], + "8601": [0.19444, 0.69444, 0, 0, 1.14999], + "8636": [-0.10889, 0.39111, 0, 0, 1.14999], + "8637": [-0.10889, 0.39111, 0, 0, 1.14999], + "8640": [-0.10889, 0.39111, 0, 0, 1.14999], + "8641": [-0.10889, 0.39111, 0, 0, 1.14999], + "8656": [-0.10889, 0.39111, 0, 0, 1.14999], + "8657": [0.19444, 0.69444, 0, 0, 0.70277], + "8658": [-0.10889, 0.39111, 0, 0, 1.14999], + "8659": [0.19444, 0.69444, 0, 0, 0.70277], + "8660": [-0.10889, 0.39111, 0, 0, 1.14999], + "8661": [0.25, 0.75, 0, 0, 0.70277], + "8704": [0, 0.69444, 0, 0, 0.63889], + "8706": [0, 0.69444, 0.06389, 0, 0.62847], + "8707": [0, 0.69444, 0, 0, 0.63889], + "8709": [0.05556, 0.75, 0, 0, 0.575], + "8711": [0, 0.68611, 0, 0, 0.95833], + "8712": [0.08556, 0.58556, 0, 0, 0.76666], + "8715": [0.08556, 0.58556, 0, 0, 0.76666], + "8722": [0.13333, 0.63333, 0, 0, 0.89444], + "8723": [0.13333, 0.63333, 0, 0, 0.89444], + "8725": [0.25, 0.75, 0, 0, 0.575], + "8726": [0.25, 0.75, 0, 0, 0.575], + "8727": [-0.02778, 0.47222, 0, 0, 0.575], + "8728": [-0.02639, 0.47361, 0, 0, 0.575], + "8729": [-0.02639, 0.47361, 0, 0, 0.575], + "8730": [0.18, 0.82, 0, 0, 0.95833], + "8733": [0, 0.44444, 0, 0, 0.89444], + "8734": [0, 0.44444, 0, 0, 1.14999], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8739": [0.25, 0.75, 0, 0, 0.31944], + "8741": [0.25, 0.75, 0, 0, 0.575], + "8743": [0, 0.55556, 0, 0, 0.76666], + "8744": [0, 0.55556, 0, 0, 0.76666], + "8745": [0, 0.55556, 0, 0, 0.76666], + "8746": [0, 0.55556, 0, 0, 0.76666], + "8747": [0.19444, 0.69444, 0.12778, 0, 0.56875], + "8764": [-0.10889, 0.39111, 0, 0, 0.89444], + "8768": [0.19444, 0.69444, 0, 0, 0.31944], + "8771": [0.00222, 0.50222, 0, 0, 0.89444], + "8776": [0.02444, 0.52444, 0, 0, 0.89444], + "8781": [0.00222, 0.50222, 0, 0, 0.89444], + "8801": [0.00222, 0.50222, 0, 0, 0.89444], + "8804": [0.19667, 0.69667, 0, 0, 0.89444], + "8805": [0.19667, 0.69667, 0, 0, 0.89444], + "8810": [0.08556, 0.58556, 0, 0, 1.14999], + "8811": [0.08556, 0.58556, 0, 0, 1.14999], + "8826": [0.08556, 0.58556, 0, 0, 0.89444], + "8827": [0.08556, 0.58556, 0, 0, 0.89444], + "8834": [0.08556, 0.58556, 0, 0, 0.89444], + "8835": [0.08556, 0.58556, 0, 0, 0.89444], + "8838": [0.19667, 0.69667, 0, 0, 0.89444], + "8839": [0.19667, 0.69667, 0, 0, 0.89444], + "8846": [0, 0.55556, 0, 0, 0.76666], + "8849": [0.19667, 0.69667, 0, 0, 0.89444], + "8850": [0.19667, 0.69667, 0, 0, 0.89444], + "8851": [0, 0.55556, 0, 0, 0.76666], + "8852": [0, 0.55556, 0, 0, 0.76666], + "8853": [0.13333, 0.63333, 0, 0, 0.89444], + "8854": [0.13333, 0.63333, 0, 0, 0.89444], + "8855": [0.13333, 0.63333, 0, 0, 0.89444], + "8856": [0.13333, 0.63333, 0, 0, 0.89444], + "8857": [0.13333, 0.63333, 0, 0, 0.89444], + "8866": [0, 0.69444, 0, 0, 0.70277], + "8867": [0, 0.69444, 0, 0, 0.70277], + "8868": [0, 0.69444, 0, 0, 0.89444], + "8869": [0, 0.69444, 0, 0, 0.89444], + "8900": [-0.02639, 0.47361, 0, 0, 0.575], + "8901": [-0.02639, 0.47361, 0, 0, 0.31944], + "8902": [-0.02778, 0.47222, 0, 0, 0.575], + "8968": [0.25, 0.75, 0, 0, 0.51111], + "8969": [0.25, 0.75, 0, 0, 0.51111], + "8970": [0.25, 0.75, 0, 0, 0.51111], + "8971": [0.25, 0.75, 0, 0, 0.51111], + "8994": [-0.13889, 0.36111, 0, 0, 1.14999], + "8995": [-0.13889, 0.36111, 0, 0, 1.14999], + "9651": [0.19444, 0.69444, 0, 0, 1.02222], + "9657": [-0.02778, 0.47222, 0, 0, 0.575], + "9661": [0.19444, 0.69444, 0, 0, 1.02222], + "9667": [-0.02778, 0.47222, 0, 0, 0.575], + "9711": [0.19444, 0.69444, 0, 0, 1.14999], + "9824": [0.12963, 0.69444, 0, 0, 0.89444], + "9825": [0.12963, 0.69444, 0, 0, 0.89444], + "9826": [0.12963, 0.69444, 0, 0, 0.89444], + "9827": [0.12963, 0.69444, 0, 0, 0.89444], + "9837": [0, 0.75, 0, 0, 0.44722], + "9838": [0.19444, 0.69444, 0, 0, 0.44722], + "9839": [0.19444, 0.69444, 0, 0, 0.44722], + "10216": [0.25, 0.75, 0, 0, 0.44722], + "10217": [0.25, 0.75, 0, 0, 0.44722], + "10815": [0, 0.68611, 0, 0, 0.9], + "10927": [0.19667, 0.69667, 0, 0, 0.89444], + "10928": [0.19667, 0.69667, 0, 0, 0.89444], + "57376": [0.19444, 0.69444, 0, 0, 0] + }, + "Main-BoldItalic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.11417, 0, 0.38611], + "34": [0, 0.69444, 0.07939, 0, 0.62055], + "35": [0.19444, 0.69444, 0.06833, 0, 0.94444], + "37": [0.05556, 0.75, 0.12861, 0, 0.94444], + "38": [0, 0.69444, 0.08528, 0, 0.88555], + "39": [0, 0.69444, 0.12945, 0, 0.35555], + "40": [0.25, 0.75, 0.15806, 0, 0.47333], + "41": [0.25, 0.75, 0.03306, 0, 0.47333], + "42": [0, 0.75, 0.14333, 0, 0.59111], + "43": [0.10333, 0.60333, 0.03306, 0, 0.88555], + "44": [0.19444, 0.14722, 0, 0, 0.35555], + "45": [0, 0.44444, 0.02611, 0, 0.41444], + "46": [0, 0.14722, 0, 0, 0.35555], + "47": [0.25, 0.75, 0.15806, 0, 0.59111], + "48": [0, 0.64444, 0.13167, 0, 0.59111], + "49": [0, 0.64444, 0.13167, 0, 0.59111], + "50": [0, 0.64444, 0.13167, 0, 0.59111], + "51": [0, 0.64444, 0.13167, 0, 0.59111], + "52": [0.19444, 0.64444, 0.13167, 0, 0.59111], + "53": [0, 0.64444, 0.13167, 0, 0.59111], + "54": [0, 0.64444, 0.13167, 0, 0.59111], + "55": [0.19444, 0.64444, 0.13167, 0, 0.59111], + "56": [0, 0.64444, 0.13167, 0, 0.59111], + "57": [0, 0.64444, 0.13167, 0, 0.59111], + "58": [0, 0.44444, 0.06695, 0, 0.35555], + "59": [0.19444, 0.44444, 0.06695, 0, 0.35555], + "61": [-0.10889, 0.39111, 0.06833, 0, 0.88555], + "63": [0, 0.69444, 0.11472, 0, 0.59111], + "64": [0, 0.69444, 0.09208, 0, 0.88555], + "65": [0, 0.68611, 0, 0, 0.86555], + "66": [0, 0.68611, 0.0992, 0, 0.81666], + "67": [0, 0.68611, 0.14208, 0, 0.82666], + "68": [0, 0.68611, 0.09062, 0, 0.87555], + "69": [0, 0.68611, 0.11431, 0, 0.75666], + "70": [0, 0.68611, 0.12903, 0, 0.72722], + "71": [0, 0.68611, 0.07347, 0, 0.89527], + "72": [0, 0.68611, 0.17208, 0, 0.8961], + "73": [0, 0.68611, 0.15681, 0, 0.47166], + "74": [0, 0.68611, 0.145, 0, 0.61055], + "75": [0, 0.68611, 0.14208, 0, 0.89499], + "76": [0, 0.68611, 0, 0, 0.69777], + "77": [0, 0.68611, 0.17208, 0, 1.07277], + "78": [0, 0.68611, 0.17208, 0, 0.8961], + "79": [0, 0.68611, 0.09062, 0, 0.85499], + "80": [0, 0.68611, 0.0992, 0, 0.78721], + "81": [0.19444, 0.68611, 0.09062, 0, 0.85499], + "82": [0, 0.68611, 0.02559, 0, 0.85944], + "83": [0, 0.68611, 0.11264, 0, 0.64999], + "84": [0, 0.68611, 0.12903, 0, 0.7961], + "85": [0, 0.68611, 0.17208, 0, 0.88083], + "86": [0, 0.68611, 0.18625, 0, 0.86555], + "87": [0, 0.68611, 0.18625, 0, 1.15999], + "88": [0, 0.68611, 0.15681, 0, 0.86555], + "89": [0, 0.68611, 0.19803, 0, 0.86555], + "90": [0, 0.68611, 0.14208, 0, 0.70888], + "91": [0.25, 0.75, 0.1875, 0, 0.35611], + "93": [0.25, 0.75, 0.09972, 0, 0.35611], + "94": [0, 0.69444, 0.06709, 0, 0.59111], + "95": [0.31, 0.13444, 0.09811, 0, 0.59111], + "97": [0, 0.44444, 0.09426, 0, 0.59111], + "98": [0, 0.69444, 0.07861, 0, 0.53222], + "99": [0, 0.44444, 0.05222, 0, 0.53222], + "100": [0, 0.69444, 0.10861, 0, 0.59111], + "101": [0, 0.44444, 0.085, 0, 0.53222], + "102": [0.19444, 0.69444, 0.21778, 0, 0.4], + "103": [0.19444, 0.44444, 0.105, 0, 0.53222], + "104": [0, 0.69444, 0.09426, 0, 0.59111], + "105": [0, 0.69326, 0.11387, 0, 0.35555], + "106": [0.19444, 0.69326, 0.1672, 0, 0.35555], + "107": [0, 0.69444, 0.11111, 0, 0.53222], + "108": [0, 0.69444, 0.10861, 0, 0.29666], + "109": [0, 0.44444, 0.09426, 0, 0.94444], + "110": [0, 0.44444, 0.09426, 0, 0.64999], + "111": [0, 0.44444, 0.07861, 0, 0.59111], + "112": [0.19444, 0.44444, 0.07861, 0, 0.59111], + "113": [0.19444, 0.44444, 0.105, 0, 0.53222], + "114": [0, 0.44444, 0.11111, 0, 0.50167], + "115": [0, 0.44444, 0.08167, 0, 0.48694], + "116": [0, 0.63492, 0.09639, 0, 0.385], + "117": [0, 0.44444, 0.09426, 0, 0.62055], + "118": [0, 0.44444, 0.11111, 0, 0.53222], + "119": [0, 0.44444, 0.11111, 0, 0.76777], + "120": [0, 0.44444, 0.12583, 0, 0.56055], + "121": [0.19444, 0.44444, 0.105, 0, 0.56166], + "122": [0, 0.44444, 0.13889, 0, 0.49055], + "126": [0.35, 0.34444, 0.11472, 0, 0.59111], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.69444, 0.11473, 0, 0.59111], + "176": [0, 0.69444, 0, 0, 0.94888], + "184": [0.17014, 0, 0, 0, 0.53222], + "198": [0, 0.68611, 0.11431, 0, 1.02277], + "216": [0.04861, 0.73472, 0.09062, 0, 0.88555], + "223": [0.19444, 0.69444, 0.09736, 0, 0.665], + "230": [0, 0.44444, 0.085, 0, 0.82666], + "248": [0.09722, 0.54167, 0.09458, 0, 0.59111], + "305": [0, 0.44444, 0.09426, 0, 0.35555], + "338": [0, 0.68611, 0.11431, 0, 1.14054], + "339": [0, 0.44444, 0.085, 0, 0.82666], + "567": [0.19444, 0.44444, 0.04611, 0, 0.385], + "710": [0, 0.69444, 0.06709, 0, 0.59111], + "711": [0, 0.63194, 0.08271, 0, 0.59111], + "713": [0, 0.59444, 0.10444, 0, 0.59111], + "714": [0, 0.69444, 0.08528, 0, 0.59111], + "715": [0, 0.69444, 0, 0, 0.59111], + "728": [0, 0.69444, 0.10333, 0, 0.59111], + "729": [0, 0.69444, 0.12945, 0, 0.35555], + "730": [0, 0.69444, 0, 0, 0.94888], + "732": [0, 0.69444, 0.11472, 0, 0.59111], + "733": [0, 0.69444, 0.11472, 0, 0.59111], + "915": [0, 0.68611, 0.12903, 0, 0.69777], + "916": [0, 0.68611, 0, 0, 0.94444], + "920": [0, 0.68611, 0.09062, 0, 0.88555], + "923": [0, 0.68611, 0, 0, 0.80666], + "926": [0, 0.68611, 0.15092, 0, 0.76777], + "928": [0, 0.68611, 0.17208, 0, 0.8961], + "931": [0, 0.68611, 0.11431, 0, 0.82666], + "933": [0, 0.68611, 0.10778, 0, 0.88555], + "934": [0, 0.68611, 0.05632, 0, 0.82666], + "936": [0, 0.68611, 0.10778, 0, 0.88555], + "937": [0, 0.68611, 0.0992, 0, 0.82666], + "8211": [0, 0.44444, 0.09811, 0, 0.59111], + "8212": [0, 0.44444, 0.09811, 0, 1.18221], + "8216": [0, 0.69444, 0.12945, 0, 0.35555], + "8217": [0, 0.69444, 0.12945, 0, 0.35555], + "8220": [0, 0.69444, 0.16772, 0, 0.62055], + "8221": [0, 0.69444, 0.07939, 0, 0.62055] + }, + "Main-Italic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.12417, 0, 0.30667], + "34": [0, 0.69444, 0.06961, 0, 0.51444], + "35": [0.19444, 0.69444, 0.06616, 0, 0.81777], + "37": [0.05556, 0.75, 0.13639, 0, 0.81777], + "38": [0, 0.69444, 0.09694, 0, 0.76666], + "39": [0, 0.69444, 0.12417, 0, 0.30667], + "40": [0.25, 0.75, 0.16194, 0, 0.40889], + "41": [0.25, 0.75, 0.03694, 0, 0.40889], + "42": [0, 0.75, 0.14917, 0, 0.51111], + "43": [0.05667, 0.56167, 0.03694, 0, 0.76666], + "44": [0.19444, 0.10556, 0, 0, 0.30667], + "45": [0, 0.43056, 0.02826, 0, 0.35778], + "46": [0, 0.10556, 0, 0, 0.30667], + "47": [0.25, 0.75, 0.16194, 0, 0.51111], + "48": [0, 0.64444, 0.13556, 0, 0.51111], + "49": [0, 0.64444, 0.13556, 0, 0.51111], + "50": [0, 0.64444, 0.13556, 0, 0.51111], + "51": [0, 0.64444, 0.13556, 0, 0.51111], + "52": [0.19444, 0.64444, 0.13556, 0, 0.51111], + "53": [0, 0.64444, 0.13556, 0, 0.51111], + "54": [0, 0.64444, 0.13556, 0, 0.51111], + "55": [0.19444, 0.64444, 0.13556, 0, 0.51111], + "56": [0, 0.64444, 0.13556, 0, 0.51111], + "57": [0, 0.64444, 0.13556, 0, 0.51111], + "58": [0, 0.43056, 0.0582, 0, 0.30667], + "59": [0.19444, 0.43056, 0.0582, 0, 0.30667], + "61": [-0.13313, 0.36687, 0.06616, 0, 0.76666], + "63": [0, 0.69444, 0.1225, 0, 0.51111], + "64": [0, 0.69444, 0.09597, 0, 0.76666], + "65": [0, 0.68333, 0, 0, 0.74333], + "66": [0, 0.68333, 0.10257, 0, 0.70389], + "67": [0, 0.68333, 0.14528, 0, 0.71555], + "68": [0, 0.68333, 0.09403, 0, 0.755], + "69": [0, 0.68333, 0.12028, 0, 0.67833], + "70": [0, 0.68333, 0.13305, 0, 0.65277], + "71": [0, 0.68333, 0.08722, 0, 0.77361], + "72": [0, 0.68333, 0.16389, 0, 0.74333], + "73": [0, 0.68333, 0.15806, 0, 0.38555], + "74": [0, 0.68333, 0.14028, 0, 0.525], + "75": [0, 0.68333, 0.14528, 0, 0.76888], + "76": [0, 0.68333, 0, 0, 0.62722], + "77": [0, 0.68333, 0.16389, 0, 0.89666], + "78": [0, 0.68333, 0.16389, 0, 0.74333], + "79": [0, 0.68333, 0.09403, 0, 0.76666], + "80": [0, 0.68333, 0.10257, 0, 0.67833], + "81": [0.19444, 0.68333, 0.09403, 0, 0.76666], + "82": [0, 0.68333, 0.03868, 0, 0.72944], + "83": [0, 0.68333, 0.11972, 0, 0.56222], + "84": [0, 0.68333, 0.13305, 0, 0.71555], + "85": [0, 0.68333, 0.16389, 0, 0.74333], + "86": [0, 0.68333, 0.18361, 0, 0.74333], + "87": [0, 0.68333, 0.18361, 0, 0.99888], + "88": [0, 0.68333, 0.15806, 0, 0.74333], + "89": [0, 0.68333, 0.19383, 0, 0.74333], + "90": [0, 0.68333, 0.14528, 0, 0.61333], + "91": [0.25, 0.75, 0.1875, 0, 0.30667], + "93": [0.25, 0.75, 0.10528, 0, 0.30667], + "94": [0, 0.69444, 0.06646, 0, 0.51111], + "95": [0.31, 0.12056, 0.09208, 0, 0.51111], + "97": [0, 0.43056, 0.07671, 0, 0.51111], + "98": [0, 0.69444, 0.06312, 0, 0.46], + "99": [0, 0.43056, 0.05653, 0, 0.46], + "100": [0, 0.69444, 0.10333, 0, 0.51111], + "101": [0, 0.43056, 0.07514, 0, 0.46], + "102": [0.19444, 0.69444, 0.21194, 0, 0.30667], + "103": [0.19444, 0.43056, 0.08847, 0, 0.46], + "104": [0, 0.69444, 0.07671, 0, 0.51111], + "105": [0, 0.65536, 0.1019, 0, 0.30667], + "106": [0.19444, 0.65536, 0.14467, 0, 0.30667], + "107": [0, 0.69444, 0.10764, 0, 0.46], + "108": [0, 0.69444, 0.10333, 0, 0.25555], + "109": [0, 0.43056, 0.07671, 0, 0.81777], + "110": [0, 0.43056, 0.07671, 0, 0.56222], + "111": [0, 0.43056, 0.06312, 0, 0.51111], + "112": [0.19444, 0.43056, 0.06312, 0, 0.51111], + "113": [0.19444, 0.43056, 0.08847, 0, 0.46], + "114": [0, 0.43056, 0.10764, 0, 0.42166], + "115": [0, 0.43056, 0.08208, 0, 0.40889], + "116": [0, 0.61508, 0.09486, 0, 0.33222], + "117": [0, 0.43056, 0.07671, 0, 0.53666], + "118": [0, 0.43056, 0.10764, 0, 0.46], + "119": [0, 0.43056, 0.10764, 0, 0.66444], + "120": [0, 0.43056, 0.12042, 0, 0.46389], + "121": [0.19444, 0.43056, 0.08847, 0, 0.48555], + "122": [0, 0.43056, 0.12292, 0, 0.40889], + "126": [0.35, 0.31786, 0.11585, 0, 0.51111], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.66786, 0.10474, 0, 0.51111], + "176": [0, 0.69444, 0, 0, 0.83129], + "184": [0.17014, 0, 0, 0, 0.46], + "198": [0, 0.68333, 0.12028, 0, 0.88277], + "216": [0.04861, 0.73194, 0.09403, 0, 0.76666], + "223": [0.19444, 0.69444, 0.10514, 0, 0.53666], + "230": [0, 0.43056, 0.07514, 0, 0.71555], + "248": [0.09722, 0.52778, 0.09194, 0, 0.51111], + "338": [0, 0.68333, 0.12028, 0, 0.98499], + "339": [0, 0.43056, 0.07514, 0, 0.71555], + "710": [0, 0.69444, 0.06646, 0, 0.51111], + "711": [0, 0.62847, 0.08295, 0, 0.51111], + "713": [0, 0.56167, 0.10333, 0, 0.51111], + "714": [0, 0.69444, 0.09694, 0, 0.51111], + "715": [0, 0.69444, 0, 0, 0.51111], + "728": [0, 0.69444, 0.10806, 0, 0.51111], + "729": [0, 0.66786, 0.11752, 0, 0.30667], + "730": [0, 0.69444, 0, 0, 0.83129], + "732": [0, 0.66786, 0.11585, 0, 0.51111], + "733": [0, 0.69444, 0.1225, 0, 0.51111], + "915": [0, 0.68333, 0.13305, 0, 0.62722], + "916": [0, 0.68333, 0, 0, 0.81777], + "920": [0, 0.68333, 0.09403, 0, 0.76666], + "923": [0, 0.68333, 0, 0, 0.69222], + "926": [0, 0.68333, 0.15294, 0, 0.66444], + "928": [0, 0.68333, 0.16389, 0, 0.74333], + "931": [0, 0.68333, 0.12028, 0, 0.71555], + "933": [0, 0.68333, 0.11111, 0, 0.76666], + "934": [0, 0.68333, 0.05986, 0, 0.71555], + "936": [0, 0.68333, 0.11111, 0, 0.76666], + "937": [0, 0.68333, 0.10257, 0, 0.71555], + "8211": [0, 0.43056, 0.09208, 0, 0.51111], + "8212": [0, 0.43056, 0.09208, 0, 1.02222], + "8216": [0, 0.69444, 0.12417, 0, 0.30667], + "8217": [0, 0.69444, 0.12417, 0, 0.30667], + "8220": [0, 0.69444, 0.1685, 0, 0.51444], + "8221": [0, 0.69444, 0.06961, 0, 0.51444], + "8463": [0, 0.68889, 0, 0, 0.54028] + }, + "Main-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.27778], + "34": [0, 0.69444, 0, 0, 0.5], + "35": [0.19444, 0.69444, 0, 0, 0.83334], + "36": [0.05556, 0.75, 0, 0, 0.5], + "37": [0.05556, 0.75, 0, 0, 0.83334], + "38": [0, 0.69444, 0, 0, 0.77778], + "39": [0, 0.69444, 0, 0, 0.27778], + "40": [0.25, 0.75, 0, 0, 0.38889], + "41": [0.25, 0.75, 0, 0, 0.38889], + "42": [0, 0.75, 0, 0, 0.5], + "43": [0.08333, 0.58333, 0, 0, 0.77778], + "44": [0.19444, 0.10556, 0, 0, 0.27778], + "45": [0, 0.43056, 0, 0, 0.33333], + "46": [0, 0.10556, 0, 0, 0.27778], + "47": [0.25, 0.75, 0, 0, 0.5], + "48": [0, 0.64444, 0, 0, 0.5], + "49": [0, 0.64444, 0, 0, 0.5], + "50": [0, 0.64444, 0, 0, 0.5], + "51": [0, 0.64444, 0, 0, 0.5], + "52": [0, 0.64444, 0, 0, 0.5], + "53": [0, 0.64444, 0, 0, 0.5], + "54": [0, 0.64444, 0, 0, 0.5], + "55": [0, 0.64444, 0, 0, 0.5], + "56": [0, 0.64444, 0, 0, 0.5], + "57": [0, 0.64444, 0, 0, 0.5], + "58": [0, 0.43056, 0, 0, 0.27778], + "59": [0.19444, 0.43056, 0, 0, 0.27778], + "60": [0.0391, 0.5391, 0, 0, 0.77778], + "61": [-0.13313, 0.36687, 0, 0, 0.77778], + "62": [0.0391, 0.5391, 0, 0, 0.77778], + "63": [0, 0.69444, 0, 0, 0.47222], + "64": [0, 0.69444, 0, 0, 0.77778], + "65": [0, 0.68333, 0, 0, 0.75], + "66": [0, 0.68333, 0, 0, 0.70834], + "67": [0, 0.68333, 0, 0, 0.72222], + "68": [0, 0.68333, 0, 0, 0.76389], + "69": [0, 0.68333, 0, 0, 0.68056], + "70": [0, 0.68333, 0, 0, 0.65278], + "71": [0, 0.68333, 0, 0, 0.78472], + "72": [0, 0.68333, 0, 0, 0.75], + "73": [0, 0.68333, 0, 0, 0.36111], + "74": [0, 0.68333, 0, 0, 0.51389], + "75": [0, 0.68333, 0, 0, 0.77778], + "76": [0, 0.68333, 0, 0, 0.625], + "77": [0, 0.68333, 0, 0, 0.91667], + "78": [0, 0.68333, 0, 0, 0.75], + "79": [0, 0.68333, 0, 0, 0.77778], + "80": [0, 0.68333, 0, 0, 0.68056], + "81": [0.19444, 0.68333, 0, 0, 0.77778], + "82": [0, 0.68333, 0, 0, 0.73611], + "83": [0, 0.68333, 0, 0, 0.55556], + "84": [0, 0.68333, 0, 0, 0.72222], + "85": [0, 0.68333, 0, 0, 0.75], + "86": [0, 0.68333, 0.01389, 0, 0.75], + "87": [0, 0.68333, 0.01389, 0, 1.02778], + "88": [0, 0.68333, 0, 0, 0.75], + "89": [0, 0.68333, 0.025, 0, 0.75], + "90": [0, 0.68333, 0, 0, 0.61111], + "91": [0.25, 0.75, 0, 0, 0.27778], + "92": [0.25, 0.75, 0, 0, 0.5], + "93": [0.25, 0.75, 0, 0, 0.27778], + "94": [0, 0.69444, 0, 0, 0.5], + "95": [0.31, 0.12056, 0.02778, 0, 0.5], + "97": [0, 0.43056, 0, 0, 0.5], + "98": [0, 0.69444, 0, 0, 0.55556], + "99": [0, 0.43056, 0, 0, 0.44445], + "100": [0, 0.69444, 0, 0, 0.55556], + "101": [0, 0.43056, 0, 0, 0.44445], + "102": [0, 0.69444, 0.07778, 0, 0.30556], + "103": [0.19444, 0.43056, 0.01389, 0, 0.5], + "104": [0, 0.69444, 0, 0, 0.55556], + "105": [0, 0.66786, 0, 0, 0.27778], + "106": [0.19444, 0.66786, 0, 0, 0.30556], + "107": [0, 0.69444, 0, 0, 0.52778], + "108": [0, 0.69444, 0, 0, 0.27778], + "109": [0, 0.43056, 0, 0, 0.83334], + "110": [0, 0.43056, 0, 0, 0.55556], + "111": [0, 0.43056, 0, 0, 0.5], + "112": [0.19444, 0.43056, 0, 0, 0.55556], + "113": [0.19444, 0.43056, 0, 0, 0.52778], + "114": [0, 0.43056, 0, 0, 0.39167], + "115": [0, 0.43056, 0, 0, 0.39445], + "116": [0, 0.61508, 0, 0, 0.38889], + "117": [0, 0.43056, 0, 0, 0.55556], + "118": [0, 0.43056, 0.01389, 0, 0.52778], + "119": [0, 0.43056, 0.01389, 0, 0.72222], + "120": [0, 0.43056, 0, 0, 0.52778], + "121": [0.19444, 0.43056, 0.01389, 0, 0.52778], + "122": [0, 0.43056, 0, 0, 0.44445], + "123": [0.25, 0.75, 0, 0, 0.5], + "124": [0.25, 0.75, 0, 0, 0.27778], + "125": [0.25, 0.75, 0, 0, 0.5], + "126": [0.35, 0.31786, 0, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "163": [0, 0.69444, 0, 0, 0.76909], + "167": [0.19444, 0.69444, 0, 0, 0.44445], + "168": [0, 0.66786, 0, 0, 0.5], + "172": [0, 0.43056, 0, 0, 0.66667], + "176": [0, 0.69444, 0, 0, 0.75], + "177": [0.08333, 0.58333, 0, 0, 0.77778], + "182": [0.19444, 0.69444, 0, 0, 0.61111], + "184": [0.17014, 0, 0, 0, 0.44445], + "198": [0, 0.68333, 0, 0, 0.90278], + "215": [0.08333, 0.58333, 0, 0, 0.77778], + "216": [0.04861, 0.73194, 0, 0, 0.77778], + "223": [0, 0.69444, 0, 0, 0.5], + "230": [0, 0.43056, 0, 0, 0.72222], + "247": [0.08333, 0.58333, 0, 0, 0.77778], + "248": [0.09722, 0.52778, 0, 0, 0.5], + "305": [0, 0.43056, 0, 0, 0.27778], + "338": [0, 0.68333, 0, 0, 1.01389], + "339": [0, 0.43056, 0, 0, 0.77778], + "567": [0.19444, 0.43056, 0, 0, 0.30556], + "710": [0, 0.69444, 0, 0, 0.5], + "711": [0, 0.62847, 0, 0, 0.5], + "713": [0, 0.56778, 0, 0, 0.5], + "714": [0, 0.69444, 0, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0, 0, 0.5], + "729": [0, 0.66786, 0, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.75], + "732": [0, 0.66786, 0, 0, 0.5], + "733": [0, 0.69444, 0, 0, 0.5], + "915": [0, 0.68333, 0, 0, 0.625], + "916": [0, 0.68333, 0, 0, 0.83334], + "920": [0, 0.68333, 0, 0, 0.77778], + "923": [0, 0.68333, 0, 0, 0.69445], + "926": [0, 0.68333, 0, 0, 0.66667], + "928": [0, 0.68333, 0, 0, 0.75], + "931": [0, 0.68333, 0, 0, 0.72222], + "933": [0, 0.68333, 0, 0, 0.77778], + "934": [0, 0.68333, 0, 0, 0.72222], + "936": [0, 0.68333, 0, 0, 0.77778], + "937": [0, 0.68333, 0, 0, 0.72222], + "8211": [0, 0.43056, 0.02778, 0, 0.5], + "8212": [0, 0.43056, 0.02778, 0, 1.0], + "8216": [0, 0.69444, 0, 0, 0.27778], + "8217": [0, 0.69444, 0, 0, 0.27778], + "8220": [0, 0.69444, 0, 0, 0.5], + "8221": [0, 0.69444, 0, 0, 0.5], + "8224": [0.19444, 0.69444, 0, 0, 0.44445], + "8225": [0.19444, 0.69444, 0, 0, 0.44445], + "8230": [0, 0.12, 0, 0, 1.172], + "8242": [0, 0.55556, 0, 0, 0.275], + "8407": [0, 0.71444, 0.15382, 0, 0.5], + "8463": [0, 0.68889, 0, 0, 0.54028], + "8465": [0, 0.69444, 0, 0, 0.72222], + "8467": [0, 0.69444, 0, 0.11111, 0.41667], + "8472": [0.19444, 0.43056, 0, 0.11111, 0.63646], + "8476": [0, 0.69444, 0, 0, 0.72222], + "8501": [0, 0.69444, 0, 0, 0.61111], + "8592": [-0.13313, 0.36687, 0, 0, 1.0], + "8593": [0.19444, 0.69444, 0, 0, 0.5], + "8594": [-0.13313, 0.36687, 0, 0, 1.0], + "8595": [0.19444, 0.69444, 0, 0, 0.5], + "8596": [-0.13313, 0.36687, 0, 0, 1.0], + "8597": [0.25, 0.75, 0, 0, 0.5], + "8598": [0.19444, 0.69444, 0, 0, 1.0], + "8599": [0.19444, 0.69444, 0, 0, 1.0], + "8600": [0.19444, 0.69444, 0, 0, 1.0], + "8601": [0.19444, 0.69444, 0, 0, 1.0], + "8614": [0.011, 0.511, 0, 0, 1.0], + "8617": [0.011, 0.511, 0, 0, 1.126], + "8618": [0.011, 0.511, 0, 0, 1.126], + "8636": [-0.13313, 0.36687, 0, 0, 1.0], + "8637": [-0.13313, 0.36687, 0, 0, 1.0], + "8640": [-0.13313, 0.36687, 0, 0, 1.0], + "8641": [-0.13313, 0.36687, 0, 0, 1.0], + "8652": [0.011, 0.671, 0, 0, 1.0], + "8656": [-0.13313, 0.36687, 0, 0, 1.0], + "8657": [0.19444, 0.69444, 0, 0, 0.61111], + "8658": [-0.13313, 0.36687, 0, 0, 1.0], + "8659": [0.19444, 0.69444, 0, 0, 0.61111], + "8660": [-0.13313, 0.36687, 0, 0, 1.0], + "8661": [0.25, 0.75, 0, 0, 0.61111], + "8704": [0, 0.69444, 0, 0, 0.55556], + "8706": [0, 0.69444, 0.05556, 0.08334, 0.5309], + "8707": [0, 0.69444, 0, 0, 0.55556], + "8709": [0.05556, 0.75, 0, 0, 0.5], + "8711": [0, 0.68333, 0, 0, 0.83334], + "8712": [0.0391, 0.5391, 0, 0, 0.66667], + "8715": [0.0391, 0.5391, 0, 0, 0.66667], + "8722": [0.08333, 0.58333, 0, 0, 0.77778], + "8723": [0.08333, 0.58333, 0, 0, 0.77778], + "8725": [0.25, 0.75, 0, 0, 0.5], + "8726": [0.25, 0.75, 0, 0, 0.5], + "8727": [-0.03472, 0.46528, 0, 0, 0.5], + "8728": [-0.05555, 0.44445, 0, 0, 0.5], + "8729": [-0.05555, 0.44445, 0, 0, 0.5], + "8730": [0.2, 0.8, 0, 0, 0.83334], + "8733": [0, 0.43056, 0, 0, 0.77778], + "8734": [0, 0.43056, 0, 0, 1.0], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8739": [0.25, 0.75, 0, 0, 0.27778], + "8741": [0.25, 0.75, 0, 0, 0.5], + "8743": [0, 0.55556, 0, 0, 0.66667], + "8744": [0, 0.55556, 0, 0, 0.66667], + "8745": [0, 0.55556, 0, 0, 0.66667], + "8746": [0, 0.55556, 0, 0, 0.66667], + "8747": [0.19444, 0.69444, 0.11111, 0, 0.41667], + "8764": [-0.13313, 0.36687, 0, 0, 0.77778], + "8768": [0.19444, 0.69444, 0, 0, 0.27778], + "8771": [-0.03625, 0.46375, 0, 0, 0.77778], + "8773": [-0.022, 0.589, 0, 0, 1.0], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8781": [-0.03625, 0.46375, 0, 0, 0.77778], + "8784": [-0.133, 0.67, 0, 0, 0.778], + "8801": [-0.03625, 0.46375, 0, 0, 0.77778], + "8804": [0.13597, 0.63597, 0, 0, 0.77778], + "8805": [0.13597, 0.63597, 0, 0, 0.77778], + "8810": [0.0391, 0.5391, 0, 0, 1.0], + "8811": [0.0391, 0.5391, 0, 0, 1.0], + "8826": [0.0391, 0.5391, 0, 0, 0.77778], + "8827": [0.0391, 0.5391, 0, 0, 0.77778], + "8834": [0.0391, 0.5391, 0, 0, 0.77778], + "8835": [0.0391, 0.5391, 0, 0, 0.77778], + "8838": [0.13597, 0.63597, 0, 0, 0.77778], + "8839": [0.13597, 0.63597, 0, 0, 0.77778], + "8846": [0, 0.55556, 0, 0, 0.66667], + "8849": [0.13597, 0.63597, 0, 0, 0.77778], + "8850": [0.13597, 0.63597, 0, 0, 0.77778], + "8851": [0, 0.55556, 0, 0, 0.66667], + "8852": [0, 0.55556, 0, 0, 0.66667], + "8853": [0.08333, 0.58333, 0, 0, 0.77778], + "8854": [0.08333, 0.58333, 0, 0, 0.77778], + "8855": [0.08333, 0.58333, 0, 0, 0.77778], + "8856": [0.08333, 0.58333, 0, 0, 0.77778], + "8857": [0.08333, 0.58333, 0, 0, 0.77778], + "8866": [0, 0.69444, 0, 0, 0.61111], + "8867": [0, 0.69444, 0, 0, 0.61111], + "8868": [0, 0.69444, 0, 0, 0.77778], + "8869": [0, 0.69444, 0, 0, 0.77778], + "8872": [0.249, 0.75, 0, 0, 0.867], + "8900": [-0.05555, 0.44445, 0, 0, 0.5], + "8901": [-0.05555, 0.44445, 0, 0, 0.27778], + "8902": [-0.03472, 0.46528, 0, 0, 0.5], + "8904": [0.005, 0.505, 0, 0, 0.9], + "8942": [0.03, 0.9, 0, 0, 0.278], + "8943": [-0.19, 0.31, 0, 0, 1.172], + "8945": [-0.1, 0.82, 0, 0, 1.282], + "8968": [0.25, 0.75, 0, 0, 0.44445], + "8969": [0.25, 0.75, 0, 0, 0.44445], + "8970": [0.25, 0.75, 0, 0, 0.44445], + "8971": [0.25, 0.75, 0, 0, 0.44445], + "8994": [-0.14236, 0.35764, 0, 0, 1.0], + "8995": [-0.14236, 0.35764, 0, 0, 1.0], + "9136": [0.244, 0.744, 0, 0, 0.412], + "9137": [0.244, 0.744, 0, 0, 0.412], + "9651": [0.19444, 0.69444, 0, 0, 0.88889], + "9657": [-0.03472, 0.46528, 0, 0, 0.5], + "9661": [0.19444, 0.69444, 0, 0, 0.88889], + "9667": [-0.03472, 0.46528, 0, 0, 0.5], + "9711": [0.19444, 0.69444, 0, 0, 1.0], + "9824": [0.12963, 0.69444, 0, 0, 0.77778], + "9825": [0.12963, 0.69444, 0, 0, 0.77778], + "9826": [0.12963, 0.69444, 0, 0, 0.77778], + "9827": [0.12963, 0.69444, 0, 0, 0.77778], + "9837": [0, 0.75, 0, 0, 0.38889], + "9838": [0.19444, 0.69444, 0, 0, 0.38889], + "9839": [0.19444, 0.69444, 0, 0, 0.38889], + "10216": [0.25, 0.75, 0, 0, 0.38889], + "10217": [0.25, 0.75, 0, 0, 0.38889], + "10222": [0.244, 0.744, 0, 0, 0.412], + "10223": [0.244, 0.744, 0, 0, 0.412], + "10229": [0.011, 0.511, 0, 0, 1.609], + "10230": [0.011, 0.511, 0, 0, 1.638], + "10231": [0.011, 0.511, 0, 0, 1.859], + "10232": [0.024, 0.525, 0, 0, 1.609], + "10233": [0.024, 0.525, 0, 0, 1.638], + "10234": [0.024, 0.525, 0, 0, 1.858], + "10236": [0.011, 0.511, 0, 0, 1.638], + "10815": [0, 0.68333, 0, 0, 0.75], + "10927": [0.13597, 0.63597, 0, 0, 0.77778], + "10928": [0.13597, 0.63597, 0, 0, 0.77778], + "57376": [0.19444, 0.69444, 0, 0, 0] + }, + "Math-BoldItalic": { + "32": [0, 0, 0, 0, 0.25], + "48": [0, 0.44444, 0, 0, 0.575], + "49": [0, 0.44444, 0, 0, 0.575], + "50": [0, 0.44444, 0, 0, 0.575], + "51": [0.19444, 0.44444, 0, 0, 0.575], + "52": [0.19444, 0.44444, 0, 0, 0.575], + "53": [0.19444, 0.44444, 0, 0, 0.575], + "54": [0, 0.64444, 0, 0, 0.575], + "55": [0.19444, 0.44444, 0, 0, 0.575], + "56": [0, 0.64444, 0, 0, 0.575], + "57": [0.19444, 0.44444, 0, 0, 0.575], + "65": [0, 0.68611, 0, 0, 0.86944], + "66": [0, 0.68611, 0.04835, 0, 0.8664], + "67": [0, 0.68611, 0.06979, 0, 0.81694], + "68": [0, 0.68611, 0.03194, 0, 0.93812], + "69": [0, 0.68611, 0.05451, 0, 0.81007], + "70": [0, 0.68611, 0.15972, 0, 0.68889], + "71": [0, 0.68611, 0, 0, 0.88673], + "72": [0, 0.68611, 0.08229, 0, 0.98229], + "73": [0, 0.68611, 0.07778, 0, 0.51111], + "74": [0, 0.68611, 0.10069, 0, 0.63125], + "75": [0, 0.68611, 0.06979, 0, 0.97118], + "76": [0, 0.68611, 0, 0, 0.75555], + "77": [0, 0.68611, 0.11424, 0, 1.14201], + "78": [0, 0.68611, 0.11424, 0, 0.95034], + "79": [0, 0.68611, 0.03194, 0, 0.83666], + "80": [0, 0.68611, 0.15972, 0, 0.72309], + "81": [0.19444, 0.68611, 0, 0, 0.86861], + "82": [0, 0.68611, 0.00421, 0, 0.87235], + "83": [0, 0.68611, 0.05382, 0, 0.69271], + "84": [0, 0.68611, 0.15972, 0, 0.63663], + "85": [0, 0.68611, 0.11424, 0, 0.80027], + "86": [0, 0.68611, 0.25555, 0, 0.67778], + "87": [0, 0.68611, 0.15972, 0, 1.09305], + "88": [0, 0.68611, 0.07778, 0, 0.94722], + "89": [0, 0.68611, 0.25555, 0, 0.67458], + "90": [0, 0.68611, 0.06979, 0, 0.77257], + "97": [0, 0.44444, 0, 0, 0.63287], + "98": [0, 0.69444, 0, 0, 0.52083], + "99": [0, 0.44444, 0, 0, 0.51342], + "100": [0, 0.69444, 0, 0, 0.60972], + "101": [0, 0.44444, 0, 0, 0.55361], + "102": [0.19444, 0.69444, 0.11042, 0, 0.56806], + "103": [0.19444, 0.44444, 0.03704, 0, 0.5449], + "104": [0, 0.69444, 0, 0, 0.66759], + "105": [0, 0.69326, 0, 0, 0.4048], + "106": [0.19444, 0.69326, 0.0622, 0, 0.47083], + "107": [0, 0.69444, 0.01852, 0, 0.6037], + "108": [0, 0.69444, 0.0088, 0, 0.34815], + "109": [0, 0.44444, 0, 0, 1.0324], + "110": [0, 0.44444, 0, 0, 0.71296], + "111": [0, 0.44444, 0, 0, 0.58472], + "112": [0.19444, 0.44444, 0, 0, 0.60092], + "113": [0.19444, 0.44444, 0.03704, 0, 0.54213], + "114": [0, 0.44444, 0.03194, 0, 0.5287], + "115": [0, 0.44444, 0, 0, 0.53125], + "116": [0, 0.63492, 0, 0, 0.41528], + "117": [0, 0.44444, 0, 0, 0.68102], + "118": [0, 0.44444, 0.03704, 0, 0.56666], + "119": [0, 0.44444, 0.02778, 0, 0.83148], + "120": [0, 0.44444, 0, 0, 0.65903], + "121": [0.19444, 0.44444, 0.03704, 0, 0.59028], + "122": [0, 0.44444, 0.04213, 0, 0.55509], + "160": [0, 0, 0, 0, 0.25], + "915": [0, 0.68611, 0.15972, 0, 0.65694], + "916": [0, 0.68611, 0, 0, 0.95833], + "920": [0, 0.68611, 0.03194, 0, 0.86722], + "923": [0, 0.68611, 0, 0, 0.80555], + "926": [0, 0.68611, 0.07458, 0, 0.84125], + "928": [0, 0.68611, 0.08229, 0, 0.98229], + "931": [0, 0.68611, 0.05451, 0, 0.88507], + "933": [0, 0.68611, 0.15972, 0, 0.67083], + "934": [0, 0.68611, 0, 0, 0.76666], + "936": [0, 0.68611, 0.11653, 0, 0.71402], + "937": [0, 0.68611, 0.04835, 0, 0.8789], + "945": [0, 0.44444, 0, 0, 0.76064], + "946": [0.19444, 0.69444, 0.03403, 0, 0.65972], + "947": [0.19444, 0.44444, 0.06389, 0, 0.59003], + "948": [0, 0.69444, 0.03819, 0, 0.52222], + "949": [0, 0.44444, 0, 0, 0.52882], + "950": [0.19444, 0.69444, 0.06215, 0, 0.50833], + "951": [0.19444, 0.44444, 0.03704, 0, 0.6], + "952": [0, 0.69444, 0.03194, 0, 0.5618], + "953": [0, 0.44444, 0, 0, 0.41204], + "954": [0, 0.44444, 0, 0, 0.66759], + "955": [0, 0.69444, 0, 0, 0.67083], + "956": [0.19444, 0.44444, 0, 0, 0.70787], + "957": [0, 0.44444, 0.06898, 0, 0.57685], + "958": [0.19444, 0.69444, 0.03021, 0, 0.50833], + "959": [0, 0.44444, 0, 0, 0.58472], + "960": [0, 0.44444, 0.03704, 0, 0.68241], + "961": [0.19444, 0.44444, 0, 0, 0.6118], + "962": [0.09722, 0.44444, 0.07917, 0, 0.42361], + "963": [0, 0.44444, 0.03704, 0, 0.68588], + "964": [0, 0.44444, 0.13472, 0, 0.52083], + "965": [0, 0.44444, 0.03704, 0, 0.63055], + "966": [0.19444, 0.44444, 0, 0, 0.74722], + "967": [0.19444, 0.44444, 0, 0, 0.71805], + "968": [0.19444, 0.69444, 0.03704, 0, 0.75833], + "969": [0, 0.44444, 0.03704, 0, 0.71782], + "977": [0, 0.69444, 0, 0, 0.69155], + "981": [0.19444, 0.69444, 0, 0, 0.7125], + "982": [0, 0.44444, 0.03194, 0, 0.975], + "1009": [0.19444, 0.44444, 0, 0, 0.6118], + "1013": [0, 0.44444, 0, 0, 0.48333], + "57649": [0, 0.44444, 0, 0, 0.39352], + "57911": [0.19444, 0.44444, 0, 0, 0.43889] + }, + "Math-Italic": { + "32": [0, 0, 0, 0, 0.25], + "48": [0, 0.43056, 0, 0, 0.5], + "49": [0, 0.43056, 0, 0, 0.5], + "50": [0, 0.43056, 0, 0, 0.5], + "51": [0.19444, 0.43056, 0, 0, 0.5], + "52": [0.19444, 0.43056, 0, 0, 0.5], + "53": [0.19444, 0.43056, 0, 0, 0.5], + "54": [0, 0.64444, 0, 0, 0.5], + "55": [0.19444, 0.43056, 0, 0, 0.5], + "56": [0, 0.64444, 0, 0, 0.5], + "57": [0.19444, 0.43056, 0, 0, 0.5], + "65": [0, 0.68333, 0, 0.13889, 0.75], + "66": [0, 0.68333, 0.05017, 0.08334, 0.75851], + "67": [0, 0.68333, 0.07153, 0.08334, 0.71472], + "68": [0, 0.68333, 0.02778, 0.05556, 0.82792], + "69": [0, 0.68333, 0.05764, 0.08334, 0.7382], + "70": [0, 0.68333, 0.13889, 0.08334, 0.64306], + "71": [0, 0.68333, 0, 0.08334, 0.78625], + "72": [0, 0.68333, 0.08125, 0.05556, 0.83125], + "73": [0, 0.68333, 0.07847, 0.11111, 0.43958], + "74": [0, 0.68333, 0.09618, 0.16667, 0.55451], + "75": [0, 0.68333, 0.07153, 0.05556, 0.84931], + "76": [0, 0.68333, 0, 0.02778, 0.68056], + "77": [0, 0.68333, 0.10903, 0.08334, 0.97014], + "78": [0, 0.68333, 0.10903, 0.08334, 0.80347], + "79": [0, 0.68333, 0.02778, 0.08334, 0.76278], + "80": [0, 0.68333, 0.13889, 0.08334, 0.64201], + "81": [0.19444, 0.68333, 0, 0.08334, 0.79056], + "82": [0, 0.68333, 0.00773, 0.08334, 0.75929], + "83": [0, 0.68333, 0.05764, 0.08334, 0.6132], + "84": [0, 0.68333, 0.13889, 0.08334, 0.58438], + "85": [0, 0.68333, 0.10903, 0.02778, 0.68278], + "86": [0, 0.68333, 0.22222, 0, 0.58333], + "87": [0, 0.68333, 0.13889, 0, 0.94445], + "88": [0, 0.68333, 0.07847, 0.08334, 0.82847], + "89": [0, 0.68333, 0.22222, 0, 0.58056], + "90": [0, 0.68333, 0.07153, 0.08334, 0.68264], + "97": [0, 0.43056, 0, 0, 0.52859], + "98": [0, 0.69444, 0, 0, 0.42917], + "99": [0, 0.43056, 0, 0.05556, 0.43276], + "100": [0, 0.69444, 0, 0.16667, 0.52049], + "101": [0, 0.43056, 0, 0.05556, 0.46563], + "102": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959], + "103": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697], + "104": [0, 0.69444, 0, 0, 0.57616], + "105": [0, 0.65952, 0, 0, 0.34451], + "106": [0.19444, 0.65952, 0.05724, 0, 0.41181], + "107": [0, 0.69444, 0.03148, 0, 0.5206], + "108": [0, 0.69444, 0.01968, 0.08334, 0.29838], + "109": [0, 0.43056, 0, 0, 0.87801], + "110": [0, 0.43056, 0, 0, 0.60023], + "111": [0, 0.43056, 0, 0.05556, 0.48472], + "112": [0.19444, 0.43056, 0, 0.08334, 0.50313], + "113": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641], + "114": [0, 0.43056, 0.02778, 0.05556, 0.45116], + "115": [0, 0.43056, 0, 0.05556, 0.46875], + "116": [0, 0.61508, 0, 0.08334, 0.36111], + "117": [0, 0.43056, 0, 0.02778, 0.57246], + "118": [0, 0.43056, 0.03588, 0.02778, 0.48472], + "119": [0, 0.43056, 0.02691, 0.08334, 0.71592], + "120": [0, 0.43056, 0, 0.02778, 0.57153], + "121": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028], + "122": [0, 0.43056, 0.04398, 0.05556, 0.46505], + "160": [0, 0, 0, 0, 0.25], + "915": [0, 0.68333, 0.13889, 0.08334, 0.61528], + "916": [0, 0.68333, 0, 0.16667, 0.83334], + "920": [0, 0.68333, 0.02778, 0.08334, 0.76278], + "923": [0, 0.68333, 0, 0.16667, 0.69445], + "926": [0, 0.68333, 0.07569, 0.08334, 0.74236], + "928": [0, 0.68333, 0.08125, 0.05556, 0.83125], + "931": [0, 0.68333, 0.05764, 0.08334, 0.77986], + "933": [0, 0.68333, 0.13889, 0.05556, 0.58333], + "934": [0, 0.68333, 0, 0.08334, 0.66667], + "936": [0, 0.68333, 0.11, 0.05556, 0.61222], + "937": [0, 0.68333, 0.05017, 0.08334, 0.7724], + "945": [0, 0.43056, 0.0037, 0.02778, 0.6397], + "946": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563], + "947": [0.19444, 0.43056, 0.05556, 0, 0.51773], + "948": [0, 0.69444, 0.03785, 0.05556, 0.44444], + "949": [0, 0.43056, 0, 0.08334, 0.46632], + "950": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375], + "951": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653], + "952": [0, 0.69444, 0.02778, 0.08334, 0.46944], + "953": [0, 0.43056, 0, 0.05556, 0.35394], + "954": [0, 0.43056, 0, 0, 0.57616], + "955": [0, 0.69444, 0, 0, 0.58334], + "956": [0.19444, 0.43056, 0, 0.02778, 0.60255], + "957": [0, 0.43056, 0.06366, 0.02778, 0.49398], + "958": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375], + "959": [0, 0.43056, 0, 0.05556, 0.48472], + "960": [0, 0.43056, 0.03588, 0, 0.57003], + "961": [0.19444, 0.43056, 0, 0.08334, 0.51702], + "962": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285], + "963": [0, 0.43056, 0.03588, 0, 0.57141], + "964": [0, 0.43056, 0.1132, 0.02778, 0.43715], + "965": [0, 0.43056, 0.03588, 0.02778, 0.54028], + "966": [0.19444, 0.43056, 0, 0.08334, 0.65417], + "967": [0.19444, 0.43056, 0, 0.05556, 0.62569], + "968": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139], + "969": [0, 0.43056, 0.03588, 0, 0.62245], + "977": [0, 0.69444, 0, 0.08334, 0.59144], + "981": [0.19444, 0.69444, 0, 0.08334, 0.59583], + "982": [0, 0.43056, 0.02778, 0, 0.82813], + "1009": [0.19444, 0.43056, 0, 0.08334, 0.51702], + "1013": [0, 0.43056, 0, 0.05556, 0.4059], + "57649": [0, 0.43056, 0, 0.02778, 0.32246], + "57911": [0.19444, 0.43056, 0, 0.08334, 0.38403] + }, + "SansSerif-Bold": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.36667], + "34": [0, 0.69444, 0, 0, 0.55834], + "35": [0.19444, 0.69444, 0, 0, 0.91667], + "36": [0.05556, 0.75, 0, 0, 0.55], + "37": [0.05556, 0.75, 0, 0, 1.02912], + "38": [0, 0.69444, 0, 0, 0.83056], + "39": [0, 0.69444, 0, 0, 0.30556], + "40": [0.25, 0.75, 0, 0, 0.42778], + "41": [0.25, 0.75, 0, 0, 0.42778], + "42": [0, 0.75, 0, 0, 0.55], + "43": [0.11667, 0.61667, 0, 0, 0.85556], + "44": [0.10556, 0.13056, 0, 0, 0.30556], + "45": [0, 0.45833, 0, 0, 0.36667], + "46": [0, 0.13056, 0, 0, 0.30556], + "47": [0.25, 0.75, 0, 0, 0.55], + "48": [0, 0.69444, 0, 0, 0.55], + "49": [0, 0.69444, 0, 0, 0.55], + "50": [0, 0.69444, 0, 0, 0.55], + "51": [0, 0.69444, 0, 0, 0.55], + "52": [0, 0.69444, 0, 0, 0.55], + "53": [0, 0.69444, 0, 0, 0.55], + "54": [0, 0.69444, 0, 0, 0.55], + "55": [0, 0.69444, 0, 0, 0.55], + "56": [0, 0.69444, 0, 0, 0.55], + "57": [0, 0.69444, 0, 0, 0.55], + "58": [0, 0.45833, 0, 0, 0.30556], + "59": [0.10556, 0.45833, 0, 0, 0.30556], + "61": [-0.09375, 0.40625, 0, 0, 0.85556], + "63": [0, 0.69444, 0, 0, 0.51945], + "64": [0, 0.69444, 0, 0, 0.73334], + "65": [0, 0.69444, 0, 0, 0.73334], + "66": [0, 0.69444, 0, 0, 0.73334], + "67": [0, 0.69444, 0, 0, 0.70278], + "68": [0, 0.69444, 0, 0, 0.79445], + "69": [0, 0.69444, 0, 0, 0.64167], + "70": [0, 0.69444, 0, 0, 0.61111], + "71": [0, 0.69444, 0, 0, 0.73334], + "72": [0, 0.69444, 0, 0, 0.79445], + "73": [0, 0.69444, 0, 0, 0.33056], + "74": [0, 0.69444, 0, 0, 0.51945], + "75": [0, 0.69444, 0, 0, 0.76389], + "76": [0, 0.69444, 0, 0, 0.58056], + "77": [0, 0.69444, 0, 0, 0.97778], + "78": [0, 0.69444, 0, 0, 0.79445], + "79": [0, 0.69444, 0, 0, 0.79445], + "80": [0, 0.69444, 0, 0, 0.70278], + "81": [0.10556, 0.69444, 0, 0, 0.79445], + "82": [0, 0.69444, 0, 0, 0.70278], + "83": [0, 0.69444, 0, 0, 0.61111], + "84": [0, 0.69444, 0, 0, 0.73334], + "85": [0, 0.69444, 0, 0, 0.76389], + "86": [0, 0.69444, 0.01528, 0, 0.73334], + "87": [0, 0.69444, 0.01528, 0, 1.03889], + "88": [0, 0.69444, 0, 0, 0.73334], + "89": [0, 0.69444, 0.0275, 0, 0.73334], + "90": [0, 0.69444, 0, 0, 0.67223], + "91": [0.25, 0.75, 0, 0, 0.34306], + "93": [0.25, 0.75, 0, 0, 0.34306], + "94": [0, 0.69444, 0, 0, 0.55], + "95": [0.35, 0.10833, 0.03056, 0, 0.55], + "97": [0, 0.45833, 0, 0, 0.525], + "98": [0, 0.69444, 0, 0, 0.56111], + "99": [0, 0.45833, 0, 0, 0.48889], + "100": [0, 0.69444, 0, 0, 0.56111], + "101": [0, 0.45833, 0, 0, 0.51111], + "102": [0, 0.69444, 0.07639, 0, 0.33611], + "103": [0.19444, 0.45833, 0.01528, 0, 0.55], + "104": [0, 0.69444, 0, 0, 0.56111], + "105": [0, 0.69444, 0, 0, 0.25556], + "106": [0.19444, 0.69444, 0, 0, 0.28611], + "107": [0, 0.69444, 0, 0, 0.53056], + "108": [0, 0.69444, 0, 0, 0.25556], + "109": [0, 0.45833, 0, 0, 0.86667], + "110": [0, 0.45833, 0, 0, 0.56111], + "111": [0, 0.45833, 0, 0, 0.55], + "112": [0.19444, 0.45833, 0, 0, 0.56111], + "113": [0.19444, 0.45833, 0, 0, 0.56111], + "114": [0, 0.45833, 0.01528, 0, 0.37222], + "115": [0, 0.45833, 0, 0, 0.42167], + "116": [0, 0.58929, 0, 0, 0.40417], + "117": [0, 0.45833, 0, 0, 0.56111], + "118": [0, 0.45833, 0.01528, 0, 0.5], + "119": [0, 0.45833, 0.01528, 0, 0.74445], + "120": [0, 0.45833, 0, 0, 0.5], + "121": [0.19444, 0.45833, 0.01528, 0, 0.5], + "122": [0, 0.45833, 0, 0, 0.47639], + "126": [0.35, 0.34444, 0, 0, 0.55], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.69444, 0, 0, 0.55], + "176": [0, 0.69444, 0, 0, 0.73334], + "180": [0, 0.69444, 0, 0, 0.55], + "184": [0.17014, 0, 0, 0, 0.48889], + "305": [0, 0.45833, 0, 0, 0.25556], + "567": [0.19444, 0.45833, 0, 0, 0.28611], + "710": [0, 0.69444, 0, 0, 0.55], + "711": [0, 0.63542, 0, 0, 0.55], + "713": [0, 0.63778, 0, 0, 0.55], + "728": [0, 0.69444, 0, 0, 0.55], + "729": [0, 0.69444, 0, 0, 0.30556], + "730": [0, 0.69444, 0, 0, 0.73334], + "732": [0, 0.69444, 0, 0, 0.55], + "733": [0, 0.69444, 0, 0, 0.55], + "915": [0, 0.69444, 0, 0, 0.58056], + "916": [0, 0.69444, 0, 0, 0.91667], + "920": [0, 0.69444, 0, 0, 0.85556], + "923": [0, 0.69444, 0, 0, 0.67223], + "926": [0, 0.69444, 0, 0, 0.73334], + "928": [0, 0.69444, 0, 0, 0.79445], + "931": [0, 0.69444, 0, 0, 0.79445], + "933": [0, 0.69444, 0, 0, 0.85556], + "934": [0, 0.69444, 0, 0, 0.79445], + "936": [0, 0.69444, 0, 0, 0.85556], + "937": [0, 0.69444, 0, 0, 0.79445], + "8211": [0, 0.45833, 0.03056, 0, 0.55], + "8212": [0, 0.45833, 0.03056, 0, 1.10001], + "8216": [0, 0.69444, 0, 0, 0.30556], + "8217": [0, 0.69444, 0, 0, 0.30556], + "8220": [0, 0.69444, 0, 0, 0.55834], + "8221": [0, 0.69444, 0, 0, 0.55834] + }, + "SansSerif-Italic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.05733, 0, 0.31945], + "34": [0, 0.69444, 0.00316, 0, 0.5], + "35": [0.19444, 0.69444, 0.05087, 0, 0.83334], + "36": [0.05556, 0.75, 0.11156, 0, 0.5], + "37": [0.05556, 0.75, 0.03126, 0, 0.83334], + "38": [0, 0.69444, 0.03058, 0, 0.75834], + "39": [0, 0.69444, 0.07816, 0, 0.27778], + "40": [0.25, 0.75, 0.13164, 0, 0.38889], + "41": [0.25, 0.75, 0.02536, 0, 0.38889], + "42": [0, 0.75, 0.11775, 0, 0.5], + "43": [0.08333, 0.58333, 0.02536, 0, 0.77778], + "44": [0.125, 0.08333, 0, 0, 0.27778], + "45": [0, 0.44444, 0.01946, 0, 0.33333], + "46": [0, 0.08333, 0, 0, 0.27778], + "47": [0.25, 0.75, 0.13164, 0, 0.5], + "48": [0, 0.65556, 0.11156, 0, 0.5], + "49": [0, 0.65556, 0.11156, 0, 0.5], + "50": [0, 0.65556, 0.11156, 0, 0.5], + "51": [0, 0.65556, 0.11156, 0, 0.5], + "52": [0, 0.65556, 0.11156, 0, 0.5], + "53": [0, 0.65556, 0.11156, 0, 0.5], + "54": [0, 0.65556, 0.11156, 0, 0.5], + "55": [0, 0.65556, 0.11156, 0, 0.5], + "56": [0, 0.65556, 0.11156, 0, 0.5], + "57": [0, 0.65556, 0.11156, 0, 0.5], + "58": [0, 0.44444, 0.02502, 0, 0.27778], + "59": [0.125, 0.44444, 0.02502, 0, 0.27778], + "61": [-0.13, 0.37, 0.05087, 0, 0.77778], + "63": [0, 0.69444, 0.11809, 0, 0.47222], + "64": [0, 0.69444, 0.07555, 0, 0.66667], + "65": [0, 0.69444, 0, 0, 0.66667], + "66": [0, 0.69444, 0.08293, 0, 0.66667], + "67": [0, 0.69444, 0.11983, 0, 0.63889], + "68": [0, 0.69444, 0.07555, 0, 0.72223], + "69": [0, 0.69444, 0.11983, 0, 0.59722], + "70": [0, 0.69444, 0.13372, 0, 0.56945], + "71": [0, 0.69444, 0.11983, 0, 0.66667], + "72": [0, 0.69444, 0.08094, 0, 0.70834], + "73": [0, 0.69444, 0.13372, 0, 0.27778], + "74": [0, 0.69444, 0.08094, 0, 0.47222], + "75": [0, 0.69444, 0.11983, 0, 0.69445], + "76": [0, 0.69444, 0, 0, 0.54167], + "77": [0, 0.69444, 0.08094, 0, 0.875], + "78": [0, 0.69444, 0.08094, 0, 0.70834], + "79": [0, 0.69444, 0.07555, 0, 0.73611], + "80": [0, 0.69444, 0.08293, 0, 0.63889], + "81": [0.125, 0.69444, 0.07555, 0, 0.73611], + "82": [0, 0.69444, 0.08293, 0, 0.64584], + "83": [0, 0.69444, 0.09205, 0, 0.55556], + "84": [0, 0.69444, 0.13372, 0, 0.68056], + "85": [0, 0.69444, 0.08094, 0, 0.6875], + "86": [0, 0.69444, 0.1615, 0, 0.66667], + "87": [0, 0.69444, 0.1615, 0, 0.94445], + "88": [0, 0.69444, 0.13372, 0, 0.66667], + "89": [0, 0.69444, 0.17261, 0, 0.66667], + "90": [0, 0.69444, 0.11983, 0, 0.61111], + "91": [0.25, 0.75, 0.15942, 0, 0.28889], + "93": [0.25, 0.75, 0.08719, 0, 0.28889], + "94": [0, 0.69444, 0.0799, 0, 0.5], + "95": [0.35, 0.09444, 0.08616, 0, 0.5], + "97": [0, 0.44444, 0.00981, 0, 0.48056], + "98": [0, 0.69444, 0.03057, 0, 0.51667], + "99": [0, 0.44444, 0.08336, 0, 0.44445], + "100": [0, 0.69444, 0.09483, 0, 0.51667], + "101": [0, 0.44444, 0.06778, 0, 0.44445], + "102": [0, 0.69444, 0.21705, 0, 0.30556], + "103": [0.19444, 0.44444, 0.10836, 0, 0.5], + "104": [0, 0.69444, 0.01778, 0, 0.51667], + "105": [0, 0.67937, 0.09718, 0, 0.23889], + "106": [0.19444, 0.67937, 0.09162, 0, 0.26667], + "107": [0, 0.69444, 0.08336, 0, 0.48889], + "108": [0, 0.69444, 0.09483, 0, 0.23889], + "109": [0, 0.44444, 0.01778, 0, 0.79445], + "110": [0, 0.44444, 0.01778, 0, 0.51667], + "111": [0, 0.44444, 0.06613, 0, 0.5], + "112": [0.19444, 0.44444, 0.0389, 0, 0.51667], + "113": [0.19444, 0.44444, 0.04169, 0, 0.51667], + "114": [0, 0.44444, 0.10836, 0, 0.34167], + "115": [0, 0.44444, 0.0778, 0, 0.38333], + "116": [0, 0.57143, 0.07225, 0, 0.36111], + "117": [0, 0.44444, 0.04169, 0, 0.51667], + "118": [0, 0.44444, 0.10836, 0, 0.46111], + "119": [0, 0.44444, 0.10836, 0, 0.68334], + "120": [0, 0.44444, 0.09169, 0, 0.46111], + "121": [0.19444, 0.44444, 0.10836, 0, 0.46111], + "122": [0, 0.44444, 0.08752, 0, 0.43472], + "126": [0.35, 0.32659, 0.08826, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.67937, 0.06385, 0, 0.5], + "176": [0, 0.69444, 0, 0, 0.73752], + "184": [0.17014, 0, 0, 0, 0.44445], + "305": [0, 0.44444, 0.04169, 0, 0.23889], + "567": [0.19444, 0.44444, 0.04169, 0, 0.26667], + "710": [0, 0.69444, 0.0799, 0, 0.5], + "711": [0, 0.63194, 0.08432, 0, 0.5], + "713": [0, 0.60889, 0.08776, 0, 0.5], + "714": [0, 0.69444, 0.09205, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0.09483, 0, 0.5], + "729": [0, 0.67937, 0.07774, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.73752], + "732": [0, 0.67659, 0.08826, 0, 0.5], + "733": [0, 0.69444, 0.09205, 0, 0.5], + "915": [0, 0.69444, 0.13372, 0, 0.54167], + "916": [0, 0.69444, 0, 0, 0.83334], + "920": [0, 0.69444, 0.07555, 0, 0.77778], + "923": [0, 0.69444, 0, 0, 0.61111], + "926": [0, 0.69444, 0.12816, 0, 0.66667], + "928": [0, 0.69444, 0.08094, 0, 0.70834], + "931": [0, 0.69444, 0.11983, 0, 0.72222], + "933": [0, 0.69444, 0.09031, 0, 0.77778], + "934": [0, 0.69444, 0.04603, 0, 0.72222], + "936": [0, 0.69444, 0.09031, 0, 0.77778], + "937": [0, 0.69444, 0.08293, 0, 0.72222], + "8211": [0, 0.44444, 0.08616, 0, 0.5], + "8212": [0, 0.44444, 0.08616, 0, 1.0], + "8216": [0, 0.69444, 0.07816, 0, 0.27778], + "8217": [0, 0.69444, 0.07816, 0, 0.27778], + "8220": [0, 0.69444, 0.14205, 0, 0.5], + "8221": [0, 0.69444, 0.00316, 0, 0.5] + }, + "SansSerif-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.31945], + "34": [0, 0.69444, 0, 0, 0.5], + "35": [0.19444, 0.69444, 0, 0, 0.83334], + "36": [0.05556, 0.75, 0, 0, 0.5], + "37": [0.05556, 0.75, 0, 0, 0.83334], + "38": [0, 0.69444, 0, 0, 0.75834], + "39": [0, 0.69444, 0, 0, 0.27778], + "40": [0.25, 0.75, 0, 0, 0.38889], + "41": [0.25, 0.75, 0, 0, 0.38889], + "42": [0, 0.75, 0, 0, 0.5], + "43": [0.08333, 0.58333, 0, 0, 0.77778], + "44": [0.125, 0.08333, 0, 0, 0.27778], + "45": [0, 0.44444, 0, 0, 0.33333], + "46": [0, 0.08333, 0, 0, 0.27778], + "47": [0.25, 0.75, 0, 0, 0.5], + "48": [0, 0.65556, 0, 0, 0.5], + "49": [0, 0.65556, 0, 0, 0.5], + "50": [0, 0.65556, 0, 0, 0.5], + "51": [0, 0.65556, 0, 0, 0.5], + "52": [0, 0.65556, 0, 0, 0.5], + "53": [0, 0.65556, 0, 0, 0.5], + "54": [0, 0.65556, 0, 0, 0.5], + "55": [0, 0.65556, 0, 0, 0.5], + "56": [0, 0.65556, 0, 0, 0.5], + "57": [0, 0.65556, 0, 0, 0.5], + "58": [0, 0.44444, 0, 0, 0.27778], + "59": [0.125, 0.44444, 0, 0, 0.27778], + "61": [-0.13, 0.37, 0, 0, 0.77778], + "63": [0, 0.69444, 0, 0, 0.47222], + "64": [0, 0.69444, 0, 0, 0.66667], + "65": [0, 0.69444, 0, 0, 0.66667], + "66": [0, 0.69444, 0, 0, 0.66667], + "67": [0, 0.69444, 0, 0, 0.63889], + "68": [0, 0.69444, 0, 0, 0.72223], + "69": [0, 0.69444, 0, 0, 0.59722], + "70": [0, 0.69444, 0, 0, 0.56945], + "71": [0, 0.69444, 0, 0, 0.66667], + "72": [0, 0.69444, 0, 0, 0.70834], + "73": [0, 0.69444, 0, 0, 0.27778], + "74": [0, 0.69444, 0, 0, 0.47222], + "75": [0, 0.69444, 0, 0, 0.69445], + "76": [0, 0.69444, 0, 0, 0.54167], + "77": [0, 0.69444, 0, 0, 0.875], + "78": [0, 0.69444, 0, 0, 0.70834], + "79": [0, 0.69444, 0, 0, 0.73611], + "80": [0, 0.69444, 0, 0, 0.63889], + "81": [0.125, 0.69444, 0, 0, 0.73611], + "82": [0, 0.69444, 0, 0, 0.64584], + "83": [0, 0.69444, 0, 0, 0.55556], + "84": [0, 0.69444, 0, 0, 0.68056], + "85": [0, 0.69444, 0, 0, 0.6875], + "86": [0, 0.69444, 0.01389, 0, 0.66667], + "87": [0, 0.69444, 0.01389, 0, 0.94445], + "88": [0, 0.69444, 0, 0, 0.66667], + "89": [0, 0.69444, 0.025, 0, 0.66667], + "90": [0, 0.69444, 0, 0, 0.61111], + "91": [0.25, 0.75, 0, 0, 0.28889], + "93": [0.25, 0.75, 0, 0, 0.28889], + "94": [0, 0.69444, 0, 0, 0.5], + "95": [0.35, 0.09444, 0.02778, 0, 0.5], + "97": [0, 0.44444, 0, 0, 0.48056], + "98": [0, 0.69444, 0, 0, 0.51667], + "99": [0, 0.44444, 0, 0, 0.44445], + "100": [0, 0.69444, 0, 0, 0.51667], + "101": [0, 0.44444, 0, 0, 0.44445], + "102": [0, 0.69444, 0.06944, 0, 0.30556], + "103": [0.19444, 0.44444, 0.01389, 0, 0.5], + "104": [0, 0.69444, 0, 0, 0.51667], + "105": [0, 0.67937, 0, 0, 0.23889], + "106": [0.19444, 0.67937, 0, 0, 0.26667], + "107": [0, 0.69444, 0, 0, 0.48889], + "108": [0, 0.69444, 0, 0, 0.23889], + "109": [0, 0.44444, 0, 0, 0.79445], + "110": [0, 0.44444, 0, 0, 0.51667], + "111": [0, 0.44444, 0, 0, 0.5], + "112": [0.19444, 0.44444, 0, 0, 0.51667], + "113": [0.19444, 0.44444, 0, 0, 0.51667], + "114": [0, 0.44444, 0.01389, 0, 0.34167], + "115": [0, 0.44444, 0, 0, 0.38333], + "116": [0, 0.57143, 0, 0, 0.36111], + "117": [0, 0.44444, 0, 0, 0.51667], + "118": [0, 0.44444, 0.01389, 0, 0.46111], + "119": [0, 0.44444, 0.01389, 0, 0.68334], + "120": [0, 0.44444, 0, 0, 0.46111], + "121": [0.19444, 0.44444, 0.01389, 0, 0.46111], + "122": [0, 0.44444, 0, 0, 0.43472], + "126": [0.35, 0.32659, 0, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.67937, 0, 0, 0.5], + "176": [0, 0.69444, 0, 0, 0.66667], + "184": [0.17014, 0, 0, 0, 0.44445], + "305": [0, 0.44444, 0, 0, 0.23889], + "567": [0.19444, 0.44444, 0, 0, 0.26667], + "710": [0, 0.69444, 0, 0, 0.5], + "711": [0, 0.63194, 0, 0, 0.5], + "713": [0, 0.60889, 0, 0, 0.5], + "714": [0, 0.69444, 0, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0, 0, 0.5], + "729": [0, 0.67937, 0, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.66667], + "732": [0, 0.67659, 0, 0, 0.5], + "733": [0, 0.69444, 0, 0, 0.5], + "915": [0, 0.69444, 0, 0, 0.54167], + "916": [0, 0.69444, 0, 0, 0.83334], + "920": [0, 0.69444, 0, 0, 0.77778], + "923": [0, 0.69444, 0, 0, 0.61111], + "926": [0, 0.69444, 0, 0, 0.66667], + "928": [0, 0.69444, 0, 0, 0.70834], + "931": [0, 0.69444, 0, 0, 0.72222], + "933": [0, 0.69444, 0, 0, 0.77778], + "934": [0, 0.69444, 0, 0, 0.72222], + "936": [0, 0.69444, 0, 0, 0.77778], + "937": [0, 0.69444, 0, 0, 0.72222], + "8211": [0, 0.44444, 0.02778, 0, 0.5], + "8212": [0, 0.44444, 0.02778, 0, 1.0], + "8216": [0, 0.69444, 0, 0, 0.27778], + "8217": [0, 0.69444, 0, 0, 0.27778], + "8220": [0, 0.69444, 0, 0, 0.5], + "8221": [0, 0.69444, 0, 0, 0.5] + }, + "Script-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.7, 0.22925, 0, 0.80253], + "66": [0, 0.7, 0.04087, 0, 0.90757], + "67": [0, 0.7, 0.1689, 0, 0.66619], + "68": [0, 0.7, 0.09371, 0, 0.77443], + "69": [0, 0.7, 0.18583, 0, 0.56162], + "70": [0, 0.7, 0.13634, 0, 0.89544], + "71": [0, 0.7, 0.17322, 0, 0.60961], + "72": [0, 0.7, 0.29694, 0, 0.96919], + "73": [0, 0.7, 0.19189, 0, 0.80907], + "74": [0.27778, 0.7, 0.19189, 0, 1.05159], + "75": [0, 0.7, 0.31259, 0, 0.91364], + "76": [0, 0.7, 0.19189, 0, 0.87373], + "77": [0, 0.7, 0.15981, 0, 1.08031], + "78": [0, 0.7, 0.3525, 0, 0.9015], + "79": [0, 0.7, 0.08078, 0, 0.73787], + "80": [0, 0.7, 0.08078, 0, 1.01262], + "81": [0, 0.7, 0.03305, 0, 0.88282], + "82": [0, 0.7, 0.06259, 0, 0.85], + "83": [0, 0.7, 0.19189, 0, 0.86767], + "84": [0, 0.7, 0.29087, 0, 0.74697], + "85": [0, 0.7, 0.25815, 0, 0.79996], + "86": [0, 0.7, 0.27523, 0, 0.62204], + "87": [0, 0.7, 0.27523, 0, 0.80532], + "88": [0, 0.7, 0.26006, 0, 0.94445], + "89": [0, 0.7, 0.2939, 0, 0.70961], + "90": [0, 0.7, 0.24037, 0, 0.8212], + "160": [0, 0, 0, 0, 0.25] + }, + "Size1-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.35001, 0.85, 0, 0, 0.45834], + "41": [0.35001, 0.85, 0, 0, 0.45834], + "47": [0.35001, 0.85, 0, 0, 0.57778], + "91": [0.35001, 0.85, 0, 0, 0.41667], + "92": [0.35001, 0.85, 0, 0, 0.57778], + "93": [0.35001, 0.85, 0, 0, 0.41667], + "123": [0.35001, 0.85, 0, 0, 0.58334], + "125": [0.35001, 0.85, 0, 0, 0.58334], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.72222, 0, 0, 0.55556], + "732": [0, 0.72222, 0, 0, 0.55556], + "770": [0, 0.72222, 0, 0, 0.55556], + "771": [0, 0.72222, 0, 0, 0.55556], + "8214": [-0.00099, 0.601, 0, 0, 0.77778], + "8593": [1e-05, 0.6, 0, 0, 0.66667], + "8595": [1e-05, 0.6, 0, 0, 0.66667], + "8657": [1e-05, 0.6, 0, 0, 0.77778], + "8659": [1e-05, 0.6, 0, 0, 0.77778], + "8719": [0.25001, 0.75, 0, 0, 0.94445], + "8720": [0.25001, 0.75, 0, 0, 0.94445], + "8721": [0.25001, 0.75, 0, 0, 1.05556], + "8730": [0.35001, 0.85, 0, 0, 1.0], + "8739": [-0.00599, 0.606, 0, 0, 0.33333], + "8741": [-0.00599, 0.606, 0, 0, 0.55556], + "8747": [0.30612, 0.805, 0.19445, 0, 0.47222], + "8748": [0.306, 0.805, 0.19445, 0, 0.47222], + "8749": [0.306, 0.805, 0.19445, 0, 0.47222], + "8750": [0.30612, 0.805, 0.19445, 0, 0.47222], + "8896": [0.25001, 0.75, 0, 0, 0.83334], + "8897": [0.25001, 0.75, 0, 0, 0.83334], + "8898": [0.25001, 0.75, 0, 0, 0.83334], + "8899": [0.25001, 0.75, 0, 0, 0.83334], + "8968": [0.35001, 0.85, 0, 0, 0.47222], + "8969": [0.35001, 0.85, 0, 0, 0.47222], + "8970": [0.35001, 0.85, 0, 0, 0.47222], + "8971": [0.35001, 0.85, 0, 0, 0.47222], + "9168": [-0.00099, 0.601, 0, 0, 0.66667], + "10216": [0.35001, 0.85, 0, 0, 0.47222], + "10217": [0.35001, 0.85, 0, 0, 0.47222], + "10752": [0.25001, 0.75, 0, 0, 1.11111], + "10753": [0.25001, 0.75, 0, 0, 1.11111], + "10754": [0.25001, 0.75, 0, 0, 1.11111], + "10756": [0.25001, 0.75, 0, 0, 0.83334], + "10758": [0.25001, 0.75, 0, 0, 0.83334] + }, + "Size2-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.65002, 1.15, 0, 0, 0.59722], + "41": [0.65002, 1.15, 0, 0, 0.59722], + "47": [0.65002, 1.15, 0, 0, 0.81111], + "91": [0.65002, 1.15, 0, 0, 0.47222], + "92": [0.65002, 1.15, 0, 0, 0.81111], + "93": [0.65002, 1.15, 0, 0, 0.47222], + "123": [0.65002, 1.15, 0, 0, 0.66667], + "125": [0.65002, 1.15, 0, 0, 0.66667], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.75, 0, 0, 1.0], + "732": [0, 0.75, 0, 0, 1.0], + "770": [0, 0.75, 0, 0, 1.0], + "771": [0, 0.75, 0, 0, 1.0], + "8719": [0.55001, 1.05, 0, 0, 1.27778], + "8720": [0.55001, 1.05, 0, 0, 1.27778], + "8721": [0.55001, 1.05, 0, 0, 1.44445], + "8730": [0.65002, 1.15, 0, 0, 1.0], + "8747": [0.86225, 1.36, 0.44445, 0, 0.55556], + "8748": [0.862, 1.36, 0.44445, 0, 0.55556], + "8749": [0.862, 1.36, 0.44445, 0, 0.55556], + "8750": [0.86225, 1.36, 0.44445, 0, 0.55556], + "8896": [0.55001, 1.05, 0, 0, 1.11111], + "8897": [0.55001, 1.05, 0, 0, 1.11111], + "8898": [0.55001, 1.05, 0, 0, 1.11111], + "8899": [0.55001, 1.05, 0, 0, 1.11111], + "8968": [0.65002, 1.15, 0, 0, 0.52778], + "8969": [0.65002, 1.15, 0, 0, 0.52778], + "8970": [0.65002, 1.15, 0, 0, 0.52778], + "8971": [0.65002, 1.15, 0, 0, 0.52778], + "10216": [0.65002, 1.15, 0, 0, 0.61111], + "10217": [0.65002, 1.15, 0, 0, 0.61111], + "10752": [0.55001, 1.05, 0, 0, 1.51112], + "10753": [0.55001, 1.05, 0, 0, 1.51112], + "10754": [0.55001, 1.05, 0, 0, 1.51112], + "10756": [0.55001, 1.05, 0, 0, 1.11111], + "10758": [0.55001, 1.05, 0, 0, 1.11111] + }, + "Size3-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.95003, 1.45, 0, 0, 0.73611], + "41": [0.95003, 1.45, 0, 0, 0.73611], + "47": [0.95003, 1.45, 0, 0, 1.04445], + "91": [0.95003, 1.45, 0, 0, 0.52778], + "92": [0.95003, 1.45, 0, 0, 1.04445], + "93": [0.95003, 1.45, 0, 0, 0.52778], + "123": [0.95003, 1.45, 0, 0, 0.75], + "125": [0.95003, 1.45, 0, 0, 0.75], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.75, 0, 0, 1.44445], + "732": [0, 0.75, 0, 0, 1.44445], + "770": [0, 0.75, 0, 0, 1.44445], + "771": [0, 0.75, 0, 0, 1.44445], + "8730": [0.95003, 1.45, 0, 0, 1.0], + "8968": [0.95003, 1.45, 0, 0, 0.58334], + "8969": [0.95003, 1.45, 0, 0, 0.58334], + "8970": [0.95003, 1.45, 0, 0, 0.58334], + "8971": [0.95003, 1.45, 0, 0, 0.58334], + "10216": [0.95003, 1.45, 0, 0, 0.75], + "10217": [0.95003, 1.45, 0, 0, 0.75] + }, + "Size4-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [1.25003, 1.75, 0, 0, 0.79167], + "41": [1.25003, 1.75, 0, 0, 0.79167], + "47": [1.25003, 1.75, 0, 0, 1.27778], + "91": [1.25003, 1.75, 0, 0, 0.58334], + "92": [1.25003, 1.75, 0, 0, 1.27778], + "93": [1.25003, 1.75, 0, 0, 0.58334], + "123": [1.25003, 1.75, 0, 0, 0.80556], + "125": [1.25003, 1.75, 0, 0, 0.80556], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.825, 0, 0, 1.8889], + "732": [0, 0.825, 0, 0, 1.8889], + "770": [0, 0.825, 0, 0, 1.8889], + "771": [0, 0.825, 0, 0, 1.8889], + "8730": [1.25003, 1.75, 0, 0, 1.0], + "8968": [1.25003, 1.75, 0, 0, 0.63889], + "8969": [1.25003, 1.75, 0, 0, 0.63889], + "8970": [1.25003, 1.75, 0, 0, 0.63889], + "8971": [1.25003, 1.75, 0, 0, 0.63889], + "9115": [0.64502, 1.155, 0, 0, 0.875], + "9116": [1e-05, 0.6, 0, 0, 0.875], + "9117": [0.64502, 1.155, 0, 0, 0.875], + "9118": [0.64502, 1.155, 0, 0, 0.875], + "9119": [1e-05, 0.6, 0, 0, 0.875], + "9120": [0.64502, 1.155, 0, 0, 0.875], + "9121": [0.64502, 1.155, 0, 0, 0.66667], + "9122": [-0.00099, 0.601, 0, 0, 0.66667], + "9123": [0.64502, 1.155, 0, 0, 0.66667], + "9124": [0.64502, 1.155, 0, 0, 0.66667], + "9125": [-0.00099, 0.601, 0, 0, 0.66667], + "9126": [0.64502, 1.155, 0, 0, 0.66667], + "9127": [1e-05, 0.9, 0, 0, 0.88889], + "9128": [0.65002, 1.15, 0, 0, 0.88889], + "9129": [0.90001, 0, 0, 0, 0.88889], + "9130": [0, 0.3, 0, 0, 0.88889], + "9131": [1e-05, 0.9, 0, 0, 0.88889], + "9132": [0.65002, 1.15, 0, 0, 0.88889], + "9133": [0.90001, 0, 0, 0, 0.88889], + "9143": [0.88502, 0.915, 0, 0, 1.05556], + "10216": [1.25003, 1.75, 0, 0, 0.80556], + "10217": [1.25003, 1.75, 0, 0, 0.80556], + "57344": [-0.00499, 0.605, 0, 0, 1.05556], + "57345": [-0.00499, 0.605, 0, 0, 1.05556], + "57680": [0, 0.12, 0, 0, 0.45], + "57681": [0, 0.12, 0, 0, 0.45], + "57682": [0, 0.12, 0, 0, 0.45], + "57683": [0, 0.12, 0, 0, 0.45] + }, + "Typewriter-Regular": { + "32": [0, 0, 0, 0, 0.525], + "33": [0, 0.61111, 0, 0, 0.525], + "34": [0, 0.61111, 0, 0, 0.525], + "35": [0, 0.61111, 0, 0, 0.525], + "36": [0.08333, 0.69444, 0, 0, 0.525], + "37": [0.08333, 0.69444, 0, 0, 0.525], + "38": [0, 0.61111, 0, 0, 0.525], + "39": [0, 0.61111, 0, 0, 0.525], + "40": [0.08333, 0.69444, 0, 0, 0.525], + "41": [0.08333, 0.69444, 0, 0, 0.525], + "42": [0, 0.52083, 0, 0, 0.525], + "43": [-0.08056, 0.53055, 0, 0, 0.525], + "44": [0.13889, 0.125, 0, 0, 0.525], + "45": [-0.08056, 0.53055, 0, 0, 0.525], + "46": [0, 0.125, 0, 0, 0.525], + "47": [0.08333, 0.69444, 0, 0, 0.525], + "48": [0, 0.61111, 0, 0, 0.525], + "49": [0, 0.61111, 0, 0, 0.525], + "50": [0, 0.61111, 0, 0, 0.525], + "51": [0, 0.61111, 0, 0, 0.525], + "52": [0, 0.61111, 0, 0, 0.525], + "53": [0, 0.61111, 0, 0, 0.525], + "54": [0, 0.61111, 0, 0, 0.525], + "55": [0, 0.61111, 0, 0, 0.525], + "56": [0, 0.61111, 0, 0, 0.525], + "57": [0, 0.61111, 0, 0, 0.525], + "58": [0, 0.43056, 0, 0, 0.525], + "59": [0.13889, 0.43056, 0, 0, 0.525], + "60": [-0.05556, 0.55556, 0, 0, 0.525], + "61": [-0.19549, 0.41562, 0, 0, 0.525], + "62": [-0.05556, 0.55556, 0, 0, 0.525], + "63": [0, 0.61111, 0, 0, 0.525], + "64": [0, 0.61111, 0, 0, 0.525], + "65": [0, 0.61111, 0, 0, 0.525], + "66": [0, 0.61111, 0, 0, 0.525], + "67": [0, 0.61111, 0, 0, 0.525], + "68": [0, 0.61111, 0, 0, 0.525], + "69": [0, 0.61111, 0, 0, 0.525], + "70": [0, 0.61111, 0, 0, 0.525], + "71": [0, 0.61111, 0, 0, 0.525], + "72": [0, 0.61111, 0, 0, 0.525], + "73": [0, 0.61111, 0, 0, 0.525], + "74": [0, 0.61111, 0, 0, 0.525], + "75": [0, 0.61111, 0, 0, 0.525], + "76": [0, 0.61111, 0, 0, 0.525], + "77": [0, 0.61111, 0, 0, 0.525], + "78": [0, 0.61111, 0, 0, 0.525], + "79": [0, 0.61111, 0, 0, 0.525], + "80": [0, 0.61111, 0, 0, 0.525], + "81": [0.13889, 0.61111, 0, 0, 0.525], + "82": [0, 0.61111, 0, 0, 0.525], + "83": [0, 0.61111, 0, 0, 0.525], + "84": [0, 0.61111, 0, 0, 0.525], + "85": [0, 0.61111, 0, 0, 0.525], + "86": [0, 0.61111, 0, 0, 0.525], + "87": [0, 0.61111, 0, 0, 0.525], + "88": [0, 0.61111, 0, 0, 0.525], + "89": [0, 0.61111, 0, 0, 0.525], + "90": [0, 0.61111, 0, 0, 0.525], + "91": [0.08333, 0.69444, 0, 0, 0.525], + "92": [0.08333, 0.69444, 0, 0, 0.525], + "93": [0.08333, 0.69444, 0, 0, 0.525], + "94": [0, 0.61111, 0, 0, 0.525], + "95": [0.09514, 0, 0, 0, 0.525], + "96": [0, 0.61111, 0, 0, 0.525], + "97": [0, 0.43056, 0, 0, 0.525], + "98": [0, 0.61111, 0, 0, 0.525], + "99": [0, 0.43056, 0, 0, 0.525], + "100": [0, 0.61111, 0, 0, 0.525], + "101": [0, 0.43056, 0, 0, 0.525], + "102": [0, 0.61111, 0, 0, 0.525], + "103": [0.22222, 0.43056, 0, 0, 0.525], + "104": [0, 0.61111, 0, 0, 0.525], + "105": [0, 0.61111, 0, 0, 0.525], + "106": [0.22222, 0.61111, 0, 0, 0.525], + "107": [0, 0.61111, 0, 0, 0.525], + "108": [0, 0.61111, 0, 0, 0.525], + "109": [0, 0.43056, 0, 0, 0.525], + "110": [0, 0.43056, 0, 0, 0.525], + "111": [0, 0.43056, 0, 0, 0.525], + "112": [0.22222, 0.43056, 0, 0, 0.525], + "113": [0.22222, 0.43056, 0, 0, 0.525], + "114": [0, 0.43056, 0, 0, 0.525], + "115": [0, 0.43056, 0, 0, 0.525], + "116": [0, 0.55358, 0, 0, 0.525], + "117": [0, 0.43056, 0, 0, 0.525], + "118": [0, 0.43056, 0, 0, 0.525], + "119": [0, 0.43056, 0, 0, 0.525], + "120": [0, 0.43056, 0, 0, 0.525], + "121": [0.22222, 0.43056, 0, 0, 0.525], + "122": [0, 0.43056, 0, 0, 0.525], + "123": [0.08333, 0.69444, 0, 0, 0.525], + "124": [0.08333, 0.69444, 0, 0, 0.525], + "125": [0.08333, 0.69444, 0, 0, 0.525], + "126": [0, 0.61111, 0, 0, 0.525], + "127": [0, 0.61111, 0, 0, 0.525], + "160": [0, 0, 0, 0, 0.525], + "176": [0, 0.61111, 0, 0, 0.525], + "184": [0.19445, 0, 0, 0, 0.525], + "305": [0, 0.43056, 0, 0, 0.525], + "567": [0.22222, 0.43056, 0, 0, 0.525], + "711": [0, 0.56597, 0, 0, 0.525], + "713": [0, 0.56555, 0, 0, 0.525], + "714": [0, 0.61111, 0, 0, 0.525], + "715": [0, 0.61111, 0, 0, 0.525], + "728": [0, 0.61111, 0, 0, 0.525], + "730": [0, 0.61111, 0, 0, 0.525], + "770": [0, 0.61111, 0, 0, 0.525], + "771": [0, 0.61111, 0, 0, 0.525], + "776": [0, 0.61111, 0, 0, 0.525], + "915": [0, 0.61111, 0, 0, 0.525], + "916": [0, 0.61111, 0, 0, 0.525], + "920": [0, 0.61111, 0, 0, 0.525], + "923": [0, 0.61111, 0, 0, 0.525], + "926": [0, 0.61111, 0, 0, 0.525], + "928": [0, 0.61111, 0, 0, 0.525], + "931": [0, 0.61111, 0, 0, 0.525], + "933": [0, 0.61111, 0, 0, 0.525], + "934": [0, 0.61111, 0, 0, 0.525], + "936": [0, 0.61111, 0, 0, 0.525], + "937": [0, 0.61111, 0, 0, 0.525], + "8216": [0, 0.61111, 0, 0, 0.525], + "8217": [0, 0.61111, 0, 0, 0.525], + "8242": [0, 0.61111, 0, 0, 0.525], + "9251": [0.11111, 0.21944, 0, 0, 0.525] + } +}); +// CONCATENATED MODULE: ./src/fontMetrics.js + + +/** + * This file contains metrics regarding fonts and individual symbols. The sigma + * and xi variables, as well as the metricMap map contain data extracted from + * TeX, TeX font metrics, and the TTF files. These data are then exposed via the + * `metrics` variable and the getCharacterMetrics function. + */ +// In TeX, there are actually three sets of dimensions, one for each of +// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4: +// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are +// provided in the the arrays below, in that order. +// +// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respsectively. +// This was determined by running the following script: +// +// latex -interaction=nonstopmode \ +// '\documentclass{article}\usepackage{amsmath}\begin{document}' \ +// '$a$ \expandafter\show\the\textfont2' \ +// '\expandafter\show\the\scriptfont2' \ +// '\expandafter\show\the\scriptscriptfont2' \ +// '\stop' +// +// The metrics themselves were retreived using the following commands: +// +// tftopl cmsy10 +// tftopl cmsy7 +// tftopl cmsy5 +// +// The output of each of these commands is quite lengthy. The only part we +// care about is the FONTDIMEN section. Each value is measured in EMs. +var sigmasAndXis = { + slant: [0.250, 0.250, 0.250], + // sigma1 + space: [0.000, 0.000, 0.000], + // sigma2 + stretch: [0.000, 0.000, 0.000], + // sigma3 + shrink: [0.000, 0.000, 0.000], + // sigma4 + xHeight: [0.431, 0.431, 0.431], + // sigma5 + quad: [1.000, 1.171, 1.472], + // sigma6 + extraSpace: [0.000, 0.000, 0.000], + // sigma7 + num1: [0.677, 0.732, 0.925], + // sigma8 + num2: [0.394, 0.384, 0.387], + // sigma9 + num3: [0.444, 0.471, 0.504], + // sigma10 + denom1: [0.686, 0.752, 1.025], + // sigma11 + denom2: [0.345, 0.344, 0.532], + // sigma12 + sup1: [0.413, 0.503, 0.504], + // sigma13 + sup2: [0.363, 0.431, 0.404], + // sigma14 + sup3: [0.289, 0.286, 0.294], + // sigma15 + sub1: [0.150, 0.143, 0.200], + // sigma16 + sub2: [0.247, 0.286, 0.400], + // sigma17 + supDrop: [0.386, 0.353, 0.494], + // sigma18 + subDrop: [0.050, 0.071, 0.100], + // sigma19 + delim1: [2.390, 1.700, 1.980], + // sigma20 + delim2: [1.010, 1.157, 1.420], + // sigma21 + axisHeight: [0.250, 0.250, 0.250], + // sigma22 + // These font metrics are extracted from TeX by using tftopl on cmex10.tfm; + // they correspond to the font parameters of the extension fonts (family 3). + // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to + // match cmex7, we'd use cmex7.tfm values for script and scriptscript + // values. + defaultRuleThickness: [0.04, 0.049, 0.049], + // xi8; cmex7: 0.049 + bigOpSpacing1: [0.111, 0.111, 0.111], + // xi9 + bigOpSpacing2: [0.166, 0.166, 0.166], + // xi10 + bigOpSpacing3: [0.2, 0.2, 0.2], + // xi11 + bigOpSpacing4: [0.6, 0.611, 0.611], + // xi12; cmex7: 0.611 + bigOpSpacing5: [0.1, 0.143, 0.143], + // xi13; cmex7: 0.143 + // The \sqrt rule width is taken from the height of the surd character. + // Since we use the same font at all sizes, this thickness doesn't scale. + sqrtRuleThickness: [0.04, 0.04, 0.04], + // This value determines how large a pt is, for metrics which are defined + // in terms of pts. + // This value is also used in katex.less; if you change it make sure the + // values match. + ptPerEm: [10.0, 10.0, 10.0], + // The space between adjacent `|` columns in an array definition. From + // `\showthe\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm. + doubleRuleSep: [0.2, 0.2, 0.2], + // The width of separator lines in {array} environments. From + // `\showthe\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm. + arrayRuleWidth: [0.04, 0.04, 0.04], + // Two values from LaTeX source2e: + fboxsep: [0.3, 0.3, 0.3], + // 3 pt / ptPerEm + fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm + +}; // This map contains a mapping from font name and character code to character +// metrics, including height, depth, italic correction, and skew (kern from the +// character to the corresponding \skewchar) +// This map is generated via `make metrics`. It should not be changed manually. + + // These are very rough approximations. We default to Times New Roman which +// should have Latin-1 and Cyrillic characters, but may not depending on the +// operating system. The metrics do not account for extra height from the +// accents. In the case of Cyrillic characters which have both ascenders and +// descenders we prefer approximations with ascenders, primarily to prevent +// the fraction bar or root line from intersecting the glyph. +// TODO(kevinb) allow union of multiple glyph metrics for better accuracy. + +var extraCharacterMap = { + // Latin-1 + 'Å': 'A', + 'Ç': 'C', + 'Ð': 'D', + 'Þ': 'o', + 'å': 'a', + 'ç': 'c', + 'ð': 'd', + 'þ': 'o', + // Cyrillic + 'А': 'A', + 'Б': 'B', + 'В': 'B', + 'Г': 'F', + 'Д': 'A', + 'Е': 'E', + 'Ж': 'K', + 'З': '3', + 'И': 'N', + 'Й': 'N', + 'К': 'K', + 'Л': 'N', + 'М': 'M', + 'Н': 'H', + 'О': 'O', + 'П': 'N', + 'Р': 'P', + 'С': 'C', + 'Т': 'T', + 'У': 'y', + 'Ф': 'O', + 'Х': 'X', + 'Ц': 'U', + 'Ч': 'h', + 'Ш': 'W', + 'Щ': 'W', + 'Ъ': 'B', + 'Ы': 'X', + 'Ь': 'B', + 'Э': '3', + 'Ю': 'X', + 'Я': 'R', + 'а': 'a', + 'б': 'b', + 'в': 'a', + 'г': 'r', + 'д': 'y', + 'е': 'e', + 'ж': 'm', + 'з': 'e', + 'и': 'n', + 'й': 'n', + 'к': 'n', + 'л': 'n', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'n', + 'р': 'p', + 'с': 'c', + 'т': 'o', + 'у': 'y', + 'ф': 'b', + 'х': 'x', + 'ц': 'n', + 'ч': 'n', + 'ш': 'w', + 'щ': 'w', + 'ъ': 'a', + 'ы': 'm', + 'ь': 'a', + 'э': 'e', + 'ю': 'm', + 'я': 'r' +}; + +/** + * This function adds new font metrics to default metricMap + * It can also override existing metrics + */ +function setFontMetrics(fontName, metrics) { + fontMetricsData[fontName] = metrics; +} +/** + * This function is a convenience function for looking up information in the + * metricMap table. It takes a character as a string, and a font. + * + * Note: the `width` property may be undefined if fontMetricsData.js wasn't + * built using `Make extended_metrics`. + */ + +function getCharacterMetrics(character, font, mode) { + if (!fontMetricsData[font]) { + throw new Error("Font metrics not found for font: " + font + "."); + } + + var ch = character.charCodeAt(0); + var metrics = fontMetricsData[font][ch]; + + if (!metrics && character[0] in extraCharacterMap) { + ch = extraCharacterMap[character[0]].charCodeAt(0); + metrics = fontMetricsData[font][ch]; + } + + if (!metrics && mode === 'text') { + // We don't typically have font metrics for Asian scripts. + // But since we support them in text mode, we need to return + // some sort of metrics. + // So if the character is in a script we support but we + // don't have metrics for it, just use the metrics for + // the Latin capital letter M. This is close enough because + // we (currently) only care about the height of the glpyh + // not its width. + if (supportedCodepoint(ch)) { + metrics = fontMetricsData[font][77]; // 77 is the charcode for 'M' + } + } + + if (metrics) { + return { + depth: metrics[0], + height: metrics[1], + italic: metrics[2], + skew: metrics[3], + width: metrics[4] + }; + } +} +var fontMetricsBySizeIndex = {}; +/** + * Get the font metrics for a given size. + */ + +function getGlobalMetrics(size) { + var sizeIndex; + + if (size >= 5) { + sizeIndex = 0; + } else if (size >= 3) { + sizeIndex = 1; + } else { + sizeIndex = 2; + } + + if (!fontMetricsBySizeIndex[sizeIndex]) { + var metrics = fontMetricsBySizeIndex[sizeIndex] = { + cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18 + }; + + for (var key in sigmasAndXis) { + if (sigmasAndXis.hasOwnProperty(key)) { + metrics[key] = sigmasAndXis[key][sizeIndex]; + } + } + } + + return fontMetricsBySizeIndex[sizeIndex]; +} +// CONCATENATED MODULE: ./src/symbols.js +/** + * This file holds a list of all no-argument functions and single-character + * symbols (like 'a' or ';'). + * + * For each of the symbols, there are three properties they can have: + * - font (required): the font to be used for this symbol. Either "main" (the + normal font), or "ams" (the ams fonts). + * - group (required): the ParseNode group type the symbol should have (i.e. + "textord", "mathord", etc). + See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types + * - replace: the character that this symbol or function should be + * replaced with (i.e. "\phi" has a replace value of "\u03d5", the phi + * character in the main font). + * + * The outermost map in the table indicates what mode the symbols should be + * accepted in (e.g. "math" or "text"). + */ +// Some of these have a "-token" suffix since these are also used as `ParseNode` +// types for raw text tokens, and we want to avoid conflicts with higher-level +// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by +// looking up the `symbols` map. +var ATOMS = { + "bin": 1, + "close": 1, + "inner": 1, + "open": 1, + "punct": 1, + "rel": 1 +}; +var NON_ATOMS = { + "accent-token": 1, + "mathord": 1, + "op-token": 1, + "spacing": 1, + "textord": 1 +}; +var symbols = { + "math": {}, + "text": {} +}; +/* harmony default export */ var src_symbols = (symbols); +/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */ + +function defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) { + symbols[mode][name] = { + font: font, + group: group, + replace: replace + }; + + if (acceptUnicodeChar && replace) { + symbols[mode][replace] = symbols[mode][name]; + } +} // Some abbreviations for commonly used strings. +// This helps minify the code, and also spotting typos using jshint. +// modes: + +var symbols_math = "math"; +var symbols_text = "text"; // fonts: + +var main = "main"; +var ams = "ams"; // groups: + +var symbols_accent = "accent-token"; +var bin = "bin"; +var symbols_close = "close"; +var symbols_inner = "inner"; +var mathord = "mathord"; +var op = "op-token"; +var symbols_open = "open"; +var punct = "punct"; +var rel = "rel"; +var symbols_spacing = "spacing"; +var symbols_textord = "textord"; // Now comes the symbol table +// Relation Symbols + +defineSymbol(symbols_math, main, rel, "\u2261", "\\equiv", true); +defineSymbol(symbols_math, main, rel, "\u227A", "\\prec", true); +defineSymbol(symbols_math, main, rel, "\u227B", "\\succ", true); +defineSymbol(symbols_math, main, rel, "\u223C", "\\sim", true); +defineSymbol(symbols_math, main, rel, "\u22A5", "\\perp"); +defineSymbol(symbols_math, main, rel, "\u2AAF", "\\preceq", true); +defineSymbol(symbols_math, main, rel, "\u2AB0", "\\succeq", true); +defineSymbol(symbols_math, main, rel, "\u2243", "\\simeq", true); +defineSymbol(symbols_math, main, rel, "\u2223", "\\mid", true); +defineSymbol(symbols_math, main, rel, "\u226A", "\\ll", true); +defineSymbol(symbols_math, main, rel, "\u226B", "\\gg", true); +defineSymbol(symbols_math, main, rel, "\u224D", "\\asymp", true); +defineSymbol(symbols_math, main, rel, "\u2225", "\\parallel"); +defineSymbol(symbols_math, main, rel, "\u22C8", "\\bowtie", true); +defineSymbol(symbols_math, main, rel, "\u2323", "\\smile", true); +defineSymbol(symbols_math, main, rel, "\u2291", "\\sqsubseteq", true); +defineSymbol(symbols_math, main, rel, "\u2292", "\\sqsupseteq", true); +defineSymbol(symbols_math, main, rel, "\u2250", "\\doteq", true); +defineSymbol(symbols_math, main, rel, "\u2322", "\\frown", true); +defineSymbol(symbols_math, main, rel, "\u220B", "\\ni", true); +defineSymbol(symbols_math, main, rel, "\u221D", "\\propto", true); +defineSymbol(symbols_math, main, rel, "\u22A2", "\\vdash", true); +defineSymbol(symbols_math, main, rel, "\u22A3", "\\dashv", true); +defineSymbol(symbols_math, main, rel, "\u220B", "\\owns"); // Punctuation + +defineSymbol(symbols_math, main, punct, ".", "\\ldotp"); +defineSymbol(symbols_math, main, punct, "\u22C5", "\\cdotp"); // Misc Symbols + +defineSymbol(symbols_math, main, symbols_textord, "#", "\\#"); +defineSymbol(symbols_text, main, symbols_textord, "#", "\\#"); +defineSymbol(symbols_math, main, symbols_textord, "&", "\\&"); +defineSymbol(symbols_text, main, symbols_textord, "&", "\\&"); +defineSymbol(symbols_math, main, symbols_textord, "\u2135", "\\aleph", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2200", "\\forall", true); +defineSymbol(symbols_math, main, symbols_textord, "\u210F", "\\hbar", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2203", "\\exists", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2207", "\\nabla", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266D", "\\flat", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2113", "\\ell", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266E", "\\natural", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2663", "\\clubsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2118", "\\wp", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266F", "\\sharp", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2662", "\\diamondsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u211C", "\\Re", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2661", "\\heartsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2111", "\\Im", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2660", "\\spadesuit", true); +defineSymbol(symbols_text, main, symbols_textord, "\xA7", "\\S", true); +defineSymbol(symbols_text, main, symbols_textord, "\xB6", "\\P", true); // Math and Text + +defineSymbol(symbols_math, main, symbols_textord, "\u2020", "\\dag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2020", "\\dag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2020", "\\textdagger"); +defineSymbol(symbols_math, main, symbols_textord, "\u2021", "\\ddag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2021", "\\ddag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2021", "\\textdaggerdbl"); // Large Delimiters + +defineSymbol(symbols_math, main, symbols_close, "\u23B1", "\\rmoustache", true); +defineSymbol(symbols_math, main, symbols_open, "\u23B0", "\\lmoustache", true); +defineSymbol(symbols_math, main, symbols_close, "\u27EF", "\\rgroup", true); +defineSymbol(symbols_math, main, symbols_open, "\u27EE", "\\lgroup", true); // Binary Operators + +defineSymbol(symbols_math, main, bin, "\u2213", "\\mp", true); +defineSymbol(symbols_math, main, bin, "\u2296", "\\ominus", true); +defineSymbol(symbols_math, main, bin, "\u228E", "\\uplus", true); +defineSymbol(symbols_math, main, bin, "\u2293", "\\sqcap", true); +defineSymbol(symbols_math, main, bin, "\u2217", "\\ast"); +defineSymbol(symbols_math, main, bin, "\u2294", "\\sqcup", true); +defineSymbol(symbols_math, main, bin, "\u25EF", "\\bigcirc"); +defineSymbol(symbols_math, main, bin, "\u2219", "\\bullet"); +defineSymbol(symbols_math, main, bin, "\u2021", "\\ddagger"); +defineSymbol(symbols_math, main, bin, "\u2240", "\\wr", true); +defineSymbol(symbols_math, main, bin, "\u2A3F", "\\amalg"); +defineSymbol(symbols_math, main, bin, "&", "\\And"); // from amsmath +// Arrow Symbols + +defineSymbol(symbols_math, main, rel, "\u27F5", "\\longleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D0", "\\Leftarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F8", "\\Longleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F6", "\\longrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D2", "\\Rightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F9", "\\Longrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2194", "\\leftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F7", "\\longleftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D4", "\\Leftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27FA", "\\Longleftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21A6", "\\mapsto", true); +defineSymbol(symbols_math, main, rel, "\u27FC", "\\longmapsto", true); +defineSymbol(symbols_math, main, rel, "\u2197", "\\nearrow", true); +defineSymbol(symbols_math, main, rel, "\u21A9", "\\hookleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u21AA", "\\hookrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2198", "\\searrow", true); +defineSymbol(symbols_math, main, rel, "\u21BC", "\\leftharpoonup", true); +defineSymbol(symbols_math, main, rel, "\u21C0", "\\rightharpoonup", true); +defineSymbol(symbols_math, main, rel, "\u2199", "\\swarrow", true); +defineSymbol(symbols_math, main, rel, "\u21BD", "\\leftharpoondown", true); +defineSymbol(symbols_math, main, rel, "\u21C1", "\\rightharpoondown", true); +defineSymbol(symbols_math, main, rel, "\u2196", "\\nwarrow", true); +defineSymbol(symbols_math, main, rel, "\u21CC", "\\rightleftharpoons", true); // AMS Negated Binary Relations + +defineSymbol(symbols_math, ams, rel, "\u226E", "\\nless", true); // Symbol names preceeded by "@" each have a corresponding macro. + +defineSymbol(symbols_math, ams, rel, "\uE010", "\\@nleqslant"); +defineSymbol(symbols_math, ams, rel, "\uE011", "\\@nleqq"); +defineSymbol(symbols_math, ams, rel, "\u2A87", "\\lneq", true); +defineSymbol(symbols_math, ams, rel, "\u2268", "\\lneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE00C", "\\@lvertneqq"); +defineSymbol(symbols_math, ams, rel, "\u22E6", "\\lnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A89", "\\lnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2280", "\\nprec", true); // unicode-math maps \u22e0 to \npreccurlyeq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u22E0", "\\npreceq", true); +defineSymbol(symbols_math, ams, rel, "\u22E8", "\\precnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB9", "\\precnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2241", "\\nsim", true); +defineSymbol(symbols_math, ams, rel, "\uE006", "\\@nshortmid"); +defineSymbol(symbols_math, ams, rel, "\u2224", "\\nmid", true); +defineSymbol(symbols_math, ams, rel, "\u22AC", "\\nvdash", true); +defineSymbol(symbols_math, ams, rel, "\u22AD", "\\nvDash", true); +defineSymbol(symbols_math, ams, rel, "\u22EA", "\\ntriangleleft"); +defineSymbol(symbols_math, ams, rel, "\u22EC", "\\ntrianglelefteq", true); +defineSymbol(symbols_math, ams, rel, "\u228A", "\\subsetneq", true); +defineSymbol(symbols_math, ams, rel, "\uE01A", "\\@varsubsetneq"); +defineSymbol(symbols_math, ams, rel, "\u2ACB", "\\subsetneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE017", "\\@varsubsetneqq"); +defineSymbol(symbols_math, ams, rel, "\u226F", "\\ngtr", true); +defineSymbol(symbols_math, ams, rel, "\uE00F", "\\@ngeqslant"); +defineSymbol(symbols_math, ams, rel, "\uE00E", "\\@ngeqq"); +defineSymbol(symbols_math, ams, rel, "\u2A88", "\\gneq", true); +defineSymbol(symbols_math, ams, rel, "\u2269", "\\gneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE00D", "\\@gvertneqq"); +defineSymbol(symbols_math, ams, rel, "\u22E7", "\\gnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A8A", "\\gnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2281", "\\nsucc", true); // unicode-math maps \u22e1 to \nsucccurlyeq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u22E1", "\\nsucceq", true); +defineSymbol(symbols_math, ams, rel, "\u22E9", "\\succnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2ABA", "\\succnapprox", true); // unicode-math maps \u2246 to \simneqq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u2246", "\\ncong", true); +defineSymbol(symbols_math, ams, rel, "\uE007", "\\@nshortparallel"); +defineSymbol(symbols_math, ams, rel, "\u2226", "\\nparallel", true); +defineSymbol(symbols_math, ams, rel, "\u22AF", "\\nVDash", true); +defineSymbol(symbols_math, ams, rel, "\u22EB", "\\ntriangleright"); +defineSymbol(symbols_math, ams, rel, "\u22ED", "\\ntrianglerighteq", true); +defineSymbol(symbols_math, ams, rel, "\uE018", "\\@nsupseteqq"); +defineSymbol(symbols_math, ams, rel, "\u228B", "\\supsetneq", true); +defineSymbol(symbols_math, ams, rel, "\uE01B", "\\@varsupsetneq"); +defineSymbol(symbols_math, ams, rel, "\u2ACC", "\\supsetneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE019", "\\@varsupsetneqq"); +defineSymbol(symbols_math, ams, rel, "\u22AE", "\\nVdash", true); +defineSymbol(symbols_math, ams, rel, "\u2AB5", "\\precneqq", true); +defineSymbol(symbols_math, ams, rel, "\u2AB6", "\\succneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE016", "\\@nsubseteqq"); +defineSymbol(symbols_math, ams, bin, "\u22B4", "\\unlhd"); +defineSymbol(symbols_math, ams, bin, "\u22B5", "\\unrhd"); // AMS Negated Arrows + +defineSymbol(symbols_math, ams, rel, "\u219A", "\\nleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u219B", "\\nrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CD", "\\nLeftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CF", "\\nRightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21AE", "\\nleftrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CE", "\\nLeftrightarrow", true); // AMS Misc + +defineSymbol(symbols_math, ams, rel, "\u25B3", "\\vartriangle"); +defineSymbol(symbols_math, ams, symbols_textord, "\u210F", "\\hslash"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25BD", "\\triangledown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25CA", "\\lozenge"); +defineSymbol(symbols_math, ams, symbols_textord, "\u24C8", "\\circledS"); +defineSymbol(symbols_math, ams, symbols_textord, "\xAE", "\\circledR"); +defineSymbol(symbols_text, ams, symbols_textord, "\xAE", "\\circledR"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2221", "\\measuredangle", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2204", "\\nexists"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2127", "\\mho"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2132", "\\Finv", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2141", "\\Game", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2035", "\\backprime"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25B2", "\\blacktriangle"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25BC", "\\blacktriangledown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A0", "\\blacksquare"); +defineSymbol(symbols_math, ams, symbols_textord, "\u29EB", "\\blacklozenge"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2605", "\\bigstar"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2222", "\\sphericalangle", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2201", "\\complement", true); // unicode-math maps U+F0 to \matheth. We map to AMS function \eth + +defineSymbol(symbols_math, ams, symbols_textord, "\xF0", "\\eth", true); +defineSymbol(symbols_text, main, symbols_textord, "\xF0", "\xF0"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2571", "\\diagup"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2572", "\\diagdown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A1", "\\square"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A1", "\\Box"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25CA", "\\Diamond"); // unicode-math maps U+A5 to \mathyen. We map to AMS function \yen + +defineSymbol(symbols_math, ams, symbols_textord, "\xA5", "\\yen", true); +defineSymbol(symbols_text, ams, symbols_textord, "\xA5", "\\yen", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2713", "\\checkmark", true); +defineSymbol(symbols_text, ams, symbols_textord, "\u2713", "\\checkmark"); // AMS Hebrew + +defineSymbol(symbols_math, ams, symbols_textord, "\u2136", "\\beth", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2138", "\\daleth", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2137", "\\gimel", true); // AMS Greek + +defineSymbol(symbols_math, ams, symbols_textord, "\u03DD", "\\digamma", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u03F0", "\\varkappa"); // AMS Delimiters + +defineSymbol(symbols_math, ams, symbols_open, "\u250C", "\\@ulcorner", true); +defineSymbol(symbols_math, ams, symbols_close, "\u2510", "\\@urcorner", true); +defineSymbol(symbols_math, ams, symbols_open, "\u2514", "\\@llcorner", true); +defineSymbol(symbols_math, ams, symbols_close, "\u2518", "\\@lrcorner", true); // AMS Binary Relations + +defineSymbol(symbols_math, ams, rel, "\u2266", "\\leqq", true); +defineSymbol(symbols_math, ams, rel, "\u2A7D", "\\leqslant", true); +defineSymbol(symbols_math, ams, rel, "\u2A95", "\\eqslantless", true); +defineSymbol(symbols_math, ams, rel, "\u2272", "\\lesssim", true); +defineSymbol(symbols_math, ams, rel, "\u2A85", "\\lessapprox", true); +defineSymbol(symbols_math, ams, rel, "\u224A", "\\approxeq", true); +defineSymbol(symbols_math, ams, bin, "\u22D6", "\\lessdot"); +defineSymbol(symbols_math, ams, rel, "\u22D8", "\\lll", true); +defineSymbol(symbols_math, ams, rel, "\u2276", "\\lessgtr", true); +defineSymbol(symbols_math, ams, rel, "\u22DA", "\\lesseqgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2A8B", "\\lesseqqgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2251", "\\doteqdot"); +defineSymbol(symbols_math, ams, rel, "\u2253", "\\risingdotseq", true); +defineSymbol(symbols_math, ams, rel, "\u2252", "\\fallingdotseq", true); +defineSymbol(symbols_math, ams, rel, "\u223D", "\\backsim", true); +defineSymbol(symbols_math, ams, rel, "\u22CD", "\\backsimeq", true); +defineSymbol(symbols_math, ams, rel, "\u2AC5", "\\subseteqq", true); +defineSymbol(symbols_math, ams, rel, "\u22D0", "\\Subset", true); +defineSymbol(symbols_math, ams, rel, "\u228F", "\\sqsubset", true); +defineSymbol(symbols_math, ams, rel, "\u227C", "\\preccurlyeq", true); +defineSymbol(symbols_math, ams, rel, "\u22DE", "\\curlyeqprec", true); +defineSymbol(symbols_math, ams, rel, "\u227E", "\\precsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB7", "\\precapprox", true); +defineSymbol(symbols_math, ams, rel, "\u22B2", "\\vartriangleleft"); +defineSymbol(symbols_math, ams, rel, "\u22B4", "\\trianglelefteq"); +defineSymbol(symbols_math, ams, rel, "\u22A8", "\\vDash", true); +defineSymbol(symbols_math, ams, rel, "\u22AA", "\\Vvdash", true); +defineSymbol(symbols_math, ams, rel, "\u2323", "\\smallsmile"); +defineSymbol(symbols_math, ams, rel, "\u2322", "\\smallfrown"); +defineSymbol(symbols_math, ams, rel, "\u224F", "\\bumpeq", true); +defineSymbol(symbols_math, ams, rel, "\u224E", "\\Bumpeq", true); +defineSymbol(symbols_math, ams, rel, "\u2267", "\\geqq", true); +defineSymbol(symbols_math, ams, rel, "\u2A7E", "\\geqslant", true); +defineSymbol(symbols_math, ams, rel, "\u2A96", "\\eqslantgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2273", "\\gtrsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A86", "\\gtrapprox", true); +defineSymbol(symbols_math, ams, bin, "\u22D7", "\\gtrdot"); +defineSymbol(symbols_math, ams, rel, "\u22D9", "\\ggg", true); +defineSymbol(symbols_math, ams, rel, "\u2277", "\\gtrless", true); +defineSymbol(symbols_math, ams, rel, "\u22DB", "\\gtreqless", true); +defineSymbol(symbols_math, ams, rel, "\u2A8C", "\\gtreqqless", true); +defineSymbol(symbols_math, ams, rel, "\u2256", "\\eqcirc", true); +defineSymbol(symbols_math, ams, rel, "\u2257", "\\circeq", true); +defineSymbol(symbols_math, ams, rel, "\u225C", "\\triangleq", true); +defineSymbol(symbols_math, ams, rel, "\u223C", "\\thicksim"); +defineSymbol(symbols_math, ams, rel, "\u2248", "\\thickapprox"); +defineSymbol(symbols_math, ams, rel, "\u2AC6", "\\supseteqq", true); +defineSymbol(symbols_math, ams, rel, "\u22D1", "\\Supset", true); +defineSymbol(symbols_math, ams, rel, "\u2290", "\\sqsupset", true); +defineSymbol(symbols_math, ams, rel, "\u227D", "\\succcurlyeq", true); +defineSymbol(symbols_math, ams, rel, "\u22DF", "\\curlyeqsucc", true); +defineSymbol(symbols_math, ams, rel, "\u227F", "\\succsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB8", "\\succapprox", true); +defineSymbol(symbols_math, ams, rel, "\u22B3", "\\vartriangleright"); +defineSymbol(symbols_math, ams, rel, "\u22B5", "\\trianglerighteq"); +defineSymbol(symbols_math, ams, rel, "\u22A9", "\\Vdash", true); +defineSymbol(symbols_math, ams, rel, "\u2223", "\\shortmid"); +defineSymbol(symbols_math, ams, rel, "\u2225", "\\shortparallel"); +defineSymbol(symbols_math, ams, rel, "\u226C", "\\between", true); +defineSymbol(symbols_math, ams, rel, "\u22D4", "\\pitchfork", true); +defineSymbol(symbols_math, ams, rel, "\u221D", "\\varpropto"); +defineSymbol(symbols_math, ams, rel, "\u25C0", "\\blacktriangleleft"); // unicode-math says that \therefore is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(symbols_math, ams, rel, "\u2234", "\\therefore", true); +defineSymbol(symbols_math, ams, rel, "\u220D", "\\backepsilon"); +defineSymbol(symbols_math, ams, rel, "\u25B6", "\\blacktriangleright"); // unicode-math says that \because is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(symbols_math, ams, rel, "\u2235", "\\because", true); +defineSymbol(symbols_math, ams, rel, "\u22D8", "\\llless"); +defineSymbol(symbols_math, ams, rel, "\u22D9", "\\gggtr"); +defineSymbol(symbols_math, ams, bin, "\u22B2", "\\lhd"); +defineSymbol(symbols_math, ams, bin, "\u22B3", "\\rhd"); +defineSymbol(symbols_math, ams, rel, "\u2242", "\\eqsim", true); +defineSymbol(symbols_math, main, rel, "\u22C8", "\\Join"); +defineSymbol(symbols_math, ams, rel, "\u2251", "\\Doteq", true); // AMS Binary Operators + +defineSymbol(symbols_math, ams, bin, "\u2214", "\\dotplus", true); +defineSymbol(symbols_math, ams, bin, "\u2216", "\\smallsetminus"); +defineSymbol(symbols_math, ams, bin, "\u22D2", "\\Cap", true); +defineSymbol(symbols_math, ams, bin, "\u22D3", "\\Cup", true); +defineSymbol(symbols_math, ams, bin, "\u2A5E", "\\doublebarwedge", true); +defineSymbol(symbols_math, ams, bin, "\u229F", "\\boxminus", true); +defineSymbol(symbols_math, ams, bin, "\u229E", "\\boxplus", true); +defineSymbol(symbols_math, ams, bin, "\u22C7", "\\divideontimes", true); +defineSymbol(symbols_math, ams, bin, "\u22C9", "\\ltimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CA", "\\rtimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CB", "\\leftthreetimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CC", "\\rightthreetimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CF", "\\curlywedge", true); +defineSymbol(symbols_math, ams, bin, "\u22CE", "\\curlyvee", true); +defineSymbol(symbols_math, ams, bin, "\u229D", "\\circleddash", true); +defineSymbol(symbols_math, ams, bin, "\u229B", "\\circledast", true); +defineSymbol(symbols_math, ams, bin, "\u22C5", "\\centerdot"); +defineSymbol(symbols_math, ams, bin, "\u22BA", "\\intercal", true); +defineSymbol(symbols_math, ams, bin, "\u22D2", "\\doublecap"); +defineSymbol(symbols_math, ams, bin, "\u22D3", "\\doublecup"); +defineSymbol(symbols_math, ams, bin, "\u22A0", "\\boxtimes", true); // AMS Arrows +// Note: unicode-math maps \u21e2 to their own function \rightdasharrow. +// We'll map it to AMS function \dashrightarrow. It produces the same atom. + +defineSymbol(symbols_math, ams, rel, "\u21E2", "\\dashrightarrow", true); // unicode-math maps \u21e0 to \leftdasharrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21E0", "\\dashleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21C7", "\\leftleftarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21C6", "\\leftrightarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21DA", "\\Lleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u219E", "\\twoheadleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21A2", "\\leftarrowtail", true); +defineSymbol(symbols_math, ams, rel, "\u21AB", "\\looparrowleft", true); +defineSymbol(symbols_math, ams, rel, "\u21CB", "\\leftrightharpoons", true); +defineSymbol(symbols_math, ams, rel, "\u21B6", "\\curvearrowleft", true); // unicode-math maps \u21ba to \acwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21BA", "\\circlearrowleft", true); +defineSymbol(symbols_math, ams, rel, "\u21B0", "\\Lsh", true); +defineSymbol(symbols_math, ams, rel, "\u21C8", "\\upuparrows", true); +defineSymbol(symbols_math, ams, rel, "\u21BF", "\\upharpoonleft", true); +defineSymbol(symbols_math, ams, rel, "\u21C3", "\\downharpoonleft", true); +defineSymbol(symbols_math, ams, rel, "\u22B8", "\\multimap", true); +defineSymbol(symbols_math, ams, rel, "\u21AD", "\\leftrightsquigarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21C9", "\\rightrightarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21C4", "\\rightleftarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21A0", "\\twoheadrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21A3", "\\rightarrowtail", true); +defineSymbol(symbols_math, ams, rel, "\u21AC", "\\looparrowright", true); +defineSymbol(symbols_math, ams, rel, "\u21B7", "\\curvearrowright", true); // unicode-math maps \u21bb to \cwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21BB", "\\circlearrowright", true); +defineSymbol(symbols_math, ams, rel, "\u21B1", "\\Rsh", true); +defineSymbol(symbols_math, ams, rel, "\u21CA", "\\downdownarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21BE", "\\upharpoonright", true); +defineSymbol(symbols_math, ams, rel, "\u21C2", "\\downharpoonright", true); +defineSymbol(symbols_math, ams, rel, "\u21DD", "\\rightsquigarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21DD", "\\leadsto"); +defineSymbol(symbols_math, ams, rel, "\u21DB", "\\Rrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21BE", "\\restriction"); +defineSymbol(symbols_math, main, symbols_textord, "\u2018", "`"); +defineSymbol(symbols_math, main, symbols_textord, "$", "\\$"); +defineSymbol(symbols_text, main, symbols_textord, "$", "\\$"); +defineSymbol(symbols_text, main, symbols_textord, "$", "\\textdollar"); +defineSymbol(symbols_math, main, symbols_textord, "%", "\\%"); +defineSymbol(symbols_text, main, symbols_textord, "%", "\\%"); +defineSymbol(symbols_math, main, symbols_textord, "_", "\\_"); +defineSymbol(symbols_text, main, symbols_textord, "_", "\\_"); +defineSymbol(symbols_text, main, symbols_textord, "_", "\\textunderscore"); +defineSymbol(symbols_math, main, symbols_textord, "\u2220", "\\angle", true); +defineSymbol(symbols_math, main, symbols_textord, "\u221E", "\\infty", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2032", "\\prime"); +defineSymbol(symbols_math, main, symbols_textord, "\u25B3", "\\triangle"); +defineSymbol(symbols_math, main, symbols_textord, "\u0393", "\\Gamma", true); +defineSymbol(symbols_math, main, symbols_textord, "\u0394", "\\Delta", true); +defineSymbol(symbols_math, main, symbols_textord, "\u0398", "\\Theta", true); +defineSymbol(symbols_math, main, symbols_textord, "\u039B", "\\Lambda", true); +defineSymbol(symbols_math, main, symbols_textord, "\u039E", "\\Xi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A0", "\\Pi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A3", "\\Sigma", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A5", "\\Upsilon", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A6", "\\Phi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A8", "\\Psi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A9", "\\Omega", true); +defineSymbol(symbols_math, main, symbols_textord, "A", "\u0391"); +defineSymbol(symbols_math, main, symbols_textord, "B", "\u0392"); +defineSymbol(symbols_math, main, symbols_textord, "E", "\u0395"); +defineSymbol(symbols_math, main, symbols_textord, "Z", "\u0396"); +defineSymbol(symbols_math, main, symbols_textord, "H", "\u0397"); +defineSymbol(symbols_math, main, symbols_textord, "I", "\u0399"); +defineSymbol(symbols_math, main, symbols_textord, "K", "\u039A"); +defineSymbol(symbols_math, main, symbols_textord, "M", "\u039C"); +defineSymbol(symbols_math, main, symbols_textord, "N", "\u039D"); +defineSymbol(symbols_math, main, symbols_textord, "O", "\u039F"); +defineSymbol(symbols_math, main, symbols_textord, "P", "\u03A1"); +defineSymbol(symbols_math, main, symbols_textord, "T", "\u03A4"); +defineSymbol(symbols_math, main, symbols_textord, "X", "\u03A7"); +defineSymbol(symbols_math, main, symbols_textord, "\xAC", "\\neg", true); +defineSymbol(symbols_math, main, symbols_textord, "\xAC", "\\lnot"); +defineSymbol(symbols_math, main, symbols_textord, "\u22A4", "\\top"); +defineSymbol(symbols_math, main, symbols_textord, "\u22A5", "\\bot"); +defineSymbol(symbols_math, main, symbols_textord, "\u2205", "\\emptyset"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2205", "\\varnothing"); +defineSymbol(symbols_math, main, mathord, "\u03B1", "\\alpha", true); +defineSymbol(symbols_math, main, mathord, "\u03B2", "\\beta", true); +defineSymbol(symbols_math, main, mathord, "\u03B3", "\\gamma", true); +defineSymbol(symbols_math, main, mathord, "\u03B4", "\\delta", true); +defineSymbol(symbols_math, main, mathord, "\u03F5", "\\epsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03B6", "\\zeta", true); +defineSymbol(symbols_math, main, mathord, "\u03B7", "\\eta", true); +defineSymbol(symbols_math, main, mathord, "\u03B8", "\\theta", true); +defineSymbol(symbols_math, main, mathord, "\u03B9", "\\iota", true); +defineSymbol(symbols_math, main, mathord, "\u03BA", "\\kappa", true); +defineSymbol(symbols_math, main, mathord, "\u03BB", "\\lambda", true); +defineSymbol(symbols_math, main, mathord, "\u03BC", "\\mu", true); +defineSymbol(symbols_math, main, mathord, "\u03BD", "\\nu", true); +defineSymbol(symbols_math, main, mathord, "\u03BE", "\\xi", true); +defineSymbol(symbols_math, main, mathord, "\u03BF", "\\omicron", true); +defineSymbol(symbols_math, main, mathord, "\u03C0", "\\pi", true); +defineSymbol(symbols_math, main, mathord, "\u03C1", "\\rho", true); +defineSymbol(symbols_math, main, mathord, "\u03C3", "\\sigma", true); +defineSymbol(symbols_math, main, mathord, "\u03C4", "\\tau", true); +defineSymbol(symbols_math, main, mathord, "\u03C5", "\\upsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03D5", "\\phi", true); +defineSymbol(symbols_math, main, mathord, "\u03C7", "\\chi", true); +defineSymbol(symbols_math, main, mathord, "\u03C8", "\\psi", true); +defineSymbol(symbols_math, main, mathord, "\u03C9", "\\omega", true); +defineSymbol(symbols_math, main, mathord, "\u03B5", "\\varepsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03D1", "\\vartheta", true); +defineSymbol(symbols_math, main, mathord, "\u03D6", "\\varpi", true); +defineSymbol(symbols_math, main, mathord, "\u03F1", "\\varrho", true); +defineSymbol(symbols_math, main, mathord, "\u03C2", "\\varsigma", true); +defineSymbol(symbols_math, main, mathord, "\u03C6", "\\varphi", true); +defineSymbol(symbols_math, main, bin, "\u2217", "*"); +defineSymbol(symbols_math, main, bin, "+", "+"); +defineSymbol(symbols_math, main, bin, "\u2212", "-"); +defineSymbol(symbols_math, main, bin, "\u22C5", "\\cdot", true); +defineSymbol(symbols_math, main, bin, "\u2218", "\\circ"); +defineSymbol(symbols_math, main, bin, "\xF7", "\\div", true); +defineSymbol(symbols_math, main, bin, "\xB1", "\\pm", true); +defineSymbol(symbols_math, main, bin, "\xD7", "\\times", true); +defineSymbol(symbols_math, main, bin, "\u2229", "\\cap", true); +defineSymbol(symbols_math, main, bin, "\u222A", "\\cup", true); +defineSymbol(symbols_math, main, bin, "\u2216", "\\setminus"); +defineSymbol(symbols_math, main, bin, "\u2227", "\\land"); +defineSymbol(symbols_math, main, bin, "\u2228", "\\lor"); +defineSymbol(symbols_math, main, bin, "\u2227", "\\wedge", true); +defineSymbol(symbols_math, main, bin, "\u2228", "\\vee", true); +defineSymbol(symbols_math, main, symbols_textord, "\u221A", "\\surd"); +defineSymbol(symbols_math, main, symbols_open, "\u27E8", "\\langle", true); +defineSymbol(symbols_math, main, symbols_open, "\u2223", "\\lvert"); +defineSymbol(symbols_math, main, symbols_open, "\u2225", "\\lVert"); +defineSymbol(symbols_math, main, symbols_close, "?", "?"); +defineSymbol(symbols_math, main, symbols_close, "!", "!"); +defineSymbol(symbols_math, main, symbols_close, "\u27E9", "\\rangle", true); +defineSymbol(symbols_math, main, symbols_close, "\u2223", "\\rvert"); +defineSymbol(symbols_math, main, symbols_close, "\u2225", "\\rVert"); +defineSymbol(symbols_math, main, rel, "=", "="); +defineSymbol(symbols_math, main, rel, ":", ":"); +defineSymbol(symbols_math, main, rel, "\u2248", "\\approx", true); +defineSymbol(symbols_math, main, rel, "\u2245", "\\cong", true); +defineSymbol(symbols_math, main, rel, "\u2265", "\\ge"); +defineSymbol(symbols_math, main, rel, "\u2265", "\\geq", true); +defineSymbol(symbols_math, main, rel, "\u2190", "\\gets"); +defineSymbol(symbols_math, main, rel, ">", "\\gt", true); +defineSymbol(symbols_math, main, rel, "\u2208", "\\in", true); +defineSymbol(symbols_math, main, rel, "\uE020", "\\@not"); +defineSymbol(symbols_math, main, rel, "\u2282", "\\subset", true); +defineSymbol(symbols_math, main, rel, "\u2283", "\\supset", true); +defineSymbol(symbols_math, main, rel, "\u2286", "\\subseteq", true); +defineSymbol(symbols_math, main, rel, "\u2287", "\\supseteq", true); +defineSymbol(symbols_math, ams, rel, "\u2288", "\\nsubseteq", true); +defineSymbol(symbols_math, ams, rel, "\u2289", "\\nsupseteq", true); +defineSymbol(symbols_math, main, rel, "\u22A8", "\\models"); +defineSymbol(symbols_math, main, rel, "\u2190", "\\leftarrow", true); +defineSymbol(symbols_math, main, rel, "\u2264", "\\le"); +defineSymbol(symbols_math, main, rel, "\u2264", "\\leq", true); +defineSymbol(symbols_math, main, rel, "<", "\\lt", true); +defineSymbol(symbols_math, main, rel, "\u2192", "\\rightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2192", "\\to"); +defineSymbol(symbols_math, ams, rel, "\u2271", "\\ngeq", true); +defineSymbol(symbols_math, ams, rel, "\u2270", "\\nleq", true); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\ "); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "~"); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\space"); // Ref: LaTeX Source 2e: \DeclareRobustCommand{\nobreakspace}{% + +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\nobreakspace"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\ "); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", " "); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "~"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\space"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\nobreakspace"); +defineSymbol(symbols_math, main, symbols_spacing, null, "\\nobreak"); +defineSymbol(symbols_math, main, symbols_spacing, null, "\\allowbreak"); +defineSymbol(symbols_math, main, punct, ",", ","); +defineSymbol(symbols_math, main, punct, ";", ";"); +defineSymbol(symbols_math, ams, bin, "\u22BC", "\\barwedge", true); +defineSymbol(symbols_math, ams, bin, "\u22BB", "\\veebar", true); +defineSymbol(symbols_math, main, bin, "\u2299", "\\odot", true); +defineSymbol(symbols_math, main, bin, "\u2295", "\\oplus", true); +defineSymbol(symbols_math, main, bin, "\u2297", "\\otimes", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2202", "\\partial", true); +defineSymbol(symbols_math, main, bin, "\u2298", "\\oslash", true); +defineSymbol(symbols_math, ams, bin, "\u229A", "\\circledcirc", true); +defineSymbol(symbols_math, ams, bin, "\u22A1", "\\boxdot", true); +defineSymbol(symbols_math, main, bin, "\u25B3", "\\bigtriangleup"); +defineSymbol(symbols_math, main, bin, "\u25BD", "\\bigtriangledown"); +defineSymbol(symbols_math, main, bin, "\u2020", "\\dagger"); +defineSymbol(symbols_math, main, bin, "\u22C4", "\\diamond"); +defineSymbol(symbols_math, main, bin, "\u22C6", "\\star"); +defineSymbol(symbols_math, main, bin, "\u25C3", "\\triangleleft"); +defineSymbol(symbols_math, main, bin, "\u25B9", "\\triangleright"); +defineSymbol(symbols_math, main, symbols_open, "{", "\\{"); +defineSymbol(symbols_text, main, symbols_textord, "{", "\\{"); +defineSymbol(symbols_text, main, symbols_textord, "{", "\\textbraceleft"); +defineSymbol(symbols_math, main, symbols_close, "}", "\\}"); +defineSymbol(symbols_text, main, symbols_textord, "}", "\\}"); +defineSymbol(symbols_text, main, symbols_textord, "}", "\\textbraceright"); +defineSymbol(symbols_math, main, symbols_open, "{", "\\lbrace"); +defineSymbol(symbols_math, main, symbols_close, "}", "\\rbrace"); +defineSymbol(symbols_math, main, symbols_open, "[", "\\lbrack", true); +defineSymbol(symbols_text, main, symbols_textord, "[", "\\lbrack", true); +defineSymbol(symbols_math, main, symbols_close, "]", "\\rbrack", true); +defineSymbol(symbols_text, main, symbols_textord, "]", "\\rbrack", true); +defineSymbol(symbols_math, main, symbols_open, "(", "\\lparen", true); +defineSymbol(symbols_math, main, symbols_close, ")", "\\rparen", true); +defineSymbol(symbols_text, main, symbols_textord, "<", "\\textless", true); // in T1 fontenc + +defineSymbol(symbols_text, main, symbols_textord, ">", "\\textgreater", true); // in T1 fontenc + +defineSymbol(symbols_math, main, symbols_open, "\u230A", "\\lfloor", true); +defineSymbol(symbols_math, main, symbols_close, "\u230B", "\\rfloor", true); +defineSymbol(symbols_math, main, symbols_open, "\u2308", "\\lceil", true); +defineSymbol(symbols_math, main, symbols_close, "\u2309", "\\rceil", true); +defineSymbol(symbols_math, main, symbols_textord, "\\", "\\backslash"); +defineSymbol(symbols_math, main, symbols_textord, "\u2223", "|"); +defineSymbol(symbols_math, main, symbols_textord, "\u2223", "\\vert"); +defineSymbol(symbols_text, main, symbols_textord, "|", "\\textbar", true); // in T1 fontenc + +defineSymbol(symbols_math, main, symbols_textord, "\u2225", "\\|"); +defineSymbol(symbols_math, main, symbols_textord, "\u2225", "\\Vert"); +defineSymbol(symbols_text, main, symbols_textord, "\u2225", "\\textbardbl"); +defineSymbol(symbols_text, main, symbols_textord, "~", "\\textasciitilde"); +defineSymbol(symbols_text, main, symbols_textord, "\\", "\\textbackslash"); +defineSymbol(symbols_text, main, symbols_textord, "^", "\\textasciicircum"); +defineSymbol(symbols_math, main, rel, "\u2191", "\\uparrow", true); +defineSymbol(symbols_math, main, rel, "\u21D1", "\\Uparrow", true); +defineSymbol(symbols_math, main, rel, "\u2193", "\\downarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D3", "\\Downarrow", true); +defineSymbol(symbols_math, main, rel, "\u2195", "\\updownarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D5", "\\Updownarrow", true); +defineSymbol(symbols_math, main, op, "\u2210", "\\coprod"); +defineSymbol(symbols_math, main, op, "\u22C1", "\\bigvee"); +defineSymbol(symbols_math, main, op, "\u22C0", "\\bigwedge"); +defineSymbol(symbols_math, main, op, "\u2A04", "\\biguplus"); +defineSymbol(symbols_math, main, op, "\u22C2", "\\bigcap"); +defineSymbol(symbols_math, main, op, "\u22C3", "\\bigcup"); +defineSymbol(symbols_math, main, op, "\u222B", "\\int"); +defineSymbol(symbols_math, main, op, "\u222B", "\\intop"); +defineSymbol(symbols_math, main, op, "\u222C", "\\iint"); +defineSymbol(symbols_math, main, op, "\u222D", "\\iiint"); +defineSymbol(symbols_math, main, op, "\u220F", "\\prod"); +defineSymbol(symbols_math, main, op, "\u2211", "\\sum"); +defineSymbol(symbols_math, main, op, "\u2A02", "\\bigotimes"); +defineSymbol(symbols_math, main, op, "\u2A01", "\\bigoplus"); +defineSymbol(symbols_math, main, op, "\u2A00", "\\bigodot"); +defineSymbol(symbols_math, main, op, "\u222E", "\\oint"); +defineSymbol(symbols_math, main, op, "\u2A06", "\\bigsqcup"); +defineSymbol(symbols_math, main, op, "\u222B", "\\smallint"); +defineSymbol(symbols_text, main, symbols_inner, "\u2026", "\\textellipsis"); +defineSymbol(symbols_math, main, symbols_inner, "\u2026", "\\mathellipsis"); +defineSymbol(symbols_text, main, symbols_inner, "\u2026", "\\ldots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u2026", "\\ldots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u22EF", "\\@cdots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u22F1", "\\ddots", true); +defineSymbol(symbols_math, main, symbols_textord, "\u22EE", "\\varvdots"); // \vdots is a macro + +defineSymbol(symbols_math, main, symbols_accent, "\u02CA", "\\acute"); +defineSymbol(symbols_math, main, symbols_accent, "\u02CB", "\\grave"); +defineSymbol(symbols_math, main, symbols_accent, "\xA8", "\\ddot"); +defineSymbol(symbols_math, main, symbols_accent, "~", "\\tilde"); +defineSymbol(symbols_math, main, symbols_accent, "\u02C9", "\\bar"); +defineSymbol(symbols_math, main, symbols_accent, "\u02D8", "\\breve"); +defineSymbol(symbols_math, main, symbols_accent, "\u02C7", "\\check"); +defineSymbol(symbols_math, main, symbols_accent, "^", "\\hat"); +defineSymbol(symbols_math, main, symbols_accent, "\u20D7", "\\vec"); +defineSymbol(symbols_math, main, symbols_accent, "\u02D9", "\\dot"); +defineSymbol(symbols_math, main, symbols_accent, "\u02DA", "\\mathring"); // \imath and \jmath should be invariant to \mathrm, \mathbf, etc., so use PUA + +defineSymbol(symbols_math, main, mathord, "\uE131", "\\@imath"); +defineSymbol(symbols_math, main, mathord, "\uE237", "\\@jmath"); +defineSymbol(symbols_math, main, symbols_textord, "\u0131", "\u0131"); +defineSymbol(symbols_math, main, symbols_textord, "\u0237", "\u0237"); +defineSymbol(symbols_text, main, symbols_textord, "\u0131", "\\i", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0237", "\\j", true); +defineSymbol(symbols_text, main, symbols_textord, "\xDF", "\\ss", true); +defineSymbol(symbols_text, main, symbols_textord, "\xE6", "\\ae", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0153", "\\oe", true); +defineSymbol(symbols_text, main, symbols_textord, "\xF8", "\\o", true); +defineSymbol(symbols_text, main, symbols_textord, "\xC6", "\\AE", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0152", "\\OE", true); +defineSymbol(symbols_text, main, symbols_textord, "\xD8", "\\O", true); +defineSymbol(symbols_text, main, symbols_accent, "\u02CA", "\\'"); // acute + +defineSymbol(symbols_text, main, symbols_accent, "\u02CB", "\\`"); // grave + +defineSymbol(symbols_text, main, symbols_accent, "\u02C6", "\\^"); // circumflex + +defineSymbol(symbols_text, main, symbols_accent, "\u02DC", "\\~"); // tilde + +defineSymbol(symbols_text, main, symbols_accent, "\u02C9", "\\="); // macron + +defineSymbol(symbols_text, main, symbols_accent, "\u02D8", "\\u"); // breve + +defineSymbol(symbols_text, main, symbols_accent, "\u02D9", "\\."); // dot above + +defineSymbol(symbols_text, main, symbols_accent, "\u02DA", "\\r"); // ring above + +defineSymbol(symbols_text, main, symbols_accent, "\u02C7", "\\v"); // caron + +defineSymbol(symbols_text, main, symbols_accent, "\xA8", '\\"'); // diaresis + +defineSymbol(symbols_text, main, symbols_accent, "\u02DD", "\\H"); // double acute + +defineSymbol(symbols_text, main, symbols_accent, "\u25EF", "\\textcircled"); // \bigcirc glyph +// These ligatures are detected and created in Parser.js's `formLigatures`. + +var ligatures = { + "--": true, + "---": true, + "``": true, + "''": true +}; +defineSymbol(symbols_text, main, symbols_textord, "\u2013", "--", true); +defineSymbol(symbols_text, main, symbols_textord, "\u2013", "\\textendash"); +defineSymbol(symbols_text, main, symbols_textord, "\u2014", "---", true); +defineSymbol(symbols_text, main, symbols_textord, "\u2014", "\\textemdash"); +defineSymbol(symbols_text, main, symbols_textord, "\u2018", "`", true); +defineSymbol(symbols_text, main, symbols_textord, "\u2018", "\\textquoteleft"); +defineSymbol(symbols_text, main, symbols_textord, "\u2019", "'", true); +defineSymbol(symbols_text, main, symbols_textord, "\u2019", "\\textquoteright"); +defineSymbol(symbols_text, main, symbols_textord, "\u201C", "``", true); +defineSymbol(symbols_text, main, symbols_textord, "\u201C", "\\textquotedblleft"); +defineSymbol(symbols_text, main, symbols_textord, "\u201D", "''", true); +defineSymbol(symbols_text, main, symbols_textord, "\u201D", "\\textquotedblright"); // \degree from gensymb package + +defineSymbol(symbols_math, main, symbols_textord, "\xB0", "\\degree", true); +defineSymbol(symbols_text, main, symbols_textord, "\xB0", "\\degree"); // \textdegree from inputenc package + +defineSymbol(symbols_text, main, symbols_textord, "\xB0", "\\textdegree", true); // TODO: In LaTeX, \pounds can generate a different character in text and math +// mode, but among our fonts, only Main-Regular defines this character "163". + +defineSymbol(symbols_math, main, symbols_textord, "\xA3", "\\pounds"); +defineSymbol(symbols_math, main, symbols_textord, "\xA3", "\\mathsterling", true); +defineSymbol(symbols_text, main, symbols_textord, "\xA3", "\\pounds"); +defineSymbol(symbols_text, main, symbols_textord, "\xA3", "\\textsterling", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2720", "\\maltese"); +defineSymbol(symbols_text, ams, symbols_textord, "\u2720", "\\maltese"); // There are lots of symbols which are the same, so we add them in afterwards. +// All of these are textords in math mode + +var mathTextSymbols = "0123456789/@.\""; + +for (var symbols_i = 0; symbols_i < mathTextSymbols.length; symbols_i++) { + var symbols_ch = mathTextSymbols.charAt(symbols_i); + defineSymbol(symbols_math, main, symbols_textord, symbols_ch, symbols_ch); +} // All of these are textords in text mode + + +var textSymbols = "0123456789!@*()-=+\";:?/.,"; + +for (var src_symbols_i = 0; src_symbols_i < textSymbols.length; src_symbols_i++) { + var _ch = textSymbols.charAt(src_symbols_i); + + defineSymbol(symbols_text, main, symbols_textord, _ch, _ch); +} // All of these are textords in text mode, and mathords in math mode + + +var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + +for (var symbols_i2 = 0; symbols_i2 < letters.length; symbols_i2++) { + var _ch2 = letters.charAt(symbols_i2); + + defineSymbol(symbols_math, main, mathord, _ch2, _ch2); + defineSymbol(symbols_text, main, symbols_textord, _ch2, _ch2); +} // Blackboard bold and script letters in Unicode range + + +defineSymbol(symbols_math, ams, symbols_textord, "C", "\u2102"); // blackboard bold + +defineSymbol(symbols_text, ams, symbols_textord, "C", "\u2102"); +defineSymbol(symbols_math, ams, symbols_textord, "H", "\u210D"); +defineSymbol(symbols_text, ams, symbols_textord, "H", "\u210D"); +defineSymbol(symbols_math, ams, symbols_textord, "N", "\u2115"); +defineSymbol(symbols_text, ams, symbols_textord, "N", "\u2115"); +defineSymbol(symbols_math, ams, symbols_textord, "P", "\u2119"); +defineSymbol(symbols_text, ams, symbols_textord, "P", "\u2119"); +defineSymbol(symbols_math, ams, symbols_textord, "Q", "\u211A"); +defineSymbol(symbols_text, ams, symbols_textord, "Q", "\u211A"); +defineSymbol(symbols_math, ams, symbols_textord, "R", "\u211D"); +defineSymbol(symbols_text, ams, symbols_textord, "R", "\u211D"); +defineSymbol(symbols_math, ams, symbols_textord, "Z", "\u2124"); +defineSymbol(symbols_text, ams, symbols_textord, "Z", "\u2124"); +defineSymbol(symbols_math, main, mathord, "h", "\u210E"); // italic h, Planck constant + +defineSymbol(symbols_text, main, mathord, "h", "\u210E"); // The next loop loads wide (surrogate pair) characters. +// We support some letters in the Unicode range U+1D400 to U+1D7FF, +// Mathematical Alphanumeric Symbols. +// Some editors do not deal well with wide characters. So don't write the +// string into this file. Instead, create the string from the surrogate pair. + +var symbols_wideChar = ""; + +for (var symbols_i3 = 0; symbols_i3 < letters.length; symbols_i3++) { + var _ch3 = letters.charAt(symbols_i3); // The hex numbers in the next line are a surrogate pair. + // 0xD835 is the high surrogate for all letters in the range we support. + // 0xDC00 is the low surrogate for bold A. + + + symbols_wideChar = String.fromCharCode(0xD835, 0xDC00 + symbols_i3); // A-Z a-z bold + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC34 + symbols_i3); // A-Z a-z italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC68 + symbols_i3); // A-Z a-z bold italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDD04 + symbols_i3); // A-Z a-z Fractur + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDDA0 + symbols_i3); // A-Z a-z sans-serif + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDDD4 + symbols_i3); // A-Z a-z sans bold + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDE08 + symbols_i3); // A-Z a-z sans italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDE70 + symbols_i3); // A-Z a-z monospace + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + + if (symbols_i3 < 26) { + // KaTeX fonts have only capital letters for blackboard bold and script. + // See exception for k below. + symbols_wideChar = String.fromCharCode(0xD835, 0xDD38 + symbols_i3); // A-Z double struck + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC9C + symbols_i3); // A-Z script + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + } // TODO: Add bold script when it is supported by a KaTeX font. + +} // "k" is the only double struck lower case letter in the KaTeX fonts. + + +symbols_wideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck + +defineSymbol(symbols_math, main, mathord, "k", symbols_wideChar); +defineSymbol(symbols_text, main, symbols_textord, "k", symbols_wideChar); // Next, some wide character numerals + +for (var symbols_i4 = 0; symbols_i4 < 10; symbols_i4++) { + var _ch4 = symbols_i4.toString(); + + symbols_wideChar = String.fromCharCode(0xD835, 0xDFCE + symbols_i4); // 0-9 bold + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFE2 + symbols_i4); // 0-9 sans serif + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFEC + symbols_i4); // 0-9 bold sans + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFF6 + symbols_i4); // 0-9 monospace + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); +} // We add these Latin-1 letters as symbols for backwards-compatibility, +// but they are not actually in the font, nor are they supported by the +// Unicode accent mechanism, so they fall back to Times font and look ugly. +// TODO(edemaine): Fix this. + + +var extraLatin = "\xC7\xD0\xDE\xE7\xFE"; + +for (var _i5 = 0; _i5 < extraLatin.length; _i5++) { + var _ch5 = extraLatin.charAt(_i5); + + defineSymbol(symbols_math, main, mathord, _ch5, _ch5); + defineSymbol(symbols_text, main, symbols_textord, _ch5, _ch5); +} +// CONCATENATED MODULE: ./src/wide-character.js +/** + * This file provides support for Unicode range U+1D400 to U+1D7FF, + * Mathematical Alphanumeric Symbols. + * + * Function wideCharacterFont takes a wide character as input and returns + * the font information necessary to render it properly. + */ + +/** + * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf + * That document sorts characters into groups by font type, say bold or italic. + * + * In the arrays below, each subarray consists three elements: + * * The CSS class of that group when in math mode. + * * The CSS class of that group when in text mode. + * * The font name, so that KaTeX can get font metrics. + */ + +var wideLatinLetterData = [["mathbf", "textbf", "Main-Bold"], // A-Z bold upright +["mathbf", "textbf", "Main-Bold"], // a-z bold upright +["mathnormal", "textit", "Math-Italic"], // A-Z italic +["mathnormal", "textit", "Math-Italic"], // a-z italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // A-Z bold italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // a-z bold italic +// Map fancy A-Z letters to script, not calligraphic. +// This aligns with unicode-math and math fonts (except Cambria Math). +["mathscr", "textscr", "Script-Regular"], // A-Z script +["", "", ""], // a-z script. No font +["", "", ""], // A-Z bold script. No font +["", "", ""], // a-z bold script. No font +["mathfrak", "textfrak", "Fraktur-Regular"], // A-Z Fraktur +["mathfrak", "textfrak", "Fraktur-Regular"], // a-z Fraktur +["mathbb", "textbb", "AMS-Regular"], // A-Z double-struck +["mathbb", "textbb", "AMS-Regular"], // k double-struck +["", "", ""], // A-Z bold Fraktur No font metrics +["", "", ""], // a-z bold Fraktur. No font. +["mathsf", "textsf", "SansSerif-Regular"], // A-Z sans-serif +["mathsf", "textsf", "SansSerif-Regular"], // a-z sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // A-Z bold sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // a-z bold sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // A-Z italic sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // a-z italic sans-serif +["", "", ""], // A-Z bold italic sans. No font +["", "", ""], // a-z bold italic sans. No font +["mathtt", "texttt", "Typewriter-Regular"], // A-Z monospace +["mathtt", "texttt", "Typewriter-Regular"]]; +var wideNumeralData = [["mathbf", "textbf", "Main-Bold"], // 0-9 bold +["", "", ""], // 0-9 double-struck. No KaTeX font. +["mathsf", "textsf", "SansSerif-Regular"], // 0-9 sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // 0-9 bold sans-serif +["mathtt", "texttt", "Typewriter-Regular"]]; +var wide_character_wideCharacterFont = function wideCharacterFont(wideChar, mode) { + // IE doesn't support codePointAt(). So work with the surrogate pair. + var H = wideChar.charCodeAt(0); // high surrogate + + var L = wideChar.charCodeAt(1); // low surrogate + + var codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000; + var j = mode === "math" ? 0 : 1; // column index for CSS class. + + if (0x1D400 <= codePoint && codePoint < 0x1D6A4) { + // wideLatinLetterData contains exactly 26 chars on each row. + // So we can calculate the relevant row. No traverse necessary. + var i = Math.floor((codePoint - 0x1D400) / 26); + return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]]; + } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) { + // Numerals, ten per row. + var _i = Math.floor((codePoint - 0x1D7CE) / 10); + + return [wideNumeralData[_i][2], wideNumeralData[_i][j]]; + } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) { + // dotless i or j + return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]]; + } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) { + // Greek letters. Not supported, yet. + return ["", ""]; + } else { + // We don't support any wide characters outside 1D400–1D7FF. + throw new src_ParseError("Unsupported character: " + wideChar); + } +}; +// CONCATENATED MODULE: ./src/Options.js +/** + * This file contains information about the options that the Parser carries + * around with it while parsing. Data is held in an `Options` object, and when + * recursing, a new `Options` object can be created with the `.with*` and + * `.reset` functions. + */ + +var sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize]. +// The size mappings are taken from TeX with \normalsize=10pt. +[1, 1, 1], // size1: [5, 5, 5] \tiny +[2, 1, 1], // size2: [6, 5, 5] +[3, 1, 1], // size3: [7, 5, 5] \scriptsize +[4, 2, 1], // size4: [8, 6, 5] \footnotesize +[5, 2, 1], // size5: [9, 6, 5] \small +[6, 3, 1], // size6: [10, 7, 5] \normalsize +[7, 4, 2], // size7: [12, 8, 6] \large +[8, 6, 3], // size8: [14.4, 10, 7] \Large +[9, 7, 6], // size9: [17.28, 12, 10] \LARGE +[10, 8, 7], // size10: [20.74, 14.4, 12] \huge +[11, 10, 9]]; +var sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if +// you change size indexes, change that function. +0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488]; + +var sizeAtStyle = function sizeAtStyle(size, style) { + return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1]; +}; // In these types, "" (empty string) means "no change". + + +/** + * This is the main options class. It contains the current style, size, color, + * and font. + * + * Options objects should not be modified. To create a new Options with + * different properties, call a `.having*` method. + */ +var Options_Options = +/*#__PURE__*/ +function () { + // A font family applies to a group of fonts (i.e. SansSerif), while a font + // represents a specific font (i.e. SansSerif Bold). + // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm + + /** + * The base size index. + */ + function Options(data) { + this.style = void 0; + this.color = void 0; + this.size = void 0; + this.textSize = void 0; + this.phantom = void 0; + this.font = void 0; + this.fontFamily = void 0; + this.fontWeight = void 0; + this.fontShape = void 0; + this.sizeMultiplier = void 0; + this.maxSize = void 0; + this.minRuleThickness = void 0; + this._fontMetrics = void 0; + this.style = data.style; + this.color = data.color; + this.size = data.size || Options.BASESIZE; + this.textSize = data.textSize || this.size; + this.phantom = !!data.phantom; + this.font = data.font || ""; + this.fontFamily = data.fontFamily || ""; + this.fontWeight = data.fontWeight || ''; + this.fontShape = data.fontShape || ''; + this.sizeMultiplier = sizeMultipliers[this.size - 1]; + this.maxSize = data.maxSize; + this.minRuleThickness = data.minRuleThickness; + this._fontMetrics = undefined; + } + /** + * Returns a new options object with the same properties as "this". Properties + * from "extension" will be copied to the new options object. + */ + + + var _proto = Options.prototype; + + _proto.extend = function extend(extension) { + var data = { + style: this.style, + size: this.size, + textSize: this.textSize, + color: this.color, + phantom: this.phantom, + font: this.font, + fontFamily: this.fontFamily, + fontWeight: this.fontWeight, + fontShape: this.fontShape, + maxSize: this.maxSize, + minRuleThickness: this.minRuleThickness + }; + + for (var key in extension) { + if (extension.hasOwnProperty(key)) { + data[key] = extension[key]; + } + } + + return new Options(data); + } + /** + * Return an options object with the given style. If `this.style === style`, + * returns `this`. + */ + ; + + _proto.havingStyle = function havingStyle(style) { + if (this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: sizeAtStyle(this.textSize, style) + }); + } + } + /** + * Return an options object with a cramped version of the current style. If + * the current style is cramped, returns `this`. + */ + ; + + _proto.havingCrampedStyle = function havingCrampedStyle() { + return this.havingStyle(this.style.cramp()); + } + /** + * Return an options object with the given size and in at least `\textstyle`. + * Returns `this` if appropriate. + */ + ; + + _proto.havingSize = function havingSize(size) { + if (this.size === size && this.textSize === size) { + return this; + } else { + return this.extend({ + style: this.style.text(), + size: size, + textSize: size, + sizeMultiplier: sizeMultipliers[size - 1] + }); + } + } + /** + * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted, + * changes to at least `\textstyle`. + */ + ; + + _proto.havingBaseStyle = function havingBaseStyle(style) { + style = style || this.style.text(); + var wantSize = sizeAtStyle(Options.BASESIZE, style); + + if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: wantSize + }); + } + } + /** + * Remove the effect of sizing changes such as \Huge. + * Keep the effect of the current style, such as \scriptstyle. + */ + ; + + _proto.havingBaseSizing = function havingBaseSizing() { + var size; + + switch (this.style.id) { + case 4: + case 5: + size = 3; // normalsize in scriptstyle + + break; + + case 6: + case 7: + size = 1; // normalsize in scriptscriptstyle + + break; + + default: + size = 6; + // normalsize in textstyle or displaystyle + } + + return this.extend({ + style: this.style.text(), + size: size + }); + } + /** + * Create a new options object with the given color. + */ + ; + + _proto.withColor = function withColor(color) { + return this.extend({ + color: color + }); + } + /** + * Create a new options object with "phantom" set to true. + */ + ; + + _proto.withPhantom = function withPhantom() { + return this.extend({ + phantom: true + }); + } + /** + * Creates a new options object with the given math font or old text font. + * @type {[type]} + */ + ; + + _proto.withFont = function withFont(font) { + return this.extend({ + font: font + }); + } + /** + * Create a new options objects with the given fontFamily. + */ + ; + + _proto.withTextFontFamily = function withTextFontFamily(fontFamily) { + return this.extend({ + fontFamily: fontFamily, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + ; + + _proto.withTextFontWeight = function withTextFontWeight(fontWeight) { + return this.extend({ + fontWeight: fontWeight, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + ; + + _proto.withTextFontShape = function withTextFontShape(fontShape) { + return this.extend({ + fontShape: fontShape, + font: "" + }); + } + /** + * Return the CSS sizing classes required to switch from enclosing options + * `oldOptions` to `this`. Returns an array of classes. + */ + ; + + _proto.sizingClasses = function sizingClasses(oldOptions) { + if (oldOptions.size !== this.size) { + return ["sizing", "reset-size" + oldOptions.size, "size" + this.size]; + } else { + return []; + } + } + /** + * Return the CSS sizing classes required to switch to the base size. Like + * `this.havingSize(BASESIZE).sizingClasses(this)`. + */ + ; + + _proto.baseSizingClasses = function baseSizingClasses() { + if (this.size !== Options.BASESIZE) { + return ["sizing", "reset-size" + this.size, "size" + Options.BASESIZE]; + } else { + return []; + } + } + /** + * Return the font metrics for this size. + */ + ; + + _proto.fontMetrics = function fontMetrics() { + if (!this._fontMetrics) { + this._fontMetrics = getGlobalMetrics(this.size); + } + + return this._fontMetrics; + } + /** + * Gets the CSS color of the current options object + */ + ; + + _proto.getColor = function getColor() { + if (this.phantom) { + return "transparent"; + } else { + return this.color; + } + }; + + return Options; +}(); + +Options_Options.BASESIZE = 6; +/* harmony default export */ var src_Options = (Options_Options); +// CONCATENATED MODULE: ./src/units.js +/** + * This file does conversion between units. In particular, it provides + * calculateSize to convert other units into ems. + */ + + // This table gives the number of TeX pts in one of each *absolute* TeX unit. +// Thus, multiplying a length by this number converts the length from units +// into pts. Dividing the result by ptPerEm gives the number of ems +// *assuming* a font size of ptPerEm (normal size, normal style). + +var ptPerUnit = { + // https://en.wikibooks.org/wiki/LaTeX/Lengths and + // https://tex.stackexchange.com/a/8263 + "pt": 1, + // TeX point + "mm": 7227 / 2540, + // millimeter + "cm": 7227 / 254, + // centimeter + "in": 72.27, + // inch + "bp": 803 / 800, + // big (PostScript) points + "pc": 12, + // pica + "dd": 1238 / 1157, + // didot + "cc": 14856 / 1157, + // cicero (12 didot) + "nd": 685 / 642, + // new didot + "nc": 1370 / 107, + // new cicero (12 new didot) + "sp": 1 / 65536, + // scaled point (TeX's internal smallest unit) + // https://tex.stackexchange.com/a/41371 + "px": 803 / 800 // \pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX + +}; // Dictionary of relative units, for fast validity testing. + +var relativeUnit = { + "ex": true, + "em": true, + "mu": true +}; + +/** + * Determine whether the specified unit (either a string defining the unit + * or a "size" parse node containing a unit field) is valid. + */ +var validUnit = function validUnit(unit) { + if (typeof unit !== "string") { + unit = unit.unit; + } + + return unit in ptPerUnit || unit in relativeUnit || unit === "ex"; +}; +/* + * Convert a "size" parse node (with numeric "number" and string "unit" fields, + * as parsed by functions.js argType "size") into a CSS em value for the + * current style/scale. `options` gives the current options. + */ + +var units_calculateSize = function calculateSize(sizeValue, options) { + var scale; + + if (sizeValue.unit in ptPerUnit) { + // Absolute units + scale = ptPerUnit[sizeValue.unit] // Convert unit to pt + / options.fontMetrics().ptPerEm // Convert pt to CSS em + / options.sizeMultiplier; // Unscale to make absolute units + } else if (sizeValue.unit === "mu") { + // `mu` units scale with scriptstyle/scriptscriptstyle. + scale = options.fontMetrics().cssEmPerMu; + } else { + // Other relative units always refer to the *textstyle* font + // in the current size. + var unitOptions; + + if (options.style.isTight()) { + // isTight() means current style is script/scriptscript. + unitOptions = options.havingStyle(options.style.text()); + } else { + unitOptions = options; + } // TODO: In TeX these units are relative to the quad of the current + // *text* font, e.g. cmr10. KaTeX instead uses values from the + // comparably-sized *Computer Modern symbol* font. At 10pt, these + // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641; + // cmr5=1.361133, cmsy5=1.472241. Consider $\scriptsize a\kern1emb$. + // TeX \showlists shows a kern of 1.13889 * fontsize; + // KaTeX shows a kern of 1.171 * fontsize. + + + if (sizeValue.unit === "ex") { + scale = unitOptions.fontMetrics().xHeight; + } else if (sizeValue.unit === "em") { + scale = unitOptions.fontMetrics().quad; + } else { + throw new src_ParseError("Invalid unit: '" + sizeValue.unit + "'"); + } + + if (unitOptions !== options) { + scale *= unitOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + return Math.min(sizeValue.number * scale, options.maxSize); +}; +// CONCATENATED MODULE: ./src/buildCommon.js +/* eslint no-console:0 */ + +/** + * This module contains general functions that can be used for building + * different kinds of domTree nodes in a consistent manner. + */ + + + + + + + +/** + * Looks up the given symbol in fontMetrics, after applying any symbol + * replacements defined in symbol.js + */ +var buildCommon_lookupSymbol = function lookupSymbol(value, // TODO(#963): Use a union type for this. +fontName, mode) { + // Replace the value with its replaced value from symbol.js + if (src_symbols[mode][value] && src_symbols[mode][value].replace) { + value = src_symbols[mode][value].replace; + } + + return { + value: value, + metrics: getCharacterMetrics(value, fontName, mode) + }; +}; +/** + * Makes a symbolNode after translation via the list of symbols in symbols.js. + * Correctly pulls out metrics for the character, and optionally takes a list of + * classes to be attached to the node. + * + * TODO: make argument order closer to makeSpan + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + * TODO(#953): Make `options` mandatory and always pass it in. + */ + + +var buildCommon_makeSymbol = function makeSymbol(value, fontName, mode, options, classes) { + var lookup = buildCommon_lookupSymbol(value, fontName, mode); + var metrics = lookup.metrics; + value = lookup.value; + var symbolNode; + + if (metrics) { + var italic = metrics.italic; + + if (mode === "text" || options && options.font === "mathit") { + italic = 0; + } + + symbolNode = new domTree_SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes); + } else { + // TODO(emily): Figure out a good way to only print this in development + typeof console !== "undefined" && console.warn("No character metrics " + ("for '" + value + "' in style '" + fontName + "' and mode '" + mode + "'")); + symbolNode = new domTree_SymbolNode(value, 0, 0, 0, 0, 0, classes); + } + + if (options) { + symbolNode.maxFontSize = options.sizeMultiplier; + + if (options.style.isTight()) { + symbolNode.classes.push("mtight"); + } + + var color = options.getColor(); + + if (color) { + symbolNode.style.color = color; + } + } + + return symbolNode; +}; +/** + * Makes a symbol in Main-Regular or AMS-Regular. + * Used for rel, bin, open, close, inner, and punct. + */ + + +var buildCommon_mathsym = function mathsym(value, mode, options, classes) { + if (classes === void 0) { + classes = []; + } + + // Decide what font to render the symbol in by its entry in the symbols + // table. + // Have a special case for when the value = \ because the \ is used as a + // textord in unsupported command errors but cannot be parsed as a regular + // text ordinal and is therefore not present as a symbol in the symbols + // table for text, as well as a special case for boldsymbol because it + // can be used for bold + and - + if (options.font === "boldsymbol" && buildCommon_lookupSymbol(value, "Main-Bold", mode).metrics) { + return buildCommon_makeSymbol(value, "Main-Bold", mode, options, classes.concat(["mathbf"])); + } else if (value === "\\" || src_symbols[mode][value].font === "main") { + return buildCommon_makeSymbol(value, "Main-Regular", mode, options, classes); + } else { + return buildCommon_makeSymbol(value, "AMS-Regular", mode, options, classes.concat(["amsrm"])); + } +}; +/** + * Determines which of the two font names (Main-Bold and Math-BoldItalic) and + * corresponding style tags (mathbf or boldsymbol) to use for font "boldsymbol", + * depending on the symbol. Use this function instead of fontMap for font + * "boldsymbol". + */ + + +var boldsymbol = function boldsymbol(value, mode, options, classes, type) { + if (type !== "textord" && buildCommon_lookupSymbol(value, "Math-BoldItalic", mode).metrics) { + return { + fontName: "Math-BoldItalic", + fontClass: "boldsymbol" + }; + } else { + // Some glyphs do not exist in Math-BoldItalic so we need to use + // Main-Bold instead. + return { + fontName: "Main-Bold", + fontClass: "mathbf" + }; + } +}; +/** + * Makes either a mathord or textord in the correct font and color. + */ + + +var buildCommon_makeOrd = function makeOrd(group, options, type) { + var mode = group.mode; + var text = group.text; + var classes = ["mord"]; // Math mode or Old font (i.e. \rm) + + var isFont = mode === "math" || mode === "text" && options.font; + var fontOrFamily = isFont ? options.font : options.fontFamily; + + if (text.charCodeAt(0) === 0xD835) { + // surrogate pairs get special treatment + var _wideCharacterFont = wide_character_wideCharacterFont(text, mode), + wideFontName = _wideCharacterFont[0], + wideFontClass = _wideCharacterFont[1]; + + return buildCommon_makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass)); + } else if (fontOrFamily) { + var fontName; + var fontClasses; + + if (fontOrFamily === "boldsymbol") { + var fontData = boldsymbol(text, mode, options, classes, type); + fontName = fontData.fontName; + fontClasses = [fontData.fontClass]; + } else if (isFont) { + fontName = fontMap[fontOrFamily].fontName; + fontClasses = [fontOrFamily]; + } else { + fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape); + fontClasses = [fontOrFamily, options.fontWeight, options.fontShape]; + } + + if (buildCommon_lookupSymbol(text, fontName, mode).metrics) { + return buildCommon_makeSymbol(text, fontName, mode, options, classes.concat(fontClasses)); + } else if (ligatures.hasOwnProperty(text) && fontName.substr(0, 10) === "Typewriter") { + // Deconstruct ligatures in monospace fonts (\texttt, \tt). + var parts = []; + + for (var i = 0; i < text.length; i++) { + parts.push(buildCommon_makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses))); + } + + return buildCommon_makeFragment(parts); + } + } // Makes a symbol in the default font for mathords and textords. + + + if (type === "mathord") { + return buildCommon_makeSymbol(text, "Math-Italic", mode, options, classes.concat(["mathnormal"])); + } else if (type === "textord") { + var font = src_symbols[mode][text] && src_symbols[mode][text].font; + + if (font === "ams") { + var _fontName = retrieveTextFontName("amsrm", options.fontWeight, options.fontShape); + + return buildCommon_makeSymbol(text, _fontName, mode, options, classes.concat("amsrm", options.fontWeight, options.fontShape)); + } else if (font === "main" || !font) { + var _fontName2 = retrieveTextFontName("textrm", options.fontWeight, options.fontShape); + + return buildCommon_makeSymbol(text, _fontName2, mode, options, classes.concat(options.fontWeight, options.fontShape)); + } else { + // fonts added by plugins + var _fontName3 = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class + + + return buildCommon_makeSymbol(text, _fontName3, mode, options, classes.concat(_fontName3, options.fontWeight, options.fontShape)); + } + } else { + throw new Error("unexpected type: " + type + " in makeOrd"); + } +}; +/** + * Returns true if subsequent symbolNodes have the same classes, skew, maxFont, + * and styles. + */ + + +var buildCommon_canCombine = function canCombine(prev, next) { + if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) { + return false; + } + + for (var style in prev.style) { + if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) { + return false; + } + } + + for (var _style in next.style) { + if (next.style.hasOwnProperty(_style) && prev.style[_style] !== next.style[_style]) { + return false; + } + } + + return true; +}; +/** + * Combine consequetive domTree.symbolNodes into a single symbolNode. + * Note: this function mutates the argument. + */ + + +var buildCommon_tryCombineChars = function tryCombineChars(chars) { + for (var i = 0; i < chars.length - 1; i++) { + var prev = chars[i]; + var next = chars[i + 1]; + + if (prev instanceof domTree_SymbolNode && next instanceof domTree_SymbolNode && buildCommon_canCombine(prev, next)) { + prev.text += next.text; + prev.height = Math.max(prev.height, next.height); + prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use + // it to add padding to the right of the span created from + // the combined characters. + + prev.italic = next.italic; + chars.splice(i + 1, 1); + i--; + } + } + + return chars; +}; +/** + * Calculate the height, depth, and maxFontSize of an element based on its + * children. + */ + + +var sizeElementFromChildren = function sizeElementFromChildren(elem) { + var height = 0; + var depth = 0; + var maxFontSize = 0; + + for (var i = 0; i < elem.children.length; i++) { + var child = elem.children[i]; + + if (child.height > height) { + height = child.height; + } + + if (child.depth > depth) { + depth = child.depth; + } + + if (child.maxFontSize > maxFontSize) { + maxFontSize = child.maxFontSize; + } + } + + elem.height = height; + elem.depth = depth; + elem.maxFontSize = maxFontSize; +}; +/** + * Makes a span with the given list of classes, list of children, and options. + * + * TODO(#953): Ensure that `options` is always provided (currently some call + * sites don't pass it) and make the type below mandatory. + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + */ + + +var buildCommon_makeSpan = function makeSpan(classes, children, options, style) { + var span = new domTree_Span(classes, children, options, style); + sizeElementFromChildren(span); + return span; +}; // SVG one is simpler -- doesn't require height, depth, max-font setting. +// This is also a separate method for typesafety. + + +var buildCommon_makeSvgSpan = function makeSvgSpan(classes, children, options, style) { + return new domTree_Span(classes, children, options, style); +}; + +var makeLineSpan = function makeLineSpan(className, options, thickness) { + var line = buildCommon_makeSpan([className], [], options); + line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness); + line.style.borderBottomWidth = line.height + "em"; + line.maxFontSize = 1.0; + return line; +}; +/** + * Makes an anchor with the given href, list of classes, list of children, + * and options. + */ + + +var buildCommon_makeAnchor = function makeAnchor(href, classes, children, options) { + var anchor = new domTree_Anchor(href, classes, children, options); + sizeElementFromChildren(anchor); + return anchor; +}; +/** + * Makes a document fragment with the given list of children. + */ + + +var buildCommon_makeFragment = function makeFragment(children) { + var fragment = new tree_DocumentFragment(children); + sizeElementFromChildren(fragment); + return fragment; +}; +/** + * Wraps group in a span if it's a document fragment, allowing to apply classes + * and styles + */ + + +var buildCommon_wrapFragment = function wrapFragment(group, options) { + if (group instanceof tree_DocumentFragment) { + return buildCommon_makeSpan([], [group], options); + } + + return group; +}; // These are exact object types to catch typos in the names of the optional fields. + + +// Computes the updated `children` list and the overall depth. +// +// This helper function for makeVList makes it easier to enforce type safety by +// allowing early exits (returns) in the logic. +var getVListChildrenAndDepth = function getVListChildrenAndDepth(params) { + if (params.positionType === "individualShift") { + var oldChildren = params.children; + var children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be + // shifted to the correct specified shift + + var _depth = -oldChildren[0].shift - oldChildren[0].elem.depth; + + var currPos = _depth; + + for (var i = 1; i < oldChildren.length; i++) { + var diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth; + var size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth); + currPos = currPos + diff; + children.push({ + type: "kern", + size: size + }); + children.push(oldChildren[i]); + } + + return { + children: children, + depth: _depth + }; + } + + var depth; + + if (params.positionType === "top") { + // We always start at the bottom, so calculate the bottom by adding up + // all the sizes + var bottom = params.positionData; + + for (var _i = 0; _i < params.children.length; _i++) { + var child = params.children[_i]; + bottom -= child.type === "kern" ? child.size : child.elem.height + child.elem.depth; + } + + depth = bottom; + } else if (params.positionType === "bottom") { + depth = -params.positionData; + } else { + var firstChild = params.children[0]; + + if (firstChild.type !== "elem") { + throw new Error('First child must have type "elem".'); + } + + if (params.positionType === "shift") { + depth = -firstChild.elem.depth - params.positionData; + } else if (params.positionType === "firstBaseline") { + depth = -firstChild.elem.depth; + } else { + throw new Error("Invalid positionType " + params.positionType + "."); + } + } + + return { + children: params.children, + depth: depth + }; +}; +/** + * Makes a vertical list by stacking elements and kerns on top of each other. + * Allows for many different ways of specifying the positioning method. + * + * See VListParam documentation above. + */ + + +var buildCommon_makeVList = function makeVList(params, options) { + var _getVListChildrenAndD = getVListChildrenAndDepth(params), + children = _getVListChildrenAndD.children, + depth = _getVListChildrenAndD.depth; // Create a strut that is taller than any list item. The strut is added to + // each item, where it will determine the item's baseline. Since it has + // `overflow:hidden`, the strut's top edge will sit on the item's line box's + // top edge and the strut's bottom edge will sit on the item's baseline, + // with no additional line-height spacing. This allows the item baseline to + // be positioned precisely without worrying about font ascent and + // line-height. + + + var pstrutSize = 0; + + for (var i = 0; i < children.length; i++) { + var child = children[i]; + + if (child.type === "elem") { + var elem = child.elem; + pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height); + } + } + + pstrutSize += 2; + var pstrut = buildCommon_makeSpan(["pstrut"], []); + pstrut.style.height = pstrutSize + "em"; // Create a new list of actual children at the correct offsets + + var realChildren = []; + var minPos = depth; + var maxPos = depth; + var currPos = depth; + + for (var _i2 = 0; _i2 < children.length; _i2++) { + var _child = children[_i2]; + + if (_child.type === "kern") { + currPos += _child.size; + } else { + var _elem = _child.elem; + var classes = _child.wrapperClasses || []; + var style = _child.wrapperStyle || {}; + var childWrap = buildCommon_makeSpan(classes, [pstrut, _elem], undefined, style); + childWrap.style.top = -pstrutSize - currPos - _elem.depth + "em"; + + if (_child.marginLeft) { + childWrap.style.marginLeft = _child.marginLeft; + } + + if (_child.marginRight) { + childWrap.style.marginRight = _child.marginRight; + } + + realChildren.push(childWrap); + currPos += _elem.height + _elem.depth; + } + + minPos = Math.min(minPos, currPos); + maxPos = Math.max(maxPos, currPos); + } // The vlist contents go in a table-cell with `vertical-align:bottom`. + // This cell's bottom edge will determine the containing table's baseline + // without overly expanding the containing line-box. + + + var vlist = buildCommon_makeSpan(["vlist"], realChildren); + vlist.style.height = maxPos + "em"; // A second row is used if necessary to represent the vlist's depth. + + var rows; + + if (minPos < 0) { + // We will define depth in an empty span with display: table-cell. + // It should render with the height that we define. But Chrome, in + // contenteditable mode only, treats that span as if it contains some + // text content. And that min-height over-rides our desired height. + // So we put another empty span inside the depth strut span. + var emptySpan = buildCommon_makeSpan([], []); + var depthStrut = buildCommon_makeSpan(["vlist"], [emptySpan]); + depthStrut.style.height = -minPos + "em"; // Safari wants the first row to have inline content; otherwise it + // puts the bottom of the *second* row on the baseline. + + var topStrut = buildCommon_makeSpan(["vlist-s"], [new domTree_SymbolNode("\u200B")]); + rows = [buildCommon_makeSpan(["vlist-r"], [vlist, topStrut]), buildCommon_makeSpan(["vlist-r"], [depthStrut])]; + } else { + rows = [buildCommon_makeSpan(["vlist-r"], [vlist])]; + } + + var vtable = buildCommon_makeSpan(["vlist-t"], rows); + + if (rows.length === 2) { + vtable.classes.push("vlist-t2"); + } + + vtable.height = maxPos; + vtable.depth = -minPos; + return vtable; +}; // Glue is a concept from TeX which is a flexible space between elements in +// either a vertical or horizontal list. In KaTeX, at least for now, it's +// static space between elements in a horizontal layout. + + +var buildCommon_makeGlue = function makeGlue(measurement, options) { + // Make an empty span for the space + var rule = buildCommon_makeSpan(["mspace"], [], options); + var size = units_calculateSize(measurement, options); + rule.style.marginRight = size + "em"; + return rule; +}; // Takes font options, and returns the appropriate fontLookup name + + +var retrieveTextFontName = function retrieveTextFontName(fontFamily, fontWeight, fontShape) { + var baseFontName = ""; + + switch (fontFamily) { + case "amsrm": + baseFontName = "AMS"; + break; + + case "textrm": + baseFontName = "Main"; + break; + + case "textsf": + baseFontName = "SansSerif"; + break; + + case "texttt": + baseFontName = "Typewriter"; + break; + + default: + baseFontName = fontFamily; + // use fonts added by a plugin + } + + var fontStylesName; + + if (fontWeight === "textbf" && fontShape === "textit") { + fontStylesName = "BoldItalic"; + } else if (fontWeight === "textbf") { + fontStylesName = "Bold"; + } else if (fontWeight === "textit") { + fontStylesName = "Italic"; + } else { + fontStylesName = "Regular"; + } + + return baseFontName + "-" + fontStylesName; +}; +/** + * Maps TeX font commands to objects containing: + * - variant: string used for "mathvariant" attribute in buildMathML.js + * - fontName: the "style" parameter to fontMetrics.getCharacterMetrics + */ +// A map between tex font commands an MathML mathvariant attribute values + + +var fontMap = { + // styles + "mathbf": { + variant: "bold", + fontName: "Main-Bold" + }, + "mathrm": { + variant: "normal", + fontName: "Main-Regular" + }, + "textit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathnormal": { + variant: "italic", + fontName: "Math-Italic" + }, + // "boldsymbol" is missing because they require the use of multiple fonts: + // Math-BoldItalic and Main-Bold. This is handled by a special case in + // makeOrd which ends up calling boldsymbol. + // families + "mathbb": { + variant: "double-struck", + fontName: "AMS-Regular" + }, + "mathcal": { + variant: "script", + fontName: "Caligraphic-Regular" + }, + "mathfrak": { + variant: "fraktur", + fontName: "Fraktur-Regular" + }, + "mathscr": { + variant: "script", + fontName: "Script-Regular" + }, + "mathsf": { + variant: "sans-serif", + fontName: "SansSerif-Regular" + }, + "mathtt": { + variant: "monospace", + fontName: "Typewriter-Regular" + } +}; +var svgData = { + // path, width, height + vec: ["vec", 0.471, 0.714], + // values from the font glyph + oiintSize1: ["oiintSize1", 0.957, 0.499], + // oval to overlay the integrand + oiintSize2: ["oiintSize2", 1.472, 0.659], + oiiintSize1: ["oiiintSize1", 1.304, 0.499], + oiiintSize2: ["oiiintSize2", 1.98, 0.659], + leftParenInner: ["leftParenInner", 0.875, 0.3], + rightParenInner: ["rightParenInner", 0.875, 0.3] +}; + +var buildCommon_staticSvg = function staticSvg(value, options) { + // Create a span with inline SVG for the element. + var _svgData$value = svgData[value], + pathName = _svgData$value[0], + width = _svgData$value[1], + height = _svgData$value[2]; + var path = new domTree_PathNode(pathName); + var svgNode = new SvgNode([path], { + "width": width + "em", + "height": height + "em", + // Override CSS rule `.katex svg { width: 100% }` + "style": "width:" + width + "em", + "viewBox": "0 0 " + 1000 * width + " " + 1000 * height, + "preserveAspectRatio": "xMinYMin" + }); + var span = buildCommon_makeSvgSpan(["overlay"], [svgNode], options); + span.height = height; + span.style.height = height + "em"; + span.style.width = width + "em"; + return span; +}; + +/* harmony default export */ var buildCommon = ({ + fontMap: fontMap, + makeSymbol: buildCommon_makeSymbol, + mathsym: buildCommon_mathsym, + makeSpan: buildCommon_makeSpan, + makeSvgSpan: buildCommon_makeSvgSpan, + makeLineSpan: makeLineSpan, + makeAnchor: buildCommon_makeAnchor, + makeFragment: buildCommon_makeFragment, + wrapFragment: buildCommon_wrapFragment, + makeVList: buildCommon_makeVList, + makeOrd: buildCommon_makeOrd, + makeGlue: buildCommon_makeGlue, + staticSvg: buildCommon_staticSvg, + svgData: svgData, + tryCombineChars: buildCommon_tryCombineChars +}); +// CONCATENATED MODULE: ./src/spacingData.js +/** + * Describes spaces between different classes of atoms. + */ +var thinspace = { + number: 3, + unit: "mu" +}; +var mediumspace = { + number: 4, + unit: "mu" +}; +var thickspace = { + number: 5, + unit: "mu" +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. + +// Spacing relationships for display and text styles +var spacings = { + mord: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + minner: thinspace + }, + mbin: { + mord: mediumspace, + mop: mediumspace, + mopen: mediumspace, + minner: mediumspace + }, + mrel: { + mord: thickspace, + mop: thickspace, + mopen: thickspace, + minner: thickspace + }, + mopen: {}, + mclose: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mpunct: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + mopen: thinspace, + mclose: thinspace, + mpunct: thinspace, + minner: thinspace + }, + minner: { + mord: thinspace, + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + mopen: thinspace, + mpunct: thinspace, + minner: thinspace + } +}; // Spacing relationships for script and scriptscript styles + +var tightSpacings = { + mord: { + mop: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace + }, + mbin: {}, + mrel: {}, + mopen: {}, + mclose: { + mop: thinspace + }, + mpunct: {}, + minner: { + mop: thinspace + } +}; +// CONCATENATED MODULE: ./src/defineFunction.js +/** Context provided to function handlers for error messages. */ +// Note: reverse the order of the return type union will cause a flow error. +// See https://github.com/facebook/flow/issues/3663. +// More general version of `HtmlBuilder` for nodes (e.g. \sum, accent types) +// whose presence impacts super/subscripting. In this case, ParseNode<"supsub"> +// delegates its HTML building to the HtmlBuilder corresponding to these nodes. + +/** + * Final function spec for use at parse time. + * This is almost identical to `FunctionPropSpec`, except it + * 1. includes the function handler, and + * 2. requires all arguments except argTypes. + * It is generated by `defineFunction()` below. + */ + +/** + * All registered functions. + * `functions.js` just exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary. + */ +var _functions = {}; +/** + * All HTML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +var _htmlGroupBuilders = {}; +/** + * All MathML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +var _mathmlGroupBuilders = {}; +function defineFunction(_ref) { + var type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of functions + var data = { + type: type, + numArgs: props.numArgs, + argTypes: props.argTypes, + greediness: props.greediness === undefined ? 1 : props.greediness, + allowedInText: !!props.allowedInText, + allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath, + numOptionalArgs: props.numOptionalArgs || 0, + infix: !!props.infix, + handler: handler + }; + + for (var i = 0; i < names.length; ++i) { + _functions[names[i]] = data; + } + + if (type) { + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } + } +} +/** + * Use this to register only the HTML and MathML builders for a function (e.g. + * if the function's ParseNode is generated in Parser.js rather than via a + * stand-alone handler provided to `defineFunction`). + */ + +function defineFunctionBuilders(_ref2) { + var type = _ref2.type, + htmlBuilder = _ref2.htmlBuilder, + mathmlBuilder = _ref2.mathmlBuilder; + defineFunction({ + type: type, + names: [], + props: { + numArgs: 0 + }, + handler: function handler() { + throw new Error('Should never be called.'); + }, + htmlBuilder: htmlBuilder, + mathmlBuilder: mathmlBuilder + }); +} // Since the corresponding buildHTML/buildMathML function expects a +// list of elements, we normalize for different kinds of arguments + +var ordargument = function ordargument(arg) { + return arg.type === "ordgroup" ? arg.body : [arg]; +}; +// CONCATENATED MODULE: ./src/buildHTML.js +/** + * This file does the main work of building a domTree structure from a parse + * tree. The entry point is the `buildHTML` function, which takes a parse tree. + * Then, the buildExpression, buildGroup, and various groupBuilders functions + * are called, to produce a final HTML tree. + */ + + + + + + + + +var buildHTML_makeSpan = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`) +// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6, +// and the text before Rule 19. + +var binLeftCanceller = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"]; +var binRightCanceller = ["rightmost", "mrel", "mclose", "mpunct"]; +var styleMap = { + "display": src_Style.DISPLAY, + "text": src_Style.TEXT, + "script": src_Style.SCRIPT, + "scriptscript": src_Style.SCRIPTSCRIPT +}; +var DomEnum = { + mord: "mord", + mop: "mop", + mbin: "mbin", + mrel: "mrel", + mopen: "mopen", + mclose: "mclose", + mpunct: "mpunct", + minner: "minner" +}; + +/** + * Take a list of nodes, build them in order, and return a list of the built + * nodes. documentFragments are flattened into their contents, so the + * returned list contains no fragments. `isRealGroup` is true if `expression` + * is a real group (no atoms will be added on either side), as opposed to + * a partial group (e.g. one created by \color). `surrounding` is an array + * consisting type of nodes that will be added to the left and right. + */ +var buildHTML_buildExpression = function buildExpression(expression, options, isRealGroup, surrounding) { + if (surrounding === void 0) { + surrounding = [null, null]; + } + + // Parse expressions into `groups`. + var groups = []; + + for (var i = 0; i < expression.length; i++) { + var output = buildHTML_buildGroup(expression[i], options); + + if (output instanceof tree_DocumentFragment) { + var children = output.children; + groups.push.apply(groups, children); + } else { + groups.push(output); + } + } // If `expression` is a partial group, let the parent handle spacings + // to avoid processing groups multiple times. + + + if (!isRealGroup) { + return groups; + } + + var glueOptions = options; + + if (expression.length === 1) { + var node = expression[0]; + + if (node.type === "sizing") { + glueOptions = options.havingSize(node.size); + } else if (node.type === "styling") { + glueOptions = options.havingStyle(styleMap[node.style]); + } + } // Dummy spans for determining spacings between surrounding atoms. + // If `expression` has no atoms on the left or right, class "leftmost" + // or "rightmost", respectively, is used to indicate it. + + + var dummyPrev = buildHTML_makeSpan([surrounding[0] || "leftmost"], [], options); + var dummyNext = buildHTML_makeSpan([surrounding[1] || "rightmost"], [], options); // TODO: These code assumes that a node's math class is the first element + // of its `classes` array. A later cleanup should ensure this, for + // instance by changing the signature of `makeSpan`. + // Before determining what spaces to insert, perform bin cancellation. + // Binary operators change to ordinary symbols in some contexts. + + var isRoot = isRealGroup === "root"; + traverseNonSpaceNodes(groups, function (node, prev) { + var prevType = prev.classes[0]; + var type = node.classes[0]; + + if (prevType === "mbin" && utils.contains(binRightCanceller, type)) { + prev.classes[0] = "mord"; + } else if (type === "mbin" && utils.contains(binLeftCanceller, prevType)) { + node.classes[0] = "mord"; + } + }, { + node: dummyPrev + }, dummyNext, isRoot); + traverseNonSpaceNodes(groups, function (node, prev) { + var prevType = getTypeOfDomTree(prev); + var type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style. + + var space = prevType && type ? node.hasClass("mtight") ? tightSpacings[prevType][type] : spacings[prevType][type] : null; + + if (space) { + // Insert glue (spacing) after the `prev`. + return buildCommon.makeGlue(space, glueOptions); + } + }, { + node: dummyPrev + }, dummyNext, isRoot); + return groups; +}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and +// previous node as arguments, optionally returning a node to insert after the +// previous node. `prev` is an object with the previous node and `insertAfter` +// function to insert after it. `next` is a node that will be added to the right. +// Used for bin cancellation and inserting spacings. + +var traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev, next, isRoot) { + if (next) { + // temporarily append the right node, if exists + nodes.push(next); + } + + var i = 0; + + for (; i < nodes.length; i++) { + var node = nodes[i]; + var partialGroup = buildHTML_checkPartialGroup(node); + + if (partialGroup) { + // Recursive DFS + // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array + traverseNonSpaceNodes(partialGroup.children, callback, prev, null, isRoot); + continue; + } // Ignore explicit spaces (e.g., \;, \,) when determining what implicit + // spacing should go between atoms of different classes + + + var nonspace = !node.hasClass("mspace"); + + if (nonspace) { + var result = callback(node, prev.node); + + if (result) { + if (prev.insertAfter) { + prev.insertAfter(result); + } else { + // insert at front + nodes.unshift(result); + i++; + } + } + } + + if (nonspace) { + prev.node = node; + } else if (isRoot && node.hasClass("newline")) { + prev.node = buildHTML_makeSpan(["leftmost"]); // treat like beginning of line + } + + prev.insertAfter = function (index) { + return function (n) { + nodes.splice(index + 1, 0, n); + i++; + }; + }(i); + } + + if (next) { + nodes.pop(); + } +}; // Check if given node is a partial group, i.e., does not affect spacing around. + + +var buildHTML_checkPartialGroup = function checkPartialGroup(node) { + if (node instanceof tree_DocumentFragment || node instanceof domTree_Anchor || node instanceof domTree_Span && node.hasClass("enclosing")) { + return node; + } + + return null; +}; // Return the outermost node of a domTree. + + +var getOutermostNode = function getOutermostNode(node, side) { + var partialGroup = buildHTML_checkPartialGroup(node); + + if (partialGroup) { + var children = partialGroup.children; + + if (children.length) { + if (side === "right") { + return getOutermostNode(children[children.length - 1], "right"); + } else if (side === "left") { + return getOutermostNode(children[0], "left"); + } + } + } + + return node; +}; // Return math atom class (mclass) of a domTree. +// If `side` is given, it will get the type of the outermost node at given side. + + +var getTypeOfDomTree = function getTypeOfDomTree(node, side) { + if (!node) { + return null; + } + + if (side) { + node = getOutermostNode(node, side); + } // This makes a lot of assumptions as to where the type of atom + // appears. We should do a better job of enforcing this. + + + return DomEnum[node.classes[0]] || null; +}; +var makeNullDelimiter = function makeNullDelimiter(options, classes) { + var moreClasses = ["nulldelimiter"].concat(options.baseSizingClasses()); + return buildHTML_makeSpan(classes.concat(moreClasses)); +}; +/** + * buildGroup is the function that takes a group and calls the correct groupType + * function for it. It also handles the interaction of size and style changes + * between parents and children. + */ + +var buildHTML_buildGroup = function buildGroup(group, options, baseOptions) { + if (!group) { + return buildHTML_makeSpan(); + } + + if (_htmlGroupBuilders[group.type]) { + // Call the groupBuilders function + var groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account + // for that size difference. + + if (baseOptions && options.size !== baseOptions.size) { + groupNode = buildHTML_makeSpan(options.sizingClasses(baseOptions), [groupNode], options); + var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; + groupNode.height *= multiplier; + groupNode.depth *= multiplier; + } + + return groupNode; + } else { + throw new src_ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`) + * into an unbreakable HTML node of class .base, with proper struts to + * guarantee correct vertical extent. `buildHTML` calls this repeatedly to + * make up the entire expression as a sequence of unbreakable units. + */ + +function buildHTMLUnbreakable(children, options) { + // Compute height and depth of this chunk. + var body = buildHTML_makeSpan(["base"], children, options); // Add strut, which ensures that the top of the HTML element falls at + // the height of the expression, and the bottom of the HTML element + // falls at the depth of the expression. + + var strut = buildHTML_makeSpan(["strut"]); + strut.style.height = body.height + body.depth + "em"; + strut.style.verticalAlign = -body.depth + "em"; + body.children.unshift(strut); + return body; +} +/** + * Take an entire parse tree, and build it into an appropriate set of HTML + * nodes. + */ + + +function buildHTML(tree, options) { + // Strip off outer tag wrapper for processing below. + var tag = null; + + if (tree.length === 1 && tree[0].type === "tag") { + tag = tree[0].tag; + tree = tree[0].body; + } // Build the expression contained in the tree + + + var expression = buildHTML_buildExpression(tree, options, "root"); + var children = []; // Create one base node for each chunk between potential line breaks. + // The TeXBook [p.173] says "A formula will be broken only after a + // relation symbol like $=$ or $<$ or $\rightarrow$, or after a binary + // operation symbol like $+$ or $-$ or $\times$, where the relation or + // binary operation is on the ``outer level'' of the formula (i.e., not + // enclosed in {...} and not part of an \over construction)." + + var parts = []; + + for (var i = 0; i < expression.length; i++) { + parts.push(expression[i]); + + if (expression[i].hasClass("mbin") || expression[i].hasClass("mrel") || expression[i].hasClass("allowbreak")) { + // Put any post-operator glue on same line as operator. + // Watch for \nobreak along the way, and stop at \newline. + var nobreak = false; + + while (i < expression.length - 1 && expression[i + 1].hasClass("mspace") && !expression[i + 1].hasClass("newline")) { + i++; + parts.push(expression[i]); + + if (expression[i].hasClass("nobreak")) { + nobreak = true; + } + } // Don't allow break if \nobreak among the post-operator glue. + + + if (!nobreak) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } + } else if (expression[i].hasClass("newline")) { + // Write the line except the newline + parts.pop(); + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } // Put the newline at the top level + + + children.push(expression[i]); + } + } + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + } // Now, if there was a tag, build it too and append it as a final child. + + + var tagChild; + + if (tag) { + tagChild = buildHTMLUnbreakable(buildHTML_buildExpression(tag, options, true)); + tagChild.classes = ["tag"]; + children.push(tagChild); + } + + var htmlNode = buildHTML_makeSpan(["katex-html"], children); + htmlNode.setAttribute("aria-hidden", "true"); // Adjust the strut of the tag to be the maximum height of all children + // (the height of the enclosing htmlNode) for proper vertical alignment. + + if (tagChild) { + var strut = tagChild.children[0]; + strut.style.height = htmlNode.height + htmlNode.depth + "em"; + strut.style.verticalAlign = -htmlNode.depth + "em"; + } + + return htmlNode; +} +// CONCATENATED MODULE: ./src/mathMLTree.js +/** + * These objects store data about MathML nodes. This is the MathML equivalent + * of the types in domTree.js. Since MathML handles its own rendering, and + * since we're mainly using MathML to improve accessibility, we don't manage + * any of the styling state that the plain DOM nodes do. + * + * The `toNode` and `toMarkup` functions work simlarly to how they do in + * domTree.js, creating namespaced DOM nodes and HTML text markup respectively. + */ + + +function newDocumentFragment(children) { + return new tree_DocumentFragment(children); +} +/** + * This node represents a general purpose MathML node of any type. The + * constructor requires the type of node to create (for example, `"mo"` or + * `"mspace"`, corresponding to `` and `` tags). + */ + +var mathMLTree_MathNode = +/*#__PURE__*/ +function () { + function MathNode(type, children) { + this.type = void 0; + this.attributes = void 0; + this.children = void 0; + this.type = type; + this.attributes = {}; + this.children = children || []; + } + /** + * Sets an attribute on a MathML node. MathML depends on attributes to convey a + * semantic content, so this is used heavily. + */ + + + var _proto = MathNode.prototype; + + _proto.setAttribute = function setAttribute(name, value) { + this.attributes[name] = value; + } + /** + * Gets an attribute on a MathML node. + */ + ; + + _proto.getAttribute = function getAttribute(name) { + return this.attributes[name]; + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + ; + + _proto.toNode = function toNode() { + var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type); + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + } + /** + * Converts the math node into an HTML markup string. + */ + ; + + _proto.toMarkup = function toMarkup() { + var markup = "<" + this.type; // Add the attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + markup += " " + attr + "=\""; + markup += utils.escape(this.attributes[attr]); + markup += "\""; + } + } + + markup += ">"; + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ""; + return markup; + } + /** + * Converts the math node into a string, similar to innerText, but escaped. + */ + ; + + _proto.toText = function toText() { + return this.children.map(function (child) { + return child.toText(); + }).join(""); + }; + + return MathNode; +}(); +/** + * This node represents a piece of text. + */ + +var mathMLTree_TextNode = +/*#__PURE__*/ +function () { + function TextNode(text) { + this.text = void 0; + this.text = text; + } + /** + * Converts the text node into a DOM text node. + */ + + + var _proto2 = TextNode.prototype; + + _proto2.toNode = function toNode() { + return document.createTextNode(this.text); + } + /** + * Converts the text node into escaped HTML markup + * (representing the text itself). + */ + ; + + _proto2.toMarkup = function toMarkup() { + return utils.escape(this.toText()); + } + /** + * Converts the text node into a string + * (representing the text iteself). + */ + ; + + _proto2.toText = function toText() { + return this.text; + }; + + return TextNode; +}(); +/** + * This node represents a space, but may render as or as text, + * depending on the width. + */ + +var SpaceNode = +/*#__PURE__*/ +function () { + /** + * Create a Space node with width given in CSS ems. + */ + function SpaceNode(width) { + this.width = void 0; + this.character = void 0; + this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html + // for a table of space-like characters. We use Unicode + // representations instead of &LongNames; as it's not clear how to + // make the latter via document.createTextNode. + + if (width >= 0.05555 && width <= 0.05556) { + this.character = "\u200A"; //   + } else if (width >= 0.1666 && width <= 0.1667) { + this.character = "\u2009"; //   + } else if (width >= 0.2222 && width <= 0.2223) { + this.character = "\u2005"; //   + } else if (width >= 0.2777 && width <= 0.2778) { + this.character = "\u2005\u200A"; //    + } else if (width >= -0.05556 && width <= -0.05555) { + this.character = "\u200A\u2063"; // ​ + } else if (width >= -0.1667 && width <= -0.1666) { + this.character = "\u2009\u2063"; // ​ + } else if (width >= -0.2223 && width <= -0.2222) { + this.character = "\u205F\u2063"; // ​ + } else if (width >= -0.2778 && width <= -0.2777) { + this.character = "\u2005\u2063"; // ​ + } else { + this.character = null; + } + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + + + var _proto3 = SpaceNode.prototype; + + _proto3.toNode = function toNode() { + if (this.character) { + return document.createTextNode(this.character); + } else { + var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace"); + node.setAttribute("width", this.width + "em"); + return node; + } + } + /** + * Converts the math node into an HTML markup string. + */ + ; + + _proto3.toMarkup = function toMarkup() { + if (this.character) { + return "" + this.character + ""; + } else { + return ""; + } + } + /** + * Converts the math node into a string, similar to innerText. + */ + ; + + _proto3.toText = function toText() { + if (this.character) { + return this.character; + } else { + return " "; + } + }; + + return SpaceNode; +}(); + +/* harmony default export */ var mathMLTree = ({ + MathNode: mathMLTree_MathNode, + TextNode: mathMLTree_TextNode, + SpaceNode: SpaceNode, + newDocumentFragment: newDocumentFragment +}); +// CONCATENATED MODULE: ./src/buildMathML.js +/** + * This file converts a parse tree into a cooresponding MathML tree. The main + * entry point is the `buildMathML` function, which takes a parse tree from the + * parser. + */ + + + + + + + + + +/** + * Takes a symbol and converts it into a MathML text node after performing + * optional replacement from symbols.js. + */ +var buildMathML_makeText = function makeText(text, mode, options) { + if (src_symbols[mode][text] && src_symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.substr(4, 2) === "tt" || options.font && options.font.substr(4, 2) === "tt"))) { + text = src_symbols[mode][text].replace; + } + + return new mathMLTree.TextNode(text); +}; +/** + * Wrap the given array of nodes in an node if needed, i.e., + * unless the array has length 1. Always returns a single node. + */ + +var buildMathML_makeRow = function makeRow(body) { + if (body.length === 1) { + return body[0]; + } else { + return new mathMLTree.MathNode("mrow", body); + } +}; +/** + * Returns the math variant as a string or null if none is required. + */ + +var buildMathML_getVariant = function getVariant(group, options) { + // Handle \text... font specifiers as best we can. + // MathML has a limited list of allowable mathvariant specifiers; see + // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt + if (options.fontFamily === "texttt") { + return "monospace"; + } else if (options.fontFamily === "textsf") { + if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "sans-serif-bold-italic"; + } else if (options.fontShape === "textit") { + return "sans-serif-italic"; + } else if (options.fontWeight === "textbf") { + return "bold-sans-serif"; + } else { + return "sans-serif"; + } + } else if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "bold-italic"; + } else if (options.fontShape === "textit") { + return "italic"; + } else if (options.fontWeight === "textbf") { + return "bold"; + } + + var font = options.font; + + if (!font || font === "mathnormal") { + return null; + } + + var mode = group.mode; + + if (font === "mathit") { + return "italic"; + } else if (font === "boldsymbol") { + return group.type === "textord" ? "bold" : "bold-italic"; + } else if (font === "mathbf") { + return "bold"; + } else if (font === "mathbb") { + return "double-struck"; + } else if (font === "mathfrak") { + return "fraktur"; + } else if (font === "mathscr" || font === "mathcal") { + // MathML makes no distinction between script and caligrahpic + return "script"; + } else if (font === "mathsf") { + return "sans-serif"; + } else if (font === "mathtt") { + return "monospace"; + } + + var text = group.text; + + if (utils.contains(["\\imath", "\\jmath"], text)) { + return null; + } + + if (src_symbols[mode][text] && src_symbols[mode][text].replace) { + text = src_symbols[mode][text].replace; + } + + var fontName = buildCommon.fontMap[font].fontName; + + if (getCharacterMetrics(text, fontName, mode)) { + return buildCommon.fontMap[font].variant; + } + + return null; +}; +/** + * Takes a list of nodes, builds them, and returns a list of the generated + * MathML nodes. Also combine consecutive outputs into a single + * tag. + */ + +var buildMathML_buildExpression = function buildExpression(expression, options, isOrdgroup) { + if (expression.length === 1) { + var group = buildMathML_buildGroup(expression[0], options); + + if (isOrdgroup && group instanceof mathMLTree_MathNode && group.type === "mo") { + // When TeX writers want to suppress spacing on an operator, + // they often put the operator by itself inside braces. + group.setAttribute("lspace", "0em"); + group.setAttribute("rspace", "0em"); + } + + return [group]; + } + + var groups = []; + var lastGroup; + + for (var i = 0; i < expression.length; i++) { + var _group = buildMathML_buildGroup(expression[i], options); + + if (_group instanceof mathMLTree_MathNode && lastGroup instanceof mathMLTree_MathNode) { + // Concatenate adjacent s + if (_group.type === 'mtext' && lastGroup.type === 'mtext' && _group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) { + var _lastGroup$children; + + (_lastGroup$children = lastGroup.children).push.apply(_lastGroup$children, _group.children); + + continue; // Concatenate adjacent s + } else if (_group.type === 'mn' && lastGroup.type === 'mn') { + var _lastGroup$children2; + + (_lastGroup$children2 = lastGroup.children).push.apply(_lastGroup$children2, _group.children); + + continue; // Concatenate ... followed by . + } else if (_group.type === 'mi' && _group.children.length === 1 && lastGroup.type === 'mn') { + var child = _group.children[0]; + + if (child instanceof mathMLTree_TextNode && child.text === '.') { + var _lastGroup$children3; + + (_lastGroup$children3 = lastGroup.children).push.apply(_lastGroup$children3, _group.children); + + continue; + } + } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) { + var lastChild = lastGroup.children[0]; + + if (lastChild instanceof mathMLTree_TextNode && lastChild.text === "\u0338" && (_group.type === 'mo' || _group.type === 'mi' || _group.type === 'mn')) { + var _child = _group.children[0]; + + if (_child instanceof mathMLTree_TextNode && _child.text.length > 0) { + // Overlay with combining character long solidus + _child.text = _child.text.slice(0, 1) + "\u0338" + _child.text.slice(1); + groups.pop(); + } + } + } + } + + groups.push(_group); + lastGroup = _group; + } + + return groups; +}; +/** + * Equivalent to buildExpression, but wraps the elements in an + * if there's more than one. Returns a single node instead of an array. + */ + +var buildExpressionRow = function buildExpressionRow(expression, options, isOrdgroup) { + return buildMathML_makeRow(buildMathML_buildExpression(expression, options, isOrdgroup)); +}; +/** + * Takes a group from the parser and calls the appropriate groupBuilders function + * on it to produce a MathML node. + */ + +var buildMathML_buildGroup = function buildGroup(group, options) { + if (!group) { + return new mathMLTree.MathNode("mrow"); + } + + if (_mathmlGroupBuilders[group.type]) { + // Call the groupBuilders function + var result = _mathmlGroupBuilders[group.type](group, options); + return result; + } else { + throw new src_ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Takes a full parse tree and settings and builds a MathML representation of + * it. In particular, we put the elements from building the parse tree into a + * tag so we can also include that TeX source as an annotation. + * + * Note that we actually return a domTree element with a `` inside it so + * we can do appropriate styling. + */ + +function buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly) { + var expression = buildMathML_buildExpression(tree, options); // Wrap up the expression in an mrow so it is presented in the semantics + // tag correctly, unless it's a single or . + + var wrapper; + + if (expression.length === 1 && expression[0] instanceof mathMLTree_MathNode && utils.contains(["mrow", "mtable"], expression[0].type)) { + wrapper = expression[0]; + } else { + wrapper = new mathMLTree.MathNode("mrow", expression); + } // Build a TeX annotation of the source + + + var annotation = new mathMLTree.MathNode("annotation", [new mathMLTree.TextNode(texExpression)]); + annotation.setAttribute("encoding", "application/x-tex"); + var semantics = new mathMLTree.MathNode("semantics", [wrapper, annotation]); + var math = new mathMLTree.MathNode("math", [semantics]); + math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"); + + if (isDisplayMode) { + math.setAttribute("display", "block"); + } // You can't style nodes, so we wrap the node in a span. + // NOTE: The span class is not typed to have nodes as children, and + // we don't want to make the children type more generic since the children + // of span are expected to have more fields in `buildHtml` contexts. + + + var wrapperClass = forMathmlOnly ? "katex" : "katex-mathml"; // $FlowFixMe + + return buildCommon.makeSpan([wrapperClass], [math]); +} +// CONCATENATED MODULE: ./src/buildTree.js + + + + + + + +var buildTree_optionsFromSettings = function optionsFromSettings(settings) { + return new src_Options({ + style: settings.displayMode ? src_Style.DISPLAY : src_Style.TEXT, + maxSize: settings.maxSize, + minRuleThickness: settings.minRuleThickness + }); +}; + +var buildTree_displayWrap = function displayWrap(node, settings) { + if (settings.displayMode) { + var classes = ["katex-display"]; + + if (settings.leqno) { + classes.push("leqno"); + } + + if (settings.fleqn) { + classes.push("fleqn"); + } + + node = buildCommon.makeSpan(classes, [node]); + } + + return node; +}; + +var buildTree_buildTree = function buildTree(tree, expression, settings) { + var options = buildTree_optionsFromSettings(settings); + var katexNode; + + if (settings.output === "mathml") { + return buildMathML(tree, expression, options, settings.displayMode, true); + } else if (settings.output === "html") { + var htmlNode = buildHTML(tree, options); + katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + } else { + var mathMLNode = buildMathML(tree, expression, options, settings.displayMode, false); + + var _htmlNode = buildHTML(tree, options); + + katexNode = buildCommon.makeSpan(["katex"], [mathMLNode, _htmlNode]); + } + + return buildTree_displayWrap(katexNode, settings); +}; +var buildTree_buildHTMLTree = function buildHTMLTree(tree, expression, settings) { + var options = buildTree_optionsFromSettings(settings); + var htmlNode = buildHTML(tree, options); + var katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + return buildTree_displayWrap(katexNode, settings); +}; +/* harmony default export */ var src_buildTree = (buildTree_buildTree); +// CONCATENATED MODULE: ./src/stretchy.js +/** + * This file provides support to buildMathML.js and buildHTML.js + * for stretchy wide elements rendered from SVG files + * and other CSS trickery. + */ + + + + +var stretchyCodePoint = { + widehat: "^", + widecheck: "ˇ", + widetilde: "~", + utilde: "~", + overleftarrow: "\u2190", + underleftarrow: "\u2190", + xleftarrow: "\u2190", + overrightarrow: "\u2192", + underrightarrow: "\u2192", + xrightarrow: "\u2192", + underbrace: "\u23DF", + overbrace: "\u23DE", + overgroup: "\u23E0", + undergroup: "\u23E1", + overleftrightarrow: "\u2194", + underleftrightarrow: "\u2194", + xleftrightarrow: "\u2194", + Overrightarrow: "\u21D2", + xRightarrow: "\u21D2", + overleftharpoon: "\u21BC", + xleftharpoonup: "\u21BC", + overrightharpoon: "\u21C0", + xrightharpoonup: "\u21C0", + xLeftarrow: "\u21D0", + xLeftrightarrow: "\u21D4", + xhookleftarrow: "\u21A9", + xhookrightarrow: "\u21AA", + xmapsto: "\u21A6", + xrightharpoondown: "\u21C1", + xleftharpoondown: "\u21BD", + xrightleftharpoons: "\u21CC", + xleftrightharpoons: "\u21CB", + xtwoheadleftarrow: "\u219E", + xtwoheadrightarrow: "\u21A0", + xlongequal: "=", + xtofrom: "\u21C4", + xrightleftarrows: "\u21C4", + xrightequilibrium: "\u21CC", + // Not a perfect match. + xleftequilibrium: "\u21CB" // None better available. + +}; + +var stretchy_mathMLnode = function mathMLnode(label) { + var node = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(stretchyCodePoint[label.substr(1)])]); + node.setAttribute("stretchy", "true"); + return node; +}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts. +// Copyright (c) 2009-2010, Design Science, Inc. () +// Copyright (c) 2014-2017 Khan Academy () +// Licensed under the SIL Open Font License, Version 1.1. +// See \nhttp://scripts.sil.org/OFL +// Very Long SVGs +// Many of the KaTeX stretchy wide elements use a long SVG image and an +// overflow: hidden tactic to achieve a stretchy image while avoiding +// distortion of arrowheads or brace corners. +// The SVG typically contains a very long (400 em) arrow. +// The SVG is in a container span that has overflow: hidden, so the span +// acts like a window that exposes only part of the SVG. +// The SVG always has a longer, thinner aspect ratio than the container span. +// After the SVG fills 100% of the height of the container span, +// there is a long arrow shaft left over. That left-over shaft is not shown. +// Instead, it is sliced off because the span's CSS has overflow: hidden. +// Thus, the reader sees an arrow that matches the subject matter width +// without distortion. +// Some functions, such as \cancel, need to vary their aspect ratio. These +// functions do not get the overflow SVG treatment. +// Second Brush Stroke +// Low resolution monitors struggle to display images in fine detail. +// So browsers apply anti-aliasing. A long straight arrow shaft therefore +// will sometimes appear as if it has a blurred edge. +// To mitigate this, these SVG files contain a second "brush-stroke" on the +// arrow shafts. That is, a second long thin rectangular SVG path has been +// written directly on top of each arrow shaft. This reinforcement causes +// some of the screen pixels to display as black instead of the anti-aliased +// gray pixel that a single path would generate. So we get arrow shafts +// whose edges appear to be sharper. +// In the katexImagesData object just below, the dimensions all +// correspond to path geometry inside the relevant SVG. +// For example, \overrightarrow uses the same arrowhead as glyph U+2192 +// from the KaTeX Main font. The scaling factor is 1000. +// That is, inside the font, that arrowhead is 522 units tall, which +// corresponds to 0.522 em inside the document. + + +var katexImagesData = { + // path(s), minWidth, height, align + overrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + overleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + underrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + underleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"], + xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"], + Overrightarrow: [["doublerightarrow"], 0.888, 560, "xMaxYMin"], + xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"], + xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"], + overleftharpoon: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoonup: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoondown: [["leftharpoondown"], 0.888, 522, "xMinYMin"], + overrightharpoon: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoonup: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoondown: [["rightharpoondown"], 0.888, 522, "xMaxYMin"], + xlongequal: [["longequal"], 0.888, 334, "xMinYMin"], + xtwoheadleftarrow: [["twoheadleftarrow"], 0.888, 334, "xMinYMin"], + xtwoheadrightarrow: [["twoheadrightarrow"], 0.888, 334, "xMaxYMin"], + overleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548], + underbrace: [["leftbraceunder", "midbraceunder", "rightbraceunder"], 1.6, 548], + underleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522], + xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560], + xrightleftharpoons: [["leftharpoondownplus", "rightharpoonplus"], 1.75, 716], + xleftrightharpoons: [["leftharpoonplus", "rightharpoondownplus"], 1.75, 716], + xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522], + xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522], + overlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + underlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + overgroup: [["leftgroup", "rightgroup"], 0.888, 342], + undergroup: [["leftgroupunder", "rightgroupunder"], 0.888, 342], + xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522], + xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528], + // The next three arrows are from the mhchem package. + // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the + // document as \xrightarrow or \xrightleftharpoons. Those have + // min-length = 1.75em, so we set min-length on these next three to match. + xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901], + xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716], + xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716] +}; + +var groupLength = function groupLength(arg) { + if (arg.type === "ordgroup") { + return arg.body.length; + } else { + return 1; + } +}; + +var stretchy_svgSpan = function svgSpan(group, options) { + // Create a span with inline SVG for the element. + function buildSvgSpan_() { + var viewBoxWidth = 400000; // default + + var label = group.label.substr(1); + + if (utils.contains(["widehat", "widecheck", "widetilde", "utilde"], label)) { + // Each type in the `if` statement corresponds to one of the ParseNode + // types below. This narrowing is required to access `grp.base`. + var grp = group; // There are four SVG images available for each function. + // Choose a taller image when there are more characters. + + var numChars = groupLength(grp.base); + var viewBoxHeight; + var pathName; + + var _height; + + if (numChars > 5) { + if (label === "widehat" || label === "widecheck") { + viewBoxHeight = 420; + viewBoxWidth = 2364; + _height = 0.42; + pathName = label + "4"; + } else { + viewBoxHeight = 312; + viewBoxWidth = 2340; + _height = 0.34; + pathName = "tilde4"; + } + } else { + var imgIndex = [1, 1, 2, 2, 3, 3][numChars]; + + if (label === "widehat" || label === "widecheck") { + viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex]; + viewBoxHeight = [0, 239, 300, 360, 420][imgIndex]; + _height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex]; + pathName = label + imgIndex; + } else { + viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex]; + viewBoxHeight = [0, 260, 286, 306, 312][imgIndex]; + _height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex]; + pathName = "tilde" + imgIndex; + } + } + + var path = new domTree_PathNode(pathName); + var svgNode = new SvgNode([path], { + "width": "100%", + "height": _height + "em", + "viewBox": "0 0 " + viewBoxWidth + " " + viewBoxHeight, + "preserveAspectRatio": "none" + }); + return { + span: buildCommon.makeSvgSpan([], [svgNode], options), + minWidth: 0, + height: _height + }; + } else { + var spans = []; + var data = katexImagesData[label]; + var paths = data[0], + _minWidth = data[1], + _viewBoxHeight = data[2]; + + var _height2 = _viewBoxHeight / 1000; + + var numSvgChildren = paths.length; + var widthClasses; + var aligns; + + if (numSvgChildren === 1) { + // $FlowFixMe: All these cases must be of the 4-tuple type. + var align1 = data[3]; + widthClasses = ["hide-tail"]; + aligns = [align1]; + } else if (numSvgChildren === 2) { + widthClasses = ["halfarrow-left", "halfarrow-right"]; + aligns = ["xMinYMin", "xMaxYMin"]; + } else if (numSvgChildren === 3) { + widthClasses = ["brace-left", "brace-center", "brace-right"]; + aligns = ["xMinYMin", "xMidYMin", "xMaxYMin"]; + } else { + throw new Error("Correct katexImagesData or update code here to support\n " + numSvgChildren + " children."); + } + + for (var i = 0; i < numSvgChildren; i++) { + var _path = new domTree_PathNode(paths[i]); + + var _svgNode = new SvgNode([_path], { + "width": "400em", + "height": _height2 + "em", + "viewBox": "0 0 " + viewBoxWidth + " " + _viewBoxHeight, + "preserveAspectRatio": aligns[i] + " slice" + }); + + var _span = buildCommon.makeSvgSpan([widthClasses[i]], [_svgNode], options); + + if (numSvgChildren === 1) { + return { + span: _span, + minWidth: _minWidth, + height: _height2 + }; + } else { + _span.style.height = _height2 + "em"; + spans.push(_span); + } + } + + return { + span: buildCommon.makeSpan(["stretchy"], spans, options), + minWidth: _minWidth, + height: _height2 + }; + } + } // buildSvgSpan_() + + + var _buildSvgSpan_ = buildSvgSpan_(), + span = _buildSvgSpan_.span, + minWidth = _buildSvgSpan_.minWidth, + height = _buildSvgSpan_.height; // Note that we are returning span.depth = 0. + // Any adjustments relative to the baseline must be done in buildHTML. + + + span.height = height; + span.style.height = height + "em"; + + if (minWidth > 0) { + span.style.minWidth = minWidth + "em"; + } + + return span; +}; + +var stretchy_encloseSpan = function encloseSpan(inner, label, pad, options) { + // Return an image span for \cancel, \bcancel, \xcancel, or \fbox + var img; + var totalHeight = inner.height + inner.depth + 2 * pad; + + if (/fbox|color/.test(label)) { + img = buildCommon.makeSpan(["stretchy", label], [], options); + + if (label === "fbox") { + var color = options.color && options.getColor(); + + if (color) { + img.style.borderColor = color; + } + } + } else { + // \cancel, \bcancel, or \xcancel + // Since \cancel's SVG is inline and it omits the viewBox attribute, + // its stroke-width will not vary with span area. + var lines = []; + + if (/^[bx]cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "0", + "x2": "100%", + "y2": "100%", + "stroke-width": "0.046em" + })); + } + + if (/^x?cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "100%", + "x2": "100%", + "y2": "0", + "stroke-width": "0.046em" + })); + } + + var svgNode = new SvgNode(lines, { + "width": "100%", + "height": totalHeight + "em" + }); + img = buildCommon.makeSvgSpan([], [svgNode], options); + } + + img.height = totalHeight; + img.style.height = totalHeight + "em"; + return img; +}; + +/* harmony default export */ var stretchy = ({ + encloseSpan: stretchy_encloseSpan, + mathMLnode: stretchy_mathMLnode, + svgSpan: stretchy_svgSpan +}); +// CONCATENATED MODULE: ./src/parseNode.js + + +/** + * Asserts that the node is of the given type and returns it with stricter + * typing. Throws if the node's type does not match. + */ +function assertNodeType(node, type) { + if (!node || node.type !== type) { + throw new Error("Expected node of type " + type + ", but got " + (node ? "node of type " + node.type : String(node))); + } + + return node; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function assertSymbolNodeType(node) { + var typedNode = checkSymbolNodeType(node); + + if (!typedNode) { + throw new Error("Expected node of symbol group type, but got " + (node ? "node of type " + node.type : String(node))); + } + + return typedNode; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function checkSymbolNodeType(node) { + if (node && (node.type === "atom" || NON_ATOMS.hasOwnProperty(node.type))) { + // $FlowFixMe + return node; + } + + return null; +} +// CONCATENATED MODULE: ./src/functions/accent.js + + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "accent", but +var accent_htmlBuilder = function htmlBuilder(grp, options) { + // Accents are handled in the TeXbook pg. 443, rule 12. + var base; + var group; + var supSubGroup; + + if (grp && grp.type === "supsub") { + // If our base is a character box, and we have superscripts and + // subscripts, the supsub will defer to us. In particular, we want + // to attach the superscripts and subscripts to the inner body (so + // that the position of the superscripts and subscripts won't be + // affected by the height of the accent). We accomplish this by + // sticking the base of the accent into the base of the supsub, and + // rendering that, while keeping track of where the accent is. + // The real accent group is the base of the supsub group + group = assertNodeType(grp.base, "accent"); // The character box is the base of the accent group + + base = group.base; // Stick the character box into the base of the supsub group + + grp.base = base; // Rerender the supsub group with its new base, and store that + // result. + + supSubGroup = assertSpan(buildHTML_buildGroup(grp, options)); // reset original base + + grp.base = group; + } else { + group = assertNodeType(grp, "accent"); + base = group.base; + } // Build the base group + + + var body = buildHTML_buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character? + + var mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line "If the + // nucleus is not a single character, let s = 0; otherwise set s to the + // kern amount for the nucleus followed by the \skewchar of its font." + // Note that our skew metrics are just the kern between each character + // and the skewchar. + + var skew = 0; + + if (mustShift) { + // If the base is a character box, then we want the skew of the + // innermost character. To do that, we find the innermost character: + var baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it + + var baseGroup = buildHTML_buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol. + + skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we + // removed with getBaseElem might contain things like \color which + // we can't get rid of. + // TODO(emily): Find a better way to get the skew + } // calculate the amount of space between the body and the accent + + + var clearance = Math.min(body.height, options.fontMetrics().xHeight); // Build the accent + + var accentBody; + + if (!group.isStretchy) { + var accent; + var width; + + if (group.label === "\\vec") { + // Before version 0.9, \vec used the combining font glyph U+20D7. + // But browsers, especially Safari, are not consistent in how they + // render combining characters when not preceded by a character. + // So now we use an SVG. + // If Safari reforms, we should consider reverting to the glyph. + accent = buildCommon.staticSvg("vec", options); + width = buildCommon.svgData.vec[1]; + } else { + accent = buildCommon.makeOrd({ + mode: group.mode, + text: group.label + }, options, "textord"); + accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to + // shift the accent over to a place we don't want. + + accent.italic = 0; + width = accent.width; + } + + accentBody = buildCommon.makeSpan(["accent-body"], [accent]); // "Full" accents expand the width of the resulting symbol to be + // at least the width of the accent, and overlap directly onto the + // character without any vertical offset. + + var accentFull = group.label === "\\textcircled"; + + if (accentFull) { + accentBody.classes.push('accent-full'); + clearance = body.height; + } // Shift the accent over by the skew. + + + var left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }` + // so that the accent doesn't contribute to the bounding box. + // We need to shift the character by its width (effectively half + // its width) to compensate. + + if (!accentFull) { + left -= width / 2; + } + + accentBody.style.left = left + "em"; // \textcircled uses the \bigcirc glyph, so it needs some + // vertical adjustment to match LaTeX. + + if (group.label === "\\textcircled") { + accentBody.style.top = ".2em"; + } + + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: -clearance + }, { + type: "elem", + elem: accentBody + }] + }, options); + } else { + accentBody = stretchy.svgSpan(group, options); + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"], + wrapperStyle: skew > 0 ? { + width: "calc(100% - " + 2 * skew + "em)", + marginLeft: 2 * skew + "em" + } : undefined + }] + }, options); + } + + var accentWrap = buildCommon.makeSpan(["mord", "accent"], [accentBody], options); + + if (supSubGroup) { + // Here, we replace the "base" child of the supsub with our newly + // generated accent. + supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the + // accent, we manually recalculate height. + + supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not. + + supSubGroup.classes[0] = "mord"; + return supSubGroup; + } else { + return accentWrap; + } +}; + +var accent_mathmlBuilder = function mathmlBuilder(group, options) { + var accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode("mo", [buildMathML_makeText(group.label, group.mode)]); + var node = new mathMLTree.MathNode("mover", [buildMathML_buildGroup(group.base, options), accentNode]); + node.setAttribute("accent", "true"); + return node; +}; + +var NON_STRETCHY_ACCENT_REGEX = new RegExp(["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring"].map(function (accent) { + return "\\" + accent; +}).join("|")); // Accents + +defineFunction({ + type: "accent", + names: ["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring", "\\widecheck", "\\widehat", "\\widetilde", "\\overrightarrow", "\\overleftarrow", "\\Overrightarrow", "\\overleftrightarrow", "\\overgroup", "\\overlinesegment", "\\overleftharpoon", "\\overrightharpoon"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var base = args[0]; + var isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName); + var isShifty = !isStretchy || context.funcName === "\\widehat" || context.funcName === "\\widetilde" || context.funcName === "\\widecheck"; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: isStretchy, + isShifty: isShifty, + base: base + }; + }, + htmlBuilder: accent_htmlBuilder, + mathmlBuilder: accent_mathmlBuilder +}); // Text-mode accents + +defineFunction({ + type: "accent", + names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\r", "\\H", "\\v", "\\textcircled"], + props: { + numArgs: 1, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(context, args) { + var base = args[0]; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: false, + isShifty: true, + base: base + }; + }, + htmlBuilder: accent_htmlBuilder, + mathmlBuilder: accent_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/accentunder.js +// Horizontal overlap functions + + + + + + +defineFunction({ + type: "accentUnder", + names: ["\\underleftarrow", "\\underrightarrow", "\\underleftrightarrow", "\\undergroup", "\\underlinesegment", "\\utilde"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var base = args[0]; + return { + type: "accentUnder", + mode: parser.mode, + label: funcName, + base: base + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Treat under accents much like underlines. + var innerGroup = buildHTML_buildGroup(group.base, options); + var accentBody = stretchy.svgSpan(group, options); + var kern = group.label === "\\utilde" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns + + var vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: kern + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "accentunder"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var accentNode = stretchy.mathMLnode(group.label); + var node = new mathMLTree.MathNode("munder", [buildMathML_buildGroup(group.base, options), accentNode]); + node.setAttribute("accentunder", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/arrow.js + + + + + + + +// Helper function +var arrow_paddedNode = function paddedNode(group) { + var node = new mathMLTree.MathNode("mpadded", group ? [group] : []); + node.setAttribute("width", "+0.6em"); + node.setAttribute("lspace", "0.3em"); + return node; +}; // Stretchy arrows with an optional argument + + +defineFunction({ + type: "xArrow", + names: ["\\xleftarrow", "\\xrightarrow", "\\xLeftarrow", "\\xRightarrow", "\\xleftrightarrow", "\\xLeftrightarrow", "\\xhookleftarrow", "\\xhookrightarrow", "\\xmapsto", "\\xrightharpoondown", "\\xrightharpoonup", "\\xleftharpoondown", "\\xleftharpoonup", "\\xrightleftharpoons", "\\xleftrightharpoons", "\\xlongequal", "\\xtwoheadrightarrow", "\\xtwoheadleftarrow", "\\xtofrom", // The next 3 functions are here to support the mhchem extension. + // Direct use of these functions is discouraged and may break someday. + "\\xrightleftarrows", "\\xrightequilibrium", "\\xleftequilibrium"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "xArrow", + mode: parser.mode, + label: funcName, + body: args[0], + below: optArgs[0] + }; + }, + // Flow is unable to correctly infer the type of `group`, even though it's + // unamibiguously determined from the passed-in `type` above. + htmlBuilder: function htmlBuilder(group, options) { + var style = options.style; // Build the argument groups in the appropriate style. + // Ref: amsmath.dtx: \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}% + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + var newOptions = options.havingStyle(style.sup()); + var upperGroup = buildCommon.wrapFragment(buildHTML_buildGroup(group.body, newOptions, options), options); + upperGroup.classes.push("x-arrow-pad"); + var lowerGroup; + + if (group.below) { + // Build the lower group + newOptions = options.havingStyle(style.sub()); + lowerGroup = buildCommon.wrapFragment(buildHTML_buildGroup(group.below, newOptions, options), options); + lowerGroup.classes.push("x-arrow-pad"); + } + + var arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0. + // The point we want on the math axis is at 0.5 * arrowBody.height. + + var arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\if0#2\else\mkern#2mu\fi + + var upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu + + if (upperGroup.depth > 0.25 || group.label === "\\xleftequilibrium") { + upperShift -= upperGroup.depth; // shift up if depth encroaches + } // Generate the vlist + + + var vlist; + + if (lowerGroup) { + var lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111; + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }, { + type: "elem", + elem: lowerGroup, + shift: lowerShift + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }] + }, options); + } // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + return buildCommon.makeSpan(["mrel", "x-arrow"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var arrowNode = stretchy.mathMLnode(group.label); + var node; + + if (group.body) { + var upperNode = arrow_paddedNode(buildMathML_buildGroup(group.body, options)); + + if (group.below) { + var lowerNode = arrow_paddedNode(buildMathML_buildGroup(group.below, options)); + node = new mathMLTree.MathNode("munderover", [arrowNode, lowerNode, upperNode]); + } else { + node = new mathMLTree.MathNode("mover", [arrowNode, upperNode]); + } + } else if (group.below) { + var _lowerNode = arrow_paddedNode(buildMathML_buildGroup(group.below, options)); + + node = new mathMLTree.MathNode("munder", [arrowNode, _lowerNode]); + } else { + // This should never happen. + // Parser.js throws an error if there is no argument. + node = arrow_paddedNode(); + node = new mathMLTree.MathNode("mover", [arrowNode, node]); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/char.js + + + // \@char is an internal function that takes a grouped decimal argument like +// {123} and converts into symbol with code 123. It is used by the *macro* +// \char defined in macros.js. + +defineFunction({ + type: "textord", + names: ["\\@char"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var arg = assertNodeType(args[0], "ordgroup"); + var group = arg.body; + var number = ""; + + for (var i = 0; i < group.length; i++) { + var node = assertNodeType(group[i], "textord"); + number += node.text; + } + + var code = parseInt(number); + + if (isNaN(code)) { + throw new src_ParseError("\\@char has non-numeric argument " + number); + } + + return { + type: "textord", + mode: parser.mode, + text: String.fromCharCode(code) + }; + } +}); +// CONCATENATED MODULE: ./src/functions/color.js + + + + + + + +var color_htmlBuilder = function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options.withColor(group.color), false); // \color isn't supposed to affect the type of the elements it contains. + // To accomplish this, we wrap the results in a fragment, so the inner + // elements will be able to directly interact with their neighbors. For + // example, `\color{red}{2 +} 3` has the same spacing as `2 + 3` + + return buildCommon.makeFragment(elements); +}; + +var color_mathmlBuilder = function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(group.body, options.withColor(group.color)); + var node = new mathMLTree.MathNode("mstyle", inner); + node.setAttribute("mathcolor", group.color); + return node; +}; + +defineFunction({ + type: "color", + names: ["\\textcolor"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "original"] + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var color = assertNodeType(args[0], "color-token").color; + var body = args[1]; + return { + type: "color", + mode: parser.mode, + color: color, + body: ordargument(body) + }; + }, + htmlBuilder: color_htmlBuilder, + mathmlBuilder: color_mathmlBuilder +}); +defineFunction({ + type: "color", + names: ["\\color"], + props: { + numArgs: 1, + allowedInText: true, + greediness: 3, + argTypes: ["color"] + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser, + breakOnTokenText = _ref2.breakOnTokenText; + var color = assertNodeType(args[0], "color-token").color; // Set macro \current@color in current namespace to store the current + // color, mimicking the behavior of color.sty. + // This is currently used just to correctly color a \right + // that follows a \color command. + + parser.gullet.macros.set("\\current@color", color); // Parse out the implicit body that should be colored. + + var body = parser.parseExpression(true, breakOnTokenText); + return { + type: "color", + mode: parser.mode, + color: color, + body: body + }; + }, + htmlBuilder: color_htmlBuilder, + mathmlBuilder: color_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/cr.js +// Row breaks within tabular environments, and line breaks at top level + + + + + + // \\ is a macro mapping to either \cr or \newline. Because they have the +// same signature, we implement them as one megafunction, with newRow +// indicating whether we're in the \cr case, and newLine indicating whether +// to break the line in the \newline case. + +defineFunction({ + type: "cr", + names: ["\\cr", "\\newline"], + props: { + numArgs: 0, + numOptionalArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + var size = optArgs[0]; + var newRow = funcName === "\\cr"; + var newLine = false; + + if (!newRow) { + if (parser.settings.displayMode && parser.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\ or \\newline " + "does nothing in display mode")) { + newLine = false; + } else { + newLine = true; + } + } + + return { + type: "cr", + mode: parser.mode, + newLine: newLine, + newRow: newRow, + size: size && assertNodeType(size, "size").value + }; + }, + // The following builders are called only at the top level, + // not within tabular/array environments. + htmlBuilder: function htmlBuilder(group, options) { + if (group.newRow) { + throw new src_ParseError("\\cr valid only within a tabular/array environment"); + } + + var span = buildCommon.makeSpan(["mspace"], [], options); + + if (group.newLine) { + span.classes.push("newline"); + + if (group.size) { + span.style.marginTop = units_calculateSize(group.size, options) + "em"; + } + } + + return span; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mspace"); + + if (group.newLine) { + node.setAttribute("linebreak", "newline"); + + if (group.size) { + node.setAttribute("height", units_calculateSize(group.size, options) + "em"); + } + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/def.js + + + +var globalMap = { + "\\global": "\\global", + "\\long": "\\\\globallong", + "\\\\globallong": "\\\\globallong", + "\\def": "\\gdef", + "\\gdef": "\\gdef", + "\\edef": "\\xdef", + "\\xdef": "\\xdef", + "\\let": "\\\\globallet", + "\\futurelet": "\\\\globalfuture" +}; + +var def_checkControlSequence = function checkControlSequence(tok) { + var name = tok.text; + + if (/^(?:[\\{}$&#^_]|EOF)$/.test(name)) { + throw new src_ParseError("Expected a control sequence", tok); + } + + return name; +}; + +var getRHS = function getRHS(parser) { + var tok = parser.gullet.popToken(); + + if (tok.text === "=") { + // consume optional equals + tok = parser.gullet.popToken(); + + if (tok.text === " ") { + // consume one optional space + tok = parser.gullet.popToken(); + } + } + + return tok; +}; + +var letCommand = function letCommand(parser, name, tok, global) { + var macro = parser.gullet.macros.get(tok.text); + + if (macro == null) { + // don't expand it later even if a macro with the same name is defined + // e.g., \let\foo=\frac \def\frac{\relax} \frac12 + tok.noexpand = true; + macro = { + tokens: [tok], + numArgs: 0, + // reproduce the same behavior in expansion + unexpandable: !parser.gullet.isExpandable(tok.text) + }; + } + + parser.gullet.macros.set(name, macro, global); +}; // -> | +// -> |\global +// -> | +// -> \global|\long|\outer + + +defineFunction({ + type: "internal", + names: ["\\global", "\\long", "\\\\globallong"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref) { + var parser = _ref.parser, + funcName = _ref.funcName; + parser.consumeSpaces(); + var token = parser.fetch(); + + if (globalMap[token.text]) { + // KaTeX doesn't have \par, so ignore \long + if (funcName === "\\global" || funcName === "\\\\globallong") { + token.text = globalMap[token.text]; + } + + return assertNodeType(parser.parseFunction(), "internal"); + } + + throw new src_ParseError("Invalid token after macro prefix", token); + } +}); // Basic support for macro definitions: \def, \gdef, \edef, \xdef +// -> +// -> \def|\gdef|\edef|\xdef +// -> + +defineFunction({ + type: "internal", + names: ["\\def", "\\gdef", "\\edef", "\\xdef"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref2) { + var parser = _ref2.parser, + funcName = _ref2.funcName; + var arg = parser.gullet.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("\\gdef's first argument must be a macro name"); + } + + var name = arg[0].text; // Count argument specifiers, and check they are in the order #1 #2 ... + + var numArgs = 0; + arg = parser.gullet.consumeArgs(1)[0]; + + while (arg.length === 1 && arg[0].text === "#") { + arg = parser.gullet.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("Invalid argument number length \"" + arg.length + "\""); + } + + if (!/^[1-9]$/.test(arg[0].text)) { + throw new src_ParseError("Invalid argument number \"" + arg[0].text + "\""); + } + + numArgs++; + + if (parseInt(arg[0].text) !== numArgs) { + throw new src_ParseError("Argument number \"" + arg[0].text + "\" out of order"); + } + + arg = parser.gullet.consumeArgs(1)[0]; + } + + if (funcName === "\\edef" || funcName === "\\xdef") { + arg = parser.gullet.expandTokens(arg); + arg.reverse(); // to fit in with stack order + } // Final arg is the expansion of the macro + + + parser.gullet.macros.set(name, { + tokens: arg, + numArgs: numArgs + }, funcName === globalMap[funcName]); + return { + type: "internal", + mode: parser.mode + }; + } +}); // -> +// -> \futurelet +// | \let +// -> |= + +defineFunction({ + type: "internal", + names: ["\\let", "\\\\globallet"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref3) { + var parser = _ref3.parser, + funcName = _ref3.funcName; + var name = def_checkControlSequence(parser.gullet.popToken()); + parser.gullet.consumeSpaces(); + var tok = getRHS(parser); + letCommand(parser, name, tok, funcName === "\\\\globallet"); + return { + type: "internal", + mode: parser.mode + }; + } +}); // ref: https://www.tug.org/TUGboat/tb09-3/tb22bechtolsheim.pdf + +defineFunction({ + type: "internal", + names: ["\\futurelet", "\\\\globalfuture"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref4) { + var parser = _ref4.parser, + funcName = _ref4.funcName; + var name = def_checkControlSequence(parser.gullet.popToken()); + var middle = parser.gullet.popToken(); + var tok = parser.gullet.popToken(); + letCommand(parser, name, tok, funcName === "\\\\globalfuture"); + parser.gullet.pushToken(tok); + parser.gullet.pushToken(middle); + return { + type: "internal", + mode: parser.mode + }; + } +}); +// CONCATENATED MODULE: ./src/delimiter.js +/** + * This file deals with creating delimiters of various sizes. The TeXbook + * discusses these routines on page 441-442, in the "Another subroutine sets box + * x to a specified variable delimiter" paragraph. + * + * There are three main routines here. `makeSmallDelim` makes a delimiter in the + * normal font, but in either text, script, or scriptscript style. + * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1, + * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of + * smaller pieces that are stacked on top of one another. + * + * The functions take a parameter `center`, which determines if the delimiter + * should be centered around the axis. + * + * Then, there are three exposed functions. `sizedDelim` makes a delimiter in + * one of the given sizes. This is used for things like `\bigl`. + * `customSizedDelim` makes a delimiter with a given total height+depth. It is + * called in places like `\sqrt`. `leftRightDelim` makes an appropriate + * delimiter which surrounds an expression of a given height an depth. It is + * used in `\left` and `\right`. + */ + + + + + + + + + +/** + * Get the metrics for a given symbol and font, after transformation (i.e. + * after following replacement from symbols.js) + */ +var delimiter_getMetrics = function getMetrics(symbol, font, mode) { + var replace = src_symbols.math[symbol] && src_symbols.math[symbol].replace; + var metrics = getCharacterMetrics(replace || symbol, font, mode); + + if (!metrics) { + throw new Error("Unsupported symbol " + symbol + " and font size " + font + "."); + } + + return metrics; +}; +/** + * Puts a delimiter span in a given style, and adds appropriate height, depth, + * and maxFontSizes. + */ + + +var delimiter_styleWrap = function styleWrap(delim, toStyle, options, classes) { + var newOptions = options.havingBaseStyle(toStyle); + var span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options); + var delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier; + span.height *= delimSizeMultiplier; + span.depth *= delimSizeMultiplier; + span.maxFontSize = newOptions.sizeMultiplier; + return span; +}; + +var centerSpan = function centerSpan(span, options, style) { + var newOptions = options.havingBaseStyle(style); + var shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight; + span.classes.push("delimcenter"); + span.style.top = shift + "em"; + span.height -= shift; + span.depth += shift; +}; +/** + * Makes a small delimiter. This is a delimiter that comes in the Main-Regular + * font, but is restyled to either be in textstyle, scriptstyle, or + * scriptscriptstyle. + */ + + +var delimiter_makeSmallDelim = function makeSmallDelim(delim, style, center, options, mode, classes) { + var text = buildCommon.makeSymbol(delim, "Main-Regular", mode, options); + var span = delimiter_styleWrap(text, style, options, classes); + + if (center) { + centerSpan(span, options, style); + } + + return span; +}; +/** + * Builds a symbol in the given font size (note size is an integer) + */ + + +var delimiter_mathrmSize = function mathrmSize(value, size, mode, options) { + return buildCommon.makeSymbol(value, "Size" + size + "-Regular", mode, options); +}; +/** + * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2, + * Size3, or Size4 fonts. It is always rendered in textstyle. + */ + + +var delimiter_makeLargeDelim = function makeLargeDelim(delim, size, center, options, mode, classes) { + var inner = delimiter_mathrmSize(delim, size, mode, options); + var span = delimiter_styleWrap(buildCommon.makeSpan(["delimsizing", "size" + size], [inner], options), src_Style.TEXT, options, classes); + + if (center) { + centerSpan(span, options, src_Style.TEXT); + } + + return span; +}; +/** + * Make an inner span with the given offset and in the given font. This is used + * in `makeStackedDelim` to make the stacking pieces for the delimiter. + */ + + +var delimiter_makeInner = function makeInner(symbol, font, mode) { + var sizeClass; // Apply the correct CSS class to choose the right font. + + if (font === "Size1-Regular") { + sizeClass = "delim-size1"; + } else + /* if (font === "Size4-Regular") */ + { + sizeClass = "delim-size4"; + } + + var inner = buildCommon.makeSpan(["delimsizinginner", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element + // in the appropriate tag that VList uses. + + return { + type: "elem", + elem: inner + }; +}; // Helper for makeStackedDelim + + +var lap = { + type: "kern", + size: -0.005 +}; +/** + * Make a stacked delimiter out of a given delimiter, with the total height at + * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook. + */ + +var delimiter_makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, options, mode, classes) { + // There are four parts, the top, an optional middle, a repeated part, and a + // bottom. + var top; + var middle; + var repeat; + var bottom; + top = repeat = bottom = delim; + middle = null; // Also keep track of what font the delimiters are in + + var font = "Size1-Regular"; // We set the parts and font based on the symbol. Note that we use + // '\u23d0' instead of '|' and '\u2016' instead of '\\|' for the + // repeats of the arrows + + if (delim === "\\uparrow") { + repeat = bottom = "\u23D0"; + } else if (delim === "\\Uparrow") { + repeat = bottom = "\u2016"; + } else if (delim === "\\downarrow") { + top = repeat = "\u23D0"; + } else if (delim === "\\Downarrow") { + top = repeat = "\u2016"; + } else if (delim === "\\updownarrow") { + top = "\\uparrow"; + repeat = "\u23D0"; + bottom = "\\downarrow"; + } else if (delim === "\\Updownarrow") { + top = "\\Uparrow"; + repeat = "\u2016"; + bottom = "\\Downarrow"; + } else if (delim === "[" || delim === "\\lbrack") { + top = "\u23A1"; + repeat = "\u23A2"; + bottom = "\u23A3"; + font = "Size4-Regular"; + } else if (delim === "]" || delim === "\\rbrack") { + top = "\u23A4"; + repeat = "\u23A5"; + bottom = "\u23A6"; + font = "Size4-Regular"; + } else if (delim === "\\lfloor" || delim === "\u230A") { + repeat = top = "\u23A2"; + bottom = "\u23A3"; + font = "Size4-Regular"; + } else if (delim === "\\lceil" || delim === "\u2308") { + top = "\u23A1"; + repeat = bottom = "\u23A2"; + font = "Size4-Regular"; + } else if (delim === "\\rfloor" || delim === "\u230B") { + repeat = top = "\u23A5"; + bottom = "\u23A6"; + font = "Size4-Regular"; + } else if (delim === "\\rceil" || delim === "\u2309") { + top = "\u23A4"; + repeat = bottom = "\u23A5"; + font = "Size4-Regular"; + } else if (delim === "(" || delim === "\\lparen") { + top = "\u239B"; + repeat = "\u239C"; + bottom = "\u239D"; + font = "Size4-Regular"; + } else if (delim === ")" || delim === "\\rparen") { + top = "\u239E"; + repeat = "\u239F"; + bottom = "\u23A0"; + font = "Size4-Regular"; + } else if (delim === "\\{" || delim === "\\lbrace") { + top = "\u23A7"; + middle = "\u23A8"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\}" || delim === "\\rbrace") { + top = "\u23AB"; + middle = "\u23AC"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\lgroup" || delim === "\u27EE") { + top = "\u23A7"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\rgroup" || delim === "\u27EF") { + top = "\u23AB"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\lmoustache" || delim === "\u23B0") { + top = "\u23A7"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\rmoustache" || delim === "\u23B1") { + top = "\u23AB"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } // Get the metrics of the four sections + + + var topMetrics = delimiter_getMetrics(top, font, mode); + var topHeightTotal = topMetrics.height + topMetrics.depth; + var repeatMetrics = delimiter_getMetrics(repeat, font, mode); + var repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth; + var bottomMetrics = delimiter_getMetrics(bottom, font, mode); + var bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth; + var middleHeightTotal = 0; + var middleFactor = 1; + + if (middle !== null) { + var middleMetrics = delimiter_getMetrics(middle, font, mode); + middleHeightTotal = middleMetrics.height + middleMetrics.depth; + middleFactor = 2; // repeat symmetrically above and below middle + } // Calcuate the minimal height that the delimiter can have. + // It is at least the size of the top, bottom, and optional middle combined. + + + var minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need + + var repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols + + var realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note + // that in this context, "center" means that the delimiter should be + // centered around the axis in the current style, while normally it is + // centered around the axis in textstyle. + + var axisHeight = options.fontMetrics().axisHeight; + + if (center) { + axisHeight *= options.sizeMultiplier; + } // Calculate the depth + + + var depth = realHeightTotal / 2 - axisHeight; // This function differs from the TeX procedure in one way. + // We shift each repeat element downwards by 0.005em, to prevent a gap + // due to browser floating point rounding error. + // Then, at the last element-to element joint, we add one extra repeat + // element to cover the gap created by the shifts. + // Find the shift needed to align the upper end of the extra element at a point + // 0.005em above the lower end of the top element. + + var shiftOfExtraElement = (repeatCount + 1) * 0.005 - repeatHeightTotal; // Now, we start building the pieces that will go into the vlist + // Keep a list of the inner pieces + + var inners = []; // Add the bottom symbol + + inners.push(delimiter_makeInner(bottom, font, mode)); + + if (middle === null) { + // Add that many symbols + for (var i = 0; i < repeatCount; i++) { + inners.push(lap); // overlap + + inners.push(delimiter_makeInner(repeat, font, mode)); + } + } else { + // When there is a middle bit, we need the middle part and two repeated + // sections + for (var _i = 0; _i < repeatCount; _i++) { + inners.push(lap); + inners.push(delimiter_makeInner(repeat, font, mode)); + } // Insert one extra repeat element. + + + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(delimiter_makeInner(repeat, font, mode)); + inners.push(lap); // Now insert the middle of the brace. + + inners.push(delimiter_makeInner(middle, font, mode)); + + for (var _i2 = 0; _i2 < repeatCount; _i2++) { + inners.push(lap); + inners.push(delimiter_makeInner(repeat, font, mode)); + } + } // To cover the gap create by the overlaps, insert one more repeat element, + // at a position that juts 0.005 above the bottom of the top element. + + + if ((repeat === "\u239C" || repeat === "\u239F") && repeatCount === 0) { + // Parentheses need a short repeat element in order to avoid an overrun. + // We'll make a 0.3em tall element from a SVG. + var overlap = buildCommon.svgData.leftParenInner[2] / 2; + inners.push({ + type: "kern", + size: -overlap + }); + var pathName = repeat === "\u239C" ? "leftParenInner" : "rightParenInner"; + var innerSpan = buildCommon.staticSvg(pathName, options); + inners.push({ + type: "elem", + elem: innerSpan + }); + inners.push({ + type: "kern", + size: -overlap + }); + } else { + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(delimiter_makeInner(repeat, font, mode)); + inners.push(lap); + } // Add the top symbol + + + inners.push(delimiter_makeInner(top, font, mode)); // Finally, build the vlist + + var newOptions = options.havingBaseStyle(src_Style.TEXT); + var inner = buildCommon.makeVList({ + positionType: "bottom", + positionData: depth, + children: inners + }, newOptions); + return delimiter_styleWrap(buildCommon.makeSpan(["delimsizing", "mult"], [inner], newOptions), src_Style.TEXT, options, classes); +}; // All surds have 0.08em padding above the viniculum inside the SVG. +// That keeps browser span height rounding error from pinching the line. + + +var vbPad = 80; // padding above the surd, measured inside the viewBox. + +var emPad = 0.08; // padding, in ems, measured in the document. + +var delimiter_sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraViniculum, options) { + var path = sqrtPath(sqrtName, extraViniculum, viewBoxHeight); + var pathNode = new domTree_PathNode(sqrtName, path); + var svg = new SvgNode([pathNode], { + // Note: 1000:1 ratio of viewBox to document em width. + "width": "400em", + "height": height + "em", + "viewBox": "0 0 400000 " + viewBoxHeight, + "preserveAspectRatio": "xMinYMin slice" + }); + return buildCommon.makeSvgSpan(["hide-tail"], [svg], options); +}; +/** + * Make a sqrt image of the given height, + */ + + +var makeSqrtImage = function makeSqrtImage(height, options) { + // Define a newOptions that removes the effect of size changes such as \Huge. + // We don't pick different a height surd for \Huge. For it, we scale up. + var newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds. + + var delim = traverseSequence("\\surd", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions); + var sizeMultiplier = newOptions.sizeMultiplier; // default + // The standard sqrt SVGs each have a 0.04em thick viniculum. + // If Settings.minRuleThickness is larger than that, we add extraViniculum. + + var extraViniculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol. + + var span; + var spanHeight = 0; + var texHeight = 0; + var viewBoxHeight = 0; + var advanceWidth; // We create viewBoxes with 80 units of "padding" above each surd. + // Then browser rounding error on the parent span height will not + // encroach on the ink of the viniculum. But that padding is not + // included in the TeX-like `height` used for calculation of + // vertical alignment. So texHeight = span.height < span.style.height. + + if (delim.type === "small") { + // Get an SVG that is derived from glyph U+221A in font KaTeX-Main. + // 1000 unit normal glyph height. + viewBoxHeight = 1000 + 1000 * extraViniculum + vbPad; + + if (height < 1.0) { + sizeMultiplier = 1.0; // mimic a \textfont radical + } else if (height < 1.4) { + sizeMultiplier = 0.7; // mimic a \scriptfont radical + } + + spanHeight = (1.0 + extraViniculum + emPad) / sizeMultiplier; + texHeight = (1.00 + extraViniculum) / sizeMultiplier; + span = delimiter_sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.853em"; + advanceWidth = 0.833 / sizeMultiplier; // from the font. + } else if (delim.type === "large") { + // These SVGs come from fonts: KaTeX_Size1, _Size2, etc. + viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size]; + texHeight = (sizeToMaxHeight[delim.size] + extraViniculum) / sizeMultiplier; + spanHeight = (sizeToMaxHeight[delim.size] + extraViniculum + emPad) / sizeMultiplier; + span = delimiter_sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "1.02em"; + advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font. + } else { + // Tall sqrt. In TeX, this would be stacked using multiple glyphs. + // We'll use a single SVG to accomplish the same thing. + spanHeight = height + extraViniculum + emPad; + texHeight = height + extraViniculum; + viewBoxHeight = Math.floor(1000 * height + extraViniculum) + vbPad; + span = delimiter_sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.742em"; + advanceWidth = 1.056; + } + + span.height = texHeight; + span.style.height = spanHeight + "em"; + return { + span: span, + advanceWidth: advanceWidth, + // Calculate the actual line width. + // This actually should depend on the chosen font -- e.g. \boldmath + // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and + // have thicker rules. + ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraViniculum) * sizeMultiplier + }; +}; // There are three kinds of delimiters, delimiters that stack when they become +// too large + + +var stackLargeDelimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230A", "\u230B", "\\lceil", "\\rceil", "\u2308", "\u2309", "\\surd"]; // delimiters that always stack + +var stackAlwaysDelimiters = ["\\uparrow", "\\downarrow", "\\updownarrow", "\\Uparrow", "\\Downarrow", "\\Updownarrow", "|", "\\|", "\\vert", "\\Vert", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27EE", "\u27EF", "\\lmoustache", "\\rmoustache", "\u23B0", "\u23B1"]; // and delimiters that never stack + +var stackNeverDelimiters = ["<", ">", "\\langle", "\\rangle", "/", "\\backslash", "\\lt", "\\gt"]; // Metrics of the different sizes. Found by looking at TeX's output of +// $\bigl| // \Bigl| \biggl| \Biggl| \showlists$ +// Used to create stacked delimiters of appropriate sizes in makeSizedDelim. + +var sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0]; +/** + * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4. + */ + +var delimiter_makeSizedDelim = function makeSizedDelim(delim, size, options, mode, classes) { + // < and > turn into \langle and \rangle in delimiters + if (delim === "<" || delim === "\\lt" || delim === "\u27E8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27E9") { + delim = "\\rangle"; + } // Sized delimiters are never centered. + + + if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) { + return delimiter_makeLargeDelim(delim, size, false, options, mode, classes); + } else if (utils.contains(stackAlwaysDelimiters, delim)) { + return delimiter_makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes); + } else { + throw new src_ParseError("Illegal delimiter: '" + delim + "'"); + } +}; +/** + * There are three different sequences of delimiter sizes that the delimiters + * follow depending on the kind of delimiter. This is used when creating custom + * sized delimiters to decide whether to create a small, large, or stacked + * delimiter. + * + * In real TeX, these sequences aren't explicitly defined, but are instead + * defined inside the font metrics. Since there are only three sequences that + * are possible for the delimiters that TeX defines, it is easier to just encode + * them explicitly here. + */ + + +// Delimiters that never stack try small delimiters and large delimiters only +var stackNeverDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}]; // Delimiters that always stack try the small delimiters first, then stack + +var stackAlwaysDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "stack" +}]; // Delimiters that stack when large try the small and then large delimiters, and +// stack afterwards + +var stackLargeDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}, { + type: "stack" +}]; +/** + * Get the font used in a delimiter based on what kind of delimiter it is. + * TODO(#963) Use more specific font family return type once that is introduced. + */ + +var delimTypeToFont = function delimTypeToFont(type) { + if (type.type === "small") { + return "Main-Regular"; + } else if (type.type === "large") { + return "Size" + type.size + "-Regular"; + } else if (type.type === "stack") { + return "Size4-Regular"; + } else { + throw new Error("Add support for delim type '" + type.type + "' here."); + } +}; +/** + * Traverse a sequence of types of delimiters to decide what kind of delimiter + * should be used to create a delimiter of the given height+depth. + */ + + +var traverseSequence = function traverseSequence(delim, height, sequence, options) { + // Here, we choose the index we should start at in the sequences. In smaller + // sizes (which correspond to larger numbers in style.size) we start earlier + // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts + // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2 + var start = Math.min(2, 3 - options.style.size); + + for (var i = start; i < sequence.length; i++) { + if (sequence[i].type === "stack") { + // This is always the last delimiter, so we just break the loop now. + break; + } + + var metrics = delimiter_getMetrics(delim, delimTypeToFont(sequence[i]), "math"); + var heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we + // account for the style change size. + + if (sequence[i].type === "small") { + var newOptions = options.havingBaseStyle(sequence[i].style); + heightDepth *= newOptions.sizeMultiplier; + } // Check if the delimiter at this size works for the given height. + + + if (heightDepth > height) { + return sequence[i]; + } + } // If we reached the end of the sequence, return the last sequence element. + + + return sequence[sequence.length - 1]; +}; +/** + * Make a delimiter of a given height+depth, with optional centering. Here, we + * traverse the sequences, and create a delimiter that the sequence tells us to. + */ + + +var delimiter_makeCustomSizedDelim = function makeCustomSizedDelim(delim, height, center, options, mode, classes) { + if (delim === "<" || delim === "\\lt" || delim === "\u27E8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27E9") { + delim = "\\rangle"; + } // Decide what sequence to use + + + var sequence; + + if (utils.contains(stackNeverDelimiters, delim)) { + sequence = stackNeverDelimiterSequence; + } else if (utils.contains(stackLargeDelimiters, delim)) { + sequence = stackLargeDelimiterSequence; + } else { + sequence = stackAlwaysDelimiterSequence; + } // Look through the sequence + + + var delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs. + // Depending on the sequence element we decided on, call the + // appropriate function. + + if (delimType.type === "small") { + return delimiter_makeSmallDelim(delim, delimType.style, center, options, mode, classes); + } else if (delimType.type === "large") { + return delimiter_makeLargeDelim(delim, delimType.size, center, options, mode, classes); + } else + /* if (delimType.type === "stack") */ + { + return delimiter_makeStackedDelim(delim, height, center, options, mode, classes); + } +}; +/** + * Make a delimiter for use with `\left` and `\right`, given a height and depth + * of an expression that the delimiters surround. + */ + + +var makeLeftRightDelim = function makeLeftRightDelim(delim, height, depth, options, mode, classes) { + // We always center \left/\right delimiters, so the axis is always shifted + var axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right + + var delimiterFactor = 901; + var delimiterExtend = 5.0 / options.fontMetrics().ptPerEm; + var maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight); + var totalHeight = Math.max( // In real TeX, calculations are done using integral values which are + // 65536 per pt, or 655360 per em. So, the division here truncates in + // TeX but doesn't here, producing different results. If we wanted to + // exactly match TeX's calculation, we could do + // Math.floor(655360 * maxDistFromAxis / 500) * + // delimiterFactor / 655360 + // (To see the difference, compare + // x^{x^{\left(\rule{0.1em}{0.68em}\right)}} + // in TeX and KaTeX) + maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total + // height + + return delimiter_makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes); +}; + +/* harmony default export */ var delimiter = ({ + sqrtImage: makeSqrtImage, + sizedDelim: delimiter_makeSizedDelim, + customSizedDelim: delimiter_makeCustomSizedDelim, + leftRightDelim: makeLeftRightDelim +}); +// CONCATENATED MODULE: ./src/functions/delimsizing.js + + + + + + + + + +// Extra data needed for the delimiter handler down below +var delimiterSizes = { + "\\bigl": { + mclass: "mopen", + size: 1 + }, + "\\Bigl": { + mclass: "mopen", + size: 2 + }, + "\\biggl": { + mclass: "mopen", + size: 3 + }, + "\\Biggl": { + mclass: "mopen", + size: 4 + }, + "\\bigr": { + mclass: "mclose", + size: 1 + }, + "\\Bigr": { + mclass: "mclose", + size: 2 + }, + "\\biggr": { + mclass: "mclose", + size: 3 + }, + "\\Biggr": { + mclass: "mclose", + size: 4 + }, + "\\bigm": { + mclass: "mrel", + size: 1 + }, + "\\Bigm": { + mclass: "mrel", + size: 2 + }, + "\\biggm": { + mclass: "mrel", + size: 3 + }, + "\\Biggm": { + mclass: "mrel", + size: 4 + }, + "\\big": { + mclass: "mord", + size: 1 + }, + "\\Big": { + mclass: "mord", + size: 2 + }, + "\\bigg": { + mclass: "mord", + size: 3 + }, + "\\Bigg": { + mclass: "mord", + size: 4 + } +}; +var delimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230A", "\u230B", "\\lceil", "\\rceil", "\u2308", "\u2309", "<", ">", "\\langle", "\u27E8", "\\rangle", "\u27E9", "\\lt", "\\gt", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27EE", "\u27EF", "\\lmoustache", "\\rmoustache", "\u23B0", "\u23B1", "/", "\\backslash", "|", "\\vert", "\\|", "\\Vert", "\\uparrow", "\\Uparrow", "\\downarrow", "\\Downarrow", "\\updownarrow", "\\Updownarrow", "."]; + +// Delimiter functions +function checkDelimiter(delim, context) { + var symDelim = checkSymbolNodeType(delim); + + if (symDelim && utils.contains(delimiters, symDelim.text)) { + return symDelim; + } else if (symDelim) { + throw new src_ParseError("Invalid delimiter '" + symDelim.text + "' after '" + context.funcName + "'", delim); + } else { + throw new src_ParseError("Invalid delimiter type '" + delim.type + "'", delim); + } +} + +defineFunction({ + type: "delimsizing", + names: ["\\bigl", "\\Bigl", "\\biggl", "\\Biggl", "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", "\\big", "\\Big", "\\bigg", "\\Bigg"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + return { + type: "delimsizing", + mode: context.parser.mode, + size: delimiterSizes[context.funcName].size, + mclass: delimiterSizes[context.funcName].mclass, + delim: delim.text + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + if (group.delim === ".") { + // Empty delimiters still count as elements, even though they don't + // show anything. + return buildCommon.makeSpan([group.mclass]); + } // Use delimiter.sizedDelim to generate the delimiter. + + + return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]); + }, + mathmlBuilder: function mathmlBuilder(group) { + var children = []; + + if (group.delim !== ".") { + children.push(buildMathML_makeText(group.delim, group.mode)); + } + + var node = new mathMLTree.MathNode("mo", children); + + if (group.mclass === "mopen" || group.mclass === "mclose") { + // Only some of the delimsizing functions act as fences, and they + // return "mopen" or "mclose" mclass. + node.setAttribute("fence", "true"); + } else { + // Explicitly disable fencing if it's not a fence, to override the + // defaults. + node.setAttribute("fence", "false"); + } + + return node; + } +}); + +function assertParsed(group) { + if (!group.body) { + throw new Error("Bug: The leftright ParseNode wasn't fully parsed."); + } +} + +defineFunction({ + type: "leftright-right", + names: ["\\right"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // \left case below triggers parsing of \right in + // `const right = parser.parseFunction();` + // uses this return value. + var color = context.parser.gullet.macros.get("\\current@color"); + + if (color && typeof color !== "string") { + throw new src_ParseError("\\current@color set to non-string in \\right"); + } + + return { + type: "leftright-right", + mode: context.parser.mode, + delim: checkDelimiter(args[0], context).text, + color: color // undefined if not set via \color + + }; + } +}); +defineFunction({ + type: "leftright", + names: ["\\left"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + var parser = context.parser; // Parse out the implicit body + + ++parser.leftrightDepth; // parseExpression stops before '\\right' + + var body = parser.parseExpression(false); + --parser.leftrightDepth; // Check the next token + + parser.expect("\\right", false); + var right = assertNodeType(parser.parseFunction(), "leftright-right"); + return { + type: "leftright", + mode: parser.mode, + body: body, + left: delim.text, + right: right.delim, + rightColor: right.color + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + assertParsed(group); // Build the inner expression + + var inner = buildHTML_buildExpression(group.body, options, true, ["mopen", "mclose"]); + var innerHeight = 0; + var innerDepth = 0; + var hadMiddle = false; // Calculate its height and depth + + for (var i = 0; i < inner.length; i++) { + // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + if (inner[i].isMiddle) { + hadMiddle = true; + } else { + innerHeight = Math.max(inner[i].height, innerHeight); + innerDepth = Math.max(inner[i].depth, innerDepth); + } + } // The size of delimiters is the same, regardless of what style we are + // in. Thus, to correctly calculate the size of delimiter we need around + // a group, we scale down the inner size based on the size. + + + innerHeight *= options.sizeMultiplier; + innerDepth *= options.sizeMultiplier; + var leftDelim; + + if (group.left === ".") { + // Empty delimiters in \left and \right make null delimiter spaces. + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + // Otherwise, use leftRightDelim to generate the correct sized + // delimiter. + leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, ["mopen"]); + } // Add it to the beginning of the expression + + + inner.unshift(leftDelim); // Handle middle delimiters + + if (hadMiddle) { + for (var _i = 1; _i < inner.length; _i++) { + var middleDelim = inner[_i]; // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + + var isMiddle = middleDelim.isMiddle; + + if (isMiddle) { + // Apply the options that were active when \middle was called + inner[_i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []); + } + } + } + + var rightDelim; // Same for the right delimiter, but using color specified by \color + + if (group.right === ".") { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + var colorOptions = group.rightColor ? options.withColor(group.rightColor) : options; + rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, ["mclose"]); + } // Add it to the end of the expression. + + + inner.push(rightDelim); + return buildCommon.makeSpan(["minner"], inner, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + assertParsed(group); + var inner = buildMathML_buildExpression(group.body, options); + + if (group.left !== ".") { + var leftNode = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.left, group.mode)]); + leftNode.setAttribute("fence", "true"); + inner.unshift(leftNode); + } + + if (group.right !== ".") { + var rightNode = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.right, group.mode)]); + rightNode.setAttribute("fence", "true"); + + if (group.rightColor) { + rightNode.setAttribute("mathcolor", group.rightColor); + } + + inner.push(rightNode); + } + + return buildMathML_makeRow(inner); + } +}); +defineFunction({ + type: "middle", + names: ["\\middle"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + + if (!context.parser.leftrightDepth) { + throw new src_ParseError("\\middle without preceding \\left", delim); + } + + return { + type: "middle", + mode: context.parser.mode, + delim: delim.text + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var middleDelim; + + if (group.delim === ".") { + middleDelim = makeNullDelimiter(options, []); + } else { + middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []); + var isMiddle = { + delim: group.delim, + options: options + }; // Property `isMiddle` not defined on `span`. It is only used in + // this file above. + // TODO: Fix this violation of the `span` type and possibly rename + // things since `isMiddle` sounds like a boolean, but is a struct. + // $FlowFixMe + + middleDelim.isMiddle = isMiddle; + } + + return middleDelim; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // A Firefox \middle will strech a character vertically only if it + // is in the fence part of the operator dictionary at: + // https://www.w3.org/TR/MathML3/appendixc.html. + // So we need to avoid U+2223 and use plain "|" instead. + var textNode = group.delim === "\\vert" || group.delim === "|" ? buildMathML_makeText("|", "text") : buildMathML_makeText(group.delim, group.mode); + var middleNode = new mathMLTree.MathNode("mo", [textNode]); + middleNode.setAttribute("fence", "true"); // MathML gives 5/18em spacing to each element. + // \middle should get delimiter spacing instead. + + middleNode.setAttribute("lspace", "0.05em"); + middleNode.setAttribute("rspace", "0.05em"); + return middleNode; + } +}); +// CONCATENATED MODULE: ./src/functions/enclose.js + + + + + + + + + +var enclose_htmlBuilder = function htmlBuilder(group, options) { + // \cancel, \bcancel, \xcancel, \sout, \fbox, \colorbox, \fcolorbox + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + var inner = buildCommon.wrapFragment(buildHTML_buildGroup(group.body, options), options); + var label = group.label.substr(1); + var scale = options.sizeMultiplier; + var img; + var imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different + // depending on whether the subject is wider than it is tall, or vice versa. + // We don't know the width of a group, so as a proxy, we test if + // the subject is a single character. This captures most of the + // subjects that should get the "tall" treatment. + + var isSingleChar = utils.isCharacterBox(group.body); + + if (label === "sout") { + img = buildCommon.makeSpan(["stretchy", "sout"]); + img.height = options.fontMetrics().defaultRuleThickness / scale; + imgShift = -0.5 * options.fontMetrics().xHeight; + } else { + // Add horizontal padding + if (/cancel/.test(label)) { + if (!isSingleChar) { + inner.classes.push("cancel-pad"); + } + } else { + inner.classes.push("boxpad"); + } // Add vertical padding + + + var vertPad = 0; + var ruleThickness = 0; // ref: cancel package: \advance\totalheight2\p@ % "+2" + + if (/box/.test(label)) { + ruleThickness = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // User override. + ); + vertPad = options.fontMetrics().fboxsep + (label === "colorbox" ? 0 : ruleThickness); + } else { + vertPad = isSingleChar ? 0.2 : 0; + } + + img = stretchy.encloseSpan(inner, label, vertPad, options); + + if (/fbox|boxed|fcolorbox/.test(label)) { + img.style.borderStyle = "solid"; + img.style.borderWidth = ruleThickness + "em"; + } + + imgShift = inner.depth + vertPad; + + if (group.backgroundColor) { + img.style.backgroundColor = group.backgroundColor; + + if (group.borderColor) { + img.style.borderColor = group.borderColor; + } + } + } + + var vlist; + + if (group.backgroundColor) { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Put the color background behind inner; + { + type: "elem", + elem: img, + shift: imgShift + }, { + type: "elem", + elem: inner, + shift: 0 + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Write the \cancel stroke on top of inner. + { + type: "elem", + elem: inner, + shift: 0 + }, { + type: "elem", + elem: img, + shift: imgShift, + wrapperClasses: /cancel/.test(label) ? ["svg-align"] : [] + }] + }, options); + } + + if (/cancel/.test(label)) { + // The cancel package documentation says that cancel lines add their height + // to the expression, but tests show that isn't how it actually works. + vlist.height = inner.height; + vlist.depth = inner.depth; + } + + if (/cancel/.test(label) && !isSingleChar) { + // cancel does not create horiz space for its line extension. + return buildCommon.makeSpan(["mord", "cancel-lap"], [vlist], options); + } else { + return buildCommon.makeSpan(["mord"], [vlist], options); + } +}; + +var enclose_mathmlBuilder = function mathmlBuilder(group, options) { + var fboxsep = 0; + var node = new mathMLTree.MathNode(group.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [buildMathML_buildGroup(group.body, options)]); + + switch (group.label) { + case "\\cancel": + node.setAttribute("notation", "updiagonalstrike"); + break; + + case "\\bcancel": + node.setAttribute("notation", "downdiagonalstrike"); + break; + + case "\\sout": + node.setAttribute("notation", "horizontalstrike"); + break; + + case "\\fbox": + node.setAttribute("notation", "box"); + break; + + case "\\fcolorbox": + case "\\colorbox": + // doesn't have a good notation option. So use + // instead. Set some attributes that come included with . + fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm; + node.setAttribute("width", "+" + 2 * fboxsep + "pt"); + node.setAttribute("height", "+" + 2 * fboxsep + "pt"); + node.setAttribute("lspace", fboxsep + "pt"); // + + node.setAttribute("voffset", fboxsep + "pt"); + + if (group.label === "\\fcolorbox") { + var thk = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // user override + ); + node.setAttribute("style", "border: " + thk + "em solid " + String(group.borderColor)); + } + + break; + + case "\\xcancel": + node.setAttribute("notation", "updiagonalstrike downdiagonalstrike"); + break; + } + + if (group.backgroundColor) { + node.setAttribute("mathbackground", group.backgroundColor); + } + + return node; +}; + +defineFunction({ + type: "enclose", + names: ["\\colorbox"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "text"] + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + var color = assertNodeType(args[0], "color-token").color; + var body = args[1]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor: color, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +defineFunction({ + type: "enclose", + names: ["\\fcolorbox"], + props: { + numArgs: 3, + allowedInText: true, + greediness: 3, + argTypes: ["color", "color", "text"] + }, + handler: function handler(_ref2, args, optArgs) { + var parser = _ref2.parser, + funcName = _ref2.funcName; + var borderColor = assertNodeType(args[0], "color-token").color; + var backgroundColor = assertNodeType(args[1], "color-token").color; + var body = args[2]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor: backgroundColor, + borderColor: borderColor, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +defineFunction({ + type: "enclose", + names: ["\\fbox"], + props: { + numArgs: 1, + argTypes: ["hbox"], + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + return { + type: "enclose", + mode: parser.mode, + label: "\\fbox", + body: args[0] + }; + } +}); +defineFunction({ + type: "enclose", + names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout"], + props: { + numArgs: 1 + }, + handler: function handler(_ref4, args, optArgs) { + var parser = _ref4.parser, + funcName = _ref4.funcName; + var body = args[0]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/defineEnvironment.js + + +/** + * All registered environments. + * `environments.js` exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary via `environments.js`. + */ +var _environments = {}; +function defineEnvironment(_ref) { + var type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of environments. + var data = { + type: type, + numArgs: props.numArgs || 0, + greediness: 1, + allowedInText: false, + numOptionalArgs: 0, + handler: handler + }; + + for (var i = 0; i < names.length; ++i) { + // TODO: The value type of _environments should be a type union of all + // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is + // an existential type. + // $FlowFixMe + _environments[names[i]] = data; + } + + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } +} +// CONCATENATED MODULE: ./src/environments/array.js + + + + + + + + + + + + + +function getHLines(parser) { + // Return an array. The array length = number of hlines. + // Each element in the array tells if the line is dashed. + var hlineInfo = []; + parser.consumeSpaces(); + var nxt = parser.fetch().text; + + while (nxt === "\\hline" || nxt === "\\hdashline") { + parser.consume(); + hlineInfo.push(nxt === "\\hdashline"); + parser.consumeSpaces(); + nxt = parser.fetch().text; + } + + return hlineInfo; +} +/** + * Parse the body of the environment, with rows delimited by \\ and + * columns delimited by &, and create a nested list in row-major order + * with one group per cell. If given an optional argument style + * ("text", "display", etc.), then each cell is cast into that style. + */ + + +function parseArray(parser, _ref, style) { + var hskipBeforeAndAfter = _ref.hskipBeforeAndAfter, + addJot = _ref.addJot, + cols = _ref.cols, + arraystretch = _ref.arraystretch, + colSeparationType = _ref.colSeparationType; + // Parse body of array with \\ temporarily mapped to \cr + parser.gullet.beginGroup(); + parser.gullet.macros.set("\\\\", "\\cr"); // Get current arraystretch if it's not set by the environment + + if (!arraystretch) { + var stretch = parser.gullet.expandMacroAsText("\\arraystretch"); + + if (stretch == null) { + // Default \arraystretch from lttab.dtx + arraystretch = 1; + } else { + arraystretch = parseFloat(stretch); + + if (!arraystretch || arraystretch < 0) { + throw new src_ParseError("Invalid \\arraystretch: " + stretch); + } + } + } // Start group for first cell + + + parser.gullet.beginGroup(); + var row = []; + var body = [row]; + var rowGaps = []; + var hLinesBeforeRow = []; // Test for \hline at the top of the array. + + hLinesBeforeRow.push(getHLines(parser)); + + while (true) { + // eslint-disable-line no-constant-condition + // Parse each cell in its own group (namespace) + var cell = parser.parseExpression(false, "\\cr"); + parser.gullet.endGroup(); + parser.gullet.beginGroup(); + cell = { + type: "ordgroup", + mode: parser.mode, + body: cell + }; + + if (style) { + cell = { + type: "styling", + mode: parser.mode, + style: style, + body: [cell] + }; + } + + row.push(cell); + var next = parser.fetch().text; + + if (next === "&") { + parser.consume(); + } else if (next === "\\end") { + // Arrays terminate newlines with `\crcr` which consumes a `\cr` if + // the last line is empty. + // NOTE: Currently, `cell` is the last item added into `row`. + if (row.length === 1 && cell.type === "styling" && cell.body[0].body.length === 0) { + body.pop(); + } + + if (hLinesBeforeRow.length < body.length + 1) { + hLinesBeforeRow.push([]); + } + + break; + } else if (next === "\\cr") { + var cr = assertNodeType(parser.parseFunction(), "cr"); + rowGaps.push(cr.size); // check for \hline(s) following the row separator + + hLinesBeforeRow.push(getHLines(parser)); + row = []; + body.push(row); + } else { + throw new src_ParseError("Expected & or \\\\ or \\cr or \\end", parser.nextToken); + } + } // End cell group + + + parser.gullet.endGroup(); // End array group defining \\ + + parser.gullet.endGroup(); + return { + type: "array", + mode: parser.mode, + addJot: addJot, + arraystretch: arraystretch, + body: body, + cols: cols, + rowGaps: rowGaps, + hskipBeforeAndAfter: hskipBeforeAndAfter, + hLinesBeforeRow: hLinesBeforeRow, + colSeparationType: colSeparationType + }; +} // Decides on a style for cells in an array according to whether the given +// environment name starts with the letter 'd'. + + +function dCellStyle(envName) { + if (envName.substr(0, 1) === "d") { + return "display"; + } else { + return "text"; + } +} + +var array_htmlBuilder = function htmlBuilder(group, options) { + var r; + var c; + var nr = group.body.length; + var hLinesBeforeRow = group.hLinesBeforeRow; + var nc = 0; + var body = new Array(nr); + var hlines = []; + var ruleThickness = Math.max( // From LaTeX \showthe\arrayrulewidth. Equals 0.04 em. + options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override. + ); // Horizontal spacing + + var pt = 1 / options.fontMetrics().ptPerEm; + var arraycolsep = 5 * pt; // default value, i.e. \arraycolsep in article.cls + + if (group.colSeparationType && group.colSeparationType === "small") { + // We're in a {smallmatrix}. Default column space is \thickspace, + // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}. + // But that needs adjustment because LaTeX applies \scriptstyle to the + // entire array, including the colspace, but this function applies + // \scriptstyle only inside each element. + var localMultiplier = options.havingStyle(src_Style.SCRIPT).sizeMultiplier; + arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier); + } // Vertical spacing + + + var baselineskip = 12 * pt; // see size10.clo + // Default \jot from ltmath.dtx + // TODO(edemaine): allow overriding \jot via \setlength (#687) + + var jot = 3 * pt; + var arrayskip = group.arraystretch * baselineskip; + var arstrutHeight = 0.7 * arrayskip; // \strutbox in ltfsstrc.dtx and + + var arstrutDepth = 0.3 * arrayskip; // \@arstrutbox in lttab.dtx + + var totalHeight = 0; // Set a position for \hline(s) at the top of the array, if any. + + function setHLinePos(hlinesInGap) { + for (var i = 0; i < hlinesInGap.length; ++i) { + if (i > 0) { + totalHeight += 0.25; + } + + hlines.push({ + pos: totalHeight, + isDashed: hlinesInGap[i] + }); + } + } + + setHLinePos(hLinesBeforeRow[0]); + + for (r = 0; r < group.body.length; ++r) { + var inrow = group.body[r]; + var height = arstrutHeight; // \@array adds an \@arstrut + + var depth = arstrutDepth; // to each tow (via the template) + + if (nc < inrow.length) { + nc = inrow.length; + } + + var outrow = new Array(inrow.length); + + for (c = 0; c < inrow.length; ++c) { + var elt = buildHTML_buildGroup(inrow[c], options); + + if (depth < elt.depth) { + depth = elt.depth; + } + + if (height < elt.height) { + height = elt.height; + } + + outrow[c] = elt; + } + + var rowGap = group.rowGaps[r]; + var gap = 0; + + if (rowGap) { + gap = units_calculateSize(rowGap, options); + + if (gap > 0) { + // \@argarraycr + gap += arstrutDepth; + + if (depth < gap) { + depth = gap; // \@xargarraycr + } + + gap = 0; + } + } // In AMS multiline environments such as aligned and gathered, rows + // correspond to lines that have additional \jot added to the + // \baselineskip via \openup. + + + if (group.addJot) { + depth += jot; + } + + outrow.height = height; + outrow.depth = depth; + totalHeight += height; + outrow.pos = totalHeight; + totalHeight += depth + gap; // \@yargarraycr + + body[r] = outrow; // Set a position for \hline(s), if any. + + setHLinePos(hLinesBeforeRow[r + 1]); + } + + var offset = totalHeight / 2 + options.fontMetrics().axisHeight; + var colDescriptions = group.cols || []; + var cols = []; + var colSep; + var colDescrNum; + + for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column + // descriptions, so trailing separators don't get lost. + c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) { + var colDescr = colDescriptions[colDescrNum] || {}; + var firstSeparator = true; + + while (colDescr.type === "separator") { + // If there is more than one separator in a row, add a space + // between them. + if (!firstSeparator) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = options.fontMetrics().doubleRuleSep + "em"; + cols.push(colSep); + } + + if (colDescr.separator === "|" || colDescr.separator === ":") { + var lineType = colDescr.separator === "|" ? "solid" : "dashed"; + var separator = buildCommon.makeSpan(["vertical-separator"], [], options); + separator.style.height = totalHeight + "em"; + separator.style.borderRightWidth = ruleThickness + "em"; + separator.style.borderRightStyle = lineType; + separator.style.margin = "0 -" + ruleThickness / 2 + "em"; + separator.style.verticalAlign = -(totalHeight - offset) + "em"; + cols.push(separator); + } else { + throw new src_ParseError("Invalid separator type: " + colDescr.separator); + } + + colDescrNum++; + colDescr = colDescriptions[colDescrNum] || {}; + firstSeparator = false; + } + + if (c >= nc) { + continue; + } + + var sepwidth = void 0; + + if (c > 0 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.pregap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + + var col = []; + + for (r = 0; r < nr; ++r) { + var row = body[r]; + var elem = row[c]; + + if (!elem) { + continue; + } + + var shift = row.pos - offset; + elem.depth = row.depth; + elem.height = row.height; + col.push({ + type: "elem", + elem: elem, + shift: shift + }); + } + + col = buildCommon.makeVList({ + positionType: "individualShift", + children: col + }, options); + col = buildCommon.makeSpan(["col-align-" + (colDescr.align || "c")], [col]); + cols.push(col); + + if (c < nc - 1 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.postgap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + } + + body = buildCommon.makeSpan(["mtable"], cols); // Add \hline(s), if any. + + if (hlines.length > 0) { + var line = buildCommon.makeLineSpan("hline", options, ruleThickness); + var dashes = buildCommon.makeLineSpan("hdashline", options, ruleThickness); + var vListElems = [{ + type: "elem", + elem: body, + shift: 0 + }]; + + while (hlines.length > 0) { + var hline = hlines.pop(); + var lineShift = hline.pos - offset; + + if (hline.isDashed) { + vListElems.push({ + type: "elem", + elem: dashes, + shift: lineShift + }); + } else { + vListElems.push({ + type: "elem", + elem: line, + shift: lineShift + }); + } + } + + body = buildCommon.makeVList({ + positionType: "individualShift", + children: vListElems + }, options); + } + + return buildCommon.makeSpan(["mord"], [body], options); +}; + +var alignMap = { + c: "center ", + l: "left ", + r: "right " +}; + +var array_mathmlBuilder = function mathmlBuilder(group, options) { + var table = new mathMLTree.MathNode("mtable", group.body.map(function (row) { + return new mathMLTree.MathNode("mtr", row.map(function (cell) { + return new mathMLTree.MathNode("mtd", [buildMathML_buildGroup(cell, options)]); + })); + })); // Set column alignment, row spacing, column spacing, and + // array lines by setting attributes on the table element. + // Set the row spacing. In MathML, we specify a gap distance. + // We do not use rowGap[] because MathML automatically increases + // cell height with the height/depth of the element content. + // LaTeX \arraystretch multiplies the row baseline-to-baseline distance. + // We simulate this by adding (arraystretch - 1)em to the gap. This + // does a reasonable job of adjusting arrays containing 1 em tall content. + // The 0.16 and 0.09 values are found emprically. They produce an array + // similar to LaTeX and in which content does not interfere with \hines. + + var gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray} + : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0); + table.setAttribute("rowspacing", gap + "em"); // MathML table lines go only between cells. + // To place a line on an edge we'll use , if necessary. + + var menclose = ""; + var align = ""; + + if (group.cols && group.cols.length > 0) { + // Find column alignment, column spacing, and vertical lines. + var cols = group.cols; + var columnLines = ""; + var prevTypeWasAlign = false; + var iStart = 0; + var iEnd = cols.length; + + if (cols[0].type === "separator") { + menclose += "top "; + iStart = 1; + } + + if (cols[cols.length - 1].type === "separator") { + menclose += "bottom "; + iEnd -= 1; + } + + for (var i = iStart; i < iEnd; i++) { + if (cols[i].type === "align") { + align += alignMap[cols[i].align]; + + if (prevTypeWasAlign) { + columnLines += "none "; + } + + prevTypeWasAlign = true; + } else if (cols[i].type === "separator") { + // MathML accepts only single lines between cells. + // So we read only the first of consecutive separators. + if (prevTypeWasAlign) { + columnLines += cols[i].separator === "|" ? "solid " : "dashed "; + prevTypeWasAlign = false; + } + } + } + + table.setAttribute("columnalign", align.trim()); + + if (/[sd]/.test(columnLines)) { + table.setAttribute("columnlines", columnLines.trim()); + } + } // Set column spacing. + + + if (group.colSeparationType === "align") { + var _cols = group.cols || []; + + var spacing = ""; + + for (var _i = 1; _i < _cols.length; _i++) { + spacing += _i % 2 ? "0em " : "1em "; + } + + table.setAttribute("columnspacing", spacing.trim()); + } else if (group.colSeparationType === "alignat") { + table.setAttribute("columnspacing", "0em"); + } else if (group.colSeparationType === "small") { + table.setAttribute("columnspacing", "0.2778em"); + } else { + table.setAttribute("columnspacing", "1em"); + } // Address \hline and \hdashline + + + var rowLines = ""; + var hlines = group.hLinesBeforeRow; + menclose += hlines[0].length > 0 ? "left " : ""; + menclose += hlines[hlines.length - 1].length > 0 ? "right " : ""; + + for (var _i2 = 1; _i2 < hlines.length - 1; _i2++) { + rowLines += hlines[_i2].length === 0 ? "none " // MathML accepts only a single line between rows. Read one element. + : hlines[_i2][0] ? "dashed " : "solid "; + } + + if (/[sd]/.test(rowLines)) { + table.setAttribute("rowlines", rowLines.trim()); + } + + if (menclose !== "") { + table = new mathMLTree.MathNode("menclose", [table]); + table.setAttribute("notation", menclose.trim()); + } + + if (group.arraystretch && group.arraystretch < 1) { + // A small array. Wrap in scriptstyle so row gap is not too large. + table = new mathMLTree.MathNode("mstyle", [table]); + table.setAttribute("scriptlevel", "1"); + } + + return table; +}; // Convenience function for aligned and alignedat environments. + + +var array_alignedHandler = function alignedHandler(context, args) { + var cols = []; + var res = parseArray(context.parser, { + cols: cols, + addJot: true + }, "display"); // Determining number of columns. + // 1. If the first argument is given, we use it as a number of columns, + // and makes sure that each row doesn't exceed that number. + // 2. Otherwise, just count number of columns = maximum number + // of cells in each row ("aligned" mode -- isAligned will be true). + // + // At the same time, prepend empty group {} at beginning of every second + // cell in each row (starting with second cell) so that operators become + // binary. This behavior is implemented in amsmath's \start@aligned. + + var numMaths; + var numCols = 0; + var emptyGroup = { + type: "ordgroup", + mode: context.mode, + body: [] + }; + + if (args[0] && args[0].type === "ordgroup") { + var arg0 = ""; + + for (var i = 0; i < args[0].body.length; i++) { + var textord = assertNodeType(args[0].body[i], "textord"); + arg0 += textord.text; + } + + numMaths = Number(arg0); + numCols = numMaths * 2; + } + + var isAligned = !numCols; + res.body.forEach(function (row) { + for (var _i3 = 1; _i3 < row.length; _i3 += 2) { + // Modify ordgroup node within styling node + var styling = assertNodeType(row[_i3], "styling"); + var ordgroup = assertNodeType(styling.body[0], "ordgroup"); + ordgroup.body.unshift(emptyGroup); + } + + if (!isAligned) { + // Case 1 + var curMaths = row.length / 2; + + if (numMaths < curMaths) { + throw new src_ParseError("Too many math in a row: " + ("expected " + numMaths + ", but got " + curMaths), row[0]); + } + } else if (numCols < row.length) { + // Case 2 + numCols = row.length; + } + }); // Adjusting alignment. + // In aligned mode, we add one \qquad between columns; + // otherwise we add nothing. + + for (var _i4 = 0; _i4 < numCols; ++_i4) { + var align = "r"; + var pregap = 0; + + if (_i4 % 2 === 1) { + align = "l"; + } else if (_i4 > 0 && isAligned) { + // "aligned" mode. + pregap = 1; // add one \quad + } + + cols[_i4] = { + type: "align", + align: align, + pregap: pregap, + postgap: 0 + }; + } + + res.colSeparationType = isAligned ? "align" : "alignat"; + return res; +}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation +// is part of the source2e.pdf file of LaTeX2e source documentation. +// {darray} is an {array} environment where cells are set in \displaystyle, +// as defined in nccmath.sty. + + +defineEnvironment({ + type: "array", + names: ["array", "darray"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // Since no types are specified above, the two possibilities are + // - The argument is wrapped in {} or [], in which case Parser's + // parseGroup() returns an "ordgroup" wrapping some symbol node. + // - The argument is a bare symbol node. + var symNode = checkSymbolNodeType(args[0]); + var colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + var cols = colalign.map(function (nde) { + var node = assertSymbolNodeType(nde); + var ca = node.text; + + if ("lcr".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } else if (ca === "|") { + return { + type: "separator", + separator: "|" + }; + } else if (ca === ":") { + return { + type: "separator", + separator: ":" + }; + } + + throw new src_ParseError("Unknown column alignment: " + ca, nde); + }); + var res = { + cols: cols, + hskipBeforeAndAfter: true // \@preamble in lttab.dtx + + }; + return parseArray(context.parser, res, dCellStyle(context.envName)); + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // The matrix environments of amsmath builds on the array environment +// of LaTeX, which is discussed above. + +defineEnvironment({ + type: "array", + names: ["matrix", "pmatrix", "bmatrix", "Bmatrix", "vmatrix", "Vmatrix"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var delimiters = { + "matrix": null, + "pmatrix": ["(", ")"], + "bmatrix": ["[", "]"], + "Bmatrix": ["\\{", "\\}"], + "vmatrix": ["|", "|"], + "Vmatrix": ["\\Vert", "\\Vert"] + }[context.envName]; // \hskip -\arraycolsep in amsmath + + var payload = { + hskipBeforeAndAfter: false + }; + var res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return delimiters ? { + type: "leftright", + mode: context.mode, + body: [res], + left: delimiters[0], + right: delimiters[1], + rightColor: undefined // \right uninfluenced by \color in array + + } : res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); +defineEnvironment({ + type: "array", + names: ["smallmatrix"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var payload = { + arraystretch: 0.5 + }; + var res = parseArray(context.parser, payload, "script"); + res.colSeparationType = "small"; + return res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); +defineEnvironment({ + type: "array", + names: ["subarray"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // Parsing of {subarray} is similar to {array} + var symNode = checkSymbolNodeType(args[0]); + var colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + var cols = colalign.map(function (nde) { + var node = assertSymbolNodeType(nde); + var ca = node.text; // {subarray} only recognizes "l" & "c" + + if ("lc".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } + + throw new src_ParseError("Unknown column alignment: " + ca, nde); + }); + + if (cols.length > 1) { + throw new src_ParseError("{subarray} can contain only one column"); + } + + var res = { + cols: cols, + hskipBeforeAndAfter: false, + arraystretch: 0.5 + }; + res = parseArray(context.parser, res, "script"); + + if (res.body.length > 0 && res.body[0].length > 1) { + throw new src_ParseError("{subarray} can contain only one column"); + } + + return res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // A cases environment (in amsmath.sty) is almost equivalent to +// \def\arraystretch{1.2}% +// \left\{\begin{array}{@{}l@{\quad}l@{}} … \end{array}\right. +// {dcases} is a {cases} environment where cells are set in \displaystyle, +// as defined in mathtools.sty. +// {rcases} is another mathtools environment. It's brace is on the right side. + +defineEnvironment({ + type: "array", + names: ["cases", "dcases", "rcases", "drcases"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var payload = { + arraystretch: 1.2, + cols: [{ + type: "align", + align: "l", + pregap: 0, + // TODO(kevinb) get the current style. + // For now we use the metrics for TEXT style which is what we were + // doing before. Before attempting to get the current style we + // should look at TeX's behavior especially for \over and matrices. + postgap: 1.0 + /* 1em quad */ + + }, { + type: "align", + align: "l", + pregap: 0, + postgap: 0 + }] + }; + var res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return { + type: "leftright", + mode: context.mode, + body: [res], + left: context.envName.indexOf("r") > -1 ? "." : "\\{", + right: context.envName.indexOf("r") > -1 ? "\\}" : ".", + rightColor: undefined + }; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // An aligned environment is like the align* environment +// except it operates within math mode. +// Note that we assume \nomallineskiplimit to be zero, +// so that \strut@ is the same as \strut. + +defineEnvironment({ + type: "array", + names: ["aligned"], + props: { + numArgs: 0 + }, + handler: array_alignedHandler, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // A gathered environment is like an array environment with one centered +// column, but where rows are considered lines so get \jot line spacing +// and contents are set in \displaystyle. + +defineEnvironment({ + type: "array", + names: ["gathered"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var res = { + cols: [{ + type: "align", + align: "c" + }], + addJot: true + }; + return parseArray(context.parser, res, "display"); + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // alignat environment is like an align environment, but one must explicitly +// specify maximum number of columns in each row, and can adjust spacing between +// each columns. + +defineEnvironment({ + type: "array", + names: ["alignedat"], + // One for numbered and for unnumbered; + // but, KaTeX doesn't supports math numbering yet, + // they make no difference for now. + props: { + numArgs: 1 + }, + handler: array_alignedHandler, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // Catch \hline outside array environment + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\hline", "\\hdashline"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: true + }, + handler: function handler(context, args) { + throw new src_ParseError(context.funcName + " valid only within array environment"); + } +}); +// CONCATENATED MODULE: ./src/environments.js + +var environments = _environments; +/* harmony default export */ var src_environments = (environments); // All environment definitions should be imported below + + +// CONCATENATED MODULE: ./src/functions/environment.js + + + + // Environment delimiters. HTML/MathML rendering is defined in the corresponding +// defineEnvironment definitions. +// $FlowFixMe, "environment" handler returns an environment ParseNode + +defineFunction({ + type: "environment", + names: ["\\begin", "\\end"], + props: { + numArgs: 1, + argTypes: ["text"] + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var nameGroup = args[0]; + + if (nameGroup.type !== "ordgroup") { + throw new src_ParseError("Invalid environment name", nameGroup); + } + + var envName = ""; + + for (var i = 0; i < nameGroup.body.length; ++i) { + envName += assertNodeType(nameGroup.body[i], "textord").text; + } + + if (funcName === "\\begin") { + // begin...end is similar to left...right + if (!src_environments.hasOwnProperty(envName)) { + throw new src_ParseError("No such environment: " + envName, nameGroup); + } // Build the environment object. Arguments and other information will + // be made available to the begin and end methods using properties. + + + var env = src_environments[envName]; + + var _parser$parseArgument = parser.parseArguments("\\begin{" + envName + "}", env), + _args = _parser$parseArgument.args, + optArgs = _parser$parseArgument.optArgs; + + var context = { + mode: parser.mode, + envName: envName, + parser: parser + }; + var result = env.handler(context, _args, optArgs); + parser.expect("\\end", false); + var endNameToken = parser.nextToken; + var end = assertNodeType(parser.parseFunction(), "environment"); + + if (end.name !== envName) { + throw new src_ParseError("Mismatch: \\begin{" + envName + "} matched by \\end{" + end.name + "}", endNameToken); + } + + return result; + } + + return { + type: "environment", + mode: parser.mode, + name: envName, + nameGroup: nameGroup + }; + } +}); +// CONCATENATED MODULE: ./src/functions/mclass.js + + + + + + +var mclass_makeSpan = buildCommon.makeSpan; + +function mclass_htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options, true); + return mclass_makeSpan([group.mclass], elements, options); +} + +function mclass_mathmlBuilder(group, options) { + var node; + var inner = buildMathML_buildExpression(group.body, options); + + if (group.mclass === "minner") { + return mathMLTree.newDocumentFragment(inner); + } else if (group.mclass === "mord") { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mi"; + } else { + node = new mathMLTree.MathNode("mi", inner); + } + } else { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mo"; + } else { + node = new mathMLTree.MathNode("mo", inner); + } // Set spacing based on what is the most likely adjacent atom type. + // See TeXbook p170. + + + if (group.mclass === "mbin") { + node.attributes.lspace = "0.22em"; // medium space + + node.attributes.rspace = "0.22em"; + } else if (group.mclass === "mpunct") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0.17em"; // thinspace + } else if (group.mclass === "mopen" || group.mclass === "mclose") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0em"; + } // MathML default space is 5/18 em, so needs no action. + // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo + + } + + return node; +} // Math class commands except \mathop + + +defineFunction({ + type: "mclass", + names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "mclass", + mode: parser.mode, + mclass: "m" + funcName.substr(5), + // TODO(kevinb): don't prefix with 'm' + body: ordargument(body), + isCharacterBox: utils.isCharacterBox(body) + }; + }, + htmlBuilder: mclass_htmlBuilder, + mathmlBuilder: mclass_mathmlBuilder +}); +var binrelClass = function binrelClass(arg) { + // \binrel@ spacing varies with (bin|rel|ord) of the atom in the argument. + // (by rendering separately and with {}s before and after, and measuring + // the change in spacing). We'll do roughly the same by detecting the + // atom type directly. + var atom = arg.type === "ordgroup" && arg.body.length ? arg.body[0] : arg; + + if (atom.type === "atom" && (atom.family === "bin" || atom.family === "rel")) { + return "m" + atom.family; + } else { + return "mord"; + } +}; // \@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord. +// This is equivalent to \binrel@{x}\binrel@@{y} in AMSTeX. + +defineFunction({ + type: "mclass", + names: ["\\@binrel"], + props: { + numArgs: 2 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(args[0]), + body: [args[1]], + isCharacterBox: utils.isCharacterBox(args[1]) + }; + } +}); // Build a relation or stacked op by placing one symbol on top of another + +defineFunction({ + type: "mclass", + names: ["\\stackrel", "\\overset", "\\underset"], + props: { + numArgs: 2 + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser, + funcName = _ref3.funcName; + var baseArg = args[1]; + var shiftedArg = args[0]; + var mclass; + + if (funcName !== "\\stackrel") { + // LaTeX applies \binrel spacing to \overset and \underset. + mclass = binrelClass(baseArg); + } else { + mclass = "mrel"; // for \stackrel + } + + var baseOp = { + type: "op", + mode: baseArg.mode, + limits: true, + alwaysHandleSupSub: true, + parentIsSupSub: false, + symbol: false, + suppressBaseShift: funcName !== "\\stackrel", + body: ordargument(baseArg) + }; + var supsub = { + type: "supsub", + mode: shiftedArg.mode, + base: baseOp, + sup: funcName === "\\underset" ? null : shiftedArg, + sub: funcName === "\\underset" ? shiftedArg : null + }; + return { + type: "mclass", + mode: parser.mode, + mclass: mclass, + body: [supsub], + isCharacterBox: utils.isCharacterBox(supsub) + }; + }, + htmlBuilder: mclass_htmlBuilder, + mathmlBuilder: mclass_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/font.js +// TODO(kevinb): implement \\sl and \\sc + + + + + + +var font_htmlBuilder = function htmlBuilder(group, options) { + var font = group.font; + var newOptions = options.withFont(font); + return buildHTML_buildGroup(group.body, newOptions); +}; + +var font_mathmlBuilder = function mathmlBuilder(group, options) { + var font = group.font; + var newOptions = options.withFont(font); + return buildMathML_buildGroup(group.body, newOptions); +}; + +var fontAliases = { + "\\Bbb": "\\mathbb", + "\\bold": "\\mathbf", + "\\frak": "\\mathfrak", + "\\bm": "\\boldsymbol" +}; +defineFunction({ + type: "font", + names: [// styles, except \boldsymbol defined below + "\\mathrm", "\\mathit", "\\mathbf", "\\mathnormal", // families + "\\mathbb", "\\mathcal", "\\mathfrak", "\\mathscr", "\\mathsf", "\\mathtt", // aliases, except \bm defined below + "\\Bbb", "\\bold", "\\frak"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + var func = funcName; + + if (func in fontAliases) { + func = fontAliases[func]; + } + + return { + type: "font", + mode: parser.mode, + font: func.slice(1), + body: body + }; + }, + htmlBuilder: font_htmlBuilder, + mathmlBuilder: font_mathmlBuilder +}); +defineFunction({ + type: "mclass", + names: ["\\boldsymbol", "\\bm"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + var isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \boldsymbol uses \binrel spacing to inherit the + // argument's bin|rel|ord status + + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(body), + body: [{ + type: "font", + mode: parser.mode, + font: "boldsymbol", + body: body + }], + isCharacterBox: isCharacterBox + }; + } +}); // Old font changing functions + +defineFunction({ + type: "font", + names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it", "\\cal"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser, + funcName = _ref3.funcName, + breakOnTokenText = _ref3.breakOnTokenText; + var mode = parser.mode; + var body = parser.parseExpression(true, breakOnTokenText); + var style = "math" + funcName.slice(1); + return { + type: "font", + mode: mode, + font: style, + body: { + type: "ordgroup", + mode: parser.mode, + body: body + } + }; + }, + htmlBuilder: font_htmlBuilder, + mathmlBuilder: font_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/genfrac.js + + + + + + + + + + + +var genfrac_adjustStyle = function adjustStyle(size, originalStyle) { + // Figure out what style this fraction should be in based on the + // function used + var style = originalStyle; + + if (size === "display") { + // Get display style as a default. + // If incoming style is sub/sup, use style.text() to get correct size. + style = style.id >= src_Style.SCRIPT.id ? style.text() : src_Style.DISPLAY; + } else if (size === "text" && style.size === src_Style.DISPLAY.size) { + // We're in a \tfrac but incoming style is displaystyle, so: + style = src_Style.TEXT; + } else if (size === "script") { + style = src_Style.SCRIPT; + } else if (size === "scriptscript") { + style = src_Style.SCRIPTSCRIPT; + } + + return style; +}; + +var genfrac_htmlBuilder = function htmlBuilder(group, options) { + // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e). + var style = genfrac_adjustStyle(group.size, options.style); + var nstyle = style.fracNum(); + var dstyle = style.fracDen(); + var newOptions; + newOptions = options.havingStyle(nstyle); + var numerm = buildHTML_buildGroup(group.numer, newOptions, options); + + if (group.continued) { + // \cfrac inserts a \strut into the numerator. + // Get \strut dimensions from TeXbook page 353. + var hStrut = 8.5 / options.fontMetrics().ptPerEm; + var dStrut = 3.5 / options.fontMetrics().ptPerEm; + numerm.height = numerm.height < hStrut ? hStrut : numerm.height; + numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth; + } + + newOptions = options.havingStyle(dstyle); + var denomm = buildHTML_buildGroup(group.denom, newOptions, options); + var rule; + var ruleWidth; + var ruleSpacing; + + if (group.hasBarLine) { + if (group.barSize) { + ruleWidth = units_calculateSize(group.barSize, options); + rule = buildCommon.makeLineSpan("frac-line", options, ruleWidth); + } else { + rule = buildCommon.makeLineSpan("frac-line", options); + } + + ruleWidth = rule.height; + ruleSpacing = rule.height; + } else { + rule = null; + ruleWidth = 0; + ruleSpacing = options.fontMetrics().defaultRuleThickness; + } // Rule 15b + + + var numShift; + var clearance; + var denomShift; + + if (style.size === src_Style.DISPLAY.size || group.size === "display") { + numShift = options.fontMetrics().num1; + + if (ruleWidth > 0) { + clearance = 3 * ruleSpacing; + } else { + clearance = 7 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom1; + } else { + if (ruleWidth > 0) { + numShift = options.fontMetrics().num2; + clearance = ruleSpacing; + } else { + numShift = options.fontMetrics().num3; + clearance = 3 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom2; + } + + var frac; + + if (!rule) { + // Rule 15c + var candidateClearance = numShift - numerm.depth - (denomm.height - denomShift); + + if (candidateClearance < clearance) { + numShift += 0.5 * (clearance - candidateClearance); + denomShift += 0.5 * (clearance - candidateClearance); + } + + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } else { + // Rule 15d + var axisHeight = options.fontMetrics().axisHeight; + + if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) { + numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth)); + } + + if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) { + denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift)); + } + + var midShift = -(axisHeight - 0.5 * ruleWidth); + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: rule, + shift: midShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } // Since we manually change the style sometimes (with \dfrac or \tfrac), + // account for the possible size change here. + + + newOptions = options.havingStyle(style); + frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier; + frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e + + var delimSize; + + if (style.size === src_Style.DISPLAY.size) { + delimSize = options.fontMetrics().delim1; + } else { + delimSize = options.fontMetrics().delim2; + } + + var leftDelim; + var rightDelim; + + if (group.leftDelim == null) { + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, ["mopen"]); + } + + if (group.continued) { + rightDelim = buildCommon.makeSpan([]); // zero width for \cfrac + } else if (group.rightDelim == null) { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, ["mclose"]); + } + + return buildCommon.makeSpan(["mord"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan(["mfrac"], [frac]), rightDelim], options); +}; + +var genfrac_mathmlBuilder = function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mfrac", [buildMathML_buildGroup(group.numer, options), buildMathML_buildGroup(group.denom, options)]); + + if (!group.hasBarLine) { + node.setAttribute("linethickness", "0px"); + } else if (group.barSize) { + var ruleWidth = units_calculateSize(group.barSize, options); + node.setAttribute("linethickness", ruleWidth + "em"); + } + + var style = genfrac_adjustStyle(group.size, options.style); + + if (style.size !== options.style.size) { + node = new mathMLTree.MathNode("mstyle", [node]); + var isDisplay = style.size === src_Style.DISPLAY.size ? "true" : "false"; + node.setAttribute("displaystyle", isDisplay); + node.setAttribute("scriptlevel", "0"); + } + + if (group.leftDelim != null || group.rightDelim != null) { + var withDelims = []; + + if (group.leftDelim != null) { + var leftOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.leftDelim.replace("\\", ""))]); + leftOp.setAttribute("fence", "true"); + withDelims.push(leftOp); + } + + withDelims.push(node); + + if (group.rightDelim != null) { + var rightOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.rightDelim.replace("\\", ""))]); + rightOp.setAttribute("fence", "true"); + withDelims.push(rightOp); + } + + return buildMathML_makeRow(withDelims); + } + + return node; +}; + +defineFunction({ + type: "genfrac", + names: ["\\cfrac", "\\dfrac", "\\frac", "\\tfrac", "\\dbinom", "\\binom", "\\tbinom", "\\\\atopfrac", // can’t be entered directly + "\\\\bracefrac", "\\\\brackfrac"], + props: { + numArgs: 2, + greediness: 2 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var numer = args[0]; + var denom = args[1]; + var hasBarLine; + var leftDelim = null; + var rightDelim = null; + var size = "auto"; + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\frac": + case "\\tfrac": + hasBarLine = true; + break; + + case "\\\\atopfrac": + hasBarLine = false; + break; + + case "\\dbinom": + case "\\binom": + case "\\tbinom": + hasBarLine = false; + leftDelim = "("; + rightDelim = ")"; + break; + + case "\\\\bracefrac": + hasBarLine = false; + leftDelim = "\\{"; + rightDelim = "\\}"; + break; + + case "\\\\brackfrac": + hasBarLine = false; + leftDelim = "["; + rightDelim = "]"; + break; + + default: + throw new Error("Unrecognized genfrac command"); + } + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\dbinom": + size = "display"; + break; + + case "\\tfrac": + case "\\tbinom": + size = "text"; + break; + } + + return { + type: "genfrac", + mode: parser.mode, + continued: funcName === "\\cfrac", + numer: numer, + denom: denom, + hasBarLine: hasBarLine, + leftDelim: leftDelim, + rightDelim: rightDelim, + size: size, + barSize: null + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); // Infix generalized fractions -- these are not rendered directly, but replaced +// immediately by one of the variants above. + +defineFunction({ + type: "infix", + names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"], + props: { + numArgs: 0, + infix: true + }, + handler: function handler(_ref2) { + var parser = _ref2.parser, + funcName = _ref2.funcName, + token = _ref2.token; + var replaceWith; + + switch (funcName) { + case "\\over": + replaceWith = "\\frac"; + break; + + case "\\choose": + replaceWith = "\\binom"; + break; + + case "\\atop": + replaceWith = "\\\\atopfrac"; + break; + + case "\\brace": + replaceWith = "\\\\bracefrac"; + break; + + case "\\brack": + replaceWith = "\\\\brackfrac"; + break; + + default: + throw new Error("Unrecognized infix genfrac command"); + } + + return { + type: "infix", + mode: parser.mode, + replaceWith: replaceWith, + token: token + }; + } +}); +var stylArray = ["display", "text", "script", "scriptscript"]; + +var delimFromValue = function delimFromValue(delimString) { + var delim = null; + + if (delimString.length > 0) { + delim = delimString; + delim = delim === "." ? null : delim; + } + + return delim; +}; + +defineFunction({ + type: "genfrac", + names: ["\\genfrac"], + props: { + numArgs: 6, + greediness: 6, + argTypes: ["math", "math", "size", "text", "math", "math"] + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + var numer = args[4]; + var denom = args[5]; // Look into the parse nodes to get the desired delimiters. + + var leftDelim = args[0].type === "atom" && args[0].family === "open" ? delimFromValue(args[0].text) : null; + var rightDelim = args[1].type === "atom" && args[1].family === "close" ? delimFromValue(args[1].text) : null; + var barNode = assertNodeType(args[2], "size"); + var hasBarLine; + var barSize = null; + + if (barNode.isBlank) { + // \genfrac acts differently than \above. + // \genfrac treats an empty size group as a signal to use a + // standard bar size. \above would see size = 0 and omit the bar. + hasBarLine = true; + } else { + barSize = barNode.value; + hasBarLine = barSize.number > 0; + } // Find out if we want displaystyle, textstyle, etc. + + + var size = "auto"; + var styl = args[3]; + + if (styl.type === "ordgroup") { + if (styl.body.length > 0) { + var textOrd = assertNodeType(styl.body[0], "textord"); + size = stylArray[Number(textOrd.text)]; + } + } else { + styl = assertNodeType(styl, "textord"); + size = stylArray[Number(styl.text)]; + } + + return { + type: "genfrac", + mode: parser.mode, + numer: numer, + denom: denom, + continued: false, + hasBarLine: hasBarLine, + barSize: barSize, + leftDelim: leftDelim, + rightDelim: rightDelim, + size: size + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); // \above is an infix fraction that also defines a fraction bar size. + +defineFunction({ + type: "infix", + names: ["\\above"], + props: { + numArgs: 1, + argTypes: ["size"], + infix: true + }, + handler: function handler(_ref4, args) { + var parser = _ref4.parser, + funcName = _ref4.funcName, + token = _ref4.token; + return { + type: "infix", + mode: parser.mode, + replaceWith: "\\\\abovefrac", + size: assertNodeType(args[0], "size").value, + token: token + }; + } +}); +defineFunction({ + type: "genfrac", + names: ["\\\\abovefrac"], + props: { + numArgs: 3, + argTypes: ["math", "size", "math"] + }, + handler: function handler(_ref5, args) { + var parser = _ref5.parser, + funcName = _ref5.funcName; + var numer = args[0]; + var barSize = assert(assertNodeType(args[1], "infix").size); + var denom = args[2]; + var hasBarLine = barSize.number > 0; + return { + type: "genfrac", + mode: parser.mode, + numer: numer, + denom: denom, + continued: false, + hasBarLine: hasBarLine, + barSize: barSize, + leftDelim: null, + rightDelim: null, + size: "auto" + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/horizBrace.js + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "horizBrace", but +var horizBrace_htmlBuilder = function htmlBuilder(grp, options) { + var style = options.style; // Pull out the `ParseNode<"horizBrace">` if `grp` is a "supsub" node. + + var supSubGroup; + var group; + + if (grp.type === "supsub") { + // Ref: LaTeX source2e: }}}}\limits} + // i.e. LaTeX treats the brace similar to an op and passes it + // with \limits, so we need to assign supsub style. + supSubGroup = grp.sup ? buildHTML_buildGroup(grp.sup, options.havingStyle(style.sup()), options) : buildHTML_buildGroup(grp.sub, options.havingStyle(style.sub()), options); + group = assertNodeType(grp.base, "horizBrace"); + } else { + group = assertNodeType(grp, "horizBrace"); + } // Build the base group + + + var body = buildHTML_buildGroup(group.base, options.havingBaseStyle(src_Style.DISPLAY)); // Create the stretchy element + + var braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓ + // This first vlist contains the content and the brace: equation + + var vlist; + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: braceBody + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: body.depth + 0.1 + braceBody.height, + children: [{ + type: "elem", + elem: braceBody + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: body + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[0].classes.push("svg-align"); + } + + if (supSubGroup) { + // To write the supsub, wrap the first vlist in another vlist: + // They can't all go in the same vlist, because the note might be + // wider than the equation. We want the equation to control the + // brace width. + // note long note long note + // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓ + // equation eqn eqn + var vSpan = buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: vSpan + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: supSubGroup + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth, + children: [{ + type: "elem", + elem: supSubGroup + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: vSpan + }] + }, options); + } + } + + return buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); +}; + +var horizBrace_mathmlBuilder = function mathmlBuilder(group, options) { + var accentNode = stretchy.mathMLnode(group.label); + return new mathMLTree.MathNode(group.isOver ? "mover" : "munder", [buildMathML_buildGroup(group.base, options), accentNode]); +}; // Horizontal stretchy braces + + +defineFunction({ + type: "horizBrace", + names: ["\\overbrace", "\\underbrace"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "horizBrace", + mode: parser.mode, + label: funcName, + isOver: /^\\over/.test(funcName), + base: args[0] + }; + }, + htmlBuilder: horizBrace_htmlBuilder, + mathmlBuilder: horizBrace_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/href.js + + + + + + +defineFunction({ + type: "href", + names: ["\\href"], + props: { + numArgs: 2, + argTypes: ["url", "original"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[1]; + var href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\href", + url: href + })) { + return parser.formatUnsupportedCmd("\\href"); + } + + return { + type: "href", + mode: parser.mode, + href: href, + body: ordargument(body) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options, false); + return buildCommon.makeAnchor(group.href, [], elements, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var math = buildExpressionRow(group.body, options); + + if (!(math instanceof mathMLTree_MathNode)) { + math = new mathMLTree_MathNode("mrow", [math]); + } + + math.setAttribute("href", group.href); + return math; + } +}); +defineFunction({ + type: "href", + names: ["\\url"], + props: { + numArgs: 1, + argTypes: ["url"], + allowedInText: true + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\url", + url: href + })) { + return parser.formatUnsupportedCmd("\\url"); + } + + var chars = []; + + for (var i = 0; i < href.length; i++) { + var c = href[i]; + + if (c === "~") { + c = "\\textasciitilde"; + } + + chars.push({ + type: "textord", + mode: "text", + text: c + }); + } + + var body = { + type: "text", + mode: parser.mode, + font: "\\texttt", + body: chars + }; + return { + type: "href", + mode: parser.mode, + href: href, + body: ordargument(body) + }; + } +}); +// CONCATENATED MODULE: ./src/functions/html.js + + + + + + +defineFunction({ + type: "html", + names: ["\\htmlClass", "\\htmlId", "\\htmlStyle", "\\htmlData"], + props: { + numArgs: 2, + argTypes: ["raw", "original"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName, + token = _ref.token; + var value = assertNodeType(args[0], "raw").string; + var body = args[1]; + + if (parser.settings.strict) { + parser.settings.reportNonstrict("htmlExtension", "HTML extension is disabled on strict mode"); + } + + var trustContext; + var attributes = {}; + + switch (funcName) { + case "\\htmlClass": + attributes.class = value; + trustContext = { + command: "\\htmlClass", + class: value + }; + break; + + case "\\htmlId": + attributes.id = value; + trustContext = { + command: "\\htmlId", + id: value + }; + break; + + case "\\htmlStyle": + attributes.style = value; + trustContext = { + command: "\\htmlStyle", + style: value + }; + break; + + case "\\htmlData": + { + var data = value.split(","); + + for (var i = 0; i < data.length; i++) { + var keyVal = data[i].split("="); + + if (keyVal.length !== 2) { + throw new src_ParseError("Error parsing key-value for \\htmlData"); + } + + attributes["data-" + keyVal[0].trim()] = keyVal[1].trim(); + } + + trustContext = { + command: "\\htmlData", + attributes: attributes + }; + break; + } + + default: + throw new Error("Unrecognized html command"); + } + + if (!parser.settings.isTrusted(trustContext)) { + return parser.formatUnsupportedCmd(funcName); + } + + return { + type: "html", + mode: parser.mode, + attributes: attributes, + body: ordargument(body) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options, false); + var classes = ["enclosing"]; + + if (group.attributes.class) { + classes.push.apply(classes, group.attributes.class.trim().split(/\s+/)); + } + + var span = buildCommon.makeSpan(classes, elements, options); + + for (var attr in group.attributes) { + if (attr !== "class" && group.attributes.hasOwnProperty(attr)) { + span.setAttribute(attr, group.attributes[attr]); + } + } + + return span; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + return buildExpressionRow(group.body, options); + } +}); +// CONCATENATED MODULE: ./src/functions/htmlmathml.js + + + + +defineFunction({ + type: "htmlmathml", + names: ["\\html@mathml"], + props: { + numArgs: 2, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "htmlmathml", + mode: parser.mode, + html: ordargument(args[0]), + mathml: ordargument(args[1]) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.html, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + return buildExpressionRow(group.mathml, options); + } +}); +// CONCATENATED MODULE: ./src/functions/includegraphics.js + + + + + + + +var includegraphics_sizeData = function sizeData(str) { + if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(str)) { + // str is a number with no unit specified. + // default unit is bp, per graphix package. + return { + number: +str, + unit: "bp" + }; + } else { + var match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(str); + + if (!match) { + throw new src_ParseError("Invalid size: '" + str + "' in \\includegraphics"); + } + + var data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new src_ParseError("Invalid unit: '" + data.unit + "' in \\includegraphics."); + } + + return data; + } +}; + +defineFunction({ + type: "includegraphics", + names: ["\\includegraphics"], + props: { + numArgs: 1, + numOptionalArgs: 1, + argTypes: ["raw", "url"], + allowedInText: false + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var width = { + number: 0, + unit: "em" + }; + var height = { + number: 0.9, + unit: "em" + }; // sorta character sized. + + var totalheight = { + number: 0, + unit: "em" + }; + var alt = ""; + + if (optArgs[0]) { + var attributeStr = assertNodeType(optArgs[0], "raw").string; // Parser.js does not parse key/value pairs. We get a string. + + var attributes = attributeStr.split(","); + + for (var i = 0; i < attributes.length; i++) { + var keyVal = attributes[i].split("="); + + if (keyVal.length === 2) { + var str = keyVal[1].trim(); + + switch (keyVal[0].trim()) { + case "alt": + alt = str; + break; + + case "width": + width = includegraphics_sizeData(str); + break; + + case "height": + height = includegraphics_sizeData(str); + break; + + case "totalheight": + totalheight = includegraphics_sizeData(str); + break; + + default: + throw new src_ParseError("Invalid key: '" + keyVal[0] + "' in \\includegraphics."); + } + } + } + } + + var src = assertNodeType(args[0], "url").url; + + if (alt === "") { + // No alt given. Use the file name. Strip away the path. + alt = src; + alt = alt.replace(/^.*[\\/]/, ''); + alt = alt.substring(0, alt.lastIndexOf('.')); + } + + if (!parser.settings.isTrusted({ + command: "\\includegraphics", + url: src + })) { + return parser.formatUnsupportedCmd("\\includegraphics"); + } + + return { + type: "includegraphics", + mode: parser.mode, + alt: alt, + width: width, + height: height, + totalheight: totalheight, + src: src + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var height = units_calculateSize(group.height, options); + var depth = 0; + + if (group.totalheight.number > 0) { + depth = units_calculateSize(group.totalheight, options) - height; + depth = Number(depth.toFixed(2)); + } + + var width = 0; + + if (group.width.number > 0) { + width = units_calculateSize(group.width, options); + } + + var style = { + height: height + depth + "em" + }; + + if (width > 0) { + style.width = width + "em"; + } + + if (depth > 0) { + style.verticalAlign = -depth + "em"; + } + + var node = new domTree_Img(group.src, group.alt, style); + node.height = height; + node.depth = depth; + return node; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mglyph", []); + node.setAttribute("alt", group.alt); + var height = units_calculateSize(group.height, options); + var depth = 0; + + if (group.totalheight.number > 0) { + depth = units_calculateSize(group.totalheight, options) - height; + depth = depth.toFixed(2); + node.setAttribute("valign", "-" + depth + "em"); + } + + node.setAttribute("height", height + depth + "em"); + + if (group.width.number > 0) { + var width = units_calculateSize(group.width, options); + node.setAttribute("width", width + "em"); + } + + node.setAttribute("src", group.src); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/kern.js +// Horizontal spacing commands + + + + + // TODO: \hskip and \mskip should support plus and minus in lengths + +defineFunction({ + type: "kern", + names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"], + props: { + numArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var size = assertNodeType(args[0], "size"); + + if (parser.settings.strict) { + var mathFunction = funcName[1] === 'm'; // \mkern, \mskip + + var muUnit = size.value.unit === 'mu'; + + if (mathFunction) { + if (!muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " supports only mu units, " + ("not " + size.value.unit + " units")); + } + + if (parser.mode !== "math") { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " works only in math mode"); + } + } else { + // !mathFunction + if (muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " doesn't support mu units"); + } + } + } + + return { + type: "kern", + mode: parser.mode, + dimension: size.value + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeGlue(group.dimension, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var dimension = units_calculateSize(group.dimension, options); + return new mathMLTree.SpaceNode(dimension); + } +}); +// CONCATENATED MODULE: ./src/functions/lap.js +// Horizontal overlap functions + + + + + +defineFunction({ + type: "lap", + names: ["\\mathllap", "\\mathrlap", "\\mathclap"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "lap", + mode: parser.mode, + alignment: funcName.slice(5), + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // mathllap, mathrlap, mathclap + var inner; + + if (group.alignment === "clap") { + // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/ + inner = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span + + inner = buildCommon.makeSpan(["inner"], [inner], options); + } else { + inner = buildCommon.makeSpan(["inner"], [buildHTML_buildGroup(group.body, options)]); + } + + var fix = buildCommon.makeSpan(["fix"], []); + var node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the + // two items involved in the lap. + // Next, use a strut to set the height of the HTML bounding box. + // Otherwise, a tall argument may be misplaced. + // This code resolved issue #1153 + + var strut = buildCommon.makeSpan(["strut"]); + strut.style.height = node.height + node.depth + "em"; + strut.style.verticalAlign = -node.depth + "em"; + node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall. + // This code resolves issue #1234 + + node = buildCommon.makeSpan(["thinbox"], [node], options); + return buildCommon.makeSpan(["mord", "vbox"], [node], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // mathllap, mathrlap, mathclap + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + + if (group.alignment !== "rlap") { + var offset = group.alignment === "llap" ? "-1" : "-0.5"; + node.setAttribute("lspace", offset + "width"); + } + + node.setAttribute("width", "0px"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/math.js + + // Switching from text mode back to math mode + +defineFunction({ + type: "styling", + names: ["\\(", "$"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(_ref, args) { + var funcName = _ref.funcName, + parser = _ref.parser; + var outerMode = parser.mode; + parser.switchMode("math"); + var close = funcName === "\\(" ? "\\)" : "$"; + var body = parser.parseExpression(false, close); + parser.expect(close); + parser.switchMode(outerMode); + return { + type: "styling", + mode: parser.mode, + style: "text", + body: body + }; + } +}); // Check for extra closing math delimiters + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\)", "\\]"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(context, args) { + throw new src_ParseError("Mismatched " + context.funcName); + } +}); +// CONCATENATED MODULE: ./src/functions/mathchoice.js + + + + + + +var mathchoice_chooseMathStyle = function chooseMathStyle(group, options) { + switch (options.style.size) { + case src_Style.DISPLAY.size: + return group.display; + + case src_Style.TEXT.size: + return group.text; + + case src_Style.SCRIPT.size: + return group.script; + + case src_Style.SCRIPTSCRIPT.size: + return group.scriptscript; + + default: + return group.text; + } +}; + +defineFunction({ + type: "mathchoice", + names: ["\\mathchoice"], + props: { + numArgs: 4 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "mathchoice", + mode: parser.mode, + display: ordargument(args[0]), + text: ordargument(args[1]), + script: ordargument(args[2]), + scriptscript: ordargument(args[3]) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var body = mathchoice_chooseMathStyle(group, options); + var elements = buildHTML_buildExpression(body, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var body = mathchoice_chooseMathStyle(group, options); + return buildExpressionRow(body, options); + } +}); +// CONCATENATED MODULE: ./src/functions/utils/assembleSupSub.js + + +// For an operator with limits, assemble the base, sup, and sub into a span. +var assembleSupSub_assembleSupSub = function assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift) { + base = buildCommon.makeSpan([], [base]); + var sub; + var sup; // We manually have to handle the superscripts and subscripts. This, + // aside from the kern calculations, is copied from supsub. + + if (supGroup) { + var elem = buildHTML_buildGroup(supGroup, options.havingStyle(style.sup()), options); + sup = { + elem: elem, + kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth) + }; + } + + if (subGroup) { + var _elem = buildHTML_buildGroup(subGroup, options.havingStyle(style.sub()), options); + + sub = { + elem: _elem, + kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - _elem.height) + }; + } // Build the final group as a vlist of the possible subscript, base, + // and possible superscript. + + + var finalGroup; + + if (sup && sub) { + var bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift; + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: bottom, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else if (sub) { + var top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note + // that we are supposed to shift the limits by 1/2 of the slant, + // but since we are centering the limits adding a full slant of + // margin will shift by 1/2 that. + + finalGroup = buildCommon.makeVList({ + positionType: "top", + positionData: top, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }] + }, options); + } else if (sup) { + var _bottom = base.depth + baseShift; + + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: _bottom, + children: [{ + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else { + // This case probably shouldn't occur (this would mean the + // supsub was sending us a group with no superscript or + // subscript) but be safe. + return base; + } + + return buildCommon.makeSpan(["mop", "op-limits"], [finalGroup], options); +}; +// CONCATENATED MODULE: ./src/functions/op.js +// Limits, symbols + + + + + + + + + + +// Most operators have a large successor symbol, but these don't. +var noSuccessor = ["\\smallint"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only "op", but also +// "supsub" since some of them (like \int) can affect super/subscripting. + +var op_htmlBuilder = function htmlBuilder(grp, options) { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + var supGroup; + var subGroup; + var hasLimits = false; + var group; + + if (grp.type === "supsub") { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = grp.sup; + subGroup = grp.sub; + group = assertNodeType(grp.base, "op"); + hasLimits = true; + } else { + group = assertNodeType(grp, "op"); + } + + var style = options.style; + var large = false; + + if (style.size === src_Style.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) { + // Most symbol operators get larger in displaystyle (rule 13) + large = true; + } + + var base; + + if (group.symbol) { + // If this is a symbol, create the symbol. + var fontName = large ? "Size2-Regular" : "Size1-Regular"; + var stash = ""; + + if (group.name === "\\oiint" || group.name === "\\oiiint") { + // No font glyphs yet, so use a glyph w/o the oval. + // TODO: When font glyphs are available, delete this code. + stash = group.name.substr(1); // $FlowFixMe + + group.name = stash === "oiint" ? "\\iint" : "\\iiint"; + } + + base = buildCommon.makeSymbol(group.name, fontName, "math", options, ["mop", "op-symbol", large ? "large-op" : "small-op"]); + + if (stash.length > 0) { + // We're in \oiint or \oiiint. Overlay the oval. + // TODO: When font glyphs are available, delete this code. + var italic = base.italic; + var oval = buildCommon.staticSvg(stash + "Size" + (large ? "2" : "1"), options); + base = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: base, + shift: 0 + }, { + type: "elem", + elem: oval, + shift: large ? 0.08 : 0 + }] + }, options); // $FlowFixMe + + group.name = "\\" + stash; + base.classes.unshift("mop"); // $FlowFixMe + + base.italic = italic; + } + } else if (group.body) { + // If this is a list, compose that list. + var inner = buildHTML_buildExpression(group.body, options, true); + + if (inner.length === 1 && inner[0] instanceof domTree_SymbolNode) { + base = inner[0]; + base.classes[0] = "mop"; // replace old mclass + } else { + base = buildCommon.makeSpan(["mop"], buildCommon.tryCombineChars(inner), options); + } + } else { + // Otherwise, this is a text operator. Build the text from the + // operator's name. + // TODO(emily): Add a space in the middle of some of these + // operators, like \limsup + var output = []; + + for (var i = 1; i < group.name.length; i++) { + output.push(buildCommon.mathsym(group.name[i], group.mode, options)); + } + + base = buildCommon.makeSpan(["mop"], output, options); + } // If content of op is a single symbol, shift it vertically. + + + var baseShift = 0; + var slant = 0; + + if ((base instanceof domTree_SymbolNode || group.name === "\\oiint" || group.name === "\\oiiint") && !group.suppressBaseShift) { + // We suppress the shift of the base of \overset and \underset. Otherwise, + // shift the symbol so its center lies on the axis (rule 13). It + // appears that our fonts have the centers of the symbols already + // almost on the axis, so these numbers are very small. Note we + // don't actually apply this here, but instead it is used either in + // the vlist creation or separately when there are no limits. + baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction. + // $FlowFixMe + + slant = base.italic; + } + + if (hasLimits) { + return assembleSupSub_assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift); + } else { + if (baseShift) { + base.style.position = "relative"; + base.style.top = baseShift + "em"; + } + + return base; + } +}; + +var op_mathmlBuilder = function mathmlBuilder(group, options) { + var node; + + if (group.symbol) { + // This is a symbol. Just add the symbol. + node = new mathMLTree_MathNode("mo", [buildMathML_makeText(group.name, group.mode)]); + + if (utils.contains(noSuccessor, group.name)) { + node.setAttribute("largeop", "false"); + } + } else if (group.body) { + // This is an operator with children. Add them. + node = new mathMLTree_MathNode("mo", buildMathML_buildExpression(group.body, options)); + } else { + // This is a text operator. Add all of the characters from the + // operator's name. + node = new mathMLTree_MathNode("mi", [new mathMLTree_TextNode(group.name.slice(1))]); // Append an . + // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4 + + var operator = new mathMLTree_MathNode("mo", [buildMathML_makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + node = new mathMLTree_MathNode("mo", [node, operator]); + } else { + node = newDocumentFragment([node, operator]); + } + } + + return node; +}; + +var singleCharBigOps = { + "\u220F": "\\prod", + "\u2210": "\\coprod", + "\u2211": "\\sum", + "\u22C0": "\\bigwedge", + "\u22C1": "\\bigvee", + "\u22C2": "\\bigcap", + "\u22C3": "\\bigcup", + "\u2A00": "\\bigodot", + "\u2A01": "\\bigoplus", + "\u2A02": "\\bigotimes", + "\u2A04": "\\biguplus", + "\u2A06": "\\bigsqcup" +}; +defineFunction({ + type: "op", + names: ["\\coprod", "\\bigvee", "\\bigwedge", "\\biguplus", "\\bigcap", "\\bigcup", "\\intop", "\\prod", "\\sum", "\\bigotimes", "\\bigoplus", "\\bigodot", "\\bigsqcup", "\\smallint", "\u220F", "\u2210", "\u2211", "\u22C0", "\u22C1", "\u22C2", "\u22C3", "\u2A00", "\u2A01", "\u2A02", "\u2A04", "\u2A06"], + props: { + numArgs: 0 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var fName = funcName; + + if (fName.length === 1) { + fName = singleCharBigOps[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // Note: calling defineFunction with a type that's already been defined only +// works because the same htmlBuilder and mathmlBuilder are being used. + +defineFunction({ + type: "op", + names: ["\\mathop"], + props: { + numArgs: 1 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + body: ordargument(body) + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // There are 2 flags for operators; whether they produce limits in +// displaystyle, and whether they are symbols and should grow in +// displaystyle. These four groups cover the four possible choices. + +var singleCharIntegrals = { + "\u222B": "\\int", + "\u222C": "\\iint", + "\u222D": "\\iiint", + "\u222E": "\\oint", + "\u222F": "\\oiint", + "\u2230": "\\oiiint" +}; // No limits, not symbols + +defineFunction({ + type: "op", + names: ["\\arcsin", "\\arccos", "\\arctan", "\\arctg", "\\arcctg", "\\arg", "\\ch", "\\cos", "\\cosec", "\\cosh", "\\cot", "\\cotg", "\\coth", "\\csc", "\\ctg", "\\cth", "\\deg", "\\dim", "\\exp", "\\hom", "\\ker", "\\lg", "\\ln", "\\log", "\\sec", "\\sin", "\\sinh", "\\sh", "\\tan", "\\tanh", "\\tg", "\\th"], + props: { + numArgs: 0 + }, + handler: function handler(_ref3) { + var parser = _ref3.parser, + funcName = _ref3.funcName; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // Limits, not symbols + +defineFunction({ + type: "op", + names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"], + props: { + numArgs: 0 + }, + handler: function handler(_ref4) { + var parser = _ref4.parser, + funcName = _ref4.funcName; + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // No limits, symbols + +defineFunction({ + type: "op", + names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "\u222B", "\u222C", "\u222D", "\u222E", "\u222F", "\u2230"], + props: { + numArgs: 0 + }, + handler: function handler(_ref5) { + var parser = _ref5.parser, + funcName = _ref5.funcName; + var fName = funcName; + + if (fName.length === 1) { + fName = singleCharIntegrals[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/operatorname.js + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only +// "operatorname", but also "supsub" since \operatorname* can +var operatorname_htmlBuilder = function htmlBuilder(grp, options) { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + var supGroup; + var subGroup; + var hasLimits = false; + var group; + + if (grp.type === "supsub") { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = grp.sup; + subGroup = grp.sub; + group = assertNodeType(grp.base, "operatorname"); + hasLimits = true; + } else { + group = assertNodeType(grp, "operatorname"); + } + + var base; + + if (group.body.length > 0) { + var body = group.body.map(function (child) { + // $FlowFixMe: Check if the node has a string `text` property. + var childText = child.text; + + if (typeof childText === "string") { + return { + type: "textord", + mode: child.mode, + text: childText + }; + } else { + return child; + } + }); // Consolidate function names into symbol characters. + + var expression = buildHTML_buildExpression(body, options.withFont("mathrm"), true); + + for (var i = 0; i < expression.length; i++) { + var child = expression[i]; + + if (child instanceof domTree_SymbolNode) { + // Per amsopn package, + // change minus to hyphen and \ast to asterisk + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } + } + + base = buildCommon.makeSpan(["mop"], expression, options); + } else { + base = buildCommon.makeSpan(["mop"], [], options); + } + + if (hasLimits) { + return assembleSupSub_assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0); + } else { + return base; + } +}; + +var operatorname_mathmlBuilder = function mathmlBuilder(group, options) { + // The steps taken here are similar to the html version. + var expression = buildMathML_buildExpression(group.body, options.withFont("mathrm")); // Is expression a string or has it something like a fraction? + + var isAllString = true; // default + + for (var i = 0; i < expression.length; i++) { + var node = expression[i]; + + if (node instanceof mathMLTree.SpaceNode) {// Do nothing + } else if (node instanceof mathMLTree.MathNode) { + switch (node.type) { + case "mi": + case "mn": + case "ms": + case "mspace": + case "mtext": + break; + // Do nothing yet. + + case "mo": + { + var child = node.children[0]; + + if (node.children.length === 1 && child instanceof mathMLTree.TextNode) { + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } else { + isAllString = false; + } + + break; + } + + default: + isAllString = false; + } + } else { + isAllString = false; + } + } + + if (isAllString) { + // Write a single TextNode instead of multiple nested tags. + var word = expression.map(function (node) { + return node.toText(); + }).join(""); + expression = [new mathMLTree.TextNode(word)]; + } + + var identifier = new mathMLTree.MathNode("mi", expression); + identifier.setAttribute("mathvariant", "normal"); // \u2061 is the same as ⁡ + // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp + + var operator = new mathMLTree.MathNode("mo", [buildMathML_makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + return new mathMLTree.MathNode("mo", [identifier, operator]); + } else { + return mathMLTree.newDocumentFragment([identifier, operator]); + } +}; // \operatorname +// amsopn.dtx: \mathop{#1\kern\z@\operator@font#3}\newmcodes@ + + +defineFunction({ + type: "operatorname", + names: ["\\operatorname", "\\operatorname*"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "operatorname", + mode: parser.mode, + body: ordargument(body), + alwaysHandleSupSub: funcName === "\\operatorname*", + limits: false, + parentIsSupSub: false + }; + }, + htmlBuilder: operatorname_htmlBuilder, + mathmlBuilder: operatorname_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/ordgroup.js + + + + +defineFunctionBuilders({ + type: "ordgroup", + htmlBuilder: function htmlBuilder(group, options) { + if (group.semisimple) { + return buildCommon.makeFragment(buildHTML_buildExpression(group.body, options, false)); + } + + return buildCommon.makeSpan(["mord"], buildHTML_buildExpression(group.body, options, true), options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + return buildExpressionRow(group.body, options, true); + } +}); +// CONCATENATED MODULE: ./src/functions/overline.js + + + + + +defineFunction({ + type: "overline", + names: ["\\overline"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[0]; + return { + type: "overline", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Overlines are handled in the TeXbook pg 443, Rule 9. + // Build the inner group in the cramped style. + var innerGroup = buildHTML_buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body + + var line = buildCommon.makeLineSpan("overline-line", options); // Generate the vlist, with the appropriate kerns + + var defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + var vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: innerGroup + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: defaultRuleThickness + }] + }, options); + return buildCommon.makeSpan(["mord", "overline"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203E")]); + operator.setAttribute("stretchy", "true"); + var node = new mathMLTree.MathNode("mover", [buildMathML_buildGroup(group.body, options), operator]); + node.setAttribute("accent", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/phantom.js + + + + + +defineFunction({ + type: "phantom", + names: ["\\phantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[0]; + return { + type: "phantom", + mode: parser.mode, + body: ordargument(body) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options.withPhantom(), false); // \phantom isn't supposed to affect the elements it contains. + // See "color" for more details. + + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(group.body, options); + return new mathMLTree.MathNode("mphantom", inner); + } +}); +defineFunction({ + type: "hphantom", + names: ["\\hphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + return { + type: "hphantom", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var node = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options.withPhantom())]); + node.height = 0; + node.depth = 0; + + if (node.children) { + for (var i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + node.children[i].depth = 0; + } + } // See smash for comment re: use of makeVList + + + node = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \smash as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [node], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(ordargument(group.body), options); + var phantom = new mathMLTree.MathNode("mphantom", inner); + var node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("height", "0px"); + node.setAttribute("depth", "0px"); + return node; + } +}); +defineFunction({ + type: "vphantom", + names: ["\\vphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + var body = args[0]; + return { + type: "vphantom", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var inner = buildCommon.makeSpan(["inner"], [buildHTML_buildGroup(group.body, options.withPhantom())]); + var fix = buildCommon.makeSpan(["fix"], []); + return buildCommon.makeSpan(["mord", "rlap"], [inner, fix], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(ordargument(group.body), options); + var phantom = new mathMLTree.MathNode("mphantom", inner); + var node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("width", "0px"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/raisebox.js + + + + + + + // Box manipulation + +defineFunction({ + type: "raisebox", + names: ["\\raisebox"], + props: { + numArgs: 2, + argTypes: ["size", "hbox"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var amount = assertNodeType(args[0], "size").value; + var body = args[1]; + return { + type: "raisebox", + mode: parser.mode, + dy: amount, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var body = buildHTML_buildGroup(group.body, options); + var dy = units_calculateSize(group.dy, options); + return buildCommon.makeVList({ + positionType: "shift", + positionData: -dy, + children: [{ + type: "elem", + elem: body + }] + }, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + var dy = group.dy.number + group.dy.unit; + node.setAttribute("voffset", dy); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/rule.js + + + + + +defineFunction({ + type: "rule", + names: ["\\rule"], + props: { + numArgs: 2, + numOptionalArgs: 1, + argTypes: ["size", "size", "size"] + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var shift = optArgs[0]; + var width = assertNodeType(args[0], "size"); + var height = assertNodeType(args[1], "size"); + return { + type: "rule", + mode: parser.mode, + shift: shift && assertNodeType(shift, "size").value, + width: width.value, + height: height.value + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Make an empty span for the rule + var rule = buildCommon.makeSpan(["mord", "rule"], [], options); // Calculate the shift, width, and height of the rule, and account for units + + var width = units_calculateSize(group.width, options); + var height = units_calculateSize(group.height, options); + var shift = group.shift ? units_calculateSize(group.shift, options) : 0; // Style the rule to the right size + + rule.style.borderRightWidth = width + "em"; + rule.style.borderTopWidth = height + "em"; + rule.style.bottom = shift + "em"; // Record the height and width + + rule.width = width; + rule.height = height + shift; + rule.depth = -shift; // Font size is the number large enough that the browser will + // reserve at least `absHeight` space above the baseline. + // The 1.125 factor was empirically determined + + rule.maxFontSize = height * 1.125 * options.sizeMultiplier; + return rule; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var width = units_calculateSize(group.width, options); + var height = units_calculateSize(group.height, options); + var shift = group.shift ? units_calculateSize(group.shift, options) : 0; + var color = options.color && options.getColor() || "black"; + var rule = new mathMLTree.MathNode("mspace"); + rule.setAttribute("mathbackground", color); + rule.setAttribute("width", width + "em"); + rule.setAttribute("height", height + "em"); + var wrapper = new mathMLTree.MathNode("mpadded", [rule]); + + if (shift >= 0) { + wrapper.setAttribute("height", "+" + shift + "em"); + } else { + wrapper.setAttribute("height", shift + "em"); + wrapper.setAttribute("depth", "+" + -shift + "em"); + } + + wrapper.setAttribute("voffset", shift + "em"); + return wrapper; + } +}); +// CONCATENATED MODULE: ./src/functions/sizing.js + + + + + +function sizingGroup(value, options, baseOptions) { + var inner = buildHTML_buildExpression(value, options, false); + var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize + // manually. Handle nested size changes. + + for (var i = 0; i < inner.length; i++) { + var pos = inner[i].classes.indexOf("sizing"); + + if (pos < 0) { + Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions)); + } else if (inner[i].classes[pos + 1] === "reset-size" + options.size) { + // This is a nested size change: e.g., inner[i] is the "b" in + // `\Huge a \small b`. Override the old size (the `reset-` class) + // but not the new size. + inner[i].classes[pos + 1] = "reset-size" + baseOptions.size; + } + + inner[i].height *= multiplier; + inner[i].depth *= multiplier; + } + + return buildCommon.makeFragment(inner); +} +var sizeFuncs = ["\\tiny", "\\sixptsize", "\\scriptsize", "\\footnotesize", "\\small", "\\normalsize", "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge"]; +var sizing_htmlBuilder = function htmlBuilder(group, options) { + // Handle sizing operators like \Huge. Real TeX doesn't actually allow + // these functions inside of math expressions, so we do some special + // handling. + var newOptions = options.havingSize(group.size); + return sizingGroup(group.body, newOptions, options); +}; +defineFunction({ + type: "sizing", + names: sizeFuncs, + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref, args) { + var breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + var body = parser.parseExpression(false, breakOnTokenText); + return { + type: "sizing", + mode: parser.mode, + // Figure out what size to use based on the list of functions above + size: sizeFuncs.indexOf(funcName) + 1, + body: body + }; + }, + htmlBuilder: sizing_htmlBuilder, + mathmlBuilder: function mathmlBuilder(group, options) { + var newOptions = options.havingSize(group.size); + var inner = buildMathML_buildExpression(group.body, newOptions); + var node = new mathMLTree.MathNode("mstyle", inner); // TODO(emily): This doesn't produce the correct size for nested size + // changes, because we don't keep state of what style we're currently + // in, so we can't reset the size to normal before changing it. Now + // that we're passing an options parameter we should be able to fix + // this. + + node.setAttribute("mathsize", newOptions.sizeMultiplier + "em"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/smash.js +// smash, with optional [tb], as in AMS + + + + + + +defineFunction({ + type: "smash", + names: ["\\smash"], + props: { + numArgs: 1, + numOptionalArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var smashHeight = false; + var smashDepth = false; + var tbArg = optArgs[0] && assertNodeType(optArgs[0], "ordgroup"); + + if (tbArg) { + // Optional [tb] argument is engaged. + // ref: amsmath: \renewcommand{\smash}[1][tb]{% + // def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}% + var letter = ""; + + for (var i = 0; i < tbArg.body.length; ++i) { + var node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property. + + letter = node.text; + + if (letter === "t") { + smashHeight = true; + } else if (letter === "b") { + smashDepth = true; + } else { + smashHeight = false; + smashDepth = false; + break; + } + } + } else { + smashHeight = true; + smashDepth = true; + } + + var body = args[0]; + return { + type: "smash", + mode: parser.mode, + body: body, + smashHeight: smashHeight, + smashDepth: smashDepth + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var node = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options)]); + + if (!group.smashHeight && !group.smashDepth) { + return node; + } + + if (group.smashHeight) { + node.height = 0; // In order to influence makeVList, we have to reset the children. + + if (node.children) { + for (var i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + } + } + } + + if (group.smashDepth) { + node.depth = 0; + + if (node.children) { + for (var _i = 0; _i < node.children.length; _i++) { + node.children[_i].depth = 0; + } + } + } // At this point, we've reset the TeX-like height and depth values. + // But the span still has an HTML line height. + // makeVList applies "display: table-cell", which prevents the browser + // from acting on that line height. So we'll call makeVList now. + + + var smashedNode = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \hphantom as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [smashedNode], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + + if (group.smashHeight) { + node.setAttribute("height", "0px"); + } + + if (group.smashDepth) { + node.setAttribute("depth", "0px"); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/sqrt.js + + + + + + + +defineFunction({ + type: "sqrt", + names: ["\\sqrt"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var index = optArgs[0]; + var body = args[0]; + return { + type: "sqrt", + mode: parser.mode, + body: body, + index: index + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Square roots are handled in the TeXbook pg. 443, Rule 11. + // First, we do the same steps as in overline to build the inner group + // and line + var inner = buildHTML_buildGroup(group.body, options.havingCrampedStyle()); + + if (inner.height === 0) { + // Render a small surd. + inner.height = options.fontMetrics().xHeight; + } // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + + inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \surd delimiter + + var metrics = options.fontMetrics(); + var theta = metrics.defaultRuleThickness; + var phi = theta; + + if (options.style.id < src_Style.TEXT.id) { + phi = options.fontMetrics().xHeight; + } // Calculate the clearance between the body and line + + + var lineClearance = theta + phi / 4; + var minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size + + var _delimiter$sqrtImage = delimiter.sqrtImage(minDelimiterHeight, options), + img = _delimiter$sqrtImage.span, + ruleWidth = _delimiter$sqrtImage.ruleWidth, + advanceWidth = _delimiter$sqrtImage.advanceWidth; + + var delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size + + if (delimDepth > inner.height + inner.depth + lineClearance) { + lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2; + } // Shift the sqrt image + + + var imgShift = img.height - inner.height - lineClearance - ruleWidth; + inner.style.paddingLeft = advanceWidth + "em"; // Overlay the image and the argument. + + var body = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: inner, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: -(inner.height + imgShift) + }, { + type: "elem", + elem: img + }, { + type: "kern", + size: ruleWidth + }] + }, options); + + if (!group.index) { + return buildCommon.makeSpan(["mord", "sqrt"], [body], options); + } else { + // Handle the optional root index + // The index is always in scriptscript style + var newOptions = options.havingStyle(src_Style.SCRIPTSCRIPT); + var rootm = buildHTML_buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX + // source, in the definition of `\r@@t`. + + var toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly + + var rootVList = buildCommon.makeVList({ + positionType: "shift", + positionData: -toShift, + children: [{ + type: "elem", + elem: rootm + }] + }, options); // Add a class surrounding it so we can add on the appropriate + // kerning + + var rootVListWrap = buildCommon.makeSpan(["root"], [rootVList]); + return buildCommon.makeSpan(["mord", "sqrt"], [rootVListWrap, body], options); + } + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var body = group.body, + index = group.index; + return index ? new mathMLTree.MathNode("mroot", [buildMathML_buildGroup(body, options), buildMathML_buildGroup(index, options)]) : new mathMLTree.MathNode("msqrt", [buildMathML_buildGroup(body, options)]); + } +}); +// CONCATENATED MODULE: ./src/functions/styling.js + + + + + +var styling_styleMap = { + "display": src_Style.DISPLAY, + "text": src_Style.TEXT, + "script": src_Style.SCRIPT, + "scriptscript": src_Style.SCRIPTSCRIPT +}; +defineFunction({ + type: "styling", + names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref, args) { + var breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + // parse out the implicit body + var body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g. + // here and in buildHTML and de-dupe the enumeration of all the styles). + // $FlowFixMe: The names above exactly match the styles. + + var style = funcName.slice(1, funcName.length - 5); + return { + type: "styling", + mode: parser.mode, + // Figure out what style to use by pulling out the style from + // the function name + style: style, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Style changes are handled in the TeXbook on pg. 442, Rule 3. + var newStyle = styling_styleMap[group.style]; + var newOptions = options.havingStyle(newStyle).withFont(''); + return sizingGroup(group.body, newOptions, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // Figure out what style we're changing to. + var newStyle = styling_styleMap[group.style]; + var newOptions = options.havingStyle(newStyle); + var inner = buildMathML_buildExpression(group.body, newOptions); + var node = new mathMLTree.MathNode("mstyle", inner); + var styleAttributes = { + "display": ["0", "true"], + "text": ["0", "false"], + "script": ["1", "false"], + "scriptscript": ["2", "false"] + }; + var attr = styleAttributes[group.style]; + node.setAttribute("scriptlevel", attr[0]); + node.setAttribute("displaystyle", attr[1]); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/supsub.js + + + + + + + + + + + + + +/** + * Sometimes, groups perform special rules when they have superscripts or + * subscripts attached to them. This function lets the `supsub` group know that + * Sometimes, groups perform special rules when they have superscripts or + * its inner element should handle the superscripts and subscripts instead of + * handling them itself. + */ +var supsub_htmlBuilderDelegate = function htmlBuilderDelegate(group, options) { + var base = group.base; + + if (!base) { + return null; + } else if (base.type === "op") { + // Operators handle supsubs differently when they have limits + // (e.g. `\displaystyle\sum_2^3`) + var delegate = base.limits && (options.style.size === src_Style.DISPLAY.size || base.alwaysHandleSupSub); + return delegate ? op_htmlBuilder : null; + } else if (base.type === "operatorname") { + var _delegate = base.alwaysHandleSupSub && (options.style.size === src_Style.DISPLAY.size || base.limits); + + return _delegate ? operatorname_htmlBuilder : null; + } else if (base.type === "accent") { + return utils.isCharacterBox(base.base) ? accent_htmlBuilder : null; + } else if (base.type === "horizBrace") { + var isSup = !group.sub; + return isSup === base.isOver ? horizBrace_htmlBuilder : null; + } else { + return null; + } +}; // Super scripts and subscripts, whose precise placement can depend on other +// functions that precede them. + + +defineFunctionBuilders({ + type: "supsub", + htmlBuilder: function htmlBuilder(group, options) { + // Superscript and subscripts are handled in the TeXbook on page + // 445-446, rules 18(a-f). + // Here is where we defer to the inner group if it should handle + // superscripts and subscripts itself. + var builderDelegate = supsub_htmlBuilderDelegate(group, options); + + if (builderDelegate) { + return builderDelegate(group, options); + } + + var valueBase = group.base, + valueSup = group.sup, + valueSub = group.sub; + var base = buildHTML_buildGroup(valueBase, options); + var supm; + var subm; + var metrics = options.fontMetrics(); // Rule 18a + + var supShift = 0; + var subShift = 0; + var isCharacterBox = valueBase && utils.isCharacterBox(valueBase); + + if (valueSup) { + var newOptions = options.havingStyle(options.style.sup()); + supm = buildHTML_buildGroup(valueSup, newOptions, options); + + if (!isCharacterBox) { + supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + if (valueSub) { + var _newOptions = options.havingStyle(options.style.sub()); + + subm = buildHTML_buildGroup(valueSub, _newOptions, options); + + if (!isCharacterBox) { + subShift = base.depth + _newOptions.fontMetrics().subDrop * _newOptions.sizeMultiplier / options.sizeMultiplier; + } + } // Rule 18c + + + var minSupShift; + + if (options.style === src_Style.DISPLAY) { + minSupShift = metrics.sup1; + } else if (options.style.cramped) { + minSupShift = metrics.sup3; + } else { + minSupShift = metrics.sup2; + } // scriptspace is a font-size-independent size, so scale it + // appropriately for use as the marginRight. + + + var multiplier = options.sizeMultiplier; + var marginRight = 0.5 / metrics.ptPerEm / multiplier + "em"; + var marginLeft = null; + + if (subm) { + // Subscripts shouldn't be shifted by the base's italic correction. + // Account for that by shifting the subscript back the appropriate + // amount. Note we only do this when the base is a single symbol. + var isOiint = group.base && group.base.type === "op" && group.base.name && (group.base.name === "\\oiint" || group.base.name === "\\oiiint"); + + if (base instanceof domTree_SymbolNode || isOiint) { + // $FlowFixMe + marginLeft = -base.italic + "em"; + } + } + + var supsub; + + if (supm && subm) { + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + subShift = Math.max(subShift, metrics.sub2); + var ruleWidth = metrics.defaultRuleThickness; // Rule 18e + + var maxWidth = 4 * ruleWidth; + + if (supShift - supm.depth - (subm.height - subShift) < maxWidth) { + subShift = maxWidth - (supShift - supm.depth) + subm.height; + var psi = 0.8 * metrics.xHeight - (supShift - supm.depth); + + if (psi > 0) { + supShift += psi; + subShift -= psi; + } + } + + var vlistElem = [{ + type: "elem", + elem: subm, + shift: subShift, + marginRight: marginRight, + marginLeft: marginLeft + }, { + type: "elem", + elem: supm, + shift: -supShift, + marginRight: marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "individualShift", + children: vlistElem + }, options); + } else if (subm) { + // Rule 18b + subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight); + var _vlistElem = [{ + type: "elem", + elem: subm, + marginLeft: marginLeft, + marginRight: marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: subShift, + children: _vlistElem + }, options); + } else if (supm) { + // Rule 18c, d + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: -supShift, + children: [{ + type: "elem", + elem: supm, + marginRight: marginRight + }] + }, options); + } else { + throw new Error("supsub must have either sup or sub."); + } // Wrap the supsub vlist in a span.msupsub to reset text-align. + + + var mclass = getTypeOfDomTree(base, "right") || "mord"; + return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan(["msupsub"], [supsub])], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // Is the inner group a relevant horizonal brace? + var isBrace = false; + var isOver; + var isSup; + + if (group.base && group.base.type === "horizBrace") { + isSup = !!group.sup; + + if (isSup === group.base.isOver) { + isBrace = true; + isOver = group.base.isOver; + } + } + + if (group.base && (group.base.type === "op" || group.base.type === "operatorname")) { + group.base.parentIsSupSub = true; + } + + var children = [buildMathML_buildGroup(group.base, options)]; + + if (group.sub) { + children.push(buildMathML_buildGroup(group.sub, options)); + } + + if (group.sup) { + children.push(buildMathML_buildGroup(group.sup, options)); + } + + var nodeType; + + if (isBrace) { + nodeType = isOver ? "mover" : "munder"; + } else if (!group.sub) { + var base = group.base; + + if (base && base.type === "op" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) { + nodeType = "mover"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) { + nodeType = "mover"; + } else { + nodeType = "msup"; + } + } else if (!group.sup) { + var _base = group.base; + + if (_base && _base.type === "op" && _base.limits && (options.style === src_Style.DISPLAY || _base.alwaysHandleSupSub)) { + nodeType = "munder"; + } else if (_base && _base.type === "operatorname" && _base.alwaysHandleSupSub && (_base.limits || options.style === src_Style.DISPLAY)) { + nodeType = "munder"; + } else { + nodeType = "msub"; + } + } else { + var _base2 = group.base; + + if (_base2 && _base2.type === "op" && _base2.limits && options.style === src_Style.DISPLAY) { + nodeType = "munderover"; + } else if (_base2 && _base2.type === "operatorname" && _base2.alwaysHandleSupSub && (options.style === src_Style.DISPLAY || _base2.limits)) { + nodeType = "munderover"; + } else { + nodeType = "msubsup"; + } + } + + var node = new mathMLTree.MathNode(nodeType, children); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsOp.js + + + + // Operator ParseNodes created in Parser.js from symbol Groups in src/symbols.js. + +defineFunctionBuilders({ + type: "atom", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.mathsym(group.text, group.mode, options, ["m" + group.family]); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.text, group.mode)]); + + if (group.family === "bin") { + var variant = buildMathML_getVariant(group, options); + + if (variant === "bold-italic") { + node.setAttribute("mathvariant", variant); + } + } else if (group.family === "punct") { + node.setAttribute("separator", "true"); + } else if (group.family === "open" || group.family === "close") { + // Delims built here should not stretch vertically. + // See delimsizing.js for stretchy delims. + node.setAttribute("stretchy", "false"); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsOrd.js + + + + +// "mathord" and "textord" ParseNodes created in Parser.js from symbol Groups in +var defaultVariant = { + "mi": "italic", + "mn": "normal", + "mtext": "normal" +}; +defineFunctionBuilders({ + type: "mathord", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "mathord"); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mi", [buildMathML_makeText(group.text, group.mode, options)]); + var variant = buildMathML_getVariant(group, options) || "italic"; + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } +}); +defineFunctionBuilders({ + type: "textord", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "textord"); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var text = buildMathML_makeText(group.text, group.mode, options); + var variant = buildMathML_getVariant(group, options) || "normal"; + var node; + + if (group.mode === 'text') { + node = new mathMLTree.MathNode("mtext", [text]); + } else if (/[0-9]/.test(group.text)) { + // TODO(kevinb) merge adjacent nodes + // do it as a post processing step + node = new mathMLTree.MathNode("mn", [text]); + } else if (group.text === "\\prime") { + node = new mathMLTree.MathNode("mo", [text]); + } else { + node = new mathMLTree.MathNode("mi", [text]); + } + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsSpacing.js + + + + // A map of CSS-based spacing functions to their CSS class. + +var cssSpace = { + "\\nobreak": "nobreak", + "\\allowbreak": "allowbreak" +}; // A lookup table to determine whether a spacing function/symbol should be +// treated like a regular space character. If a symbol or command is a key +// in this table, then it should be a regular space character. Furthermore, +// the associated value may have a `className` specifying an extra CSS class +// to add to the created `span`. + +var regularSpace = { + " ": {}, + "\\ ": {}, + "~": { + className: "nobreak" + }, + "\\space": {}, + "\\nobreakspace": { + className: "nobreak" + } +}; // ParseNode<"spacing"> created in Parser.js from the "spacing" symbol Groups in +// src/symbols.js. + +defineFunctionBuilders({ + type: "spacing", + htmlBuilder: function htmlBuilder(group, options) { + if (regularSpace.hasOwnProperty(group.text)) { + var className = regularSpace[group.text].className || ""; // Spaces are generated by adding an actual space. Each of these + // things has an entry in the symbols table, so these will be turned + // into appropriate outputs. + + if (group.mode === "text") { + var ord = buildCommon.makeOrd(group, options, "textord"); + ord.classes.push(className); + return ord; + } else { + return buildCommon.makeSpan(["mspace", className], [buildCommon.mathsym(group.text, group.mode, options)], options); + } + } else if (cssSpace.hasOwnProperty(group.text)) { + // Spaces based on just a CSS class. + return buildCommon.makeSpan(["mspace", cssSpace[group.text]], [], options); + } else { + throw new src_ParseError("Unknown type of space \"" + group.text + "\""); + } + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node; + + if (regularSpace.hasOwnProperty(group.text)) { + node = new mathMLTree.MathNode("mtext", [new mathMLTree.TextNode("\xA0")]); + } else if (cssSpace.hasOwnProperty(group.text)) { + // CSS-based MathML spaces (\nobreak, \allowbreak) are ignored + return new mathMLTree.MathNode("mspace"); + } else { + throw new src_ParseError("Unknown type of space \"" + group.text + "\""); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/tag.js + + + + +var tag_pad = function pad() { + var padNode = new mathMLTree.MathNode("mtd", []); + padNode.setAttribute("width", "50%"); + return padNode; +}; + +defineFunctionBuilders({ + type: "tag", + mathmlBuilder: function mathmlBuilder(group, options) { + var table = new mathMLTree.MathNode("mtable", [new mathMLTree.MathNode("mtr", [tag_pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.body, options)]), tag_pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.tag, options)])])]); + table.setAttribute("width", "100%"); + return table; // TODO: Left-aligned tags. + // Currently, the group and options passed here do not contain + // enough info to set tag alignment. `leqno` is in Settings but it is + // not passed to Options. On the HTML side, leqno is + // set by a CSS class applied in buildTree.js. That would have worked + // in MathML if browsers supported . Since they don't, we + // need to rewrite the way this function is called. + } +}); +// CONCATENATED MODULE: ./src/functions/text.js + + + + // Non-mathy text, possibly in a font + +var textFontFamilies = { + "\\text": undefined, + "\\textrm": "textrm", + "\\textsf": "textsf", + "\\texttt": "texttt", + "\\textnormal": "textrm" +}; +var textFontWeights = { + "\\textbf": "textbf", + "\\textmd": "textmd" +}; +var textFontShapes = { + "\\textit": "textit", + "\\textup": "textup" +}; + +var optionsWithFont = function optionsWithFont(group, options) { + var font = group.font; // Checks if the argument is a font family or a font style. + + if (!font) { + return options; + } else if (textFontFamilies[font]) { + return options.withTextFontFamily(textFontFamilies[font]); + } else if (textFontWeights[font]) { + return options.withTextFontWeight(textFontWeights[font]); + } else { + return options.withTextFontShape(textFontShapes[font]); + } +}; + +defineFunction({ + type: "text", + names: [// Font families + "\\text", "\\textrm", "\\textsf", "\\texttt", "\\textnormal", // Font weights + "\\textbf", "\\textmd", // Font Shapes + "\\textit", "\\textup"], + props: { + numArgs: 1, + argTypes: ["text"], + greediness: 2, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "text", + mode: parser.mode, + body: ordargument(body), + font: funcName + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var newOptions = optionsWithFont(group, options); + var inner = buildHTML_buildExpression(group.body, newOptions, true); + return buildCommon.makeSpan(["mord", "text"], buildCommon.tryCombineChars(inner), newOptions); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var newOptions = optionsWithFont(group, options); + return buildExpressionRow(group.body, newOptions); + } +}); +// CONCATENATED MODULE: ./src/functions/underline.js + + + + + +defineFunction({ + type: "underline", + names: ["\\underline"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "underline", + mode: parser.mode, + body: args[0] + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Underlines are handled in the TeXbook pg 443, Rule 10. + // Build the inner group. + var innerGroup = buildHTML_buildGroup(group.body, options); // Create the line to go below the body + + var line = buildCommon.makeLineSpan("underline-line", options); // Generate the vlist, with the appropriate kerns + + var defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + var vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "kern", + size: defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "underline"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203E")]); + operator.setAttribute("stretchy", "true"); + var node = new mathMLTree.MathNode("munder", [buildMathML_buildGroup(group.body, options), operator]); + node.setAttribute("accentunder", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/verb.js + + + + +defineFunction({ + type: "verb", + names: ["\\verb"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(context, args, optArgs) { + // \verb and \verb* are dealt with directly in Parser.js. + // If we end up here, it's because of a failure to match the two delimiters + // in the regex in Lexer.js. LaTeX raises the following error when \verb is + // terminated by end of line (or file). + throw new src_ParseError("\\verb ended by end of line instead of matching delimiter"); + }, + htmlBuilder: function htmlBuilder(group, options) { + var text = makeVerb(group); + var body = []; // \verb enters text mode and therefore is sized like \textstyle + + var newOptions = options.havingStyle(options.style.text()); + + for (var i = 0; i < text.length; i++) { + var c = text[i]; + + if (c === '~') { + c = '\\textasciitilde'; + } + + body.push(buildCommon.makeSymbol(c, "Typewriter-Regular", group.mode, newOptions, ["mord", "texttt"])); + } + + return buildCommon.makeSpan(["mord", "text"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var text = new mathMLTree.TextNode(makeVerb(group)); + var node = new mathMLTree.MathNode("mtext", [text]); + node.setAttribute("mathvariant", "monospace"); + return node; + } +}); +/** + * Converts verb group into body string. + * + * \verb* replaces each space with an open box \u2423 + * \verb replaces each space with a no-break space \xA0 + */ + +var makeVerb = function makeVerb(group) { + return group.body.replace(/ /g, group.star ? "\u2423" : '\xA0'); +}; +// CONCATENATED MODULE: ./src/functions.js +/** Include this to ensure that all functions are defined. */ + +var functions = _functions; +/* harmony default export */ var src_functions = (functions); // TODO(kevinb): have functions return an object and call defineFunction with +// that object in this file instead of relying on side-effects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// CONCATENATED MODULE: ./src/Lexer.js +/** + * The Lexer class handles tokenizing the input in various ways. Since our + * parser expects us to be able to backtrack, the lexer allows lexing from any + * given starting point. + * + * Its main exposed function is the `lex` function, which takes a position to + * lex from and a type of token to lex. It defers to the appropriate `_innerLex` + * function. + * + * The various `_innerLex` functions perform the actual lexing of different + * kinds. + */ + + + + +/* The following tokenRegex + * - matches typical whitespace (but not NBSP etc.) using its first group + * - does not match any control character \x00-\x1f except whitespace + * - does not match a bare backslash + * - matches any ASCII character except those just mentioned + * - does not match the BMP private use area \uE000-\uF8FF + * - does not match bare surrogate code units + * - matches any BMP character except for those just described + * - matches any valid Unicode surrogate pair + * - matches a backslash followed by one or more letters + * - matches a backslash followed by any BMP character, including newline + * Just because the Lexer matches something doesn't mean it's valid input: + * If there is no matching function or symbol definition, the Parser will + * still reject the input. + */ +var spaceRegexString = "[ \r\n\t]"; +var controlWordRegexString = "\\\\[a-zA-Z@]+"; +var controlSymbolRegexString = "\\\\[^\uD800-\uDFFF]"; +var controlWordWhitespaceRegexString = "" + controlWordRegexString + spaceRegexString + "*"; +var controlWordWhitespaceRegex = new RegExp("^(" + controlWordRegexString + ")" + spaceRegexString + "*$"); +var combiningDiacriticalMarkString = "[\u0300-\u036F]"; +var combiningDiacriticalMarksEndRegex = new RegExp(combiningDiacriticalMarkString + "+$"); +var tokenRegexString = "(" + spaceRegexString + "+)|" + // whitespace +"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]" + ( // single codepoint +combiningDiacriticalMarkString + "*") + // ...plus accents +"|[\uD800-\uDBFF][\uDC00-\uDFFF]" + ( // surrogate pair +combiningDiacriticalMarkString + "*") + // ...plus accents +"|\\\\verb\\*([^]).*?\\3" + // \verb* +"|\\\\verb([^*a-zA-Z]).*?\\4" + // \verb unstarred +"|\\\\operatorname\\*" + ( // \operatorname* +"|" + controlWordWhitespaceRegexString) + ( // \macroName + spaces +"|" + controlSymbolRegexString + ")"); // \\, \', etc. + +/** Main Lexer class */ + +var Lexer_Lexer = +/*#__PURE__*/ +function () { + // category codes, only supports comment characters (14) for now + function Lexer(input, settings) { + this.input = void 0; + this.settings = void 0; + this.tokenRegex = void 0; + this.catcodes = void 0; + // Separate accents from characters + this.input = input; + this.settings = settings; + this.tokenRegex = new RegExp(tokenRegexString, 'g'); + this.catcodes = { + "%": 14 // comment character + + }; + } + + var _proto = Lexer.prototype; + + _proto.setCatcode = function setCatcode(char, code) { + this.catcodes[char] = code; + } + /** + * This function lexes a single token. + */ + ; + + _proto.lex = function lex() { + var input = this.input; + var pos = this.tokenRegex.lastIndex; + + if (pos === input.length) { + return new Token_Token("EOF", new SourceLocation(this, pos, pos)); + } + + var match = this.tokenRegex.exec(input); + + if (match === null || match.index !== pos) { + throw new src_ParseError("Unexpected character: '" + input[pos] + "'", new Token_Token(input[pos], new SourceLocation(this, pos, pos + 1))); + } + + var text = match[2] || " "; + + if (this.catcodes[text] === 14) { + // comment character + var nlIndex = input.indexOf('\n', this.tokenRegex.lastIndex); + + if (nlIndex === -1) { + this.tokenRegex.lastIndex = input.length; // EOF + + this.settings.reportNonstrict("commentAtEnd", "% comment has no terminating newline; LaTeX would " + "fail because of commenting the end of math mode (e.g. $)"); + } else { + this.tokenRegex.lastIndex = nlIndex + 1; + } + + return this.lex(); + } // Trim any trailing whitespace from control word match + + + var controlMatch = text.match(controlWordWhitespaceRegex); + + if (controlMatch) { + text = controlMatch[1]; + } + + return new Token_Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex)); + }; + + return Lexer; +}(); + + +// CONCATENATED MODULE: ./src/Namespace.js +/** + * A `Namespace` refers to a space of nameable things like macros or lengths, + * which can be `set` either globally or local to a nested group, using an + * undo stack similar to how TeX implements this functionality. + * Performance-wise, `get` and local `set` take constant time, while global + * `set` takes time proportional to the depth of group nesting. + */ + + +var Namespace_Namespace = +/*#__PURE__*/ +function () { + /** + * Both arguments are optional. The first argument is an object of + * built-in mappings which never change. The second argument is an object + * of initial (global-level) mappings, which will constantly change + * according to any global/top-level `set`s done. + */ + function Namespace(builtins, globalMacros) { + if (builtins === void 0) { + builtins = {}; + } + + if (globalMacros === void 0) { + globalMacros = {}; + } + + this.current = void 0; + this.builtins = void 0; + this.undefStack = void 0; + this.current = globalMacros; + this.builtins = builtins; + this.undefStack = []; + } + /** + * Start a new nested group, affecting future local `set`s. + */ + + + var _proto = Namespace.prototype; + + _proto.beginGroup = function beginGroup() { + this.undefStack.push({}); + } + /** + * End current nested group, restoring values before the group began. + */ + ; + + _proto.endGroup = function endGroup() { + if (this.undefStack.length === 0) { + throw new src_ParseError("Unbalanced namespace destruction: attempt " + "to pop global namespace; please report this as a bug"); + } + + var undefs = this.undefStack.pop(); + + for (var undef in undefs) { + if (undefs.hasOwnProperty(undef)) { + if (undefs[undef] === undefined) { + delete this.current[undef]; + } else { + this.current[undef] = undefs[undef]; + } + } + } + } + /** + * Detect whether `name` has a definition. Equivalent to + * `get(name) != null`. + */ + ; + + _proto.has = function has(name) { + return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name); + } + /** + * Get the current value of a name, or `undefined` if there is no value. + * + * Note: Do not use `if (namespace.get(...))` to detect whether a macro + * is defined, as the definition may be the empty string which evaluates + * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or + * `if (namespace.has(...))`. + */ + ; + + _proto.get = function get(name) { + if (this.current.hasOwnProperty(name)) { + return this.current[name]; + } else { + return this.builtins[name]; + } + } + /** + * Set the current value of a name, and optionally set it globally too. + * Local set() sets the current value and (when appropriate) adds an undo + * operation to the undo stack. Global set() may change the undo + * operation at every level, so takes time linear in their number. + */ + ; + + _proto.set = function set(name, value, global) { + if (global === void 0) { + global = false; + } + + if (global) { + // Global set is equivalent to setting in all groups. Simulate this + // by destroying any undos currently scheduled for this name, + // and adding an undo with the *new* value (in case it later gets + // locally reset within this environment). + for (var i = 0; i < this.undefStack.length; i++) { + delete this.undefStack[i][name]; + } + + if (this.undefStack.length > 0) { + this.undefStack[this.undefStack.length - 1][name] = value; + } + } else { + // Undo this set at end of this group (possibly to `undefined`), + // unless an undo is already in place, in which case that older + // value is the correct one. + var top = this.undefStack[this.undefStack.length - 1]; + + if (top && !top.hasOwnProperty(name)) { + top[name] = this.current[name]; + } + } + + this.current[name] = value; + }; + + return Namespace; +}(); + + +// CONCATENATED MODULE: ./src/macros.js +/** + * Predefined macros for KaTeX. + * This can be used to define some commands in terms of others. + */ + + + + + + +var builtinMacros = {}; +/* harmony default export */ var macros = (builtinMacros); // This function might one day accept an additional argument and do more things. + +function defineMacro(name, body) { + builtinMacros[name] = body; +} ////////////////////////////////////////////////////////////////////// +// macro tools + +defineMacro("\\noexpand", function (context) { + // The expansion is the token itself; but that token is interpreted + // as if its meaning were ‘\relax’ if it is a control sequence that + // would ordinarily be expanded by TeX’s expansion rules. + var t = context.popToken(); + + if (context.isExpandable(t.text)) { + t.noexpand = true; + t.treatAsRelax = true; + } + + return { + tokens: [t], + numArgs: 0 + }; +}); +defineMacro("\\expandafter", function (context) { + // TeX first reads the token that comes immediately after \expandafter, + // without expanding it; let’s call this token t. Then TeX reads the + // token that comes after t (and possibly more tokens, if that token + // has an argument), replacing it by its expansion. Finally TeX puts + // t back in front of that expansion. + var t = context.popToken(); + context.expandOnce(true); // expand only an expandable token + + return { + tokens: [t], + numArgs: 0 + }; +}); // LaTeX's \@firstoftwo{#1}{#2} expands to #1, skipping #2 +// TeX source: \long\def\@firstoftwo#1#2{#1} + +defineMacro("\\@firstoftwo", function (context) { + var args = context.consumeArgs(2); + return { + tokens: args[0], + numArgs: 0 + }; +}); // LaTeX's \@secondoftwo{#1}{#2} expands to #2, skipping #1 +// TeX source: \long\def\@secondoftwo#1#2{#2} + +defineMacro("\\@secondoftwo", function (context) { + var args = context.consumeArgs(2); + return { + tokens: args[1], + numArgs: 0 + }; +}); // LaTeX's \@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded) +// symbol that isn't a space, consuming any spaces but not consuming the +// first nonspace character. If that nonspace character matches #1, then +// the macro expands to #2; otherwise, it expands to #3. + +defineMacro("\\@ifnextchar", function (context) { + var args = context.consumeArgs(3); // symbol, if, else + + context.consumeSpaces(); + var nextToken = context.future(); + + if (args[0].length === 1 && args[0][0].text === nextToken.text) { + return { + tokens: args[1], + numArgs: 0 + }; + } else { + return { + tokens: args[2], + numArgs: 0 + }; + } +}); // LaTeX's \@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol. +// If it is `*`, then it consumes the symbol, and the macro expands to #1; +// otherwise, the macro expands to #2 (without consuming the symbol). +// TeX source: \def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}} + +defineMacro("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}"); // LaTeX's \TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode + +defineMacro("\\TextOrMath", function (context) { + var args = context.consumeArgs(2); + + if (context.mode === 'text') { + return { + tokens: args[0], + numArgs: 0 + }; + } else { + return { + tokens: args[1], + numArgs: 0 + }; + } +}); // Lookup table for parsing numbers in base 8 through 16 + +var digitToNumber = { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "a": 10, + "A": 10, + "b": 11, + "B": 11, + "c": 12, + "C": 12, + "d": 13, + "D": 13, + "e": 14, + "E": 14, + "f": 15, + "F": 15 +}; // TeX \char makes a literal character (catcode 12) using the following forms: +// (see The TeXBook, p. 43) +// \char123 -- decimal +// \char'123 -- octal +// \char"123 -- hex +// \char`x -- character that can be written (i.e. isn't active) +// \char`\x -- character that cannot be written (e.g. %) +// These all refer to characters from the font, so we turn them into special +// calls to a function \@char dealt with in the Parser. + +defineMacro("\\char", function (context) { + var token = context.popToken(); + var base; + var number = ''; + + if (token.text === "'") { + base = 8; + token = context.popToken(); + } else if (token.text === '"') { + base = 16; + token = context.popToken(); + } else if (token.text === "`") { + token = context.popToken(); + + if (token.text[0] === "\\") { + number = token.text.charCodeAt(1); + } else if (token.text === "EOF") { + throw new src_ParseError("\\char` missing argument"); + } else { + number = token.text.charCodeAt(0); + } + } else { + base = 10; + } + + if (base) { + // Parse a number in the given base, starting with first `token`. + number = digitToNumber[token.text]; + + if (number == null || number >= base) { + throw new src_ParseError("Invalid base-" + base + " digit " + token.text); + } + + var digit; + + while ((digit = digitToNumber[context.future().text]) != null && digit < base) { + number *= base; + number += digit; + context.popToken(); + } + } + + return "\\@char{" + number + "}"; +}); // \newcommand{\macro}[args]{definition} +// \renewcommand{\macro}[args]{definition} +// TODO: Optional arguments: \newcommand{\macro}[args][default]{definition} + +var macros_newcommand = function newcommand(context, existsOK, nonexistsOK) { + var arg = context.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("\\newcommand's first argument must be a macro name"); + } + + var name = arg[0].text; + var exists = context.isDefined(name); + + if (exists && !existsOK) { + throw new src_ParseError("\\newcommand{" + name + "} attempting to redefine " + (name + "; use \\renewcommand")); + } + + if (!exists && !nonexistsOK) { + throw new src_ParseError("\\renewcommand{" + name + "} when command " + name + " " + "does not yet exist; use \\newcommand"); + } + + var numArgs = 0; + arg = context.consumeArgs(1)[0]; + + if (arg.length === 1 && arg[0].text === "[") { + var argText = ''; + var token = context.expandNextToken(); + + while (token.text !== "]" && token.text !== "EOF") { + // TODO: Should properly expand arg, e.g., ignore {}s + argText += token.text; + token = context.expandNextToken(); + } + + if (!argText.match(/^\s*[0-9]+\s*$/)) { + throw new src_ParseError("Invalid number of arguments: " + argText); + } + + numArgs = parseInt(argText); + arg = context.consumeArgs(1)[0]; + } // Final arg is the expansion of the macro + + + context.macros.set(name, { + tokens: arg, + numArgs: numArgs + }); + return ''; +}; + +defineMacro("\\newcommand", function (context) { + return macros_newcommand(context, false, true); +}); +defineMacro("\\renewcommand", function (context) { + return macros_newcommand(context, true, false); +}); +defineMacro("\\providecommand", function (context) { + return macros_newcommand(context, true, true); +}); // terminal (console) tools + +defineMacro("\\message", function (context) { + var arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console + + console.log(arg.reverse().map(function (token) { + return token.text; + }).join("")); + return ''; +}); +defineMacro("\\errmessage", function (context) { + var arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console + + console.error(arg.reverse().map(function (token) { + return token.text; + }).join("")); + return ''; +}); +defineMacro("\\show", function (context) { + var tok = context.popToken(); + var name = tok.text; // eslint-disable-next-line no-console + + console.log(tok, context.macros.get(name), src_functions[name], src_symbols.math[name], src_symbols.text[name]); + return ''; +}); ////////////////////////////////////////////////////////////////////// +// Grouping +// \let\bgroup={ \let\egroup=} + +defineMacro("\\bgroup", "{"); +defineMacro("\\egroup", "}"); // Symbols from latex.ltx: +// \def\lq{`} +// \def\rq{'} +// \def \aa {\r a} +// \def \AA {\r A} + +defineMacro("\\lq", "`"); +defineMacro("\\rq", "'"); +defineMacro("\\aa", "\\r a"); +defineMacro("\\AA", "\\r A"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML. +// \DeclareTextCommandDefault{\textcopyright}{\textcircled{c}} +// \DeclareTextCommandDefault{\textregistered}{\textcircled{% +// \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}} +// \DeclareRobustCommand{\copyright}{% +// \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi} + +defineMacro("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`©}"); +defineMacro("\\copyright", "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"); +defineMacro("\\textregistered", "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"); // Characters omitted from Unicode range 1D400–1D7FF + +defineMacro("\u212C", "\\mathscr{B}"); // script + +defineMacro("\u2130", "\\mathscr{E}"); +defineMacro("\u2131", "\\mathscr{F}"); +defineMacro("\u210B", "\\mathscr{H}"); +defineMacro("\u2110", "\\mathscr{I}"); +defineMacro("\u2112", "\\mathscr{L}"); +defineMacro("\u2133", "\\mathscr{M}"); +defineMacro("\u211B", "\\mathscr{R}"); +defineMacro("\u212D", "\\mathfrak{C}"); // Fraktur + +defineMacro("\u210C", "\\mathfrak{H}"); +defineMacro("\u2128", "\\mathfrak{Z}"); // Define \Bbbk with a macro that works in both HTML and MathML. + +defineMacro("\\Bbbk", "\\Bbb{k}"); // Unicode middle dot +// The KaTeX fonts do not contain U+00B7. Instead, \cdotp displays +// the dot at U+22C5 and gives it punct spacing. + +defineMacro("\xB7", "\\cdotp"); // \llap and \rlap render their contents in text mode + +defineMacro("\\llap", "\\mathllap{\\textrm{#1}}"); +defineMacro("\\rlap", "\\mathrlap{\\textrm{#1}}"); +defineMacro("\\clap", "\\mathclap{\\textrm{#1}}"); // \not is defined by base/fontmath.ltx via +// \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36} +// It's thus treated like a \mathrel, but defined by a symbol that has zero +// width but extends to the right. We use \rlap to get that spacing. +// For MathML we write U+0338 here. buildMathML.js will then do the overlay. + +defineMacro("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'); // Negated symbols from base/fontmath.ltx: +// \def\neq{\not=} \let\ne=\neq +// \DeclareRobustCommand +// \notin{\mathrel{\m@th\mathpalette\c@ncel\in}} +// \def\c@ncel#1#2{\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} + +defineMacro("\\neq", "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"); +defineMacro("\\ne", "\\neq"); +defineMacro("\u2260", "\\neq"); +defineMacro("\\notin", "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}" + "{\\mathrel{\\char`∉}}"); +defineMacro("\u2209", "\\notin"); // Unicode stacked relations + +defineMacro("\u2258", "\\html@mathml{" + "\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}" + "}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u2259", "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u225A", "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}"); +defineMacro("\u225B", "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}" + "{\\mathrel{\\char`\u225B}}"); +defineMacro("\u225D", "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}" + "{\\mathrel{\\char`\u225D}}"); +defineMacro("\u225E", "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}" + "{\\mathrel{\\char`\u225E}}"); +defineMacro("\u225F", "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}"); // Misc Unicode + +defineMacro("\u27C2", "\\perp"); +defineMacro("\u203C", "\\mathclose{!\\mkern-0.8mu!}"); +defineMacro("\u220C", "\\notni"); +defineMacro("\u231C", "\\ulcorner"); +defineMacro("\u231D", "\\urcorner"); +defineMacro("\u231E", "\\llcorner"); +defineMacro("\u231F", "\\lrcorner"); +defineMacro("\xA9", "\\copyright"); +defineMacro("\xAE", "\\textregistered"); +defineMacro("\uFE0F", "\\textregistered"); // The KaTeX fonts have corners at codepoints that don't match Unicode. +// For MathML purposes, use the Unicode code point. + +defineMacro("\\ulcorner", "\\html@mathml{\\@ulcorner}{\\mathop{\\char\"231c}}"); +defineMacro("\\urcorner", "\\html@mathml{\\@urcorner}{\\mathop{\\char\"231d}}"); +defineMacro("\\llcorner", "\\html@mathml{\\@llcorner}{\\mathop{\\char\"231e}}"); +defineMacro("\\lrcorner", "\\html@mathml{\\@lrcorner}{\\mathop{\\char\"231f}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX_2ε +// \vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ +// \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} +// We'll call \varvdots, which gets a glyph from symbols.js. +// The zero-width rule gets us an equivalent to the vertical 6pt kern. + +defineMacro("\\vdots", "\\mathord{\\varvdots\\rule{0pt}{15pt}}"); +defineMacro("\u22EE", "\\vdots"); ////////////////////////////////////////////////////////////////////// +// amsmath.sty +// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf +// Italic Greek capital letters. AMS defines these with \DeclareMathSymbol, +// but they are equivalent to \mathit{\Letter}. + +defineMacro("\\varGamma", "\\mathit{\\Gamma}"); +defineMacro("\\varDelta", "\\mathit{\\Delta}"); +defineMacro("\\varTheta", "\\mathit{\\Theta}"); +defineMacro("\\varLambda", "\\mathit{\\Lambda}"); +defineMacro("\\varXi", "\\mathit{\\Xi}"); +defineMacro("\\varPi", "\\mathit{\\Pi}"); +defineMacro("\\varSigma", "\\mathit{\\Sigma}"); +defineMacro("\\varUpsilon", "\\mathit{\\Upsilon}"); +defineMacro("\\varPhi", "\\mathit{\\Phi}"); +defineMacro("\\varPsi", "\\mathit{\\Psi}"); +defineMacro("\\varOmega", "\\mathit{\\Omega}"); //\newcommand{\substack}[1]{\subarray{c}#1\endsubarray} + +defineMacro("\\substack", "\\begin{subarray}{c}#1\\end{subarray}"); // \renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript +// \mkern-\thinmuskip{:}\mskip6muplus1mu\relax} + +defineMacro("\\colon", "\\nobreak\\mskip2mu\\mathpunct{}" + "\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu"); // \newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}} + +defineMacro("\\boxed", "\\fbox{$\\displaystyle{#1}$}"); // \def\iff{\DOTSB\;\Longleftrightarrow\;} +// \def\implies{\DOTSB\;\Longrightarrow\;} +// \def\impliedby{\DOTSB\;\Longleftarrow\;} + +defineMacro("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;"); +defineMacro("\\implies", "\\DOTSB\\;\\Longrightarrow\\;"); +defineMacro("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;"); // AMSMath's automatic \dots, based on \mdots@@ macro. + +var dotsByToken = { + ',': '\\dotsc', + '\\not': '\\dotsb', + // \keybin@ checks for the following: + '+': '\\dotsb', + '=': '\\dotsb', + '<': '\\dotsb', + '>': '\\dotsb', + '-': '\\dotsb', + '*': '\\dotsb', + ':': '\\dotsb', + // Symbols whose definition starts with \DOTSB: + '\\DOTSB': '\\dotsb', + '\\coprod': '\\dotsb', + '\\bigvee': '\\dotsb', + '\\bigwedge': '\\dotsb', + '\\biguplus': '\\dotsb', + '\\bigcap': '\\dotsb', + '\\bigcup': '\\dotsb', + '\\prod': '\\dotsb', + '\\sum': '\\dotsb', + '\\bigotimes': '\\dotsb', + '\\bigoplus': '\\dotsb', + '\\bigodot': '\\dotsb', + '\\bigsqcup': '\\dotsb', + '\\And': '\\dotsb', + '\\longrightarrow': '\\dotsb', + '\\Longrightarrow': '\\dotsb', + '\\longleftarrow': '\\dotsb', + '\\Longleftarrow': '\\dotsb', + '\\longleftrightarrow': '\\dotsb', + '\\Longleftrightarrow': '\\dotsb', + '\\mapsto': '\\dotsb', + '\\longmapsto': '\\dotsb', + '\\hookrightarrow': '\\dotsb', + '\\doteq': '\\dotsb', + // Symbols whose definition starts with \mathbin: + '\\mathbin': '\\dotsb', + // Symbols whose definition starts with \mathrel: + '\\mathrel': '\\dotsb', + '\\relbar': '\\dotsb', + '\\Relbar': '\\dotsb', + '\\xrightarrow': '\\dotsb', + '\\xleftarrow': '\\dotsb', + // Symbols whose definition starts with \DOTSI: + '\\DOTSI': '\\dotsi', + '\\int': '\\dotsi', + '\\oint': '\\dotsi', + '\\iint': '\\dotsi', + '\\iiint': '\\dotsi', + '\\iiiint': '\\dotsi', + '\\idotsint': '\\dotsi', + // Symbols whose definition starts with \DOTSX: + '\\DOTSX': '\\dotsx' +}; +defineMacro("\\dots", function (context) { + // TODO: If used in text mode, should expand to \textellipsis. + // However, in KaTeX, \textellipsis and \ldots behave the same + // (in text mode), and it's unlikely we'd see any of the math commands + // that affect the behavior of \dots when in text mode. So fine for now + // (until we support \ifmmode ... \else ... \fi). + var thedots = '\\dotso'; + var next = context.expandAfterFuture().text; + + if (next in dotsByToken) { + thedots = dotsByToken[next]; + } else if (next.substr(0, 4) === '\\not') { + thedots = '\\dotsb'; + } else if (next in src_symbols.math) { + if (utils.contains(['bin', 'rel'], src_symbols.math[next].group)) { + thedots = '\\dotsb'; + } + } + + return thedots; +}); +var spaceAfterDots = { + // \rightdelim@ checks for the following: + ')': true, + ']': true, + '\\rbrack': true, + '\\}': true, + '\\rbrace': true, + '\\rangle': true, + '\\rceil': true, + '\\rfloor': true, + '\\rgroup': true, + '\\rmoustache': true, + '\\right': true, + '\\bigr': true, + '\\biggr': true, + '\\Bigr': true, + '\\Biggr': true, + // \extra@ also tests for the following: + '$': true, + // \extrap@ checks for the following: + ';': true, + '.': true, + ',': true +}; +defineMacro("\\dotso", function (context) { + var next = context.future().text; + + if (next in spaceAfterDots) { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\dotsc", function (context) { + var next = context.future().text; // \dotsc uses \extra@ but not \extrap@, instead specially checking for + // ';' and '.', but doesn't check for ','. + + if (next in spaceAfterDots && next !== ',') { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\cdots", function (context) { + var next = context.future().text; + + if (next in spaceAfterDots) { + return "\\@cdots\\,"; + } else { + return "\\@cdots"; + } +}); +defineMacro("\\dotsb", "\\cdots"); +defineMacro("\\dotsm", "\\cdots"); +defineMacro("\\dotsi", "\\!\\cdots"); // amsmath doesn't actually define \dotsx, but \dots followed by a macro +// starting with \DOTSX implies \dotso, and then \extra@ detects this case +// and forces the added `\,`. + +defineMacro("\\dotsx", "\\ldots\\,"); // \let\DOTSI\relax +// \let\DOTSB\relax +// \let\DOTSX\relax + +defineMacro("\\DOTSI", "\\relax"); +defineMacro("\\DOTSB", "\\relax"); +defineMacro("\\DOTSX", "\\relax"); // Spacing, based on amsmath.sty's override of LaTeX defaults +// \DeclareRobustCommand{\tmspace}[3]{% +// \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} + +defineMacro("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"); // \renewcommand{\,}{\tmspace+\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\,", "\\tmspace+{3mu}{.1667em}"); // \let\thinspace\, + +defineMacro("\\thinspace", "\\,"); // \def\>{\mskip\medmuskip} +// \renewcommand{\:}{\tmspace+\medmuskip{.2222em}} +// TODO: \> and math mode of \: should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\>", "\\mskip{4mu}"); +defineMacro("\\:", "\\tmspace+{4mu}{.2222em}"); // \let\medspace\: + +defineMacro("\\medspace", "\\:"); // \renewcommand{\;}{\tmspace+\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip = 5mu plus 5mu + +defineMacro("\\;", "\\tmspace+{5mu}{.2777em}"); // \let\thickspace\; + +defineMacro("\\thickspace", "\\;"); // \renewcommand{\!}{\tmspace-\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\!", "\\tmspace-{3mu}{.1667em}"); // \let\negthinspace\! + +defineMacro("\\negthinspace", "\\!"); // \newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}} +// TODO: math mode should use \medmuskip + +defineMacro("\\negmedspace", "\\tmspace-{4mu}{.2222em}"); // \newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip + +defineMacro("\\negthickspace", "\\tmspace-{5mu}{.277em}"); // \def\enspace{\kern.5em } + +defineMacro("\\enspace", "\\kern.5em "); // \def\enskip{\hskip.5em\relax} + +defineMacro("\\enskip", "\\hskip.5em\\relax"); // \def\quad{\hskip1em\relax} + +defineMacro("\\quad", "\\hskip1em\\relax"); // \def\qquad{\hskip2em\relax} + +defineMacro("\\qquad", "\\hskip2em\\relax"); // \tag@in@display form of \tag + +defineMacro("\\tag", "\\@ifstar\\tag@literal\\tag@paren"); +defineMacro("\\tag@paren", "\\tag@literal{({#1})}"); +defineMacro("\\tag@literal", function (context) { + if (context.macros.get("\\df@tag")) { + throw new src_ParseError("Multiple \\tag"); + } + + return "\\gdef\\df@tag{\\text{#1}}"; +}); // \renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin +// {\operator@font mod}\penalty900 +// \mkern5mu\nonscript\mskip-\medmuskip} +// \newcommand{\pod}[1]{\allowbreak +// \if@display\mkern18mu\else\mkern8mu\fi(#1)} +// \renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}} +// \newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu +// \else\mkern12mu\fi{\operator@font mod}\,\,#1} +// TODO: math mode should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\bmod", "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}" + "\\mathbin{\\rm mod}" + "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"); +defineMacro("\\pod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"); +defineMacro("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}"); +defineMacro("\\mod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}" + "{\\rm mod}\\,\\,#1"); // \pmb -- A simulation of bold. +// The version in ambsy.sty works by typesetting three copies of the argument +// with small offsets. We use two copies. We omit the vertical offset because +// of rendering problems that makeVList encounters in Safari. + +defineMacro("\\pmb", "\\html@mathml{" + "\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}" + "{\\mathbf{#1}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX source2e +// \\ defaults to \newline, but changes to \cr within array environment + +defineMacro("\\\\", "\\newline"); // \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@} +// TODO: Doesn't normally work in math mode because \@ fails. KaTeX doesn't +// support \@ yet, so that's omitted, and we add \text so that the result +// doesn't look funny in math mode. + +defineMacro("\\TeX", "\\textrm{\\html@mathml{" + "T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX" + "}{TeX}}"); // \DeclareRobustCommand{\LaTeX}{L\kern-.36em% +// {\sbox\z@ T% +// \vbox to\ht\z@{\hbox{\check@mathfonts +// \fontsize\sf@size\z@ +// \math@fontsfalse\selectfont +// A}% +// \vss}% +// }% +// \kern-.15em% +// \TeX} +// This code aligns the top of the A with the T (from the perspective of TeX's +// boxes, though visually the A appears to extend above slightly). +// We compute the corresponding \raisebox when A is rendered in \normalsize +// \scriptstyle, which has a scale factor of 0.7 (see Options.js). + +var latexRaiseA = fontMetricsData['Main-Regular']["T".charCodeAt(0)][1] - 0.7 * fontMetricsData['Main-Regular']["A".charCodeAt(0)][1] + "em"; +defineMacro("\\LaTeX", "\\textrm{\\html@mathml{" + ("L\\kern-.36em\\raisebox{" + latexRaiseA + "}{\\scriptstyle A}") + "\\kern-.15em\\TeX}{LaTeX}}"); // New KaTeX logo based on tweaking LaTeX logo + +defineMacro("\\KaTeX", "\\textrm{\\html@mathml{" + ("K\\kern-.17em\\raisebox{" + latexRaiseA + "}{\\scriptstyle A}") + "\\kern-.15em\\TeX}{KaTeX}}"); // \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace} +// \def\@hspace#1{\hskip #1\relax} +// \def\@hspacer#1{\vrule \@width\z@\nobreak +// \hskip #1\hskip \z@skip} + +defineMacro("\\hspace", "\\@ifstar\\@hspacer\\@hspace"); +defineMacro("\\@hspace", "\\hskip #1\\relax"); +defineMacro("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax"); ////////////////////////////////////////////////////////////////////// +// mathtools.sty +//\providecommand\ordinarycolon{:} + +defineMacro("\\ordinarycolon", ":"); //\def\vcentcolon{\mathrel{\mathop\ordinarycolon}} +//TODO(edemaine): Not yet centered. Fix via \raisebox or #726 + +defineMacro("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}"); // \providecommand*\dblcolon{\vcentcolon\mathrel{\mkern-.9mu}\vcentcolon} + +defineMacro("\\dblcolon", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}" + "{\\mathop{\\char\"2237}}"); // \providecommand*\coloneqq{\vcentcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\coloneqq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2254}}"); // ≔ +// \providecommand*\Coloneqq{\dblcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\Coloneqq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2237\\char\"3d}}"); // \providecommand*\coloneq{\vcentcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\coloneq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"3a\\char\"2212}}"); // \providecommand*\Coloneq{\dblcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\Coloneq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"2237\\char\"2212}}"); // \providecommand*\eqqcolon{=\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2255}}"); // ≕ +// \providecommand*\Eqqcolon{=\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"3d\\char\"2237}}"); // \providecommand*\eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2239}}"); // \providecommand*\Eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"2212\\char\"2237}}"); // \providecommand*\colonapprox{\vcentcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\colonapprox", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"3a\\char\"2248}}"); // \providecommand*\Colonapprox{\dblcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\Colonapprox", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"2237\\char\"2248}}"); // \providecommand*\colonsim{\vcentcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\colonsim", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"3a\\char\"223c}}"); // \providecommand*\Colonsim{\dblcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\Colonsim", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"2237\\char\"223c}}"); // Some Unicode characters are implemented with macros to mathtools functions. + +defineMacro("\u2237", "\\dblcolon"); // :: + +defineMacro("\u2239", "\\eqcolon"); // -: + +defineMacro("\u2254", "\\coloneqq"); // := + +defineMacro("\u2255", "\\eqqcolon"); // =: + +defineMacro("\u2A74", "\\Coloneqq"); // ::= +////////////////////////////////////////////////////////////////////// +// colonequals.sty +// Alternate names for mathtools's macros: + +defineMacro("\\ratio", "\\vcentcolon"); +defineMacro("\\coloncolon", "\\dblcolon"); +defineMacro("\\colonequals", "\\coloneqq"); +defineMacro("\\coloncolonequals", "\\Coloneqq"); +defineMacro("\\equalscolon", "\\eqqcolon"); +defineMacro("\\equalscoloncolon", "\\Eqqcolon"); +defineMacro("\\colonminus", "\\coloneq"); +defineMacro("\\coloncolonminus", "\\Coloneq"); +defineMacro("\\minuscolon", "\\eqcolon"); +defineMacro("\\minuscoloncolon", "\\Eqcolon"); // \colonapprox name is same in mathtools and colonequals. + +defineMacro("\\coloncolonapprox", "\\Colonapprox"); // \colonsim name is same in mathtools and colonequals. + +defineMacro("\\coloncolonsim", "\\Colonsim"); // Additional macros, implemented by analogy with mathtools definitions: + +defineMacro("\\simcolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\simcoloncolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"); +defineMacro("\\approxcolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\approxcoloncolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"); // Present in newtxmath, pxfonts and txfonts + +defineMacro("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}"); +defineMacro("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}"); +defineMacro("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}"); ////////////////////////////////////////////////////////////////////// +// MathML alternates for KaTeX glyphs in the Unicode private area + +defineMacro("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}"); +defineMacro("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}"); +defineMacro("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}"); +defineMacro("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}"); +defineMacro("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}"); +defineMacro("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}"); +defineMacro("\\nshortmid", "\\html@mathml{\\@nshortmid}{∤}"); +defineMacro("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{∦}"); +defineMacro("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}"); +defineMacro("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}"); +defineMacro("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{⊊}"); +defineMacro("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{⫋}"); +defineMacro("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{⊋}"); +defineMacro("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{⫌}"); +defineMacro("\\imath", "\\html@mathml{\\@imath}{\u0131}"); +defineMacro("\\jmath", "\\html@mathml{\\@jmath}{\u0237}"); ////////////////////////////////////////////////////////////////////// +// stmaryrd and semantic +// The stmaryrd and semantic packages render the next four items by calling a +// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros. + +defineMacro("\\llbracket", "\\html@mathml{" + "\\mathopen{[\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u27E6}}"); +defineMacro("\\rrbracket", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu]}}" + "{\\mathclose{\\char`\u27E7}}"); +defineMacro("\u27E6", "\\llbracket"); // blackboard bold [ + +defineMacro("\u27E7", "\\rrbracket"); // blackboard bold ] + +defineMacro("\\lBrace", "\\html@mathml{" + "\\mathopen{\\{\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u2983}}"); +defineMacro("\\rBrace", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu\\}}}" + "{\\mathclose{\\char`\u2984}}"); +defineMacro("\u2983", "\\lBrace"); // blackboard bold { + +defineMacro("\u2984", "\\rBrace"); // blackboard bold } +// TODO: Create variable sized versions of the last two items. I believe that +// will require new font glyphs. +// The stmaryrd function `\minuso` provides a "Plimsoll" symbol that +// superimposes the characters \circ and \mathminus. Used in chemistry. + +defineMacro("\\minuso", "\\mathbin{\\html@mathml{" + "{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}" + "{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}" + "{\\char`⦵}}"); +defineMacro("⦵", "\\minuso"); ////////////////////////////////////////////////////////////////////// +// texvc.sty +// The texvc package contains macros available in mediawiki pages. +// We omit the functions deprecated at +// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax +// We also omit texvc's \O, which conflicts with \text{\O} + +defineMacro("\\darr", "\\downarrow"); +defineMacro("\\dArr", "\\Downarrow"); +defineMacro("\\Darr", "\\Downarrow"); +defineMacro("\\lang", "\\langle"); +defineMacro("\\rang", "\\rangle"); +defineMacro("\\uarr", "\\uparrow"); +defineMacro("\\uArr", "\\Uparrow"); +defineMacro("\\Uarr", "\\Uparrow"); +defineMacro("\\N", "\\mathbb{N}"); +defineMacro("\\R", "\\mathbb{R}"); +defineMacro("\\Z", "\\mathbb{Z}"); +defineMacro("\\alef", "\\aleph"); +defineMacro("\\alefsym", "\\aleph"); +defineMacro("\\Alpha", "\\mathrm{A}"); +defineMacro("\\Beta", "\\mathrm{B}"); +defineMacro("\\bull", "\\bullet"); +defineMacro("\\Chi", "\\mathrm{X}"); +defineMacro("\\clubs", "\\clubsuit"); +defineMacro("\\cnums", "\\mathbb{C}"); +defineMacro("\\Complex", "\\mathbb{C}"); +defineMacro("\\Dagger", "\\ddagger"); +defineMacro("\\diamonds", "\\diamondsuit"); +defineMacro("\\empty", "\\emptyset"); +defineMacro("\\Epsilon", "\\mathrm{E}"); +defineMacro("\\Eta", "\\mathrm{H}"); +defineMacro("\\exist", "\\exists"); +defineMacro("\\harr", "\\leftrightarrow"); +defineMacro("\\hArr", "\\Leftrightarrow"); +defineMacro("\\Harr", "\\Leftrightarrow"); +defineMacro("\\hearts", "\\heartsuit"); +defineMacro("\\image", "\\Im"); +defineMacro("\\infin", "\\infty"); +defineMacro("\\Iota", "\\mathrm{I}"); +defineMacro("\\isin", "\\in"); +defineMacro("\\Kappa", "\\mathrm{K}"); +defineMacro("\\larr", "\\leftarrow"); +defineMacro("\\lArr", "\\Leftarrow"); +defineMacro("\\Larr", "\\Leftarrow"); +defineMacro("\\lrarr", "\\leftrightarrow"); +defineMacro("\\lrArr", "\\Leftrightarrow"); +defineMacro("\\Lrarr", "\\Leftrightarrow"); +defineMacro("\\Mu", "\\mathrm{M}"); +defineMacro("\\natnums", "\\mathbb{N}"); +defineMacro("\\Nu", "\\mathrm{N}"); +defineMacro("\\Omicron", "\\mathrm{O}"); +defineMacro("\\plusmn", "\\pm"); +defineMacro("\\rarr", "\\rightarrow"); +defineMacro("\\rArr", "\\Rightarrow"); +defineMacro("\\Rarr", "\\Rightarrow"); +defineMacro("\\real", "\\Re"); +defineMacro("\\reals", "\\mathbb{R}"); +defineMacro("\\Reals", "\\mathbb{R}"); +defineMacro("\\Rho", "\\mathrm{P}"); +defineMacro("\\sdot", "\\cdot"); +defineMacro("\\sect", "\\S"); +defineMacro("\\spades", "\\spadesuit"); +defineMacro("\\sub", "\\subset"); +defineMacro("\\sube", "\\subseteq"); +defineMacro("\\supe", "\\supseteq"); +defineMacro("\\Tau", "\\mathrm{T}"); +defineMacro("\\thetasym", "\\vartheta"); // TODO: defineMacro("\\varcoppa", "\\\mbox{\\coppa}"); + +defineMacro("\\weierp", "\\wp"); +defineMacro("\\Zeta", "\\mathrm{Z}"); ////////////////////////////////////////////////////////////////////// +// statmath.sty +// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf + +defineMacro("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}"); +defineMacro("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}"); +defineMacro("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits"); ////////////////////////////////////////////////////////////////////// +// braket.sty +// http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/braket/braket.pdf + +defineMacro("\\bra", "\\mathinner{\\langle{#1}|}"); +defineMacro("\\ket", "\\mathinner{|{#1}\\rangle}"); +defineMacro("\\braket", "\\mathinner{\\langle{#1}\\rangle}"); +defineMacro("\\Bra", "\\left\\langle#1\\right|"); +defineMacro("\\Ket", "\\left|#1\\right\\rangle"); // Custom Khan Academy colors, should be moved to an optional package + +defineMacro("\\blue", "\\textcolor{##6495ed}{#1}"); +defineMacro("\\orange", "\\textcolor{##ffa500}{#1}"); +defineMacro("\\pink", "\\textcolor{##ff00af}{#1}"); +defineMacro("\\red", "\\textcolor{##df0030}{#1}"); +defineMacro("\\green", "\\textcolor{##28ae7b}{#1}"); +defineMacro("\\gray", "\\textcolor{gray}{#1}"); +defineMacro("\\purple", "\\textcolor{##9d38bd}{#1}"); +defineMacro("\\blueA", "\\textcolor{##ccfaff}{#1}"); +defineMacro("\\blueB", "\\textcolor{##80f6ff}{#1}"); +defineMacro("\\blueC", "\\textcolor{##63d9ea}{#1}"); +defineMacro("\\blueD", "\\textcolor{##11accd}{#1}"); +defineMacro("\\blueE", "\\textcolor{##0c7f99}{#1}"); +defineMacro("\\tealA", "\\textcolor{##94fff5}{#1}"); +defineMacro("\\tealB", "\\textcolor{##26edd5}{#1}"); +defineMacro("\\tealC", "\\textcolor{##01d1c1}{#1}"); +defineMacro("\\tealD", "\\textcolor{##01a995}{#1}"); +defineMacro("\\tealE", "\\textcolor{##208170}{#1}"); +defineMacro("\\greenA", "\\textcolor{##b6ffb0}{#1}"); +defineMacro("\\greenB", "\\textcolor{##8af281}{#1}"); +defineMacro("\\greenC", "\\textcolor{##74cf70}{#1}"); +defineMacro("\\greenD", "\\textcolor{##1fab54}{#1}"); +defineMacro("\\greenE", "\\textcolor{##0d923f}{#1}"); +defineMacro("\\goldA", "\\textcolor{##ffd0a9}{#1}"); +defineMacro("\\goldB", "\\textcolor{##ffbb71}{#1}"); +defineMacro("\\goldC", "\\textcolor{##ff9c39}{#1}"); +defineMacro("\\goldD", "\\textcolor{##e07d10}{#1}"); +defineMacro("\\goldE", "\\textcolor{##a75a05}{#1}"); +defineMacro("\\redA", "\\textcolor{##fca9a9}{#1}"); +defineMacro("\\redB", "\\textcolor{##ff8482}{#1}"); +defineMacro("\\redC", "\\textcolor{##f9685d}{#1}"); +defineMacro("\\redD", "\\textcolor{##e84d39}{#1}"); +defineMacro("\\redE", "\\textcolor{##bc2612}{#1}"); +defineMacro("\\maroonA", "\\textcolor{##ffbde0}{#1}"); +defineMacro("\\maroonB", "\\textcolor{##ff92c6}{#1}"); +defineMacro("\\maroonC", "\\textcolor{##ed5fa6}{#1}"); +defineMacro("\\maroonD", "\\textcolor{##ca337c}{#1}"); +defineMacro("\\maroonE", "\\textcolor{##9e034e}{#1}"); +defineMacro("\\purpleA", "\\textcolor{##ddd7ff}{#1}"); +defineMacro("\\purpleB", "\\textcolor{##c6b9fc}{#1}"); +defineMacro("\\purpleC", "\\textcolor{##aa87ff}{#1}"); +defineMacro("\\purpleD", "\\textcolor{##7854ab}{#1}"); +defineMacro("\\purpleE", "\\textcolor{##543b78}{#1}"); +defineMacro("\\mintA", "\\textcolor{##f5f9e8}{#1}"); +defineMacro("\\mintB", "\\textcolor{##edf2df}{#1}"); +defineMacro("\\mintC", "\\textcolor{##e0e5cc}{#1}"); +defineMacro("\\grayA", "\\textcolor{##f6f7f7}{#1}"); +defineMacro("\\grayB", "\\textcolor{##f0f1f2}{#1}"); +defineMacro("\\grayC", "\\textcolor{##e3e5e6}{#1}"); +defineMacro("\\grayD", "\\textcolor{##d6d8da}{#1}"); +defineMacro("\\grayE", "\\textcolor{##babec2}{#1}"); +defineMacro("\\grayF", "\\textcolor{##888d93}{#1}"); +defineMacro("\\grayG", "\\textcolor{##626569}{#1}"); +defineMacro("\\grayH", "\\textcolor{##3b3e40}{#1}"); +defineMacro("\\grayI", "\\textcolor{##21242c}{#1}"); +defineMacro("\\kaBlue", "\\textcolor{##314453}{#1}"); +defineMacro("\\kaGreen", "\\textcolor{##71B307}{#1}"); +// CONCATENATED MODULE: ./src/MacroExpander.js +/** + * This file contains the “gullet” where macros are expanded + * until only non-macro tokens remain. + */ + + + + + + + +// List of commands that act like macros but aren't defined as a macro, +// function, or symbol. Used in `isDefined`. +var implicitCommands = { + "\\relax": true, + // MacroExpander.js + "^": true, + // Parser.js + "_": true, + // Parser.js + "\\limits": true, + // Parser.js + "\\nolimits": true // Parser.js + +}; + +var MacroExpander_MacroExpander = +/*#__PURE__*/ +function () { + function MacroExpander(input, settings, mode) { + this.settings = void 0; + this.expansionCount = void 0; + this.lexer = void 0; + this.macros = void 0; + this.stack = void 0; + this.mode = void 0; + this.settings = settings; + this.expansionCount = 0; + this.feed(input); // Make new global namespace + + this.macros = new Namespace_Namespace(macros, settings.macros); + this.mode = mode; + this.stack = []; // contains tokens in REVERSE order + } + /** + * Feed a new input string to the same MacroExpander + * (with existing macros etc.). + */ + + + var _proto = MacroExpander.prototype; + + _proto.feed = function feed(input) { + this.lexer = new Lexer_Lexer(input, this.settings); + } + /** + * Switches between "text" and "math" modes. + */ + ; + + _proto.switchMode = function switchMode(newMode) { + this.mode = newMode; + } + /** + * Start a new group nesting within all namespaces. + */ + ; + + _proto.beginGroup = function beginGroup() { + this.macros.beginGroup(); + } + /** + * End current group nesting within all namespaces. + */ + ; + + _proto.endGroup = function endGroup() { + this.macros.endGroup(); + } + /** + * Returns the topmost token on the stack, without expanding it. + * Similar in behavior to TeX's `\futurelet`. + */ + ; + + _proto.future = function future() { + if (this.stack.length === 0) { + this.pushToken(this.lexer.lex()); + } + + return this.stack[this.stack.length - 1]; + } + /** + * Remove and return the next unexpanded token. + */ + ; + + _proto.popToken = function popToken() { + this.future(); // ensure non-empty stack + + return this.stack.pop(); + } + /** + * Add a given token to the token stack. In particular, this get be used + * to put back a token returned from one of the other methods. + */ + ; + + _proto.pushToken = function pushToken(token) { + this.stack.push(token); + } + /** + * Append an array of tokens to the token stack. + */ + ; + + _proto.pushTokens = function pushTokens(tokens) { + var _this$stack; + + (_this$stack = this.stack).push.apply(_this$stack, tokens); + } + /** + * Consume all following space tokens, without expansion. + */ + ; + + _proto.consumeSpaces = function consumeSpaces() { + for (;;) { + var token = this.future(); + + if (token.text === " ") { + this.stack.pop(); + } else { + break; + } + } + } + /** + * Consume the specified number of arguments from the token stream, + * and return the resulting array of arguments. + */ + ; + + _proto.consumeArgs = function consumeArgs(numArgs) { + var args = []; // obtain arguments, either single token or balanced {…} group + + for (var i = 0; i < numArgs; ++i) { + this.consumeSpaces(); // ignore spaces before each argument + + var startOfArg = this.popToken(); + + if (startOfArg.text === "{") { + var arg = []; + var depth = 1; + + while (depth !== 0) { + var tok = this.popToken(); + arg.push(tok); + + if (tok.text === "{") { + ++depth; + } else if (tok.text === "}") { + --depth; + } else if (tok.text === "EOF") { + throw new src_ParseError("End of input in macro argument", startOfArg); + } + } + + arg.pop(); // remove last } + + arg.reverse(); // like above, to fit in with stack order + + args[i] = arg; + } else if (startOfArg.text === "EOF") { + throw new src_ParseError("End of input expecting macro argument"); + } else { + args[i] = [startOfArg]; + } + } + + return args; + } + /** + * Expand the next token only once if possible. + * + * If the token is expanded, the resulting tokens will be pushed onto + * the stack in reverse order and will be returned as an array, + * also in reverse order. + * + * If not, the next token will be returned without removing it + * from the stack. This case can be detected by a `Token` return value + * instead of an `Array` return value. + * + * In either case, the next token will be on the top of the stack, + * or the stack will be empty. + * + * Used to implement `expandAfterFuture` and `expandNextToken`. + * + * At the moment, macro expansion doesn't handle delimited macros, + * i.e. things like those defined by \def\foo#1\end{…}. + * See the TeX book page 202ff. for details on how those should behave. + * + * If expandableOnly, only expandable tokens are expanded and + * an undefined control sequence results in an error. + */ + ; + + _proto.expandOnce = function expandOnce(expandableOnly) { + var topToken = this.popToken(); + var name = topToken.text; + var expansion = !topToken.noexpand ? this._getExpansion(name) : null; + + if (expansion == null || expandableOnly && expansion.unexpandable) { + if (expandableOnly && expansion == null && name[0] === "\\" && !this.isDefined(name)) { + throw new src_ParseError("Undefined control sequence: " + name); + } + + this.pushToken(topToken); + return topToken; + } + + this.expansionCount++; + + if (this.expansionCount > this.settings.maxExpand) { + throw new src_ParseError("Too many expansions: infinite loop or " + "need to increase maxExpand setting"); + } + + var tokens = expansion.tokens; + + if (expansion.numArgs) { + var args = this.consumeArgs(expansion.numArgs); // paste arguments in place of the placeholders + + tokens = tokens.slice(); // make a shallow copy + + for (var i = tokens.length - 1; i >= 0; --i) { + var tok = tokens[i]; + + if (tok.text === "#") { + if (i === 0) { + throw new src_ParseError("Incomplete placeholder at end of macro body", tok); + } + + tok = tokens[--i]; // next token on stack + + if (tok.text === "#") { + // ## → # + tokens.splice(i + 1, 1); // drop first # + } else if (/^[1-9]$/.test(tok.text)) { + var _tokens; + + // replace the placeholder with the indicated argument + (_tokens = tokens).splice.apply(_tokens, [i, 2].concat(args[+tok.text - 1])); + } else { + throw new src_ParseError("Not a valid argument number", tok); + } + } + } + } // Concatenate expansion onto top of stack. + + + this.pushTokens(tokens); + return tokens; + } + /** + * Expand the next token only once (if possible), and return the resulting + * top token on the stack (without removing anything from the stack). + * Similar in behavior to TeX's `\expandafter\futurelet`. + * Equivalent to expandOnce() followed by future(). + */ + ; + + _proto.expandAfterFuture = function expandAfterFuture() { + this.expandOnce(); + return this.future(); + } + /** + * Recursively expand first token, then return first non-expandable token. + */ + ; + + _proto.expandNextToken = function expandNextToken() { + for (;;) { + var expanded = this.expandOnce(); // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token_Token) { + // \relax stops the expansion, but shouldn't get returned (a + // null return value couldn't get implemented as a function). + // the token after \noexpand is interpreted as if its meaning + // were ‘\relax’ + if (expanded.text === "\\relax" || expanded.treatAsRelax) { + this.stack.pop(); + } else { + return this.stack.pop(); // === expanded + } + } + } // Flow unable to figure out that this pathway is impossible. + // https://github.com/facebook/flow/issues/4808 + + + throw new Error(); // eslint-disable-line no-unreachable + } + /** + * Fully expand the given macro name and return the resulting list of + * tokens, or return `undefined` if no such macro is defined. + */ + ; + + _proto.expandMacro = function expandMacro(name) { + return this.macros.has(name) ? this.expandTokens([new Token_Token(name)]) : undefined; + } + /** + * Fully expand the given token stream and return the resulting list of tokens + */ + ; + + _proto.expandTokens = function expandTokens(tokens) { + var output = []; + var oldStackLength = this.stack.length; + this.pushTokens(tokens); + + while (this.stack.length > oldStackLength) { + var expanded = this.expandOnce(true); // expand only expandable tokens + // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token_Token) { + if (expanded.treatAsRelax) { + // the expansion of \noexpand is the token itself + expanded.noexpand = false; + expanded.treatAsRelax = false; + } + + output.push(this.stack.pop()); + } + } + + return output; + } + /** + * Fully expand the given macro name and return the result as a string, + * or return `undefined` if no such macro is defined. + */ + ; + + _proto.expandMacroAsText = function expandMacroAsText(name) { + var tokens = this.expandMacro(name); + + if (tokens) { + return tokens.map(function (token) { + return token.text; + }).join(""); + } else { + return tokens; + } + } + /** + * Returns the expanded macro as a reversed array of tokens and a macro + * argument count. Or returns `null` if no such macro. + */ + ; + + _proto._getExpansion = function _getExpansion(name) { + var definition = this.macros.get(name); + + if (definition == null) { + // mainly checking for undefined here + return definition; + } + + var expansion = typeof definition === "function" ? definition(this) : definition; + + if (typeof expansion === "string") { + var numArgs = 0; + + if (expansion.indexOf("#") !== -1) { + var stripped = expansion.replace(/##/g, ""); + + while (stripped.indexOf("#" + (numArgs + 1)) !== -1) { + ++numArgs; + } + } + + var bodyLexer = new Lexer_Lexer(expansion, this.settings); + var tokens = []; + var tok = bodyLexer.lex(); + + while (tok.text !== "EOF") { + tokens.push(tok); + tok = bodyLexer.lex(); + } + + tokens.reverse(); // to fit in with stack using push and pop + + var expanded = { + tokens: tokens, + numArgs: numArgs + }; + return expanded; + } + + return expansion; + } + /** + * Determine whether a command is currently "defined" (has some + * functionality), meaning that it's a macro (in the current group), + * a function, a symbol, or one of the special commands listed in + * `implicitCommands`. + */ + ; + + _proto.isDefined = function isDefined(name) { + return this.macros.has(name) || src_functions.hasOwnProperty(name) || src_symbols.math.hasOwnProperty(name) || src_symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name); + } + /** + * Determine whether a command is expandable. + */ + ; + + _proto.isExpandable = function isExpandable(name) { + var macro = this.macros.get(name); + return macro != null ? typeof macro === "string" || typeof macro === "function" || !macro.unexpandable // TODO(ylem): #2085 + : src_functions.hasOwnProperty(name) + /* && !functions[name].primitive*/ + ; + }; + + return MacroExpander; +}(); + + +// CONCATENATED MODULE: ./src/Parser.js +/* eslint no-constant-condition:0 */ + + + + + + + + + + // Pre-evaluate both modules as unicodeSymbols require String.normalize() + +var unicodeAccents = { + "́": { + "text": "\\'", + "math": "\\acute" + }, + "̀": { + "text": "\\`", + "math": "\\grave" + }, + "̈": { + "text": "\\\"", + "math": "\\ddot" + }, + "̃": { + "text": "\\~", + "math": "\\tilde" + }, + "̄": { + "text": "\\=", + "math": "\\bar" + }, + "̆": { + "text": "\\u", + "math": "\\breve" + }, + "̌": { + "text": "\\v", + "math": "\\check" + }, + "̂": { + "text": "\\^", + "math": "\\hat" + }, + "̇": { + "text": "\\.", + "math": "\\dot" + }, + "̊": { + "text": "\\r", + "math": "\\mathring" + }, + "̋": { + "text": "\\H" + } +}; +var unicodeSymbols = { + "á": "á", + "à": "à", + "ä": "ä", + "ǟ": "ǟ", + "ã": "ã", + "ā": "ā", + "ă": "ă", + "ắ": "ắ", + "ằ": "ằ", + "ẵ": "ẵ", + "ǎ": "ǎ", + "â": "â", + "ấ": "ấ", + "ầ": "ầ", + "ẫ": "ẫ", + "ȧ": "ȧ", + "ǡ": "ǡ", + "å": "å", + "ǻ": "ǻ", + "ḃ": "ḃ", + "ć": "ć", + "č": "č", + "ĉ": "ĉ", + "ċ": "ċ", + "ď": "ď", + "ḋ": "ḋ", + "é": "é", + "è": "è", + "ë": "ë", + "ẽ": "ẽ", + "ē": "ē", + "ḗ": "ḗ", + "ḕ": "ḕ", + "ĕ": "ĕ", + "ě": "ě", + "ê": "ê", + "ế": "ế", + "ề": "ề", + "ễ": "ễ", + "ė": "ė", + "ḟ": "ḟ", + "ǵ": "ǵ", + "ḡ": "ḡ", + "ğ": "ğ", + "ǧ": "ǧ", + "ĝ": "ĝ", + "ġ": "ġ", + "ḧ": "ḧ", + "ȟ": "ȟ", + "ĥ": "ĥ", + "ḣ": "ḣ", + "í": "í", + "ì": "ì", + "ï": "ï", + "ḯ": "ḯ", + "ĩ": "ĩ", + "ī": "ī", + "ĭ": "ĭ", + "ǐ": "ǐ", + "î": "î", + "ǰ": "ǰ", + "ĵ": "ĵ", + "ḱ": "ḱ", + "ǩ": "ǩ", + "ĺ": "ĺ", + "ľ": "ľ", + "ḿ": "ḿ", + "ṁ": "ṁ", + "ń": "ń", + "ǹ": "ǹ", + "ñ": "ñ", + "ň": "ň", + "ṅ": "ṅ", + "ó": "ó", + "ò": "ò", + "ö": "ö", + "ȫ": "ȫ", + "õ": "õ", + "ṍ": "ṍ", + "ṏ": "ṏ", + "ȭ": "ȭ", + "ō": "ō", + "ṓ": "ṓ", + "ṑ": "ṑ", + "ŏ": "ŏ", + "ǒ": "ǒ", + "ô": "ô", + "ố": "ố", + "ồ": "ồ", + "ỗ": "ỗ", + "ȯ": "ȯ", + "ȱ": "ȱ", + "ő": "ő", + "ṕ": "ṕ", + "ṗ": "ṗ", + "ŕ": "ŕ", + "ř": "ř", + "ṙ": "ṙ", + "ś": "ś", + "ṥ": "ṥ", + "š": "š", + "ṧ": "ṧ", + "ŝ": "ŝ", + "ṡ": "ṡ", + "ẗ": "ẗ", + "ť": "ť", + "ṫ": "ṫ", + "ú": "ú", + "ù": "ù", + "ü": "ü", + "ǘ": "ǘ", + "ǜ": "ǜ", + "ǖ": "ǖ", + "ǚ": "ǚ", + "ũ": "ũ", + "ṹ": "ṹ", + "ū": "ū", + "ṻ": "ṻ", + "ŭ": "ŭ", + "ǔ": "ǔ", + "û": "û", + "ů": "ů", + "ű": "ű", + "ṽ": "ṽ", + "ẃ": "ẃ", + "ẁ": "ẁ", + "ẅ": "ẅ", + "ŵ": "ŵ", + "ẇ": "ẇ", + "ẘ": "ẘ", + "ẍ": "ẍ", + "ẋ": "ẋ", + "ý": "ý", + "ỳ": "ỳ", + "ÿ": "ÿ", + "ỹ": "ỹ", + "ȳ": "ȳ", + "ŷ": "ŷ", + "ẏ": "ẏ", + "ẙ": "ẙ", + "ź": "ź", + "ž": "ž", + "ẑ": "ẑ", + "ż": "ż", + "Á": "Á", + "À": "À", + "Ä": "Ä", + "Ǟ": "Ǟ", + "Ã": "Ã", + "Ā": "Ā", + "Ă": "Ă", + "Ắ": "Ắ", + "Ằ": "Ằ", + "Ẵ": "Ẵ", + "Ǎ": "Ǎ", + "Â": "Â", + "Ấ": "Ấ", + "Ầ": "Ầ", + "Ẫ": "Ẫ", + "Ȧ": "Ȧ", + "Ǡ": "Ǡ", + "Å": "Å", + "Ǻ": "Ǻ", + "Ḃ": "Ḃ", + "Ć": "Ć", + "Č": "Č", + "Ĉ": "Ĉ", + "Ċ": "Ċ", + "Ď": "Ď", + "Ḋ": "Ḋ", + "É": "É", + "È": "È", + "Ë": "Ë", + "Ẽ": "Ẽ", + "Ē": "Ē", + "Ḗ": "Ḗ", + "Ḕ": "Ḕ", + "Ĕ": "Ĕ", + "Ě": "Ě", + "Ê": "Ê", + "Ế": "Ế", + "Ề": "Ề", + "Ễ": "Ễ", + "Ė": "Ė", + "Ḟ": "Ḟ", + "Ǵ": "Ǵ", + "Ḡ": "Ḡ", + "Ğ": "Ğ", + "Ǧ": "Ǧ", + "Ĝ": "Ĝ", + "Ġ": "Ġ", + "Ḧ": "Ḧ", + "Ȟ": "Ȟ", + "Ĥ": "Ĥ", + "Ḣ": "Ḣ", + "Í": "Í", + "Ì": "Ì", + "Ï": "Ï", + "Ḯ": "Ḯ", + "Ĩ": "Ĩ", + "Ī": "Ī", + "Ĭ": "Ĭ", + "Ǐ": "Ǐ", + "Î": "Î", + "İ": "İ", + "Ĵ": "Ĵ", + "Ḱ": "Ḱ", + "Ǩ": "Ǩ", + "Ĺ": "Ĺ", + "Ľ": "Ľ", + "Ḿ": "Ḿ", + "Ṁ": "Ṁ", + "Ń": "Ń", + "Ǹ": "Ǹ", + "Ñ": "Ñ", + "Ň": "Ň", + "Ṅ": "Ṅ", + "Ó": "Ó", + "Ò": "Ò", + "Ö": "Ö", + "Ȫ": "Ȫ", + "Õ": "Õ", + "Ṍ": "Ṍ", + "Ṏ": "Ṏ", + "Ȭ": "Ȭ", + "Ō": "Ō", + "Ṓ": "Ṓ", + "Ṑ": "Ṑ", + "Ŏ": "Ŏ", + "Ǒ": "Ǒ", + "Ô": "Ô", + "Ố": "Ố", + "Ồ": "Ồ", + "Ỗ": "Ỗ", + "Ȯ": "Ȯ", + "Ȱ": "Ȱ", + "Ő": "Ő", + "Ṕ": "Ṕ", + "Ṗ": "Ṗ", + "Ŕ": "Ŕ", + "Ř": "Ř", + "Ṙ": "Ṙ", + "Ś": "Ś", + "Ṥ": "Ṥ", + "Š": "Š", + "Ṧ": "Ṧ", + "Ŝ": "Ŝ", + "Ṡ": "Ṡ", + "Ť": "Ť", + "Ṫ": "Ṫ", + "Ú": "Ú", + "Ù": "Ù", + "Ü": "Ü", + "Ǘ": "Ǘ", + "Ǜ": "Ǜ", + "Ǖ": "Ǖ", + "Ǚ": "Ǚ", + "Ũ": "Ũ", + "Ṹ": "Ṹ", + "Ū": "Ū", + "Ṻ": "Ṻ", + "Ŭ": "Ŭ", + "Ǔ": "Ǔ", + "Û": "Û", + "Ů": "Ů", + "Ű": "Ű", + "Ṽ": "Ṽ", + "Ẃ": "Ẃ", + "Ẁ": "Ẁ", + "Ẅ": "Ẅ", + "Ŵ": "Ŵ", + "Ẇ": "Ẇ", + "Ẍ": "Ẍ", + "Ẋ": "Ẋ", + "Ý": "Ý", + "Ỳ": "Ỳ", + "Ÿ": "Ÿ", + "Ỹ": "Ỹ", + "Ȳ": "Ȳ", + "Ŷ": "Ŷ", + "Ẏ": "Ẏ", + "Ź": "Ź", + "Ž": "Ž", + "Ẑ": "Ẑ", + "Ż": "Ż", + "ά": "ά", + "ὰ": "ὰ", + "ᾱ": "ᾱ", + "ᾰ": "ᾰ", + "έ": "έ", + "ὲ": "ὲ", + "ή": "ή", + "ὴ": "ὴ", + "ί": "ί", + "ὶ": "ὶ", + "ϊ": "ϊ", + "ΐ": "ΐ", + "ῒ": "ῒ", + "ῑ": "ῑ", + "ῐ": "ῐ", + "ό": "ό", + "ὸ": "ὸ", + "ύ": "ύ", + "ὺ": "ὺ", + "ϋ": "ϋ", + "ΰ": "ΰ", + "ῢ": "ῢ", + "ῡ": "ῡ", + "ῠ": "ῠ", + "ώ": "ώ", + "ὼ": "ὼ", + "Ύ": "Ύ", + "Ὺ": "Ὺ", + "Ϋ": "Ϋ", + "Ῡ": "Ῡ", + "Ῠ": "Ῠ", + "Ώ": "Ώ", + "Ὼ": "Ὼ" +}; + +/** + * This file contains the parser used to parse out a TeX expression from the + * input. Since TeX isn't context-free, standard parsers don't work particularly + * well. + * + * The strategy of this parser is as such: + * + * The main functions (the `.parse...` ones) take a position in the current + * parse string to parse tokens from. The lexer (found in Lexer.js, stored at + * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When + * individual tokens are needed at a position, the lexer is called to pull out a + * token, which is then used. + * + * The parser has a property called "mode" indicating the mode that + * the parser is currently in. Currently it has to be one of "math" or + * "text", which denotes whether the current environment is a math-y + * one or a text-y one (e.g. inside \text). Currently, this serves to + * limit the functions which can be used in text mode. + * + * The main functions then return an object which contains the useful data that + * was parsed at its given point, and a new position at the end of the parsed + * data. The main functions can call each other and continue the parsing by + * using the returned position as a new starting point. + * + * There are also extra `.handle...` functions, which pull out some reused + * functionality into self-contained functions. + * + * The functions return ParseNodes. + */ +var Parser_Parser = +/*#__PURE__*/ +function () { + function Parser(input, settings) { + this.mode = void 0; + this.gullet = void 0; + this.settings = void 0; + this.leftrightDepth = void 0; + this.nextToken = void 0; + // Start in math mode + this.mode = "math"; // Create a new macro expander (gullet) and (indirectly via that) also a + // new lexer (mouth) for this parser (stomach, in the language of TeX) + + this.gullet = new MacroExpander_MacroExpander(input, settings, this.mode); // Store the settings for use in parsing + + this.settings = settings; // Count leftright depth (for \middle errors) + + this.leftrightDepth = 0; + } + /** + * Checks a result to make sure it has the right type, and throws an + * appropriate error otherwise. + */ + + + var _proto = Parser.prototype; + + _proto.expect = function expect(text, consume) { + if (consume === void 0) { + consume = true; + } + + if (this.fetch().text !== text) { + throw new src_ParseError("Expected '" + text + "', got '" + this.fetch().text + "'", this.fetch()); + } + + if (consume) { + this.consume(); + } + } + /** + * Discards the current lookahead token, considering it consumed. + */ + ; + + _proto.consume = function consume() { + this.nextToken = null; + } + /** + * Return the current lookahead token, or if there isn't one (at the + * beginning, or if the previous lookahead token was consume()d), + * fetch the next token as the new lookahead token and return it. + */ + ; + + _proto.fetch = function fetch() { + if (this.nextToken == null) { + this.nextToken = this.gullet.expandNextToken(); + } + + return this.nextToken; + } + /** + * Switches between "text" and "math" modes. + */ + ; + + _proto.switchMode = function switchMode(newMode) { + this.mode = newMode; + this.gullet.switchMode(newMode); + } + /** + * Main parsing function, which parses an entire input. + */ + ; + + _proto.parse = function parse() { + if (!this.settings.globalGroup) { + // Create a group namespace for the math expression. + // (LaTeX creates a new group for every $...$, $$...$$, \[...\].) + this.gullet.beginGroup(); + } // Use old \color behavior (same as LaTeX's \textcolor) if requested. + // We do this within the group for the math expression, so it doesn't + // pollute settings.macros. + + + if (this.settings.colorIsTextColor) { + this.gullet.macros.set("\\color", "\\textcolor"); + } // Try to parse the input + + + var parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end + + this.expect("EOF"); // End the group namespace for the expression + + if (!this.settings.globalGroup) { + this.gullet.endGroup(); + } + + return parse; + }; + + _proto.parseExpression = function parseExpression(breakOnInfix, breakOnTokenText) { + var body = []; // Keep adding atoms to the body until we can't parse any more atoms (either + // we reached the end, a }, or a \right) + + while (true) { + // Ignore spaces in math mode + if (this.mode === "math") { + this.consumeSpaces(); + } + + var lex = this.fetch(); + + if (Parser.endOfExpression.indexOf(lex.text) !== -1) { + break; + } + + if (breakOnTokenText && lex.text === breakOnTokenText) { + break; + } + + if (breakOnInfix && src_functions[lex.text] && src_functions[lex.text].infix) { + break; + } + + var atom = this.parseAtom(breakOnTokenText); + + if (!atom) { + break; + } else if (atom.type === "internal") { + continue; + } + + body.push(atom); + } + + if (this.mode === "text") { + this.formLigatures(body); + } + + return this.handleInfixNodes(body); + } + /** + * Rewrites infix operators such as \over with corresponding commands such + * as \frac. + * + * There can only be one infix operator per group. If there's more than one + * then the expression is ambiguous. This can be resolved by adding {}. + */ + ; + + _proto.handleInfixNodes = function handleInfixNodes(body) { + var overIndex = -1; + var funcName; + + for (var i = 0; i < body.length; i++) { + if (body[i].type === "infix") { + if (overIndex !== -1) { + throw new src_ParseError("only one infix operator per group", body[i].token); + } + + overIndex = i; + funcName = body[i].replaceWith; + } + } + + if (overIndex !== -1 && funcName) { + var numerNode; + var denomNode; + var numerBody = body.slice(0, overIndex); + var denomBody = body.slice(overIndex + 1); + + if (numerBody.length === 1 && numerBody[0].type === "ordgroup") { + numerNode = numerBody[0]; + } else { + numerNode = { + type: "ordgroup", + mode: this.mode, + body: numerBody + }; + } + + if (denomBody.length === 1 && denomBody[0].type === "ordgroup") { + denomNode = denomBody[0]; + } else { + denomNode = { + type: "ordgroup", + mode: this.mode, + body: denomBody + }; + } + + var node; + + if (funcName === "\\\\abovefrac") { + node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []); + } else { + node = this.callFunction(funcName, [numerNode, denomNode], []); + } + + return [node]; + } else { + return body; + } + } // The greediness of a superscript or subscript + ; + + /** + * Handle a subscript or superscript with nice errors. + */ + _proto.handleSupSubscript = function handleSupSubscript(name) { + var symbolToken = this.fetch(); + var symbol = symbolToken.text; + this.consume(); + var group = this.parseGroup(name, false, Parser.SUPSUB_GREEDINESS, undefined, undefined, true); // ignore spaces before sup/subscript argument + + if (!group) { + throw new src_ParseError("Expected group after '" + symbol + "'", symbolToken); + } + + return group; + } + /** + * Converts the textual input of an unsupported command into a text node + * contained within a color node whose color is determined by errorColor + */ + ; + + _proto.formatUnsupportedCmd = function formatUnsupportedCmd(text) { + var textordArray = []; + + for (var i = 0; i < text.length; i++) { + textordArray.push({ + type: "textord", + mode: "text", + text: text[i] + }); + } + + var textNode = { + type: "text", + mode: this.mode, + body: textordArray + }; + var colorNode = { + type: "color", + mode: this.mode, + color: this.settings.errorColor, + body: [textNode] + }; + return colorNode; + } + /** + * Parses a group with optional super/subscripts. + */ + ; + + _proto.parseAtom = function parseAtom(breakOnTokenText) { + // The body of an atom is an implicit group, so that things like + // \left(x\right)^2 work correctly. + var base = this.parseGroup("atom", false, null, breakOnTokenText); // In text mode, we don't have superscripts or subscripts + + if (this.mode === "text") { + return base; + } // Note that base may be empty (i.e. null) at this point. + + + var superscript; + var subscript; + + while (true) { + // Guaranteed in math mode, so eat any spaces first. + this.consumeSpaces(); // Lex the first token + + var lex = this.fetch(); + + if (lex.text === "\\limits" || lex.text === "\\nolimits") { + // We got a limit control + if (base && base.type === "op") { + var limits = lex.text === "\\limits"; + base.limits = limits; + base.alwaysHandleSupSub = true; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub) { + var _limits = lex.text === "\\limits"; + + base.limits = _limits; + } else { + throw new src_ParseError("Limit controls must follow a math operator", lex); + } + + this.consume(); + } else if (lex.text === "^") { + // We got a superscript start + if (superscript) { + throw new src_ParseError("Double superscript", lex); + } + + superscript = this.handleSupSubscript("superscript"); + } else if (lex.text === "_") { + // We got a subscript start + if (subscript) { + throw new src_ParseError("Double subscript", lex); + } + + subscript = this.handleSupSubscript("subscript"); + } else if (lex.text === "'") { + // We got a prime + if (superscript) { + throw new src_ParseError("Double superscript", lex); + } + + var prime = { + type: "textord", + mode: this.mode, + text: "\\prime" + }; // Many primes can be grouped together, so we handle this here + + var primes = [prime]; + this.consume(); // Keep lexing tokens until we get something that's not a prime + + while (this.fetch().text === "'") { + // For each one, add another prime to the list + primes.push(prime); + this.consume(); + } // If there's a superscript following the primes, combine that + // superscript in with the primes. + + + if (this.fetch().text === "^") { + primes.push(this.handleSupSubscript("superscript")); + } // Put everything into an ordgroup as the superscript + + + superscript = { + type: "ordgroup", + mode: this.mode, + body: primes + }; + } else { + // If it wasn't ^, _, or ', stop parsing super/subscripts + break; + } + } // Base must be set if superscript or subscript are set per logic above, + // but need to check here for type check to pass. + + + if (superscript || subscript) { + // If we got either a superscript or subscript, create a supsub + return { + type: "supsub", + mode: this.mode, + base: base, + sup: superscript, + sub: subscript + }; + } else { + // Otherwise return the original body + return base; + } + } + /** + * Parses an entire function, including its base and all of its arguments. + */ + ; + + _proto.parseFunction = function parseFunction(breakOnTokenText, name, // For error reporting. + greediness) { + var token = this.fetch(); + var func = token.text; + var funcData = src_functions[func]; + + if (!funcData) { + return null; + } + + this.consume(); // consume command token + + if (greediness != null && funcData.greediness <= greediness) { + throw new src_ParseError("Got function '" + func + "' with no arguments" + (name ? " as " + name : ""), token); + } else if (this.mode === "text" && !funcData.allowedInText) { + throw new src_ParseError("Can't use function '" + func + "' in text mode", token); + } else if (this.mode === "math" && funcData.allowedInMath === false) { + throw new src_ParseError("Can't use function '" + func + "' in math mode", token); + } + + var _this$parseArguments = this.parseArguments(func, funcData), + args = _this$parseArguments.args, + optArgs = _this$parseArguments.optArgs; + + return this.callFunction(func, args, optArgs, token, breakOnTokenText); + } + /** + * Call a function handler with a suitable context and arguments. + */ + ; + + _proto.callFunction = function callFunction(name, args, optArgs, token, breakOnTokenText) { + var context = { + funcName: name, + parser: this, + token: token, + breakOnTokenText: breakOnTokenText + }; + var func = src_functions[name]; + + if (func && func.handler) { + return func.handler(context, args, optArgs); + } else { + throw new src_ParseError("No function handler for " + name); + } + } + /** + * Parses the arguments of a function or environment + */ + ; + + _proto.parseArguments = function parseArguments(func, // Should look like "\name" or "\begin{name}". + funcData) { + var totalArgs = funcData.numArgs + funcData.numOptionalArgs; + + if (totalArgs === 0) { + return { + args: [], + optArgs: [] + }; + } + + var baseGreediness = funcData.greediness; + var args = []; + var optArgs = []; + + for (var i = 0; i < totalArgs; i++) { + var argType = funcData.argTypes && funcData.argTypes[i]; + var isOptional = i < funcData.numOptionalArgs; // Ignore spaces between arguments. As the TeXbook says: + // "After you have said ‘\def\row#1#2{...}’, you are allowed to + // put spaces between the arguments (e.g., ‘\row x n’), because + // TeX doesn’t use single spaces as undelimited arguments." + + var consumeSpaces = i > 0 && !isOptional || // Also consume leading spaces in math mode, as parseSymbol + // won't know what to do with them. This can only happen with + // macros, e.g. \frac\foo\foo where \foo expands to a space symbol. + // In LaTeX, the \foo's get treated as (blank) arguments. + // In KaTeX, for now, both spaces will get consumed. + // TODO(edemaine) + i === 0 && !isOptional && this.mode === "math"; + var arg = this.parseGroupOfType("argument to '" + func + "'", argType, isOptional, baseGreediness, consumeSpaces); + + if (!arg) { + if (isOptional) { + optArgs.push(null); + continue; + } + + throw new src_ParseError("Expected group after '" + func + "'", this.fetch()); + } + + (isOptional ? optArgs : args).push(arg); + } + + return { + args: args, + optArgs: optArgs + }; + } + /** + * Parses a group when the mode is changing. + */ + ; + + _proto.parseGroupOfType = function parseGroupOfType(name, type, optional, greediness, consumeSpaces) { + switch (type) { + case "color": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseColorGroup(optional); + + case "size": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseSizeGroup(optional); + + case "url": + return this.parseUrlGroup(optional, consumeSpaces); + + case "math": + case "text": + return this.parseGroup(name, optional, greediness, undefined, type, consumeSpaces); + + case "hbox": + { + // hbox argument type wraps the argument in the equivalent of + // \hbox, which is like \text but switching to \textstyle size. + var group = this.parseGroup(name, optional, greediness, undefined, "text", consumeSpaces); + + if (!group) { + return group; + } + + var styledGroup = { + type: "styling", + mode: group.mode, + body: [group], + style: "text" // simulate \textstyle + + }; + return styledGroup; + } + + case "raw": + { + if (consumeSpaces) { + this.consumeSpaces(); + } + + if (optional && this.fetch().text === "{") { + return null; + } + + var token = this.parseStringGroup("raw", optional, true); + + if (token) { + return { + type: "raw", + mode: "text", + string: token.text + }; + } else { + throw new src_ParseError("Expected raw group", this.fetch()); + } + } + + case "original": + case null: + case undefined: + return this.parseGroup(name, optional, greediness, undefined, undefined, consumeSpaces); + + default: + throw new src_ParseError("Unknown group type as " + name, this.fetch()); + } + } + /** + * Discard any space tokens, fetching the next non-space token. + */ + ; + + _proto.consumeSpaces = function consumeSpaces() { + while (this.fetch().text === " ") { + this.consume(); + } + } + /** + * Parses a group, essentially returning the string formed by the + * brace-enclosed tokens plus some position information. + */ + ; + + _proto.parseStringGroup = function parseStringGroup(modeName, // Used to describe the mode in error messages. + optional, raw) { + var groupBegin = optional ? "[" : "{"; + var groupEnd = optional ? "]" : "}"; + var beginToken = this.fetch(); + + if (beginToken.text !== groupBegin) { + if (optional) { + return null; + } else if (raw && beginToken.text !== "EOF" && /[^{}[\]]/.test(beginToken.text)) { + this.consume(); + return beginToken; + } + } + + var outerMode = this.mode; + this.mode = "text"; + this.expect(groupBegin); + var str = ""; + var firstToken = this.fetch(); + var nested = 0; // allow nested braces in raw string group + + var lastToken = firstToken; + var nextToken; + + while ((nextToken = this.fetch()).text !== groupEnd || raw && nested > 0) { + switch (nextToken.text) { + case "EOF": + throw new src_ParseError("Unexpected end of input in " + modeName, firstToken.range(lastToken, str)); + + case groupBegin: + nested++; + break; + + case groupEnd: + nested--; + break; + } + + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + this.expect(groupEnd); + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a regex-delimited group: the largest sequence of tokens + * whose concatenated strings match `regex`. Returns the string + * formed by the tokens plus some position information. + */ + ; + + _proto.parseRegexGroup = function parseRegexGroup(regex, modeName) { + var outerMode = this.mode; + this.mode = "text"; + var firstToken = this.fetch(); + var lastToken = firstToken; + var str = ""; + var nextToken; + + while ((nextToken = this.fetch()).text !== "EOF" && regex.test(str + nextToken.text)) { + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + if (str === "") { + throw new src_ParseError("Invalid " + modeName + ": '" + firstToken.text + "'", firstToken); + } + + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a color description. + */ + ; + + _proto.parseColorGroup = function parseColorGroup(optional) { + var res = this.parseStringGroup("color", optional); + + if (!res) { + return null; + } + + var match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text); + + if (!match) { + throw new src_ParseError("Invalid color: '" + res.text + "'", res); + } + + var color = match[0]; + + if (/^[0-9a-f]{6}$/i.test(color)) { + // We allow a 6-digit HTML color spec without a leading "#". + // This follows the xcolor package's HTML color model. + // Predefined color names are all missed by this RegEx pattern. + color = "#" + color; + } + + return { + type: "color-token", + mode: this.mode, + color: color + }; + } + /** + * Parses a size specification, consisting of magnitude and unit. + */ + ; + + _proto.parseSizeGroup = function parseSizeGroup(optional) { + var res; + var isBlank = false; + + if (!optional && this.fetch().text !== "{") { + res = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size"); + } else { + res = this.parseStringGroup("size", optional); + } + + if (!res) { + return null; + } + + if (!optional && res.text.length === 0) { + // Because we've tested for what is !optional, this block won't + // affect \kern, \hspace, etc. It will capture the mandatory arguments + // to \genfrac and \above. + res.text = "0pt"; // Enable \above{} + + isBlank = true; // This is here specifically for \genfrac + } + + var match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(res.text); + + if (!match) { + throw new src_ParseError("Invalid size: '" + res.text + "'", res); + } + + var data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new src_ParseError("Invalid unit: '" + data.unit + "'", res); + } + + return { + type: "size", + mode: this.mode, + value: data, + isBlank: isBlank + }; + } + /** + * Parses an URL, checking escaped letters and allowed protocols, + * and setting the catcode of % as an active character (as in \hyperref). + */ + ; + + _proto.parseUrlGroup = function parseUrlGroup(optional, consumeSpaces) { + this.gullet.lexer.setCatcode("%", 13); // active character + + var res = this.parseStringGroup("url", optional, true); // get raw string + + this.gullet.lexer.setCatcode("%", 14); // comment character + + if (!res) { + return null; + } // hyperref package allows backslashes alone in href, but doesn't + // generate valid links in such cases; we interpret this as + // "undefined" behaviour, and keep them as-is. Some browser will + // replace backslashes with forward slashes. + + + var url = res.text.replace(/\\([#$%&~_^{}])/g, '$1'); + return { + type: "url", + mode: this.mode, + url: url + }; + } + /** + * If `optional` is false or absent, this parses an ordinary group, + * which is either a single nucleus (like "x") or an expression + * in braces (like "{x+y}") or an implicit group, a group that starts + * at the current position, and ends right before a higher explicit + * group ends, or at EOF. + * If `optional` is true, it parses either a bracket-delimited expression + * (like "[x+y]") or returns null to indicate the absence of a + * bracket-enclosed group. + * If `mode` is present, switches to that mode while parsing the group, + * and switches back after. + */ + ; + + _proto.parseGroup = function parseGroup(name, // For error reporting. + optional, greediness, breakOnTokenText, mode, consumeSpaces) { + // Switch to specified mode + var outerMode = this.mode; + + if (mode) { + this.switchMode(mode); + } // Consume spaces if requested, crucially *after* we switch modes, + // so that the next non-space token is parsed in the correct mode. + + + if (consumeSpaces) { + this.consumeSpaces(); + } // Get first token + + + var firstToken = this.fetch(); + var text = firstToken.text; + var result; // Try to parse an open brace or \begingroup + + if (optional ? text === "[" : text === "{" || text === "\\begingroup") { + this.consume(); + var groupEnd = Parser.endOfGroup[text]; // Start a new group namespace + + this.gullet.beginGroup(); // If we get a brace, parse an expression + + var expression = this.parseExpression(false, groupEnd); + var lastToken = this.fetch(); // Check that we got a matching closing brace + + this.expect(groupEnd); // End group namespace + + this.gullet.endGroup(); + result = { + type: "ordgroup", + mode: this.mode, + loc: SourceLocation.range(firstToken, lastToken), + body: expression, + // A group formed by \begingroup...\endgroup is a semi-simple group + // which doesn't affect spacing in math mode, i.e., is transparent. + // https://tex.stackexchange.com/questions/1930/when-should-one- + // use-begingroup-instead-of-bgroup + semisimple: text === "\\begingroup" || undefined + }; + } else if (optional) { + // Return nothing for an optional group + result = null; + } else { + // If there exists a function with this name, parse the function. + // Otherwise, just return a nucleus + result = this.parseFunction(breakOnTokenText, name, greediness) || this.parseSymbol(); + + if (result == null && text[0] === "\\" && !implicitCommands.hasOwnProperty(text)) { + if (this.settings.throwOnError) { + throw new src_ParseError("Undefined control sequence: " + text, firstToken); + } + + result = this.formatUnsupportedCmd(text); + this.consume(); + } + } // Switch mode back + + + if (mode) { + this.switchMode(outerMode); + } + + return result; + } + /** + * Form ligature-like combinations of characters for text mode. + * This includes inputs like "--", "---", "``" and "''". + * The result will simply replace multiple textord nodes with a single + * character in each value by a single textord node having multiple + * characters in its value. The representation is still ASCII source. + * The group will be modified in place. + */ + ; + + _proto.formLigatures = function formLigatures(group) { + var n = group.length - 1; + + for (var i = 0; i < n; ++i) { + var a = group[i]; // $FlowFixMe: Not every node type has a `text` property. + + var v = a.text; + + if (v === "-" && group[i + 1].text === "-") { + if (i + 1 < n && group[i + 2].text === "-") { + group.splice(i, 3, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 2]), + text: "---" + }); + n -= 2; + } else { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: "--" + }); + n -= 1; + } + } + + if ((v === "'" || v === "`") && group[i + 1].text === v) { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: v + v + }); + n -= 1; + } + } + } + /** + * Parse a single symbol out of the string. Here, we handle single character + * symbols and special functions like \verb. + */ + ; + + _proto.parseSymbol = function parseSymbol() { + var nucleus = this.fetch(); + var text = nucleus.text; + + if (/^\\verb[^a-zA-Z]/.test(text)) { + this.consume(); + var arg = text.slice(5); + var star = arg.charAt(0) === "*"; + + if (star) { + arg = arg.slice(1); + } // Lexer's tokenRegex is constructed to always have matching + // first/last characters. + + + if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) { + throw new src_ParseError("\\verb assertion failed --\n please report what input caused this bug"); + } + + arg = arg.slice(1, -1); // remove first and last char + + return { + type: "verb", + mode: "text", + body: arg, + star: star + }; + } // At this point, we should have a symbol, possibly with accents. + // First expand any accented base symbol according to unicodeSymbols. + + + if (unicodeSymbols.hasOwnProperty(text[0]) && !src_symbols[this.mode][text[0]]) { + // This behavior is not strict (XeTeX-compatible) in math mode. + if (this.settings.strict && this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", "Accented Unicode text character \"" + text[0] + "\" used in " + "math mode", nucleus); + } + + text = unicodeSymbols[text[0]] + text.substr(1); + } // Strip off any combining characters + + + var match = combiningDiacriticalMarksEndRegex.exec(text); + + if (match) { + text = text.substring(0, match.index); + + if (text === 'i') { + text = "\u0131"; // dotless i, in math and text mode + } else if (text === 'j') { + text = "\u0237"; // dotless j, in math and text mode + } + } // Recognize base symbol + + + var symbol; + + if (src_symbols[this.mode][text]) { + if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) { + this.settings.reportNonstrict("unicodeTextInMathMode", "Latin-1/Unicode text character \"" + text[0] + "\" used in " + "math mode", nucleus); + } + + var group = src_symbols[this.mode][text].group; + var loc = SourceLocation.range(nucleus); + var s; + + if (ATOMS.hasOwnProperty(group)) { + // $FlowFixMe + var family = group; + s = { + type: "atom", + mode: this.mode, + family: family, + loc: loc, + text: text + }; + } else { + // $FlowFixMe + s = { + type: group, + mode: this.mode, + loc: loc, + text: text + }; + } + + symbol = s; + } else if (text.charCodeAt(0) >= 0x80) { + // no symbol for e.g. ^ + if (this.settings.strict) { + if (!supportedCodepoint(text.charCodeAt(0))) { + this.settings.reportNonstrict("unknownSymbol", "Unrecognized Unicode character \"" + text[0] + "\"" + (" (" + text.charCodeAt(0) + ")"), nucleus); + } else if (this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", "Unicode text character \"" + text[0] + "\" used in math mode", nucleus); + } + } // All nonmathematical Unicode characters are rendered as if they + // are in text mode (wrapped in \text) because that's what it + // takes to render them in LaTeX. Setting `mode: this.mode` is + // another natural choice (the user requested math mode), but + // this makes it more difficult for getCharacterMetrics() to + // distinguish Unicode characters without metrics and those for + // which we want to simulate the letter M. + + + symbol = { + type: "textord", + mode: "text", + loc: SourceLocation.range(nucleus), + text: text + }; + } else { + return null; // EOF, ^, _, {, }, etc. + } + + this.consume(); // Transform combining characters into accents + + if (match) { + for (var i = 0; i < match[0].length; i++) { + var accent = match[0][i]; + + if (!unicodeAccents[accent]) { + throw new src_ParseError("Unknown accent ' " + accent + "'", nucleus); + } + + var command = unicodeAccents[accent][this.mode]; + + if (!command) { + throw new src_ParseError("Accent " + accent + " unsupported in " + this.mode + " mode", nucleus); + } + + symbol = { + type: "accent", + mode: this.mode, + loc: SourceLocation.range(nucleus), + label: command, + isStretchy: false, + isShifty: true, + base: symbol + }; + } + } + + return symbol; + }; + + return Parser; +}(); + +Parser_Parser.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"]; +Parser_Parser.endOfGroup = { + "[": "]", + "{": "}", + "\\begingroup": "\\endgroup" + /** + * Parses an "expression", which is a list of atoms. + * + * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This + * happens when functions have higher precendence han infix + * nodes in implicit parses. + * + * `breakOnTokenText`: The text of the token that the expression should end + * with, or `null` if something else should end the + * expression. + */ + +}; +Parser_Parser.SUPSUB_GREEDINESS = 1; + +// CONCATENATED MODULE: ./src/parseTree.js +/** + * Provides a single function for parsing an expression using a Parser + * TODO(emily): Remove this + */ + + + +/** + * Parses an expression using a Parser, then returns the parsed result. + */ +var parseTree_parseTree = function parseTree(toParse, settings) { + if (!(typeof toParse === 'string' || toParse instanceof String)) { + throw new TypeError('KaTeX can only parse string typed expression'); + } + + var parser = new Parser_Parser(toParse, settings); // Blank out any \df@tag to avoid spurious "Duplicate \tag" errors + + delete parser.gullet.macros.current["\\df@tag"]; + var tree = parser.parse(); // If the input used \tag, it will set the \df@tag macro to the tag. + // In this case, we separately parse the tag and wrap the tree. + + if (parser.gullet.macros.get("\\df@tag")) { + if (!settings.displayMode) { + throw new src_ParseError("\\tag works only in display equations"); + } + + parser.gullet.feed("\\df@tag"); + tree = [{ + type: "tag", + mode: "text", + body: tree, + tag: parser.parse() + }]; + } + + return tree; +}; + +/* harmony default export */ var src_parseTree = (parseTree_parseTree); +// CONCATENATED MODULE: ./katex.js +/* eslint no-console:0 */ + +/** + * This is the main entry point for KaTeX. Here, we expose functions for + * rendering expressions either to DOM nodes or to markup strings. + * + * We also expose the ParseError class to check if errors thrown from KaTeX are + * errors in the expression, or errors in javascript handling. + */ + + + + + + + + + + +/** + * Parse and build an expression, and place that expression in the DOM node + * given. + */ +var katex_render = function render(expression, baseNode, options) { + baseNode.textContent = ""; + var node = katex_renderToDomTree(expression, options).toNode(); + baseNode.appendChild(node); +}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and +// disable rendering. + + +if (typeof document !== "undefined") { + if (document.compatMode !== "CSS1Compat") { + typeof console !== "undefined" && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your " + "website has a suitable doctype."); + + katex_render = function render() { + throw new src_ParseError("KaTeX doesn't work in quirks mode."); + }; + } +} +/** + * Parse and build an expression, and return the markup for that. + */ + + +var renderToString = function renderToString(expression, options) { + var markup = katex_renderToDomTree(expression, options).toMarkup(); + return markup; +}; +/** + * Parse an expression and return the parse tree. + */ + + +var katex_generateParseTree = function generateParseTree(expression, options) { + var settings = new Settings_Settings(options); + return src_parseTree(expression, settings); +}; +/** + * If the given error is a KaTeX ParseError and options.throwOnError is false, + * renders the invalid LaTeX as a span with hover title giving the KaTeX + * error message. Otherwise, simply throws the error. + */ + + +var katex_renderError = function renderError(error, expression, options) { + if (options.throwOnError || !(error instanceof src_ParseError)) { + throw error; + } + + var node = buildCommon.makeSpan(["katex-error"], [new domTree_SymbolNode(expression)]); + node.setAttribute("title", error.toString()); + node.setAttribute("style", "color:" + options.errorColor); + return node; +}; +/** + * Generates and returns the katex build tree. This is used for advanced + * use cases (like rendering to custom output). + */ + + +var katex_renderToDomTree = function renderToDomTree(expression, options) { + var settings = new Settings_Settings(options); + + try { + var tree = src_parseTree(expression, settings); + return buildTree_buildTree(tree, expression, settings); + } catch (error) { + return katex_renderError(error, expression, settings); + } +}; +/** + * Generates and returns the katex build tree, with just HTML (no MathML). + * This is used for advanced use cases (like rendering to custom output). + */ + + +var katex_renderToHTMLTree = function renderToHTMLTree(expression, options) { + var settings = new Settings_Settings(options); + + try { + var tree = src_parseTree(expression, settings); + return buildTree_buildHTMLTree(tree, expression, settings); + } catch (error) { + return katex_renderError(error, expression, settings); + } +}; + +/* harmony default export */ var katex_0 = ({ + /** + * Current KaTeX version + */ + version: "0.12.0", + + /** + * Renders the given LaTeX into an HTML+MathML combination, and adds + * it as a child to the specified DOM node. + */ + render: katex_render, + + /** + * Renders the given LaTeX into an HTML+MathML combination string, + * for sending to the client. + */ + renderToString: renderToString, + + /** + * KaTeX error, usually during parsing. + */ + ParseError: src_ParseError, + + /** + * Parses the given LaTeX into KaTeX's internal parse tree structure, + * without rendering to HTML or MathML. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __parse: katex_generateParseTree, + + /** + * Renders the given LaTeX into an HTML+MathML internal DOM tree + * representation, without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToDomTree: katex_renderToDomTree, + + /** + * Renders the given LaTeX into an HTML internal DOM tree representation, + * without MathML and without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToHTMLTree: katex_renderToHTMLTree, + + /** + * extends internal font metrics object with a new object + * each key in the new object represents a font name + */ + __setFontMetrics: setFontMetrics, + + /** + * adds a new symbol to builtin symbols table + */ + __defineSymbol: defineSymbol, + + /** + * adds a new macro to builtin macro list + */ + __defineMacro: defineMacro, + + /** + * Expose the dom tree node types, which can be useful for type checking nodes. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __domTree: { + Span: domTree_Span, + Anchor: domTree_Anchor, + SymbolNode: domTree_SymbolNode, + SvgNode: SvgNode, + PathNode: domTree_PathNode, + LineNode: LineNode + } +}); +// CONCATENATED MODULE: ./katex.webpack.js +/** + * This is the webpack entry point for KaTeX. As ECMAScript, flow[1] and jest[2] + * doesn't support CSS modules natively, a separate entry point is used and + * it is not flowtyped. + * + * [1] https://gist.github.com/lambdahands/d19e0da96285b749f0ef + * [2] https://facebook.github.io/jest/docs/en/webpack.html + */ + + +/* harmony default export */ var katex_webpack = __webpack_exports__["default"] = (katex_0); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/source/lib/katex@0.12.0/katex.min.css b/source/lib/katex@0.12.0/katex.min.css new file mode 100644 index 0000000..98b7c7b --- /dev/null +++ b/source/lib/katex@0.12.0/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Math;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Math;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Script;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size1;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size2;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size3;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size4;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Typewriter;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");font-weight:400;font-style:normal}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto;border-color:currentColor}.katex *{-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.12.0"}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed;border-collapse:collapse}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .vbox{-ms-flex-direction:column;flex-direction:column;align-items:baseline}.katex .hbox,.katex .vbox{display:-ms-inline-flexbox;display:inline-flex}.katex .hbox{-ms-flex-direction:row;flex-direction:row;width:100%}.katex .thinbox{display:inline-flex;flex-direction:row;width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:0 solid;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em} diff --git a/source/lib/katex@0.12.0/katex.min.js b/source/lib/katex@0.12.0/katex.min.js new file mode 100644 index 0000000..4df7e17 --- /dev/null +++ b/source/lib/katex@0.12.0/katex.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.katex=e():t.katex=e()}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(a,n,function(e){return t[e]}.bind(null,n));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){},function(t,e,r){"use strict";r.r(e);r(0);var a=function(){function t(t,e,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=r}return t.range=function(e,r){return r?e&&e.loc&&r.loc&&e.loc.lexer===r.loc.lexer?new t(e.loc.lexer,e.loc.start,r.loc.end):null:e&&e.loc},t}(),n=function(){function t(t,e){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=t,this.loc=e}return t.prototype.range=function(e,r){return new t(r,a.range(this,e))},t}(),i=function t(e,r){this.position=void 0;var a,n="KaTeX parse error: "+e,i=r&&r.loc;if(i&&i.start<=i.end){var o=i.lexer.input;a=i.start;var s=i.end;a===o.length?n+=" at end of input: ":n+=" at position "+(a+1)+": ";var l=o.slice(a,s).replace(/[^]/g,"$&\u0332");n+=(a>15?"\u2026"+o.slice(a-15,a):o.slice(0,a))+l+(s+15":">","<":"<",'"':""","'":"'"},h=/[&><"']/g;var m=function t(e){return"ordgroup"===e.type?1===e.body.length?t(e.body[0]):e:"color"===e.type?1===e.body.length?t(e.body[0]):e:"font"===e.type?t(e.body):e},c={contains:function(t,e){return-1!==t.indexOf(e)},deflt:function(t,e){return void 0===t?e:t},escape:function(t){return String(t).replace(h,function(t){return l[t]})},hyphenate:function(t){return t.replace(s,"-$1").toLowerCase()},getBaseElem:m,isCharacterBox:function(t){var e=m(t);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},protocolFromUrl:function(t){var e=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(t);return null!=e?e[1]:"_relative"}},u=function(){function t(t){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{},this.displayMode=c.deflt(t.displayMode,!1),this.output=c.deflt(t.output,"htmlAndMathml"),this.leqno=c.deflt(t.leqno,!1),this.fleqn=c.deflt(t.fleqn,!1),this.throwOnError=c.deflt(t.throwOnError,!0),this.errorColor=c.deflt(t.errorColor,"#cc0000"),this.macros=t.macros||{},this.minRuleThickness=Math.max(0,c.deflt(t.minRuleThickness,0)),this.colorIsTextColor=c.deflt(t.colorIsTextColor,!1),this.strict=c.deflt(t.strict,"warn"),this.trust=c.deflt(t.trust,!1),this.maxSize=Math.max(0,c.deflt(t.maxSize,1/0)),this.maxExpand=Math.max(0,c.deflt(t.maxExpand,1e3)),this.globalGroup=c.deflt(t.globalGroup,!1)}var e=t.prototype;return e.reportNonstrict=function(t,e,r){var a=this.strict;if("function"==typeof a&&(a=a(t,e,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new o("LaTeX-incompatible input and strict mode is set to 'error': "+e+" ["+t+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]")}},e.useStrictBehavior=function(t,e,r){var a=this.strict;if("function"==typeof a)try{a=a(t,e,r)}catch(t){a="error"}return!(!a||"ignore"===a)&&(!0===a||"error"===a||("warn"===a?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]"),!1)))},e.isTrusted=function(t){t.url&&!t.protocol&&(t.protocol=c.protocolFromUrl(t.url));var e="function"==typeof this.trust?this.trust(t):this.trust;return Boolean(e)},t}(),p=function(){function t(t,e,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=r}var e=t.prototype;return e.sup=function(){return d[f[this.id]]},e.sub=function(){return d[g[this.id]]},e.fracNum=function(){return d[x[this.id]]},e.fracDen=function(){return d[v[this.id]]},e.cramp=function(){return d[b[this.id]]},e.text=function(){return d[y[this.id]]},e.isTight=function(){return this.size>=2},t}(),d=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],f=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],x=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],w={DISPLAY:d[0],TEXT:d[2],SCRIPT:d[4],SCRIPTSCRIPT:d[6]},k=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];var S=[];function M(t){for(var e=0;e=S[e]&&t<=S[e+1])return!0;return!1}k.forEach(function(t){return t.blocks.forEach(function(t){return S.push.apply(S,t)})});var z={leftParenInner:"M291 0 H417 V300 H291 z",rightParenInner:"M457 0 H583 V300 H457 z",doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function t(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){for(var t=document.createDocumentFragment(),e=0;e"},N=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,t,r,a),this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"span")},e.toMarkup=function(){return q.call(this,"span")},t}(),I=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,e,a),this.children=r||[],this.setAttribute("href",t)}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"a")},e.toMarkup=function(){return q.call(this,"a")},t}(),O=function(){function t(t,e,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=r}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createElement("img");for(var e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t},e.toMarkup=function(){var t=""+this.alt+"=n[0]&&t<=n[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=R[this.text])}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createTextNode(this.text),e=null;for(var r in this.italic>0&&((e=document.createElement("span")).style.marginRight=this.italic+"em"),this.classes.length>0&&((e=e||document.createElement("span")).className=T(this.classes)),this.style)this.style.hasOwnProperty(r)&&((e=e||document.createElement("span")).style[r]=this.style[r]);return e?(e.appendChild(t),e):t},e.toMarkup=function(){var t=!1,e="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(a)&&(r+=c.hyphenate(a)+":"+this.style[a]+";");r&&(t=!0,e+=' style="'+c.escape(r)+'"');var n=c.escape(this.text);return t?(e+=">",e+=n,e+=""):n},t}(),L=function(){function t(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r":""},t}(),D=function(){function t(t){this.attributes=void 0,this.attributes=t||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","line");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t},e.toMarkup=function(){var t="","\\gt",!0),$("math",Z,et,"\u2208","\\in",!0),$("math",Z,et,"\ue020","\\@not"),$("math",Z,et,"\u2282","\\subset",!0),$("math",Z,et,"\u2283","\\supset",!0),$("math",Z,et,"\u2286","\\subseteq",!0),$("math",Z,et,"\u2287","\\supseteq",!0),$("math",K,et,"\u2288","\\nsubseteq",!0),$("math",K,et,"\u2289","\\nsupseteq",!0),$("math",Z,et,"\u22a8","\\models"),$("math",Z,et,"\u2190","\\leftarrow",!0),$("math",Z,et,"\u2264","\\le"),$("math",Z,et,"\u2264","\\leq",!0),$("math",Z,et,"<","\\lt",!0),$("math",Z,et,"\u2192","\\rightarrow",!0),$("math",Z,et,"\u2192","\\to"),$("math",K,et,"\u2271","\\ngeq",!0),$("math",K,et,"\u2270","\\nleq",!0),$("math",Z,"spacing","\xa0","\\ "),$("math",Z,"spacing","\xa0","~"),$("math",Z,"spacing","\xa0","\\space"),$("math",Z,"spacing","\xa0","\\nobreakspace"),$("text",Z,"spacing","\xa0","\\ "),$("text",Z,"spacing","\xa0"," "),$("text",Z,"spacing","\xa0","~"),$("text",Z,"spacing","\xa0","\\space"),$("text",Z,"spacing","\xa0","\\nobreakspace"),$("math",Z,"spacing",null,"\\nobreak"),$("math",Z,"spacing",null,"\\allowbreak"),$("math",Z,"punct",",",","),$("math",Z,"punct",";",";"),$("math",K,J,"\u22bc","\\barwedge",!0),$("math",K,J,"\u22bb","\\veebar",!0),$("math",Z,J,"\u2299","\\odot",!0),$("math",Z,J,"\u2295","\\oplus",!0),$("math",Z,J,"\u2297","\\otimes",!0),$("math",Z,"textord","\u2202","\\partial",!0),$("math",Z,J,"\u2298","\\oslash",!0),$("math",K,J,"\u229a","\\circledcirc",!0),$("math",K,J,"\u22a1","\\boxdot",!0),$("math",Z,J,"\u25b3","\\bigtriangleup"),$("math",Z,J,"\u25bd","\\bigtriangledown"),$("math",Z,J,"\u2020","\\dagger"),$("math",Z,J,"\u22c4","\\diamond"),$("math",Z,J,"\u22c6","\\star"),$("math",Z,J,"\u25c3","\\triangleleft"),$("math",Z,J,"\u25b9","\\triangleright"),$("math",Z,"open","{","\\{"),$("text",Z,"textord","{","\\{"),$("text",Z,"textord","{","\\textbraceleft"),$("math",Z,"close","}","\\}"),$("text",Z,"textord","}","\\}"),$("text",Z,"textord","}","\\textbraceright"),$("math",Z,"open","{","\\lbrace"),$("math",Z,"close","}","\\rbrace"),$("math",Z,"open","[","\\lbrack",!0),$("text",Z,"textord","[","\\lbrack",!0),$("math",Z,"close","]","\\rbrack",!0),$("text",Z,"textord","]","\\rbrack",!0),$("math",Z,"open","(","\\lparen",!0),$("math",Z,"close",")","\\rparen",!0),$("text",Z,"textord","<","\\textless",!0),$("text",Z,"textord",">","\\textgreater",!0),$("math",Z,"open","\u230a","\\lfloor",!0),$("math",Z,"close","\u230b","\\rfloor",!0),$("math",Z,"open","\u2308","\\lceil",!0),$("math",Z,"close","\u2309","\\rceil",!0),$("math",Z,"textord","\\","\\backslash"),$("math",Z,"textord","\u2223","|"),$("math",Z,"textord","\u2223","\\vert"),$("text",Z,"textord","|","\\textbar",!0),$("math",Z,"textord","\u2225","\\|"),$("math",Z,"textord","\u2225","\\Vert"),$("text",Z,"textord","\u2225","\\textbardbl"),$("text",Z,"textord","~","\\textasciitilde"),$("text",Z,"textord","\\","\\textbackslash"),$("text",Z,"textord","^","\\textasciicircum"),$("math",Z,et,"\u2191","\\uparrow",!0),$("math",Z,et,"\u21d1","\\Uparrow",!0),$("math",Z,et,"\u2193","\\downarrow",!0),$("math",Z,et,"\u21d3","\\Downarrow",!0),$("math",Z,et,"\u2195","\\updownarrow",!0),$("math",Z,et,"\u21d5","\\Updownarrow",!0),$("math",Z,tt,"\u2210","\\coprod"),$("math",Z,tt,"\u22c1","\\bigvee"),$("math",Z,tt,"\u22c0","\\bigwedge"),$("math",Z,tt,"\u2a04","\\biguplus"),$("math",Z,tt,"\u22c2","\\bigcap"),$("math",Z,tt,"\u22c3","\\bigcup"),$("math",Z,tt,"\u222b","\\int"),$("math",Z,tt,"\u222b","\\intop"),$("math",Z,tt,"\u222c","\\iint"),$("math",Z,tt,"\u222d","\\iiint"),$("math",Z,tt,"\u220f","\\prod"),$("math",Z,tt,"\u2211","\\sum"),$("math",Z,tt,"\u2a02","\\bigotimes"),$("math",Z,tt,"\u2a01","\\bigoplus"),$("math",Z,tt,"\u2a00","\\bigodot"),$("math",Z,tt,"\u222e","\\oint"),$("math",Z,tt,"\u2a06","\\bigsqcup"),$("math",Z,tt,"\u222b","\\smallint"),$("text",Z,"inner","\u2026","\\textellipsis"),$("math",Z,"inner","\u2026","\\mathellipsis"),$("text",Z,"inner","\u2026","\\ldots",!0),$("math",Z,"inner","\u2026","\\ldots",!0),$("math",Z,"inner","\u22ef","\\@cdots",!0),$("math",Z,"inner","\u22f1","\\ddots",!0),$("math",Z,"textord","\u22ee","\\varvdots"),$("math",Z,"accent-token","\u02ca","\\acute"),$("math",Z,"accent-token","\u02cb","\\grave"),$("math",Z,"accent-token","\xa8","\\ddot"),$("math",Z,"accent-token","~","\\tilde"),$("math",Z,"accent-token","\u02c9","\\bar"),$("math",Z,"accent-token","\u02d8","\\breve"),$("math",Z,"accent-token","\u02c7","\\check"),$("math",Z,"accent-token","^","\\hat"),$("math",Z,"accent-token","\u20d7","\\vec"),$("math",Z,"accent-token","\u02d9","\\dot"),$("math",Z,"accent-token","\u02da","\\mathring"),$("math",Z,Q,"\ue131","\\@imath"),$("math",Z,Q,"\ue237","\\@jmath"),$("math",Z,"textord","\u0131","\u0131"),$("math",Z,"textord","\u0237","\u0237"),$("text",Z,"textord","\u0131","\\i",!0),$("text",Z,"textord","\u0237","\\j",!0),$("text",Z,"textord","\xdf","\\ss",!0),$("text",Z,"textord","\xe6","\\ae",!0),$("text",Z,"textord","\u0153","\\oe",!0),$("text",Z,"textord","\xf8","\\o",!0),$("text",Z,"textord","\xc6","\\AE",!0),$("text",Z,"textord","\u0152","\\OE",!0),$("text",Z,"textord","\xd8","\\O",!0),$("text",Z,"accent-token","\u02ca","\\'"),$("text",Z,"accent-token","\u02cb","\\`"),$("text",Z,"accent-token","\u02c6","\\^"),$("text",Z,"accent-token","\u02dc","\\~"),$("text",Z,"accent-token","\u02c9","\\="),$("text",Z,"accent-token","\u02d8","\\u"),$("text",Z,"accent-token","\u02d9","\\."),$("text",Z,"accent-token","\u02da","\\r"),$("text",Z,"accent-token","\u02c7","\\v"),$("text",Z,"accent-token","\xa8",'\\"'),$("text",Z,"accent-token","\u02dd","\\H"),$("text",Z,"accent-token","\u25ef","\\textcircled");var rt={"--":!0,"---":!0,"``":!0,"''":!0};$("text",Z,"textord","\u2013","--",!0),$("text",Z,"textord","\u2013","\\textendash"),$("text",Z,"textord","\u2014","---",!0),$("text",Z,"textord","\u2014","\\textemdash"),$("text",Z,"textord","\u2018","`",!0),$("text",Z,"textord","\u2018","\\textquoteleft"),$("text",Z,"textord","\u2019","'",!0),$("text",Z,"textord","\u2019","\\textquoteright"),$("text",Z,"textord","\u201c","``",!0),$("text",Z,"textord","\u201c","\\textquotedblleft"),$("text",Z,"textord","\u201d","''",!0),$("text",Z,"textord","\u201d","\\textquotedblright"),$("math",Z,"textord","\xb0","\\degree",!0),$("text",Z,"textord","\xb0","\\degree"),$("text",Z,"textord","\xb0","\\textdegree",!0),$("math",Z,"textord","\xa3","\\pounds"),$("math",Z,"textord","\xa3","\\mathsterling",!0),$("text",Z,"textord","\xa3","\\pounds"),$("text",Z,"textord","\xa3","\\textsterling",!0),$("math",K,"textord","\u2720","\\maltese"),$("text",K,"textord","\u2720","\\maltese");for(var at=0;at<'0123456789/@."'.length;at++){var nt='0123456789/@."'.charAt(at);$("math",Z,"textord",nt,nt)}for(var it=0;it<'0123456789!@*()-=+";:?/.,'.length;it++){var ot='0123456789!@*()-=+";:?/.,'.charAt(it);$("text",Z,"textord",ot,ot)}for(var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",lt=0;lt=5?0:t>=3?1:2]){var r=Y[e]={cssEmPerMu:V.quad[e]/18};for(var a in V)V.hasOwnProperty(a)&&(r[a]=V[a][e])}return Y[e]}(this.size)),this._fontMetrics},e.getColor=function(){return this.phantom?"transparent":this.color},t}();kt.BASESIZE=6;var St=kt,Mt={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},zt={ex:!0,em:!0,mu:!0},At=function(t){return"string"!=typeof t&&(t=t.unit),t in Mt||t in zt||"ex"===t},Tt=function(t,e){var r;if(t.unit in Mt)r=Mt[t.unit]/e.fontMetrics().ptPerEm/e.sizeMultiplier;else if("mu"===t.unit)r=e.fontMetrics().cssEmPerMu;else{var a;if(a=e.style.isTight()?e.havingStyle(e.style.text()):e,"ex"===t.unit)r=a.fontMetrics().xHeight;else{if("em"!==t.unit)throw new o("Invalid unit: '"+t.unit+"'");r=a.fontMetrics().quad}a!==e&&(r*=a.sizeMultiplier/e.sizeMultiplier)}return Math.min(t.number*r,e.maxSize)},Bt=function(t,e,r){return j[r][t]&&j[r][t].replace&&(t=j[r][t].replace),{value:t,metrics:G(t,e,r)}},Ct=function(t,e,r,a,n){var i,o=Bt(t,e,r),s=o.metrics;if(t=o.value,s){var l=s.italic;("text"===r||a&&"mathit"===a.font)&&(l=0),i=new E(t,s.height,s.depth,l,s.skew,s.width,n)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+t+"' in style '"+e+"' and mode '"+r+"'"),i=new E(t,0,0,0,0,0,n);if(a){i.maxFontSize=a.sizeMultiplier,a.style.isTight()&&i.classes.push("mtight");var h=a.getColor();h&&(i.style.color=h)}return i},qt=function(t,e){if(T(t.classes)!==T(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;for(var r in t.style)if(t.style.hasOwnProperty(r)&&t.style[r]!==e.style[r])return!1;for(var a in e.style)if(e.style.hasOwnProperty(a)&&t.style[a]!==e.style[a])return!1;return!0},Nt=function(t){for(var e=0,r=0,a=0,n=0;ne&&(e=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}t.height=e,t.depth=r,t.maxFontSize=a},It=function(t,e,r,a){var n=new N(t,e,r,a);return Nt(n),n},Ot=function(t,e,r,a){return new N(t,e,r,a)},Rt=function(t){var e=new A(t);return Nt(e),e},Et=function(t,e,r){var a="";switch(t){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=t}return a+"-"+("textbf"===e&&"textit"===r?"BoldItalic":"textbf"===e?"Bold":"textit"===e?"Italic":"Regular")},Lt={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Pt={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659],leftParenInner:["leftParenInner",.875,.3],rightParenInner:["rightParenInner",.875,.3]},Dt={fontMap:Lt,makeSymbol:Ct,mathsym:function(t,e,r,a){return void 0===a&&(a=[]),"boldsymbol"===r.font&&Bt(t,"Main-Bold",e).metrics?Ct(t,"Main-Bold",e,r,a.concat(["mathbf"])):"\\"===t||"main"===j[e][t].font?Ct(t,"Main-Regular",e,r,a):Ct(t,"AMS-Regular",e,r,a.concat(["amsrm"]))},makeSpan:It,makeSvgSpan:Ot,makeLineSpan:function(t,e,r){var a=It([t],[],e);return a.height=Math.max(r||e.fontMetrics().defaultRuleThickness,e.minRuleThickness),a.style.borderBottomWidth=a.height+"em",a.maxFontSize=1,a},makeAnchor:function(t,e,r,a){var n=new I(t,e,r,a);return Nt(n),n},makeFragment:Rt,wrapFragment:function(t,e){return t instanceof A?It([],[t],e):t},makeVList:function(t,e){for(var r=function(t){if("individualShift"===t.positionType){for(var e=t.children,r=[e[0]],a=-e[0].shift-e[0].elem.depth,n=a,i=1;i0&&(i.push(se(o,e)),o=[]),i.push(n[s]));o.length>0&&i.push(se(o,e)),r&&((a=se(ee(r,e,!0))).classes=["tag"],i.push(a));var h=Zt(["katex-html"],i);if(h.setAttribute("aria-hidden","true"),a){var m=a.children[0];m.style.height=h.height+h.depth+"em",m.style.verticalAlign=-h.depth+"em"}return h}function he(t){return new A(t)}var me=function(){function t(t,e){this.type=void 0,this.attributes=void 0,this.children=void 0,this.type=t,this.attributes={},this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.getAttribute=function(t){return this.attributes[t]},e.toNode=function(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r"},e.toText=function(){return this.children.map(function(t){return t.toText()}).join("")},t}(),ce=function(){function t(t){this.text=void 0,this.text=t}var e=t.prototype;return e.toNode=function(){return document.createTextNode(this.text)},e.toMarkup=function(){return c.escape(this.toText())},e.toText=function(){return this.text},t}(),ue={MathNode:me,TextNode:ce,SpaceNode:function(){function t(t){this.width=void 0,this.character=void 0,this.width=t,this.character=t>=.05555&&t<=.05556?"\u200a":t>=.1666&&t<=.1667?"\u2009":t>=.2222&&t<=.2223?"\u2005":t>=.2777&&t<=.2778?"\u2005\u200a":t>=-.05556&&t<=-.05555?"\u200a\u2063":t>=-.1667&&t<=-.1666?"\u2009\u2063":t>=-.2223&&t<=-.2222?"\u205f\u2063":t>=-.2778&&t<=-.2777?"\u2005\u2063":null}var e=t.prototype;return e.toNode=function(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",this.width+"em"),t},e.toMarkup=function(){return this.character?""+this.character+"":''},e.toText=function(){return this.character?this.character:" "},t}(),newDocumentFragment:he},pe=function(t,e,r){return!j[e][t]||!j[e][t].replace||55349===t.charCodeAt(0)||rt.hasOwnProperty(t)&&r&&(r.fontFamily&&"tt"===r.fontFamily.substr(4,2)||r.font&&"tt"===r.font.substr(4,2))||(t=j[e][t].replace),new ue.TextNode(t)},de=function(t){return 1===t.length?t[0]:new ue.MathNode("mrow",t)},fe=function(t,e){if("texttt"===e.fontFamily)return"monospace";if("textsf"===e.fontFamily)return"textit"===e.fontShape&&"textbf"===e.fontWeight?"sans-serif-bold-italic":"textit"===e.fontShape?"sans-serif-italic":"textbf"===e.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===e.fontShape&&"textbf"===e.fontWeight)return"bold-italic";if("textit"===e.fontShape)return"italic";if("textbf"===e.fontWeight)return"bold";var r=e.font;if(!r||"mathnormal"===r)return null;var a=t.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===t.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var n=t.text;return c.contains(["\\imath","\\jmath"],n)?null:(j[a][n]&&j[a][n].replace&&(n=j[a][n].replace),G(n,Dt.fontMap[r].fontName,a)?Dt.fontMap[r].variant:null)},ge=function(t,e,r){if(1===t.length){var a=ve(t[0],e);return r&&a instanceof me&&"mo"===a.type&&(a.setAttribute("lspace","0em"),a.setAttribute("rspace","0em")),[a]}for(var n,i=[],o=0;o0&&(p.text=p.text.slice(0,1)+"\u0338"+p.text.slice(1),i.pop())}}}i.push(s),n=s}return i},xe=function(t,e,r){return de(ge(t,e,r))},ve=function(t,e){if(!t)return new ue.MathNode("mrow");if(Xt[t.type])return Xt[t.type](t,e);throw new o("Got group of unknown type: '"+t.type+"'")};function be(t,e,r,a,n){var i,o=ge(t,r);i=1===o.length&&o[0]instanceof me&&c.contains(["mrow","mtable"],o[0].type)?o[0]:new ue.MathNode("mrow",o);var s=new ue.MathNode("annotation",[new ue.TextNode(e)]);s.setAttribute("encoding","application/x-tex");var l=new ue.MathNode("semantics",[i,s]),h=new ue.MathNode("math",[l]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&h.setAttribute("display","block");var m=n?"katex":"katex-mathml";return Dt.makeSpan([m],[h])}var ye=function(t){return new St({style:t.displayMode?w.DISPLAY:w.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},we=function(t,e){if(e.displayMode){var r=["katex-display"];e.leqno&&r.push("leqno"),e.fleqn&&r.push("fleqn"),t=Dt.makeSpan(r,[t])}return t},ke=function(t,e,r){var a,n=ye(r);if("mathml"===r.output)return be(t,e,n,r.displayMode,!0);if("html"===r.output){var i=le(t,n);a=Dt.makeSpan(["katex"],[i])}else{var o=be(t,e,n,r.displayMode,!1),s=le(t,n);a=Dt.makeSpan(["katex"],[o,s])}return we(a,r)},Se={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb"},Me={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},ze=function(t){return"ordgroup"===t.type?t.body.length:1},Ae=function(t,e,r,a){var n,i=t.height+t.depth+2*r;if(/fbox|color/.test(e)){if(n=Dt.makeSpan(["stretchy",e],[],a),"fbox"===e){var o=a.color&&a.getColor();o&&(n.style.borderColor=o)}}else{var s=[];/^[bx]cancel$/.test(e)&&s.push(new D({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(e)&&s.push(new D({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var l=new L(s,{width:"100%",height:i+"em"});n=Dt.makeSvgSpan([],[l],a)}return n.height=i,n.style.height=i+"em",n},Te=function(t){var e=new ue.MathNode("mo",[new ue.TextNode(Se[t.substr(1)])]);return e.setAttribute("stretchy","true"),e},Be=function(t,e){var r=function(){var r=4e5,a=t.label.substr(1);if(c.contains(["widehat","widecheck","widetilde","utilde"],a)){var n,i,o,s=ze(t.base);if(s>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,o=.42,i=a+"4"):(n=312,r=2340,o=.34,i="tilde4");else{var l=[1,1,2,2,3,3][s];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][l],n=[0,239,300,360,420][l],o=[0,.24,.3,.3,.36,.42][l],i=a+l):(r=[0,600,1033,2339,2340][l],n=[0,260,286,306,312][l],o=[0,.26,.286,.3,.306,.34][l],i="tilde"+l)}var h=new P(i),m=new L([h],{width:"100%",height:o+"em",viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"});return{span:Dt.makeSvgSpan([],[m],e),minWidth:0,height:o}}var u,p,d=[],f=Me[a],g=f[0],x=f[1],v=f[2],b=v/1e3,y=g.length;if(1===y)u=["hide-tail"],p=[f[3]];else if(2===y)u=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==y)throw new Error("Correct katexImagesData or update code here to support\n "+y+" children.");u=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var w=0;w0&&(a.style.minWidth=n+"em"),a};function Ce(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function qe(t){var e=Ne(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Ne(t){return t&&("atom"===t.type||X.hasOwnProperty(t.type))?t:null}var Ie=function(t,e){var r,a,n;t&&"supsub"===t.type?(r=(a=Ce(t.base,"accent")).base,t.base=r,n=function(t){if(t instanceof N)return t;throw new Error("Expected span but got "+String(t)+".")}(oe(t,e)),t.base=a):r=(a=Ce(t,"accent")).base;var i=oe(r,e.havingCrampedStyle()),o=0;if(a.isShifty&&c.isCharacterBox(r)){var s=c.getBaseElem(r);o=H(oe(s,e.havingCrampedStyle())).skew}var l,h=Math.min(i.height,e.fontMetrics().xHeight);if(a.isStretchy)l=Be(a,e),l=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:l,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+2*o+"em)",marginLeft:2*o+"em"}:void 0}]},e);else{var m,u;"\\vec"===a.label?(m=Dt.staticSvg("vec",e),u=Dt.svgData.vec[1]):((m=H(m=Dt.makeOrd({mode:a.mode,text:a.label},e,"textord"))).italic=0,u=m.width),l=Dt.makeSpan(["accent-body"],[m]);var p="\\textcircled"===a.label;p&&(l.classes.push("accent-full"),h=i.height);var d=o;p||(d-=u/2),l.style.left=d+"em","\\textcircled"===a.label&&(l.style.top=".2em"),l=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-h},{type:"elem",elem:l}]},e)}var f=Dt.makeSpan(["mord","accent"],[l],e);return n?(n.children[0]=f,n.height=Math.max(f.height,n.height),n.classes[0]="mord",n):f},Oe=function(t,e){var r=t.isStretchy?Te(t.label):new ue.MathNode("mo",[pe(t.label,t.mode)]),a=new ue.MathNode("mover",[ve(t.base,e),r]);return a.setAttribute("accent","true"),a},Re=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(function(t){return"\\"+t}).join("|"));_t({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(t,e){var r=e[0],a=!Re.test(t.funcName),n=!a||"\\widehat"===t.funcName||"\\widetilde"===t.funcName||"\\widecheck"===t.funcName;return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:Ie,mathmlBuilder:Oe}),_t({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!1},handler:function(t,e){var r=e[0];return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Ie,mathmlBuilder:Oe}),_t({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:function(t,e){var r=oe(t.base,e),a=Be(t,e),n="\\utilde"===t.label?.12:0,i=Dt.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord","accentunder"],[i],e)},mathmlBuilder:function(t,e){var r=Te(t.label),a=new ue.MathNode("munder",[ve(t.base,e),r]);return a.setAttribute("accentunder","true"),a}});var Ee=function(t){var e=new ue.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};_t({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium"],props:{numArgs:1,numOptionalArgs:1},handler:function(t,e,r){var a=t.parser,n=t.funcName;return{type:"xArrow",mode:a.mode,label:n,body:e[0],below:r[0]}},htmlBuilder:function(t,e){var r,a=e.style,n=e.havingStyle(a.sup()),i=Dt.wrapFragment(oe(t.body,n,e),e);i.classes.push("x-arrow-pad"),t.below&&(n=e.havingStyle(a.sub()),(r=Dt.wrapFragment(oe(t.below,n,e),e)).classes.push("x-arrow-pad"));var o,s=Be(t,e),l=-e.fontMetrics().axisHeight+.5*s.height,h=-e.fontMetrics().axisHeight-.5*s.height-.111;if((i.depth>.25||"\\xleftequilibrium"===t.label)&&(h-=i.depth),r){var m=-e.fontMetrics().axisHeight+r.height+.5*s.height+.111;o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:s,shift:l},{type:"elem",elem:r,shift:m}]},e)}else o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:s,shift:l}]},e);return o.children[0].children[0].children[1].classes.push("svg-align"),Dt.makeSpan(["mrel","x-arrow"],[o],e)},mathmlBuilder:function(t,e){var r,a=Te(t.label);if(t.body){var n=Ee(ve(t.body,e));if(t.below){var i=Ee(ve(t.below,e));r=new ue.MathNode("munderover",[a,i,n])}else r=new ue.MathNode("mover",[a,n])}else if(t.below){var o=Ee(ve(t.below,e));r=new ue.MathNode("munder",[a,o])}else r=Ee(),r=new ue.MathNode("mover",[a,r]);return r}}),_t({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){for(var r=t.parser,a=Ce(e[0],"ordgroup").body,n="",i=0;i","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Je=[0,1.2,1.8,2.4,3],Qe=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],tr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"stack"}],er=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],rr=function(t){if("small"===t.type)return"Main-Regular";if("large"===t.type)return"Size"+t.size+"-Regular";if("stack"===t.type)return"Size4-Regular";throw new Error("Add support for delim type '"+t.type+"' here.")},ar=function(t,e,r,a){for(var n=Math.min(2,3-a.style.size);ne)return r[n]}return r[r.length-1]},nr=function(t,e,r,a,n,i){var o;"<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),o=c.contains(Ke,t)?Qe:c.contains($e,t)?er:tr;var s=ar(t,e,o,a);return"small"===s.type?function(t,e,r,a,n,i){var o=Dt.makeSymbol(t,"Main-Regular",n,a),s=Ue(o,e,a,i);return r&&Ge(s,a,e),s}(t,s.style,r,a,n,i):"large"===s.type?Ye(t,s.size,r,a,n,i):_e(t,e,r,a,n,i)},ir=function(t,e){var r,a,n=e.havingBaseSizing(),i=ar("\\surd",t*n.sizeMultiplier,er,n),o=n.sizeMultiplier,s=Math.max(0,e.minRuleThickness-e.fontMetrics().sqrtRuleThickness),l=0,h=0,m=0;return"small"===i.type?(t<1?o=1:t<1.4&&(o=.7),h=(1+s)/o,(r=je("sqrtMain",l=(1+s+.08)/o,m=1e3+1e3*s+80,s,e)).style.minWidth="0.853em",a=.833/o):"large"===i.type?(m=1080*Je[i.size],h=(Je[i.size]+s)/o,l=(Je[i.size]+s+.08)/o,(r=je("sqrtSize"+i.size,l,m,s,e)).style.minWidth="1.02em",a=1/o):(l=t+s+.08,h=t+s,m=Math.floor(1e3*t+s)+80,(r=je("sqrtTall",l,m,s,e)).style.minWidth="0.742em",a=1.056),r.height=h,r.style.height=l+"em",{span:r,advanceWidth:a,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}},or=function(t,e,r,a,n){if("<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),c.contains($e,t)||c.contains(Ke,t))return Ye(t,e,!1,r,a,n);if(c.contains(Ze,t))return _e(t,Je[e],!1,r,a,n);throw new o("Illegal delimiter: '"+t+"'")},sr=nr,lr=function(t,e,r,a,n,i){var o=a.fontMetrics().axisHeight*a.sizeMultiplier,s=5/a.fontMetrics().ptPerEm,l=Math.max(e-o,r+o),h=Math.max(l/500*901,2*l-s);return nr(t,h,!0,a,n,i)},hr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},mr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function cr(t,e){var r=Ne(t);if(r&&c.contains(mr,r.text))return r;throw new o(r?"Invalid delimiter '"+r.text+"' after '"+e.funcName+"'":"Invalid delimiter type '"+t.type+"'",t)}function ur(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}_t({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:hr[t.funcName].size,mclass:hr[t.funcName].mclass,delim:r.text}},htmlBuilder:function(t,e){return"."===t.delim?Dt.makeSpan([t.mclass]):or(t.delim,t.size,e,t.mode,[t.mclass])},mathmlBuilder:function(t){var e=[];"."!==t.delim&&e.push(pe(t.delim,t.mode));var r=new ue.MathNode("mo",e);return"mopen"===t.mclass||"mclose"===t.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r}}),_t({type:"leftright-right",names:["\\right"],props:{numArgs:1},handler:function(t,e){var r=t.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new o("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:cr(e[0],t).text,color:r}}}),_t({type:"leftright",names:["\\left"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t),a=t.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=Ce(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:function(t,e){ur(t);for(var r,a,n=ee(t.body,e,!0,["mopen","mclose"]),i=0,o=0,s=!1,l=0;l-1?"mpadded":"menclose",[ve(t.body,e)]);switch(t.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===t.label){var n=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(t.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return t.backgroundColor&&a.setAttribute("mathbackground",t.backgroundColor),a};_t({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,greediness:3,argTypes:["color","text"]},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=Ce(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:o}},htmlBuilder:pr,mathmlBuilder:dr}),_t({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,greediness:3,argTypes:["color","color","text"]},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=Ce(e[0],"color-token").color,o=Ce(e[1],"color-token").color,s=e[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:pr,mathmlBuilder:dr}),_t({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(t,e){return{type:"enclose",mode:t.parser.mode,label:"\\fbox",body:e[0]}}}),_t({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout"],props:{numArgs:1},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=e[0];return{type:"enclose",mode:a.mode,label:n,body:i}},htmlBuilder:pr,mathmlBuilder:dr});var fr={};function gr(t){for(var e=t.type,r=t.names,a=t.props,n=t.handler,i=t.htmlBuilder,o=t.mathmlBuilder,s={type:e,numArgs:a.numArgs||0,greediness:1,allowedInText:!1,numOptionalArgs:0,handler:n},l=0;l0&&(b+=.25),h.push({pos:b,isDashed:t[e]})}for(y(i[0]),r=0;r0&&(M<(B+=v)&&(M=B),B=0),t.addJot&&(M+=f),z.height=S,z.depth=M,b+=S,z.pos=b,b+=M+B,l[r]=z,y(i[r+1])}var C,q,N=b/2+e.fontMetrics().axisHeight,I=t.cols||[],O=[];for(a=0,q=0;a=s)){var D=void 0;(a>0||t.hskipBeforeAndAfter)&&0!==(D=c.deflt(R.pregap,p))&&((C=Dt.makeSpan(["arraycolsep"],[])).style.width=D+"em",O.push(C));var H=[];for(r=0;r0){for(var G=Dt.makeLineSpan("hline",e,m),Y=Dt.makeLineSpan("hdashline",e,m),W=[{type:"elem",elem:l,shift:0}];h.length>0;){var X=h.pop(),_=X.pos-N;X.isDashed?W.push({type:"elem",elem:Y,shift:_}):W.push({type:"elem",elem:G,shift:_})}l=Dt.makeVList({positionType:"individualShift",children:W},e)}return Dt.makeSpan(["mord"],[l],e)},wr={c:"center ",l:"left ",r:"right "},kr=function(t,e){var r=new ue.MathNode("mtable",t.body.map(function(t){return new ue.MathNode("mtr",t.map(function(t){return new ue.MathNode("mtd",[ve(t,e)])}))})),a=.5===t.arraystretch?.1:.16+t.arraystretch-1+(t.addJot?.09:0);r.setAttribute("rowspacing",a+"em");var n="",i="";if(t.cols&&t.cols.length>0){var o=t.cols,s="",l=!1,h=0,m=o.length;"separator"===o[0].type&&(n+="top ",h=1),"separator"===o[o.length-1].type&&(n+="bottom ",m-=1);for(var c=h;c0?"left ":"",n+=g[g.length-1].length>0?"right ":"";for(var x=1;x0&&m&&(p=1),a[c]={type:"align",align:u,pregap:p,postgap:0}}return n.colSeparationType=m?"align":"alignat",n};gr({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(t,e){var r={cols:(Ne(e[0])?[e[0]]:Ce(e[0],"ordgroup").body).map(function(t){var e=qe(t).text;if(-1!=="lcr".indexOf(e))return{type:"align",align:e};if("|"===e)return{type:"separator",separator:"|"};if(":"===e)return{type:"separator",separator:":"};throw new o("Unknown column alignment: "+e,t)}),hskipBeforeAndAfter:!0};return vr(t.parser,r,br(t.envName))},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix"],props:{numArgs:0},handler:function(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName],r=vr(t.parser,{hskipBeforeAndAfter:!1},br(t.envName));return e?{type:"leftright",mode:t.mode,body:[r],left:e[0],right:e[1],rightColor:void 0}:r},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(t){var e=vr(t.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["subarray"],props:{numArgs:1},handler:function(t,e){var r=(Ne(e[0])?[e[0]]:Ce(e[0],"ordgroup").body).map(function(t){var e=qe(t).text;if(-1!=="lc".indexOf(e))return{type:"align",align:e};throw new o("Unknown column alignment: "+e,t)});if(r.length>1)throw new o("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=vr(t.parser,a,"script")).body.length>0&&a.body[0].length>1)throw new o("{subarray} can contain only one column");return a},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler:function(t){var e=vr(t.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},br(t.envName));return{type:"leftright",mode:t.mode,body:[e],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["aligned"],props:{numArgs:0},handler:Sr,htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["gathered"],props:{numArgs:0},handler:function(t){return vr(t.parser,{cols:[{type:"align",align:"c"}],addJot:!0},"display")},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["alignedat"],props:{numArgs:1},handler:Sr,htmlBuilder:yr,mathmlBuilder:kr}),_t({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler:function(t,e){throw new o(t.funcName+" valid only within array environment")}});var Mr=fr;_t({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];if("ordgroup"!==n.type)throw new o("Invalid environment name",n);for(var i="",s=0;s=w.SCRIPT.id?r.text():w.DISPLAY:"text"===t&&r.size===w.DISPLAY.size?r=w.TEXT:"script"===t?r=w.SCRIPT:"scriptscript"===t&&(r=w.SCRIPTSCRIPT),r},Or=function(t,e){var r,a=Ir(t.size,e.style),n=a.fracNum(),i=a.fracDen();r=e.havingStyle(n);var o=oe(t.numer,r,e);if(t.continued){var s=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?3*c:7*c,d=e.fontMetrics().denom1):(m>0?(u=e.fontMetrics().num2,p=c):(u=e.fontMetrics().num3,p=3*c),d=e.fontMetrics().denom2),h){var y=e.fontMetrics().axisHeight;u-o.depth-(y+.5*m)0&&(e="."===(e=t)?null:e),e};_t({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,greediness:6,argTypes:["math","math","size","text","math","math"]},handler:function(t,e){var r,a=t.parser,n=e[4],i=e[5],o="atom"===e[0].type&&"open"===e[0].family?Lr(e[0].text):null,s="atom"===e[1].type&&"close"===e[1].family?Lr(e[1].text):null,l=Ce(e[2],"size"),h=null;r=!!l.isBlank||(h=l.value).number>0;var m="auto",c=e[3];if("ordgroup"===c.type){if(c.body.length>0){var u=Ce(c.body[0],"textord");m=Er[Number(u.text)]}}else c=Ce(c,"textord"),m=Er[Number(c.text)];return{type:"genfrac",mode:a.mode,numer:n,denom:i,continued:!1,hasBarLine:r,barSize:h,leftDelim:o,rightDelim:s,size:m}},htmlBuilder:Or,mathmlBuilder:Rr}),_t({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(t,e){var r=t.parser,a=(t.funcName,t.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ce(e[0],"size").value,token:a}}}),_t({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(t,e){var r=t.parser,a=(t.funcName,e[0]),n=function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t}(Ce(e[1],"infix").size),i=e[2],o=n.number>0;return{type:"genfrac",mode:r.mode,numer:a,denom:i,continued:!1,hasBarLine:o,barSize:n,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Or,mathmlBuilder:Rr});var Pr=function(t,e){var r,a,n=e.style;"supsub"===t.type?(r=t.sup?oe(t.sup,e.havingStyle(n.sup()),e):oe(t.sub,e.havingStyle(n.sub()),e),a=Ce(t.base,"horizBrace")):a=Ce(t,"horizBrace");var i,o=oe(a.base,e.havingBaseStyle(w.DISPLAY)),s=Be(a,e);if(a.isOver?(i=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},e)).children[0].children[0].children[1].classes.push("svg-align"):(i=Dt.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},e)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Dt.makeSpan(["mord",a.isOver?"mover":"munder"],[i],e);i=a.isOver?Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},e):Dt.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},e)}return Dt.makeSpan(["mord",a.isOver?"mover":"munder"],[i],e)};_t({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName;return{type:"horizBrace",mode:r.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Pr,mathmlBuilder:function(t,e){var r=Te(t.label);return new ue.MathNode(t.isOver?"mover":"munder",[ve(t.base,e),r])}}),_t({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=e[1],n=Ce(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:$t(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(t,e){var r=ee(t.body,e,!1);return Dt.makeAnchor(t.href,[],r,e)},mathmlBuilder:function(t,e){var r=xe(t.body,e);return r instanceof me||(r=new me("mrow",[r])),r.setAttribute("href",t.href),r}}),_t({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=Ce(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;i0&&(a=Tt(t.totalheight,e)-r,a=Number(a.toFixed(2)));var n=0;t.width.number>0&&(n=Tt(t.width,e));var i={height:r+a+"em"};n>0&&(i.width=n+"em"),a>0&&(i.verticalAlign=-a+"em");var o=new O(t.src,t.alt,i);return o.height=r,o.depth=a,o},mathmlBuilder:function(t,e){var r=new ue.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var a=Tt(t.height,e),n=0;if(t.totalheight.number>0&&(n=(n=Tt(t.totalheight,e)-a).toFixed(2),r.setAttribute("valign","-"+n+"em")),r.setAttribute("height",a+n+"em"),t.width.number>0){var i=Tt(t.width,e);r.setAttribute("width",i+"em")}return r.setAttribute("src",t.src),r}}),_t({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=Ce(e[0],"size");if(r.settings.strict){var i="m"===a[1],o="mu"===n.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:function(t,e){return Dt.makeGlue(t.dimension,e)},mathmlBuilder:function(t,e){var r=Tt(t.dimension,e);return new ue.SpaceNode(r)}}),_t({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:function(t,e){var r;"clap"===t.alignment?(r=Dt.makeSpan([],[oe(t.body,e)]),r=Dt.makeSpan(["inner"],[r],e)):r=Dt.makeSpan(["inner"],[oe(t.body,e)]);var a=Dt.makeSpan(["fix"],[]),n=Dt.makeSpan([t.alignment],[r,a],e),i=Dt.makeSpan(["strut"]);return i.style.height=n.height+n.depth+"em",i.style.verticalAlign=-n.depth+"em",n.children.unshift(i),n=Dt.makeSpan(["thinbox"],[n],e),Dt.makeSpan(["mord","vbox"],[n],e)},mathmlBuilder:function(t,e){var r=new ue.MathNode("mpadded",[ve(t.body,e)]);if("rlap"!==t.alignment){var a="llap"===t.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),_t({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(t,e){var r=t.funcName,a=t.parser,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",o=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:o}}}),_t({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(t,e){throw new o("Mismatched "+t.funcName)}});var Hr=function(t,e){switch(e.style.size){case w.DISPLAY.size:return t.display;case w.TEXT.size:return t.text;case w.SCRIPT.size:return t.script;case w.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};_t({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4},handler:function(t,e){return{type:"mathchoice",mode:t.parser.mode,display:$t(e[0]),text:$t(e[1]),script:$t(e[2]),scriptscript:$t(e[3])}},htmlBuilder:function(t,e){var r=Hr(t,e),a=ee(r,e,!1);return Dt.makeFragment(a)},mathmlBuilder:function(t,e){var r=Hr(t,e);return xe(r,e)}});var Fr=function(t,e,r,a,n,i,o){var s,l,h;if(t=Dt.makeSpan([],[t]),e){var m=oe(e,a.havingStyle(n.sup()),a);l={elem:m,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-m.depth)}}if(r){var c=oe(r,a.havingStyle(n.sub()),a);s={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-c.height)}}if(l&&s){var u=a.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+t.depth+o;h=Dt.makeVList({positionType:"bottom",positionData:u,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:-i+"em"},{type:"kern",size:s.kern},{type:"elem",elem:t},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:i+"em"},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(s){var p=t.height-o;h=Dt.makeVList({positionType:"top",positionData:p,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:-i+"em"},{type:"kern",size:s.kern},{type:"elem",elem:t}]},a)}else{if(!l)return t;var d=t.depth+o;h=Dt.makeVList({positionType:"bottom",positionData:d,children:[{type:"elem",elem:t},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:i+"em"},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}return Dt.makeSpan(["mop","op-limits"],[h],a)},Vr=["\\smallint"],Ur=function(t,e){var r,a,n,i=!1;"supsub"===t.type?(r=t.sup,a=t.sub,n=Ce(t.base,"op"),i=!0):n=Ce(t,"op");var o,s=e.style,l=!1;if(s.size===w.DISPLAY.size&&n.symbol&&!c.contains(Vr,n.name)&&(l=!0),n.symbol){var h=l?"Size2-Regular":"Size1-Regular",m="";if("\\oiint"!==n.name&&"\\oiiint"!==n.name||(m=n.name.substr(1),n.name="oiint"===m?"\\iint":"\\iiint"),o=Dt.makeSymbol(n.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),m.length>0){var u=o.italic,p=Dt.staticSvg(m+"Size"+(l?"2":"1"),e);o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),n.name="\\"+m,o.classes.unshift("mop"),o.italic=u}}else if(n.body){var d=ee(n.body,e,!0);1===d.length&&d[0]instanceof E?(o=d[0]).classes[0]="mop":o=Dt.makeSpan(["mop"],Dt.tryCombineChars(d),e)}else{for(var f=[],g=1;g0){for(var s=n.body.map(function(t){var e=t.text;return"string"==typeof e?{type:"textord",mode:t.mode,text:e}:t}),l=ee(s,e.withFont("mathrm"),!0),h=0;h=0?s.setAttribute("height","+"+n+"em"):(s.setAttribute("height",n+"em"),s.setAttribute("depth","+"+-n+"em")),s.setAttribute("voffset",n+"em"),s}});var jr=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];_t({type:"sizing",names:jr,props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.breakOnTokenText,a=t.funcName,n=t.parser,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:jr.indexOf(a)+1,body:i}},htmlBuilder:function(t,e){var r=e.havingSize(t.size);return _r(t.body,r,e)},mathmlBuilder:function(t,e){var r=e.havingSize(t.size),a=ge(t.body,r),n=new ue.MathNode("mstyle",a);return n.setAttribute("mathsize",r.sizeMultiplier+"em"),n}}),_t({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(t,e,r){var a=t.parser,n=!1,i=!1,o=r[0]&&Ce(r[0],"ordgroup");if(o)for(var s="",l=0;lr.height+r.depth+i&&(i=(i+c-r.height-r.depth)/2);var u=l.height-r.height-i-h;r.style.paddingLeft=m+"em";var p=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:l},{type:"kern",size:h}]},e);if(t.index){var d=e.havingStyle(w.SCRIPTSCRIPT),f=oe(t.index,d,e),g=.6*(p.height-p.depth),x=Dt.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},e),v=Dt.makeSpan(["root"],[x]);return Dt.makeSpan(["mord","sqrt"],[v,p],e)}return Dt.makeSpan(["mord","sqrt"],[p],e)},mathmlBuilder:function(t,e){var r=t.body,a=t.index;return a?new ue.MathNode("mroot",[ve(r,e),ve(a,e)]):new ue.MathNode("msqrt",[ve(r,e)])}});var $r={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT};_t({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.breakOnTokenText,a=t.funcName,n=t.parser,i=n.parseExpression(!0,r),o=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:o,body:i}},htmlBuilder:function(t,e){var r=$r[t.style],a=e.havingStyle(r).withFont("");return _r(t.body,a,e)},mathmlBuilder:function(t,e){var r=$r[t.style],a=e.havingStyle(r),n=ge(t.body,a),i=new ue.MathNode("mstyle",n),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[t.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});jt({type:"supsub",htmlBuilder:function(t,e){var r=function(t,e){var r=t.base;return r?"op"===r.type?r.limits&&(e.style.size===w.DISPLAY.size||r.alwaysHandleSupSub)?Ur:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(e.style.size===w.DISPLAY.size||r.limits)?Xr:null:"accent"===r.type?c.isCharacterBox(r.base)?Ie:null:"horizBrace"===r.type&&!t.sub===r.isOver?Pr:null:null}(t,e);if(r)return r(t,e);var a,n,i,o=t.base,s=t.sup,l=t.sub,h=oe(o,e),m=e.fontMetrics(),u=0,p=0,d=o&&c.isCharacterBox(o);if(s){var f=e.havingStyle(e.style.sup());a=oe(s,f,e),d||(u=h.height-f.fontMetrics().supDrop*f.sizeMultiplier/e.sizeMultiplier)}if(l){var g=e.havingStyle(e.style.sub());n=oe(l,g,e),d||(p=h.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}i=e.style===w.DISPLAY?m.sup1:e.style.cramped?m.sup3:m.sup2;var x,v=e.sizeMultiplier,b=.5/m.ptPerEm/v+"em",y=null;if(n){var k=t.base&&"op"===t.base.type&&t.base.name&&("\\oiint"===t.base.name||"\\oiiint"===t.base.name);(h instanceof E||k)&&(y=-h.italic+"em")}if(a&&n){u=Math.max(u,i,a.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var S=4*m.defaultRuleThickness;if(u-a.depth-(n.height-p)0&&(u+=M,p-=M)}var z=[{type:"elem",elem:n,shift:p,marginRight:b,marginLeft:y},{type:"elem",elem:a,shift:-u,marginRight:b}];x=Dt.makeVList({positionType:"individualShift",children:z},e)}else if(n){p=Math.max(p,m.sub1,n.height-.8*m.xHeight);var A=[{type:"elem",elem:n,marginLeft:y,marginRight:b}];x=Dt.makeVList({positionType:"shift",positionData:p,children:A},e)}else{if(!a)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,a.depth+.25*m.xHeight),x=Dt.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:a,marginRight:b}]},e)}var T=ne(h,"right")||"mord";return Dt.makeSpan([T],[h,Dt.makeSpan(["msupsub"],[x])],e)},mathmlBuilder:function(t,e){var r,a=!1;t.base&&"horizBrace"===t.base.type&&!!t.sup===t.base.isOver&&(a=!0,r=t.base.isOver),!t.base||"op"!==t.base.type&&"operatorname"!==t.base.type||(t.base.parentIsSupSub=!0);var n,i=[ve(t.base,e)];if(t.sub&&i.push(ve(t.sub,e)),t.sup&&i.push(ve(t.sup,e)),a)n=r?"mover":"munder";else if(t.sub)if(t.sup){var o=t.base;n=o&&"op"===o.type&&o.limits&&e.style===w.DISPLAY?"munderover":o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(e.style===w.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=t.base;n=s&&"op"===s.type&&s.limits&&(e.style===w.DISPLAY||s.alwaysHandleSupSub)?"munder":s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||e.style===w.DISPLAY)?"munder":"msub"}else{var l=t.base;n=l&&"op"===l.type&&l.limits&&(e.style===w.DISPLAY||l.alwaysHandleSupSub)?"mover":l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||e.style===w.DISPLAY)?"mover":"msup"}return new ue.MathNode(n,i)}}),jt({type:"atom",htmlBuilder:function(t,e){return Dt.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder:function(t,e){var r=new ue.MathNode("mo",[pe(t.text,t.mode)]);if("bin"===t.family){var a=fe(t,e);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===t.family?r.setAttribute("separator","true"):"open"!==t.family&&"close"!==t.family||r.setAttribute("stretchy","false");return r}});var Zr={mi:"italic",mn:"normal",mtext:"normal"};jt({type:"mathord",htmlBuilder:function(t,e){return Dt.makeOrd(t,e,"mathord")},mathmlBuilder:function(t,e){var r=new ue.MathNode("mi",[pe(t.text,t.mode,e)]),a=fe(t,e)||"italic";return a!==Zr[r.type]&&r.setAttribute("mathvariant",a),r}}),jt({type:"textord",htmlBuilder:function(t,e){return Dt.makeOrd(t,e,"textord")},mathmlBuilder:function(t,e){var r,a=pe(t.text,t.mode,e),n=fe(t,e)||"normal";return r="text"===t.mode?new ue.MathNode("mtext",[a]):/[0-9]/.test(t.text)?new ue.MathNode("mn",[a]):"\\prime"===t.text?new ue.MathNode("mo",[a]):new ue.MathNode("mi",[a]),n!==Zr[r.type]&&r.setAttribute("mathvariant",n),r}});var Kr={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Jr={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};jt({type:"spacing",htmlBuilder:function(t,e){if(Jr.hasOwnProperty(t.text)){var r=Jr[t.text].className||"";if("text"===t.mode){var a=Dt.makeOrd(t,e,"textord");return a.classes.push(r),a}return Dt.makeSpan(["mspace",r],[Dt.mathsym(t.text,t.mode,e)],e)}if(Kr.hasOwnProperty(t.text))return Dt.makeSpan(["mspace",Kr[t.text]],[],e);throw new o('Unknown type of space "'+t.text+'"')},mathmlBuilder:function(t,e){if(!Jr.hasOwnProperty(t.text)){if(Kr.hasOwnProperty(t.text))return new ue.MathNode("mspace");throw new o('Unknown type of space "'+t.text+'"')}return new ue.MathNode("mtext",[new ue.TextNode("\xa0")])}});var Qr=function(){var t=new ue.MathNode("mtd",[]);return t.setAttribute("width","50%"),t};jt({type:"tag",mathmlBuilder:function(t,e){var r=new ue.MathNode("mtable",[new ue.MathNode("mtr",[Qr(),new ue.MathNode("mtd",[xe(t.body,e)]),Qr(),new ue.MathNode("mtd",[xe(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var ta={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},ea={"\\textbf":"textbf","\\textmd":"textmd"},ra={"\\textit":"textit","\\textup":"textup"},aa=function(t,e){var r=t.font;return r?ta[r]?e.withTextFontFamily(ta[r]):ea[r]?e.withTextFontWeight(ea[r]):e.withTextFontShape(ra[r]):e};_t({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],greediness:2,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"text",mode:r.mode,body:$t(n),font:a}},htmlBuilder:function(t,e){var r=aa(t,e),a=ee(t.body,r,!0);return Dt.makeSpan(["mord","text"],Dt.tryCombineChars(a),r)},mathmlBuilder:function(t,e){var r=aa(t,e);return xe(t.body,r)}}),_t({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){return{type:"underline",mode:t.parser.mode,body:e[0]}},htmlBuilder:function(t,e){var r=oe(t.body,e),a=Dt.makeLineSpan("underline-line",e),n=e.fontMetrics().defaultRuleThickness,i=Dt.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord","underline"],[i],e)},mathmlBuilder:function(t,e){var r=new ue.MathNode("mo",[new ue.TextNode("\u203e")]);r.setAttribute("stretchy","true");var a=new ue.MathNode("munder",[ve(t.body,e),r]);return a.setAttribute("accentunder","true"),a}}),_t({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(t,e,r){throw new o("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(t,e){for(var r=na(t),a=[],n=e.havingStyle(e.style.text()),i=0;i0&&(this.undefStack[this.undefStack.length-1][t]=e)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(t)&&(n[t]=this.current[t])}this.current[t]=e},t}(),ca={},ua=ca;function pa(t,e){ca[t]=e}pa("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}}),pa("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}}),pa("\\@firstoftwo",function(t){return{tokens:t.consumeArgs(2)[0],numArgs:0}}),pa("\\@secondoftwo",function(t){return{tokens:t.consumeArgs(2)[1],numArgs:0}}),pa("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return 1===e[0].length&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}}),pa("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),pa("\\TextOrMath",function(t){var e=t.consumeArgs(2);return"text"===t.mode?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var da={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};pa("\\char",function(t){var e,r=t.popToken(),a="";if("'"===r.text)e=8,r=t.popToken();else if('"'===r.text)e=16,r=t.popToken();else if("`"===r.text)if("\\"===(r=t.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new o("\\char` missing argument");a=r.text.charCodeAt(0)}else e=10;if(e){if(null==(a=da[r.text])||a>=e)throw new o("Invalid base-"+e+" digit "+r.text);for(var n;null!=(n=da[t.future().text])&&n":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};pa("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in ga?e=ga[r]:"\\not"===r.substr(0,4)?e="\\dotsb":r in j.math&&c.contains(["bin","rel"],j.math[r].group)&&(e="\\dotsb"),e});var xa={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};pa("\\dotso",function(t){return t.future().text in xa?"\\ldots\\,":"\\ldots"}),pa("\\dotsc",function(t){var e=t.future().text;return e in xa&&","!==e?"\\ldots\\,":"\\ldots"}),pa("\\cdots",function(t){return t.future().text in xa?"\\@cdots\\,":"\\@cdots"}),pa("\\dotsb","\\cdots"),pa("\\dotsm","\\cdots"),pa("\\dotsi","\\!\\cdots"),pa("\\dotsx","\\ldots\\,"),pa("\\DOTSI","\\relax"),pa("\\DOTSB","\\relax"),pa("\\DOTSX","\\relax"),pa("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),pa("\\,","\\tmspace+{3mu}{.1667em}"),pa("\\thinspace","\\,"),pa("\\>","\\mskip{4mu}"),pa("\\:","\\tmspace+{4mu}{.2222em}"),pa("\\medspace","\\:"),pa("\\;","\\tmspace+{5mu}{.2777em}"),pa("\\thickspace","\\;"),pa("\\!","\\tmspace-{3mu}{.1667em}"),pa("\\negthinspace","\\!"),pa("\\negmedspace","\\tmspace-{4mu}{.2222em}"),pa("\\negthickspace","\\tmspace-{5mu}{.277em}"),pa("\\enspace","\\kern.5em "),pa("\\enskip","\\hskip.5em\\relax"),pa("\\quad","\\hskip1em\\relax"),pa("\\qquad","\\hskip2em\\relax"),pa("\\tag","\\@ifstar\\tag@literal\\tag@paren"),pa("\\tag@paren","\\tag@literal{({#1})}"),pa("\\tag@literal",function(t){if(t.macros.get("\\df@tag"))throw new o("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),pa("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),pa("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),pa("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),pa("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),pa("\\pmb","\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}"),pa("\\\\","\\newline"),pa("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var va=F["Main-Regular"]["T".charCodeAt(0)][1]-.7*F["Main-Regular"]["A".charCodeAt(0)][1]+"em";pa("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+va+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),pa("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+va+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),pa("\\hspace","\\@ifstar\\@hspacer\\@hspace"),pa("\\@hspace","\\hskip #1\\relax"),pa("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),pa("\\ordinarycolon",":"),pa("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),pa("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),pa("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),pa("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),pa("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),pa("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),pa("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),pa("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),pa("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),pa("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),pa("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),pa("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),pa("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),pa("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),pa("\u2237","\\dblcolon"),pa("\u2239","\\eqcolon"),pa("\u2254","\\coloneqq"),pa("\u2255","\\eqqcolon"),pa("\u2a74","\\Coloneqq"),pa("\\ratio","\\vcentcolon"),pa("\\coloncolon","\\dblcolon"),pa("\\colonequals","\\coloneqq"),pa("\\coloncolonequals","\\Coloneqq"),pa("\\equalscolon","\\eqqcolon"),pa("\\equalscoloncolon","\\Eqqcolon"),pa("\\colonminus","\\coloneq"),pa("\\coloncolonminus","\\Coloneq"),pa("\\minuscolon","\\eqcolon"),pa("\\minuscoloncolon","\\Eqcolon"),pa("\\coloncolonapprox","\\Colonapprox"),pa("\\coloncolonsim","\\Colonsim"),pa("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),pa("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),pa("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),pa("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),pa("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),pa("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),pa("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),pa("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),pa("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),pa("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),pa("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),pa("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),pa("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),pa("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),pa("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),pa("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),pa("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),pa("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),pa("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),pa("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),pa("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),pa("\\imath","\\html@mathml{\\@imath}{\u0131}"),pa("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),pa("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),pa("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),pa("\u27e6","\\llbracket"),pa("\u27e7","\\rrbracket"),pa("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),pa("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),pa("\u2983","\\lBrace"),pa("\u2984","\\rBrace"),pa("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),pa("\u29b5","\\minuso"),pa("\\darr","\\downarrow"),pa("\\dArr","\\Downarrow"),pa("\\Darr","\\Downarrow"),pa("\\lang","\\langle"),pa("\\rang","\\rangle"),pa("\\uarr","\\uparrow"),pa("\\uArr","\\Uparrow"),pa("\\Uarr","\\Uparrow"),pa("\\N","\\mathbb{N}"),pa("\\R","\\mathbb{R}"),pa("\\Z","\\mathbb{Z}"),pa("\\alef","\\aleph"),pa("\\alefsym","\\aleph"),pa("\\Alpha","\\mathrm{A}"),pa("\\Beta","\\mathrm{B}"),pa("\\bull","\\bullet"),pa("\\Chi","\\mathrm{X}"),pa("\\clubs","\\clubsuit"),pa("\\cnums","\\mathbb{C}"),pa("\\Complex","\\mathbb{C}"),pa("\\Dagger","\\ddagger"),pa("\\diamonds","\\diamondsuit"),pa("\\empty","\\emptyset"),pa("\\Epsilon","\\mathrm{E}"),pa("\\Eta","\\mathrm{H}"),pa("\\exist","\\exists"),pa("\\harr","\\leftrightarrow"),pa("\\hArr","\\Leftrightarrow"),pa("\\Harr","\\Leftrightarrow"),pa("\\hearts","\\heartsuit"),pa("\\image","\\Im"),pa("\\infin","\\infty"),pa("\\Iota","\\mathrm{I}"),pa("\\isin","\\in"),pa("\\Kappa","\\mathrm{K}"),pa("\\larr","\\leftarrow"),pa("\\lArr","\\Leftarrow"),pa("\\Larr","\\Leftarrow"),pa("\\lrarr","\\leftrightarrow"),pa("\\lrArr","\\Leftrightarrow"),pa("\\Lrarr","\\Leftrightarrow"),pa("\\Mu","\\mathrm{M}"),pa("\\natnums","\\mathbb{N}"),pa("\\Nu","\\mathrm{N}"),pa("\\Omicron","\\mathrm{O}"),pa("\\plusmn","\\pm"),pa("\\rarr","\\rightarrow"),pa("\\rArr","\\Rightarrow"),pa("\\Rarr","\\Rightarrow"),pa("\\real","\\Re"),pa("\\reals","\\mathbb{R}"),pa("\\Reals","\\mathbb{R}"),pa("\\Rho","\\mathrm{P}"),pa("\\sdot","\\cdot"),pa("\\sect","\\S"),pa("\\spades","\\spadesuit"),pa("\\sub","\\subset"),pa("\\sube","\\subseteq"),pa("\\supe","\\supseteq"),pa("\\Tau","\\mathrm{T}"),pa("\\thetasym","\\vartheta"),pa("\\weierp","\\wp"),pa("\\Zeta","\\mathrm{Z}"),pa("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),pa("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),pa("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),pa("\\bra","\\mathinner{\\langle{#1}|}"),pa("\\ket","\\mathinner{|{#1}\\rangle}"),pa("\\braket","\\mathinner{\\langle{#1}\\rangle}"),pa("\\Bra","\\left\\langle#1\\right|"),pa("\\Ket","\\left|#1\\right\\rangle"),pa("\\blue","\\textcolor{##6495ed}{#1}"),pa("\\orange","\\textcolor{##ffa500}{#1}"),pa("\\pink","\\textcolor{##ff00af}{#1}"),pa("\\red","\\textcolor{##df0030}{#1}"),pa("\\green","\\textcolor{##28ae7b}{#1}"),pa("\\gray","\\textcolor{gray}{#1}"),pa("\\purple","\\textcolor{##9d38bd}{#1}"),pa("\\blueA","\\textcolor{##ccfaff}{#1}"),pa("\\blueB","\\textcolor{##80f6ff}{#1}"),pa("\\blueC","\\textcolor{##63d9ea}{#1}"),pa("\\blueD","\\textcolor{##11accd}{#1}"),pa("\\blueE","\\textcolor{##0c7f99}{#1}"),pa("\\tealA","\\textcolor{##94fff5}{#1}"),pa("\\tealB","\\textcolor{##26edd5}{#1}"),pa("\\tealC","\\textcolor{##01d1c1}{#1}"),pa("\\tealD","\\textcolor{##01a995}{#1}"),pa("\\tealE","\\textcolor{##208170}{#1}"),pa("\\greenA","\\textcolor{##b6ffb0}{#1}"),pa("\\greenB","\\textcolor{##8af281}{#1}"),pa("\\greenC","\\textcolor{##74cf70}{#1}"),pa("\\greenD","\\textcolor{##1fab54}{#1}"),pa("\\greenE","\\textcolor{##0d923f}{#1}"),pa("\\goldA","\\textcolor{##ffd0a9}{#1}"),pa("\\goldB","\\textcolor{##ffbb71}{#1}"),pa("\\goldC","\\textcolor{##ff9c39}{#1}"),pa("\\goldD","\\textcolor{##e07d10}{#1}"),pa("\\goldE","\\textcolor{##a75a05}{#1}"),pa("\\redA","\\textcolor{##fca9a9}{#1}"),pa("\\redB","\\textcolor{##ff8482}{#1}"),pa("\\redC","\\textcolor{##f9685d}{#1}"),pa("\\redD","\\textcolor{##e84d39}{#1}"),pa("\\redE","\\textcolor{##bc2612}{#1}"),pa("\\maroonA","\\textcolor{##ffbde0}{#1}"),pa("\\maroonB","\\textcolor{##ff92c6}{#1}"),pa("\\maroonC","\\textcolor{##ed5fa6}{#1}"),pa("\\maroonD","\\textcolor{##ca337c}{#1}"),pa("\\maroonE","\\textcolor{##9e034e}{#1}"),pa("\\purpleA","\\textcolor{##ddd7ff}{#1}"),pa("\\purpleB","\\textcolor{##c6b9fc}{#1}"),pa("\\purpleC","\\textcolor{##aa87ff}{#1}"),pa("\\purpleD","\\textcolor{##7854ab}{#1}"),pa("\\purpleE","\\textcolor{##543b78}{#1}"),pa("\\mintA","\\textcolor{##f5f9e8}{#1}"),pa("\\mintB","\\textcolor{##edf2df}{#1}"),pa("\\mintC","\\textcolor{##e0e5cc}{#1}"),pa("\\grayA","\\textcolor{##f6f7f7}{#1}"),pa("\\grayB","\\textcolor{##f0f1f2}{#1}"),pa("\\grayC","\\textcolor{##e3e5e6}{#1}"),pa("\\grayD","\\textcolor{##d6d8da}{#1}"),pa("\\grayE","\\textcolor{##babec2}{#1}"),pa("\\grayF","\\textcolor{##888d93}{#1}"),pa("\\grayG","\\textcolor{##626569}{#1}"),pa("\\grayH","\\textcolor{##3b3e40}{#1}"),pa("\\grayI","\\textcolor{##21242c}{#1}"),pa("\\kaBlue","\\textcolor{##314453}{#1}"),pa("\\kaGreen","\\textcolor{##71B307}{#1}");var ba={"\\relax":!0,"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},ya=function(){function t(t,e,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=e,this.expansionCount=0,this.feed(t),this.macros=new ma(ua,e.macros),this.mode=r,this.stack=[]}var e=t.prototype;return e.feed=function(t){this.lexer=new ha(t,this.settings)},e.switchMode=function(t){this.mode=t},e.beginGroup=function(){this.macros.beginGroup()},e.endGroup=function(){this.macros.endGroup()},e.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},e.popToken=function(){return this.future(),this.stack.pop()},e.pushToken=function(t){this.stack.push(t)},e.pushTokens=function(t){var e;(e=this.stack).push.apply(e,t)},e.consumeSpaces=function(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}},e.consumeArgs=function(t){for(var e=[],r=0;rthis.settings.maxExpand)throw new o("Too many expansions: infinite loop or need to increase maxExpand setting");var n=a.tokens;if(a.numArgs)for(var i=this.consumeArgs(a.numArgs),s=(n=n.slice()).length-1;s>=0;--s){var l=n[s];if("#"===l.text){if(0===s)throw new o("Incomplete placeholder at end of macro body",l);if("#"===(l=n[--s]).text)n.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new o("Not a valid argument number",l);var h;(h=n).splice.apply(h,[s,2].concat(i[+l.text-1]))}}}return this.pushTokens(n),n},e.expandAfterFuture=function(){return this.expandOnce(),this.future()},e.expandNextToken=function(){for(;;){var t=this.expandOnce();if(t instanceof n){if("\\relax"!==t.text&&!t.treatAsRelax)return this.stack.pop();this.stack.pop()}}throw new Error},e.expandMacro=function(t){return this.macros.has(t)?this.expandTokens([new n(t)]):void 0},e.expandTokens=function(t){var e=[],r=this.stack.length;for(this.pushTokens(t);this.stack.length>r;){var a=this.expandOnce(!0);a instanceof n&&(a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),e.push(this.stack.pop()))}return e},e.expandMacroAsText=function(t){var e=this.expandMacro(t);return e?e.map(function(t){return t.text}).join(""):e},e._getExpansion=function(t){var e=this.macros.get(t);if(null==e)return e;var r="function"==typeof e?e(this):e;if("string"==typeof r){var a=0;if(-1!==r.indexOf("#"))for(var n=r.replace(/##/g,"");-1!==n.indexOf("#"+(a+1));)++a;for(var i=new ha(r,this.settings),o=[],s=i.lex();"EOF"!==s.text;)o.push(s),s=i.lex();return o.reverse(),{tokens:o,numArgs:a}}return r},e.isDefined=function(t){return this.macros.has(t)||ia.hasOwnProperty(t)||j.math.hasOwnProperty(t)||j.text.hasOwnProperty(t)||ba.hasOwnProperty(t)},e.isExpandable=function(t){var e=this.macros.get(t);return null!=e?"string"==typeof e||"function"==typeof e||!e.unexpandable:ia.hasOwnProperty(t)},t}(),wa={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"}},ka={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\u010f":"d\u030c","\u1e0b":"d\u0307","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u013a":"l\u0301","\u013e":"l\u030c","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\u010e":"D\u030c","\u1e0a":"D\u0307","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0139":"L\u0301","\u013d":"L\u030c","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u0164":"T\u030c","\u1e6a":"T\u0307","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"},Sa=function(){function t(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new ya(t,e,this.mode),this.settings=e,this.leftrightDepth=0}var e=t.prototype;return e.expect=function(t,e){if(void 0===e&&(e=!0),this.fetch().text!==t)throw new o("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());e&&this.consume()},e.consume=function(){this.nextToken=null},e.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},e.switchMode=function(t){this.mode=t,this.gullet.switchMode(t)},e.parse=function(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t},e.parseExpression=function(e,r){for(var a=[];;){"math"===this.mode&&this.consumeSpaces();var n=this.fetch();if(-1!==t.endOfExpression.indexOf(n.text))break;if(r&&n.text===r)break;if(e&&ia[n.text]&&ia[n.text].infix)break;var i=this.parseAtom(r);if(!i)break;"internal"!==i.type&&a.push(i)}return"text"===this.mode&&this.formLigatures(a),this.handleInfixNodes(a)},e.handleInfixNodes=function(t){for(var e,r=-1,a=0;a0&&!h||0===s&&!h&&"math"===this.mode,c=this.parseGroupOfType("argument to '"+t+"'",l,h,a,m);if(!c){if(h){i.push(null);continue}throw new o("Expected group after '"+t+"'",this.fetch())}(h?i:n).push(c)}return{args:n,optArgs:i}},e.parseGroupOfType=function(t,e,r,a,n){switch(e){case"color":return n&&this.consumeSpaces(),this.parseColorGroup(r);case"size":return n&&this.consumeSpaces(),this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r,n);case"math":case"text":return this.parseGroup(t,r,a,void 0,e,n);case"hbox":var i=this.parseGroup(t,r,a,void 0,"text",n);return i?{type:"styling",mode:i.mode,body:[i],style:"text"}:i;case"raw":if(n&&this.consumeSpaces(),r&&"{"===this.fetch().text)return null;var s=this.parseStringGroup("raw",r,!0);if(s)return{type:"raw",mode:"text",string:s.text};throw new o("Expected raw group",this.fetch());case"original":case null:case void 0:return this.parseGroup(t,r,a,void 0,void 0,n);default:throw new o("Unknown group type as "+t,this.fetch())}},e.consumeSpaces=function(){for(;" "===this.fetch().text;)this.consume()},e.parseStringGroup=function(t,e,r){var a=e?"[":"{",n=e?"]":"}",i=this.fetch();if(i.text!==a){if(e)return null;if(r&&"EOF"!==i.text&&/[^{}[\]]/.test(i.text))return this.consume(),i}var s=this.mode;this.mode="text",this.expect(a);for(var l,h="",m=this.fetch(),c=0,u=m;(l=this.fetch()).text!==n||r&&c>0;){switch(l.text){case"EOF":throw new o("Unexpected end of input in "+t,m.range(u,h));case a:c++;break;case n:c--}h+=(u=l).text,this.consume()}return this.expect(n),this.mode=s,m.range(u,h)},e.parseRegexGroup=function(t,e){var r=this.mode;this.mode="text";for(var a,n=this.fetch(),i=n,s="";"EOF"!==(a=this.fetch()).text&&t.test(s+a.text);)s+=(i=a).text,this.consume();if(""===s)throw new o("Invalid "+e+": '"+n.text+"'",n);return this.mode=r,n.range(i,s)},e.parseColorGroup=function(t){var e=this.parseStringGroup("color",t);if(!e)return null;var r=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);if(!r)throw new o("Invalid color: '"+e.text+"'",e);var a=r[0];return/^[0-9a-f]{6}$/i.test(a)&&(a="#"+a),{type:"color-token",mode:this.mode,color:a}},e.parseSizeGroup=function(t){var e,r=!1;if(!(e=t||"{"===this.fetch().text?this.parseStringGroup("size",t):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;t||0!==e.text.length||(e.text="0pt",r=!0);var a=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text);if(!a)throw new o("Invalid size: '"+e.text+"'",e);var n={number:+(a[1]+a[2]),unit:a[3]};if(!At(n))throw new o("Invalid unit: '"+n.unit+"'",e);return{type:"size",mode:this.mode,value:n,isBlank:r}},e.parseUrlGroup=function(t,e){this.gullet.lexer.setCatcode("%",13);var r=this.parseStringGroup("url",t,!0);if(this.gullet.lexer.setCatcode("%",14),!r)return null;var a=r.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}},e.parseGroup=function(e,r,n,i,s,l){var h=this.mode;s&&this.switchMode(s),l&&this.consumeSpaces();var m,c=this.fetch(),u=c.text;if(r?"["===u:"{"===u||"\\begingroup"===u){this.consume();var p=t.endOfGroup[u];this.gullet.beginGroup();var d=this.parseExpression(!1,p),f=this.fetch();this.expect(p),this.gullet.endGroup(),m={type:"ordgroup",mode:this.mode,loc:a.range(c,f),body:d,semisimple:"\\begingroup"===u||void 0}}else if(r)m=null;else if(null==(m=this.parseFunction(i,e,n)||this.parseSymbol())&&"\\"===u[0]&&!ba.hasOwnProperty(u)){if(this.settings.throwOnError)throw new o("Undefined control sequence: "+u,c);m=this.formatUnsupportedCmd(u),this.consume()}return s&&this.switchMode(h),m},e.formLigatures=function(t){for(var e=t.length-1,r=0;r=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+e[0]+'" used in math mode',t);var l,h=j[this.mode][e].group,m=a.range(t);if(W.hasOwnProperty(h)){var c=h;l={type:"atom",mode:this.mode,family:c,loc:m,text:e}}else l={type:h,mode:this.mode,loc:m,text:e};i=l}else{if(!(e.charCodeAt(0)>=128))return null;this.settings.strict&&(M(e.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+e[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+e[0]+'" ('+e.charCodeAt(0)+")",t)),i={type:"textord",mode:"text",loc:a.range(t),text:e}}if(this.consume(),s)for(var u=0;u 15) { + left = "…" + input.slice(start - 15, start); + } else { + left = input.slice(0, start); + } + + let right; + + if (end + 15 < input.length) { + right = input.slice(end, end + 15) + "…"; + } else { + right = input.slice(end); + } + + error += left + underlined + right; + } // Some hackery to make ParseError a prototype of Error + // See http://stackoverflow.com/a/8460753 + + + const self = new Error(error); + self.name = "ParseError"; // $FlowFixMe + + self.__proto__ = ParseError.prototype; // $FlowFixMe + + self.position = start; + return self; + } + +} // $FlowFixMe More hackery + + +ParseError.prototype.__proto__ = Error.prototype; + +/** + * This file contains a list of utility functions which are useful in other + * files. + */ + +/** + * Return whether an element is contained in a list + */ +const contains = function contains(list, elem) { + return list.indexOf(elem) !== -1; +}; +/** + * Provide a default value if a setting is undefined + * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022. + */ + + +const deflt = function deflt(setting, defaultIfUndefined) { + return setting === undefined ? defaultIfUndefined : setting; +}; // hyphenate and escape adapted from Facebook's React under Apache 2 license + + +const uppercase = /([A-Z])/g; + +const hyphenate = function hyphenate(str) { + return str.replace(uppercase, "-$1").toLowerCase(); +}; + +const ESCAPE_LOOKUP = { + "&": "&", + ">": ">", + "<": "<", + "\"": """, + "'": "'" +}; +const ESCAPE_REGEX = /[&><"']/g; +/** + * Escapes text to prevent scripting attacks. + */ + +function escape(text) { + return String(text).replace(ESCAPE_REGEX, match => ESCAPE_LOOKUP[match]); +} +/** + * Sometimes we want to pull out the innermost element of a group. In most + * cases, this will just be the group itself, but when ordgroups and colors have + * a single element, we want to pull that out. + */ + + +const getBaseElem = function getBaseElem(group) { + if (group.type === "ordgroup") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "color") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "font") { + return getBaseElem(group.body); + } else { + return group; + } +}; +/** + * TeXbook algorithms often reference "character boxes", which are simply groups + * with a single character in them. To decide if something is a character box, + * we find its innermost group, and see if it is a single character. + */ + + +const isCharacterBox = function isCharacterBox(group) { + const baseElem = getBaseElem(group); // These are all they types of groups which hold single characters + + return baseElem.type === "mathord" || baseElem.type === "textord" || baseElem.type === "atom"; +}; + +const assert = function assert(value) { + if (!value) { + throw new Error('Expected non-null, but got ' + String(value)); + } + + return value; +}; +/** + * Return the protocol of a URL, or "_relative" if the URL does not specify a + * protocol (and thus is relative). + */ + +const protocolFromUrl = function protocolFromUrl(url) { + const protocol = /^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(url); + return protocol != null ? protocol[1] : "_relative"; +}; +var utils = { + contains, + deflt, + escape, + hyphenate, + getBaseElem, + isCharacterBox, + protocolFromUrl +}; + +/* eslint no-console:0 */ + +/** + * The main Settings object + * + * The current options stored are: + * - displayMode: Whether the expression should be typeset as inline math + * (false, the default), meaning that the math starts in + * \textstyle and is placed in an inline-block); or as display + * math (true), meaning that the math starts in \displaystyle + * and is placed in a block with vertical margin. + */ +class Settings { + constructor(options) { + this.displayMode = void 0; + this.output = void 0; + this.leqno = void 0; + this.fleqn = void 0; + this.throwOnError = void 0; + this.errorColor = void 0; + this.macros = void 0; + this.minRuleThickness = void 0; + this.colorIsTextColor = void 0; + this.strict = void 0; + this.trust = void 0; + this.maxSize = void 0; + this.maxExpand = void 0; + this.globalGroup = void 0; + // allow null options + options = options || {}; + this.displayMode = utils.deflt(options.displayMode, false); + this.output = utils.deflt(options.output, "htmlAndMathml"); + this.leqno = utils.deflt(options.leqno, false); + this.fleqn = utils.deflt(options.fleqn, false); + this.throwOnError = utils.deflt(options.throwOnError, true); + this.errorColor = utils.deflt(options.errorColor, "#cc0000"); + this.macros = options.macros || {}; + this.minRuleThickness = Math.max(0, utils.deflt(options.minRuleThickness, 0)); + this.colorIsTextColor = utils.deflt(options.colorIsTextColor, false); + this.strict = utils.deflt(options.strict, "warn"); + this.trust = utils.deflt(options.trust, false); + this.maxSize = Math.max(0, utils.deflt(options.maxSize, Infinity)); + this.maxExpand = Math.max(0, utils.deflt(options.maxExpand, 1000)); + this.globalGroup = utils.deflt(options.globalGroup, false); + } + /** + * Report nonstrict (non-LaTeX-compatible) input. + * Can safely not be called if `this.strict` is false in JavaScript. + */ + + + reportNonstrict(errorCode, errorMsg, token) { + let strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + strict = strict(errorCode, errorMsg, token); + } + + if (!strict || strict === "ignore") { + + } else if (strict === true || strict === "error") { + throw new ParseError("LaTeX-incompatible input and strict mode is set to 'error': " + `${errorMsg} [${errorCode}]`, token); + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + `${errorMsg} [${errorCode}]`); + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + `unrecognized '${strict}': ${errorMsg} [${errorCode}]`); + } + } + /** + * Check whether to apply strict (LaTeX-adhering) behavior for unusual + * input (like `\\`). Unlike `nonstrict`, will not throw an error; + * instead, "error" translates to a return value of `true`, while "ignore" + * translates to a return value of `false`. May still print a warning: + * "warn" prints a warning and returns `false`. + * This is for the second category of `errorCode`s listed in the README. + */ + + + useStrictBehavior(errorCode, errorMsg, token) { + let strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + // But catch any exceptions thrown by function, treating them + // like "error". + try { + strict = strict(errorCode, errorMsg, token); + } catch (error) { + strict = "error"; + } + } + + if (!strict || strict === "ignore") { + return false; + } else if (strict === true || strict === "error") { + return true; + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + `${errorMsg} [${errorCode}]`); + return false; + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + `unrecognized '${strict}': ${errorMsg} [${errorCode}]`); + return false; + } + } + /** + * Check whether to test potentially dangerous input, and return + * `true` (trusted) or `false` (untrusted). The sole argument `context` + * should be an object with `command` field specifying the relevant LaTeX + * command (as a string starting with `\`), and any other arguments, etc. + * If `context` has a `url` field, a `protocol` field will automatically + * get added by this function (changing the specified object). + */ + + + isTrusted(context) { + if (context.url && !context.protocol) { + context.protocol = utils.protocolFromUrl(context.url); + } + + const trust = typeof this.trust === "function" ? this.trust(context) : this.trust; + return Boolean(trust); + } + +} + +/** + * This file contains information and classes for the various kinds of styles + * used in TeX. It provides a generic `Style` class, which holds information + * about a specific style. It then provides instances of all the different kinds + * of styles possible, and provides functions to move between them and get + * information about them. + */ + +/** + * The main style class. Contains a unique id for the style, a size (which is + * the same for cramped and uncramped version of a style), and a cramped flag. + */ +class Style { + constructor(id, size, cramped) { + this.id = void 0; + this.size = void 0; + this.cramped = void 0; + this.id = id; + this.size = size; + this.cramped = cramped; + } + /** + * Get the style of a superscript given a base in the current style. + */ + + + sup() { + return styles[sup[this.id]]; + } + /** + * Get the style of a subscript given a base in the current style. + */ + + + sub() { + return styles[sub[this.id]]; + } + /** + * Get the style of a fraction numerator given the fraction in the current + * style. + */ + + + fracNum() { + return styles[fracNum[this.id]]; + } + /** + * Get the style of a fraction denominator given the fraction in the current + * style. + */ + + + fracDen() { + return styles[fracDen[this.id]]; + } + /** + * Get the cramped version of a style (in particular, cramping a cramped style + * doesn't change the style). + */ + + + cramp() { + return styles[cramp[this.id]]; + } + /** + * Get a text or display version of this style. + */ + + + text() { + return styles[text[this.id]]; + } + /** + * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle) + */ + + + isTight() { + return this.size >= 2; + } + +} // Export an interface for type checking, but don't expose the implementation. +// This way, no more styles can be generated. + + +// IDs of the different styles +const D = 0; +const Dc = 1; +const T = 2; +const Tc = 3; +const S = 4; +const Sc = 5; +const SS = 6; +const SSc = 7; // Instances of the different styles + +const styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another + +const sup = [S, Sc, S, Sc, SS, SSc, SS, SSc]; +const sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc]; +const fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc]; +const fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc]; +const cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc]; +const text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles. + +var Style$1 = { + DISPLAY: styles[D], + TEXT: styles[T], + SCRIPT: styles[S], + SCRIPTSCRIPT: styles[SS] +}; + +/* + * This file defines the Unicode scripts and script families that we + * support. To add new scripts or families, just add a new entry to the + * scriptData array below. Adding scripts to the scriptData array allows + * characters from that script to appear in \text{} environments. + */ + +/** + * Each script or script family has a name and an array of blocks. + * Each block is an array of two numbers which specify the start and + * end points (inclusive) of a block of Unicode codepoints. + */ + +/** + * Unicode block data for the families of scripts we support in \text{}. + * Scripts only need to appear here if they do not have font metrics. + */ +const scriptData = [{ + // Latin characters beyond the Latin-1 characters we have metrics for. + // Needed for Czech, Hungarian and Turkish text, for example. + name: 'latin', + blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B + [0x0300, 0x036f]] +}, { + // The Cyrillic script used by Russian and related languages. + // A Cyrillic subset used to be supported as explicitly defined + // symbols in symbols.js + name: 'cyrillic', + blocks: [[0x0400, 0x04ff]] +}, { + // The Brahmic scripts of South and Southeast Asia + // Devanagari (0900–097F) + // Bengali (0980–09FF) + // Gurmukhi (0A00–0A7F) + // Gujarati (0A80–0AFF) + // Oriya (0B00–0B7F) + // Tamil (0B80–0BFF) + // Telugu (0C00–0C7F) + // Kannada (0C80–0CFF) + // Malayalam (0D00–0D7F) + // Sinhala (0D80–0DFF) + // Thai (0E00–0E7F) + // Lao (0E80–0EFF) + // Tibetan (0F00–0FFF) + // Myanmar (1000–109F) + name: 'brahmic', + blocks: [[0x0900, 0x109F]] +}, { + name: 'georgian', + blocks: [[0x10A0, 0x10ff]] +}, { + // Chinese and Japanese. + // The "k" in cjk is for Korean, but we've separated Korean out + name: "cjk", + blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana + [0x4E00, 0x9FAF], // CJK ideograms + [0xFF00, 0xFF60]] +}, { + // Korean + name: 'hangul', + blocks: [[0xAC00, 0xD7AF]] +}]; +/** + * Given a codepoint, return the name of the script or script family + * it is from, or null if it is not part of a known block + */ + +function scriptFromCodepoint(codepoint) { + for (let i = 0; i < scriptData.length; i++) { + const script = scriptData[i]; + + for (let i = 0; i < script.blocks.length; i++) { + const block = script.blocks[i]; + + if (codepoint >= block[0] && codepoint <= block[1]) { + return script.name; + } + } + } + + return null; +} +/** + * A flattened version of all the supported blocks in a single array. + * This is an optimization to make supportedCodepoint() fast. + */ + +const allBlocks = []; +scriptData.forEach(s => s.blocks.forEach(b => allBlocks.push(...b))); +/** + * Given a codepoint, return true if it falls within one of the + * scripts or script families defined above and false otherwise. + * + * Micro benchmarks shows that this is faster than + * /[\u3000-\u30FF\u4E00-\u9FAF\uFF00-\uFF60\uAC00-\uD7AF\u0900-\u109F]/.test() + * in Firefox, Chrome and Node. + */ + +function supportedCodepoint(codepoint) { + for (let i = 0; i < allBlocks.length; i += 2) { + if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) { + return true; + } + } + + return false; +} + +/** + * This file provides support to domTree.js and delimiter.js. + * It's a storehouse of path geometry for SVG images. + */ +// In all paths below, the viewBox-to-em scale is 1000:1. +const hLinePad = 80; // padding above a sqrt viniculum. Prevents image cropping. +// The viniculum of a \sqrt can be made thicker by a KaTeX rendering option. +// Think of variable extraViniculum as two detours in the SVG path. +// The detour begins at the lower left of the area labeled extraViniculum below. +// The detour proceeds one extraViniculum distance up and slightly to the right, +// displacing the radiused corner between surd and viniculum. The radius is +// traversed as usual, then the detour resumes. It goes right, to the end of +// the very long viniculumn, then down one extraViniculum distance, +// after which it resumes regular path geometry for the radical. + +/* viniculum + / + /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraViniculum + / █████████████████████←0.04em (40 unit) std viniculum thickness + / / + / / + / /\ + / / surd +*/ + +const sqrtMain = function sqrtMain(extraViniculum, hLinePad) { + // sqrtMain path geometry is from glyph U221A in the font KaTeX Main + return `M95,${622 + extraViniculum + hLinePad} +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l${extraViniculum / 2.075} -${extraViniculum} +c5.3,-9.3,12,-14,20,-14 +H400000v${40 + extraViniculum}H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M${834 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +}; + +const sqrtSize1 = function sqrtSize1(extraViniculum, hLinePad) { + // size1 is from glyph U221A in the font KaTeX_Size1-Regular + return `M263,${601 + extraViniculum + hLinePad}c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l${extraViniculum / 2.084} -${extraViniculum} +c4.7,-7.3,11,-11,19,-11 +H40000v${40 + extraViniculum}H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +}; + +const sqrtSize2 = function sqrtSize2(extraViniculum, hLinePad) { + // size2 is from glyph U221A in the font KaTeX_Size2-Regular + return `M983 ${10 + extraViniculum + hLinePad} +l${extraViniculum / 3.13} -${extraViniculum} +c4,-6.7,10,-10,18,-10 H400000v${40 + extraViniculum} +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +}; + +const sqrtSize3 = function sqrtSize3(extraViniculum, hLinePad) { + // size3 is from glyph U221A in the font KaTeX_Size3-Regular + return `M424,${2398 + extraViniculum + hLinePad} +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l${extraViniculum / 4.223} -${extraViniculum}c4,-6.7,10,-10,18,-10 H400000 +v${40 + extraViniculum}H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M${1001 + extraViniculum} ${hLinePad} +h400000v${40 + extraViniculum}h-400000z`; +}; + +const sqrtSize4 = function sqrtSize4(extraViniculum, hLinePad) { + // size4 is from glyph U221A in the font KaTeX_Size4-Regular + return `M473,${2713 + extraViniculum + hLinePad} +c339.3,-1799.3,509.3,-2700,510,-2702 l${extraViniculum / 5.298} -${extraViniculum} +c3.3,-7.3,9.3,-11,18,-11 H400000v${40 + extraViniculum}H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}H1017.7z`; +}; + +const sqrtTall = function sqrtTall(extraViniculum, hLinePad, viewBoxHeight) { + // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular + // One path edge has a variable length. It runs vertically from the viniculumn + // to a point near (14 units) the bottom of the surd. The viniculum + // is normally 40 units thick. So the length of the line in question is: + const vertSegment = viewBoxHeight - 54 - hLinePad - extraViniculum; + return `M702 ${extraViniculum + hLinePad}H400000${40 + extraViniculum} +H742v${vertSegment}l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 ${hLinePad}H400000v${40 + extraViniculum}H742z`; +}; + +const sqrtPath = function sqrtPath(size, extraViniculum, viewBoxHeight) { + extraViniculum = 1000 * extraViniculum; // Convert from document ems to viewBox. + + let path = ""; + + switch (size) { + case "sqrtMain": + path = sqrtMain(extraViniculum, hLinePad); + break; + + case "sqrtSize1": + path = sqrtSize1(extraViniculum, hLinePad); + break; + + case "sqrtSize2": + path = sqrtSize2(extraViniculum, hLinePad); + break; + + case "sqrtSize3": + path = sqrtSize3(extraViniculum, hLinePad); + break; + + case "sqrtSize4": + path = sqrtSize4(extraViniculum, hLinePad); + break; + + case "sqrtTall": + path = sqrtTall(extraViniculum, hLinePad, viewBoxHeight); + } + + return path; +}; +const path = { + // Two paths that cover gaps in built-up parentheses. + leftParenInner: `M291 0 H417 V300 H291 z`, + rightParenInner: `M457 0 H583 V300 H457 z`, + // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main + doubleleftarrow: `M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`, + // doublerightarrow is from glyph U+21D2 in font KaTeX Main + doublerightarrow: `M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`, + // leftarrow is from glyph U+2190 in font KaTeX Main + leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`, + // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular + leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`, + leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`, + // overgroup is from the MnSymbol package (public domain) + leftgroup: `M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`, + leftgroupunder: `M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`, + // Harpoons are from glyph U+21BD in font KaTeX Main + leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`, + leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`, + leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`, + leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`, + // hook is from glyph U+21A9 in font KaTeX Main + lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`, + leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`, + leftmapsto: `M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`, + // tofrom is from glyph U+21C4 in font KaTeX AMS Regular + leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`, + longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`, + midbrace: `M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`, + midbraceunder: `M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`, + oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`, + oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`, + oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`, + oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`, + rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`, + rightbrace: `M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`, + rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`, + rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`, + rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`, + rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`, + rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`, + rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`, + rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`, + righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`, + rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`, + rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`, + // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular + twoheadleftarrow: `M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`, + twoheadrightarrow: `M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`, + // tilde1 is a modified version of a glyph from the MnSymbol package + tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`, + // ditto tilde2, tilde3, & tilde4 + tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`, + tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`, + tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`, + // vec is from glyph U+20D7 in font KaTeX Main + vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`, + // widehat1 is a modified version of a glyph from the MnSymbol package + widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`, + // ditto widehat2, widehat3, & widehat4 + widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + // widecheck paths are all inverted versions of widehat + widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`, + widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + // The next ten paths support reaction arrows from the mhchem package. + // Arrows for \ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX + // baraboveleftarrow is mostly from from glyph U+2190 in font KaTeX Main + baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`, + // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main + rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`, + // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end. + // Ref from mhchem.sty: \rlap{\raisebox{-.22ex}{$\kern0.5em + baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`, + rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`, + shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`, + shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z` +}; + +/** + * This node represents a document fragment, which contains elements, but when + * placed into the DOM doesn't have any representation itself. It only contains + * children and doesn't have any DOM node properties. + */ +class DocumentFragment { + // HtmlDomNode + // Never used; needed for satisfying interface. + constructor(children) { + this.children = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + this.children = children; + this.classes = []; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = {}; + } + + hasClass(className) { + return utils.contains(this.classes, className); + } + /** Convert the fragment into a node. */ + + + toNode() { + const frag = document.createDocumentFragment(); + + for (let i = 0; i < this.children.length; i++) { + frag.appendChild(this.children[i].toNode()); + } + + return frag; + } + /** Convert the fragment into HTML markup. */ + + + toMarkup() { + let markup = ""; // Simply concatenate the markup for the children together. + + for (let i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + return markup; + } + /** + * Converts the math node into a string, similar to innerText. Applies to + * MathDomNode's only. + */ + + + toText() { + // To avoid this, we would subclass documentFragment separately for + // MathML, but polyfills for subclassing is expensive per PR 1469. + // $FlowFixMe: Only works for ChildType = MathDomNode. + const toText = child => child.toText(); + + return this.children.map(toText).join(""); + } + +} + +/** + * These objects store the data about the DOM nodes we create, as well as some + * extra data. They can then be transformed into real DOM nodes with the + * `toNode` function or HTML markup using `toMarkup`. They are useful for both + * storing extra properties on the nodes, as well as providing a way to easily + * work with the DOM. + * + * Similar functions for working with MathML nodes exist in mathMLTree.js. + * + * TODO: refactor `span` and `anchor` into common superclass when + * target environments support class inheritance + */ + +/** + * Create an HTML className based on a list of classes. In addition to joining + * with spaces, we also remove empty classes. + */ +const createClass = function createClass(classes) { + return classes.filter(cls => cls).join(" "); +}; + +const initNode = function initNode(classes, options, style) { + this.classes = classes || []; + this.attributes = {}; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = style || {}; + + if (options) { + if (options.style.isTight()) { + this.classes.push("mtight"); + } + + const color = options.getColor(); + + if (color) { + this.style.color = color; + } + } +}; +/** + * Convert into an HTML node + */ + + +const toNode = function toNode(tagName) { + const node = document.createElement(tagName); // Apply the class + + node.className = createClass(this.classes); // Apply inline styles + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe Flow doesn't seem to understand span.style's type. + node.style[style] = this.style[style]; + } + } // Apply attributes + + + for (const attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } // Append the children, also as HTML nodes + + + for (let i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; +}; +/** + * Convert into an HTML markup string + */ + + +const toMarkup = function toMarkup(tagName) { + let markup = `<${tagName}`; // Add the class + + if (this.classes.length) { + markup += ` class="${utils.escape(createClass(this.classes))}"`; + } + + let styles = ""; // Add the styles, after hyphenation + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += `${utils.hyphenate(style)}:${this.style[style]};`; + } + } + + if (styles) { + markup += ` style="${utils.escape(styles)}"`; + } // Add the attributes + + + for (const attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + markup += ` ${attr}="${utils.escape(this.attributes[attr])}"`; + } + } + + markup += ">"; // Add the markup of the children, also as markup + + for (let i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ``; + return markup; +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. +// This type does not include all CSS properties. Additional properties should +// be added as needed. + + +/** + * This node represents a span node, with a className, a list of children, and + * an inline style. It also contains information about its height, depth, and + * maxFontSize. + * + * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan + * otherwise. This typesafety is important when HTML builders access a span's + * children. + */ +class Span { + constructor(classes, children, options, style) { + this.children = void 0; + this.attributes = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.width = void 0; + this.maxFontSize = void 0; + this.style = void 0; + initNode.call(this, classes, options, style); + this.children = children || []; + } + /** + * Sets an arbitrary attribute on the span. Warning: use this wisely. Not + * all browsers support attributes the same, and having too many custom + * attributes is probably bad. + */ + + + setAttribute(attribute, value) { + this.attributes[attribute] = value; + } + + hasClass(className) { + return utils.contains(this.classes, className); + } + + toNode() { + return toNode.call(this, "span"); + } + + toMarkup() { + return toMarkup.call(this, "span"); + } + +} +/** + * This node represents an anchor () element with a hyperlink. See `span` + * for further details. + */ + +class Anchor { + constructor(href, classes, children, options) { + this.children = void 0; + this.attributes = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + initNode.call(this, classes, options); + this.children = children || []; + this.setAttribute('href', href); + } + + setAttribute(attribute, value) { + this.attributes[attribute] = value; + } + + hasClass(className) { + return utils.contains(this.classes, className); + } + + toNode() { + return toNode.call(this, "a"); + } + + toMarkup() { + return toMarkup.call(this, "a"); + } + +} +/** + * This node represents an image embed () element. + */ + +class Img { + constructor(src, alt, style) { + this.src = void 0; + this.alt = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + this.alt = alt; + this.src = src; + this.classes = ["mord"]; + this.style = style; + } + + hasClass(className) { + return utils.contains(this.classes, className); + } + + toNode() { + const node = document.createElement("img"); + node.src = this.src; + node.alt = this.alt; + node.className = "mord"; // Apply inline styles + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe + node.style[style] = this.style[style]; + } + } + + return node; + } + + toMarkup() { + let markup = `${this.alt} 0) { + span = document.createElement("span"); + span.style.marginRight = this.italic + "em"; + } + + if (this.classes.length > 0) { + span = span || document.createElement("span"); + span.className = createClass(this.classes); + } + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + span = span || document.createElement("span"); // $FlowFixMe Flow doesn't seem to understand span.style's type. + + span.style[style] = this.style[style]; + } + } + + if (span) { + span.appendChild(node); + return span; + } else { + return node; + } + } + /** + * Creates markup for a symbol node. + */ + + + toMarkup() { + // TODO(alpert): More duplication than I'd like from + // span.prototype.toMarkup and symbolNode.prototype.toNode... + let needsSpan = false; + let markup = " 0) { + styles += "margin-right:" + this.italic + "em;"; + } + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += utils.hyphenate(style) + ":" + this.style[style] + ";"; + } + } + + if (styles) { + needsSpan = true; + markup += " style=\"" + utils.escape(styles) + "\""; + } + + const escaped = utils.escape(this.text); + + if (needsSpan) { + markup += ">"; + markup += escaped; + markup += ""; + return markup; + } else { + return escaped; + } + } + +} +/** + * SVG nodes are used to render stretchy wide elements. + */ + +class SvgNode { + constructor(children, attributes) { + this.children = void 0; + this.attributes = void 0; + this.children = children || []; + this.attributes = attributes || {}; + } + + toNode() { + const svgNS = "http://www.w3.org/2000/svg"; + const node = document.createElementNS(svgNS, "svg"); // Apply attributes + + for (const attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (let i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + } + + toMarkup() { + let markup = "`; + } else { + return ``; + } + } + +} +class LineNode { + constructor(attributes) { + this.attributes = void 0; + this.attributes = attributes || {}; + } + + toNode() { + const svgNS = "http://www.w3.org/2000/svg"; + const node = document.createElementNS(svgNS, "line"); // Apply attributes + + for (const attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + return node; + } + + toMarkup() { + let markup = " but got ${String(group)}.`); + } +} + +// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY. +var metricMap = { + "AMS-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.68889, 0, 0, 0.72222], + "66": [0, 0.68889, 0, 0, 0.66667], + "67": [0, 0.68889, 0, 0, 0.72222], + "68": [0, 0.68889, 0, 0, 0.72222], + "69": [0, 0.68889, 0, 0, 0.66667], + "70": [0, 0.68889, 0, 0, 0.61111], + "71": [0, 0.68889, 0, 0, 0.77778], + "72": [0, 0.68889, 0, 0, 0.77778], + "73": [0, 0.68889, 0, 0, 0.38889], + "74": [0.16667, 0.68889, 0, 0, 0.5], + "75": [0, 0.68889, 0, 0, 0.77778], + "76": [0, 0.68889, 0, 0, 0.66667], + "77": [0, 0.68889, 0, 0, 0.94445], + "78": [0, 0.68889, 0, 0, 0.72222], + "79": [0.16667, 0.68889, 0, 0, 0.77778], + "80": [0, 0.68889, 0, 0, 0.61111], + "81": [0.16667, 0.68889, 0, 0, 0.77778], + "82": [0, 0.68889, 0, 0, 0.72222], + "83": [0, 0.68889, 0, 0, 0.55556], + "84": [0, 0.68889, 0, 0, 0.66667], + "85": [0, 0.68889, 0, 0, 0.72222], + "86": [0, 0.68889, 0, 0, 0.72222], + "87": [0, 0.68889, 0, 0, 1.0], + "88": [0, 0.68889, 0, 0, 0.72222], + "89": [0, 0.68889, 0, 0, 0.72222], + "90": [0, 0.68889, 0, 0, 0.66667], + "107": [0, 0.68889, 0, 0, 0.55556], + "160": [0, 0, 0, 0, 0.25], + "165": [0, 0.675, 0.025, 0, 0.75], + "174": [0.15559, 0.69224, 0, 0, 0.94666], + "240": [0, 0.68889, 0, 0, 0.55556], + "295": [0, 0.68889, 0, 0, 0.54028], + "710": [0, 0.825, 0, 0, 2.33334], + "732": [0, 0.9, 0, 0, 2.33334], + "770": [0, 0.825, 0, 0, 2.33334], + "771": [0, 0.9, 0, 0, 2.33334], + "989": [0.08167, 0.58167, 0, 0, 0.77778], + "1008": [0, 0.43056, 0.04028, 0, 0.66667], + "8245": [0, 0.54986, 0, 0, 0.275], + "8463": [0, 0.68889, 0, 0, 0.54028], + "8487": [0, 0.68889, 0, 0, 0.72222], + "8498": [0, 0.68889, 0, 0, 0.55556], + "8502": [0, 0.68889, 0, 0, 0.66667], + "8503": [0, 0.68889, 0, 0, 0.44445], + "8504": [0, 0.68889, 0, 0, 0.66667], + "8513": [0, 0.68889, 0, 0, 0.63889], + "8592": [-0.03598, 0.46402, 0, 0, 0.5], + "8594": [-0.03598, 0.46402, 0, 0, 0.5], + "8602": [-0.13313, 0.36687, 0, 0, 1.0], + "8603": [-0.13313, 0.36687, 0, 0, 1.0], + "8606": [0.01354, 0.52239, 0, 0, 1.0], + "8608": [0.01354, 0.52239, 0, 0, 1.0], + "8610": [0.01354, 0.52239, 0, 0, 1.11111], + "8611": [0.01354, 0.52239, 0, 0, 1.11111], + "8619": [0, 0.54986, 0, 0, 1.0], + "8620": [0, 0.54986, 0, 0, 1.0], + "8621": [-0.13313, 0.37788, 0, 0, 1.38889], + "8622": [-0.13313, 0.36687, 0, 0, 1.0], + "8624": [0, 0.69224, 0, 0, 0.5], + "8625": [0, 0.69224, 0, 0, 0.5], + "8630": [0, 0.43056, 0, 0, 1.0], + "8631": [0, 0.43056, 0, 0, 1.0], + "8634": [0.08198, 0.58198, 0, 0, 0.77778], + "8635": [0.08198, 0.58198, 0, 0, 0.77778], + "8638": [0.19444, 0.69224, 0, 0, 0.41667], + "8639": [0.19444, 0.69224, 0, 0, 0.41667], + "8642": [0.19444, 0.69224, 0, 0, 0.41667], + "8643": [0.19444, 0.69224, 0, 0, 0.41667], + "8644": [0.1808, 0.675, 0, 0, 1.0], + "8646": [0.1808, 0.675, 0, 0, 1.0], + "8647": [0.1808, 0.675, 0, 0, 1.0], + "8648": [0.19444, 0.69224, 0, 0, 0.83334], + "8649": [0.1808, 0.675, 0, 0, 1.0], + "8650": [0.19444, 0.69224, 0, 0, 0.83334], + "8651": [0.01354, 0.52239, 0, 0, 1.0], + "8652": [0.01354, 0.52239, 0, 0, 1.0], + "8653": [-0.13313, 0.36687, 0, 0, 1.0], + "8654": [-0.13313, 0.36687, 0, 0, 1.0], + "8655": [-0.13313, 0.36687, 0, 0, 1.0], + "8666": [0.13667, 0.63667, 0, 0, 1.0], + "8667": [0.13667, 0.63667, 0, 0, 1.0], + "8669": [-0.13313, 0.37788, 0, 0, 1.0], + "8672": [-0.064, 0.437, 0, 0, 1.334], + "8674": [-0.064, 0.437, 0, 0, 1.334], + "8705": [0, 0.825, 0, 0, 0.5], + "8708": [0, 0.68889, 0, 0, 0.55556], + "8709": [0.08167, 0.58167, 0, 0, 0.77778], + "8717": [0, 0.43056, 0, 0, 0.42917], + "8722": [-0.03598, 0.46402, 0, 0, 0.5], + "8724": [0.08198, 0.69224, 0, 0, 0.77778], + "8726": [0.08167, 0.58167, 0, 0, 0.77778], + "8733": [0, 0.69224, 0, 0, 0.77778], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8737": [0, 0.69224, 0, 0, 0.72222], + "8738": [0.03517, 0.52239, 0, 0, 0.72222], + "8739": [0.08167, 0.58167, 0, 0, 0.22222], + "8740": [0.25142, 0.74111, 0, 0, 0.27778], + "8741": [0.08167, 0.58167, 0, 0, 0.38889], + "8742": [0.25142, 0.74111, 0, 0, 0.5], + "8756": [0, 0.69224, 0, 0, 0.66667], + "8757": [0, 0.69224, 0, 0, 0.66667], + "8764": [-0.13313, 0.36687, 0, 0, 0.77778], + "8765": [-0.13313, 0.37788, 0, 0, 0.77778], + "8769": [-0.13313, 0.36687, 0, 0, 0.77778], + "8770": [-0.03625, 0.46375, 0, 0, 0.77778], + "8774": [0.30274, 0.79383, 0, 0, 0.77778], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8778": [0.08167, 0.58167, 0, 0, 0.77778], + "8782": [0.06062, 0.54986, 0, 0, 0.77778], + "8783": [0.06062, 0.54986, 0, 0, 0.77778], + "8785": [0.08198, 0.58198, 0, 0, 0.77778], + "8786": [0.08198, 0.58198, 0, 0, 0.77778], + "8787": [0.08198, 0.58198, 0, 0, 0.77778], + "8790": [0, 0.69224, 0, 0, 0.77778], + "8791": [0.22958, 0.72958, 0, 0, 0.77778], + "8796": [0.08198, 0.91667, 0, 0, 0.77778], + "8806": [0.25583, 0.75583, 0, 0, 0.77778], + "8807": [0.25583, 0.75583, 0, 0, 0.77778], + "8808": [0.25142, 0.75726, 0, 0, 0.77778], + "8809": [0.25142, 0.75726, 0, 0, 0.77778], + "8812": [0.25583, 0.75583, 0, 0, 0.5], + "8814": [0.20576, 0.70576, 0, 0, 0.77778], + "8815": [0.20576, 0.70576, 0, 0, 0.77778], + "8816": [0.30274, 0.79383, 0, 0, 0.77778], + "8817": [0.30274, 0.79383, 0, 0, 0.77778], + "8818": [0.22958, 0.72958, 0, 0, 0.77778], + "8819": [0.22958, 0.72958, 0, 0, 0.77778], + "8822": [0.1808, 0.675, 0, 0, 0.77778], + "8823": [0.1808, 0.675, 0, 0, 0.77778], + "8828": [0.13667, 0.63667, 0, 0, 0.77778], + "8829": [0.13667, 0.63667, 0, 0, 0.77778], + "8830": [0.22958, 0.72958, 0, 0, 0.77778], + "8831": [0.22958, 0.72958, 0, 0, 0.77778], + "8832": [0.20576, 0.70576, 0, 0, 0.77778], + "8833": [0.20576, 0.70576, 0, 0, 0.77778], + "8840": [0.30274, 0.79383, 0, 0, 0.77778], + "8841": [0.30274, 0.79383, 0, 0, 0.77778], + "8842": [0.13597, 0.63597, 0, 0, 0.77778], + "8843": [0.13597, 0.63597, 0, 0, 0.77778], + "8847": [0.03517, 0.54986, 0, 0, 0.77778], + "8848": [0.03517, 0.54986, 0, 0, 0.77778], + "8858": [0.08198, 0.58198, 0, 0, 0.77778], + "8859": [0.08198, 0.58198, 0, 0, 0.77778], + "8861": [0.08198, 0.58198, 0, 0, 0.77778], + "8862": [0, 0.675, 0, 0, 0.77778], + "8863": [0, 0.675, 0, 0, 0.77778], + "8864": [0, 0.675, 0, 0, 0.77778], + "8865": [0, 0.675, 0, 0, 0.77778], + "8872": [0, 0.69224, 0, 0, 0.61111], + "8873": [0, 0.69224, 0, 0, 0.72222], + "8874": [0, 0.69224, 0, 0, 0.88889], + "8876": [0, 0.68889, 0, 0, 0.61111], + "8877": [0, 0.68889, 0, 0, 0.61111], + "8878": [0, 0.68889, 0, 0, 0.72222], + "8879": [0, 0.68889, 0, 0, 0.72222], + "8882": [0.03517, 0.54986, 0, 0, 0.77778], + "8883": [0.03517, 0.54986, 0, 0, 0.77778], + "8884": [0.13667, 0.63667, 0, 0, 0.77778], + "8885": [0.13667, 0.63667, 0, 0, 0.77778], + "8888": [0, 0.54986, 0, 0, 1.11111], + "8890": [0.19444, 0.43056, 0, 0, 0.55556], + "8891": [0.19444, 0.69224, 0, 0, 0.61111], + "8892": [0.19444, 0.69224, 0, 0, 0.61111], + "8901": [0, 0.54986, 0, 0, 0.27778], + "8903": [0.08167, 0.58167, 0, 0, 0.77778], + "8905": [0.08167, 0.58167, 0, 0, 0.77778], + "8906": [0.08167, 0.58167, 0, 0, 0.77778], + "8907": [0, 0.69224, 0, 0, 0.77778], + "8908": [0, 0.69224, 0, 0, 0.77778], + "8909": [-0.03598, 0.46402, 0, 0, 0.77778], + "8910": [0, 0.54986, 0, 0, 0.76042], + "8911": [0, 0.54986, 0, 0, 0.76042], + "8912": [0.03517, 0.54986, 0, 0, 0.77778], + "8913": [0.03517, 0.54986, 0, 0, 0.77778], + "8914": [0, 0.54986, 0, 0, 0.66667], + "8915": [0, 0.54986, 0, 0, 0.66667], + "8916": [0, 0.69224, 0, 0, 0.66667], + "8918": [0.0391, 0.5391, 0, 0, 0.77778], + "8919": [0.0391, 0.5391, 0, 0, 0.77778], + "8920": [0.03517, 0.54986, 0, 0, 1.33334], + "8921": [0.03517, 0.54986, 0, 0, 1.33334], + "8922": [0.38569, 0.88569, 0, 0, 0.77778], + "8923": [0.38569, 0.88569, 0, 0, 0.77778], + "8926": [0.13667, 0.63667, 0, 0, 0.77778], + "8927": [0.13667, 0.63667, 0, 0, 0.77778], + "8928": [0.30274, 0.79383, 0, 0, 0.77778], + "8929": [0.30274, 0.79383, 0, 0, 0.77778], + "8934": [0.23222, 0.74111, 0, 0, 0.77778], + "8935": [0.23222, 0.74111, 0, 0, 0.77778], + "8936": [0.23222, 0.74111, 0, 0, 0.77778], + "8937": [0.23222, 0.74111, 0, 0, 0.77778], + "8938": [0.20576, 0.70576, 0, 0, 0.77778], + "8939": [0.20576, 0.70576, 0, 0, 0.77778], + "8940": [0.30274, 0.79383, 0, 0, 0.77778], + "8941": [0.30274, 0.79383, 0, 0, 0.77778], + "8994": [0.19444, 0.69224, 0, 0, 0.77778], + "8995": [0.19444, 0.69224, 0, 0, 0.77778], + "9416": [0.15559, 0.69224, 0, 0, 0.90222], + "9484": [0, 0.69224, 0, 0, 0.5], + "9488": [0, 0.69224, 0, 0, 0.5], + "9492": [0, 0.37788, 0, 0, 0.5], + "9496": [0, 0.37788, 0, 0, 0.5], + "9585": [0.19444, 0.68889, 0, 0, 0.88889], + "9586": [0.19444, 0.74111, 0, 0, 0.88889], + "9632": [0, 0.675, 0, 0, 0.77778], + "9633": [0, 0.675, 0, 0, 0.77778], + "9650": [0, 0.54986, 0, 0, 0.72222], + "9651": [0, 0.54986, 0, 0, 0.72222], + "9654": [0.03517, 0.54986, 0, 0, 0.77778], + "9660": [0, 0.54986, 0, 0, 0.72222], + "9661": [0, 0.54986, 0, 0, 0.72222], + "9664": [0.03517, 0.54986, 0, 0, 0.77778], + "9674": [0.11111, 0.69224, 0, 0, 0.66667], + "9733": [0.19444, 0.69224, 0, 0, 0.94445], + "10003": [0, 0.69224, 0, 0, 0.83334], + "10016": [0, 0.69224, 0, 0, 0.83334], + "10731": [0.11111, 0.69224, 0, 0, 0.66667], + "10846": [0.19444, 0.75583, 0, 0, 0.61111], + "10877": [0.13667, 0.63667, 0, 0, 0.77778], + "10878": [0.13667, 0.63667, 0, 0, 0.77778], + "10885": [0.25583, 0.75583, 0, 0, 0.77778], + "10886": [0.25583, 0.75583, 0, 0, 0.77778], + "10887": [0.13597, 0.63597, 0, 0, 0.77778], + "10888": [0.13597, 0.63597, 0, 0, 0.77778], + "10889": [0.26167, 0.75726, 0, 0, 0.77778], + "10890": [0.26167, 0.75726, 0, 0, 0.77778], + "10891": [0.48256, 0.98256, 0, 0, 0.77778], + "10892": [0.48256, 0.98256, 0, 0, 0.77778], + "10901": [0.13667, 0.63667, 0, 0, 0.77778], + "10902": [0.13667, 0.63667, 0, 0, 0.77778], + "10933": [0.25142, 0.75726, 0, 0, 0.77778], + "10934": [0.25142, 0.75726, 0, 0, 0.77778], + "10935": [0.26167, 0.75726, 0, 0, 0.77778], + "10936": [0.26167, 0.75726, 0, 0, 0.77778], + "10937": [0.26167, 0.75726, 0, 0, 0.77778], + "10938": [0.26167, 0.75726, 0, 0, 0.77778], + "10949": [0.25583, 0.75583, 0, 0, 0.77778], + "10950": [0.25583, 0.75583, 0, 0, 0.77778], + "10955": [0.28481, 0.79383, 0, 0, 0.77778], + "10956": [0.28481, 0.79383, 0, 0, 0.77778], + "57350": [0.08167, 0.58167, 0, 0, 0.22222], + "57351": [0.08167, 0.58167, 0, 0, 0.38889], + "57352": [0.08167, 0.58167, 0, 0, 0.77778], + "57353": [0, 0.43056, 0.04028, 0, 0.66667], + "57356": [0.25142, 0.75726, 0, 0, 0.77778], + "57357": [0.25142, 0.75726, 0, 0, 0.77778], + "57358": [0.41951, 0.91951, 0, 0, 0.77778], + "57359": [0.30274, 0.79383, 0, 0, 0.77778], + "57360": [0.30274, 0.79383, 0, 0, 0.77778], + "57361": [0.41951, 0.91951, 0, 0, 0.77778], + "57366": [0.25142, 0.75726, 0, 0, 0.77778], + "57367": [0.25142, 0.75726, 0, 0, 0.77778], + "57368": [0.25142, 0.75726, 0, 0, 0.77778], + "57369": [0.25142, 0.75726, 0, 0, 0.77778], + "57370": [0.13597, 0.63597, 0, 0, 0.77778], + "57371": [0.13597, 0.63597, 0, 0, 0.77778] + }, + "Caligraphic-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.68333, 0, 0.19445, 0.79847], + "66": [0, 0.68333, 0.03041, 0.13889, 0.65681], + "67": [0, 0.68333, 0.05834, 0.13889, 0.52653], + "68": [0, 0.68333, 0.02778, 0.08334, 0.77139], + "69": [0, 0.68333, 0.08944, 0.11111, 0.52778], + "70": [0, 0.68333, 0.09931, 0.11111, 0.71875], + "71": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487], + "72": [0, 0.68333, 0.00965, 0.11111, 0.84452], + "73": [0, 0.68333, 0.07382, 0, 0.54452], + "74": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778], + "75": [0, 0.68333, 0.01445, 0.05556, 0.76195], + "76": [0, 0.68333, 0, 0.13889, 0.68972], + "77": [0, 0.68333, 0, 0.13889, 1.2009], + "78": [0, 0.68333, 0.14736, 0.08334, 0.82049], + "79": [0, 0.68333, 0.02778, 0.11111, 0.79611], + "80": [0, 0.68333, 0.08222, 0.08334, 0.69556], + "81": [0.09722, 0.68333, 0, 0.11111, 0.81667], + "82": [0, 0.68333, 0, 0.08334, 0.8475], + "83": [0, 0.68333, 0.075, 0.13889, 0.60556], + "84": [0, 0.68333, 0.25417, 0, 0.54464], + "85": [0, 0.68333, 0.09931, 0.08334, 0.62583], + "86": [0, 0.68333, 0.08222, 0, 0.61278], + "87": [0, 0.68333, 0.08222, 0.08334, 0.98778], + "88": [0, 0.68333, 0.14643, 0.13889, 0.7133], + "89": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834], + "90": [0, 0.68333, 0.07944, 0.13889, 0.72473], + "160": [0, 0, 0, 0, 0.25] + }, + "Fraktur-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69141, 0, 0, 0.29574], + "34": [0, 0.69141, 0, 0, 0.21471], + "38": [0, 0.69141, 0, 0, 0.73786], + "39": [0, 0.69141, 0, 0, 0.21201], + "40": [0.24982, 0.74947, 0, 0, 0.38865], + "41": [0.24982, 0.74947, 0, 0, 0.38865], + "42": [0, 0.62119, 0, 0, 0.27764], + "43": [0.08319, 0.58283, 0, 0, 0.75623], + "44": [0, 0.10803, 0, 0, 0.27764], + "45": [0.08319, 0.58283, 0, 0, 0.75623], + "46": [0, 0.10803, 0, 0, 0.27764], + "47": [0.24982, 0.74947, 0, 0, 0.50181], + "48": [0, 0.47534, 0, 0, 0.50181], + "49": [0, 0.47534, 0, 0, 0.50181], + "50": [0, 0.47534, 0, 0, 0.50181], + "51": [0.18906, 0.47534, 0, 0, 0.50181], + "52": [0.18906, 0.47534, 0, 0, 0.50181], + "53": [0.18906, 0.47534, 0, 0, 0.50181], + "54": [0, 0.69141, 0, 0, 0.50181], + "55": [0.18906, 0.47534, 0, 0, 0.50181], + "56": [0, 0.69141, 0, 0, 0.50181], + "57": [0.18906, 0.47534, 0, 0, 0.50181], + "58": [0, 0.47534, 0, 0, 0.21606], + "59": [0.12604, 0.47534, 0, 0, 0.21606], + "61": [-0.13099, 0.36866, 0, 0, 0.75623], + "63": [0, 0.69141, 0, 0, 0.36245], + "65": [0, 0.69141, 0, 0, 0.7176], + "66": [0, 0.69141, 0, 0, 0.88397], + "67": [0, 0.69141, 0, 0, 0.61254], + "68": [0, 0.69141, 0, 0, 0.83158], + "69": [0, 0.69141, 0, 0, 0.66278], + "70": [0.12604, 0.69141, 0, 0, 0.61119], + "71": [0, 0.69141, 0, 0, 0.78539], + "72": [0.06302, 0.69141, 0, 0, 0.7203], + "73": [0, 0.69141, 0, 0, 0.55448], + "74": [0.12604, 0.69141, 0, 0, 0.55231], + "75": [0, 0.69141, 0, 0, 0.66845], + "76": [0, 0.69141, 0, 0, 0.66602], + "77": [0, 0.69141, 0, 0, 1.04953], + "78": [0, 0.69141, 0, 0, 0.83212], + "79": [0, 0.69141, 0, 0, 0.82699], + "80": [0.18906, 0.69141, 0, 0, 0.82753], + "81": [0.03781, 0.69141, 0, 0, 0.82699], + "82": [0, 0.69141, 0, 0, 0.82807], + "83": [0, 0.69141, 0, 0, 0.82861], + "84": [0, 0.69141, 0, 0, 0.66899], + "85": [0, 0.69141, 0, 0, 0.64576], + "86": [0, 0.69141, 0, 0, 0.83131], + "87": [0, 0.69141, 0, 0, 1.04602], + "88": [0, 0.69141, 0, 0, 0.71922], + "89": [0.18906, 0.69141, 0, 0, 0.83293], + "90": [0.12604, 0.69141, 0, 0, 0.60201], + "91": [0.24982, 0.74947, 0, 0, 0.27764], + "93": [0.24982, 0.74947, 0, 0, 0.27764], + "94": [0, 0.69141, 0, 0, 0.49965], + "97": [0, 0.47534, 0, 0, 0.50046], + "98": [0, 0.69141, 0, 0, 0.51315], + "99": [0, 0.47534, 0, 0, 0.38946], + "100": [0, 0.62119, 0, 0, 0.49857], + "101": [0, 0.47534, 0, 0, 0.40053], + "102": [0.18906, 0.69141, 0, 0, 0.32626], + "103": [0.18906, 0.47534, 0, 0, 0.5037], + "104": [0.18906, 0.69141, 0, 0, 0.52126], + "105": [0, 0.69141, 0, 0, 0.27899], + "106": [0, 0.69141, 0, 0, 0.28088], + "107": [0, 0.69141, 0, 0, 0.38946], + "108": [0, 0.69141, 0, 0, 0.27953], + "109": [0, 0.47534, 0, 0, 0.76676], + "110": [0, 0.47534, 0, 0, 0.52666], + "111": [0, 0.47534, 0, 0, 0.48885], + "112": [0.18906, 0.52396, 0, 0, 0.50046], + "113": [0.18906, 0.47534, 0, 0, 0.48912], + "114": [0, 0.47534, 0, 0, 0.38919], + "115": [0, 0.47534, 0, 0, 0.44266], + "116": [0, 0.62119, 0, 0, 0.33301], + "117": [0, 0.47534, 0, 0, 0.5172], + "118": [0, 0.52396, 0, 0, 0.5118], + "119": [0, 0.52396, 0, 0, 0.77351], + "120": [0.18906, 0.47534, 0, 0, 0.38865], + "121": [0.18906, 0.47534, 0, 0, 0.49884], + "122": [0.18906, 0.47534, 0, 0, 0.39054], + "160": [0, 0, 0, 0, 0.25], + "8216": [0, 0.69141, 0, 0, 0.21471], + "8217": [0, 0.69141, 0, 0, 0.21471], + "58112": [0, 0.62119, 0, 0, 0.49749], + "58113": [0, 0.62119, 0, 0, 0.4983], + "58114": [0.18906, 0.69141, 0, 0, 0.33328], + "58115": [0.18906, 0.69141, 0, 0, 0.32923], + "58116": [0.18906, 0.47534, 0, 0, 0.50343], + "58117": [0, 0.69141, 0, 0, 0.33301], + "58118": [0, 0.62119, 0, 0, 0.33409], + "58119": [0, 0.47534, 0, 0, 0.50073] + }, + "Main-Bold": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.35], + "34": [0, 0.69444, 0, 0, 0.60278], + "35": [0.19444, 0.69444, 0, 0, 0.95833], + "36": [0.05556, 0.75, 0, 0, 0.575], + "37": [0.05556, 0.75, 0, 0, 0.95833], + "38": [0, 0.69444, 0, 0, 0.89444], + "39": [0, 0.69444, 0, 0, 0.31944], + "40": [0.25, 0.75, 0, 0, 0.44722], + "41": [0.25, 0.75, 0, 0, 0.44722], + "42": [0, 0.75, 0, 0, 0.575], + "43": [0.13333, 0.63333, 0, 0, 0.89444], + "44": [0.19444, 0.15556, 0, 0, 0.31944], + "45": [0, 0.44444, 0, 0, 0.38333], + "46": [0, 0.15556, 0, 0, 0.31944], + "47": [0.25, 0.75, 0, 0, 0.575], + "48": [0, 0.64444, 0, 0, 0.575], + "49": [0, 0.64444, 0, 0, 0.575], + "50": [0, 0.64444, 0, 0, 0.575], + "51": [0, 0.64444, 0, 0, 0.575], + "52": [0, 0.64444, 0, 0, 0.575], + "53": [0, 0.64444, 0, 0, 0.575], + "54": [0, 0.64444, 0, 0, 0.575], + "55": [0, 0.64444, 0, 0, 0.575], + "56": [0, 0.64444, 0, 0, 0.575], + "57": [0, 0.64444, 0, 0, 0.575], + "58": [0, 0.44444, 0, 0, 0.31944], + "59": [0.19444, 0.44444, 0, 0, 0.31944], + "60": [0.08556, 0.58556, 0, 0, 0.89444], + "61": [-0.10889, 0.39111, 0, 0, 0.89444], + "62": [0.08556, 0.58556, 0, 0, 0.89444], + "63": [0, 0.69444, 0, 0, 0.54305], + "64": [0, 0.69444, 0, 0, 0.89444], + "65": [0, 0.68611, 0, 0, 0.86944], + "66": [0, 0.68611, 0, 0, 0.81805], + "67": [0, 0.68611, 0, 0, 0.83055], + "68": [0, 0.68611, 0, 0, 0.88194], + "69": [0, 0.68611, 0, 0, 0.75555], + "70": [0, 0.68611, 0, 0, 0.72361], + "71": [0, 0.68611, 0, 0, 0.90416], + "72": [0, 0.68611, 0, 0, 0.9], + "73": [0, 0.68611, 0, 0, 0.43611], + "74": [0, 0.68611, 0, 0, 0.59444], + "75": [0, 0.68611, 0, 0, 0.90138], + "76": [0, 0.68611, 0, 0, 0.69166], + "77": [0, 0.68611, 0, 0, 1.09166], + "78": [0, 0.68611, 0, 0, 0.9], + "79": [0, 0.68611, 0, 0, 0.86388], + "80": [0, 0.68611, 0, 0, 0.78611], + "81": [0.19444, 0.68611, 0, 0, 0.86388], + "82": [0, 0.68611, 0, 0, 0.8625], + "83": [0, 0.68611, 0, 0, 0.63889], + "84": [0, 0.68611, 0, 0, 0.8], + "85": [0, 0.68611, 0, 0, 0.88472], + "86": [0, 0.68611, 0.01597, 0, 0.86944], + "87": [0, 0.68611, 0.01597, 0, 1.18888], + "88": [0, 0.68611, 0, 0, 0.86944], + "89": [0, 0.68611, 0.02875, 0, 0.86944], + "90": [0, 0.68611, 0, 0, 0.70277], + "91": [0.25, 0.75, 0, 0, 0.31944], + "92": [0.25, 0.75, 0, 0, 0.575], + "93": [0.25, 0.75, 0, 0, 0.31944], + "94": [0, 0.69444, 0, 0, 0.575], + "95": [0.31, 0.13444, 0.03194, 0, 0.575], + "97": [0, 0.44444, 0, 0, 0.55902], + "98": [0, 0.69444, 0, 0, 0.63889], + "99": [0, 0.44444, 0, 0, 0.51111], + "100": [0, 0.69444, 0, 0, 0.63889], + "101": [0, 0.44444, 0, 0, 0.52708], + "102": [0, 0.69444, 0.10903, 0, 0.35139], + "103": [0.19444, 0.44444, 0.01597, 0, 0.575], + "104": [0, 0.69444, 0, 0, 0.63889], + "105": [0, 0.69444, 0, 0, 0.31944], + "106": [0.19444, 0.69444, 0, 0, 0.35139], + "107": [0, 0.69444, 0, 0, 0.60694], + "108": [0, 0.69444, 0, 0, 0.31944], + "109": [0, 0.44444, 0, 0, 0.95833], + "110": [0, 0.44444, 0, 0, 0.63889], + "111": [0, 0.44444, 0, 0, 0.575], + "112": [0.19444, 0.44444, 0, 0, 0.63889], + "113": [0.19444, 0.44444, 0, 0, 0.60694], + "114": [0, 0.44444, 0, 0, 0.47361], + "115": [0, 0.44444, 0, 0, 0.45361], + "116": [0, 0.63492, 0, 0, 0.44722], + "117": [0, 0.44444, 0, 0, 0.63889], + "118": [0, 0.44444, 0.01597, 0, 0.60694], + "119": [0, 0.44444, 0.01597, 0, 0.83055], + "120": [0, 0.44444, 0, 0, 0.60694], + "121": [0.19444, 0.44444, 0.01597, 0, 0.60694], + "122": [0, 0.44444, 0, 0, 0.51111], + "123": [0.25, 0.75, 0, 0, 0.575], + "124": [0.25, 0.75, 0, 0, 0.31944], + "125": [0.25, 0.75, 0, 0, 0.575], + "126": [0.35, 0.34444, 0, 0, 0.575], + "160": [0, 0, 0, 0, 0.25], + "163": [0, 0.69444, 0, 0, 0.86853], + "168": [0, 0.69444, 0, 0, 0.575], + "172": [0, 0.44444, 0, 0, 0.76666], + "176": [0, 0.69444, 0, 0, 0.86944], + "177": [0.13333, 0.63333, 0, 0, 0.89444], + "184": [0.17014, 0, 0, 0, 0.51111], + "198": [0, 0.68611, 0, 0, 1.04166], + "215": [0.13333, 0.63333, 0, 0, 0.89444], + "216": [0.04861, 0.73472, 0, 0, 0.89444], + "223": [0, 0.69444, 0, 0, 0.59722], + "230": [0, 0.44444, 0, 0, 0.83055], + "247": [0.13333, 0.63333, 0, 0, 0.89444], + "248": [0.09722, 0.54167, 0, 0, 0.575], + "305": [0, 0.44444, 0, 0, 0.31944], + "338": [0, 0.68611, 0, 0, 1.16944], + "339": [0, 0.44444, 0, 0, 0.89444], + "567": [0.19444, 0.44444, 0, 0, 0.35139], + "710": [0, 0.69444, 0, 0, 0.575], + "711": [0, 0.63194, 0, 0, 0.575], + "713": [0, 0.59611, 0, 0, 0.575], + "714": [0, 0.69444, 0, 0, 0.575], + "715": [0, 0.69444, 0, 0, 0.575], + "728": [0, 0.69444, 0, 0, 0.575], + "729": [0, 0.69444, 0, 0, 0.31944], + "730": [0, 0.69444, 0, 0, 0.86944], + "732": [0, 0.69444, 0, 0, 0.575], + "733": [0, 0.69444, 0, 0, 0.575], + "915": [0, 0.68611, 0, 0, 0.69166], + "916": [0, 0.68611, 0, 0, 0.95833], + "920": [0, 0.68611, 0, 0, 0.89444], + "923": [0, 0.68611, 0, 0, 0.80555], + "926": [0, 0.68611, 0, 0, 0.76666], + "928": [0, 0.68611, 0, 0, 0.9], + "931": [0, 0.68611, 0, 0, 0.83055], + "933": [0, 0.68611, 0, 0, 0.89444], + "934": [0, 0.68611, 0, 0, 0.83055], + "936": [0, 0.68611, 0, 0, 0.89444], + "937": [0, 0.68611, 0, 0, 0.83055], + "8211": [0, 0.44444, 0.03194, 0, 0.575], + "8212": [0, 0.44444, 0.03194, 0, 1.14999], + "8216": [0, 0.69444, 0, 0, 0.31944], + "8217": [0, 0.69444, 0, 0, 0.31944], + "8220": [0, 0.69444, 0, 0, 0.60278], + "8221": [0, 0.69444, 0, 0, 0.60278], + "8224": [0.19444, 0.69444, 0, 0, 0.51111], + "8225": [0.19444, 0.69444, 0, 0, 0.51111], + "8242": [0, 0.55556, 0, 0, 0.34444], + "8407": [0, 0.72444, 0.15486, 0, 0.575], + "8463": [0, 0.69444, 0, 0, 0.66759], + "8465": [0, 0.69444, 0, 0, 0.83055], + "8467": [0, 0.69444, 0, 0, 0.47361], + "8472": [0.19444, 0.44444, 0, 0, 0.74027], + "8476": [0, 0.69444, 0, 0, 0.83055], + "8501": [0, 0.69444, 0, 0, 0.70277], + "8592": [-0.10889, 0.39111, 0, 0, 1.14999], + "8593": [0.19444, 0.69444, 0, 0, 0.575], + "8594": [-0.10889, 0.39111, 0, 0, 1.14999], + "8595": [0.19444, 0.69444, 0, 0, 0.575], + "8596": [-0.10889, 0.39111, 0, 0, 1.14999], + "8597": [0.25, 0.75, 0, 0, 0.575], + "8598": [0.19444, 0.69444, 0, 0, 1.14999], + "8599": [0.19444, 0.69444, 0, 0, 1.14999], + "8600": [0.19444, 0.69444, 0, 0, 1.14999], + "8601": [0.19444, 0.69444, 0, 0, 1.14999], + "8636": [-0.10889, 0.39111, 0, 0, 1.14999], + "8637": [-0.10889, 0.39111, 0, 0, 1.14999], + "8640": [-0.10889, 0.39111, 0, 0, 1.14999], + "8641": [-0.10889, 0.39111, 0, 0, 1.14999], + "8656": [-0.10889, 0.39111, 0, 0, 1.14999], + "8657": [0.19444, 0.69444, 0, 0, 0.70277], + "8658": [-0.10889, 0.39111, 0, 0, 1.14999], + "8659": [0.19444, 0.69444, 0, 0, 0.70277], + "8660": [-0.10889, 0.39111, 0, 0, 1.14999], + "8661": [0.25, 0.75, 0, 0, 0.70277], + "8704": [0, 0.69444, 0, 0, 0.63889], + "8706": [0, 0.69444, 0.06389, 0, 0.62847], + "8707": [0, 0.69444, 0, 0, 0.63889], + "8709": [0.05556, 0.75, 0, 0, 0.575], + "8711": [0, 0.68611, 0, 0, 0.95833], + "8712": [0.08556, 0.58556, 0, 0, 0.76666], + "8715": [0.08556, 0.58556, 0, 0, 0.76666], + "8722": [0.13333, 0.63333, 0, 0, 0.89444], + "8723": [0.13333, 0.63333, 0, 0, 0.89444], + "8725": [0.25, 0.75, 0, 0, 0.575], + "8726": [0.25, 0.75, 0, 0, 0.575], + "8727": [-0.02778, 0.47222, 0, 0, 0.575], + "8728": [-0.02639, 0.47361, 0, 0, 0.575], + "8729": [-0.02639, 0.47361, 0, 0, 0.575], + "8730": [0.18, 0.82, 0, 0, 0.95833], + "8733": [0, 0.44444, 0, 0, 0.89444], + "8734": [0, 0.44444, 0, 0, 1.14999], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8739": [0.25, 0.75, 0, 0, 0.31944], + "8741": [0.25, 0.75, 0, 0, 0.575], + "8743": [0, 0.55556, 0, 0, 0.76666], + "8744": [0, 0.55556, 0, 0, 0.76666], + "8745": [0, 0.55556, 0, 0, 0.76666], + "8746": [0, 0.55556, 0, 0, 0.76666], + "8747": [0.19444, 0.69444, 0.12778, 0, 0.56875], + "8764": [-0.10889, 0.39111, 0, 0, 0.89444], + "8768": [0.19444, 0.69444, 0, 0, 0.31944], + "8771": [0.00222, 0.50222, 0, 0, 0.89444], + "8776": [0.02444, 0.52444, 0, 0, 0.89444], + "8781": [0.00222, 0.50222, 0, 0, 0.89444], + "8801": [0.00222, 0.50222, 0, 0, 0.89444], + "8804": [0.19667, 0.69667, 0, 0, 0.89444], + "8805": [0.19667, 0.69667, 0, 0, 0.89444], + "8810": [0.08556, 0.58556, 0, 0, 1.14999], + "8811": [0.08556, 0.58556, 0, 0, 1.14999], + "8826": [0.08556, 0.58556, 0, 0, 0.89444], + "8827": [0.08556, 0.58556, 0, 0, 0.89444], + "8834": [0.08556, 0.58556, 0, 0, 0.89444], + "8835": [0.08556, 0.58556, 0, 0, 0.89444], + "8838": [0.19667, 0.69667, 0, 0, 0.89444], + "8839": [0.19667, 0.69667, 0, 0, 0.89444], + "8846": [0, 0.55556, 0, 0, 0.76666], + "8849": [0.19667, 0.69667, 0, 0, 0.89444], + "8850": [0.19667, 0.69667, 0, 0, 0.89444], + "8851": [0, 0.55556, 0, 0, 0.76666], + "8852": [0, 0.55556, 0, 0, 0.76666], + "8853": [0.13333, 0.63333, 0, 0, 0.89444], + "8854": [0.13333, 0.63333, 0, 0, 0.89444], + "8855": [0.13333, 0.63333, 0, 0, 0.89444], + "8856": [0.13333, 0.63333, 0, 0, 0.89444], + "8857": [0.13333, 0.63333, 0, 0, 0.89444], + "8866": [0, 0.69444, 0, 0, 0.70277], + "8867": [0, 0.69444, 0, 0, 0.70277], + "8868": [0, 0.69444, 0, 0, 0.89444], + "8869": [0, 0.69444, 0, 0, 0.89444], + "8900": [-0.02639, 0.47361, 0, 0, 0.575], + "8901": [-0.02639, 0.47361, 0, 0, 0.31944], + "8902": [-0.02778, 0.47222, 0, 0, 0.575], + "8968": [0.25, 0.75, 0, 0, 0.51111], + "8969": [0.25, 0.75, 0, 0, 0.51111], + "8970": [0.25, 0.75, 0, 0, 0.51111], + "8971": [0.25, 0.75, 0, 0, 0.51111], + "8994": [-0.13889, 0.36111, 0, 0, 1.14999], + "8995": [-0.13889, 0.36111, 0, 0, 1.14999], + "9651": [0.19444, 0.69444, 0, 0, 1.02222], + "9657": [-0.02778, 0.47222, 0, 0, 0.575], + "9661": [0.19444, 0.69444, 0, 0, 1.02222], + "9667": [-0.02778, 0.47222, 0, 0, 0.575], + "9711": [0.19444, 0.69444, 0, 0, 1.14999], + "9824": [0.12963, 0.69444, 0, 0, 0.89444], + "9825": [0.12963, 0.69444, 0, 0, 0.89444], + "9826": [0.12963, 0.69444, 0, 0, 0.89444], + "9827": [0.12963, 0.69444, 0, 0, 0.89444], + "9837": [0, 0.75, 0, 0, 0.44722], + "9838": [0.19444, 0.69444, 0, 0, 0.44722], + "9839": [0.19444, 0.69444, 0, 0, 0.44722], + "10216": [0.25, 0.75, 0, 0, 0.44722], + "10217": [0.25, 0.75, 0, 0, 0.44722], + "10815": [0, 0.68611, 0, 0, 0.9], + "10927": [0.19667, 0.69667, 0, 0, 0.89444], + "10928": [0.19667, 0.69667, 0, 0, 0.89444], + "57376": [0.19444, 0.69444, 0, 0, 0] + }, + "Main-BoldItalic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.11417, 0, 0.38611], + "34": [0, 0.69444, 0.07939, 0, 0.62055], + "35": [0.19444, 0.69444, 0.06833, 0, 0.94444], + "37": [0.05556, 0.75, 0.12861, 0, 0.94444], + "38": [0, 0.69444, 0.08528, 0, 0.88555], + "39": [0, 0.69444, 0.12945, 0, 0.35555], + "40": [0.25, 0.75, 0.15806, 0, 0.47333], + "41": [0.25, 0.75, 0.03306, 0, 0.47333], + "42": [0, 0.75, 0.14333, 0, 0.59111], + "43": [0.10333, 0.60333, 0.03306, 0, 0.88555], + "44": [0.19444, 0.14722, 0, 0, 0.35555], + "45": [0, 0.44444, 0.02611, 0, 0.41444], + "46": [0, 0.14722, 0, 0, 0.35555], + "47": [0.25, 0.75, 0.15806, 0, 0.59111], + "48": [0, 0.64444, 0.13167, 0, 0.59111], + "49": [0, 0.64444, 0.13167, 0, 0.59111], + "50": [0, 0.64444, 0.13167, 0, 0.59111], + "51": [0, 0.64444, 0.13167, 0, 0.59111], + "52": [0.19444, 0.64444, 0.13167, 0, 0.59111], + "53": [0, 0.64444, 0.13167, 0, 0.59111], + "54": [0, 0.64444, 0.13167, 0, 0.59111], + "55": [0.19444, 0.64444, 0.13167, 0, 0.59111], + "56": [0, 0.64444, 0.13167, 0, 0.59111], + "57": [0, 0.64444, 0.13167, 0, 0.59111], + "58": [0, 0.44444, 0.06695, 0, 0.35555], + "59": [0.19444, 0.44444, 0.06695, 0, 0.35555], + "61": [-0.10889, 0.39111, 0.06833, 0, 0.88555], + "63": [0, 0.69444, 0.11472, 0, 0.59111], + "64": [0, 0.69444, 0.09208, 0, 0.88555], + "65": [0, 0.68611, 0, 0, 0.86555], + "66": [0, 0.68611, 0.0992, 0, 0.81666], + "67": [0, 0.68611, 0.14208, 0, 0.82666], + "68": [0, 0.68611, 0.09062, 0, 0.87555], + "69": [0, 0.68611, 0.11431, 0, 0.75666], + "70": [0, 0.68611, 0.12903, 0, 0.72722], + "71": [0, 0.68611, 0.07347, 0, 0.89527], + "72": [0, 0.68611, 0.17208, 0, 0.8961], + "73": [0, 0.68611, 0.15681, 0, 0.47166], + "74": [0, 0.68611, 0.145, 0, 0.61055], + "75": [0, 0.68611, 0.14208, 0, 0.89499], + "76": [0, 0.68611, 0, 0, 0.69777], + "77": [0, 0.68611, 0.17208, 0, 1.07277], + "78": [0, 0.68611, 0.17208, 0, 0.8961], + "79": [0, 0.68611, 0.09062, 0, 0.85499], + "80": [0, 0.68611, 0.0992, 0, 0.78721], + "81": [0.19444, 0.68611, 0.09062, 0, 0.85499], + "82": [0, 0.68611, 0.02559, 0, 0.85944], + "83": [0, 0.68611, 0.11264, 0, 0.64999], + "84": [0, 0.68611, 0.12903, 0, 0.7961], + "85": [0, 0.68611, 0.17208, 0, 0.88083], + "86": [0, 0.68611, 0.18625, 0, 0.86555], + "87": [0, 0.68611, 0.18625, 0, 1.15999], + "88": [0, 0.68611, 0.15681, 0, 0.86555], + "89": [0, 0.68611, 0.19803, 0, 0.86555], + "90": [0, 0.68611, 0.14208, 0, 0.70888], + "91": [0.25, 0.75, 0.1875, 0, 0.35611], + "93": [0.25, 0.75, 0.09972, 0, 0.35611], + "94": [0, 0.69444, 0.06709, 0, 0.59111], + "95": [0.31, 0.13444, 0.09811, 0, 0.59111], + "97": [0, 0.44444, 0.09426, 0, 0.59111], + "98": [0, 0.69444, 0.07861, 0, 0.53222], + "99": [0, 0.44444, 0.05222, 0, 0.53222], + "100": [0, 0.69444, 0.10861, 0, 0.59111], + "101": [0, 0.44444, 0.085, 0, 0.53222], + "102": [0.19444, 0.69444, 0.21778, 0, 0.4], + "103": [0.19444, 0.44444, 0.105, 0, 0.53222], + "104": [0, 0.69444, 0.09426, 0, 0.59111], + "105": [0, 0.69326, 0.11387, 0, 0.35555], + "106": [0.19444, 0.69326, 0.1672, 0, 0.35555], + "107": [0, 0.69444, 0.11111, 0, 0.53222], + "108": [0, 0.69444, 0.10861, 0, 0.29666], + "109": [0, 0.44444, 0.09426, 0, 0.94444], + "110": [0, 0.44444, 0.09426, 0, 0.64999], + "111": [0, 0.44444, 0.07861, 0, 0.59111], + "112": [0.19444, 0.44444, 0.07861, 0, 0.59111], + "113": [0.19444, 0.44444, 0.105, 0, 0.53222], + "114": [0, 0.44444, 0.11111, 0, 0.50167], + "115": [0, 0.44444, 0.08167, 0, 0.48694], + "116": [0, 0.63492, 0.09639, 0, 0.385], + "117": [0, 0.44444, 0.09426, 0, 0.62055], + "118": [0, 0.44444, 0.11111, 0, 0.53222], + "119": [0, 0.44444, 0.11111, 0, 0.76777], + "120": [0, 0.44444, 0.12583, 0, 0.56055], + "121": [0.19444, 0.44444, 0.105, 0, 0.56166], + "122": [0, 0.44444, 0.13889, 0, 0.49055], + "126": [0.35, 0.34444, 0.11472, 0, 0.59111], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.69444, 0.11473, 0, 0.59111], + "176": [0, 0.69444, 0, 0, 0.94888], + "184": [0.17014, 0, 0, 0, 0.53222], + "198": [0, 0.68611, 0.11431, 0, 1.02277], + "216": [0.04861, 0.73472, 0.09062, 0, 0.88555], + "223": [0.19444, 0.69444, 0.09736, 0, 0.665], + "230": [0, 0.44444, 0.085, 0, 0.82666], + "248": [0.09722, 0.54167, 0.09458, 0, 0.59111], + "305": [0, 0.44444, 0.09426, 0, 0.35555], + "338": [0, 0.68611, 0.11431, 0, 1.14054], + "339": [0, 0.44444, 0.085, 0, 0.82666], + "567": [0.19444, 0.44444, 0.04611, 0, 0.385], + "710": [0, 0.69444, 0.06709, 0, 0.59111], + "711": [0, 0.63194, 0.08271, 0, 0.59111], + "713": [0, 0.59444, 0.10444, 0, 0.59111], + "714": [0, 0.69444, 0.08528, 0, 0.59111], + "715": [0, 0.69444, 0, 0, 0.59111], + "728": [0, 0.69444, 0.10333, 0, 0.59111], + "729": [0, 0.69444, 0.12945, 0, 0.35555], + "730": [0, 0.69444, 0, 0, 0.94888], + "732": [0, 0.69444, 0.11472, 0, 0.59111], + "733": [0, 0.69444, 0.11472, 0, 0.59111], + "915": [0, 0.68611, 0.12903, 0, 0.69777], + "916": [0, 0.68611, 0, 0, 0.94444], + "920": [0, 0.68611, 0.09062, 0, 0.88555], + "923": [0, 0.68611, 0, 0, 0.80666], + "926": [0, 0.68611, 0.15092, 0, 0.76777], + "928": [0, 0.68611, 0.17208, 0, 0.8961], + "931": [0, 0.68611, 0.11431, 0, 0.82666], + "933": [0, 0.68611, 0.10778, 0, 0.88555], + "934": [0, 0.68611, 0.05632, 0, 0.82666], + "936": [0, 0.68611, 0.10778, 0, 0.88555], + "937": [0, 0.68611, 0.0992, 0, 0.82666], + "8211": [0, 0.44444, 0.09811, 0, 0.59111], + "8212": [0, 0.44444, 0.09811, 0, 1.18221], + "8216": [0, 0.69444, 0.12945, 0, 0.35555], + "8217": [0, 0.69444, 0.12945, 0, 0.35555], + "8220": [0, 0.69444, 0.16772, 0, 0.62055], + "8221": [0, 0.69444, 0.07939, 0, 0.62055] + }, + "Main-Italic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.12417, 0, 0.30667], + "34": [0, 0.69444, 0.06961, 0, 0.51444], + "35": [0.19444, 0.69444, 0.06616, 0, 0.81777], + "37": [0.05556, 0.75, 0.13639, 0, 0.81777], + "38": [0, 0.69444, 0.09694, 0, 0.76666], + "39": [0, 0.69444, 0.12417, 0, 0.30667], + "40": [0.25, 0.75, 0.16194, 0, 0.40889], + "41": [0.25, 0.75, 0.03694, 0, 0.40889], + "42": [0, 0.75, 0.14917, 0, 0.51111], + "43": [0.05667, 0.56167, 0.03694, 0, 0.76666], + "44": [0.19444, 0.10556, 0, 0, 0.30667], + "45": [0, 0.43056, 0.02826, 0, 0.35778], + "46": [0, 0.10556, 0, 0, 0.30667], + "47": [0.25, 0.75, 0.16194, 0, 0.51111], + "48": [0, 0.64444, 0.13556, 0, 0.51111], + "49": [0, 0.64444, 0.13556, 0, 0.51111], + "50": [0, 0.64444, 0.13556, 0, 0.51111], + "51": [0, 0.64444, 0.13556, 0, 0.51111], + "52": [0.19444, 0.64444, 0.13556, 0, 0.51111], + "53": [0, 0.64444, 0.13556, 0, 0.51111], + "54": [0, 0.64444, 0.13556, 0, 0.51111], + "55": [0.19444, 0.64444, 0.13556, 0, 0.51111], + "56": [0, 0.64444, 0.13556, 0, 0.51111], + "57": [0, 0.64444, 0.13556, 0, 0.51111], + "58": [0, 0.43056, 0.0582, 0, 0.30667], + "59": [0.19444, 0.43056, 0.0582, 0, 0.30667], + "61": [-0.13313, 0.36687, 0.06616, 0, 0.76666], + "63": [0, 0.69444, 0.1225, 0, 0.51111], + "64": [0, 0.69444, 0.09597, 0, 0.76666], + "65": [0, 0.68333, 0, 0, 0.74333], + "66": [0, 0.68333, 0.10257, 0, 0.70389], + "67": [0, 0.68333, 0.14528, 0, 0.71555], + "68": [0, 0.68333, 0.09403, 0, 0.755], + "69": [0, 0.68333, 0.12028, 0, 0.67833], + "70": [0, 0.68333, 0.13305, 0, 0.65277], + "71": [0, 0.68333, 0.08722, 0, 0.77361], + "72": [0, 0.68333, 0.16389, 0, 0.74333], + "73": [0, 0.68333, 0.15806, 0, 0.38555], + "74": [0, 0.68333, 0.14028, 0, 0.525], + "75": [0, 0.68333, 0.14528, 0, 0.76888], + "76": [0, 0.68333, 0, 0, 0.62722], + "77": [0, 0.68333, 0.16389, 0, 0.89666], + "78": [0, 0.68333, 0.16389, 0, 0.74333], + "79": [0, 0.68333, 0.09403, 0, 0.76666], + "80": [0, 0.68333, 0.10257, 0, 0.67833], + "81": [0.19444, 0.68333, 0.09403, 0, 0.76666], + "82": [0, 0.68333, 0.03868, 0, 0.72944], + "83": [0, 0.68333, 0.11972, 0, 0.56222], + "84": [0, 0.68333, 0.13305, 0, 0.71555], + "85": [0, 0.68333, 0.16389, 0, 0.74333], + "86": [0, 0.68333, 0.18361, 0, 0.74333], + "87": [0, 0.68333, 0.18361, 0, 0.99888], + "88": [0, 0.68333, 0.15806, 0, 0.74333], + "89": [0, 0.68333, 0.19383, 0, 0.74333], + "90": [0, 0.68333, 0.14528, 0, 0.61333], + "91": [0.25, 0.75, 0.1875, 0, 0.30667], + "93": [0.25, 0.75, 0.10528, 0, 0.30667], + "94": [0, 0.69444, 0.06646, 0, 0.51111], + "95": [0.31, 0.12056, 0.09208, 0, 0.51111], + "97": [0, 0.43056, 0.07671, 0, 0.51111], + "98": [0, 0.69444, 0.06312, 0, 0.46], + "99": [0, 0.43056, 0.05653, 0, 0.46], + "100": [0, 0.69444, 0.10333, 0, 0.51111], + "101": [0, 0.43056, 0.07514, 0, 0.46], + "102": [0.19444, 0.69444, 0.21194, 0, 0.30667], + "103": [0.19444, 0.43056, 0.08847, 0, 0.46], + "104": [0, 0.69444, 0.07671, 0, 0.51111], + "105": [0, 0.65536, 0.1019, 0, 0.30667], + "106": [0.19444, 0.65536, 0.14467, 0, 0.30667], + "107": [0, 0.69444, 0.10764, 0, 0.46], + "108": [0, 0.69444, 0.10333, 0, 0.25555], + "109": [0, 0.43056, 0.07671, 0, 0.81777], + "110": [0, 0.43056, 0.07671, 0, 0.56222], + "111": [0, 0.43056, 0.06312, 0, 0.51111], + "112": [0.19444, 0.43056, 0.06312, 0, 0.51111], + "113": [0.19444, 0.43056, 0.08847, 0, 0.46], + "114": [0, 0.43056, 0.10764, 0, 0.42166], + "115": [0, 0.43056, 0.08208, 0, 0.40889], + "116": [0, 0.61508, 0.09486, 0, 0.33222], + "117": [0, 0.43056, 0.07671, 0, 0.53666], + "118": [0, 0.43056, 0.10764, 0, 0.46], + "119": [0, 0.43056, 0.10764, 0, 0.66444], + "120": [0, 0.43056, 0.12042, 0, 0.46389], + "121": [0.19444, 0.43056, 0.08847, 0, 0.48555], + "122": [0, 0.43056, 0.12292, 0, 0.40889], + "126": [0.35, 0.31786, 0.11585, 0, 0.51111], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.66786, 0.10474, 0, 0.51111], + "176": [0, 0.69444, 0, 0, 0.83129], + "184": [0.17014, 0, 0, 0, 0.46], + "198": [0, 0.68333, 0.12028, 0, 0.88277], + "216": [0.04861, 0.73194, 0.09403, 0, 0.76666], + "223": [0.19444, 0.69444, 0.10514, 0, 0.53666], + "230": [0, 0.43056, 0.07514, 0, 0.71555], + "248": [0.09722, 0.52778, 0.09194, 0, 0.51111], + "338": [0, 0.68333, 0.12028, 0, 0.98499], + "339": [0, 0.43056, 0.07514, 0, 0.71555], + "710": [0, 0.69444, 0.06646, 0, 0.51111], + "711": [0, 0.62847, 0.08295, 0, 0.51111], + "713": [0, 0.56167, 0.10333, 0, 0.51111], + "714": [0, 0.69444, 0.09694, 0, 0.51111], + "715": [0, 0.69444, 0, 0, 0.51111], + "728": [0, 0.69444, 0.10806, 0, 0.51111], + "729": [0, 0.66786, 0.11752, 0, 0.30667], + "730": [0, 0.69444, 0, 0, 0.83129], + "732": [0, 0.66786, 0.11585, 0, 0.51111], + "733": [0, 0.69444, 0.1225, 0, 0.51111], + "915": [0, 0.68333, 0.13305, 0, 0.62722], + "916": [0, 0.68333, 0, 0, 0.81777], + "920": [0, 0.68333, 0.09403, 0, 0.76666], + "923": [0, 0.68333, 0, 0, 0.69222], + "926": [0, 0.68333, 0.15294, 0, 0.66444], + "928": [0, 0.68333, 0.16389, 0, 0.74333], + "931": [0, 0.68333, 0.12028, 0, 0.71555], + "933": [0, 0.68333, 0.11111, 0, 0.76666], + "934": [0, 0.68333, 0.05986, 0, 0.71555], + "936": [0, 0.68333, 0.11111, 0, 0.76666], + "937": [0, 0.68333, 0.10257, 0, 0.71555], + "8211": [0, 0.43056, 0.09208, 0, 0.51111], + "8212": [0, 0.43056, 0.09208, 0, 1.02222], + "8216": [0, 0.69444, 0.12417, 0, 0.30667], + "8217": [0, 0.69444, 0.12417, 0, 0.30667], + "8220": [0, 0.69444, 0.1685, 0, 0.51444], + "8221": [0, 0.69444, 0.06961, 0, 0.51444], + "8463": [0, 0.68889, 0, 0, 0.54028] + }, + "Main-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.27778], + "34": [0, 0.69444, 0, 0, 0.5], + "35": [0.19444, 0.69444, 0, 0, 0.83334], + "36": [0.05556, 0.75, 0, 0, 0.5], + "37": [0.05556, 0.75, 0, 0, 0.83334], + "38": [0, 0.69444, 0, 0, 0.77778], + "39": [0, 0.69444, 0, 0, 0.27778], + "40": [0.25, 0.75, 0, 0, 0.38889], + "41": [0.25, 0.75, 0, 0, 0.38889], + "42": [0, 0.75, 0, 0, 0.5], + "43": [0.08333, 0.58333, 0, 0, 0.77778], + "44": [0.19444, 0.10556, 0, 0, 0.27778], + "45": [0, 0.43056, 0, 0, 0.33333], + "46": [0, 0.10556, 0, 0, 0.27778], + "47": [0.25, 0.75, 0, 0, 0.5], + "48": [0, 0.64444, 0, 0, 0.5], + "49": [0, 0.64444, 0, 0, 0.5], + "50": [0, 0.64444, 0, 0, 0.5], + "51": [0, 0.64444, 0, 0, 0.5], + "52": [0, 0.64444, 0, 0, 0.5], + "53": [0, 0.64444, 0, 0, 0.5], + "54": [0, 0.64444, 0, 0, 0.5], + "55": [0, 0.64444, 0, 0, 0.5], + "56": [0, 0.64444, 0, 0, 0.5], + "57": [0, 0.64444, 0, 0, 0.5], + "58": [0, 0.43056, 0, 0, 0.27778], + "59": [0.19444, 0.43056, 0, 0, 0.27778], + "60": [0.0391, 0.5391, 0, 0, 0.77778], + "61": [-0.13313, 0.36687, 0, 0, 0.77778], + "62": [0.0391, 0.5391, 0, 0, 0.77778], + "63": [0, 0.69444, 0, 0, 0.47222], + "64": [0, 0.69444, 0, 0, 0.77778], + "65": [0, 0.68333, 0, 0, 0.75], + "66": [0, 0.68333, 0, 0, 0.70834], + "67": [0, 0.68333, 0, 0, 0.72222], + "68": [0, 0.68333, 0, 0, 0.76389], + "69": [0, 0.68333, 0, 0, 0.68056], + "70": [0, 0.68333, 0, 0, 0.65278], + "71": [0, 0.68333, 0, 0, 0.78472], + "72": [0, 0.68333, 0, 0, 0.75], + "73": [0, 0.68333, 0, 0, 0.36111], + "74": [0, 0.68333, 0, 0, 0.51389], + "75": [0, 0.68333, 0, 0, 0.77778], + "76": [0, 0.68333, 0, 0, 0.625], + "77": [0, 0.68333, 0, 0, 0.91667], + "78": [0, 0.68333, 0, 0, 0.75], + "79": [0, 0.68333, 0, 0, 0.77778], + "80": [0, 0.68333, 0, 0, 0.68056], + "81": [0.19444, 0.68333, 0, 0, 0.77778], + "82": [0, 0.68333, 0, 0, 0.73611], + "83": [0, 0.68333, 0, 0, 0.55556], + "84": [0, 0.68333, 0, 0, 0.72222], + "85": [0, 0.68333, 0, 0, 0.75], + "86": [0, 0.68333, 0.01389, 0, 0.75], + "87": [0, 0.68333, 0.01389, 0, 1.02778], + "88": [0, 0.68333, 0, 0, 0.75], + "89": [0, 0.68333, 0.025, 0, 0.75], + "90": [0, 0.68333, 0, 0, 0.61111], + "91": [0.25, 0.75, 0, 0, 0.27778], + "92": [0.25, 0.75, 0, 0, 0.5], + "93": [0.25, 0.75, 0, 0, 0.27778], + "94": [0, 0.69444, 0, 0, 0.5], + "95": [0.31, 0.12056, 0.02778, 0, 0.5], + "97": [0, 0.43056, 0, 0, 0.5], + "98": [0, 0.69444, 0, 0, 0.55556], + "99": [0, 0.43056, 0, 0, 0.44445], + "100": [0, 0.69444, 0, 0, 0.55556], + "101": [0, 0.43056, 0, 0, 0.44445], + "102": [0, 0.69444, 0.07778, 0, 0.30556], + "103": [0.19444, 0.43056, 0.01389, 0, 0.5], + "104": [0, 0.69444, 0, 0, 0.55556], + "105": [0, 0.66786, 0, 0, 0.27778], + "106": [0.19444, 0.66786, 0, 0, 0.30556], + "107": [0, 0.69444, 0, 0, 0.52778], + "108": [0, 0.69444, 0, 0, 0.27778], + "109": [0, 0.43056, 0, 0, 0.83334], + "110": [0, 0.43056, 0, 0, 0.55556], + "111": [0, 0.43056, 0, 0, 0.5], + "112": [0.19444, 0.43056, 0, 0, 0.55556], + "113": [0.19444, 0.43056, 0, 0, 0.52778], + "114": [0, 0.43056, 0, 0, 0.39167], + "115": [0, 0.43056, 0, 0, 0.39445], + "116": [0, 0.61508, 0, 0, 0.38889], + "117": [0, 0.43056, 0, 0, 0.55556], + "118": [0, 0.43056, 0.01389, 0, 0.52778], + "119": [0, 0.43056, 0.01389, 0, 0.72222], + "120": [0, 0.43056, 0, 0, 0.52778], + "121": [0.19444, 0.43056, 0.01389, 0, 0.52778], + "122": [0, 0.43056, 0, 0, 0.44445], + "123": [0.25, 0.75, 0, 0, 0.5], + "124": [0.25, 0.75, 0, 0, 0.27778], + "125": [0.25, 0.75, 0, 0, 0.5], + "126": [0.35, 0.31786, 0, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "163": [0, 0.69444, 0, 0, 0.76909], + "167": [0.19444, 0.69444, 0, 0, 0.44445], + "168": [0, 0.66786, 0, 0, 0.5], + "172": [0, 0.43056, 0, 0, 0.66667], + "176": [0, 0.69444, 0, 0, 0.75], + "177": [0.08333, 0.58333, 0, 0, 0.77778], + "182": [0.19444, 0.69444, 0, 0, 0.61111], + "184": [0.17014, 0, 0, 0, 0.44445], + "198": [0, 0.68333, 0, 0, 0.90278], + "215": [0.08333, 0.58333, 0, 0, 0.77778], + "216": [0.04861, 0.73194, 0, 0, 0.77778], + "223": [0, 0.69444, 0, 0, 0.5], + "230": [0, 0.43056, 0, 0, 0.72222], + "247": [0.08333, 0.58333, 0, 0, 0.77778], + "248": [0.09722, 0.52778, 0, 0, 0.5], + "305": [0, 0.43056, 0, 0, 0.27778], + "338": [0, 0.68333, 0, 0, 1.01389], + "339": [0, 0.43056, 0, 0, 0.77778], + "567": [0.19444, 0.43056, 0, 0, 0.30556], + "710": [0, 0.69444, 0, 0, 0.5], + "711": [0, 0.62847, 0, 0, 0.5], + "713": [0, 0.56778, 0, 0, 0.5], + "714": [0, 0.69444, 0, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0, 0, 0.5], + "729": [0, 0.66786, 0, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.75], + "732": [0, 0.66786, 0, 0, 0.5], + "733": [0, 0.69444, 0, 0, 0.5], + "915": [0, 0.68333, 0, 0, 0.625], + "916": [0, 0.68333, 0, 0, 0.83334], + "920": [0, 0.68333, 0, 0, 0.77778], + "923": [0, 0.68333, 0, 0, 0.69445], + "926": [0, 0.68333, 0, 0, 0.66667], + "928": [0, 0.68333, 0, 0, 0.75], + "931": [0, 0.68333, 0, 0, 0.72222], + "933": [0, 0.68333, 0, 0, 0.77778], + "934": [0, 0.68333, 0, 0, 0.72222], + "936": [0, 0.68333, 0, 0, 0.77778], + "937": [0, 0.68333, 0, 0, 0.72222], + "8211": [0, 0.43056, 0.02778, 0, 0.5], + "8212": [0, 0.43056, 0.02778, 0, 1.0], + "8216": [0, 0.69444, 0, 0, 0.27778], + "8217": [0, 0.69444, 0, 0, 0.27778], + "8220": [0, 0.69444, 0, 0, 0.5], + "8221": [0, 0.69444, 0, 0, 0.5], + "8224": [0.19444, 0.69444, 0, 0, 0.44445], + "8225": [0.19444, 0.69444, 0, 0, 0.44445], + "8230": [0, 0.12, 0, 0, 1.172], + "8242": [0, 0.55556, 0, 0, 0.275], + "8407": [0, 0.71444, 0.15382, 0, 0.5], + "8463": [0, 0.68889, 0, 0, 0.54028], + "8465": [0, 0.69444, 0, 0, 0.72222], + "8467": [0, 0.69444, 0, 0.11111, 0.41667], + "8472": [0.19444, 0.43056, 0, 0.11111, 0.63646], + "8476": [0, 0.69444, 0, 0, 0.72222], + "8501": [0, 0.69444, 0, 0, 0.61111], + "8592": [-0.13313, 0.36687, 0, 0, 1.0], + "8593": [0.19444, 0.69444, 0, 0, 0.5], + "8594": [-0.13313, 0.36687, 0, 0, 1.0], + "8595": [0.19444, 0.69444, 0, 0, 0.5], + "8596": [-0.13313, 0.36687, 0, 0, 1.0], + "8597": [0.25, 0.75, 0, 0, 0.5], + "8598": [0.19444, 0.69444, 0, 0, 1.0], + "8599": [0.19444, 0.69444, 0, 0, 1.0], + "8600": [0.19444, 0.69444, 0, 0, 1.0], + "8601": [0.19444, 0.69444, 0, 0, 1.0], + "8614": [0.011, 0.511, 0, 0, 1.0], + "8617": [0.011, 0.511, 0, 0, 1.126], + "8618": [0.011, 0.511, 0, 0, 1.126], + "8636": [-0.13313, 0.36687, 0, 0, 1.0], + "8637": [-0.13313, 0.36687, 0, 0, 1.0], + "8640": [-0.13313, 0.36687, 0, 0, 1.0], + "8641": [-0.13313, 0.36687, 0, 0, 1.0], + "8652": [0.011, 0.671, 0, 0, 1.0], + "8656": [-0.13313, 0.36687, 0, 0, 1.0], + "8657": [0.19444, 0.69444, 0, 0, 0.61111], + "8658": [-0.13313, 0.36687, 0, 0, 1.0], + "8659": [0.19444, 0.69444, 0, 0, 0.61111], + "8660": [-0.13313, 0.36687, 0, 0, 1.0], + "8661": [0.25, 0.75, 0, 0, 0.61111], + "8704": [0, 0.69444, 0, 0, 0.55556], + "8706": [0, 0.69444, 0.05556, 0.08334, 0.5309], + "8707": [0, 0.69444, 0, 0, 0.55556], + "8709": [0.05556, 0.75, 0, 0, 0.5], + "8711": [0, 0.68333, 0, 0, 0.83334], + "8712": [0.0391, 0.5391, 0, 0, 0.66667], + "8715": [0.0391, 0.5391, 0, 0, 0.66667], + "8722": [0.08333, 0.58333, 0, 0, 0.77778], + "8723": [0.08333, 0.58333, 0, 0, 0.77778], + "8725": [0.25, 0.75, 0, 0, 0.5], + "8726": [0.25, 0.75, 0, 0, 0.5], + "8727": [-0.03472, 0.46528, 0, 0, 0.5], + "8728": [-0.05555, 0.44445, 0, 0, 0.5], + "8729": [-0.05555, 0.44445, 0, 0, 0.5], + "8730": [0.2, 0.8, 0, 0, 0.83334], + "8733": [0, 0.43056, 0, 0, 0.77778], + "8734": [0, 0.43056, 0, 0, 1.0], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8739": [0.25, 0.75, 0, 0, 0.27778], + "8741": [0.25, 0.75, 0, 0, 0.5], + "8743": [0, 0.55556, 0, 0, 0.66667], + "8744": [0, 0.55556, 0, 0, 0.66667], + "8745": [0, 0.55556, 0, 0, 0.66667], + "8746": [0, 0.55556, 0, 0, 0.66667], + "8747": [0.19444, 0.69444, 0.11111, 0, 0.41667], + "8764": [-0.13313, 0.36687, 0, 0, 0.77778], + "8768": [0.19444, 0.69444, 0, 0, 0.27778], + "8771": [-0.03625, 0.46375, 0, 0, 0.77778], + "8773": [-0.022, 0.589, 0, 0, 1.0], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8781": [-0.03625, 0.46375, 0, 0, 0.77778], + "8784": [-0.133, 0.67, 0, 0, 0.778], + "8801": [-0.03625, 0.46375, 0, 0, 0.77778], + "8804": [0.13597, 0.63597, 0, 0, 0.77778], + "8805": [0.13597, 0.63597, 0, 0, 0.77778], + "8810": [0.0391, 0.5391, 0, 0, 1.0], + "8811": [0.0391, 0.5391, 0, 0, 1.0], + "8826": [0.0391, 0.5391, 0, 0, 0.77778], + "8827": [0.0391, 0.5391, 0, 0, 0.77778], + "8834": [0.0391, 0.5391, 0, 0, 0.77778], + "8835": [0.0391, 0.5391, 0, 0, 0.77778], + "8838": [0.13597, 0.63597, 0, 0, 0.77778], + "8839": [0.13597, 0.63597, 0, 0, 0.77778], + "8846": [0, 0.55556, 0, 0, 0.66667], + "8849": [0.13597, 0.63597, 0, 0, 0.77778], + "8850": [0.13597, 0.63597, 0, 0, 0.77778], + "8851": [0, 0.55556, 0, 0, 0.66667], + "8852": [0, 0.55556, 0, 0, 0.66667], + "8853": [0.08333, 0.58333, 0, 0, 0.77778], + "8854": [0.08333, 0.58333, 0, 0, 0.77778], + "8855": [0.08333, 0.58333, 0, 0, 0.77778], + "8856": [0.08333, 0.58333, 0, 0, 0.77778], + "8857": [0.08333, 0.58333, 0, 0, 0.77778], + "8866": [0, 0.69444, 0, 0, 0.61111], + "8867": [0, 0.69444, 0, 0, 0.61111], + "8868": [0, 0.69444, 0, 0, 0.77778], + "8869": [0, 0.69444, 0, 0, 0.77778], + "8872": [0.249, 0.75, 0, 0, 0.867], + "8900": [-0.05555, 0.44445, 0, 0, 0.5], + "8901": [-0.05555, 0.44445, 0, 0, 0.27778], + "8902": [-0.03472, 0.46528, 0, 0, 0.5], + "8904": [0.005, 0.505, 0, 0, 0.9], + "8942": [0.03, 0.9, 0, 0, 0.278], + "8943": [-0.19, 0.31, 0, 0, 1.172], + "8945": [-0.1, 0.82, 0, 0, 1.282], + "8968": [0.25, 0.75, 0, 0, 0.44445], + "8969": [0.25, 0.75, 0, 0, 0.44445], + "8970": [0.25, 0.75, 0, 0, 0.44445], + "8971": [0.25, 0.75, 0, 0, 0.44445], + "8994": [-0.14236, 0.35764, 0, 0, 1.0], + "8995": [-0.14236, 0.35764, 0, 0, 1.0], + "9136": [0.244, 0.744, 0, 0, 0.412], + "9137": [0.244, 0.744, 0, 0, 0.412], + "9651": [0.19444, 0.69444, 0, 0, 0.88889], + "9657": [-0.03472, 0.46528, 0, 0, 0.5], + "9661": [0.19444, 0.69444, 0, 0, 0.88889], + "9667": [-0.03472, 0.46528, 0, 0, 0.5], + "9711": [0.19444, 0.69444, 0, 0, 1.0], + "9824": [0.12963, 0.69444, 0, 0, 0.77778], + "9825": [0.12963, 0.69444, 0, 0, 0.77778], + "9826": [0.12963, 0.69444, 0, 0, 0.77778], + "9827": [0.12963, 0.69444, 0, 0, 0.77778], + "9837": [0, 0.75, 0, 0, 0.38889], + "9838": [0.19444, 0.69444, 0, 0, 0.38889], + "9839": [0.19444, 0.69444, 0, 0, 0.38889], + "10216": [0.25, 0.75, 0, 0, 0.38889], + "10217": [0.25, 0.75, 0, 0, 0.38889], + "10222": [0.244, 0.744, 0, 0, 0.412], + "10223": [0.244, 0.744, 0, 0, 0.412], + "10229": [0.011, 0.511, 0, 0, 1.609], + "10230": [0.011, 0.511, 0, 0, 1.638], + "10231": [0.011, 0.511, 0, 0, 1.859], + "10232": [0.024, 0.525, 0, 0, 1.609], + "10233": [0.024, 0.525, 0, 0, 1.638], + "10234": [0.024, 0.525, 0, 0, 1.858], + "10236": [0.011, 0.511, 0, 0, 1.638], + "10815": [0, 0.68333, 0, 0, 0.75], + "10927": [0.13597, 0.63597, 0, 0, 0.77778], + "10928": [0.13597, 0.63597, 0, 0, 0.77778], + "57376": [0.19444, 0.69444, 0, 0, 0] + }, + "Math-BoldItalic": { + "32": [0, 0, 0, 0, 0.25], + "48": [0, 0.44444, 0, 0, 0.575], + "49": [0, 0.44444, 0, 0, 0.575], + "50": [0, 0.44444, 0, 0, 0.575], + "51": [0.19444, 0.44444, 0, 0, 0.575], + "52": [0.19444, 0.44444, 0, 0, 0.575], + "53": [0.19444, 0.44444, 0, 0, 0.575], + "54": [0, 0.64444, 0, 0, 0.575], + "55": [0.19444, 0.44444, 0, 0, 0.575], + "56": [0, 0.64444, 0, 0, 0.575], + "57": [0.19444, 0.44444, 0, 0, 0.575], + "65": [0, 0.68611, 0, 0, 0.86944], + "66": [0, 0.68611, 0.04835, 0, 0.8664], + "67": [0, 0.68611, 0.06979, 0, 0.81694], + "68": [0, 0.68611, 0.03194, 0, 0.93812], + "69": [0, 0.68611, 0.05451, 0, 0.81007], + "70": [0, 0.68611, 0.15972, 0, 0.68889], + "71": [0, 0.68611, 0, 0, 0.88673], + "72": [0, 0.68611, 0.08229, 0, 0.98229], + "73": [0, 0.68611, 0.07778, 0, 0.51111], + "74": [0, 0.68611, 0.10069, 0, 0.63125], + "75": [0, 0.68611, 0.06979, 0, 0.97118], + "76": [0, 0.68611, 0, 0, 0.75555], + "77": [0, 0.68611, 0.11424, 0, 1.14201], + "78": [0, 0.68611, 0.11424, 0, 0.95034], + "79": [0, 0.68611, 0.03194, 0, 0.83666], + "80": [0, 0.68611, 0.15972, 0, 0.72309], + "81": [0.19444, 0.68611, 0, 0, 0.86861], + "82": [0, 0.68611, 0.00421, 0, 0.87235], + "83": [0, 0.68611, 0.05382, 0, 0.69271], + "84": [0, 0.68611, 0.15972, 0, 0.63663], + "85": [0, 0.68611, 0.11424, 0, 0.80027], + "86": [0, 0.68611, 0.25555, 0, 0.67778], + "87": [0, 0.68611, 0.15972, 0, 1.09305], + "88": [0, 0.68611, 0.07778, 0, 0.94722], + "89": [0, 0.68611, 0.25555, 0, 0.67458], + "90": [0, 0.68611, 0.06979, 0, 0.77257], + "97": [0, 0.44444, 0, 0, 0.63287], + "98": [0, 0.69444, 0, 0, 0.52083], + "99": [0, 0.44444, 0, 0, 0.51342], + "100": [0, 0.69444, 0, 0, 0.60972], + "101": [0, 0.44444, 0, 0, 0.55361], + "102": [0.19444, 0.69444, 0.11042, 0, 0.56806], + "103": [0.19444, 0.44444, 0.03704, 0, 0.5449], + "104": [0, 0.69444, 0, 0, 0.66759], + "105": [0, 0.69326, 0, 0, 0.4048], + "106": [0.19444, 0.69326, 0.0622, 0, 0.47083], + "107": [0, 0.69444, 0.01852, 0, 0.6037], + "108": [0, 0.69444, 0.0088, 0, 0.34815], + "109": [0, 0.44444, 0, 0, 1.0324], + "110": [0, 0.44444, 0, 0, 0.71296], + "111": [0, 0.44444, 0, 0, 0.58472], + "112": [0.19444, 0.44444, 0, 0, 0.60092], + "113": [0.19444, 0.44444, 0.03704, 0, 0.54213], + "114": [0, 0.44444, 0.03194, 0, 0.5287], + "115": [0, 0.44444, 0, 0, 0.53125], + "116": [0, 0.63492, 0, 0, 0.41528], + "117": [0, 0.44444, 0, 0, 0.68102], + "118": [0, 0.44444, 0.03704, 0, 0.56666], + "119": [0, 0.44444, 0.02778, 0, 0.83148], + "120": [0, 0.44444, 0, 0, 0.65903], + "121": [0.19444, 0.44444, 0.03704, 0, 0.59028], + "122": [0, 0.44444, 0.04213, 0, 0.55509], + "160": [0, 0, 0, 0, 0.25], + "915": [0, 0.68611, 0.15972, 0, 0.65694], + "916": [0, 0.68611, 0, 0, 0.95833], + "920": [0, 0.68611, 0.03194, 0, 0.86722], + "923": [0, 0.68611, 0, 0, 0.80555], + "926": [0, 0.68611, 0.07458, 0, 0.84125], + "928": [0, 0.68611, 0.08229, 0, 0.98229], + "931": [0, 0.68611, 0.05451, 0, 0.88507], + "933": [0, 0.68611, 0.15972, 0, 0.67083], + "934": [0, 0.68611, 0, 0, 0.76666], + "936": [0, 0.68611, 0.11653, 0, 0.71402], + "937": [0, 0.68611, 0.04835, 0, 0.8789], + "945": [0, 0.44444, 0, 0, 0.76064], + "946": [0.19444, 0.69444, 0.03403, 0, 0.65972], + "947": [0.19444, 0.44444, 0.06389, 0, 0.59003], + "948": [0, 0.69444, 0.03819, 0, 0.52222], + "949": [0, 0.44444, 0, 0, 0.52882], + "950": [0.19444, 0.69444, 0.06215, 0, 0.50833], + "951": [0.19444, 0.44444, 0.03704, 0, 0.6], + "952": [0, 0.69444, 0.03194, 0, 0.5618], + "953": [0, 0.44444, 0, 0, 0.41204], + "954": [0, 0.44444, 0, 0, 0.66759], + "955": [0, 0.69444, 0, 0, 0.67083], + "956": [0.19444, 0.44444, 0, 0, 0.70787], + "957": [0, 0.44444, 0.06898, 0, 0.57685], + "958": [0.19444, 0.69444, 0.03021, 0, 0.50833], + "959": [0, 0.44444, 0, 0, 0.58472], + "960": [0, 0.44444, 0.03704, 0, 0.68241], + "961": [0.19444, 0.44444, 0, 0, 0.6118], + "962": [0.09722, 0.44444, 0.07917, 0, 0.42361], + "963": [0, 0.44444, 0.03704, 0, 0.68588], + "964": [0, 0.44444, 0.13472, 0, 0.52083], + "965": [0, 0.44444, 0.03704, 0, 0.63055], + "966": [0.19444, 0.44444, 0, 0, 0.74722], + "967": [0.19444, 0.44444, 0, 0, 0.71805], + "968": [0.19444, 0.69444, 0.03704, 0, 0.75833], + "969": [0, 0.44444, 0.03704, 0, 0.71782], + "977": [0, 0.69444, 0, 0, 0.69155], + "981": [0.19444, 0.69444, 0, 0, 0.7125], + "982": [0, 0.44444, 0.03194, 0, 0.975], + "1009": [0.19444, 0.44444, 0, 0, 0.6118], + "1013": [0, 0.44444, 0, 0, 0.48333], + "57649": [0, 0.44444, 0, 0, 0.39352], + "57911": [0.19444, 0.44444, 0, 0, 0.43889] + }, + "Math-Italic": { + "32": [0, 0, 0, 0, 0.25], + "48": [0, 0.43056, 0, 0, 0.5], + "49": [0, 0.43056, 0, 0, 0.5], + "50": [0, 0.43056, 0, 0, 0.5], + "51": [0.19444, 0.43056, 0, 0, 0.5], + "52": [0.19444, 0.43056, 0, 0, 0.5], + "53": [0.19444, 0.43056, 0, 0, 0.5], + "54": [0, 0.64444, 0, 0, 0.5], + "55": [0.19444, 0.43056, 0, 0, 0.5], + "56": [0, 0.64444, 0, 0, 0.5], + "57": [0.19444, 0.43056, 0, 0, 0.5], + "65": [0, 0.68333, 0, 0.13889, 0.75], + "66": [0, 0.68333, 0.05017, 0.08334, 0.75851], + "67": [0, 0.68333, 0.07153, 0.08334, 0.71472], + "68": [0, 0.68333, 0.02778, 0.05556, 0.82792], + "69": [0, 0.68333, 0.05764, 0.08334, 0.7382], + "70": [0, 0.68333, 0.13889, 0.08334, 0.64306], + "71": [0, 0.68333, 0, 0.08334, 0.78625], + "72": [0, 0.68333, 0.08125, 0.05556, 0.83125], + "73": [0, 0.68333, 0.07847, 0.11111, 0.43958], + "74": [0, 0.68333, 0.09618, 0.16667, 0.55451], + "75": [0, 0.68333, 0.07153, 0.05556, 0.84931], + "76": [0, 0.68333, 0, 0.02778, 0.68056], + "77": [0, 0.68333, 0.10903, 0.08334, 0.97014], + "78": [0, 0.68333, 0.10903, 0.08334, 0.80347], + "79": [0, 0.68333, 0.02778, 0.08334, 0.76278], + "80": [0, 0.68333, 0.13889, 0.08334, 0.64201], + "81": [0.19444, 0.68333, 0, 0.08334, 0.79056], + "82": [0, 0.68333, 0.00773, 0.08334, 0.75929], + "83": [0, 0.68333, 0.05764, 0.08334, 0.6132], + "84": [0, 0.68333, 0.13889, 0.08334, 0.58438], + "85": [0, 0.68333, 0.10903, 0.02778, 0.68278], + "86": [0, 0.68333, 0.22222, 0, 0.58333], + "87": [0, 0.68333, 0.13889, 0, 0.94445], + "88": [0, 0.68333, 0.07847, 0.08334, 0.82847], + "89": [0, 0.68333, 0.22222, 0, 0.58056], + "90": [0, 0.68333, 0.07153, 0.08334, 0.68264], + "97": [0, 0.43056, 0, 0, 0.52859], + "98": [0, 0.69444, 0, 0, 0.42917], + "99": [0, 0.43056, 0, 0.05556, 0.43276], + "100": [0, 0.69444, 0, 0.16667, 0.52049], + "101": [0, 0.43056, 0, 0.05556, 0.46563], + "102": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959], + "103": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697], + "104": [0, 0.69444, 0, 0, 0.57616], + "105": [0, 0.65952, 0, 0, 0.34451], + "106": [0.19444, 0.65952, 0.05724, 0, 0.41181], + "107": [0, 0.69444, 0.03148, 0, 0.5206], + "108": [0, 0.69444, 0.01968, 0.08334, 0.29838], + "109": [0, 0.43056, 0, 0, 0.87801], + "110": [0, 0.43056, 0, 0, 0.60023], + "111": [0, 0.43056, 0, 0.05556, 0.48472], + "112": [0.19444, 0.43056, 0, 0.08334, 0.50313], + "113": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641], + "114": [0, 0.43056, 0.02778, 0.05556, 0.45116], + "115": [0, 0.43056, 0, 0.05556, 0.46875], + "116": [0, 0.61508, 0, 0.08334, 0.36111], + "117": [0, 0.43056, 0, 0.02778, 0.57246], + "118": [0, 0.43056, 0.03588, 0.02778, 0.48472], + "119": [0, 0.43056, 0.02691, 0.08334, 0.71592], + "120": [0, 0.43056, 0, 0.02778, 0.57153], + "121": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028], + "122": [0, 0.43056, 0.04398, 0.05556, 0.46505], + "160": [0, 0, 0, 0, 0.25], + "915": [0, 0.68333, 0.13889, 0.08334, 0.61528], + "916": [0, 0.68333, 0, 0.16667, 0.83334], + "920": [0, 0.68333, 0.02778, 0.08334, 0.76278], + "923": [0, 0.68333, 0, 0.16667, 0.69445], + "926": [0, 0.68333, 0.07569, 0.08334, 0.74236], + "928": [0, 0.68333, 0.08125, 0.05556, 0.83125], + "931": [0, 0.68333, 0.05764, 0.08334, 0.77986], + "933": [0, 0.68333, 0.13889, 0.05556, 0.58333], + "934": [0, 0.68333, 0, 0.08334, 0.66667], + "936": [0, 0.68333, 0.11, 0.05556, 0.61222], + "937": [0, 0.68333, 0.05017, 0.08334, 0.7724], + "945": [0, 0.43056, 0.0037, 0.02778, 0.6397], + "946": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563], + "947": [0.19444, 0.43056, 0.05556, 0, 0.51773], + "948": [0, 0.69444, 0.03785, 0.05556, 0.44444], + "949": [0, 0.43056, 0, 0.08334, 0.46632], + "950": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375], + "951": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653], + "952": [0, 0.69444, 0.02778, 0.08334, 0.46944], + "953": [0, 0.43056, 0, 0.05556, 0.35394], + "954": [0, 0.43056, 0, 0, 0.57616], + "955": [0, 0.69444, 0, 0, 0.58334], + "956": [0.19444, 0.43056, 0, 0.02778, 0.60255], + "957": [0, 0.43056, 0.06366, 0.02778, 0.49398], + "958": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375], + "959": [0, 0.43056, 0, 0.05556, 0.48472], + "960": [0, 0.43056, 0.03588, 0, 0.57003], + "961": [0.19444, 0.43056, 0, 0.08334, 0.51702], + "962": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285], + "963": [0, 0.43056, 0.03588, 0, 0.57141], + "964": [0, 0.43056, 0.1132, 0.02778, 0.43715], + "965": [0, 0.43056, 0.03588, 0.02778, 0.54028], + "966": [0.19444, 0.43056, 0, 0.08334, 0.65417], + "967": [0.19444, 0.43056, 0, 0.05556, 0.62569], + "968": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139], + "969": [0, 0.43056, 0.03588, 0, 0.62245], + "977": [0, 0.69444, 0, 0.08334, 0.59144], + "981": [0.19444, 0.69444, 0, 0.08334, 0.59583], + "982": [0, 0.43056, 0.02778, 0, 0.82813], + "1009": [0.19444, 0.43056, 0, 0.08334, 0.51702], + "1013": [0, 0.43056, 0, 0.05556, 0.4059], + "57649": [0, 0.43056, 0, 0.02778, 0.32246], + "57911": [0.19444, 0.43056, 0, 0.08334, 0.38403] + }, + "SansSerif-Bold": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.36667], + "34": [0, 0.69444, 0, 0, 0.55834], + "35": [0.19444, 0.69444, 0, 0, 0.91667], + "36": [0.05556, 0.75, 0, 0, 0.55], + "37": [0.05556, 0.75, 0, 0, 1.02912], + "38": [0, 0.69444, 0, 0, 0.83056], + "39": [0, 0.69444, 0, 0, 0.30556], + "40": [0.25, 0.75, 0, 0, 0.42778], + "41": [0.25, 0.75, 0, 0, 0.42778], + "42": [0, 0.75, 0, 0, 0.55], + "43": [0.11667, 0.61667, 0, 0, 0.85556], + "44": [0.10556, 0.13056, 0, 0, 0.30556], + "45": [0, 0.45833, 0, 0, 0.36667], + "46": [0, 0.13056, 0, 0, 0.30556], + "47": [0.25, 0.75, 0, 0, 0.55], + "48": [0, 0.69444, 0, 0, 0.55], + "49": [0, 0.69444, 0, 0, 0.55], + "50": [0, 0.69444, 0, 0, 0.55], + "51": [0, 0.69444, 0, 0, 0.55], + "52": [0, 0.69444, 0, 0, 0.55], + "53": [0, 0.69444, 0, 0, 0.55], + "54": [0, 0.69444, 0, 0, 0.55], + "55": [0, 0.69444, 0, 0, 0.55], + "56": [0, 0.69444, 0, 0, 0.55], + "57": [0, 0.69444, 0, 0, 0.55], + "58": [0, 0.45833, 0, 0, 0.30556], + "59": [0.10556, 0.45833, 0, 0, 0.30556], + "61": [-0.09375, 0.40625, 0, 0, 0.85556], + "63": [0, 0.69444, 0, 0, 0.51945], + "64": [0, 0.69444, 0, 0, 0.73334], + "65": [0, 0.69444, 0, 0, 0.73334], + "66": [0, 0.69444, 0, 0, 0.73334], + "67": [0, 0.69444, 0, 0, 0.70278], + "68": [0, 0.69444, 0, 0, 0.79445], + "69": [0, 0.69444, 0, 0, 0.64167], + "70": [0, 0.69444, 0, 0, 0.61111], + "71": [0, 0.69444, 0, 0, 0.73334], + "72": [0, 0.69444, 0, 0, 0.79445], + "73": [0, 0.69444, 0, 0, 0.33056], + "74": [0, 0.69444, 0, 0, 0.51945], + "75": [0, 0.69444, 0, 0, 0.76389], + "76": [0, 0.69444, 0, 0, 0.58056], + "77": [0, 0.69444, 0, 0, 0.97778], + "78": [0, 0.69444, 0, 0, 0.79445], + "79": [0, 0.69444, 0, 0, 0.79445], + "80": [0, 0.69444, 0, 0, 0.70278], + "81": [0.10556, 0.69444, 0, 0, 0.79445], + "82": [0, 0.69444, 0, 0, 0.70278], + "83": [0, 0.69444, 0, 0, 0.61111], + "84": [0, 0.69444, 0, 0, 0.73334], + "85": [0, 0.69444, 0, 0, 0.76389], + "86": [0, 0.69444, 0.01528, 0, 0.73334], + "87": [0, 0.69444, 0.01528, 0, 1.03889], + "88": [0, 0.69444, 0, 0, 0.73334], + "89": [0, 0.69444, 0.0275, 0, 0.73334], + "90": [0, 0.69444, 0, 0, 0.67223], + "91": [0.25, 0.75, 0, 0, 0.34306], + "93": [0.25, 0.75, 0, 0, 0.34306], + "94": [0, 0.69444, 0, 0, 0.55], + "95": [0.35, 0.10833, 0.03056, 0, 0.55], + "97": [0, 0.45833, 0, 0, 0.525], + "98": [0, 0.69444, 0, 0, 0.56111], + "99": [0, 0.45833, 0, 0, 0.48889], + "100": [0, 0.69444, 0, 0, 0.56111], + "101": [0, 0.45833, 0, 0, 0.51111], + "102": [0, 0.69444, 0.07639, 0, 0.33611], + "103": [0.19444, 0.45833, 0.01528, 0, 0.55], + "104": [0, 0.69444, 0, 0, 0.56111], + "105": [0, 0.69444, 0, 0, 0.25556], + "106": [0.19444, 0.69444, 0, 0, 0.28611], + "107": [0, 0.69444, 0, 0, 0.53056], + "108": [0, 0.69444, 0, 0, 0.25556], + "109": [0, 0.45833, 0, 0, 0.86667], + "110": [0, 0.45833, 0, 0, 0.56111], + "111": [0, 0.45833, 0, 0, 0.55], + "112": [0.19444, 0.45833, 0, 0, 0.56111], + "113": [0.19444, 0.45833, 0, 0, 0.56111], + "114": [0, 0.45833, 0.01528, 0, 0.37222], + "115": [0, 0.45833, 0, 0, 0.42167], + "116": [0, 0.58929, 0, 0, 0.40417], + "117": [0, 0.45833, 0, 0, 0.56111], + "118": [0, 0.45833, 0.01528, 0, 0.5], + "119": [0, 0.45833, 0.01528, 0, 0.74445], + "120": [0, 0.45833, 0, 0, 0.5], + "121": [0.19444, 0.45833, 0.01528, 0, 0.5], + "122": [0, 0.45833, 0, 0, 0.47639], + "126": [0.35, 0.34444, 0, 0, 0.55], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.69444, 0, 0, 0.55], + "176": [0, 0.69444, 0, 0, 0.73334], + "180": [0, 0.69444, 0, 0, 0.55], + "184": [0.17014, 0, 0, 0, 0.48889], + "305": [0, 0.45833, 0, 0, 0.25556], + "567": [0.19444, 0.45833, 0, 0, 0.28611], + "710": [0, 0.69444, 0, 0, 0.55], + "711": [0, 0.63542, 0, 0, 0.55], + "713": [0, 0.63778, 0, 0, 0.55], + "728": [0, 0.69444, 0, 0, 0.55], + "729": [0, 0.69444, 0, 0, 0.30556], + "730": [0, 0.69444, 0, 0, 0.73334], + "732": [0, 0.69444, 0, 0, 0.55], + "733": [0, 0.69444, 0, 0, 0.55], + "915": [0, 0.69444, 0, 0, 0.58056], + "916": [0, 0.69444, 0, 0, 0.91667], + "920": [0, 0.69444, 0, 0, 0.85556], + "923": [0, 0.69444, 0, 0, 0.67223], + "926": [0, 0.69444, 0, 0, 0.73334], + "928": [0, 0.69444, 0, 0, 0.79445], + "931": [0, 0.69444, 0, 0, 0.79445], + "933": [0, 0.69444, 0, 0, 0.85556], + "934": [0, 0.69444, 0, 0, 0.79445], + "936": [0, 0.69444, 0, 0, 0.85556], + "937": [0, 0.69444, 0, 0, 0.79445], + "8211": [0, 0.45833, 0.03056, 0, 0.55], + "8212": [0, 0.45833, 0.03056, 0, 1.10001], + "8216": [0, 0.69444, 0, 0, 0.30556], + "8217": [0, 0.69444, 0, 0, 0.30556], + "8220": [0, 0.69444, 0, 0, 0.55834], + "8221": [0, 0.69444, 0, 0, 0.55834] + }, + "SansSerif-Italic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.05733, 0, 0.31945], + "34": [0, 0.69444, 0.00316, 0, 0.5], + "35": [0.19444, 0.69444, 0.05087, 0, 0.83334], + "36": [0.05556, 0.75, 0.11156, 0, 0.5], + "37": [0.05556, 0.75, 0.03126, 0, 0.83334], + "38": [0, 0.69444, 0.03058, 0, 0.75834], + "39": [0, 0.69444, 0.07816, 0, 0.27778], + "40": [0.25, 0.75, 0.13164, 0, 0.38889], + "41": [0.25, 0.75, 0.02536, 0, 0.38889], + "42": [0, 0.75, 0.11775, 0, 0.5], + "43": [0.08333, 0.58333, 0.02536, 0, 0.77778], + "44": [0.125, 0.08333, 0, 0, 0.27778], + "45": [0, 0.44444, 0.01946, 0, 0.33333], + "46": [0, 0.08333, 0, 0, 0.27778], + "47": [0.25, 0.75, 0.13164, 0, 0.5], + "48": [0, 0.65556, 0.11156, 0, 0.5], + "49": [0, 0.65556, 0.11156, 0, 0.5], + "50": [0, 0.65556, 0.11156, 0, 0.5], + "51": [0, 0.65556, 0.11156, 0, 0.5], + "52": [0, 0.65556, 0.11156, 0, 0.5], + "53": [0, 0.65556, 0.11156, 0, 0.5], + "54": [0, 0.65556, 0.11156, 0, 0.5], + "55": [0, 0.65556, 0.11156, 0, 0.5], + "56": [0, 0.65556, 0.11156, 0, 0.5], + "57": [0, 0.65556, 0.11156, 0, 0.5], + "58": [0, 0.44444, 0.02502, 0, 0.27778], + "59": [0.125, 0.44444, 0.02502, 0, 0.27778], + "61": [-0.13, 0.37, 0.05087, 0, 0.77778], + "63": [0, 0.69444, 0.11809, 0, 0.47222], + "64": [0, 0.69444, 0.07555, 0, 0.66667], + "65": [0, 0.69444, 0, 0, 0.66667], + "66": [0, 0.69444, 0.08293, 0, 0.66667], + "67": [0, 0.69444, 0.11983, 0, 0.63889], + "68": [0, 0.69444, 0.07555, 0, 0.72223], + "69": [0, 0.69444, 0.11983, 0, 0.59722], + "70": [0, 0.69444, 0.13372, 0, 0.56945], + "71": [0, 0.69444, 0.11983, 0, 0.66667], + "72": [0, 0.69444, 0.08094, 0, 0.70834], + "73": [0, 0.69444, 0.13372, 0, 0.27778], + "74": [0, 0.69444, 0.08094, 0, 0.47222], + "75": [0, 0.69444, 0.11983, 0, 0.69445], + "76": [0, 0.69444, 0, 0, 0.54167], + "77": [0, 0.69444, 0.08094, 0, 0.875], + "78": [0, 0.69444, 0.08094, 0, 0.70834], + "79": [0, 0.69444, 0.07555, 0, 0.73611], + "80": [0, 0.69444, 0.08293, 0, 0.63889], + "81": [0.125, 0.69444, 0.07555, 0, 0.73611], + "82": [0, 0.69444, 0.08293, 0, 0.64584], + "83": [0, 0.69444, 0.09205, 0, 0.55556], + "84": [0, 0.69444, 0.13372, 0, 0.68056], + "85": [0, 0.69444, 0.08094, 0, 0.6875], + "86": [0, 0.69444, 0.1615, 0, 0.66667], + "87": [0, 0.69444, 0.1615, 0, 0.94445], + "88": [0, 0.69444, 0.13372, 0, 0.66667], + "89": [0, 0.69444, 0.17261, 0, 0.66667], + "90": [0, 0.69444, 0.11983, 0, 0.61111], + "91": [0.25, 0.75, 0.15942, 0, 0.28889], + "93": [0.25, 0.75, 0.08719, 0, 0.28889], + "94": [0, 0.69444, 0.0799, 0, 0.5], + "95": [0.35, 0.09444, 0.08616, 0, 0.5], + "97": [0, 0.44444, 0.00981, 0, 0.48056], + "98": [0, 0.69444, 0.03057, 0, 0.51667], + "99": [0, 0.44444, 0.08336, 0, 0.44445], + "100": [0, 0.69444, 0.09483, 0, 0.51667], + "101": [0, 0.44444, 0.06778, 0, 0.44445], + "102": [0, 0.69444, 0.21705, 0, 0.30556], + "103": [0.19444, 0.44444, 0.10836, 0, 0.5], + "104": [0, 0.69444, 0.01778, 0, 0.51667], + "105": [0, 0.67937, 0.09718, 0, 0.23889], + "106": [0.19444, 0.67937, 0.09162, 0, 0.26667], + "107": [0, 0.69444, 0.08336, 0, 0.48889], + "108": [0, 0.69444, 0.09483, 0, 0.23889], + "109": [0, 0.44444, 0.01778, 0, 0.79445], + "110": [0, 0.44444, 0.01778, 0, 0.51667], + "111": [0, 0.44444, 0.06613, 0, 0.5], + "112": [0.19444, 0.44444, 0.0389, 0, 0.51667], + "113": [0.19444, 0.44444, 0.04169, 0, 0.51667], + "114": [0, 0.44444, 0.10836, 0, 0.34167], + "115": [0, 0.44444, 0.0778, 0, 0.38333], + "116": [0, 0.57143, 0.07225, 0, 0.36111], + "117": [0, 0.44444, 0.04169, 0, 0.51667], + "118": [0, 0.44444, 0.10836, 0, 0.46111], + "119": [0, 0.44444, 0.10836, 0, 0.68334], + "120": [0, 0.44444, 0.09169, 0, 0.46111], + "121": [0.19444, 0.44444, 0.10836, 0, 0.46111], + "122": [0, 0.44444, 0.08752, 0, 0.43472], + "126": [0.35, 0.32659, 0.08826, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.67937, 0.06385, 0, 0.5], + "176": [0, 0.69444, 0, 0, 0.73752], + "184": [0.17014, 0, 0, 0, 0.44445], + "305": [0, 0.44444, 0.04169, 0, 0.23889], + "567": [0.19444, 0.44444, 0.04169, 0, 0.26667], + "710": [0, 0.69444, 0.0799, 0, 0.5], + "711": [0, 0.63194, 0.08432, 0, 0.5], + "713": [0, 0.60889, 0.08776, 0, 0.5], + "714": [0, 0.69444, 0.09205, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0.09483, 0, 0.5], + "729": [0, 0.67937, 0.07774, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.73752], + "732": [0, 0.67659, 0.08826, 0, 0.5], + "733": [0, 0.69444, 0.09205, 0, 0.5], + "915": [0, 0.69444, 0.13372, 0, 0.54167], + "916": [0, 0.69444, 0, 0, 0.83334], + "920": [0, 0.69444, 0.07555, 0, 0.77778], + "923": [0, 0.69444, 0, 0, 0.61111], + "926": [0, 0.69444, 0.12816, 0, 0.66667], + "928": [0, 0.69444, 0.08094, 0, 0.70834], + "931": [0, 0.69444, 0.11983, 0, 0.72222], + "933": [0, 0.69444, 0.09031, 0, 0.77778], + "934": [0, 0.69444, 0.04603, 0, 0.72222], + "936": [0, 0.69444, 0.09031, 0, 0.77778], + "937": [0, 0.69444, 0.08293, 0, 0.72222], + "8211": [0, 0.44444, 0.08616, 0, 0.5], + "8212": [0, 0.44444, 0.08616, 0, 1.0], + "8216": [0, 0.69444, 0.07816, 0, 0.27778], + "8217": [0, 0.69444, 0.07816, 0, 0.27778], + "8220": [0, 0.69444, 0.14205, 0, 0.5], + "8221": [0, 0.69444, 0.00316, 0, 0.5] + }, + "SansSerif-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.31945], + "34": [0, 0.69444, 0, 0, 0.5], + "35": [0.19444, 0.69444, 0, 0, 0.83334], + "36": [0.05556, 0.75, 0, 0, 0.5], + "37": [0.05556, 0.75, 0, 0, 0.83334], + "38": [0, 0.69444, 0, 0, 0.75834], + "39": [0, 0.69444, 0, 0, 0.27778], + "40": [0.25, 0.75, 0, 0, 0.38889], + "41": [0.25, 0.75, 0, 0, 0.38889], + "42": [0, 0.75, 0, 0, 0.5], + "43": [0.08333, 0.58333, 0, 0, 0.77778], + "44": [0.125, 0.08333, 0, 0, 0.27778], + "45": [0, 0.44444, 0, 0, 0.33333], + "46": [0, 0.08333, 0, 0, 0.27778], + "47": [0.25, 0.75, 0, 0, 0.5], + "48": [0, 0.65556, 0, 0, 0.5], + "49": [0, 0.65556, 0, 0, 0.5], + "50": [0, 0.65556, 0, 0, 0.5], + "51": [0, 0.65556, 0, 0, 0.5], + "52": [0, 0.65556, 0, 0, 0.5], + "53": [0, 0.65556, 0, 0, 0.5], + "54": [0, 0.65556, 0, 0, 0.5], + "55": [0, 0.65556, 0, 0, 0.5], + "56": [0, 0.65556, 0, 0, 0.5], + "57": [0, 0.65556, 0, 0, 0.5], + "58": [0, 0.44444, 0, 0, 0.27778], + "59": [0.125, 0.44444, 0, 0, 0.27778], + "61": [-0.13, 0.37, 0, 0, 0.77778], + "63": [0, 0.69444, 0, 0, 0.47222], + "64": [0, 0.69444, 0, 0, 0.66667], + "65": [0, 0.69444, 0, 0, 0.66667], + "66": [0, 0.69444, 0, 0, 0.66667], + "67": [0, 0.69444, 0, 0, 0.63889], + "68": [0, 0.69444, 0, 0, 0.72223], + "69": [0, 0.69444, 0, 0, 0.59722], + "70": [0, 0.69444, 0, 0, 0.56945], + "71": [0, 0.69444, 0, 0, 0.66667], + "72": [0, 0.69444, 0, 0, 0.70834], + "73": [0, 0.69444, 0, 0, 0.27778], + "74": [0, 0.69444, 0, 0, 0.47222], + "75": [0, 0.69444, 0, 0, 0.69445], + "76": [0, 0.69444, 0, 0, 0.54167], + "77": [0, 0.69444, 0, 0, 0.875], + "78": [0, 0.69444, 0, 0, 0.70834], + "79": [0, 0.69444, 0, 0, 0.73611], + "80": [0, 0.69444, 0, 0, 0.63889], + "81": [0.125, 0.69444, 0, 0, 0.73611], + "82": [0, 0.69444, 0, 0, 0.64584], + "83": [0, 0.69444, 0, 0, 0.55556], + "84": [0, 0.69444, 0, 0, 0.68056], + "85": [0, 0.69444, 0, 0, 0.6875], + "86": [0, 0.69444, 0.01389, 0, 0.66667], + "87": [0, 0.69444, 0.01389, 0, 0.94445], + "88": [0, 0.69444, 0, 0, 0.66667], + "89": [0, 0.69444, 0.025, 0, 0.66667], + "90": [0, 0.69444, 0, 0, 0.61111], + "91": [0.25, 0.75, 0, 0, 0.28889], + "93": [0.25, 0.75, 0, 0, 0.28889], + "94": [0, 0.69444, 0, 0, 0.5], + "95": [0.35, 0.09444, 0.02778, 0, 0.5], + "97": [0, 0.44444, 0, 0, 0.48056], + "98": [0, 0.69444, 0, 0, 0.51667], + "99": [0, 0.44444, 0, 0, 0.44445], + "100": [0, 0.69444, 0, 0, 0.51667], + "101": [0, 0.44444, 0, 0, 0.44445], + "102": [0, 0.69444, 0.06944, 0, 0.30556], + "103": [0.19444, 0.44444, 0.01389, 0, 0.5], + "104": [0, 0.69444, 0, 0, 0.51667], + "105": [0, 0.67937, 0, 0, 0.23889], + "106": [0.19444, 0.67937, 0, 0, 0.26667], + "107": [0, 0.69444, 0, 0, 0.48889], + "108": [0, 0.69444, 0, 0, 0.23889], + "109": [0, 0.44444, 0, 0, 0.79445], + "110": [0, 0.44444, 0, 0, 0.51667], + "111": [0, 0.44444, 0, 0, 0.5], + "112": [0.19444, 0.44444, 0, 0, 0.51667], + "113": [0.19444, 0.44444, 0, 0, 0.51667], + "114": [0, 0.44444, 0.01389, 0, 0.34167], + "115": [0, 0.44444, 0, 0, 0.38333], + "116": [0, 0.57143, 0, 0, 0.36111], + "117": [0, 0.44444, 0, 0, 0.51667], + "118": [0, 0.44444, 0.01389, 0, 0.46111], + "119": [0, 0.44444, 0.01389, 0, 0.68334], + "120": [0, 0.44444, 0, 0, 0.46111], + "121": [0.19444, 0.44444, 0.01389, 0, 0.46111], + "122": [0, 0.44444, 0, 0, 0.43472], + "126": [0.35, 0.32659, 0, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.67937, 0, 0, 0.5], + "176": [0, 0.69444, 0, 0, 0.66667], + "184": [0.17014, 0, 0, 0, 0.44445], + "305": [0, 0.44444, 0, 0, 0.23889], + "567": [0.19444, 0.44444, 0, 0, 0.26667], + "710": [0, 0.69444, 0, 0, 0.5], + "711": [0, 0.63194, 0, 0, 0.5], + "713": [0, 0.60889, 0, 0, 0.5], + "714": [0, 0.69444, 0, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0, 0, 0.5], + "729": [0, 0.67937, 0, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.66667], + "732": [0, 0.67659, 0, 0, 0.5], + "733": [0, 0.69444, 0, 0, 0.5], + "915": [0, 0.69444, 0, 0, 0.54167], + "916": [0, 0.69444, 0, 0, 0.83334], + "920": [0, 0.69444, 0, 0, 0.77778], + "923": [0, 0.69444, 0, 0, 0.61111], + "926": [0, 0.69444, 0, 0, 0.66667], + "928": [0, 0.69444, 0, 0, 0.70834], + "931": [0, 0.69444, 0, 0, 0.72222], + "933": [0, 0.69444, 0, 0, 0.77778], + "934": [0, 0.69444, 0, 0, 0.72222], + "936": [0, 0.69444, 0, 0, 0.77778], + "937": [0, 0.69444, 0, 0, 0.72222], + "8211": [0, 0.44444, 0.02778, 0, 0.5], + "8212": [0, 0.44444, 0.02778, 0, 1.0], + "8216": [0, 0.69444, 0, 0, 0.27778], + "8217": [0, 0.69444, 0, 0, 0.27778], + "8220": [0, 0.69444, 0, 0, 0.5], + "8221": [0, 0.69444, 0, 0, 0.5] + }, + "Script-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.7, 0.22925, 0, 0.80253], + "66": [0, 0.7, 0.04087, 0, 0.90757], + "67": [0, 0.7, 0.1689, 0, 0.66619], + "68": [0, 0.7, 0.09371, 0, 0.77443], + "69": [0, 0.7, 0.18583, 0, 0.56162], + "70": [0, 0.7, 0.13634, 0, 0.89544], + "71": [0, 0.7, 0.17322, 0, 0.60961], + "72": [0, 0.7, 0.29694, 0, 0.96919], + "73": [0, 0.7, 0.19189, 0, 0.80907], + "74": [0.27778, 0.7, 0.19189, 0, 1.05159], + "75": [0, 0.7, 0.31259, 0, 0.91364], + "76": [0, 0.7, 0.19189, 0, 0.87373], + "77": [0, 0.7, 0.15981, 0, 1.08031], + "78": [0, 0.7, 0.3525, 0, 0.9015], + "79": [0, 0.7, 0.08078, 0, 0.73787], + "80": [0, 0.7, 0.08078, 0, 1.01262], + "81": [0, 0.7, 0.03305, 0, 0.88282], + "82": [0, 0.7, 0.06259, 0, 0.85], + "83": [0, 0.7, 0.19189, 0, 0.86767], + "84": [0, 0.7, 0.29087, 0, 0.74697], + "85": [0, 0.7, 0.25815, 0, 0.79996], + "86": [0, 0.7, 0.27523, 0, 0.62204], + "87": [0, 0.7, 0.27523, 0, 0.80532], + "88": [0, 0.7, 0.26006, 0, 0.94445], + "89": [0, 0.7, 0.2939, 0, 0.70961], + "90": [0, 0.7, 0.24037, 0, 0.8212], + "160": [0, 0, 0, 0, 0.25] + }, + "Size1-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.35001, 0.85, 0, 0, 0.45834], + "41": [0.35001, 0.85, 0, 0, 0.45834], + "47": [0.35001, 0.85, 0, 0, 0.57778], + "91": [0.35001, 0.85, 0, 0, 0.41667], + "92": [0.35001, 0.85, 0, 0, 0.57778], + "93": [0.35001, 0.85, 0, 0, 0.41667], + "123": [0.35001, 0.85, 0, 0, 0.58334], + "125": [0.35001, 0.85, 0, 0, 0.58334], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.72222, 0, 0, 0.55556], + "732": [0, 0.72222, 0, 0, 0.55556], + "770": [0, 0.72222, 0, 0, 0.55556], + "771": [0, 0.72222, 0, 0, 0.55556], + "8214": [-0.00099, 0.601, 0, 0, 0.77778], + "8593": [1e-05, 0.6, 0, 0, 0.66667], + "8595": [1e-05, 0.6, 0, 0, 0.66667], + "8657": [1e-05, 0.6, 0, 0, 0.77778], + "8659": [1e-05, 0.6, 0, 0, 0.77778], + "8719": [0.25001, 0.75, 0, 0, 0.94445], + "8720": [0.25001, 0.75, 0, 0, 0.94445], + "8721": [0.25001, 0.75, 0, 0, 1.05556], + "8730": [0.35001, 0.85, 0, 0, 1.0], + "8739": [-0.00599, 0.606, 0, 0, 0.33333], + "8741": [-0.00599, 0.606, 0, 0, 0.55556], + "8747": [0.30612, 0.805, 0.19445, 0, 0.47222], + "8748": [0.306, 0.805, 0.19445, 0, 0.47222], + "8749": [0.306, 0.805, 0.19445, 0, 0.47222], + "8750": [0.30612, 0.805, 0.19445, 0, 0.47222], + "8896": [0.25001, 0.75, 0, 0, 0.83334], + "8897": [0.25001, 0.75, 0, 0, 0.83334], + "8898": [0.25001, 0.75, 0, 0, 0.83334], + "8899": [0.25001, 0.75, 0, 0, 0.83334], + "8968": [0.35001, 0.85, 0, 0, 0.47222], + "8969": [0.35001, 0.85, 0, 0, 0.47222], + "8970": [0.35001, 0.85, 0, 0, 0.47222], + "8971": [0.35001, 0.85, 0, 0, 0.47222], + "9168": [-0.00099, 0.601, 0, 0, 0.66667], + "10216": [0.35001, 0.85, 0, 0, 0.47222], + "10217": [0.35001, 0.85, 0, 0, 0.47222], + "10752": [0.25001, 0.75, 0, 0, 1.11111], + "10753": [0.25001, 0.75, 0, 0, 1.11111], + "10754": [0.25001, 0.75, 0, 0, 1.11111], + "10756": [0.25001, 0.75, 0, 0, 0.83334], + "10758": [0.25001, 0.75, 0, 0, 0.83334] + }, + "Size2-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.65002, 1.15, 0, 0, 0.59722], + "41": [0.65002, 1.15, 0, 0, 0.59722], + "47": [0.65002, 1.15, 0, 0, 0.81111], + "91": [0.65002, 1.15, 0, 0, 0.47222], + "92": [0.65002, 1.15, 0, 0, 0.81111], + "93": [0.65002, 1.15, 0, 0, 0.47222], + "123": [0.65002, 1.15, 0, 0, 0.66667], + "125": [0.65002, 1.15, 0, 0, 0.66667], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.75, 0, 0, 1.0], + "732": [0, 0.75, 0, 0, 1.0], + "770": [0, 0.75, 0, 0, 1.0], + "771": [0, 0.75, 0, 0, 1.0], + "8719": [0.55001, 1.05, 0, 0, 1.27778], + "8720": [0.55001, 1.05, 0, 0, 1.27778], + "8721": [0.55001, 1.05, 0, 0, 1.44445], + "8730": [0.65002, 1.15, 0, 0, 1.0], + "8747": [0.86225, 1.36, 0.44445, 0, 0.55556], + "8748": [0.862, 1.36, 0.44445, 0, 0.55556], + "8749": [0.862, 1.36, 0.44445, 0, 0.55556], + "8750": [0.86225, 1.36, 0.44445, 0, 0.55556], + "8896": [0.55001, 1.05, 0, 0, 1.11111], + "8897": [0.55001, 1.05, 0, 0, 1.11111], + "8898": [0.55001, 1.05, 0, 0, 1.11111], + "8899": [0.55001, 1.05, 0, 0, 1.11111], + "8968": [0.65002, 1.15, 0, 0, 0.52778], + "8969": [0.65002, 1.15, 0, 0, 0.52778], + "8970": [0.65002, 1.15, 0, 0, 0.52778], + "8971": [0.65002, 1.15, 0, 0, 0.52778], + "10216": [0.65002, 1.15, 0, 0, 0.61111], + "10217": [0.65002, 1.15, 0, 0, 0.61111], + "10752": [0.55001, 1.05, 0, 0, 1.51112], + "10753": [0.55001, 1.05, 0, 0, 1.51112], + "10754": [0.55001, 1.05, 0, 0, 1.51112], + "10756": [0.55001, 1.05, 0, 0, 1.11111], + "10758": [0.55001, 1.05, 0, 0, 1.11111] + }, + "Size3-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.95003, 1.45, 0, 0, 0.73611], + "41": [0.95003, 1.45, 0, 0, 0.73611], + "47": [0.95003, 1.45, 0, 0, 1.04445], + "91": [0.95003, 1.45, 0, 0, 0.52778], + "92": [0.95003, 1.45, 0, 0, 1.04445], + "93": [0.95003, 1.45, 0, 0, 0.52778], + "123": [0.95003, 1.45, 0, 0, 0.75], + "125": [0.95003, 1.45, 0, 0, 0.75], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.75, 0, 0, 1.44445], + "732": [0, 0.75, 0, 0, 1.44445], + "770": [0, 0.75, 0, 0, 1.44445], + "771": [0, 0.75, 0, 0, 1.44445], + "8730": [0.95003, 1.45, 0, 0, 1.0], + "8968": [0.95003, 1.45, 0, 0, 0.58334], + "8969": [0.95003, 1.45, 0, 0, 0.58334], + "8970": [0.95003, 1.45, 0, 0, 0.58334], + "8971": [0.95003, 1.45, 0, 0, 0.58334], + "10216": [0.95003, 1.45, 0, 0, 0.75], + "10217": [0.95003, 1.45, 0, 0, 0.75] + }, + "Size4-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [1.25003, 1.75, 0, 0, 0.79167], + "41": [1.25003, 1.75, 0, 0, 0.79167], + "47": [1.25003, 1.75, 0, 0, 1.27778], + "91": [1.25003, 1.75, 0, 0, 0.58334], + "92": [1.25003, 1.75, 0, 0, 1.27778], + "93": [1.25003, 1.75, 0, 0, 0.58334], + "123": [1.25003, 1.75, 0, 0, 0.80556], + "125": [1.25003, 1.75, 0, 0, 0.80556], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.825, 0, 0, 1.8889], + "732": [0, 0.825, 0, 0, 1.8889], + "770": [0, 0.825, 0, 0, 1.8889], + "771": [0, 0.825, 0, 0, 1.8889], + "8730": [1.25003, 1.75, 0, 0, 1.0], + "8968": [1.25003, 1.75, 0, 0, 0.63889], + "8969": [1.25003, 1.75, 0, 0, 0.63889], + "8970": [1.25003, 1.75, 0, 0, 0.63889], + "8971": [1.25003, 1.75, 0, 0, 0.63889], + "9115": [0.64502, 1.155, 0, 0, 0.875], + "9116": [1e-05, 0.6, 0, 0, 0.875], + "9117": [0.64502, 1.155, 0, 0, 0.875], + "9118": [0.64502, 1.155, 0, 0, 0.875], + "9119": [1e-05, 0.6, 0, 0, 0.875], + "9120": [0.64502, 1.155, 0, 0, 0.875], + "9121": [0.64502, 1.155, 0, 0, 0.66667], + "9122": [-0.00099, 0.601, 0, 0, 0.66667], + "9123": [0.64502, 1.155, 0, 0, 0.66667], + "9124": [0.64502, 1.155, 0, 0, 0.66667], + "9125": [-0.00099, 0.601, 0, 0, 0.66667], + "9126": [0.64502, 1.155, 0, 0, 0.66667], + "9127": [1e-05, 0.9, 0, 0, 0.88889], + "9128": [0.65002, 1.15, 0, 0, 0.88889], + "9129": [0.90001, 0, 0, 0, 0.88889], + "9130": [0, 0.3, 0, 0, 0.88889], + "9131": [1e-05, 0.9, 0, 0, 0.88889], + "9132": [0.65002, 1.15, 0, 0, 0.88889], + "9133": [0.90001, 0, 0, 0, 0.88889], + "9143": [0.88502, 0.915, 0, 0, 1.05556], + "10216": [1.25003, 1.75, 0, 0, 0.80556], + "10217": [1.25003, 1.75, 0, 0, 0.80556], + "57344": [-0.00499, 0.605, 0, 0, 1.05556], + "57345": [-0.00499, 0.605, 0, 0, 1.05556], + "57680": [0, 0.12, 0, 0, 0.45], + "57681": [0, 0.12, 0, 0, 0.45], + "57682": [0, 0.12, 0, 0, 0.45], + "57683": [0, 0.12, 0, 0, 0.45] + }, + "Typewriter-Regular": { + "32": [0, 0, 0, 0, 0.525], + "33": [0, 0.61111, 0, 0, 0.525], + "34": [0, 0.61111, 0, 0, 0.525], + "35": [0, 0.61111, 0, 0, 0.525], + "36": [0.08333, 0.69444, 0, 0, 0.525], + "37": [0.08333, 0.69444, 0, 0, 0.525], + "38": [0, 0.61111, 0, 0, 0.525], + "39": [0, 0.61111, 0, 0, 0.525], + "40": [0.08333, 0.69444, 0, 0, 0.525], + "41": [0.08333, 0.69444, 0, 0, 0.525], + "42": [0, 0.52083, 0, 0, 0.525], + "43": [-0.08056, 0.53055, 0, 0, 0.525], + "44": [0.13889, 0.125, 0, 0, 0.525], + "45": [-0.08056, 0.53055, 0, 0, 0.525], + "46": [0, 0.125, 0, 0, 0.525], + "47": [0.08333, 0.69444, 0, 0, 0.525], + "48": [0, 0.61111, 0, 0, 0.525], + "49": [0, 0.61111, 0, 0, 0.525], + "50": [0, 0.61111, 0, 0, 0.525], + "51": [0, 0.61111, 0, 0, 0.525], + "52": [0, 0.61111, 0, 0, 0.525], + "53": [0, 0.61111, 0, 0, 0.525], + "54": [0, 0.61111, 0, 0, 0.525], + "55": [0, 0.61111, 0, 0, 0.525], + "56": [0, 0.61111, 0, 0, 0.525], + "57": [0, 0.61111, 0, 0, 0.525], + "58": [0, 0.43056, 0, 0, 0.525], + "59": [0.13889, 0.43056, 0, 0, 0.525], + "60": [-0.05556, 0.55556, 0, 0, 0.525], + "61": [-0.19549, 0.41562, 0, 0, 0.525], + "62": [-0.05556, 0.55556, 0, 0, 0.525], + "63": [0, 0.61111, 0, 0, 0.525], + "64": [0, 0.61111, 0, 0, 0.525], + "65": [0, 0.61111, 0, 0, 0.525], + "66": [0, 0.61111, 0, 0, 0.525], + "67": [0, 0.61111, 0, 0, 0.525], + "68": [0, 0.61111, 0, 0, 0.525], + "69": [0, 0.61111, 0, 0, 0.525], + "70": [0, 0.61111, 0, 0, 0.525], + "71": [0, 0.61111, 0, 0, 0.525], + "72": [0, 0.61111, 0, 0, 0.525], + "73": [0, 0.61111, 0, 0, 0.525], + "74": [0, 0.61111, 0, 0, 0.525], + "75": [0, 0.61111, 0, 0, 0.525], + "76": [0, 0.61111, 0, 0, 0.525], + "77": [0, 0.61111, 0, 0, 0.525], + "78": [0, 0.61111, 0, 0, 0.525], + "79": [0, 0.61111, 0, 0, 0.525], + "80": [0, 0.61111, 0, 0, 0.525], + "81": [0.13889, 0.61111, 0, 0, 0.525], + "82": [0, 0.61111, 0, 0, 0.525], + "83": [0, 0.61111, 0, 0, 0.525], + "84": [0, 0.61111, 0, 0, 0.525], + "85": [0, 0.61111, 0, 0, 0.525], + "86": [0, 0.61111, 0, 0, 0.525], + "87": [0, 0.61111, 0, 0, 0.525], + "88": [0, 0.61111, 0, 0, 0.525], + "89": [0, 0.61111, 0, 0, 0.525], + "90": [0, 0.61111, 0, 0, 0.525], + "91": [0.08333, 0.69444, 0, 0, 0.525], + "92": [0.08333, 0.69444, 0, 0, 0.525], + "93": [0.08333, 0.69444, 0, 0, 0.525], + "94": [0, 0.61111, 0, 0, 0.525], + "95": [0.09514, 0, 0, 0, 0.525], + "96": [0, 0.61111, 0, 0, 0.525], + "97": [0, 0.43056, 0, 0, 0.525], + "98": [0, 0.61111, 0, 0, 0.525], + "99": [0, 0.43056, 0, 0, 0.525], + "100": [0, 0.61111, 0, 0, 0.525], + "101": [0, 0.43056, 0, 0, 0.525], + "102": [0, 0.61111, 0, 0, 0.525], + "103": [0.22222, 0.43056, 0, 0, 0.525], + "104": [0, 0.61111, 0, 0, 0.525], + "105": [0, 0.61111, 0, 0, 0.525], + "106": [0.22222, 0.61111, 0, 0, 0.525], + "107": [0, 0.61111, 0, 0, 0.525], + "108": [0, 0.61111, 0, 0, 0.525], + "109": [0, 0.43056, 0, 0, 0.525], + "110": [0, 0.43056, 0, 0, 0.525], + "111": [0, 0.43056, 0, 0, 0.525], + "112": [0.22222, 0.43056, 0, 0, 0.525], + "113": [0.22222, 0.43056, 0, 0, 0.525], + "114": [0, 0.43056, 0, 0, 0.525], + "115": [0, 0.43056, 0, 0, 0.525], + "116": [0, 0.55358, 0, 0, 0.525], + "117": [0, 0.43056, 0, 0, 0.525], + "118": [0, 0.43056, 0, 0, 0.525], + "119": [0, 0.43056, 0, 0, 0.525], + "120": [0, 0.43056, 0, 0, 0.525], + "121": [0.22222, 0.43056, 0, 0, 0.525], + "122": [0, 0.43056, 0, 0, 0.525], + "123": [0.08333, 0.69444, 0, 0, 0.525], + "124": [0.08333, 0.69444, 0, 0, 0.525], + "125": [0.08333, 0.69444, 0, 0, 0.525], + "126": [0, 0.61111, 0, 0, 0.525], + "127": [0, 0.61111, 0, 0, 0.525], + "160": [0, 0, 0, 0, 0.525], + "176": [0, 0.61111, 0, 0, 0.525], + "184": [0.19445, 0, 0, 0, 0.525], + "305": [0, 0.43056, 0, 0, 0.525], + "567": [0.22222, 0.43056, 0, 0, 0.525], + "711": [0, 0.56597, 0, 0, 0.525], + "713": [0, 0.56555, 0, 0, 0.525], + "714": [0, 0.61111, 0, 0, 0.525], + "715": [0, 0.61111, 0, 0, 0.525], + "728": [0, 0.61111, 0, 0, 0.525], + "730": [0, 0.61111, 0, 0, 0.525], + "770": [0, 0.61111, 0, 0, 0.525], + "771": [0, 0.61111, 0, 0, 0.525], + "776": [0, 0.61111, 0, 0, 0.525], + "915": [0, 0.61111, 0, 0, 0.525], + "916": [0, 0.61111, 0, 0, 0.525], + "920": [0, 0.61111, 0, 0, 0.525], + "923": [0, 0.61111, 0, 0, 0.525], + "926": [0, 0.61111, 0, 0, 0.525], + "928": [0, 0.61111, 0, 0, 0.525], + "931": [0, 0.61111, 0, 0, 0.525], + "933": [0, 0.61111, 0, 0, 0.525], + "934": [0, 0.61111, 0, 0, 0.525], + "936": [0, 0.61111, 0, 0, 0.525], + "937": [0, 0.61111, 0, 0, 0.525], + "8216": [0, 0.61111, 0, 0, 0.525], + "8217": [0, 0.61111, 0, 0, 0.525], + "8242": [0, 0.61111, 0, 0, 0.525], + "9251": [0.11111, 0.21944, 0, 0, 0.525] + } +}; + +/** + * This file contains metrics regarding fonts and individual symbols. The sigma + * and xi variables, as well as the metricMap map contain data extracted from + * TeX, TeX font metrics, and the TTF files. These data are then exposed via the + * `metrics` variable and the getCharacterMetrics function. + */ +// In TeX, there are actually three sets of dimensions, one for each of +// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4: +// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are +// provided in the the arrays below, in that order. +// +// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respsectively. +// This was determined by running the following script: +// +// latex -interaction=nonstopmode \ +// '\documentclass{article}\usepackage{amsmath}\begin{document}' \ +// '$a$ \expandafter\show\the\textfont2' \ +// '\expandafter\show\the\scriptfont2' \ +// '\expandafter\show\the\scriptscriptfont2' \ +// '\stop' +// +// The metrics themselves were retreived using the following commands: +// +// tftopl cmsy10 +// tftopl cmsy7 +// tftopl cmsy5 +// +// The output of each of these commands is quite lengthy. The only part we +// care about is the FONTDIMEN section. Each value is measured in EMs. +const sigmasAndXis = { + slant: [0.250, 0.250, 0.250], + // sigma1 + space: [0.000, 0.000, 0.000], + // sigma2 + stretch: [0.000, 0.000, 0.000], + // sigma3 + shrink: [0.000, 0.000, 0.000], + // sigma4 + xHeight: [0.431, 0.431, 0.431], + // sigma5 + quad: [1.000, 1.171, 1.472], + // sigma6 + extraSpace: [0.000, 0.000, 0.000], + // sigma7 + num1: [0.677, 0.732, 0.925], + // sigma8 + num2: [0.394, 0.384, 0.387], + // sigma9 + num3: [0.444, 0.471, 0.504], + // sigma10 + denom1: [0.686, 0.752, 1.025], + // sigma11 + denom2: [0.345, 0.344, 0.532], + // sigma12 + sup1: [0.413, 0.503, 0.504], + // sigma13 + sup2: [0.363, 0.431, 0.404], + // sigma14 + sup3: [0.289, 0.286, 0.294], + // sigma15 + sub1: [0.150, 0.143, 0.200], + // sigma16 + sub2: [0.247, 0.286, 0.400], + // sigma17 + supDrop: [0.386, 0.353, 0.494], + // sigma18 + subDrop: [0.050, 0.071, 0.100], + // sigma19 + delim1: [2.390, 1.700, 1.980], + // sigma20 + delim2: [1.010, 1.157, 1.420], + // sigma21 + axisHeight: [0.250, 0.250, 0.250], + // sigma22 + // These font metrics are extracted from TeX by using tftopl on cmex10.tfm; + // they correspond to the font parameters of the extension fonts (family 3). + // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to + // match cmex7, we'd use cmex7.tfm values for script and scriptscript + // values. + defaultRuleThickness: [0.04, 0.049, 0.049], + // xi8; cmex7: 0.049 + bigOpSpacing1: [0.111, 0.111, 0.111], + // xi9 + bigOpSpacing2: [0.166, 0.166, 0.166], + // xi10 + bigOpSpacing3: [0.2, 0.2, 0.2], + // xi11 + bigOpSpacing4: [0.6, 0.611, 0.611], + // xi12; cmex7: 0.611 + bigOpSpacing5: [0.1, 0.143, 0.143], + // xi13; cmex7: 0.143 + // The \sqrt rule width is taken from the height of the surd character. + // Since we use the same font at all sizes, this thickness doesn't scale. + sqrtRuleThickness: [0.04, 0.04, 0.04], + // This value determines how large a pt is, for metrics which are defined + // in terms of pts. + // This value is also used in katex.less; if you change it make sure the + // values match. + ptPerEm: [10.0, 10.0, 10.0], + // The space between adjacent `|` columns in an array definition. From + // `\showthe\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm. + doubleRuleSep: [0.2, 0.2, 0.2], + // The width of separator lines in {array} environments. From + // `\showthe\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm. + arrayRuleWidth: [0.04, 0.04, 0.04], + // Two values from LaTeX source2e: + fboxsep: [0.3, 0.3, 0.3], + // 3 pt / ptPerEm + fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm + +}; // This map contains a mapping from font name and character code to character +// should have Latin-1 and Cyrillic characters, but may not depending on the +// operating system. The metrics do not account for extra height from the +// accents. In the case of Cyrillic characters which have both ascenders and +// descenders we prefer approximations with ascenders, primarily to prevent +// the fraction bar or root line from intersecting the glyph. +// TODO(kevinb) allow union of multiple glyph metrics for better accuracy. + +const extraCharacterMap = { + // Latin-1 + 'Å': 'A', + 'Ç': 'C', + 'Ð': 'D', + 'Þ': 'o', + 'å': 'a', + 'ç': 'c', + 'ð': 'd', + 'þ': 'o', + // Cyrillic + 'А': 'A', + 'Б': 'B', + 'В': 'B', + 'Г': 'F', + 'Д': 'A', + 'Е': 'E', + 'Ж': 'K', + 'З': '3', + 'И': 'N', + 'Й': 'N', + 'К': 'K', + 'Л': 'N', + 'М': 'M', + 'Н': 'H', + 'О': 'O', + 'П': 'N', + 'Р': 'P', + 'С': 'C', + 'Т': 'T', + 'У': 'y', + 'Ф': 'O', + 'Х': 'X', + 'Ц': 'U', + 'Ч': 'h', + 'Ш': 'W', + 'Щ': 'W', + 'Ъ': 'B', + 'Ы': 'X', + 'Ь': 'B', + 'Э': '3', + 'Ю': 'X', + 'Я': 'R', + 'а': 'a', + 'б': 'b', + 'в': 'a', + 'г': 'r', + 'д': 'y', + 'е': 'e', + 'ж': 'm', + 'з': 'e', + 'и': 'n', + 'й': 'n', + 'к': 'n', + 'л': 'n', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'n', + 'р': 'p', + 'с': 'c', + 'т': 'o', + 'у': 'y', + 'ф': 'b', + 'х': 'x', + 'ц': 'n', + 'ч': 'n', + 'ш': 'w', + 'щ': 'w', + 'ъ': 'a', + 'ы': 'm', + 'ь': 'a', + 'э': 'e', + 'ю': 'm', + 'я': 'r' +}; + +/** + * This function adds new font metrics to default metricMap + * It can also override existing metrics + */ +function setFontMetrics(fontName, metrics) { + metricMap[fontName] = metrics; +} +/** + * This function is a convenience function for looking up information in the + * metricMap table. It takes a character as a string, and a font. + * + * Note: the `width` property may be undefined if fontMetricsData.js wasn't + * built using `Make extended_metrics`. + */ + +function getCharacterMetrics(character, font, mode) { + if (!metricMap[font]) { + throw new Error(`Font metrics not found for font: ${font}.`); + } + + let ch = character.charCodeAt(0); + let metrics = metricMap[font][ch]; + + if (!metrics && character[0] in extraCharacterMap) { + ch = extraCharacterMap[character[0]].charCodeAt(0); + metrics = metricMap[font][ch]; + } + + if (!metrics && mode === 'text') { + // We don't typically have font metrics for Asian scripts. + // But since we support them in text mode, we need to return + // some sort of metrics. + // So if the character is in a script we support but we + // don't have metrics for it, just use the metrics for + // the Latin capital letter M. This is close enough because + // we (currently) only care about the height of the glpyh + // not its width. + if (supportedCodepoint(ch)) { + metrics = metricMap[font][77]; // 77 is the charcode for 'M' + } + } + + if (metrics) { + return { + depth: metrics[0], + height: metrics[1], + italic: metrics[2], + skew: metrics[3], + width: metrics[4] + }; + } +} +const fontMetricsBySizeIndex = {}; +/** + * Get the font metrics for a given size. + */ + +function getGlobalMetrics(size) { + let sizeIndex; + + if (size >= 5) { + sizeIndex = 0; + } else if (size >= 3) { + sizeIndex = 1; + } else { + sizeIndex = 2; + } + + if (!fontMetricsBySizeIndex[sizeIndex]) { + const metrics = fontMetricsBySizeIndex[sizeIndex] = { + cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18 + }; + + for (const key in sigmasAndXis) { + if (sigmasAndXis.hasOwnProperty(key)) { + metrics[key] = sigmasAndXis[key][sizeIndex]; + } + } + } + + return fontMetricsBySizeIndex[sizeIndex]; +} + +/** + * This file holds a list of all no-argument functions and single-character + * symbols (like 'a' or ';'). + * + * For each of the symbols, there are three properties they can have: + * - font (required): the font to be used for this symbol. Either "main" (the + normal font), or "ams" (the ams fonts). + * - group (required): the ParseNode group type the symbol should have (i.e. + "textord", "mathord", etc). + See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types + * - replace: the character that this symbol or function should be + * replaced with (i.e. "\phi" has a replace value of "\u03d5", the phi + * character in the main font). + * + * The outermost map in the table indicates what mode the symbols should be + * accepted in (e.g. "math" or "text"). + */ +// Some of these have a "-token" suffix since these are also used as `ParseNode` +// types for raw text tokens, and we want to avoid conflicts with higher-level +// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by +// looking up the `symbols` map. +const ATOMS = { + "bin": 1, + "close": 1, + "inner": 1, + "open": 1, + "punct": 1, + "rel": 1 +}; +const NON_ATOMS = { + "accent-token": 1, + "mathord": 1, + "op-token": 1, + "spacing": 1, + "textord": 1 +}; +const symbols = { + "math": {}, + "text": {} +}; +/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */ + +function defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) { + symbols[mode][name] = { + font, + group, + replace + }; + + if (acceptUnicodeChar && replace) { + symbols[mode][replace] = symbols[mode][name]; + } +} // Some abbreviations for commonly used strings. +// This helps minify the code, and also spotting typos using jshint. +// modes: + +const math = "math"; +const text$1 = "text"; // fonts: + +const main = "main"; +const ams = "ams"; // groups: + +const accent = "accent-token"; +const bin = "bin"; +const close = "close"; +const inner = "inner"; +const mathord = "mathord"; +const op = "op-token"; +const open = "open"; +const punct = "punct"; +const rel = "rel"; +const spacing = "spacing"; +const textord = "textord"; // Now comes the symbol table +// Relation Symbols + +defineSymbol(math, main, rel, "\u2261", "\\equiv", true); +defineSymbol(math, main, rel, "\u227a", "\\prec", true); +defineSymbol(math, main, rel, "\u227b", "\\succ", true); +defineSymbol(math, main, rel, "\u223c", "\\sim", true); +defineSymbol(math, main, rel, "\u22a5", "\\perp"); +defineSymbol(math, main, rel, "\u2aaf", "\\preceq", true); +defineSymbol(math, main, rel, "\u2ab0", "\\succeq", true); +defineSymbol(math, main, rel, "\u2243", "\\simeq", true); +defineSymbol(math, main, rel, "\u2223", "\\mid", true); +defineSymbol(math, main, rel, "\u226a", "\\ll", true); +defineSymbol(math, main, rel, "\u226b", "\\gg", true); +defineSymbol(math, main, rel, "\u224d", "\\asymp", true); +defineSymbol(math, main, rel, "\u2225", "\\parallel"); +defineSymbol(math, main, rel, "\u22c8", "\\bowtie", true); +defineSymbol(math, main, rel, "\u2323", "\\smile", true); +defineSymbol(math, main, rel, "\u2291", "\\sqsubseteq", true); +defineSymbol(math, main, rel, "\u2292", "\\sqsupseteq", true); +defineSymbol(math, main, rel, "\u2250", "\\doteq", true); +defineSymbol(math, main, rel, "\u2322", "\\frown", true); +defineSymbol(math, main, rel, "\u220b", "\\ni", true); +defineSymbol(math, main, rel, "\u221d", "\\propto", true); +defineSymbol(math, main, rel, "\u22a2", "\\vdash", true); +defineSymbol(math, main, rel, "\u22a3", "\\dashv", true); +defineSymbol(math, main, rel, "\u220b", "\\owns"); // Punctuation + +defineSymbol(math, main, punct, "\u002e", "\\ldotp"); +defineSymbol(math, main, punct, "\u22c5", "\\cdotp"); // Misc Symbols + +defineSymbol(math, main, textord, "\u0023", "\\#"); +defineSymbol(text$1, main, textord, "\u0023", "\\#"); +defineSymbol(math, main, textord, "\u0026", "\\&"); +defineSymbol(text$1, main, textord, "\u0026", "\\&"); +defineSymbol(math, main, textord, "\u2135", "\\aleph", true); +defineSymbol(math, main, textord, "\u2200", "\\forall", true); +defineSymbol(math, main, textord, "\u210f", "\\hbar", true); +defineSymbol(math, main, textord, "\u2203", "\\exists", true); +defineSymbol(math, main, textord, "\u2207", "\\nabla", true); +defineSymbol(math, main, textord, "\u266d", "\\flat", true); +defineSymbol(math, main, textord, "\u2113", "\\ell", true); +defineSymbol(math, main, textord, "\u266e", "\\natural", true); +defineSymbol(math, main, textord, "\u2663", "\\clubsuit", true); +defineSymbol(math, main, textord, "\u2118", "\\wp", true); +defineSymbol(math, main, textord, "\u266f", "\\sharp", true); +defineSymbol(math, main, textord, "\u2662", "\\diamondsuit", true); +defineSymbol(math, main, textord, "\u211c", "\\Re", true); +defineSymbol(math, main, textord, "\u2661", "\\heartsuit", true); +defineSymbol(math, main, textord, "\u2111", "\\Im", true); +defineSymbol(math, main, textord, "\u2660", "\\spadesuit", true); +defineSymbol(text$1, main, textord, "\u00a7", "\\S", true); +defineSymbol(text$1, main, textord, "\u00b6", "\\P", true); // Math and Text + +defineSymbol(math, main, textord, "\u2020", "\\dag"); +defineSymbol(text$1, main, textord, "\u2020", "\\dag"); +defineSymbol(text$1, main, textord, "\u2020", "\\textdagger"); +defineSymbol(math, main, textord, "\u2021", "\\ddag"); +defineSymbol(text$1, main, textord, "\u2021", "\\ddag"); +defineSymbol(text$1, main, textord, "\u2021", "\\textdaggerdbl"); // Large Delimiters + +defineSymbol(math, main, close, "\u23b1", "\\rmoustache", true); +defineSymbol(math, main, open, "\u23b0", "\\lmoustache", true); +defineSymbol(math, main, close, "\u27ef", "\\rgroup", true); +defineSymbol(math, main, open, "\u27ee", "\\lgroup", true); // Binary Operators + +defineSymbol(math, main, bin, "\u2213", "\\mp", true); +defineSymbol(math, main, bin, "\u2296", "\\ominus", true); +defineSymbol(math, main, bin, "\u228e", "\\uplus", true); +defineSymbol(math, main, bin, "\u2293", "\\sqcap", true); +defineSymbol(math, main, bin, "\u2217", "\\ast"); +defineSymbol(math, main, bin, "\u2294", "\\sqcup", true); +defineSymbol(math, main, bin, "\u25ef", "\\bigcirc"); +defineSymbol(math, main, bin, "\u2219", "\\bullet"); +defineSymbol(math, main, bin, "\u2021", "\\ddagger"); +defineSymbol(math, main, bin, "\u2240", "\\wr", true); +defineSymbol(math, main, bin, "\u2a3f", "\\amalg"); +defineSymbol(math, main, bin, "\u0026", "\\And"); // from amsmath +// Arrow Symbols + +defineSymbol(math, main, rel, "\u27f5", "\\longleftarrow", true); +defineSymbol(math, main, rel, "\u21d0", "\\Leftarrow", true); +defineSymbol(math, main, rel, "\u27f8", "\\Longleftarrow", true); +defineSymbol(math, main, rel, "\u27f6", "\\longrightarrow", true); +defineSymbol(math, main, rel, "\u21d2", "\\Rightarrow", true); +defineSymbol(math, main, rel, "\u27f9", "\\Longrightarrow", true); +defineSymbol(math, main, rel, "\u2194", "\\leftrightarrow", true); +defineSymbol(math, main, rel, "\u27f7", "\\longleftrightarrow", true); +defineSymbol(math, main, rel, "\u21d4", "\\Leftrightarrow", true); +defineSymbol(math, main, rel, "\u27fa", "\\Longleftrightarrow", true); +defineSymbol(math, main, rel, "\u21a6", "\\mapsto", true); +defineSymbol(math, main, rel, "\u27fc", "\\longmapsto", true); +defineSymbol(math, main, rel, "\u2197", "\\nearrow", true); +defineSymbol(math, main, rel, "\u21a9", "\\hookleftarrow", true); +defineSymbol(math, main, rel, "\u21aa", "\\hookrightarrow", true); +defineSymbol(math, main, rel, "\u2198", "\\searrow", true); +defineSymbol(math, main, rel, "\u21bc", "\\leftharpoonup", true); +defineSymbol(math, main, rel, "\u21c0", "\\rightharpoonup", true); +defineSymbol(math, main, rel, "\u2199", "\\swarrow", true); +defineSymbol(math, main, rel, "\u21bd", "\\leftharpoondown", true); +defineSymbol(math, main, rel, "\u21c1", "\\rightharpoondown", true); +defineSymbol(math, main, rel, "\u2196", "\\nwarrow", true); +defineSymbol(math, main, rel, "\u21cc", "\\rightleftharpoons", true); // AMS Negated Binary Relations + +defineSymbol(math, ams, rel, "\u226e", "\\nless", true); // Symbol names preceeded by "@" each have a corresponding macro. + +defineSymbol(math, ams, rel, "\ue010", "\\@nleqslant"); +defineSymbol(math, ams, rel, "\ue011", "\\@nleqq"); +defineSymbol(math, ams, rel, "\u2a87", "\\lneq", true); +defineSymbol(math, ams, rel, "\u2268", "\\lneqq", true); +defineSymbol(math, ams, rel, "\ue00c", "\\@lvertneqq"); +defineSymbol(math, ams, rel, "\u22e6", "\\lnsim", true); +defineSymbol(math, ams, rel, "\u2a89", "\\lnapprox", true); +defineSymbol(math, ams, rel, "\u2280", "\\nprec", true); // unicode-math maps \u22e0 to \npreccurlyeq. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u22e0", "\\npreceq", true); +defineSymbol(math, ams, rel, "\u22e8", "\\precnsim", true); +defineSymbol(math, ams, rel, "\u2ab9", "\\precnapprox", true); +defineSymbol(math, ams, rel, "\u2241", "\\nsim", true); +defineSymbol(math, ams, rel, "\ue006", "\\@nshortmid"); +defineSymbol(math, ams, rel, "\u2224", "\\nmid", true); +defineSymbol(math, ams, rel, "\u22ac", "\\nvdash", true); +defineSymbol(math, ams, rel, "\u22ad", "\\nvDash", true); +defineSymbol(math, ams, rel, "\u22ea", "\\ntriangleleft"); +defineSymbol(math, ams, rel, "\u22ec", "\\ntrianglelefteq", true); +defineSymbol(math, ams, rel, "\u228a", "\\subsetneq", true); +defineSymbol(math, ams, rel, "\ue01a", "\\@varsubsetneq"); +defineSymbol(math, ams, rel, "\u2acb", "\\subsetneqq", true); +defineSymbol(math, ams, rel, "\ue017", "\\@varsubsetneqq"); +defineSymbol(math, ams, rel, "\u226f", "\\ngtr", true); +defineSymbol(math, ams, rel, "\ue00f", "\\@ngeqslant"); +defineSymbol(math, ams, rel, "\ue00e", "\\@ngeqq"); +defineSymbol(math, ams, rel, "\u2a88", "\\gneq", true); +defineSymbol(math, ams, rel, "\u2269", "\\gneqq", true); +defineSymbol(math, ams, rel, "\ue00d", "\\@gvertneqq"); +defineSymbol(math, ams, rel, "\u22e7", "\\gnsim", true); +defineSymbol(math, ams, rel, "\u2a8a", "\\gnapprox", true); +defineSymbol(math, ams, rel, "\u2281", "\\nsucc", true); // unicode-math maps \u22e1 to \nsucccurlyeq. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u22e1", "\\nsucceq", true); +defineSymbol(math, ams, rel, "\u22e9", "\\succnsim", true); +defineSymbol(math, ams, rel, "\u2aba", "\\succnapprox", true); // unicode-math maps \u2246 to \simneqq. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u2246", "\\ncong", true); +defineSymbol(math, ams, rel, "\ue007", "\\@nshortparallel"); +defineSymbol(math, ams, rel, "\u2226", "\\nparallel", true); +defineSymbol(math, ams, rel, "\u22af", "\\nVDash", true); +defineSymbol(math, ams, rel, "\u22eb", "\\ntriangleright"); +defineSymbol(math, ams, rel, "\u22ed", "\\ntrianglerighteq", true); +defineSymbol(math, ams, rel, "\ue018", "\\@nsupseteqq"); +defineSymbol(math, ams, rel, "\u228b", "\\supsetneq", true); +defineSymbol(math, ams, rel, "\ue01b", "\\@varsupsetneq"); +defineSymbol(math, ams, rel, "\u2acc", "\\supsetneqq", true); +defineSymbol(math, ams, rel, "\ue019", "\\@varsupsetneqq"); +defineSymbol(math, ams, rel, "\u22ae", "\\nVdash", true); +defineSymbol(math, ams, rel, "\u2ab5", "\\precneqq", true); +defineSymbol(math, ams, rel, "\u2ab6", "\\succneqq", true); +defineSymbol(math, ams, rel, "\ue016", "\\@nsubseteqq"); +defineSymbol(math, ams, bin, "\u22b4", "\\unlhd"); +defineSymbol(math, ams, bin, "\u22b5", "\\unrhd"); // AMS Negated Arrows + +defineSymbol(math, ams, rel, "\u219a", "\\nleftarrow", true); +defineSymbol(math, ams, rel, "\u219b", "\\nrightarrow", true); +defineSymbol(math, ams, rel, "\u21cd", "\\nLeftarrow", true); +defineSymbol(math, ams, rel, "\u21cf", "\\nRightarrow", true); +defineSymbol(math, ams, rel, "\u21ae", "\\nleftrightarrow", true); +defineSymbol(math, ams, rel, "\u21ce", "\\nLeftrightarrow", true); // AMS Misc + +defineSymbol(math, ams, rel, "\u25b3", "\\vartriangle"); +defineSymbol(math, ams, textord, "\u210f", "\\hslash"); +defineSymbol(math, ams, textord, "\u25bd", "\\triangledown"); +defineSymbol(math, ams, textord, "\u25ca", "\\lozenge"); +defineSymbol(math, ams, textord, "\u24c8", "\\circledS"); +defineSymbol(math, ams, textord, "\u00ae", "\\circledR"); +defineSymbol(text$1, ams, textord, "\u00ae", "\\circledR"); +defineSymbol(math, ams, textord, "\u2221", "\\measuredangle", true); +defineSymbol(math, ams, textord, "\u2204", "\\nexists"); +defineSymbol(math, ams, textord, "\u2127", "\\mho"); +defineSymbol(math, ams, textord, "\u2132", "\\Finv", true); +defineSymbol(math, ams, textord, "\u2141", "\\Game", true); +defineSymbol(math, ams, textord, "\u2035", "\\backprime"); +defineSymbol(math, ams, textord, "\u25b2", "\\blacktriangle"); +defineSymbol(math, ams, textord, "\u25bc", "\\blacktriangledown"); +defineSymbol(math, ams, textord, "\u25a0", "\\blacksquare"); +defineSymbol(math, ams, textord, "\u29eb", "\\blacklozenge"); +defineSymbol(math, ams, textord, "\u2605", "\\bigstar"); +defineSymbol(math, ams, textord, "\u2222", "\\sphericalangle", true); +defineSymbol(math, ams, textord, "\u2201", "\\complement", true); // unicode-math maps U+F0 to \matheth. We map to AMS function \eth + +defineSymbol(math, ams, textord, "\u00f0", "\\eth", true); +defineSymbol(text$1, main, textord, "\u00f0", "\u00f0"); +defineSymbol(math, ams, textord, "\u2571", "\\diagup"); +defineSymbol(math, ams, textord, "\u2572", "\\diagdown"); +defineSymbol(math, ams, textord, "\u25a1", "\\square"); +defineSymbol(math, ams, textord, "\u25a1", "\\Box"); +defineSymbol(math, ams, textord, "\u25ca", "\\Diamond"); // unicode-math maps U+A5 to \mathyen. We map to AMS function \yen + +defineSymbol(math, ams, textord, "\u00a5", "\\yen", true); +defineSymbol(text$1, ams, textord, "\u00a5", "\\yen", true); +defineSymbol(math, ams, textord, "\u2713", "\\checkmark", true); +defineSymbol(text$1, ams, textord, "\u2713", "\\checkmark"); // AMS Hebrew + +defineSymbol(math, ams, textord, "\u2136", "\\beth", true); +defineSymbol(math, ams, textord, "\u2138", "\\daleth", true); +defineSymbol(math, ams, textord, "\u2137", "\\gimel", true); // AMS Greek + +defineSymbol(math, ams, textord, "\u03dd", "\\digamma", true); +defineSymbol(math, ams, textord, "\u03f0", "\\varkappa"); // AMS Delimiters + +defineSymbol(math, ams, open, "\u250c", "\\@ulcorner", true); +defineSymbol(math, ams, close, "\u2510", "\\@urcorner", true); +defineSymbol(math, ams, open, "\u2514", "\\@llcorner", true); +defineSymbol(math, ams, close, "\u2518", "\\@lrcorner", true); // AMS Binary Relations + +defineSymbol(math, ams, rel, "\u2266", "\\leqq", true); +defineSymbol(math, ams, rel, "\u2a7d", "\\leqslant", true); +defineSymbol(math, ams, rel, "\u2a95", "\\eqslantless", true); +defineSymbol(math, ams, rel, "\u2272", "\\lesssim", true); +defineSymbol(math, ams, rel, "\u2a85", "\\lessapprox", true); +defineSymbol(math, ams, rel, "\u224a", "\\approxeq", true); +defineSymbol(math, ams, bin, "\u22d6", "\\lessdot"); +defineSymbol(math, ams, rel, "\u22d8", "\\lll", true); +defineSymbol(math, ams, rel, "\u2276", "\\lessgtr", true); +defineSymbol(math, ams, rel, "\u22da", "\\lesseqgtr", true); +defineSymbol(math, ams, rel, "\u2a8b", "\\lesseqqgtr", true); +defineSymbol(math, ams, rel, "\u2251", "\\doteqdot"); +defineSymbol(math, ams, rel, "\u2253", "\\risingdotseq", true); +defineSymbol(math, ams, rel, "\u2252", "\\fallingdotseq", true); +defineSymbol(math, ams, rel, "\u223d", "\\backsim", true); +defineSymbol(math, ams, rel, "\u22cd", "\\backsimeq", true); +defineSymbol(math, ams, rel, "\u2ac5", "\\subseteqq", true); +defineSymbol(math, ams, rel, "\u22d0", "\\Subset", true); +defineSymbol(math, ams, rel, "\u228f", "\\sqsubset", true); +defineSymbol(math, ams, rel, "\u227c", "\\preccurlyeq", true); +defineSymbol(math, ams, rel, "\u22de", "\\curlyeqprec", true); +defineSymbol(math, ams, rel, "\u227e", "\\precsim", true); +defineSymbol(math, ams, rel, "\u2ab7", "\\precapprox", true); +defineSymbol(math, ams, rel, "\u22b2", "\\vartriangleleft"); +defineSymbol(math, ams, rel, "\u22b4", "\\trianglelefteq"); +defineSymbol(math, ams, rel, "\u22a8", "\\vDash", true); +defineSymbol(math, ams, rel, "\u22aa", "\\Vvdash", true); +defineSymbol(math, ams, rel, "\u2323", "\\smallsmile"); +defineSymbol(math, ams, rel, "\u2322", "\\smallfrown"); +defineSymbol(math, ams, rel, "\u224f", "\\bumpeq", true); +defineSymbol(math, ams, rel, "\u224e", "\\Bumpeq", true); +defineSymbol(math, ams, rel, "\u2267", "\\geqq", true); +defineSymbol(math, ams, rel, "\u2a7e", "\\geqslant", true); +defineSymbol(math, ams, rel, "\u2a96", "\\eqslantgtr", true); +defineSymbol(math, ams, rel, "\u2273", "\\gtrsim", true); +defineSymbol(math, ams, rel, "\u2a86", "\\gtrapprox", true); +defineSymbol(math, ams, bin, "\u22d7", "\\gtrdot"); +defineSymbol(math, ams, rel, "\u22d9", "\\ggg", true); +defineSymbol(math, ams, rel, "\u2277", "\\gtrless", true); +defineSymbol(math, ams, rel, "\u22db", "\\gtreqless", true); +defineSymbol(math, ams, rel, "\u2a8c", "\\gtreqqless", true); +defineSymbol(math, ams, rel, "\u2256", "\\eqcirc", true); +defineSymbol(math, ams, rel, "\u2257", "\\circeq", true); +defineSymbol(math, ams, rel, "\u225c", "\\triangleq", true); +defineSymbol(math, ams, rel, "\u223c", "\\thicksim"); +defineSymbol(math, ams, rel, "\u2248", "\\thickapprox"); +defineSymbol(math, ams, rel, "\u2ac6", "\\supseteqq", true); +defineSymbol(math, ams, rel, "\u22d1", "\\Supset", true); +defineSymbol(math, ams, rel, "\u2290", "\\sqsupset", true); +defineSymbol(math, ams, rel, "\u227d", "\\succcurlyeq", true); +defineSymbol(math, ams, rel, "\u22df", "\\curlyeqsucc", true); +defineSymbol(math, ams, rel, "\u227f", "\\succsim", true); +defineSymbol(math, ams, rel, "\u2ab8", "\\succapprox", true); +defineSymbol(math, ams, rel, "\u22b3", "\\vartriangleright"); +defineSymbol(math, ams, rel, "\u22b5", "\\trianglerighteq"); +defineSymbol(math, ams, rel, "\u22a9", "\\Vdash", true); +defineSymbol(math, ams, rel, "\u2223", "\\shortmid"); +defineSymbol(math, ams, rel, "\u2225", "\\shortparallel"); +defineSymbol(math, ams, rel, "\u226c", "\\between", true); +defineSymbol(math, ams, rel, "\u22d4", "\\pitchfork", true); +defineSymbol(math, ams, rel, "\u221d", "\\varpropto"); +defineSymbol(math, ams, rel, "\u25c0", "\\blacktriangleleft"); // unicode-math says that \therefore is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(math, ams, rel, "\u2234", "\\therefore", true); +defineSymbol(math, ams, rel, "\u220d", "\\backepsilon"); +defineSymbol(math, ams, rel, "\u25b6", "\\blacktriangleright"); // unicode-math says that \because is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(math, ams, rel, "\u2235", "\\because", true); +defineSymbol(math, ams, rel, "\u22d8", "\\llless"); +defineSymbol(math, ams, rel, "\u22d9", "\\gggtr"); +defineSymbol(math, ams, bin, "\u22b2", "\\lhd"); +defineSymbol(math, ams, bin, "\u22b3", "\\rhd"); +defineSymbol(math, ams, rel, "\u2242", "\\eqsim", true); +defineSymbol(math, main, rel, "\u22c8", "\\Join"); +defineSymbol(math, ams, rel, "\u2251", "\\Doteq", true); // AMS Binary Operators + +defineSymbol(math, ams, bin, "\u2214", "\\dotplus", true); +defineSymbol(math, ams, bin, "\u2216", "\\smallsetminus"); +defineSymbol(math, ams, bin, "\u22d2", "\\Cap", true); +defineSymbol(math, ams, bin, "\u22d3", "\\Cup", true); +defineSymbol(math, ams, bin, "\u2a5e", "\\doublebarwedge", true); +defineSymbol(math, ams, bin, "\u229f", "\\boxminus", true); +defineSymbol(math, ams, bin, "\u229e", "\\boxplus", true); +defineSymbol(math, ams, bin, "\u22c7", "\\divideontimes", true); +defineSymbol(math, ams, bin, "\u22c9", "\\ltimes", true); +defineSymbol(math, ams, bin, "\u22ca", "\\rtimes", true); +defineSymbol(math, ams, bin, "\u22cb", "\\leftthreetimes", true); +defineSymbol(math, ams, bin, "\u22cc", "\\rightthreetimes", true); +defineSymbol(math, ams, bin, "\u22cf", "\\curlywedge", true); +defineSymbol(math, ams, bin, "\u22ce", "\\curlyvee", true); +defineSymbol(math, ams, bin, "\u229d", "\\circleddash", true); +defineSymbol(math, ams, bin, "\u229b", "\\circledast", true); +defineSymbol(math, ams, bin, "\u22c5", "\\centerdot"); +defineSymbol(math, ams, bin, "\u22ba", "\\intercal", true); +defineSymbol(math, ams, bin, "\u22d2", "\\doublecap"); +defineSymbol(math, ams, bin, "\u22d3", "\\doublecup"); +defineSymbol(math, ams, bin, "\u22a0", "\\boxtimes", true); // AMS Arrows +// Note: unicode-math maps \u21e2 to their own function \rightdasharrow. +// We'll map it to AMS function \dashrightarrow. It produces the same atom. + +defineSymbol(math, ams, rel, "\u21e2", "\\dashrightarrow", true); // unicode-math maps \u21e0 to \leftdasharrow. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u21e0", "\\dashleftarrow", true); +defineSymbol(math, ams, rel, "\u21c7", "\\leftleftarrows", true); +defineSymbol(math, ams, rel, "\u21c6", "\\leftrightarrows", true); +defineSymbol(math, ams, rel, "\u21da", "\\Lleftarrow", true); +defineSymbol(math, ams, rel, "\u219e", "\\twoheadleftarrow", true); +defineSymbol(math, ams, rel, "\u21a2", "\\leftarrowtail", true); +defineSymbol(math, ams, rel, "\u21ab", "\\looparrowleft", true); +defineSymbol(math, ams, rel, "\u21cb", "\\leftrightharpoons", true); +defineSymbol(math, ams, rel, "\u21b6", "\\curvearrowleft", true); // unicode-math maps \u21ba to \acwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u21ba", "\\circlearrowleft", true); +defineSymbol(math, ams, rel, "\u21b0", "\\Lsh", true); +defineSymbol(math, ams, rel, "\u21c8", "\\upuparrows", true); +defineSymbol(math, ams, rel, "\u21bf", "\\upharpoonleft", true); +defineSymbol(math, ams, rel, "\u21c3", "\\downharpoonleft", true); +defineSymbol(math, ams, rel, "\u22b8", "\\multimap", true); +defineSymbol(math, ams, rel, "\u21ad", "\\leftrightsquigarrow", true); +defineSymbol(math, ams, rel, "\u21c9", "\\rightrightarrows", true); +defineSymbol(math, ams, rel, "\u21c4", "\\rightleftarrows", true); +defineSymbol(math, ams, rel, "\u21a0", "\\twoheadrightarrow", true); +defineSymbol(math, ams, rel, "\u21a3", "\\rightarrowtail", true); +defineSymbol(math, ams, rel, "\u21ac", "\\looparrowright", true); +defineSymbol(math, ams, rel, "\u21b7", "\\curvearrowright", true); // unicode-math maps \u21bb to \cwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u21bb", "\\circlearrowright", true); +defineSymbol(math, ams, rel, "\u21b1", "\\Rsh", true); +defineSymbol(math, ams, rel, "\u21ca", "\\downdownarrows", true); +defineSymbol(math, ams, rel, "\u21be", "\\upharpoonright", true); +defineSymbol(math, ams, rel, "\u21c2", "\\downharpoonright", true); +defineSymbol(math, ams, rel, "\u21dd", "\\rightsquigarrow", true); +defineSymbol(math, ams, rel, "\u21dd", "\\leadsto"); +defineSymbol(math, ams, rel, "\u21db", "\\Rrightarrow", true); +defineSymbol(math, ams, rel, "\u21be", "\\restriction"); +defineSymbol(math, main, textord, "\u2018", "`"); +defineSymbol(math, main, textord, "$", "\\$"); +defineSymbol(text$1, main, textord, "$", "\\$"); +defineSymbol(text$1, main, textord, "$", "\\textdollar"); +defineSymbol(math, main, textord, "%", "\\%"); +defineSymbol(text$1, main, textord, "%", "\\%"); +defineSymbol(math, main, textord, "_", "\\_"); +defineSymbol(text$1, main, textord, "_", "\\_"); +defineSymbol(text$1, main, textord, "_", "\\textunderscore"); +defineSymbol(math, main, textord, "\u2220", "\\angle", true); +defineSymbol(math, main, textord, "\u221e", "\\infty", true); +defineSymbol(math, main, textord, "\u2032", "\\prime"); +defineSymbol(math, main, textord, "\u25b3", "\\triangle"); +defineSymbol(math, main, textord, "\u0393", "\\Gamma", true); +defineSymbol(math, main, textord, "\u0394", "\\Delta", true); +defineSymbol(math, main, textord, "\u0398", "\\Theta", true); +defineSymbol(math, main, textord, "\u039b", "\\Lambda", true); +defineSymbol(math, main, textord, "\u039e", "\\Xi", true); +defineSymbol(math, main, textord, "\u03a0", "\\Pi", true); +defineSymbol(math, main, textord, "\u03a3", "\\Sigma", true); +defineSymbol(math, main, textord, "\u03a5", "\\Upsilon", true); +defineSymbol(math, main, textord, "\u03a6", "\\Phi", true); +defineSymbol(math, main, textord, "\u03a8", "\\Psi", true); +defineSymbol(math, main, textord, "\u03a9", "\\Omega", true); +defineSymbol(math, main, textord, "A", "\u0391"); +defineSymbol(math, main, textord, "B", "\u0392"); +defineSymbol(math, main, textord, "E", "\u0395"); +defineSymbol(math, main, textord, "Z", "\u0396"); +defineSymbol(math, main, textord, "H", "\u0397"); +defineSymbol(math, main, textord, "I", "\u0399"); +defineSymbol(math, main, textord, "K", "\u039A"); +defineSymbol(math, main, textord, "M", "\u039C"); +defineSymbol(math, main, textord, "N", "\u039D"); +defineSymbol(math, main, textord, "O", "\u039F"); +defineSymbol(math, main, textord, "P", "\u03A1"); +defineSymbol(math, main, textord, "T", "\u03A4"); +defineSymbol(math, main, textord, "X", "\u03A7"); +defineSymbol(math, main, textord, "\u00ac", "\\neg", true); +defineSymbol(math, main, textord, "\u00ac", "\\lnot"); +defineSymbol(math, main, textord, "\u22a4", "\\top"); +defineSymbol(math, main, textord, "\u22a5", "\\bot"); +defineSymbol(math, main, textord, "\u2205", "\\emptyset"); +defineSymbol(math, ams, textord, "\u2205", "\\varnothing"); +defineSymbol(math, main, mathord, "\u03b1", "\\alpha", true); +defineSymbol(math, main, mathord, "\u03b2", "\\beta", true); +defineSymbol(math, main, mathord, "\u03b3", "\\gamma", true); +defineSymbol(math, main, mathord, "\u03b4", "\\delta", true); +defineSymbol(math, main, mathord, "\u03f5", "\\epsilon", true); +defineSymbol(math, main, mathord, "\u03b6", "\\zeta", true); +defineSymbol(math, main, mathord, "\u03b7", "\\eta", true); +defineSymbol(math, main, mathord, "\u03b8", "\\theta", true); +defineSymbol(math, main, mathord, "\u03b9", "\\iota", true); +defineSymbol(math, main, mathord, "\u03ba", "\\kappa", true); +defineSymbol(math, main, mathord, "\u03bb", "\\lambda", true); +defineSymbol(math, main, mathord, "\u03bc", "\\mu", true); +defineSymbol(math, main, mathord, "\u03bd", "\\nu", true); +defineSymbol(math, main, mathord, "\u03be", "\\xi", true); +defineSymbol(math, main, mathord, "\u03bf", "\\omicron", true); +defineSymbol(math, main, mathord, "\u03c0", "\\pi", true); +defineSymbol(math, main, mathord, "\u03c1", "\\rho", true); +defineSymbol(math, main, mathord, "\u03c3", "\\sigma", true); +defineSymbol(math, main, mathord, "\u03c4", "\\tau", true); +defineSymbol(math, main, mathord, "\u03c5", "\\upsilon", true); +defineSymbol(math, main, mathord, "\u03d5", "\\phi", true); +defineSymbol(math, main, mathord, "\u03c7", "\\chi", true); +defineSymbol(math, main, mathord, "\u03c8", "\\psi", true); +defineSymbol(math, main, mathord, "\u03c9", "\\omega", true); +defineSymbol(math, main, mathord, "\u03b5", "\\varepsilon", true); +defineSymbol(math, main, mathord, "\u03d1", "\\vartheta", true); +defineSymbol(math, main, mathord, "\u03d6", "\\varpi", true); +defineSymbol(math, main, mathord, "\u03f1", "\\varrho", true); +defineSymbol(math, main, mathord, "\u03c2", "\\varsigma", true); +defineSymbol(math, main, mathord, "\u03c6", "\\varphi", true); +defineSymbol(math, main, bin, "\u2217", "*"); +defineSymbol(math, main, bin, "+", "+"); +defineSymbol(math, main, bin, "\u2212", "-"); +defineSymbol(math, main, bin, "\u22c5", "\\cdot", true); +defineSymbol(math, main, bin, "\u2218", "\\circ"); +defineSymbol(math, main, bin, "\u00f7", "\\div", true); +defineSymbol(math, main, bin, "\u00b1", "\\pm", true); +defineSymbol(math, main, bin, "\u00d7", "\\times", true); +defineSymbol(math, main, bin, "\u2229", "\\cap", true); +defineSymbol(math, main, bin, "\u222a", "\\cup", true); +defineSymbol(math, main, bin, "\u2216", "\\setminus"); +defineSymbol(math, main, bin, "\u2227", "\\land"); +defineSymbol(math, main, bin, "\u2228", "\\lor"); +defineSymbol(math, main, bin, "\u2227", "\\wedge", true); +defineSymbol(math, main, bin, "\u2228", "\\vee", true); +defineSymbol(math, main, textord, "\u221a", "\\surd"); +defineSymbol(math, main, open, "\u27e8", "\\langle", true); +defineSymbol(math, main, open, "\u2223", "\\lvert"); +defineSymbol(math, main, open, "\u2225", "\\lVert"); +defineSymbol(math, main, close, "?", "?"); +defineSymbol(math, main, close, "!", "!"); +defineSymbol(math, main, close, "\u27e9", "\\rangle", true); +defineSymbol(math, main, close, "\u2223", "\\rvert"); +defineSymbol(math, main, close, "\u2225", "\\rVert"); +defineSymbol(math, main, rel, "=", "="); +defineSymbol(math, main, rel, ":", ":"); +defineSymbol(math, main, rel, "\u2248", "\\approx", true); +defineSymbol(math, main, rel, "\u2245", "\\cong", true); +defineSymbol(math, main, rel, "\u2265", "\\ge"); +defineSymbol(math, main, rel, "\u2265", "\\geq", true); +defineSymbol(math, main, rel, "\u2190", "\\gets"); +defineSymbol(math, main, rel, ">", "\\gt", true); +defineSymbol(math, main, rel, "\u2208", "\\in", true); +defineSymbol(math, main, rel, "\ue020", "\\@not"); +defineSymbol(math, main, rel, "\u2282", "\\subset", true); +defineSymbol(math, main, rel, "\u2283", "\\supset", true); +defineSymbol(math, main, rel, "\u2286", "\\subseteq", true); +defineSymbol(math, main, rel, "\u2287", "\\supseteq", true); +defineSymbol(math, ams, rel, "\u2288", "\\nsubseteq", true); +defineSymbol(math, ams, rel, "\u2289", "\\nsupseteq", true); +defineSymbol(math, main, rel, "\u22a8", "\\models"); +defineSymbol(math, main, rel, "\u2190", "\\leftarrow", true); +defineSymbol(math, main, rel, "\u2264", "\\le"); +defineSymbol(math, main, rel, "\u2264", "\\leq", true); +defineSymbol(math, main, rel, "<", "\\lt", true); +defineSymbol(math, main, rel, "\u2192", "\\rightarrow", true); +defineSymbol(math, main, rel, "\u2192", "\\to"); +defineSymbol(math, ams, rel, "\u2271", "\\ngeq", true); +defineSymbol(math, ams, rel, "\u2270", "\\nleq", true); +defineSymbol(math, main, spacing, "\u00a0", "\\ "); +defineSymbol(math, main, spacing, "\u00a0", "~"); +defineSymbol(math, main, spacing, "\u00a0", "\\space"); // Ref: LaTeX Source 2e: \DeclareRobustCommand{\nobreakspace}{% + +defineSymbol(math, main, spacing, "\u00a0", "\\nobreakspace"); +defineSymbol(text$1, main, spacing, "\u00a0", "\\ "); +defineSymbol(text$1, main, spacing, "\u00a0", " "); +defineSymbol(text$1, main, spacing, "\u00a0", "~"); +defineSymbol(text$1, main, spacing, "\u00a0", "\\space"); +defineSymbol(text$1, main, spacing, "\u00a0", "\\nobreakspace"); +defineSymbol(math, main, spacing, null, "\\nobreak"); +defineSymbol(math, main, spacing, null, "\\allowbreak"); +defineSymbol(math, main, punct, ",", ","); +defineSymbol(math, main, punct, ";", ";"); +defineSymbol(math, ams, bin, "\u22bc", "\\barwedge", true); +defineSymbol(math, ams, bin, "\u22bb", "\\veebar", true); +defineSymbol(math, main, bin, "\u2299", "\\odot", true); +defineSymbol(math, main, bin, "\u2295", "\\oplus", true); +defineSymbol(math, main, bin, "\u2297", "\\otimes", true); +defineSymbol(math, main, textord, "\u2202", "\\partial", true); +defineSymbol(math, main, bin, "\u2298", "\\oslash", true); +defineSymbol(math, ams, bin, "\u229a", "\\circledcirc", true); +defineSymbol(math, ams, bin, "\u22a1", "\\boxdot", true); +defineSymbol(math, main, bin, "\u25b3", "\\bigtriangleup"); +defineSymbol(math, main, bin, "\u25bd", "\\bigtriangledown"); +defineSymbol(math, main, bin, "\u2020", "\\dagger"); +defineSymbol(math, main, bin, "\u22c4", "\\diamond"); +defineSymbol(math, main, bin, "\u22c6", "\\star"); +defineSymbol(math, main, bin, "\u25c3", "\\triangleleft"); +defineSymbol(math, main, bin, "\u25b9", "\\triangleright"); +defineSymbol(math, main, open, "{", "\\{"); +defineSymbol(text$1, main, textord, "{", "\\{"); +defineSymbol(text$1, main, textord, "{", "\\textbraceleft"); +defineSymbol(math, main, close, "}", "\\}"); +defineSymbol(text$1, main, textord, "}", "\\}"); +defineSymbol(text$1, main, textord, "}", "\\textbraceright"); +defineSymbol(math, main, open, "{", "\\lbrace"); +defineSymbol(math, main, close, "}", "\\rbrace"); +defineSymbol(math, main, open, "[", "\\lbrack", true); +defineSymbol(text$1, main, textord, "[", "\\lbrack", true); +defineSymbol(math, main, close, "]", "\\rbrack", true); +defineSymbol(text$1, main, textord, "]", "\\rbrack", true); +defineSymbol(math, main, open, "(", "\\lparen", true); +defineSymbol(math, main, close, ")", "\\rparen", true); +defineSymbol(text$1, main, textord, "<", "\\textless", true); // in T1 fontenc + +defineSymbol(text$1, main, textord, ">", "\\textgreater", true); // in T1 fontenc + +defineSymbol(math, main, open, "\u230a", "\\lfloor", true); +defineSymbol(math, main, close, "\u230b", "\\rfloor", true); +defineSymbol(math, main, open, "\u2308", "\\lceil", true); +defineSymbol(math, main, close, "\u2309", "\\rceil", true); +defineSymbol(math, main, textord, "\\", "\\backslash"); +defineSymbol(math, main, textord, "\u2223", "|"); +defineSymbol(math, main, textord, "\u2223", "\\vert"); +defineSymbol(text$1, main, textord, "|", "\\textbar", true); // in T1 fontenc + +defineSymbol(math, main, textord, "\u2225", "\\|"); +defineSymbol(math, main, textord, "\u2225", "\\Vert"); +defineSymbol(text$1, main, textord, "\u2225", "\\textbardbl"); +defineSymbol(text$1, main, textord, "~", "\\textasciitilde"); +defineSymbol(text$1, main, textord, "\\", "\\textbackslash"); +defineSymbol(text$1, main, textord, "^", "\\textasciicircum"); +defineSymbol(math, main, rel, "\u2191", "\\uparrow", true); +defineSymbol(math, main, rel, "\u21d1", "\\Uparrow", true); +defineSymbol(math, main, rel, "\u2193", "\\downarrow", true); +defineSymbol(math, main, rel, "\u21d3", "\\Downarrow", true); +defineSymbol(math, main, rel, "\u2195", "\\updownarrow", true); +defineSymbol(math, main, rel, "\u21d5", "\\Updownarrow", true); +defineSymbol(math, main, op, "\u2210", "\\coprod"); +defineSymbol(math, main, op, "\u22c1", "\\bigvee"); +defineSymbol(math, main, op, "\u22c0", "\\bigwedge"); +defineSymbol(math, main, op, "\u2a04", "\\biguplus"); +defineSymbol(math, main, op, "\u22c2", "\\bigcap"); +defineSymbol(math, main, op, "\u22c3", "\\bigcup"); +defineSymbol(math, main, op, "\u222b", "\\int"); +defineSymbol(math, main, op, "\u222b", "\\intop"); +defineSymbol(math, main, op, "\u222c", "\\iint"); +defineSymbol(math, main, op, "\u222d", "\\iiint"); +defineSymbol(math, main, op, "\u220f", "\\prod"); +defineSymbol(math, main, op, "\u2211", "\\sum"); +defineSymbol(math, main, op, "\u2a02", "\\bigotimes"); +defineSymbol(math, main, op, "\u2a01", "\\bigoplus"); +defineSymbol(math, main, op, "\u2a00", "\\bigodot"); +defineSymbol(math, main, op, "\u222e", "\\oint"); +defineSymbol(math, main, op, "\u2a06", "\\bigsqcup"); +defineSymbol(math, main, op, "\u222b", "\\smallint"); +defineSymbol(text$1, main, inner, "\u2026", "\\textellipsis"); +defineSymbol(math, main, inner, "\u2026", "\\mathellipsis"); +defineSymbol(text$1, main, inner, "\u2026", "\\ldots", true); +defineSymbol(math, main, inner, "\u2026", "\\ldots", true); +defineSymbol(math, main, inner, "\u22ef", "\\@cdots", true); +defineSymbol(math, main, inner, "\u22f1", "\\ddots", true); +defineSymbol(math, main, textord, "\u22ee", "\\varvdots"); // \vdots is a macro + +defineSymbol(math, main, accent, "\u02ca", "\\acute"); +defineSymbol(math, main, accent, "\u02cb", "\\grave"); +defineSymbol(math, main, accent, "\u00a8", "\\ddot"); +defineSymbol(math, main, accent, "\u007e", "\\tilde"); +defineSymbol(math, main, accent, "\u02c9", "\\bar"); +defineSymbol(math, main, accent, "\u02d8", "\\breve"); +defineSymbol(math, main, accent, "\u02c7", "\\check"); +defineSymbol(math, main, accent, "\u005e", "\\hat"); +defineSymbol(math, main, accent, "\u20d7", "\\vec"); +defineSymbol(math, main, accent, "\u02d9", "\\dot"); +defineSymbol(math, main, accent, "\u02da", "\\mathring"); // \imath and \jmath should be invariant to \mathrm, \mathbf, etc., so use PUA + +defineSymbol(math, main, mathord, "\ue131", "\\@imath"); +defineSymbol(math, main, mathord, "\ue237", "\\@jmath"); +defineSymbol(math, main, textord, "\u0131", "\u0131"); +defineSymbol(math, main, textord, "\u0237", "\u0237"); +defineSymbol(text$1, main, textord, "\u0131", "\\i", true); +defineSymbol(text$1, main, textord, "\u0237", "\\j", true); +defineSymbol(text$1, main, textord, "\u00df", "\\ss", true); +defineSymbol(text$1, main, textord, "\u00e6", "\\ae", true); +defineSymbol(text$1, main, textord, "\u0153", "\\oe", true); +defineSymbol(text$1, main, textord, "\u00f8", "\\o", true); +defineSymbol(text$1, main, textord, "\u00c6", "\\AE", true); +defineSymbol(text$1, main, textord, "\u0152", "\\OE", true); +defineSymbol(text$1, main, textord, "\u00d8", "\\O", true); +defineSymbol(text$1, main, accent, "\u02ca", "\\'"); // acute + +defineSymbol(text$1, main, accent, "\u02cb", "\\`"); // grave + +defineSymbol(text$1, main, accent, "\u02c6", "\\^"); // circumflex + +defineSymbol(text$1, main, accent, "\u02dc", "\\~"); // tilde + +defineSymbol(text$1, main, accent, "\u02c9", "\\="); // macron + +defineSymbol(text$1, main, accent, "\u02d8", "\\u"); // breve + +defineSymbol(text$1, main, accent, "\u02d9", "\\."); // dot above + +defineSymbol(text$1, main, accent, "\u02da", "\\r"); // ring above + +defineSymbol(text$1, main, accent, "\u02c7", "\\v"); // caron + +defineSymbol(text$1, main, accent, "\u00a8", '\\"'); // diaresis + +defineSymbol(text$1, main, accent, "\u02dd", "\\H"); // double acute + +defineSymbol(text$1, main, accent, "\u25ef", "\\textcircled"); // \bigcirc glyph +// These ligatures are detected and created in Parser.js's `formLigatures`. + +const ligatures = { + "--": true, + "---": true, + "``": true, + "''": true +}; +defineSymbol(text$1, main, textord, "\u2013", "--", true); +defineSymbol(text$1, main, textord, "\u2013", "\\textendash"); +defineSymbol(text$1, main, textord, "\u2014", "---", true); +defineSymbol(text$1, main, textord, "\u2014", "\\textemdash"); +defineSymbol(text$1, main, textord, "\u2018", "`", true); +defineSymbol(text$1, main, textord, "\u2018", "\\textquoteleft"); +defineSymbol(text$1, main, textord, "\u2019", "'", true); +defineSymbol(text$1, main, textord, "\u2019", "\\textquoteright"); +defineSymbol(text$1, main, textord, "\u201c", "``", true); +defineSymbol(text$1, main, textord, "\u201c", "\\textquotedblleft"); +defineSymbol(text$1, main, textord, "\u201d", "''", true); +defineSymbol(text$1, main, textord, "\u201d", "\\textquotedblright"); // \degree from gensymb package + +defineSymbol(math, main, textord, "\u00b0", "\\degree", true); +defineSymbol(text$1, main, textord, "\u00b0", "\\degree"); // \textdegree from inputenc package + +defineSymbol(text$1, main, textord, "\u00b0", "\\textdegree", true); // TODO: In LaTeX, \pounds can generate a different character in text and math +// mode, but among our fonts, only Main-Regular defines this character "163". + +defineSymbol(math, main, textord, "\u00a3", "\\pounds"); +defineSymbol(math, main, textord, "\u00a3", "\\mathsterling", true); +defineSymbol(text$1, main, textord, "\u00a3", "\\pounds"); +defineSymbol(text$1, main, textord, "\u00a3", "\\textsterling", true); +defineSymbol(math, ams, textord, "\u2720", "\\maltese"); +defineSymbol(text$1, ams, textord, "\u2720", "\\maltese"); // There are lots of symbols which are the same, so we add them in afterwards. +// All of these are textords in math mode + +const mathTextSymbols = "0123456789/@.\""; + +for (let i = 0; i < mathTextSymbols.length; i++) { + const ch = mathTextSymbols.charAt(i); + defineSymbol(math, main, textord, ch, ch); +} // All of these are textords in text mode + + +const textSymbols = "0123456789!@*()-=+\";:?/.,"; + +for (let i = 0; i < textSymbols.length; i++) { + const ch = textSymbols.charAt(i); + defineSymbol(text$1, main, textord, ch, ch); +} // All of these are textords in text mode, and mathords in math mode + + +const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + +for (let i = 0; i < letters.length; i++) { + const ch = letters.charAt(i); + defineSymbol(math, main, mathord, ch, ch); + defineSymbol(text$1, main, textord, ch, ch); +} // Blackboard bold and script letters in Unicode range + + +defineSymbol(math, ams, textord, "C", "\u2102"); // blackboard bold + +defineSymbol(text$1, ams, textord, "C", "\u2102"); +defineSymbol(math, ams, textord, "H", "\u210D"); +defineSymbol(text$1, ams, textord, "H", "\u210D"); +defineSymbol(math, ams, textord, "N", "\u2115"); +defineSymbol(text$1, ams, textord, "N", "\u2115"); +defineSymbol(math, ams, textord, "P", "\u2119"); +defineSymbol(text$1, ams, textord, "P", "\u2119"); +defineSymbol(math, ams, textord, "Q", "\u211A"); +defineSymbol(text$1, ams, textord, "Q", "\u211A"); +defineSymbol(math, ams, textord, "R", "\u211D"); +defineSymbol(text$1, ams, textord, "R", "\u211D"); +defineSymbol(math, ams, textord, "Z", "\u2124"); +defineSymbol(text$1, ams, textord, "Z", "\u2124"); +defineSymbol(math, main, mathord, "h", "\u210E"); // italic h, Planck constant + +defineSymbol(text$1, main, mathord, "h", "\u210E"); // The next loop loads wide (surrogate pair) characters. +// We support some letters in the Unicode range U+1D400 to U+1D7FF, +// Mathematical Alphanumeric Symbols. +// Some editors do not deal well with wide characters. So don't write the +// string into this file. Instead, create the string from the surrogate pair. + +let wideChar = ""; + +for (let i = 0; i < letters.length; i++) { + const ch = letters.charAt(i); // The hex numbers in the next line are a surrogate pair. + // 0xD835 is the high surrogate for all letters in the range we support. + // 0xDC00 is the low surrogate for bold A. + + wideChar = String.fromCharCode(0xD835, 0xDC00 + i); // A-Z a-z bold + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDC34 + i); // A-Z a-z italic + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDC68 + i); // A-Z a-z bold italic + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDD04 + i); // A-Z a-z Fractur + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDDA0 + i); // A-Z a-z sans-serif + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDDD4 + i); // A-Z a-z sans bold + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDE08 + i); // A-Z a-z sans italic + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDE70 + i); // A-Z a-z monospace + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + + if (i < 26) { + // KaTeX fonts have only capital letters for blackboard bold and script. + // See exception for k below. + wideChar = String.fromCharCode(0xD835, 0xDD38 + i); // A-Z double struck + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDC9C + i); // A-Z script + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + } // TODO: Add bold script when it is supported by a KaTeX font. + +} // "k" is the only double struck lower case letter in the KaTeX fonts. + + +wideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck + +defineSymbol(math, main, mathord, "k", wideChar); +defineSymbol(text$1, main, textord, "k", wideChar); // Next, some wide character numerals + +for (let i = 0; i < 10; i++) { + const ch = i.toString(); + wideChar = String.fromCharCode(0xD835, 0xDFCE + i); // 0-9 bold + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDFE2 + i); // 0-9 sans serif + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDFEC + i); // 0-9 bold sans + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDFF6 + i); // 0-9 monospace + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); +} // We add these Latin-1 letters as symbols for backwards-compatibility, +// but they are not actually in the font, nor are they supported by the +// Unicode accent mechanism, so they fall back to Times font and look ugly. +// TODO(edemaine): Fix this. + + +const extraLatin = "\u00c7\u00d0\u00de\u00e7\u00fe"; + +for (let i = 0; i < extraLatin.length; i++) { + const ch = extraLatin.charAt(i); + defineSymbol(math, main, mathord, ch, ch); + defineSymbol(text$1, main, textord, ch, ch); +} + +/** + * This file provides support for Unicode range U+1D400 to U+1D7FF, + * Mathematical Alphanumeric Symbols. + * + * Function wideCharacterFont takes a wide character as input and returns + * the font information necessary to render it properly. + */ +/** + * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf + * That document sorts characters into groups by font type, say bold or italic. + * + * In the arrays below, each subarray consists three elements: + * * The CSS class of that group when in math mode. + * * The CSS class of that group when in text mode. + * * The font name, so that KaTeX can get font metrics. + */ + +const wideLatinLetterData = [["mathbf", "textbf", "Main-Bold"], // A-Z bold upright +["mathbf", "textbf", "Main-Bold"], // a-z bold upright +["mathnormal", "textit", "Math-Italic"], // A-Z italic +["mathnormal", "textit", "Math-Italic"], // a-z italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // A-Z bold italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // a-z bold italic +// Map fancy A-Z letters to script, not calligraphic. +// This aligns with unicode-math and math fonts (except Cambria Math). +["mathscr", "textscr", "Script-Regular"], // A-Z script +["", "", ""], // a-z script. No font +["", "", ""], // A-Z bold script. No font +["", "", ""], // a-z bold script. No font +["mathfrak", "textfrak", "Fraktur-Regular"], // A-Z Fraktur +["mathfrak", "textfrak", "Fraktur-Regular"], // a-z Fraktur +["mathbb", "textbb", "AMS-Regular"], // A-Z double-struck +["mathbb", "textbb", "AMS-Regular"], // k double-struck +["", "", ""], // A-Z bold Fraktur No font metrics +["", "", ""], // a-z bold Fraktur. No font. +["mathsf", "textsf", "SansSerif-Regular"], // A-Z sans-serif +["mathsf", "textsf", "SansSerif-Regular"], // a-z sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // A-Z bold sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // a-z bold sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // A-Z italic sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // a-z italic sans-serif +["", "", ""], // A-Z bold italic sans. No font +["", "", ""], // a-z bold italic sans. No font +["mathtt", "texttt", "Typewriter-Regular"], // A-Z monospace +["mathtt", "texttt", "Typewriter-Regular"]]; +const wideNumeralData = [["mathbf", "textbf", "Main-Bold"], // 0-9 bold +["", "", ""], // 0-9 double-struck. No KaTeX font. +["mathsf", "textsf", "SansSerif-Regular"], // 0-9 sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // 0-9 bold sans-serif +["mathtt", "texttt", "Typewriter-Regular"]]; +const wideCharacterFont = function wideCharacterFont(wideChar, mode) { + // IE doesn't support codePointAt(). So work with the surrogate pair. + const H = wideChar.charCodeAt(0); // high surrogate + + const L = wideChar.charCodeAt(1); // low surrogate + + const codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000; + const j = mode === "math" ? 0 : 1; // column index for CSS class. + + if (0x1D400 <= codePoint && codePoint < 0x1D6A4) { + // wideLatinLetterData contains exactly 26 chars on each row. + // So we can calculate the relevant row. No traverse necessary. + const i = Math.floor((codePoint - 0x1D400) / 26); + return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]]; + } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) { + // Numerals, ten per row. + const i = Math.floor((codePoint - 0x1D7CE) / 10); + return [wideNumeralData[i][2], wideNumeralData[i][j]]; + } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) { + // dotless i or j + return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]]; + } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) { + // Greek letters. Not supported, yet. + return ["", ""]; + } else { + // We don't support any wide characters outside 1D400–1D7FF. + throw new ParseError("Unsupported character: " + wideChar); + } +}; + +/** + * This file contains information about the options that the Parser carries + * around with it while parsing. Data is held in an `Options` object, and when + * recursing, a new `Options` object can be created with the `.with*` and + * `.reset` functions. + */ +const sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize]. +// The size mappings are taken from TeX with \normalsize=10pt. +[1, 1, 1], // size1: [5, 5, 5] \tiny +[2, 1, 1], // size2: [6, 5, 5] +[3, 1, 1], // size3: [7, 5, 5] \scriptsize +[4, 2, 1], // size4: [8, 6, 5] \footnotesize +[5, 2, 1], // size5: [9, 6, 5] \small +[6, 3, 1], // size6: [10, 7, 5] \normalsize +[7, 4, 2], // size7: [12, 8, 6] \large +[8, 6, 3], // size8: [14.4, 10, 7] \Large +[9, 7, 6], // size9: [17.28, 12, 10] \LARGE +[10, 8, 7], // size10: [20.74, 14.4, 12] \huge +[11, 10, 9]]; +const sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if +// you change size indexes, change that function. +0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488]; + +const sizeAtStyle = function sizeAtStyle(size, style) { + return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1]; +}; // In these types, "" (empty string) means "no change". + + +/** + * This is the main options class. It contains the current style, size, color, + * and font. + * + * Options objects should not be modified. To create a new Options with + * different properties, call a `.having*` method. + */ +class Options { + // A font family applies to a group of fonts (i.e. SansSerif), while a font + // represents a specific font (i.e. SansSerif Bold). + // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm + + /** + * The base size index. + */ + constructor(data) { + this.style = void 0; + this.color = void 0; + this.size = void 0; + this.textSize = void 0; + this.phantom = void 0; + this.font = void 0; + this.fontFamily = void 0; + this.fontWeight = void 0; + this.fontShape = void 0; + this.sizeMultiplier = void 0; + this.maxSize = void 0; + this.minRuleThickness = void 0; + this._fontMetrics = void 0; + this.style = data.style; + this.color = data.color; + this.size = data.size || Options.BASESIZE; + this.textSize = data.textSize || this.size; + this.phantom = !!data.phantom; + this.font = data.font || ""; + this.fontFamily = data.fontFamily || ""; + this.fontWeight = data.fontWeight || ''; + this.fontShape = data.fontShape || ''; + this.sizeMultiplier = sizeMultipliers[this.size - 1]; + this.maxSize = data.maxSize; + this.minRuleThickness = data.minRuleThickness; + this._fontMetrics = undefined; + } + /** + * Returns a new options object with the same properties as "this". Properties + * from "extension" will be copied to the new options object. + */ + + + extend(extension) { + const data = { + style: this.style, + size: this.size, + textSize: this.textSize, + color: this.color, + phantom: this.phantom, + font: this.font, + fontFamily: this.fontFamily, + fontWeight: this.fontWeight, + fontShape: this.fontShape, + maxSize: this.maxSize, + minRuleThickness: this.minRuleThickness + }; + + for (const key in extension) { + if (extension.hasOwnProperty(key)) { + data[key] = extension[key]; + } + } + + return new Options(data); + } + /** + * Return an options object with the given style. If `this.style === style`, + * returns `this`. + */ + + + havingStyle(style) { + if (this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: sizeAtStyle(this.textSize, style) + }); + } + } + /** + * Return an options object with a cramped version of the current style. If + * the current style is cramped, returns `this`. + */ + + + havingCrampedStyle() { + return this.havingStyle(this.style.cramp()); + } + /** + * Return an options object with the given size and in at least `\textstyle`. + * Returns `this` if appropriate. + */ + + + havingSize(size) { + if (this.size === size && this.textSize === size) { + return this; + } else { + return this.extend({ + style: this.style.text(), + size: size, + textSize: size, + sizeMultiplier: sizeMultipliers[size - 1] + }); + } + } + /** + * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted, + * changes to at least `\textstyle`. + */ + + + havingBaseStyle(style) { + style = style || this.style.text(); + const wantSize = sizeAtStyle(Options.BASESIZE, style); + + if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: wantSize + }); + } + } + /** + * Remove the effect of sizing changes such as \Huge. + * Keep the effect of the current style, such as \scriptstyle. + */ + + + havingBaseSizing() { + let size; + + switch (this.style.id) { + case 4: + case 5: + size = 3; // normalsize in scriptstyle + + break; + + case 6: + case 7: + size = 1; // normalsize in scriptscriptstyle + + break; + + default: + size = 6; + // normalsize in textstyle or displaystyle + } + + return this.extend({ + style: this.style.text(), + size: size + }); + } + /** + * Create a new options object with the given color. + */ + + + withColor(color) { + return this.extend({ + color: color + }); + } + /** + * Create a new options object with "phantom" set to true. + */ + + + withPhantom() { + return this.extend({ + phantom: true + }); + } + /** + * Creates a new options object with the given math font or old text font. + * @type {[type]} + */ + + + withFont(font) { + return this.extend({ + font + }); + } + /** + * Create a new options objects with the given fontFamily. + */ + + + withTextFontFamily(fontFamily) { + return this.extend({ + fontFamily, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + + + withTextFontWeight(fontWeight) { + return this.extend({ + fontWeight, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + + + withTextFontShape(fontShape) { + return this.extend({ + fontShape, + font: "" + }); + } + /** + * Return the CSS sizing classes required to switch from enclosing options + * `oldOptions` to `this`. Returns an array of classes. + */ + + + sizingClasses(oldOptions) { + if (oldOptions.size !== this.size) { + return ["sizing", "reset-size" + oldOptions.size, "size" + this.size]; + } else { + return []; + } + } + /** + * Return the CSS sizing classes required to switch to the base size. Like + * `this.havingSize(BASESIZE).sizingClasses(this)`. + */ + + + baseSizingClasses() { + if (this.size !== Options.BASESIZE) { + return ["sizing", "reset-size" + this.size, "size" + Options.BASESIZE]; + } else { + return []; + } + } + /** + * Return the font metrics for this size. + */ + + + fontMetrics() { + if (!this._fontMetrics) { + this._fontMetrics = getGlobalMetrics(this.size); + } + + return this._fontMetrics; + } + /** + * Gets the CSS color of the current options object + */ + + + getColor() { + if (this.phantom) { + return "transparent"; + } else { + return this.color; + } + } + +} + +Options.BASESIZE = 6; + +/** + * This file does conversion between units. In particular, it provides + * calculateSize to convert other units into ems. + */ +// Thus, multiplying a length by this number converts the length from units +// into pts. Dividing the result by ptPerEm gives the number of ems +// *assuming* a font size of ptPerEm (normal size, normal style). + +const ptPerUnit = { + // https://en.wikibooks.org/wiki/LaTeX/Lengths and + // https://tex.stackexchange.com/a/8263 + "pt": 1, + // TeX point + "mm": 7227 / 2540, + // millimeter + "cm": 7227 / 254, + // centimeter + "in": 72.27, + // inch + "bp": 803 / 800, + // big (PostScript) points + "pc": 12, + // pica + "dd": 1238 / 1157, + // didot + "cc": 14856 / 1157, + // cicero (12 didot) + "nd": 685 / 642, + // new didot + "nc": 1370 / 107, + // new cicero (12 new didot) + "sp": 1 / 65536, + // scaled point (TeX's internal smallest unit) + // https://tex.stackexchange.com/a/41371 + "px": 803 / 800 // \pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX + +}; // Dictionary of relative units, for fast validity testing. + +const relativeUnit = { + "ex": true, + "em": true, + "mu": true +}; + +/** + * Determine whether the specified unit (either a string defining the unit + * or a "size" parse node containing a unit field) is valid. + */ +const validUnit = function validUnit(unit) { + if (typeof unit !== "string") { + unit = unit.unit; + } + + return unit in ptPerUnit || unit in relativeUnit || unit === "ex"; +}; +/* + * Convert a "size" parse node (with numeric "number" and string "unit" fields, + * as parsed by functions.js argType "size") into a CSS em value for the + * current style/scale. `options` gives the current options. + */ + +const calculateSize = function calculateSize(sizeValue, options) { + let scale; + + if (sizeValue.unit in ptPerUnit) { + // Absolute units + scale = ptPerUnit[sizeValue.unit] // Convert unit to pt + / options.fontMetrics().ptPerEm // Convert pt to CSS em + / options.sizeMultiplier; // Unscale to make absolute units + } else if (sizeValue.unit === "mu") { + // `mu` units scale with scriptstyle/scriptscriptstyle. + scale = options.fontMetrics().cssEmPerMu; + } else { + // Other relative units always refer to the *textstyle* font + // in the current size. + let unitOptions; + + if (options.style.isTight()) { + // isTight() means current style is script/scriptscript. + unitOptions = options.havingStyle(options.style.text()); + } else { + unitOptions = options; + } // TODO: In TeX these units are relative to the quad of the current + // *text* font, e.g. cmr10. KaTeX instead uses values from the + // comparably-sized *Computer Modern symbol* font. At 10pt, these + // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641; + // cmr5=1.361133, cmsy5=1.472241. Consider $\scriptsize a\kern1emb$. + // TeX \showlists shows a kern of 1.13889 * fontsize; + // KaTeX shows a kern of 1.171 * fontsize. + + + if (sizeValue.unit === "ex") { + scale = unitOptions.fontMetrics().xHeight; + } else if (sizeValue.unit === "em") { + scale = unitOptions.fontMetrics().quad; + } else { + throw new ParseError("Invalid unit: '" + sizeValue.unit + "'"); + } + + if (unitOptions !== options) { + scale *= unitOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + return Math.min(sizeValue.number * scale, options.maxSize); +}; + +/* eslint no-console:0 */ + +/** + * Looks up the given symbol in fontMetrics, after applying any symbol + * replacements defined in symbol.js + */ +const lookupSymbol = function lookupSymbol(value, // TODO(#963): Use a union type for this. +fontName, mode) { + // Replace the value with its replaced value from symbol.js + if (symbols[mode][value] && symbols[mode][value].replace) { + value = symbols[mode][value].replace; + } + + return { + value: value, + metrics: getCharacterMetrics(value, fontName, mode) + }; +}; +/** + * Makes a symbolNode after translation via the list of symbols in symbols.js. + * Correctly pulls out metrics for the character, and optionally takes a list of + * classes to be attached to the node. + * + * TODO: make argument order closer to makeSpan + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + * TODO(#953): Make `options` mandatory and always pass it in. + */ + + +const makeSymbol = function makeSymbol(value, fontName, mode, options, classes) { + const lookup = lookupSymbol(value, fontName, mode); + const metrics = lookup.metrics; + value = lookup.value; + let symbolNode; + + if (metrics) { + let italic = metrics.italic; + + if (mode === "text" || options && options.font === "mathit") { + italic = 0; + } + + symbolNode = new SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes); + } else { + // TODO(emily): Figure out a good way to only print this in development + typeof console !== "undefined" && console.warn("No character metrics " + `for '${value}' in style '${fontName}' and mode '${mode}'`); + symbolNode = new SymbolNode(value, 0, 0, 0, 0, 0, classes); + } + + if (options) { + symbolNode.maxFontSize = options.sizeMultiplier; + + if (options.style.isTight()) { + symbolNode.classes.push("mtight"); + } + + const color = options.getColor(); + + if (color) { + symbolNode.style.color = color; + } + } + + return symbolNode; +}; +/** + * Makes a symbol in Main-Regular or AMS-Regular. + * Used for rel, bin, open, close, inner, and punct. + */ + + +const mathsym = function mathsym(value, mode, options, classes) { + if (classes === void 0) { + classes = []; + } + + // Decide what font to render the symbol in by its entry in the symbols + // table. + // Have a special case for when the value = \ because the \ is used as a + // textord in unsupported command errors but cannot be parsed as a regular + // text ordinal and is therefore not present as a symbol in the symbols + // table for text, as well as a special case for boldsymbol because it + // can be used for bold + and - + if (options.font === "boldsymbol" && lookupSymbol(value, "Main-Bold", mode).metrics) { + return makeSymbol(value, "Main-Bold", mode, options, classes.concat(["mathbf"])); + } else if (value === "\\" || symbols[mode][value].font === "main") { + return makeSymbol(value, "Main-Regular", mode, options, classes); + } else { + return makeSymbol(value, "AMS-Regular", mode, options, classes.concat(["amsrm"])); + } +}; +/** + * Determines which of the two font names (Main-Bold and Math-BoldItalic) and + * corresponding style tags (mathbf or boldsymbol) to use for font "boldsymbol", + * depending on the symbol. Use this function instead of fontMap for font + * "boldsymbol". + */ + + +const boldsymbol = function boldsymbol(value, mode, options, classes, type) { + if (type !== "textord" && lookupSymbol(value, "Math-BoldItalic", mode).metrics) { + return { + fontName: "Math-BoldItalic", + fontClass: "boldsymbol" + }; + } else { + // Some glyphs do not exist in Math-BoldItalic so we need to use + // Main-Bold instead. + return { + fontName: "Main-Bold", + fontClass: "mathbf" + }; + } +}; +/** + * Makes either a mathord or textord in the correct font and color. + */ + + +const makeOrd = function makeOrd(group, options, type) { + const mode = group.mode; + const text = group.text; + const classes = ["mord"]; // Math mode or Old font (i.e. \rm) + + const isFont = mode === "math" || mode === "text" && options.font; + const fontOrFamily = isFont ? options.font : options.fontFamily; + + if (text.charCodeAt(0) === 0xD835) { + // surrogate pairs get special treatment + const _wideCharacterFont = wideCharacterFont(text, mode), + wideFontName = _wideCharacterFont[0], + wideFontClass = _wideCharacterFont[1]; + + return makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass)); + } else if (fontOrFamily) { + let fontName; + let fontClasses; + + if (fontOrFamily === "boldsymbol") { + const fontData = boldsymbol(text, mode, options, classes, type); + fontName = fontData.fontName; + fontClasses = [fontData.fontClass]; + } else if (isFont) { + fontName = fontMap[fontOrFamily].fontName; + fontClasses = [fontOrFamily]; + } else { + fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape); + fontClasses = [fontOrFamily, options.fontWeight, options.fontShape]; + } + + if (lookupSymbol(text, fontName, mode).metrics) { + return makeSymbol(text, fontName, mode, options, classes.concat(fontClasses)); + } else if (ligatures.hasOwnProperty(text) && fontName.substr(0, 10) === "Typewriter") { + // Deconstruct ligatures in monospace fonts (\texttt, \tt). + const parts = []; + + for (let i = 0; i < text.length; i++) { + parts.push(makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses))); + } + + return makeFragment(parts); + } + } // Makes a symbol in the default font for mathords and textords. + + + if (type === "mathord") { + return makeSymbol(text, "Math-Italic", mode, options, classes.concat(["mathnormal"])); + } else if (type === "textord") { + const font = symbols[mode][text] && symbols[mode][text].font; + + if (font === "ams") { + const fontName = retrieveTextFontName("amsrm", options.fontWeight, options.fontShape); + return makeSymbol(text, fontName, mode, options, classes.concat("amsrm", options.fontWeight, options.fontShape)); + } else if (font === "main" || !font) { + const fontName = retrieveTextFontName("textrm", options.fontWeight, options.fontShape); + return makeSymbol(text, fontName, mode, options, classes.concat(options.fontWeight, options.fontShape)); + } else { + // fonts added by plugins + const fontName = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class + + return makeSymbol(text, fontName, mode, options, classes.concat(fontName, options.fontWeight, options.fontShape)); + } + } else { + throw new Error("unexpected type: " + type + " in makeOrd"); + } +}; +/** + * Returns true if subsequent symbolNodes have the same classes, skew, maxFont, + * and styles. + */ + + +const canCombine = (prev, next) => { + if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) { + return false; + } + + for (const style in prev.style) { + if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) { + return false; + } + } + + for (const style in next.style) { + if (next.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) { + return false; + } + } + + return true; +}; +/** + * Combine consequetive domTree.symbolNodes into a single symbolNode. + * Note: this function mutates the argument. + */ + + +const tryCombineChars = chars => { + for (let i = 0; i < chars.length - 1; i++) { + const prev = chars[i]; + const next = chars[i + 1]; + + if (prev instanceof SymbolNode && next instanceof SymbolNode && canCombine(prev, next)) { + prev.text += next.text; + prev.height = Math.max(prev.height, next.height); + prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use + // it to add padding to the right of the span created from + // the combined characters. + + prev.italic = next.italic; + chars.splice(i + 1, 1); + i--; + } + } + + return chars; +}; +/** + * Calculate the height, depth, and maxFontSize of an element based on its + * children. + */ + + +const sizeElementFromChildren = function sizeElementFromChildren(elem) { + let height = 0; + let depth = 0; + let maxFontSize = 0; + + for (let i = 0; i < elem.children.length; i++) { + const child = elem.children[i]; + + if (child.height > height) { + height = child.height; + } + + if (child.depth > depth) { + depth = child.depth; + } + + if (child.maxFontSize > maxFontSize) { + maxFontSize = child.maxFontSize; + } + } + + elem.height = height; + elem.depth = depth; + elem.maxFontSize = maxFontSize; +}; +/** + * Makes a span with the given list of classes, list of children, and options. + * + * TODO(#953): Ensure that `options` is always provided (currently some call + * sites don't pass it) and make the type below mandatory. + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + */ + + +const makeSpan = function makeSpan(classes, children, options, style) { + const span = new Span(classes, children, options, style); + sizeElementFromChildren(span); + return span; +}; // SVG one is simpler -- doesn't require height, depth, max-font setting. +// This is also a separate method for typesafety. + + +const makeSvgSpan = (classes, children, options, style) => new Span(classes, children, options, style); + +const makeLineSpan = function makeLineSpan(className, options, thickness) { + const line = makeSpan([className], [], options); + line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness); + line.style.borderBottomWidth = line.height + "em"; + line.maxFontSize = 1.0; + return line; +}; +/** + * Makes an anchor with the given href, list of classes, list of children, + * and options. + */ + + +const makeAnchor = function makeAnchor(href, classes, children, options) { + const anchor = new Anchor(href, classes, children, options); + sizeElementFromChildren(anchor); + return anchor; +}; +/** + * Makes a document fragment with the given list of children. + */ + + +const makeFragment = function makeFragment(children) { + const fragment = new DocumentFragment(children); + sizeElementFromChildren(fragment); + return fragment; +}; +/** + * Wraps group in a span if it's a document fragment, allowing to apply classes + * and styles + */ + + +const wrapFragment = function wrapFragment(group, options) { + if (group instanceof DocumentFragment) { + return makeSpan([], [group], options); + } + + return group; +}; // These are exact object types to catch typos in the names of the optional fields. + + +// Computes the updated `children` list and the overall depth. +// +// This helper function for makeVList makes it easier to enforce type safety by +// allowing early exits (returns) in the logic. +const getVListChildrenAndDepth = function getVListChildrenAndDepth(params) { + if (params.positionType === "individualShift") { + const oldChildren = params.children; + const children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be + // shifted to the correct specified shift + + const depth = -oldChildren[0].shift - oldChildren[0].elem.depth; + let currPos = depth; + + for (let i = 1; i < oldChildren.length; i++) { + const diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth; + const size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth); + currPos = currPos + diff; + children.push({ + type: "kern", + size + }); + children.push(oldChildren[i]); + } + + return { + children, + depth + }; + } + + let depth; + + if (params.positionType === "top") { + // We always start at the bottom, so calculate the bottom by adding up + // all the sizes + let bottom = params.positionData; + + for (let i = 0; i < params.children.length; i++) { + const child = params.children[i]; + bottom -= child.type === "kern" ? child.size : child.elem.height + child.elem.depth; + } + + depth = bottom; + } else if (params.positionType === "bottom") { + depth = -params.positionData; + } else { + const firstChild = params.children[0]; + + if (firstChild.type !== "elem") { + throw new Error('First child must have type "elem".'); + } + + if (params.positionType === "shift") { + depth = -firstChild.elem.depth - params.positionData; + } else if (params.positionType === "firstBaseline") { + depth = -firstChild.elem.depth; + } else { + throw new Error(`Invalid positionType ${params.positionType}.`); + } + } + + return { + children: params.children, + depth + }; +}; +/** + * Makes a vertical list by stacking elements and kerns on top of each other. + * Allows for many different ways of specifying the positioning method. + * + * See VListParam documentation above. + */ + + +const makeVList = function makeVList(params, options) { + const _getVListChildrenAndD = getVListChildrenAndDepth(params), + children = _getVListChildrenAndD.children, + depth = _getVListChildrenAndD.depth; // Create a strut that is taller than any list item. The strut is added to + // each item, where it will determine the item's baseline. Since it has + // `overflow:hidden`, the strut's top edge will sit on the item's line box's + // top edge and the strut's bottom edge will sit on the item's baseline, + // with no additional line-height spacing. This allows the item baseline to + // be positioned precisely without worrying about font ascent and + // line-height. + + + let pstrutSize = 0; + + for (let i = 0; i < children.length; i++) { + const child = children[i]; + + if (child.type === "elem") { + const elem = child.elem; + pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height); + } + } + + pstrutSize += 2; + const pstrut = makeSpan(["pstrut"], []); + pstrut.style.height = pstrutSize + "em"; // Create a new list of actual children at the correct offsets + + const realChildren = []; + let minPos = depth; + let maxPos = depth; + let currPos = depth; + + for (let i = 0; i < children.length; i++) { + const child = children[i]; + + if (child.type === "kern") { + currPos += child.size; + } else { + const elem = child.elem; + const classes = child.wrapperClasses || []; + const style = child.wrapperStyle || {}; + const childWrap = makeSpan(classes, [pstrut, elem], undefined, style); + childWrap.style.top = -pstrutSize - currPos - elem.depth + "em"; + + if (child.marginLeft) { + childWrap.style.marginLeft = child.marginLeft; + } + + if (child.marginRight) { + childWrap.style.marginRight = child.marginRight; + } + + realChildren.push(childWrap); + currPos += elem.height + elem.depth; + } + + minPos = Math.min(minPos, currPos); + maxPos = Math.max(maxPos, currPos); + } // The vlist contents go in a table-cell with `vertical-align:bottom`. + // This cell's bottom edge will determine the containing table's baseline + // without overly expanding the containing line-box. + + + const vlist = makeSpan(["vlist"], realChildren); + vlist.style.height = maxPos + "em"; // A second row is used if necessary to represent the vlist's depth. + + let rows; + + if (minPos < 0) { + // We will define depth in an empty span with display: table-cell. + // It should render with the height that we define. But Chrome, in + // contenteditable mode only, treats that span as if it contains some + // text content. And that min-height over-rides our desired height. + // So we put another empty span inside the depth strut span. + const emptySpan = makeSpan([], []); + const depthStrut = makeSpan(["vlist"], [emptySpan]); + depthStrut.style.height = -minPos + "em"; // Safari wants the first row to have inline content; otherwise it + // puts the bottom of the *second* row on the baseline. + + const topStrut = makeSpan(["vlist-s"], [new SymbolNode("\u200b")]); + rows = [makeSpan(["vlist-r"], [vlist, topStrut]), makeSpan(["vlist-r"], [depthStrut])]; + } else { + rows = [makeSpan(["vlist-r"], [vlist])]; + } + + const vtable = makeSpan(["vlist-t"], rows); + + if (rows.length === 2) { + vtable.classes.push("vlist-t2"); + } + + vtable.height = maxPos; + vtable.depth = -minPos; + return vtable; +}; // Glue is a concept from TeX which is a flexible space between elements in +// either a vertical or horizontal list. In KaTeX, at least for now, it's +// static space between elements in a horizontal layout. + + +const makeGlue = (measurement, options) => { + // Make an empty span for the space + const rule = makeSpan(["mspace"], [], options); + const size = calculateSize(measurement, options); + rule.style.marginRight = `${size}em`; + return rule; +}; // Takes font options, and returns the appropriate fontLookup name + + +const retrieveTextFontName = function retrieveTextFontName(fontFamily, fontWeight, fontShape) { + let baseFontName = ""; + + switch (fontFamily) { + case "amsrm": + baseFontName = "AMS"; + break; + + case "textrm": + baseFontName = "Main"; + break; + + case "textsf": + baseFontName = "SansSerif"; + break; + + case "texttt": + baseFontName = "Typewriter"; + break; + + default: + baseFontName = fontFamily; + // use fonts added by a plugin + } + + let fontStylesName; + + if (fontWeight === "textbf" && fontShape === "textit") { + fontStylesName = "BoldItalic"; + } else if (fontWeight === "textbf") { + fontStylesName = "Bold"; + } else if (fontWeight === "textit") { + fontStylesName = "Italic"; + } else { + fontStylesName = "Regular"; + } + + return `${baseFontName}-${fontStylesName}`; +}; +/** + * Maps TeX font commands to objects containing: + * - variant: string used for "mathvariant" attribute in buildMathML.js + * - fontName: the "style" parameter to fontMetrics.getCharacterMetrics + */ +// A map between tex font commands an MathML mathvariant attribute values + + +const fontMap = { + // styles + "mathbf": { + variant: "bold", + fontName: "Main-Bold" + }, + "mathrm": { + variant: "normal", + fontName: "Main-Regular" + }, + "textit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathnormal": { + variant: "italic", + fontName: "Math-Italic" + }, + // "boldsymbol" is missing because they require the use of multiple fonts: + // Math-BoldItalic and Main-Bold. This is handled by a special case in + // makeOrd which ends up calling boldsymbol. + // families + "mathbb": { + variant: "double-struck", + fontName: "AMS-Regular" + }, + "mathcal": { + variant: "script", + fontName: "Caligraphic-Regular" + }, + "mathfrak": { + variant: "fraktur", + fontName: "Fraktur-Regular" + }, + "mathscr": { + variant: "script", + fontName: "Script-Regular" + }, + "mathsf": { + variant: "sans-serif", + fontName: "SansSerif-Regular" + }, + "mathtt": { + variant: "monospace", + fontName: "Typewriter-Regular" + } +}; +const svgData = { + // path, width, height + vec: ["vec", 0.471, 0.714], + // values from the font glyph + oiintSize1: ["oiintSize1", 0.957, 0.499], + // oval to overlay the integrand + oiintSize2: ["oiintSize2", 1.472, 0.659], + oiiintSize1: ["oiiintSize1", 1.304, 0.499], + oiiintSize2: ["oiiintSize2", 1.98, 0.659], + leftParenInner: ["leftParenInner", 0.875, 0.3], + rightParenInner: ["rightParenInner", 0.875, 0.3] +}; + +const staticSvg = function staticSvg(value, options) { + // Create a span with inline SVG for the element. + const _svgData$value = svgData[value], + pathName = _svgData$value[0], + width = _svgData$value[1], + height = _svgData$value[2]; + const path = new PathNode(pathName); + const svgNode = new SvgNode([path], { + "width": width + "em", + "height": height + "em", + // Override CSS rule `.katex svg { width: 100% }` + "style": "width:" + width + "em", + "viewBox": "0 0 " + 1000 * width + " " + 1000 * height, + "preserveAspectRatio": "xMinYMin" + }); + const span = makeSvgSpan(["overlay"], [svgNode], options); + span.height = height; + span.style.height = height + "em"; + span.style.width = width + "em"; + return span; +}; + +var buildCommon = { + fontMap, + makeSymbol, + mathsym, + makeSpan, + makeSvgSpan, + makeLineSpan, + makeAnchor, + makeFragment, + wrapFragment, + makeVList, + makeOrd, + makeGlue, + staticSvg, + svgData, + tryCombineChars +}; + +/** + * Describes spaces between different classes of atoms. + */ +const thinspace = { + number: 3, + unit: "mu" +}; +const mediumspace = { + number: 4, + unit: "mu" +}; +const thickspace = { + number: 5, + unit: "mu" +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. + +// Spacing relationships for display and text styles +const spacings = { + mord: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + minner: thinspace + }, + mbin: { + mord: mediumspace, + mop: mediumspace, + mopen: mediumspace, + minner: mediumspace + }, + mrel: { + mord: thickspace, + mop: thickspace, + mopen: thickspace, + minner: thickspace + }, + mopen: {}, + mclose: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mpunct: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + mopen: thinspace, + mclose: thinspace, + mpunct: thinspace, + minner: thinspace + }, + minner: { + mord: thinspace, + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + mopen: thinspace, + mpunct: thinspace, + minner: thinspace + } +}; // Spacing relationships for script and scriptscript styles + +const tightSpacings = { + mord: { + mop: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace + }, + mbin: {}, + mrel: {}, + mopen: {}, + mclose: { + mop: thinspace + }, + mpunct: {}, + minner: { + mop: thinspace + } +}; + +/** Context provided to function handlers for error messages. */ +// Note: reverse the order of the return type union will cause a flow error. +// See https://github.com/facebook/flow/issues/3663. +// More general version of `HtmlBuilder` for nodes (e.g. \sum, accent types) +// whose presence impacts super/subscripting. In this case, ParseNode<"supsub"> +// delegates its HTML building to the HtmlBuilder corresponding to these nodes. + +/** + * Final function spec for use at parse time. + * This is almost identical to `FunctionPropSpec`, except it + * 1. includes the function handler, and + * 2. requires all arguments except argTypes. + * It is generated by `defineFunction()` below. + */ + +/** + * All registered functions. + * `functions.js` just exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary. + */ +const _functions = {}; +/** + * All HTML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +const _htmlGroupBuilders = {}; +/** + * All MathML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +const _mathmlGroupBuilders = {}; +function defineFunction(_ref) { + let type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of functions + const data = { + type, + numArgs: props.numArgs, + argTypes: props.argTypes, + greediness: props.greediness === undefined ? 1 : props.greediness, + allowedInText: !!props.allowedInText, + allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath, + numOptionalArgs: props.numOptionalArgs || 0, + infix: !!props.infix, + handler: handler + }; + + for (let i = 0; i < names.length; ++i) { + _functions[names[i]] = data; + } + + if (type) { + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } + } +} +/** + * Use this to register only the HTML and MathML builders for a function (e.g. + * if the function's ParseNode is generated in Parser.js rather than via a + * stand-alone handler provided to `defineFunction`). + */ + +function defineFunctionBuilders(_ref2) { + let type = _ref2.type, + htmlBuilder = _ref2.htmlBuilder, + mathmlBuilder = _ref2.mathmlBuilder; + defineFunction({ + type, + names: [], + props: { + numArgs: 0 + }, + + handler() { + throw new Error('Should never be called.'); + }, + + htmlBuilder, + mathmlBuilder + }); +} // Since the corresponding buildHTML/buildMathML function expects a +// list of elements, we normalize for different kinds of arguments + +const ordargument = function ordargument(arg) { + return arg.type === "ordgroup" ? arg.body : [arg]; +}; + +/** + * This file does the main work of building a domTree structure from a parse + * tree. The entry point is the `buildHTML` function, which takes a parse tree. + * Then, the buildExpression, buildGroup, and various groupBuilders functions + * are called, to produce a final HTML tree. + */ +const makeSpan$1 = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`) +// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6, +// and the text before Rule 19. + +const binLeftCanceller = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"]; +const binRightCanceller = ["rightmost", "mrel", "mclose", "mpunct"]; +const styleMap = { + "display": Style$1.DISPLAY, + "text": Style$1.TEXT, + "script": Style$1.SCRIPT, + "scriptscript": Style$1.SCRIPTSCRIPT +}; +const DomEnum = { + mord: "mord", + mop: "mop", + mbin: "mbin", + mrel: "mrel", + mopen: "mopen", + mclose: "mclose", + mpunct: "mpunct", + minner: "minner" +}; + +/** + * Take a list of nodes, build them in order, and return a list of the built + * nodes. documentFragments are flattened into their contents, so the + * returned list contains no fragments. `isRealGroup` is true if `expression` + * is a real group (no atoms will be added on either side), as opposed to + * a partial group (e.g. one created by \color). `surrounding` is an array + * consisting type of nodes that will be added to the left and right. + */ +const buildExpression = function buildExpression(expression, options, isRealGroup, surrounding) { + if (surrounding === void 0) { + surrounding = [null, null]; + } + + // Parse expressions into `groups`. + const groups = []; + + for (let i = 0; i < expression.length; i++) { + const output = buildGroup(expression[i], options); + + if (output instanceof DocumentFragment) { + const children = output.children; + groups.push(...children); + } else { + groups.push(output); + } + } // If `expression` is a partial group, let the parent handle spacings + // to avoid processing groups multiple times. + + + if (!isRealGroup) { + return groups; + } + + let glueOptions = options; + + if (expression.length === 1) { + const node = expression[0]; + + if (node.type === "sizing") { + glueOptions = options.havingSize(node.size); + } else if (node.type === "styling") { + glueOptions = options.havingStyle(styleMap[node.style]); + } + } // Dummy spans for determining spacings between surrounding atoms. + // If `expression` has no atoms on the left or right, class "leftmost" + // or "rightmost", respectively, is used to indicate it. + + + const dummyPrev = makeSpan$1([surrounding[0] || "leftmost"], [], options); + const dummyNext = makeSpan$1([surrounding[1] || "rightmost"], [], options); // TODO: These code assumes that a node's math class is the first element + // of its `classes` array. A later cleanup should ensure this, for + // instance by changing the signature of `makeSpan`. + // Before determining what spaces to insert, perform bin cancellation. + // Binary operators change to ordinary symbols in some contexts. + + const isRoot = isRealGroup === "root"; + traverseNonSpaceNodes(groups, (node, prev) => { + const prevType = prev.classes[0]; + const type = node.classes[0]; + + if (prevType === "mbin" && utils.contains(binRightCanceller, type)) { + prev.classes[0] = "mord"; + } else if (type === "mbin" && utils.contains(binLeftCanceller, prevType)) { + node.classes[0] = "mord"; + } + }, { + node: dummyPrev + }, dummyNext, isRoot); + traverseNonSpaceNodes(groups, (node, prev) => { + const prevType = getTypeOfDomTree(prev); + const type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style. + + const space = prevType && type ? node.hasClass("mtight") ? tightSpacings[prevType][type] : spacings[prevType][type] : null; + + if (space) { + // Insert glue (spacing) after the `prev`. + return buildCommon.makeGlue(space, glueOptions); + } + }, { + node: dummyPrev + }, dummyNext, isRoot); + return groups; +}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and +// previous node as arguments, optionally returning a node to insert after the +// previous node. `prev` is an object with the previous node and `insertAfter` +// function to insert after it. `next` is a node that will be added to the right. +// Used for bin cancellation and inserting spacings. + +const traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev, next, isRoot) { + if (next) { + // temporarily append the right node, if exists + nodes.push(next); + } + + let i = 0; + + for (; i < nodes.length; i++) { + const node = nodes[i]; + const partialGroup = checkPartialGroup(node); + + if (partialGroup) { + // Recursive DFS + // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array + traverseNonSpaceNodes(partialGroup.children, callback, prev, null, isRoot); + continue; + } // Ignore explicit spaces (e.g., \;, \,) when determining what implicit + // spacing should go between atoms of different classes + + + const nonspace = !node.hasClass("mspace"); + + if (nonspace) { + const result = callback(node, prev.node); + + if (result) { + if (prev.insertAfter) { + prev.insertAfter(result); + } else { + // insert at front + nodes.unshift(result); + i++; + } + } + } + + if (nonspace) { + prev.node = node; + } else if (isRoot && node.hasClass("newline")) { + prev.node = makeSpan$1(["leftmost"]); // treat like beginning of line + } + + prev.insertAfter = (index => n => { + nodes.splice(index + 1, 0, n); + i++; + })(i); + } + + if (next) { + nodes.pop(); + } +}; // Check if given node is a partial group, i.e., does not affect spacing around. + + +const checkPartialGroup = function checkPartialGroup(node) { + if (node instanceof DocumentFragment || node instanceof Anchor || node instanceof Span && node.hasClass("enclosing")) { + return node; + } + + return null; +}; // Return the outermost node of a domTree. + + +const getOutermostNode = function getOutermostNode(node, side) { + const partialGroup = checkPartialGroup(node); + + if (partialGroup) { + const children = partialGroup.children; + + if (children.length) { + if (side === "right") { + return getOutermostNode(children[children.length - 1], "right"); + } else if (side === "left") { + return getOutermostNode(children[0], "left"); + } + } + } + + return node; +}; // Return math atom class (mclass) of a domTree. +// If `side` is given, it will get the type of the outermost node at given side. + + +const getTypeOfDomTree = function getTypeOfDomTree(node, side) { + if (!node) { + return null; + } + + if (side) { + node = getOutermostNode(node, side); + } // This makes a lot of assumptions as to where the type of atom + // appears. We should do a better job of enforcing this. + + + return DomEnum[node.classes[0]] || null; +}; +const makeNullDelimiter = function makeNullDelimiter(options, classes) { + const moreClasses = ["nulldelimiter"].concat(options.baseSizingClasses()); + return makeSpan$1(classes.concat(moreClasses)); +}; +/** + * buildGroup is the function that takes a group and calls the correct groupType + * function for it. It also handles the interaction of size and style changes + * between parents and children. + */ + +const buildGroup = function buildGroup(group, options, baseOptions) { + if (!group) { + return makeSpan$1(); + } + + if (_htmlGroupBuilders[group.type]) { + // Call the groupBuilders function + let groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account + // for that size difference. + + if (baseOptions && options.size !== baseOptions.size) { + groupNode = makeSpan$1(options.sizingClasses(baseOptions), [groupNode], options); + const multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; + groupNode.height *= multiplier; + groupNode.depth *= multiplier; + } + + return groupNode; + } else { + throw new ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`) + * into an unbreakable HTML node of class .base, with proper struts to + * guarantee correct vertical extent. `buildHTML` calls this repeatedly to + * make up the entire expression as a sequence of unbreakable units. + */ + +function buildHTMLUnbreakable(children, options) { + // Compute height and depth of this chunk. + const body = makeSpan$1(["base"], children, options); // Add strut, which ensures that the top of the HTML element falls at + // the height of the expression, and the bottom of the HTML element + // falls at the depth of the expression. + + const strut = makeSpan$1(["strut"]); + strut.style.height = body.height + body.depth + "em"; + strut.style.verticalAlign = -body.depth + "em"; + body.children.unshift(strut); + return body; +} +/** + * Take an entire parse tree, and build it into an appropriate set of HTML + * nodes. + */ + + +function buildHTML(tree, options) { + // Strip off outer tag wrapper for processing below. + let tag = null; + + if (tree.length === 1 && tree[0].type === "tag") { + tag = tree[0].tag; + tree = tree[0].body; + } // Build the expression contained in the tree + + + const expression = buildExpression(tree, options, "root"); + const children = []; // Create one base node for each chunk between potential line breaks. + // The TeXBook [p.173] says "A formula will be broken only after a + // relation symbol like $=$ or $<$ or $\rightarrow$, or after a binary + // operation symbol like $+$ or $-$ or $\times$, where the relation or + // binary operation is on the ``outer level'' of the formula (i.e., not + // enclosed in {...} and not part of an \over construction)." + + let parts = []; + + for (let i = 0; i < expression.length; i++) { + parts.push(expression[i]); + + if (expression[i].hasClass("mbin") || expression[i].hasClass("mrel") || expression[i].hasClass("allowbreak")) { + // Put any post-operator glue on same line as operator. + // Watch for \nobreak along the way, and stop at \newline. + let nobreak = false; + + while (i < expression.length - 1 && expression[i + 1].hasClass("mspace") && !expression[i + 1].hasClass("newline")) { + i++; + parts.push(expression[i]); + + if (expression[i].hasClass("nobreak")) { + nobreak = true; + } + } // Don't allow break if \nobreak among the post-operator glue. + + + if (!nobreak) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } + } else if (expression[i].hasClass("newline")) { + // Write the line except the newline + parts.pop(); + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } // Put the newline at the top level + + + children.push(expression[i]); + } + } + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + } // Now, if there was a tag, build it too and append it as a final child. + + + let tagChild; + + if (tag) { + tagChild = buildHTMLUnbreakable(buildExpression(tag, options, true)); + tagChild.classes = ["tag"]; + children.push(tagChild); + } + + const htmlNode = makeSpan$1(["katex-html"], children); + htmlNode.setAttribute("aria-hidden", "true"); // Adjust the strut of the tag to be the maximum height of all children + // (the height of the enclosing htmlNode) for proper vertical alignment. + + if (tagChild) { + const strut = tagChild.children[0]; + strut.style.height = htmlNode.height + htmlNode.depth + "em"; + strut.style.verticalAlign = -htmlNode.depth + "em"; + } + + return htmlNode; +} + +/** + * These objects store data about MathML nodes. This is the MathML equivalent + * of the types in domTree.js. Since MathML handles its own rendering, and + * since we're mainly using MathML to improve accessibility, we don't manage + * any of the styling state that the plain DOM nodes do. + * + * The `toNode` and `toMarkup` functions work simlarly to how they do in + * domTree.js, creating namespaced DOM nodes and HTML text markup respectively. + */ +function newDocumentFragment(children) { + return new DocumentFragment(children); +} +/** + * This node represents a general purpose MathML node of any type. The + * constructor requires the type of node to create (for example, `"mo"` or + * `"mspace"`, corresponding to `` and `` tags). + */ + +class MathNode { + constructor(type, children) { + this.type = void 0; + this.attributes = void 0; + this.children = void 0; + this.type = type; + this.attributes = {}; + this.children = children || []; + } + /** + * Sets an attribute on a MathML node. MathML depends on attributes to convey a + * semantic content, so this is used heavily. + */ + + + setAttribute(name, value) { + this.attributes[name] = value; + } + /** + * Gets an attribute on a MathML node. + */ + + + getAttribute(name) { + return this.attributes[name]; + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + + + toNode() { + const node = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type); + + for (const attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (let i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + } + /** + * Converts the math node into an HTML markup string. + */ + + + toMarkup() { + let markup = "<" + this.type; // Add the attributes + + for (const attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + markup += " " + attr + "=\""; + markup += utils.escape(this.attributes[attr]); + markup += "\""; + } + } + + markup += ">"; + + for (let i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ""; + return markup; + } + /** + * Converts the math node into a string, similar to innerText, but escaped. + */ + + + toText() { + return this.children.map(child => child.toText()).join(""); + } + +} +/** + * This node represents a piece of text. + */ + +class TextNode { + constructor(text) { + this.text = void 0; + this.text = text; + } + /** + * Converts the text node into a DOM text node. + */ + + + toNode() { + return document.createTextNode(this.text); + } + /** + * Converts the text node into escaped HTML markup + * (representing the text itself). + */ + + + toMarkup() { + return utils.escape(this.toText()); + } + /** + * Converts the text node into a string + * (representing the text iteself). + */ + + + toText() { + return this.text; + } + +} +/** + * This node represents a space, but may render as or as text, + * depending on the width. + */ + +class SpaceNode { + /** + * Create a Space node with width given in CSS ems. + */ + constructor(width) { + this.width = void 0; + this.character = void 0; + this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html + // for a table of space-like characters. We use Unicode + // representations instead of &LongNames; as it's not clear how to + // make the latter via document.createTextNode. + + if (width >= 0.05555 && width <= 0.05556) { + this.character = "\u200a"; //   + } else if (width >= 0.1666 && width <= 0.1667) { + this.character = "\u2009"; //   + } else if (width >= 0.2222 && width <= 0.2223) { + this.character = "\u2005"; //   + } else if (width >= 0.2777 && width <= 0.2778) { + this.character = "\u2005\u200a"; //    + } else if (width >= -0.05556 && width <= -0.05555) { + this.character = "\u200a\u2063"; // ​ + } else if (width >= -0.1667 && width <= -0.1666) { + this.character = "\u2009\u2063"; // ​ + } else if (width >= -0.2223 && width <= -0.2222) { + this.character = "\u205f\u2063"; // ​ + } else if (width >= -0.2778 && width <= -0.2777) { + this.character = "\u2005\u2063"; // ​ + } else { + this.character = null; + } + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + + + toNode() { + if (this.character) { + return document.createTextNode(this.character); + } else { + const node = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace"); + node.setAttribute("width", this.width + "em"); + return node; + } + } + /** + * Converts the math node into an HTML markup string. + */ + + + toMarkup() { + if (this.character) { + return `${this.character}`; + } else { + return ``; + } + } + /** + * Converts the math node into a string, similar to innerText. + */ + + + toText() { + if (this.character) { + return this.character; + } else { + return " "; + } + } + +} + +var mathMLTree = { + MathNode, + TextNode, + SpaceNode, + newDocumentFragment +}; + +/** + * This file converts a parse tree into a cooresponding MathML tree. The main + * entry point is the `buildMathML` function, which takes a parse tree from the + * parser. + */ + +/** + * Takes a symbol and converts it into a MathML text node after performing + * optional replacement from symbols.js. + */ +const makeText = function makeText(text, mode, options) { + if (symbols[mode][text] && symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.substr(4, 2) === "tt" || options.font && options.font.substr(4, 2) === "tt"))) { + text = symbols[mode][text].replace; + } + + return new mathMLTree.TextNode(text); +}; +/** + * Wrap the given array of nodes in an node if needed, i.e., + * unless the array has length 1. Always returns a single node. + */ + +const makeRow = function makeRow(body) { + if (body.length === 1) { + return body[0]; + } else { + return new mathMLTree.MathNode("mrow", body); + } +}; +/** + * Returns the math variant as a string or null if none is required. + */ + +const getVariant = function getVariant(group, options) { + // Handle \text... font specifiers as best we can. + // MathML has a limited list of allowable mathvariant specifiers; see + // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt + if (options.fontFamily === "texttt") { + return "monospace"; + } else if (options.fontFamily === "textsf") { + if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "sans-serif-bold-italic"; + } else if (options.fontShape === "textit") { + return "sans-serif-italic"; + } else if (options.fontWeight === "textbf") { + return "bold-sans-serif"; + } else { + return "sans-serif"; + } + } else if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "bold-italic"; + } else if (options.fontShape === "textit") { + return "italic"; + } else if (options.fontWeight === "textbf") { + return "bold"; + } + + const font = options.font; + + if (!font || font === "mathnormal") { + return null; + } + + const mode = group.mode; + + if (font === "mathit") { + return "italic"; + } else if (font === "boldsymbol") { + return group.type === "textord" ? "bold" : "bold-italic"; + } else if (font === "mathbf") { + return "bold"; + } else if (font === "mathbb") { + return "double-struck"; + } else if (font === "mathfrak") { + return "fraktur"; + } else if (font === "mathscr" || font === "mathcal") { + // MathML makes no distinction between script and caligrahpic + return "script"; + } else if (font === "mathsf") { + return "sans-serif"; + } else if (font === "mathtt") { + return "monospace"; + } + + let text = group.text; + + if (utils.contains(["\\imath", "\\jmath"], text)) { + return null; + } + + if (symbols[mode][text] && symbols[mode][text].replace) { + text = symbols[mode][text].replace; + } + + const fontName = buildCommon.fontMap[font].fontName; + + if (getCharacterMetrics(text, fontName, mode)) { + return buildCommon.fontMap[font].variant; + } + + return null; +}; +/** + * Takes a list of nodes, builds them, and returns a list of the generated + * MathML nodes. Also combine consecutive outputs into a single + * tag. + */ + +const buildExpression$1 = function buildExpression(expression, options, isOrdgroup) { + if (expression.length === 1) { + const group = buildGroup$1(expression[0], options); + + if (isOrdgroup && group instanceof MathNode && group.type === "mo") { + // When TeX writers want to suppress spacing on an operator, + // they often put the operator by itself inside braces. + group.setAttribute("lspace", "0em"); + group.setAttribute("rspace", "0em"); + } + + return [group]; + } + + const groups = []; + let lastGroup; + + for (let i = 0; i < expression.length; i++) { + const group = buildGroup$1(expression[i], options); + + if (group instanceof MathNode && lastGroup instanceof MathNode) { + // Concatenate adjacent s + if (group.type === 'mtext' && lastGroup.type === 'mtext' && group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) { + lastGroup.children.push(...group.children); + continue; // Concatenate adjacent s + } else if (group.type === 'mn' && lastGroup.type === 'mn') { + lastGroup.children.push(...group.children); + continue; // Concatenate ... followed by . + } else if (group.type === 'mi' && group.children.length === 1 && lastGroup.type === 'mn') { + const child = group.children[0]; + + if (child instanceof TextNode && child.text === '.') { + lastGroup.children.push(...group.children); + continue; + } + } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) { + const lastChild = lastGroup.children[0]; + + if (lastChild instanceof TextNode && lastChild.text === '\u0338' && (group.type === 'mo' || group.type === 'mi' || group.type === 'mn')) { + const child = group.children[0]; + + if (child instanceof TextNode && child.text.length > 0) { + // Overlay with combining character long solidus + child.text = child.text.slice(0, 1) + "\u0338" + child.text.slice(1); + groups.pop(); + } + } + } + } + + groups.push(group); + lastGroup = group; + } + + return groups; +}; +/** + * Equivalent to buildExpression, but wraps the elements in an + * if there's more than one. Returns a single node instead of an array. + */ + +const buildExpressionRow = function buildExpressionRow(expression, options, isOrdgroup) { + return makeRow(buildExpression$1(expression, options, isOrdgroup)); +}; +/** + * Takes a group from the parser and calls the appropriate groupBuilders function + * on it to produce a MathML node. + */ + +const buildGroup$1 = function buildGroup(group, options) { + if (!group) { + return new mathMLTree.MathNode("mrow"); + } + + if (_mathmlGroupBuilders[group.type]) { + // Call the groupBuilders function + const result = _mathmlGroupBuilders[group.type](group, options); + return result; + } else { + throw new ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Takes a full parse tree and settings and builds a MathML representation of + * it. In particular, we put the elements from building the parse tree into a + * tag so we can also include that TeX source as an annotation. + * + * Note that we actually return a domTree element with a `` inside it so + * we can do appropriate styling. + */ + +function buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly) { + const expression = buildExpression$1(tree, options); // Wrap up the expression in an mrow so it is presented in the semantics + // tag correctly, unless it's a single or . + + let wrapper; + + if (expression.length === 1 && expression[0] instanceof MathNode && utils.contains(["mrow", "mtable"], expression[0].type)) { + wrapper = expression[0]; + } else { + wrapper = new mathMLTree.MathNode("mrow", expression); + } // Build a TeX annotation of the source + + + const annotation = new mathMLTree.MathNode("annotation", [new mathMLTree.TextNode(texExpression)]); + annotation.setAttribute("encoding", "application/x-tex"); + const semantics = new mathMLTree.MathNode("semantics", [wrapper, annotation]); + const math = new mathMLTree.MathNode("math", [semantics]); + math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"); + + if (isDisplayMode) { + math.setAttribute("display", "block"); + } // You can't style nodes, so we wrap the node in a span. + // NOTE: The span class is not typed to have nodes as children, and + // we don't want to make the children type more generic since the children + // of span are expected to have more fields in `buildHtml` contexts. + + + const wrapperClass = forMathmlOnly ? "katex" : "katex-mathml"; // $FlowFixMe + + return buildCommon.makeSpan([wrapperClass], [math]); +} + +const optionsFromSettings = function optionsFromSettings(settings) { + return new Options({ + style: settings.displayMode ? Style$1.DISPLAY : Style$1.TEXT, + maxSize: settings.maxSize, + minRuleThickness: settings.minRuleThickness + }); +}; + +const displayWrap = function displayWrap(node, settings) { + if (settings.displayMode) { + const classes = ["katex-display"]; + + if (settings.leqno) { + classes.push("leqno"); + } + + if (settings.fleqn) { + classes.push("fleqn"); + } + + node = buildCommon.makeSpan(classes, [node]); + } + + return node; +}; + +const buildTree = function buildTree(tree, expression, settings) { + const options = optionsFromSettings(settings); + let katexNode; + + if (settings.output === "mathml") { + return buildMathML(tree, expression, options, settings.displayMode, true); + } else if (settings.output === "html") { + const htmlNode = buildHTML(tree, options); + katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + } else { + const mathMLNode = buildMathML(tree, expression, options, settings.displayMode, false); + const htmlNode = buildHTML(tree, options); + katexNode = buildCommon.makeSpan(["katex"], [mathMLNode, htmlNode]); + } + + return displayWrap(katexNode, settings); +}; +const buildHTMLTree = function buildHTMLTree(tree, expression, settings) { + const options = optionsFromSettings(settings); + const htmlNode = buildHTML(tree, options); + const katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + return displayWrap(katexNode, settings); +}; + +/** + * This file provides support to buildMathML.js and buildHTML.js + * for stretchy wide elements rendered from SVG files + * and other CSS trickery. + */ +const stretchyCodePoint = { + widehat: "^", + widecheck: "ˇ", + widetilde: "~", + utilde: "~", + overleftarrow: "\u2190", + underleftarrow: "\u2190", + xleftarrow: "\u2190", + overrightarrow: "\u2192", + underrightarrow: "\u2192", + xrightarrow: "\u2192", + underbrace: "\u23df", + overbrace: "\u23de", + overgroup: "\u23e0", + undergroup: "\u23e1", + overleftrightarrow: "\u2194", + underleftrightarrow: "\u2194", + xleftrightarrow: "\u2194", + Overrightarrow: "\u21d2", + xRightarrow: "\u21d2", + overleftharpoon: "\u21bc", + xleftharpoonup: "\u21bc", + overrightharpoon: "\u21c0", + xrightharpoonup: "\u21c0", + xLeftarrow: "\u21d0", + xLeftrightarrow: "\u21d4", + xhookleftarrow: "\u21a9", + xhookrightarrow: "\u21aa", + xmapsto: "\u21a6", + xrightharpoondown: "\u21c1", + xleftharpoondown: "\u21bd", + xrightleftharpoons: "\u21cc", + xleftrightharpoons: "\u21cb", + xtwoheadleftarrow: "\u219e", + xtwoheadrightarrow: "\u21a0", + xlongequal: "=", + xtofrom: "\u21c4", + xrightleftarrows: "\u21c4", + xrightequilibrium: "\u21cc", + // Not a perfect match. + xleftequilibrium: "\u21cb" // None better available. + +}; + +const mathMLnode = function mathMLnode(label) { + const node = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(stretchyCodePoint[label.substr(1)])]); + node.setAttribute("stretchy", "true"); + return node; +}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts. +// Copyright (c) 2009-2010, Design Science, Inc. () +// Copyright (c) 2014-2017 Khan Academy () +// Licensed under the SIL Open Font License, Version 1.1. +// See \nhttp://scripts.sil.org/OFL +// Very Long SVGs +// Many of the KaTeX stretchy wide elements use a long SVG image and an +// overflow: hidden tactic to achieve a stretchy image while avoiding +// distortion of arrowheads or brace corners. +// The SVG typically contains a very long (400 em) arrow. +// The SVG is in a container span that has overflow: hidden, so the span +// acts like a window that exposes only part of the SVG. +// The SVG always has a longer, thinner aspect ratio than the container span. +// After the SVG fills 100% of the height of the container span, +// there is a long arrow shaft left over. That left-over shaft is not shown. +// Instead, it is sliced off because the span's CSS has overflow: hidden. +// Thus, the reader sees an arrow that matches the subject matter width +// without distortion. +// Some functions, such as \cancel, need to vary their aspect ratio. These +// functions do not get the overflow SVG treatment. +// Second Brush Stroke +// Low resolution monitors struggle to display images in fine detail. +// So browsers apply anti-aliasing. A long straight arrow shaft therefore +// will sometimes appear as if it has a blurred edge. +// To mitigate this, these SVG files contain a second "brush-stroke" on the +// arrow shafts. That is, a second long thin rectangular SVG path has been +// written directly on top of each arrow shaft. This reinforcement causes +// some of the screen pixels to display as black instead of the anti-aliased +// gray pixel that a single path would generate. So we get arrow shafts +// whose edges appear to be sharper. +// In the katexImagesData object just below, the dimensions all +// correspond to path geometry inside the relevant SVG. +// For example, \overrightarrow uses the same arrowhead as glyph U+2192 +// from the KaTeX Main font. The scaling factor is 1000. +// That is, inside the font, that arrowhead is 522 units tall, which +// corresponds to 0.522 em inside the document. + + +const katexImagesData = { + // path(s), minWidth, height, align + overrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + overleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + underrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + underleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"], + xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"], + Overrightarrow: [["doublerightarrow"], 0.888, 560, "xMaxYMin"], + xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"], + xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"], + overleftharpoon: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoonup: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoondown: [["leftharpoondown"], 0.888, 522, "xMinYMin"], + overrightharpoon: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoonup: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoondown: [["rightharpoondown"], 0.888, 522, "xMaxYMin"], + xlongequal: [["longequal"], 0.888, 334, "xMinYMin"], + xtwoheadleftarrow: [["twoheadleftarrow"], 0.888, 334, "xMinYMin"], + xtwoheadrightarrow: [["twoheadrightarrow"], 0.888, 334, "xMaxYMin"], + overleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548], + underbrace: [["leftbraceunder", "midbraceunder", "rightbraceunder"], 1.6, 548], + underleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522], + xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560], + xrightleftharpoons: [["leftharpoondownplus", "rightharpoonplus"], 1.75, 716], + xleftrightharpoons: [["leftharpoonplus", "rightharpoondownplus"], 1.75, 716], + xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522], + xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522], + overlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + underlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + overgroup: [["leftgroup", "rightgroup"], 0.888, 342], + undergroup: [["leftgroupunder", "rightgroupunder"], 0.888, 342], + xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522], + xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528], + // The next three arrows are from the mhchem package. + // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the + // document as \xrightarrow or \xrightleftharpoons. Those have + // min-length = 1.75em, so we set min-length on these next three to match. + xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901], + xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716], + xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716] +}; + +const groupLength = function groupLength(arg) { + if (arg.type === "ordgroup") { + return arg.body.length; + } else { + return 1; + } +}; + +const svgSpan = function svgSpan(group, options) { + // Create a span with inline SVG for the element. + function buildSvgSpan_() { + let viewBoxWidth = 400000; // default + + const label = group.label.substr(1); + + if (utils.contains(["widehat", "widecheck", "widetilde", "utilde"], label)) { + // Each type in the `if` statement corresponds to one of the ParseNode + // types below. This narrowing is required to access `grp.base`. + const grp = group; // There are four SVG images available for each function. + // Choose a taller image when there are more characters. + + const numChars = groupLength(grp.base); + let viewBoxHeight; + let pathName; + let height; + + if (numChars > 5) { + if (label === "widehat" || label === "widecheck") { + viewBoxHeight = 420; + viewBoxWidth = 2364; + height = 0.42; + pathName = label + "4"; + } else { + viewBoxHeight = 312; + viewBoxWidth = 2340; + height = 0.34; + pathName = "tilde4"; + } + } else { + const imgIndex = [1, 1, 2, 2, 3, 3][numChars]; + + if (label === "widehat" || label === "widecheck") { + viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex]; + viewBoxHeight = [0, 239, 300, 360, 420][imgIndex]; + height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex]; + pathName = label + imgIndex; + } else { + viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex]; + viewBoxHeight = [0, 260, 286, 306, 312][imgIndex]; + height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex]; + pathName = "tilde" + imgIndex; + } + } + + const path = new PathNode(pathName); + const svgNode = new SvgNode([path], { + "width": "100%", + "height": height + "em", + "viewBox": `0 0 ${viewBoxWidth} ${viewBoxHeight}`, + "preserveAspectRatio": "none" + }); + return { + span: buildCommon.makeSvgSpan([], [svgNode], options), + minWidth: 0, + height + }; + } else { + const spans = []; + const data = katexImagesData[label]; + const paths = data[0], + minWidth = data[1], + viewBoxHeight = data[2]; + const height = viewBoxHeight / 1000; + const numSvgChildren = paths.length; + let widthClasses; + let aligns; + + if (numSvgChildren === 1) { + // $FlowFixMe: All these cases must be of the 4-tuple type. + const align1 = data[3]; + widthClasses = ["hide-tail"]; + aligns = [align1]; + } else if (numSvgChildren === 2) { + widthClasses = ["halfarrow-left", "halfarrow-right"]; + aligns = ["xMinYMin", "xMaxYMin"]; + } else if (numSvgChildren === 3) { + widthClasses = ["brace-left", "brace-center", "brace-right"]; + aligns = ["xMinYMin", "xMidYMin", "xMaxYMin"]; + } else { + throw new Error(`Correct katexImagesData or update code here to support + ${numSvgChildren} children.`); + } + + for (let i = 0; i < numSvgChildren; i++) { + const path = new PathNode(paths[i]); + const svgNode = new SvgNode([path], { + "width": "400em", + "height": height + "em", + "viewBox": `0 0 ${viewBoxWidth} ${viewBoxHeight}`, + "preserveAspectRatio": aligns[i] + " slice" + }); + const span = buildCommon.makeSvgSpan([widthClasses[i]], [svgNode], options); + + if (numSvgChildren === 1) { + return { + span, + minWidth, + height + }; + } else { + span.style.height = height + "em"; + spans.push(span); + } + } + + return { + span: buildCommon.makeSpan(["stretchy"], spans, options), + minWidth, + height + }; + } + } // buildSvgSpan_() + + + const _buildSvgSpan_ = buildSvgSpan_(), + span = _buildSvgSpan_.span, + minWidth = _buildSvgSpan_.minWidth, + height = _buildSvgSpan_.height; // Note that we are returning span.depth = 0. + // Any adjustments relative to the baseline must be done in buildHTML. + + + span.height = height; + span.style.height = height + "em"; + + if (minWidth > 0) { + span.style.minWidth = minWidth + "em"; + } + + return span; +}; + +const encloseSpan = function encloseSpan(inner, label, pad, options) { + // Return an image span for \cancel, \bcancel, \xcancel, or \fbox + let img; + const totalHeight = inner.height + inner.depth + 2 * pad; + + if (/fbox|color/.test(label)) { + img = buildCommon.makeSpan(["stretchy", label], [], options); + + if (label === "fbox") { + const color = options.color && options.getColor(); + + if (color) { + img.style.borderColor = color; + } + } + } else { + // \cancel, \bcancel, or \xcancel + // Since \cancel's SVG is inline and it omits the viewBox attribute, + // its stroke-width will not vary with span area. + const lines = []; + + if (/^[bx]cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "0", + "x2": "100%", + "y2": "100%", + "stroke-width": "0.046em" + })); + } + + if (/^x?cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "100%", + "x2": "100%", + "y2": "0", + "stroke-width": "0.046em" + })); + } + + const svgNode = new SvgNode(lines, { + "width": "100%", + "height": totalHeight + "em" + }); + img = buildCommon.makeSvgSpan([], [svgNode], options); + } + + img.height = totalHeight; + img.style.height = totalHeight + "em"; + return img; +}; + +var stretchy = { + encloseSpan, + mathMLnode, + svgSpan +}; + +/** + * Asserts that the node is of the given type and returns it with stricter + * typing. Throws if the node's type does not match. + */ +function assertNodeType(node, type) { + if (!node || node.type !== type) { + throw new Error(`Expected node of type ${type}, but got ` + (node ? `node of type ${node.type}` : String(node))); + } + + return node; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function assertSymbolNodeType(node) { + const typedNode = checkSymbolNodeType(node); + + if (!typedNode) { + throw new Error(`Expected node of symbol group type, but got ` + (node ? `node of type ${node.type}` : String(node))); + } + + return typedNode; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function checkSymbolNodeType(node) { + if (node && (node.type === "atom" || NON_ATOMS.hasOwnProperty(node.type))) { + // $FlowFixMe + return node; + } + + return null; +} + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "accent", but +const htmlBuilder = (grp, options) => { + // Accents are handled in the TeXbook pg. 443, rule 12. + let base; + let group; + let supSubGroup; + + if (grp && grp.type === "supsub") { + // If our base is a character box, and we have superscripts and + // subscripts, the supsub will defer to us. In particular, we want + // to attach the superscripts and subscripts to the inner body (so + // that the position of the superscripts and subscripts won't be + // affected by the height of the accent). We accomplish this by + // sticking the base of the accent into the base of the supsub, and + // rendering that, while keeping track of where the accent is. + // The real accent group is the base of the supsub group + group = assertNodeType(grp.base, "accent"); // The character box is the base of the accent group + + base = group.base; // Stick the character box into the base of the supsub group + + grp.base = base; // Rerender the supsub group with its new base, and store that + // result. + + supSubGroup = assertSpan(buildGroup(grp, options)); // reset original base + + grp.base = group; + } else { + group = assertNodeType(grp, "accent"); + base = group.base; + } // Build the base group + + + const body = buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character? + + const mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line "If the + // nucleus is not a single character, let s = 0; otherwise set s to the + // kern amount for the nucleus followed by the \skewchar of its font." + // Note that our skew metrics are just the kern between each character + // and the skewchar. + + let skew = 0; + + if (mustShift) { + // If the base is a character box, then we want the skew of the + // innermost character. To do that, we find the innermost character: + const baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it + + const baseGroup = buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol. + + skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we + // removed with getBaseElem might contain things like \color which + // we can't get rid of. + // TODO(emily): Find a better way to get the skew + } // calculate the amount of space between the body and the accent + + + let clearance = Math.min(body.height, options.fontMetrics().xHeight); // Build the accent + + let accentBody; + + if (!group.isStretchy) { + let accent; + let width; + + if (group.label === "\\vec") { + // Before version 0.9, \vec used the combining font glyph U+20D7. + // But browsers, especially Safari, are not consistent in how they + // render combining characters when not preceded by a character. + // So now we use an SVG. + // If Safari reforms, we should consider reverting to the glyph. + accent = buildCommon.staticSvg("vec", options); + width = buildCommon.svgData.vec[1]; + } else { + accent = buildCommon.makeOrd({ + mode: group.mode, + text: group.label + }, options, "textord"); + accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to + // shift the accent over to a place we don't want. + + accent.italic = 0; + width = accent.width; + } + + accentBody = buildCommon.makeSpan(["accent-body"], [accent]); // "Full" accents expand the width of the resulting symbol to be + // at least the width of the accent, and overlap directly onto the + // character without any vertical offset. + + const accentFull = group.label === "\\textcircled"; + + if (accentFull) { + accentBody.classes.push('accent-full'); + clearance = body.height; + } // Shift the accent over by the skew. + + + let left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }` + // so that the accent doesn't contribute to the bounding box. + // We need to shift the character by its width (effectively half + // its width) to compensate. + + if (!accentFull) { + left -= width / 2; + } + + accentBody.style.left = left + "em"; // \textcircled uses the \bigcirc glyph, so it needs some + // vertical adjustment to match LaTeX. + + if (group.label === "\\textcircled") { + accentBody.style.top = ".2em"; + } + + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: -clearance + }, { + type: "elem", + elem: accentBody + }] + }, options); + } else { + accentBody = stretchy.svgSpan(group, options); + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"], + wrapperStyle: skew > 0 ? { + width: `calc(100% - ${2 * skew}em)`, + marginLeft: `${2 * skew}em` + } : undefined + }] + }, options); + } + + const accentWrap = buildCommon.makeSpan(["mord", "accent"], [accentBody], options); + + if (supSubGroup) { + // Here, we replace the "base" child of the supsub with our newly + // generated accent. + supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the + // accent, we manually recalculate height. + + supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not. + + supSubGroup.classes[0] = "mord"; + return supSubGroup; + } else { + return accentWrap; + } +}; + +const mathmlBuilder = (group, options) => { + const accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode("mo", [makeText(group.label, group.mode)]); + const node = new mathMLTree.MathNode("mover", [buildGroup$1(group.base, options), accentNode]); + node.setAttribute("accent", "true"); + return node; +}; + +const NON_STRETCHY_ACCENT_REGEX = new RegExp(["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring"].map(accent => `\\${accent}`).join("|")); // Accents + +defineFunction({ + type: "accent", + names: ["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring", "\\widecheck", "\\widehat", "\\widetilde", "\\overrightarrow", "\\overleftarrow", "\\Overrightarrow", "\\overleftrightarrow", "\\overgroup", "\\overlinesegment", "\\overleftharpoon", "\\overrightharpoon"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + const base = args[0]; + const isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName); + const isShifty = !isStretchy || context.funcName === "\\widehat" || context.funcName === "\\widetilde" || context.funcName === "\\widecheck"; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: isStretchy, + isShifty: isShifty, + base: base + }; + }, + htmlBuilder, + mathmlBuilder +}); // Text-mode accents + +defineFunction({ + type: "accent", + names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\r", "\\H", "\\v", "\\textcircled"], + props: { + numArgs: 1, + allowedInText: true, + allowedInMath: false + }, + handler: (context, args) => { + const base = args[0]; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: false, + isShifty: true, + base: base + }; + }, + htmlBuilder, + mathmlBuilder +}); + +// Horizontal overlap functions +defineFunction({ + type: "accentUnder", + names: ["\\underleftarrow", "\\underrightarrow", "\\underleftrightarrow", "\\undergroup", "\\underlinesegment", "\\utilde"], + props: { + numArgs: 1 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const base = args[0]; + return { + type: "accentUnder", + mode: parser.mode, + label: funcName, + base: base + }; + }, + htmlBuilder: (group, options) => { + // Treat under accents much like underlines. + const innerGroup = buildGroup(group.base, options); + const accentBody = stretchy.svgSpan(group, options); + const kern = group.label === "\\utilde" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns + + const vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: kern + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "accentunder"], [vlist], options); + }, + mathmlBuilder: (group, options) => { + const accentNode = stretchy.mathMLnode(group.label); + const node = new mathMLTree.MathNode("munder", [buildGroup$1(group.base, options), accentNode]); + node.setAttribute("accentunder", "true"); + return node; + } +}); + +// Helper function +const paddedNode = group => { + const node = new mathMLTree.MathNode("mpadded", group ? [group] : []); + node.setAttribute("width", "+0.6em"); + node.setAttribute("lspace", "0.3em"); + return node; +}; // Stretchy arrows with an optional argument + + +defineFunction({ + type: "xArrow", + names: ["\\xleftarrow", "\\xrightarrow", "\\xLeftarrow", "\\xRightarrow", "\\xleftrightarrow", "\\xLeftrightarrow", "\\xhookleftarrow", "\\xhookrightarrow", "\\xmapsto", "\\xrightharpoondown", "\\xrightharpoonup", "\\xleftharpoondown", "\\xleftharpoonup", "\\xrightleftharpoons", "\\xleftrightharpoons", "\\xlongequal", "\\xtwoheadrightarrow", "\\xtwoheadleftarrow", "\\xtofrom", // The next 3 functions are here to support the mhchem extension. + // Direct use of these functions is discouraged and may break someday. + "\\xrightleftarrows", "\\xrightequilibrium", "\\xleftequilibrium"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "xArrow", + mode: parser.mode, + label: funcName, + body: args[0], + below: optArgs[0] + }; + }, + + // Flow is unable to correctly infer the type of `group`, even though it's + // unamibiguously determined from the passed-in `type` above. + htmlBuilder(group, options) { + const style = options.style; // Build the argument groups in the appropriate style. + // Ref: amsmath.dtx: \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}% + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + let newOptions = options.havingStyle(style.sup()); + const upperGroup = buildCommon.wrapFragment(buildGroup(group.body, newOptions, options), options); + upperGroup.classes.push("x-arrow-pad"); + let lowerGroup; + + if (group.below) { + // Build the lower group + newOptions = options.havingStyle(style.sub()); + lowerGroup = buildCommon.wrapFragment(buildGroup(group.below, newOptions, options), options); + lowerGroup.classes.push("x-arrow-pad"); + } + + const arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0. + // The point we want on the math axis is at 0.5 * arrowBody.height. + + const arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\if0#2\else\mkern#2mu\fi + + let upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu + + if (upperGroup.depth > 0.25 || group.label === "\\xleftequilibrium") { + upperShift -= upperGroup.depth; // shift up if depth encroaches + } // Generate the vlist + + + let vlist; + + if (lowerGroup) { + const lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111; + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }, { + type: "elem", + elem: lowerGroup, + shift: lowerShift + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }] + }, options); + } // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + return buildCommon.makeSpan(["mrel", "x-arrow"], [vlist], options); + }, + + mathmlBuilder(group, options) { + const arrowNode = stretchy.mathMLnode(group.label); + let node; + + if (group.body) { + const upperNode = paddedNode(buildGroup$1(group.body, options)); + + if (group.below) { + const lowerNode = paddedNode(buildGroup$1(group.below, options)); + node = new mathMLTree.MathNode("munderover", [arrowNode, lowerNode, upperNode]); + } else { + node = new mathMLTree.MathNode("mover", [arrowNode, upperNode]); + } + } else if (group.below) { + const lowerNode = paddedNode(buildGroup$1(group.below, options)); + node = new mathMLTree.MathNode("munder", [arrowNode, lowerNode]); + } else { + // This should never happen. + // Parser.js throws an error if there is no argument. + node = paddedNode(); + node = new mathMLTree.MathNode("mover", [arrowNode, node]); + } + + return node; + } + +}); + +// {123} and converts into symbol with code 123. It is used by the *macro* +// \char defined in macros.js. + +defineFunction({ + type: "textord", + names: ["\\@char"], + props: { + numArgs: 1, + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser; + const arg = assertNodeType(args[0], "ordgroup"); + const group = arg.body; + let number = ""; + + for (let i = 0; i < group.length; i++) { + const node = assertNodeType(group[i], "textord"); + number += node.text; + } + + const code = parseInt(number); + + if (isNaN(code)) { + throw new ParseError(`\\@char has non-numeric argument ${number}`); + } + + return { + type: "textord", + mode: parser.mode, + text: String.fromCharCode(code) + }; + } + +}); + +const htmlBuilder$1 = (group, options) => { + const elements = buildExpression(group.body, options.withColor(group.color), false); // \color isn't supposed to affect the type of the elements it contains. + // To accomplish this, we wrap the results in a fragment, so the inner + // elements will be able to directly interact with their neighbors. For + // example, `\color{red}{2 +} 3` has the same spacing as `2 + 3` + + return buildCommon.makeFragment(elements); +}; + +const mathmlBuilder$1 = (group, options) => { + const inner = buildExpression$1(group.body, options.withColor(group.color)); + const node = new mathMLTree.MathNode("mstyle", inner); + node.setAttribute("mathcolor", group.color); + return node; +}; + +defineFunction({ + type: "color", + names: ["\\textcolor"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "original"] + }, + + handler(_ref, args) { + let parser = _ref.parser; + const color = assertNodeType(args[0], "color-token").color; + const body = args[1]; + return { + type: "color", + mode: parser.mode, + color, + body: ordargument(body) + }; + }, + + htmlBuilder: htmlBuilder$1, + mathmlBuilder: mathmlBuilder$1 +}); +defineFunction({ + type: "color", + names: ["\\color"], + props: { + numArgs: 1, + allowedInText: true, + greediness: 3, + argTypes: ["color"] + }, + + handler(_ref2, args) { + let parser = _ref2.parser, + breakOnTokenText = _ref2.breakOnTokenText; + const color = assertNodeType(args[0], "color-token").color; // Set macro \current@color in current namespace to store the current + // color, mimicking the behavior of color.sty. + // This is currently used just to correctly color a \right + // that follows a \color command. + + parser.gullet.macros.set("\\current@color", color); // Parse out the implicit body that should be colored. + + const body = parser.parseExpression(true, breakOnTokenText); + return { + type: "color", + mode: parser.mode, + color, + body + }; + }, + + htmlBuilder: htmlBuilder$1, + mathmlBuilder: mathmlBuilder$1 +}); + +// Row breaks within tabular environments, and line breaks at top level +// same signature, we implement them as one megafunction, with newRow +// indicating whether we're in the \cr case, and newLine indicating whether +// to break the line in the \newline case. + +defineFunction({ + type: "cr", + names: ["\\cr", "\\newline"], + props: { + numArgs: 0, + numOptionalArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser, + funcName = _ref.funcName; + const size = optArgs[0]; + const newRow = funcName === "\\cr"; + let newLine = false; + + if (!newRow) { + if (parser.settings.displayMode && parser.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\ or \\newline " + "does nothing in display mode")) { + newLine = false; + } else { + newLine = true; + } + } + + return { + type: "cr", + mode: parser.mode, + newLine, + newRow, + size: size && assertNodeType(size, "size").value + }; + }, + + // The following builders are called only at the top level, + // not within tabular/array environments. + htmlBuilder(group, options) { + if (group.newRow) { + throw new ParseError("\\cr valid only within a tabular/array environment"); + } + + const span = buildCommon.makeSpan(["mspace"], [], options); + + if (group.newLine) { + span.classes.push("newline"); + + if (group.size) { + span.style.marginTop = calculateSize(group.size, options) + "em"; + } + } + + return span; + }, + + mathmlBuilder(group, options) { + const node = new mathMLTree.MathNode("mspace"); + + if (group.newLine) { + node.setAttribute("linebreak", "newline"); + + if (group.size) { + node.setAttribute("height", calculateSize(group.size, options) + "em"); + } + } + + return node; + } + +}); + +const globalMap = { + "\\global": "\\global", + "\\long": "\\\\globallong", + "\\\\globallong": "\\\\globallong", + "\\def": "\\gdef", + "\\gdef": "\\gdef", + "\\edef": "\\xdef", + "\\xdef": "\\xdef", + "\\let": "\\\\globallet", + "\\futurelet": "\\\\globalfuture" +}; + +const checkControlSequence = tok => { + const name = tok.text; + + if (/^(?:[\\{}$&#^_]|EOF)$/.test(name)) { + throw new ParseError("Expected a control sequence", tok); + } + + return name; +}; + +const getRHS = parser => { + let tok = parser.gullet.popToken(); + + if (tok.text === "=") { + // consume optional equals + tok = parser.gullet.popToken(); + + if (tok.text === " ") { + // consume one optional space + tok = parser.gullet.popToken(); + } + } + + return tok; +}; + +const letCommand = (parser, name, tok, global) => { + let macro = parser.gullet.macros.get(tok.text); + + if (macro == null) { + // don't expand it later even if a macro with the same name is defined + // e.g., \let\foo=\frac \def\frac{\relax} \frac12 + tok.noexpand = true; + macro = { + tokens: [tok], + numArgs: 0, + // reproduce the same behavior in expansion + unexpandable: !parser.gullet.isExpandable(tok.text) + }; + } + + parser.gullet.macros.set(name, macro, global); +}; // -> | +// -> |\global +// -> | +// -> \global|\long|\outer + + +defineFunction({ + type: "internal", + names: ["\\global", "\\long", "\\\\globallong"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref) { + let parser = _ref.parser, + funcName = _ref.funcName; + parser.consumeSpaces(); + const token = parser.fetch(); + + if (globalMap[token.text]) { + // KaTeX doesn't have \par, so ignore \long + if (funcName === "\\global" || funcName === "\\\\globallong") { + token.text = globalMap[token.text]; + } + + return assertNodeType(parser.parseFunction(), "internal"); + } + + throw new ParseError(`Invalid token after macro prefix`, token); + } + +}); // Basic support for macro definitions: \def, \gdef, \edef, \xdef +// -> +// -> \def|\gdef|\edef|\xdef +// -> + +defineFunction({ + type: "internal", + names: ["\\def", "\\gdef", "\\edef", "\\xdef"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref2) { + let parser = _ref2.parser, + funcName = _ref2.funcName; + let arg = parser.gullet.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new ParseError("\\gdef's first argument must be a macro name"); + } + + const name = arg[0].text; // Count argument specifiers, and check they are in the order #1 #2 ... + + let numArgs = 0; + arg = parser.gullet.consumeArgs(1)[0]; + + while (arg.length === 1 && arg[0].text === "#") { + arg = parser.gullet.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new ParseError(`Invalid argument number length "${arg.length}"`); + } + + if (!/^[1-9]$/.test(arg[0].text)) { + throw new ParseError(`Invalid argument number "${arg[0].text}"`); + } + + numArgs++; + + if (parseInt(arg[0].text) !== numArgs) { + throw new ParseError(`Argument number "${arg[0].text}" out of order`); + } + + arg = parser.gullet.consumeArgs(1)[0]; + } + + if (funcName === "\\edef" || funcName === "\\xdef") { + arg = parser.gullet.expandTokens(arg); + arg.reverse(); // to fit in with stack order + } // Final arg is the expansion of the macro + + + parser.gullet.macros.set(name, { + tokens: arg, + numArgs + }, funcName === globalMap[funcName]); + return { + type: "internal", + mode: parser.mode + }; + } + +}); // -> +// -> \futurelet +// | \let +// -> |= + +defineFunction({ + type: "internal", + names: ["\\let", "\\\\globallet"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref3) { + let parser = _ref3.parser, + funcName = _ref3.funcName; + const name = checkControlSequence(parser.gullet.popToken()); + parser.gullet.consumeSpaces(); + const tok = getRHS(parser); + letCommand(parser, name, tok, funcName === "\\\\globallet"); + return { + type: "internal", + mode: parser.mode + }; + } + +}); // ref: https://www.tug.org/TUGboat/tb09-3/tb22bechtolsheim.pdf + +defineFunction({ + type: "internal", + names: ["\\futurelet", "\\\\globalfuture"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref4) { + let parser = _ref4.parser, + funcName = _ref4.funcName; + const name = checkControlSequence(parser.gullet.popToken()); + const middle = parser.gullet.popToken(); + const tok = parser.gullet.popToken(); + letCommand(parser, name, tok, funcName === "\\\\globalfuture"); + parser.gullet.pushToken(tok); + parser.gullet.pushToken(middle); + return { + type: "internal", + mode: parser.mode + }; + } + +}); + +/** + * This file deals with creating delimiters of various sizes. The TeXbook + * discusses these routines on page 441-442, in the "Another subroutine sets box + * x to a specified variable delimiter" paragraph. + * + * There are three main routines here. `makeSmallDelim` makes a delimiter in the + * normal font, but in either text, script, or scriptscript style. + * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1, + * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of + * smaller pieces that are stacked on top of one another. + * + * The functions take a parameter `center`, which determines if the delimiter + * should be centered around the axis. + * + * Then, there are three exposed functions. `sizedDelim` makes a delimiter in + * one of the given sizes. This is used for things like `\bigl`. + * `customSizedDelim` makes a delimiter with a given total height+depth. It is + * called in places like `\sqrt`. `leftRightDelim` makes an appropriate + * delimiter which surrounds an expression of a given height an depth. It is + * used in `\left` and `\right`. + */ + +/** + * Get the metrics for a given symbol and font, after transformation (i.e. + * after following replacement from symbols.js) + */ +const getMetrics = function getMetrics(symbol, font, mode) { + const replace = symbols.math[symbol] && symbols.math[symbol].replace; + const metrics = getCharacterMetrics(replace || symbol, font, mode); + + if (!metrics) { + throw new Error(`Unsupported symbol ${symbol} and font size ${font}.`); + } + + return metrics; +}; +/** + * Puts a delimiter span in a given style, and adds appropriate height, depth, + * and maxFontSizes. + */ + + +const styleWrap = function styleWrap(delim, toStyle, options, classes) { + const newOptions = options.havingBaseStyle(toStyle); + const span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options); + const delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier; + span.height *= delimSizeMultiplier; + span.depth *= delimSizeMultiplier; + span.maxFontSize = newOptions.sizeMultiplier; + return span; +}; + +const centerSpan = function centerSpan(span, options, style) { + const newOptions = options.havingBaseStyle(style); + const shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight; + span.classes.push("delimcenter"); + span.style.top = shift + "em"; + span.height -= shift; + span.depth += shift; +}; +/** + * Makes a small delimiter. This is a delimiter that comes in the Main-Regular + * font, but is restyled to either be in textstyle, scriptstyle, or + * scriptscriptstyle. + */ + + +const makeSmallDelim = function makeSmallDelim(delim, style, center, options, mode, classes) { + const text = buildCommon.makeSymbol(delim, "Main-Regular", mode, options); + const span = styleWrap(text, style, options, classes); + + if (center) { + centerSpan(span, options, style); + } + + return span; +}; +/** + * Builds a symbol in the given font size (note size is an integer) + */ + + +const mathrmSize = function mathrmSize(value, size, mode, options) { + return buildCommon.makeSymbol(value, "Size" + size + "-Regular", mode, options); +}; +/** + * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2, + * Size3, or Size4 fonts. It is always rendered in textstyle. + */ + + +const makeLargeDelim = function makeLargeDelim(delim, size, center, options, mode, classes) { + const inner = mathrmSize(delim, size, mode, options); + const span = styleWrap(buildCommon.makeSpan(["delimsizing", "size" + size], [inner], options), Style$1.TEXT, options, classes); + + if (center) { + centerSpan(span, options, Style$1.TEXT); + } + + return span; +}; +/** + * Make an inner span with the given offset and in the given font. This is used + * in `makeStackedDelim` to make the stacking pieces for the delimiter. + */ + + +const makeInner = function makeInner(symbol, font, mode) { + let sizeClass; // Apply the correct CSS class to choose the right font. + + if (font === "Size1-Regular") { + sizeClass = "delim-size1"; + } else + /* if (font === "Size4-Regular") */ + { + sizeClass = "delim-size4"; + } + + const inner = buildCommon.makeSpan(["delimsizinginner", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element + // in the appropriate tag that VList uses. + + return { + type: "elem", + elem: inner + }; +}; // Helper for makeStackedDelim + + +const lap = { + type: "kern", + size: -0.005 +}; +/** + * Make a stacked delimiter out of a given delimiter, with the total height at + * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook. + */ + +const makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, options, mode, classes) { + // There are four parts, the top, an optional middle, a repeated part, and a + // bottom. + let top; + let middle; + let repeat; + let bottom; + top = repeat = bottom = delim; + middle = null; // Also keep track of what font the delimiters are in + + let font = "Size1-Regular"; // We set the parts and font based on the symbol. Note that we use + // '\u23d0' instead of '|' and '\u2016' instead of '\\|' for the + // repeats of the arrows + + if (delim === "\\uparrow") { + repeat = bottom = "\u23d0"; + } else if (delim === "\\Uparrow") { + repeat = bottom = "\u2016"; + } else if (delim === "\\downarrow") { + top = repeat = "\u23d0"; + } else if (delim === "\\Downarrow") { + top = repeat = "\u2016"; + } else if (delim === "\\updownarrow") { + top = "\\uparrow"; + repeat = "\u23d0"; + bottom = "\\downarrow"; + } else if (delim === "\\Updownarrow") { + top = "\\Uparrow"; + repeat = "\u2016"; + bottom = "\\Downarrow"; + } else if (delim === "[" || delim === "\\lbrack") { + top = "\u23a1"; + repeat = "\u23a2"; + bottom = "\u23a3"; + font = "Size4-Regular"; + } else if (delim === "]" || delim === "\\rbrack") { + top = "\u23a4"; + repeat = "\u23a5"; + bottom = "\u23a6"; + font = "Size4-Regular"; + } else if (delim === "\\lfloor" || delim === "\u230a") { + repeat = top = "\u23a2"; + bottom = "\u23a3"; + font = "Size4-Regular"; + } else if (delim === "\\lceil" || delim === "\u2308") { + top = "\u23a1"; + repeat = bottom = "\u23a2"; + font = "Size4-Regular"; + } else if (delim === "\\rfloor" || delim === "\u230b") { + repeat = top = "\u23a5"; + bottom = "\u23a6"; + font = "Size4-Regular"; + } else if (delim === "\\rceil" || delim === "\u2309") { + top = "\u23a4"; + repeat = bottom = "\u23a5"; + font = "Size4-Regular"; + } else if (delim === "(" || delim === "\\lparen") { + top = "\u239b"; + repeat = "\u239c"; + bottom = "\u239d"; + font = "Size4-Regular"; + } else if (delim === ")" || delim === "\\rparen") { + top = "\u239e"; + repeat = "\u239f"; + bottom = "\u23a0"; + font = "Size4-Regular"; + } else if (delim === "\\{" || delim === "\\lbrace") { + top = "\u23a7"; + middle = "\u23a8"; + bottom = "\u23a9"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\}" || delim === "\\rbrace") { + top = "\u23ab"; + middle = "\u23ac"; + bottom = "\u23ad"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\lgroup" || delim === "\u27ee") { + top = "\u23a7"; + bottom = "\u23a9"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\rgroup" || delim === "\u27ef") { + top = "\u23ab"; + bottom = "\u23ad"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\lmoustache" || delim === "\u23b0") { + top = "\u23a7"; + bottom = "\u23ad"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\rmoustache" || delim === "\u23b1") { + top = "\u23ab"; + bottom = "\u23a9"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } // Get the metrics of the four sections + + + const topMetrics = getMetrics(top, font, mode); + const topHeightTotal = topMetrics.height + topMetrics.depth; + const repeatMetrics = getMetrics(repeat, font, mode); + const repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth; + const bottomMetrics = getMetrics(bottom, font, mode); + const bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth; + let middleHeightTotal = 0; + let middleFactor = 1; + + if (middle !== null) { + const middleMetrics = getMetrics(middle, font, mode); + middleHeightTotal = middleMetrics.height + middleMetrics.depth; + middleFactor = 2; // repeat symmetrically above and below middle + } // Calcuate the minimal height that the delimiter can have. + // It is at least the size of the top, bottom, and optional middle combined. + + + const minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need + + const repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols + + const realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note + // that in this context, "center" means that the delimiter should be + // centered around the axis in the current style, while normally it is + // centered around the axis in textstyle. + + let axisHeight = options.fontMetrics().axisHeight; + + if (center) { + axisHeight *= options.sizeMultiplier; + } // Calculate the depth + + + const depth = realHeightTotal / 2 - axisHeight; // This function differs from the TeX procedure in one way. + // We shift each repeat element downwards by 0.005em, to prevent a gap + // due to browser floating point rounding error. + // Then, at the last element-to element joint, we add one extra repeat + // element to cover the gap created by the shifts. + // Find the shift needed to align the upper end of the extra element at a point + // 0.005em above the lower end of the top element. + + const shiftOfExtraElement = (repeatCount + 1) * 0.005 - repeatHeightTotal; // Now, we start building the pieces that will go into the vlist + // Keep a list of the inner pieces + + const inners = []; // Add the bottom symbol + + inners.push(makeInner(bottom, font, mode)); + + if (middle === null) { + // Add that many symbols + for (let i = 0; i < repeatCount; i++) { + inners.push(lap); // overlap + + inners.push(makeInner(repeat, font, mode)); + } + } else { + // When there is a middle bit, we need the middle part and two repeated + // sections + for (let i = 0; i < repeatCount; i++) { + inners.push(lap); + inners.push(makeInner(repeat, font, mode)); + } // Insert one extra repeat element. + + + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(makeInner(repeat, font, mode)); + inners.push(lap); // Now insert the middle of the brace. + + inners.push(makeInner(middle, font, mode)); + + for (let i = 0; i < repeatCount; i++) { + inners.push(lap); + inners.push(makeInner(repeat, font, mode)); + } + } // To cover the gap create by the overlaps, insert one more repeat element, + // at a position that juts 0.005 above the bottom of the top element. + + + if ((repeat === "\u239c" || repeat === "\u239f") && repeatCount === 0) { + // Parentheses need a short repeat element in order to avoid an overrun. + // We'll make a 0.3em tall element from a SVG. + const overlap = buildCommon.svgData.leftParenInner[2] / 2; + inners.push({ + type: "kern", + size: -overlap + }); + const pathName = repeat === "\u239c" ? "leftParenInner" : "rightParenInner"; + const innerSpan = buildCommon.staticSvg(pathName, options); + inners.push({ + type: "elem", + elem: innerSpan + }); + inners.push({ + type: "kern", + size: -overlap + }); + } else { + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(makeInner(repeat, font, mode)); + inners.push(lap); + } // Add the top symbol + + + inners.push(makeInner(top, font, mode)); // Finally, build the vlist + + const newOptions = options.havingBaseStyle(Style$1.TEXT); + const inner = buildCommon.makeVList({ + positionType: "bottom", + positionData: depth, + children: inners + }, newOptions); + return styleWrap(buildCommon.makeSpan(["delimsizing", "mult"], [inner], newOptions), Style$1.TEXT, options, classes); +}; // All surds have 0.08em padding above the viniculum inside the SVG. +// That keeps browser span height rounding error from pinching the line. + + +const vbPad = 80; // padding above the surd, measured inside the viewBox. + +const emPad = 0.08; // padding, in ems, measured in the document. + +const sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraViniculum, options) { + const path = sqrtPath(sqrtName, extraViniculum, viewBoxHeight); + const pathNode = new PathNode(sqrtName, path); + const svg = new SvgNode([pathNode], { + // Note: 1000:1 ratio of viewBox to document em width. + "width": "400em", + "height": height + "em", + "viewBox": "0 0 400000 " + viewBoxHeight, + "preserveAspectRatio": "xMinYMin slice" + }); + return buildCommon.makeSvgSpan(["hide-tail"], [svg], options); +}; +/** + * Make a sqrt image of the given height, + */ + + +const makeSqrtImage = function makeSqrtImage(height, options) { + // Define a newOptions that removes the effect of size changes such as \Huge. + // We don't pick different a height surd for \Huge. For it, we scale up. + const newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds. + + const delim = traverseSequence("\\surd", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions); + let sizeMultiplier = newOptions.sizeMultiplier; // default + // The standard sqrt SVGs each have a 0.04em thick viniculum. + // If Settings.minRuleThickness is larger than that, we add extraViniculum. + + const extraViniculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol. + + let span; + let spanHeight = 0; + let texHeight = 0; + let viewBoxHeight = 0; + let advanceWidth; // We create viewBoxes with 80 units of "padding" above each surd. + // Then browser rounding error on the parent span height will not + // encroach on the ink of the viniculum. But that padding is not + // included in the TeX-like `height` used for calculation of + // vertical alignment. So texHeight = span.height < span.style.height. + + if (delim.type === "small") { + // Get an SVG that is derived from glyph U+221A in font KaTeX-Main. + // 1000 unit normal glyph height. + viewBoxHeight = 1000 + 1000 * extraViniculum + vbPad; + + if (height < 1.0) { + sizeMultiplier = 1.0; // mimic a \textfont radical + } else if (height < 1.4) { + sizeMultiplier = 0.7; // mimic a \scriptfont radical + } + + spanHeight = (1.0 + extraViniculum + emPad) / sizeMultiplier; + texHeight = (1.00 + extraViniculum) / sizeMultiplier; + span = sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.853em"; + advanceWidth = 0.833 / sizeMultiplier; // from the font. + } else if (delim.type === "large") { + // These SVGs come from fonts: KaTeX_Size1, _Size2, etc. + viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size]; + texHeight = (sizeToMaxHeight[delim.size] + extraViniculum) / sizeMultiplier; + spanHeight = (sizeToMaxHeight[delim.size] + extraViniculum + emPad) / sizeMultiplier; + span = sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "1.02em"; + advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font. + } else { + // Tall sqrt. In TeX, this would be stacked using multiple glyphs. + // We'll use a single SVG to accomplish the same thing. + spanHeight = height + extraViniculum + emPad; + texHeight = height + extraViniculum; + viewBoxHeight = Math.floor(1000 * height + extraViniculum) + vbPad; + span = sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.742em"; + advanceWidth = 1.056; + } + + span.height = texHeight; + span.style.height = spanHeight + "em"; + return { + span, + advanceWidth, + // Calculate the actual line width. + // This actually should depend on the chosen font -- e.g. \boldmath + // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and + // have thicker rules. + ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraViniculum) * sizeMultiplier + }; +}; // There are three kinds of delimiters, delimiters that stack when they become +// too large + + +const stackLargeDelimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230a", "\u230b", "\\lceil", "\\rceil", "\u2308", "\u2309", "\\surd"]; // delimiters that always stack + +const stackAlwaysDelimiters = ["\\uparrow", "\\downarrow", "\\updownarrow", "\\Uparrow", "\\Downarrow", "\\Updownarrow", "|", "\\|", "\\vert", "\\Vert", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27ee", "\u27ef", "\\lmoustache", "\\rmoustache", "\u23b0", "\u23b1"]; // and delimiters that never stack + +const stackNeverDelimiters = ["<", ">", "\\langle", "\\rangle", "/", "\\backslash", "\\lt", "\\gt"]; // Metrics of the different sizes. Found by looking at TeX's output of +// $\bigl| // \Bigl| \biggl| \Biggl| \showlists$ +// Used to create stacked delimiters of appropriate sizes in makeSizedDelim. + +const sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0]; +/** + * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4. + */ + +const makeSizedDelim = function makeSizedDelim(delim, size, options, mode, classes) { + // < and > turn into \langle and \rangle in delimiters + if (delim === "<" || delim === "\\lt" || delim === "\u27e8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27e9") { + delim = "\\rangle"; + } // Sized delimiters are never centered. + + + if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) { + return makeLargeDelim(delim, size, false, options, mode, classes); + } else if (utils.contains(stackAlwaysDelimiters, delim)) { + return makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes); + } else { + throw new ParseError("Illegal delimiter: '" + delim + "'"); + } +}; +/** + * There are three different sequences of delimiter sizes that the delimiters + * follow depending on the kind of delimiter. This is used when creating custom + * sized delimiters to decide whether to create a small, large, or stacked + * delimiter. + * + * In real TeX, these sequences aren't explicitly defined, but are instead + * defined inside the font metrics. Since there are only three sequences that + * are possible for the delimiters that TeX defines, it is easier to just encode + * them explicitly here. + */ + + +// Delimiters that never stack try small delimiters and large delimiters only +const stackNeverDelimiterSequence = [{ + type: "small", + style: Style$1.SCRIPTSCRIPT +}, { + type: "small", + style: Style$1.SCRIPT +}, { + type: "small", + style: Style$1.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}]; // Delimiters that always stack try the small delimiters first, then stack + +const stackAlwaysDelimiterSequence = [{ + type: "small", + style: Style$1.SCRIPTSCRIPT +}, { + type: "small", + style: Style$1.SCRIPT +}, { + type: "small", + style: Style$1.TEXT +}, { + type: "stack" +}]; // Delimiters that stack when large try the small and then large delimiters, and +// stack afterwards + +const stackLargeDelimiterSequence = [{ + type: "small", + style: Style$1.SCRIPTSCRIPT +}, { + type: "small", + style: Style$1.SCRIPT +}, { + type: "small", + style: Style$1.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}, { + type: "stack" +}]; +/** + * Get the font used in a delimiter based on what kind of delimiter it is. + * TODO(#963) Use more specific font family return type once that is introduced. + */ + +const delimTypeToFont = function delimTypeToFont(type) { + if (type.type === "small") { + return "Main-Regular"; + } else if (type.type === "large") { + return "Size" + type.size + "-Regular"; + } else if (type.type === "stack") { + return "Size4-Regular"; + } else { + throw new Error(`Add support for delim type '${type.type}' here.`); + } +}; +/** + * Traverse a sequence of types of delimiters to decide what kind of delimiter + * should be used to create a delimiter of the given height+depth. + */ + + +const traverseSequence = function traverseSequence(delim, height, sequence, options) { + // Here, we choose the index we should start at in the sequences. In smaller + // sizes (which correspond to larger numbers in style.size) we start earlier + // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts + // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2 + const start = Math.min(2, 3 - options.style.size); + + for (let i = start; i < sequence.length; i++) { + if (sequence[i].type === "stack") { + // This is always the last delimiter, so we just break the loop now. + break; + } + + const metrics = getMetrics(delim, delimTypeToFont(sequence[i]), "math"); + let heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we + // account for the style change size. + + if (sequence[i].type === "small") { + const newOptions = options.havingBaseStyle(sequence[i].style); + heightDepth *= newOptions.sizeMultiplier; + } // Check if the delimiter at this size works for the given height. + + + if (heightDepth > height) { + return sequence[i]; + } + } // If we reached the end of the sequence, return the last sequence element. + + + return sequence[sequence.length - 1]; +}; +/** + * Make a delimiter of a given height+depth, with optional centering. Here, we + * traverse the sequences, and create a delimiter that the sequence tells us to. + */ + + +const makeCustomSizedDelim = function makeCustomSizedDelim(delim, height, center, options, mode, classes) { + if (delim === "<" || delim === "\\lt" || delim === "\u27e8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27e9") { + delim = "\\rangle"; + } // Decide what sequence to use + + + let sequence; + + if (utils.contains(stackNeverDelimiters, delim)) { + sequence = stackNeverDelimiterSequence; + } else if (utils.contains(stackLargeDelimiters, delim)) { + sequence = stackLargeDelimiterSequence; + } else { + sequence = stackAlwaysDelimiterSequence; + } // Look through the sequence + + + const delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs. + // Depending on the sequence element we decided on, call the + // appropriate function. + + if (delimType.type === "small") { + return makeSmallDelim(delim, delimType.style, center, options, mode, classes); + } else if (delimType.type === "large") { + return makeLargeDelim(delim, delimType.size, center, options, mode, classes); + } else + /* if (delimType.type === "stack") */ + { + return makeStackedDelim(delim, height, center, options, mode, classes); + } +}; +/** + * Make a delimiter for use with `\left` and `\right`, given a height and depth + * of an expression that the delimiters surround. + */ + + +const makeLeftRightDelim = function makeLeftRightDelim(delim, height, depth, options, mode, classes) { + // We always center \left/\right delimiters, so the axis is always shifted + const axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right + + const delimiterFactor = 901; + const delimiterExtend = 5.0 / options.fontMetrics().ptPerEm; + const maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight); + const totalHeight = Math.max( // In real TeX, calculations are done using integral values which are + // 65536 per pt, or 655360 per em. So, the division here truncates in + // TeX but doesn't here, producing different results. If we wanted to + // exactly match TeX's calculation, we could do + // Math.floor(655360 * maxDistFromAxis / 500) * + // delimiterFactor / 655360 + // (To see the difference, compare + // x^{x^{\left(\rule{0.1em}{0.68em}\right)}} + // in TeX and KaTeX) + maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total + // height + + return makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes); +}; + +var delimiter = { + sqrtImage: makeSqrtImage, + sizedDelim: makeSizedDelim, + customSizedDelim: makeCustomSizedDelim, + leftRightDelim: makeLeftRightDelim +}; + +// Extra data needed for the delimiter handler down below +const delimiterSizes = { + "\\bigl": { + mclass: "mopen", + size: 1 + }, + "\\Bigl": { + mclass: "mopen", + size: 2 + }, + "\\biggl": { + mclass: "mopen", + size: 3 + }, + "\\Biggl": { + mclass: "mopen", + size: 4 + }, + "\\bigr": { + mclass: "mclose", + size: 1 + }, + "\\Bigr": { + mclass: "mclose", + size: 2 + }, + "\\biggr": { + mclass: "mclose", + size: 3 + }, + "\\Biggr": { + mclass: "mclose", + size: 4 + }, + "\\bigm": { + mclass: "mrel", + size: 1 + }, + "\\Bigm": { + mclass: "mrel", + size: 2 + }, + "\\biggm": { + mclass: "mrel", + size: 3 + }, + "\\Biggm": { + mclass: "mrel", + size: 4 + }, + "\\big": { + mclass: "mord", + size: 1 + }, + "\\Big": { + mclass: "mord", + size: 2 + }, + "\\bigg": { + mclass: "mord", + size: 3 + }, + "\\Bigg": { + mclass: "mord", + size: 4 + } +}; +const delimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230a", "\u230b", "\\lceil", "\\rceil", "\u2308", "\u2309", "<", ">", "\\langle", "\u27e8", "\\rangle", "\u27e9", "\\lt", "\\gt", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27ee", "\u27ef", "\\lmoustache", "\\rmoustache", "\u23b0", "\u23b1", "/", "\\backslash", "|", "\\vert", "\\|", "\\Vert", "\\uparrow", "\\Uparrow", "\\downarrow", "\\Downarrow", "\\updownarrow", "\\Updownarrow", "."]; + +// Delimiter functions +function checkDelimiter(delim, context) { + const symDelim = checkSymbolNodeType(delim); + + if (symDelim && utils.contains(delimiters, symDelim.text)) { + return symDelim; + } else if (symDelim) { + throw new ParseError(`Invalid delimiter '${symDelim.text}' after '${context.funcName}'`, delim); + } else { + throw new ParseError(`Invalid delimiter type '${delim.type}'`, delim); + } +} + +defineFunction({ + type: "delimsizing", + names: ["\\bigl", "\\Bigl", "\\biggl", "\\Biggl", "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", "\\big", "\\Big", "\\bigg", "\\Bigg"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + const delim = checkDelimiter(args[0], context); + return { + type: "delimsizing", + mode: context.parser.mode, + size: delimiterSizes[context.funcName].size, + mclass: delimiterSizes[context.funcName].mclass, + delim: delim.text + }; + }, + htmlBuilder: (group, options) => { + if (group.delim === ".") { + // Empty delimiters still count as elements, even though they don't + // show anything. + return buildCommon.makeSpan([group.mclass]); + } // Use delimiter.sizedDelim to generate the delimiter. + + + return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]); + }, + mathmlBuilder: group => { + const children = []; + + if (group.delim !== ".") { + children.push(makeText(group.delim, group.mode)); + } + + const node = new mathMLTree.MathNode("mo", children); + + if (group.mclass === "mopen" || group.mclass === "mclose") { + // Only some of the delimsizing functions act as fences, and they + // return "mopen" or "mclose" mclass. + node.setAttribute("fence", "true"); + } else { + // Explicitly disable fencing if it's not a fence, to override the + // defaults. + node.setAttribute("fence", "false"); + } + + return node; + } +}); + +function assertParsed(group) { + if (!group.body) { + throw new Error("Bug: The leftright ParseNode wasn't fully parsed."); + } +} + +defineFunction({ + type: "leftright-right", + names: ["\\right"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + // \left case below triggers parsing of \right in + // `const right = parser.parseFunction();` + // uses this return value. + const color = context.parser.gullet.macros.get("\\current@color"); + + if (color && typeof color !== "string") { + throw new ParseError("\\current@color set to non-string in \\right"); + } + + return { + type: "leftright-right", + mode: context.parser.mode, + delim: checkDelimiter(args[0], context).text, + color // undefined if not set via \color + + }; + } +}); +defineFunction({ + type: "leftright", + names: ["\\left"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + const delim = checkDelimiter(args[0], context); + const parser = context.parser; // Parse out the implicit body + + ++parser.leftrightDepth; // parseExpression stops before '\\right' + + const body = parser.parseExpression(false); + --parser.leftrightDepth; // Check the next token + + parser.expect("\\right", false); + const right = assertNodeType(parser.parseFunction(), "leftright-right"); + return { + type: "leftright", + mode: parser.mode, + body, + left: delim.text, + right: right.delim, + rightColor: right.color + }; + }, + htmlBuilder: (group, options) => { + assertParsed(group); // Build the inner expression + + const inner = buildExpression(group.body, options, true, ["mopen", "mclose"]); + let innerHeight = 0; + let innerDepth = 0; + let hadMiddle = false; // Calculate its height and depth + + for (let i = 0; i < inner.length; i++) { + // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + if (inner[i].isMiddle) { + hadMiddle = true; + } else { + innerHeight = Math.max(inner[i].height, innerHeight); + innerDepth = Math.max(inner[i].depth, innerDepth); + } + } // The size of delimiters is the same, regardless of what style we are + // in. Thus, to correctly calculate the size of delimiter we need around + // a group, we scale down the inner size based on the size. + + + innerHeight *= options.sizeMultiplier; + innerDepth *= options.sizeMultiplier; + let leftDelim; + + if (group.left === ".") { + // Empty delimiters in \left and \right make null delimiter spaces. + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + // Otherwise, use leftRightDelim to generate the correct sized + // delimiter. + leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, ["mopen"]); + } // Add it to the beginning of the expression + + + inner.unshift(leftDelim); // Handle middle delimiters + + if (hadMiddle) { + for (let i = 1; i < inner.length; i++) { + const middleDelim = inner[i]; // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + + const isMiddle = middleDelim.isMiddle; + + if (isMiddle) { + // Apply the options that were active when \middle was called + inner[i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []); + } + } + } + + let rightDelim; // Same for the right delimiter, but using color specified by \color + + if (group.right === ".") { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + const colorOptions = group.rightColor ? options.withColor(group.rightColor) : options; + rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, ["mclose"]); + } // Add it to the end of the expression. + + + inner.push(rightDelim); + return buildCommon.makeSpan(["minner"], inner, options); + }, + mathmlBuilder: (group, options) => { + assertParsed(group); + const inner = buildExpression$1(group.body, options); + + if (group.left !== ".") { + const leftNode = new mathMLTree.MathNode("mo", [makeText(group.left, group.mode)]); + leftNode.setAttribute("fence", "true"); + inner.unshift(leftNode); + } + + if (group.right !== ".") { + const rightNode = new mathMLTree.MathNode("mo", [makeText(group.right, group.mode)]); + rightNode.setAttribute("fence", "true"); + + if (group.rightColor) { + rightNode.setAttribute("mathcolor", group.rightColor); + } + + inner.push(rightNode); + } + + return makeRow(inner); + } +}); +defineFunction({ + type: "middle", + names: ["\\middle"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + const delim = checkDelimiter(args[0], context); + + if (!context.parser.leftrightDepth) { + throw new ParseError("\\middle without preceding \\left", delim); + } + + return { + type: "middle", + mode: context.parser.mode, + delim: delim.text + }; + }, + htmlBuilder: (group, options) => { + let middleDelim; + + if (group.delim === ".") { + middleDelim = makeNullDelimiter(options, []); + } else { + middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []); + const isMiddle = { + delim: group.delim, + options + }; // Property `isMiddle` not defined on `span`. It is only used in + // this file above. + // TODO: Fix this violation of the `span` type and possibly rename + // things since `isMiddle` sounds like a boolean, but is a struct. + // $FlowFixMe + + middleDelim.isMiddle = isMiddle; + } + + return middleDelim; + }, + mathmlBuilder: (group, options) => { + // A Firefox \middle will strech a character vertically only if it + // is in the fence part of the operator dictionary at: + // https://www.w3.org/TR/MathML3/appendixc.html. + // So we need to avoid U+2223 and use plain "|" instead. + const textNode = group.delim === "\\vert" || group.delim === "|" ? makeText("|", "text") : makeText(group.delim, group.mode); + const middleNode = new mathMLTree.MathNode("mo", [textNode]); + middleNode.setAttribute("fence", "true"); // MathML gives 5/18em spacing to each element. + // \middle should get delimiter spacing instead. + + middleNode.setAttribute("lspace", "0.05em"); + middleNode.setAttribute("rspace", "0.05em"); + return middleNode; + } +}); + +const htmlBuilder$2 = (group, options) => { + // \cancel, \bcancel, \xcancel, \sout, \fbox, \colorbox, \fcolorbox + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + const inner = buildCommon.wrapFragment(buildGroup(group.body, options), options); + const label = group.label.substr(1); + const scale = options.sizeMultiplier; + let img; + let imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different + // depending on whether the subject is wider than it is tall, or vice versa. + // We don't know the width of a group, so as a proxy, we test if + // the subject is a single character. This captures most of the + // subjects that should get the "tall" treatment. + + const isSingleChar = utils.isCharacterBox(group.body); + + if (label === "sout") { + img = buildCommon.makeSpan(["stretchy", "sout"]); + img.height = options.fontMetrics().defaultRuleThickness / scale; + imgShift = -0.5 * options.fontMetrics().xHeight; + } else { + // Add horizontal padding + if (/cancel/.test(label)) { + if (!isSingleChar) { + inner.classes.push("cancel-pad"); + } + } else { + inner.classes.push("boxpad"); + } // Add vertical padding + + + let vertPad = 0; + let ruleThickness = 0; // ref: cancel package: \advance\totalheight2\p@ % "+2" + + if (/box/.test(label)) { + ruleThickness = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // User override. + ); + vertPad = options.fontMetrics().fboxsep + (label === "colorbox" ? 0 : ruleThickness); + } else { + vertPad = isSingleChar ? 0.2 : 0; + } + + img = stretchy.encloseSpan(inner, label, vertPad, options); + + if (/fbox|boxed|fcolorbox/.test(label)) { + img.style.borderStyle = "solid"; + img.style.borderWidth = `${ruleThickness}em`; + } + + imgShift = inner.depth + vertPad; + + if (group.backgroundColor) { + img.style.backgroundColor = group.backgroundColor; + + if (group.borderColor) { + img.style.borderColor = group.borderColor; + } + } + } + + let vlist; + + if (group.backgroundColor) { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Put the color background behind inner; + { + type: "elem", + elem: img, + shift: imgShift + }, { + type: "elem", + elem: inner, + shift: 0 + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Write the \cancel stroke on top of inner. + { + type: "elem", + elem: inner, + shift: 0 + }, { + type: "elem", + elem: img, + shift: imgShift, + wrapperClasses: /cancel/.test(label) ? ["svg-align"] : [] + }] + }, options); + } + + if (/cancel/.test(label)) { + // The cancel package documentation says that cancel lines add their height + // to the expression, but tests show that isn't how it actually works. + vlist.height = inner.height; + vlist.depth = inner.depth; + } + + if (/cancel/.test(label) && !isSingleChar) { + // cancel does not create horiz space for its line extension. + return buildCommon.makeSpan(["mord", "cancel-lap"], [vlist], options); + } else { + return buildCommon.makeSpan(["mord"], [vlist], options); + } +}; + +const mathmlBuilder$2 = (group, options) => { + let fboxsep = 0; + const node = new mathMLTree.MathNode(group.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [buildGroup$1(group.body, options)]); + + switch (group.label) { + case "\\cancel": + node.setAttribute("notation", "updiagonalstrike"); + break; + + case "\\bcancel": + node.setAttribute("notation", "downdiagonalstrike"); + break; + + case "\\sout": + node.setAttribute("notation", "horizontalstrike"); + break; + + case "\\fbox": + node.setAttribute("notation", "box"); + break; + + case "\\fcolorbox": + case "\\colorbox": + // doesn't have a good notation option. So use + // instead. Set some attributes that come included with . + fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm; + node.setAttribute("width", `+${2 * fboxsep}pt`); + node.setAttribute("height", `+${2 * fboxsep}pt`); + node.setAttribute("lspace", `${fboxsep}pt`); // + + node.setAttribute("voffset", `${fboxsep}pt`); + + if (group.label === "\\fcolorbox") { + const thk = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // user override + ); + node.setAttribute("style", "border: " + thk + "em solid " + String(group.borderColor)); + } + + break; + + case "\\xcancel": + node.setAttribute("notation", "updiagonalstrike downdiagonalstrike"); + break; + } + + if (group.backgroundColor) { + node.setAttribute("mathbackground", group.backgroundColor); + } + + return node; +}; + +defineFunction({ + type: "enclose", + names: ["\\colorbox"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "text"] + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser, + funcName = _ref.funcName; + const color = assertNodeType(args[0], "color-token").color; + const body = args[1]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor: color, + body + }; + }, + + htmlBuilder: htmlBuilder$2, + mathmlBuilder: mathmlBuilder$2 +}); +defineFunction({ + type: "enclose", + names: ["\\fcolorbox"], + props: { + numArgs: 3, + allowedInText: true, + greediness: 3, + argTypes: ["color", "color", "text"] + }, + + handler(_ref2, args, optArgs) { + let parser = _ref2.parser, + funcName = _ref2.funcName; + const borderColor = assertNodeType(args[0], "color-token").color; + const backgroundColor = assertNodeType(args[1], "color-token").color; + const body = args[2]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor, + borderColor, + body + }; + }, + + htmlBuilder: htmlBuilder$2, + mathmlBuilder: mathmlBuilder$2 +}); +defineFunction({ + type: "enclose", + names: ["\\fbox"], + props: { + numArgs: 1, + argTypes: ["hbox"], + allowedInText: true + }, + + handler(_ref3, args) { + let parser = _ref3.parser; + return { + type: "enclose", + mode: parser.mode, + label: "\\fbox", + body: args[0] + }; + } + +}); +defineFunction({ + type: "enclose", + names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout"], + props: { + numArgs: 1 + }, + + handler(_ref4, args, optArgs) { + let parser = _ref4.parser, + funcName = _ref4.funcName; + const body = args[0]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + body + }; + }, + + htmlBuilder: htmlBuilder$2, + mathmlBuilder: mathmlBuilder$2 +}); + +/** + * All registered environments. + * `environments.js` exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary via `environments.js`. + */ +const _environments = {}; +function defineEnvironment(_ref) { + let type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of environments. + const data = { + type, + numArgs: props.numArgs || 0, + greediness: 1, + allowedInText: false, + numOptionalArgs: 0, + handler + }; + + for (let i = 0; i < names.length; ++i) { + // TODO: The value type of _environments should be a type union of all + // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is + // an existential type. + // $FlowFixMe + _environments[names[i]] = data; + } + + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } +} + +function getHLines(parser) { + // Return an array. The array length = number of hlines. + // Each element in the array tells if the line is dashed. + const hlineInfo = []; + parser.consumeSpaces(); + let nxt = parser.fetch().text; + + while (nxt === "\\hline" || nxt === "\\hdashline") { + parser.consume(); + hlineInfo.push(nxt === "\\hdashline"); + parser.consumeSpaces(); + nxt = parser.fetch().text; + } + + return hlineInfo; +} +/** + * Parse the body of the environment, with rows delimited by \\ and + * columns delimited by &, and create a nested list in row-major order + * with one group per cell. If given an optional argument style + * ("text", "display", etc.), then each cell is cast into that style. + */ + + +function parseArray(parser, _ref, style) { + let hskipBeforeAndAfter = _ref.hskipBeforeAndAfter, + addJot = _ref.addJot, + cols = _ref.cols, + arraystretch = _ref.arraystretch, + colSeparationType = _ref.colSeparationType; + // Parse body of array with \\ temporarily mapped to \cr + parser.gullet.beginGroup(); + parser.gullet.macros.set("\\\\", "\\cr"); // Get current arraystretch if it's not set by the environment + + if (!arraystretch) { + const stretch = parser.gullet.expandMacroAsText("\\arraystretch"); + + if (stretch == null) { + // Default \arraystretch from lttab.dtx + arraystretch = 1; + } else { + arraystretch = parseFloat(stretch); + + if (!arraystretch || arraystretch < 0) { + throw new ParseError(`Invalid \\arraystretch: ${stretch}`); + } + } + } // Start group for first cell + + + parser.gullet.beginGroup(); + let row = []; + const body = [row]; + const rowGaps = []; + const hLinesBeforeRow = []; // Test for \hline at the top of the array. + + hLinesBeforeRow.push(getHLines(parser)); + + while (true) { + // eslint-disable-line no-constant-condition + // Parse each cell in its own group (namespace) + let cell = parser.parseExpression(false, "\\cr"); + parser.gullet.endGroup(); + parser.gullet.beginGroup(); + cell = { + type: "ordgroup", + mode: parser.mode, + body: cell + }; + + if (style) { + cell = { + type: "styling", + mode: parser.mode, + style, + body: [cell] + }; + } + + row.push(cell); + const next = parser.fetch().text; + + if (next === "&") { + parser.consume(); + } else if (next === "\\end") { + // Arrays terminate newlines with `\crcr` which consumes a `\cr` if + // the last line is empty. + // NOTE: Currently, `cell` is the last item added into `row`. + if (row.length === 1 && cell.type === "styling" && cell.body[0].body.length === 0) { + body.pop(); + } + + if (hLinesBeforeRow.length < body.length + 1) { + hLinesBeforeRow.push([]); + } + + break; + } else if (next === "\\cr") { + const cr = assertNodeType(parser.parseFunction(), "cr"); + rowGaps.push(cr.size); // check for \hline(s) following the row separator + + hLinesBeforeRow.push(getHLines(parser)); + row = []; + body.push(row); + } else { + throw new ParseError("Expected & or \\\\ or \\cr or \\end", parser.nextToken); + } + } // End cell group + + + parser.gullet.endGroup(); // End array group defining \\ + + parser.gullet.endGroup(); + return { + type: "array", + mode: parser.mode, + addJot, + arraystretch, + body, + cols, + rowGaps, + hskipBeforeAndAfter, + hLinesBeforeRow, + colSeparationType + }; +} // Decides on a style for cells in an array according to whether the given +// environment name starts with the letter 'd'. + + +function dCellStyle(envName) { + if (envName.substr(0, 1) === "d") { + return "display"; + } else { + return "text"; + } +} + +const htmlBuilder$3 = function htmlBuilder(group, options) { + let r; + let c; + const nr = group.body.length; + const hLinesBeforeRow = group.hLinesBeforeRow; + let nc = 0; + let body = new Array(nr); + const hlines = []; + const ruleThickness = Math.max( // From LaTeX \showthe\arrayrulewidth. Equals 0.04 em. + options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override. + ); // Horizontal spacing + + const pt = 1 / options.fontMetrics().ptPerEm; + let arraycolsep = 5 * pt; // default value, i.e. \arraycolsep in article.cls + + if (group.colSeparationType && group.colSeparationType === "small") { + // We're in a {smallmatrix}. Default column space is \thickspace, + // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}. + // But that needs adjustment because LaTeX applies \scriptstyle to the + // entire array, including the colspace, but this function applies + // \scriptstyle only inside each element. + const localMultiplier = options.havingStyle(Style$1.SCRIPT).sizeMultiplier; + arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier); + } // Vertical spacing + + + const baselineskip = 12 * pt; // see size10.clo + // Default \jot from ltmath.dtx + // TODO(edemaine): allow overriding \jot via \setlength (#687) + + const jot = 3 * pt; + const arrayskip = group.arraystretch * baselineskip; + const arstrutHeight = 0.7 * arrayskip; // \strutbox in ltfsstrc.dtx and + + const arstrutDepth = 0.3 * arrayskip; // \@arstrutbox in lttab.dtx + + let totalHeight = 0; // Set a position for \hline(s) at the top of the array, if any. + + function setHLinePos(hlinesInGap) { + for (let i = 0; i < hlinesInGap.length; ++i) { + if (i > 0) { + totalHeight += 0.25; + } + + hlines.push({ + pos: totalHeight, + isDashed: hlinesInGap[i] + }); + } + } + + setHLinePos(hLinesBeforeRow[0]); + + for (r = 0; r < group.body.length; ++r) { + const inrow = group.body[r]; + let height = arstrutHeight; // \@array adds an \@arstrut + + let depth = arstrutDepth; // to each tow (via the template) + + if (nc < inrow.length) { + nc = inrow.length; + } + + const outrow = new Array(inrow.length); + + for (c = 0; c < inrow.length; ++c) { + const elt = buildGroup(inrow[c], options); + + if (depth < elt.depth) { + depth = elt.depth; + } + + if (height < elt.height) { + height = elt.height; + } + + outrow[c] = elt; + } + + const rowGap = group.rowGaps[r]; + let gap = 0; + + if (rowGap) { + gap = calculateSize(rowGap, options); + + if (gap > 0) { + // \@argarraycr + gap += arstrutDepth; + + if (depth < gap) { + depth = gap; // \@xargarraycr + } + + gap = 0; + } + } // In AMS multiline environments such as aligned and gathered, rows + // correspond to lines that have additional \jot added to the + // \baselineskip via \openup. + + + if (group.addJot) { + depth += jot; + } + + outrow.height = height; + outrow.depth = depth; + totalHeight += height; + outrow.pos = totalHeight; + totalHeight += depth + gap; // \@yargarraycr + + body[r] = outrow; // Set a position for \hline(s), if any. + + setHLinePos(hLinesBeforeRow[r + 1]); + } + + const offset = totalHeight / 2 + options.fontMetrics().axisHeight; + const colDescriptions = group.cols || []; + const cols = []; + let colSep; + let colDescrNum; + + for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column + // descriptions, so trailing separators don't get lost. + c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) { + let colDescr = colDescriptions[colDescrNum] || {}; + let firstSeparator = true; + + while (colDescr.type === "separator") { + // If there is more than one separator in a row, add a space + // between them. + if (!firstSeparator) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = options.fontMetrics().doubleRuleSep + "em"; + cols.push(colSep); + } + + if (colDescr.separator === "|" || colDescr.separator === ":") { + const lineType = colDescr.separator === "|" ? "solid" : "dashed"; + const separator = buildCommon.makeSpan(["vertical-separator"], [], options); + separator.style.height = totalHeight + "em"; + separator.style.borderRightWidth = `${ruleThickness}em`; + separator.style.borderRightStyle = lineType; + separator.style.margin = `0 -${ruleThickness / 2}em`; + separator.style.verticalAlign = -(totalHeight - offset) + "em"; + cols.push(separator); + } else { + throw new ParseError("Invalid separator type: " + colDescr.separator); + } + + colDescrNum++; + colDescr = colDescriptions[colDescrNum] || {}; + firstSeparator = false; + } + + if (c >= nc) { + continue; + } + + let sepwidth; + + if (c > 0 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.pregap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + + let col = []; + + for (r = 0; r < nr; ++r) { + const row = body[r]; + const elem = row[c]; + + if (!elem) { + continue; + } + + const shift = row.pos - offset; + elem.depth = row.depth; + elem.height = row.height; + col.push({ + type: "elem", + elem: elem, + shift: shift + }); + } + + col = buildCommon.makeVList({ + positionType: "individualShift", + children: col + }, options); + col = buildCommon.makeSpan(["col-align-" + (colDescr.align || "c")], [col]); + cols.push(col); + + if (c < nc - 1 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.postgap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + } + + body = buildCommon.makeSpan(["mtable"], cols); // Add \hline(s), if any. + + if (hlines.length > 0) { + const line = buildCommon.makeLineSpan("hline", options, ruleThickness); + const dashes = buildCommon.makeLineSpan("hdashline", options, ruleThickness); + const vListElems = [{ + type: "elem", + elem: body, + shift: 0 + }]; + + while (hlines.length > 0) { + const hline = hlines.pop(); + const lineShift = hline.pos - offset; + + if (hline.isDashed) { + vListElems.push({ + type: "elem", + elem: dashes, + shift: lineShift + }); + } else { + vListElems.push({ + type: "elem", + elem: line, + shift: lineShift + }); + } + } + + body = buildCommon.makeVList({ + positionType: "individualShift", + children: vListElems + }, options); + } + + return buildCommon.makeSpan(["mord"], [body], options); +}; + +const alignMap = { + c: "center ", + l: "left ", + r: "right " +}; + +const mathmlBuilder$3 = function mathmlBuilder(group, options) { + let table = new mathMLTree.MathNode("mtable", group.body.map(function (row) { + return new mathMLTree.MathNode("mtr", row.map(function (cell) { + return new mathMLTree.MathNode("mtd", [buildGroup$1(cell, options)]); + })); + })); // Set column alignment, row spacing, column spacing, and + // array lines by setting attributes on the table element. + // Set the row spacing. In MathML, we specify a gap distance. + // We do not use rowGap[] because MathML automatically increases + // cell height with the height/depth of the element content. + // LaTeX \arraystretch multiplies the row baseline-to-baseline distance. + // We simulate this by adding (arraystretch - 1)em to the gap. This + // does a reasonable job of adjusting arrays containing 1 em tall content. + // The 0.16 and 0.09 values are found emprically. They produce an array + // similar to LaTeX and in which content does not interfere with \hines. + + const gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray} + : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0); + table.setAttribute("rowspacing", gap + "em"); // MathML table lines go only between cells. + // To place a line on an edge we'll use , if necessary. + + let menclose = ""; + let align = ""; + + if (group.cols && group.cols.length > 0) { + // Find column alignment, column spacing, and vertical lines. + const cols = group.cols; + let columnLines = ""; + let prevTypeWasAlign = false; + let iStart = 0; + let iEnd = cols.length; + + if (cols[0].type === "separator") { + menclose += "top "; + iStart = 1; + } + + if (cols[cols.length - 1].type === "separator") { + menclose += "bottom "; + iEnd -= 1; + } + + for (let i = iStart; i < iEnd; i++) { + if (cols[i].type === "align") { + align += alignMap[cols[i].align]; + + if (prevTypeWasAlign) { + columnLines += "none "; + } + + prevTypeWasAlign = true; + } else if (cols[i].type === "separator") { + // MathML accepts only single lines between cells. + // So we read only the first of consecutive separators. + if (prevTypeWasAlign) { + columnLines += cols[i].separator === "|" ? "solid " : "dashed "; + prevTypeWasAlign = false; + } + } + } + + table.setAttribute("columnalign", align.trim()); + + if (/[sd]/.test(columnLines)) { + table.setAttribute("columnlines", columnLines.trim()); + } + } // Set column spacing. + + + if (group.colSeparationType === "align") { + const cols = group.cols || []; + let spacing = ""; + + for (let i = 1; i < cols.length; i++) { + spacing += i % 2 ? "0em " : "1em "; + } + + table.setAttribute("columnspacing", spacing.trim()); + } else if (group.colSeparationType === "alignat") { + table.setAttribute("columnspacing", "0em"); + } else if (group.colSeparationType === "small") { + table.setAttribute("columnspacing", "0.2778em"); + } else { + table.setAttribute("columnspacing", "1em"); + } // Address \hline and \hdashline + + + let rowLines = ""; + const hlines = group.hLinesBeforeRow; + menclose += hlines[0].length > 0 ? "left " : ""; + menclose += hlines[hlines.length - 1].length > 0 ? "right " : ""; + + for (let i = 1; i < hlines.length - 1; i++) { + rowLines += hlines[i].length === 0 ? "none " // MathML accepts only a single line between rows. Read one element. + : hlines[i][0] ? "dashed " : "solid "; + } + + if (/[sd]/.test(rowLines)) { + table.setAttribute("rowlines", rowLines.trim()); + } + + if (menclose !== "") { + table = new mathMLTree.MathNode("menclose", [table]); + table.setAttribute("notation", menclose.trim()); + } + + if (group.arraystretch && group.arraystretch < 1) { + // A small array. Wrap in scriptstyle so row gap is not too large. + table = new mathMLTree.MathNode("mstyle", [table]); + table.setAttribute("scriptlevel", "1"); + } + + return table; +}; // Convenience function for aligned and alignedat environments. + + +const alignedHandler = function alignedHandler(context, args) { + const cols = []; + const res = parseArray(context.parser, { + cols, + addJot: true + }, "display"); // Determining number of columns. + // 1. If the first argument is given, we use it as a number of columns, + // and makes sure that each row doesn't exceed that number. + // 2. Otherwise, just count number of columns = maximum number + // of cells in each row ("aligned" mode -- isAligned will be true). + // + // At the same time, prepend empty group {} at beginning of every second + // cell in each row (starting with second cell) so that operators become + // binary. This behavior is implemented in amsmath's \start@aligned. + + let numMaths; + let numCols = 0; + const emptyGroup = { + type: "ordgroup", + mode: context.mode, + body: [] + }; + + if (args[0] && args[0].type === "ordgroup") { + let arg0 = ""; + + for (let i = 0; i < args[0].body.length; i++) { + const textord = assertNodeType(args[0].body[i], "textord"); + arg0 += textord.text; + } + + numMaths = Number(arg0); + numCols = numMaths * 2; + } + + const isAligned = !numCols; + res.body.forEach(function (row) { + for (let i = 1; i < row.length; i += 2) { + // Modify ordgroup node within styling node + const styling = assertNodeType(row[i], "styling"); + const ordgroup = assertNodeType(styling.body[0], "ordgroup"); + ordgroup.body.unshift(emptyGroup); + } + + if (!isAligned) { + // Case 1 + const curMaths = row.length / 2; + + if (numMaths < curMaths) { + throw new ParseError("Too many math in a row: " + `expected ${numMaths}, but got ${curMaths}`, row[0]); + } + } else if (numCols < row.length) { + // Case 2 + numCols = row.length; + } + }); // Adjusting alignment. + // In aligned mode, we add one \qquad between columns; + // otherwise we add nothing. + + for (let i = 0; i < numCols; ++i) { + let align = "r"; + let pregap = 0; + + if (i % 2 === 1) { + align = "l"; + } else if (i > 0 && isAligned) { + // "aligned" mode. + pregap = 1; // add one \quad + } + + cols[i] = { + type: "align", + align: align, + pregap: pregap, + postgap: 0 + }; + } + + res.colSeparationType = isAligned ? "align" : "alignat"; + return res; +}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation +// is part of the source2e.pdf file of LaTeX2e source documentation. +// {darray} is an {array} environment where cells are set in \displaystyle, +// as defined in nccmath.sty. + + +defineEnvironment({ + type: "array", + names: ["array", "darray"], + props: { + numArgs: 1 + }, + + handler(context, args) { + // Since no types are specified above, the two possibilities are + // - The argument is wrapped in {} or [], in which case Parser's + // parseGroup() returns an "ordgroup" wrapping some symbol node. + // - The argument is a bare symbol node. + const symNode = checkSymbolNodeType(args[0]); + const colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + const cols = colalign.map(function (nde) { + const node = assertSymbolNodeType(nde); + const ca = node.text; + + if ("lcr".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } else if (ca === "|") { + return { + type: "separator", + separator: "|" + }; + } else if (ca === ":") { + return { + type: "separator", + separator: ":" + }; + } + + throw new ParseError("Unknown column alignment: " + ca, nde); + }); + const res = { + cols, + hskipBeforeAndAfter: true // \@preamble in lttab.dtx + + }; + return parseArray(context.parser, res, dCellStyle(context.envName)); + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // The matrix environments of amsmath builds on the array environment +// of LaTeX, which is discussed above. + +defineEnvironment({ + type: "array", + names: ["matrix", "pmatrix", "bmatrix", "Bmatrix", "vmatrix", "Vmatrix"], + props: { + numArgs: 0 + }, + + handler(context) { + const delimiters = { + "matrix": null, + "pmatrix": ["(", ")"], + "bmatrix": ["[", "]"], + "Bmatrix": ["\\{", "\\}"], + "vmatrix": ["|", "|"], + "Vmatrix": ["\\Vert", "\\Vert"] + }[context.envName]; // \hskip -\arraycolsep in amsmath + + const payload = { + hskipBeforeAndAfter: false + }; + const res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return delimiters ? { + type: "leftright", + mode: context.mode, + body: [res], + left: delimiters[0], + right: delimiters[1], + rightColor: undefined // \right uninfluenced by \color in array + + } : res; + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); +defineEnvironment({ + type: "array", + names: ["smallmatrix"], + props: { + numArgs: 0 + }, + + handler(context) { + const payload = { + arraystretch: 0.5 + }; + const res = parseArray(context.parser, payload, "script"); + res.colSeparationType = "small"; + return res; + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); +defineEnvironment({ + type: "array", + names: ["subarray"], + props: { + numArgs: 1 + }, + + handler(context, args) { + // Parsing of {subarray} is similar to {array} + const symNode = checkSymbolNodeType(args[0]); + const colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + const cols = colalign.map(function (nde) { + const node = assertSymbolNodeType(nde); + const ca = node.text; // {subarray} only recognizes "l" & "c" + + if ("lc".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } + + throw new ParseError("Unknown column alignment: " + ca, nde); + }); + + if (cols.length > 1) { + throw new ParseError("{subarray} can contain only one column"); + } + + let res = { + cols, + hskipBeforeAndAfter: false, + arraystretch: 0.5 + }; + res = parseArray(context.parser, res, "script"); + + if (res.body.length > 0 && res.body[0].length > 1) { + throw new ParseError("{subarray} can contain only one column"); + } + + return res; + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // A cases environment (in amsmath.sty) is almost equivalent to +// \def\arraystretch{1.2}% +// \left\{\begin{array}{@{}l@{\quad}l@{}} … \end{array}\right. +// {dcases} is a {cases} environment where cells are set in \displaystyle, +// as defined in mathtools.sty. +// {rcases} is another mathtools environment. It's brace is on the right side. + +defineEnvironment({ + type: "array", + names: ["cases", "dcases", "rcases", "drcases"], + props: { + numArgs: 0 + }, + + handler(context) { + const payload = { + arraystretch: 1.2, + cols: [{ + type: "align", + align: "l", + pregap: 0, + // TODO(kevinb) get the current style. + // For now we use the metrics for TEXT style which is what we were + // doing before. Before attempting to get the current style we + // should look at TeX's behavior especially for \over and matrices. + postgap: 1.0 + /* 1em quad */ + + }, { + type: "align", + align: "l", + pregap: 0, + postgap: 0 + }] + }; + const res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return { + type: "leftright", + mode: context.mode, + body: [res], + left: context.envName.indexOf("r") > -1 ? "." : "\\{", + right: context.envName.indexOf("r") > -1 ? "\\}" : ".", + rightColor: undefined + }; + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // An aligned environment is like the align* environment +// except it operates within math mode. +// Note that we assume \nomallineskiplimit to be zero, +// so that \strut@ is the same as \strut. + +defineEnvironment({ + type: "array", + names: ["aligned"], + props: { + numArgs: 0 + }, + handler: alignedHandler, + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // A gathered environment is like an array environment with one centered +// column, but where rows are considered lines so get \jot line spacing +// and contents are set in \displaystyle. + +defineEnvironment({ + type: "array", + names: ["gathered"], + props: { + numArgs: 0 + }, + + handler(context) { + const res = { + cols: [{ + type: "align", + align: "c" + }], + addJot: true + }; + return parseArray(context.parser, res, "display"); + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // alignat environment is like an align environment, but one must explicitly +// specify maximum number of columns in each row, and can adjust spacing between +// each columns. + +defineEnvironment({ + type: "array", + names: ["alignedat"], + // One for numbered and for unnumbered; + // but, KaTeX doesn't supports math numbering yet, + // they make no difference for now. + props: { + numArgs: 1 + }, + handler: alignedHandler, + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // Catch \hline outside array environment + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\hline", "\\hdashline"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: true + }, + + handler(context, args) { + throw new ParseError(`${context.funcName} valid only within array environment`); + } + +}); + +const environments = _environments; + +// defineEnvironment definitions. +// $FlowFixMe, "environment" handler returns an environment ParseNode + +defineFunction({ + type: "environment", + names: ["\\begin", "\\end"], + props: { + numArgs: 1, + argTypes: ["text"] + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + const nameGroup = args[0]; + + if (nameGroup.type !== "ordgroup") { + throw new ParseError("Invalid environment name", nameGroup); + } + + let envName = ""; + + for (let i = 0; i < nameGroup.body.length; ++i) { + envName += assertNodeType(nameGroup.body[i], "textord").text; + } + + if (funcName === "\\begin") { + // begin...end is similar to left...right + if (!environments.hasOwnProperty(envName)) { + throw new ParseError("No such environment: " + envName, nameGroup); + } // Build the environment object. Arguments and other information will + // be made available to the begin and end methods using properties. + + + const env = environments[envName]; + + const _parser$parseArgument = parser.parseArguments("\\begin{" + envName + "}", env), + args = _parser$parseArgument.args, + optArgs = _parser$parseArgument.optArgs; + + const context = { + mode: parser.mode, + envName, + parser + }; + const result = env.handler(context, args, optArgs); + parser.expect("\\end", false); + const endNameToken = parser.nextToken; + const end = assertNodeType(parser.parseFunction(), "environment"); + + if (end.name !== envName) { + throw new ParseError(`Mismatch: \\begin{${envName}} matched by \\end{${end.name}}`, endNameToken); + } + + return result; + } + + return { + type: "environment", + mode: parser.mode, + name: envName, + nameGroup + }; + } + +}); + +const makeSpan$2 = buildCommon.makeSpan; + +function htmlBuilder$4(group, options) { + const elements = buildExpression(group.body, options, true); + return makeSpan$2([group.mclass], elements, options); +} + +function mathmlBuilder$4(group, options) { + let node; + const inner = buildExpression$1(group.body, options); + + if (group.mclass === "minner") { + return mathMLTree.newDocumentFragment(inner); + } else if (group.mclass === "mord") { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mi"; + } else { + node = new mathMLTree.MathNode("mi", inner); + } + } else { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mo"; + } else { + node = new mathMLTree.MathNode("mo", inner); + } // Set spacing based on what is the most likely adjacent atom type. + // See TeXbook p170. + + + if (group.mclass === "mbin") { + node.attributes.lspace = "0.22em"; // medium space + + node.attributes.rspace = "0.22em"; + } else if (group.mclass === "mpunct") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0.17em"; // thinspace + } else if (group.mclass === "mopen" || group.mclass === "mclose") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0em"; + } // MathML default space is 5/18 em, so needs no action. + // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo + + } + + return node; +} // Math class commands except \mathop + + +defineFunction({ + type: "mclass", + names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"], + props: { + numArgs: 1 + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + return { + type: "mclass", + mode: parser.mode, + mclass: "m" + funcName.substr(5), + // TODO(kevinb): don't prefix with 'm' + body: ordargument(body), + isCharacterBox: utils.isCharacterBox(body) + }; + }, + + htmlBuilder: htmlBuilder$4, + mathmlBuilder: mathmlBuilder$4 +}); +const binrelClass = arg => { + // \binrel@ spacing varies with (bin|rel|ord) of the atom in the argument. + // (by rendering separately and with {}s before and after, and measuring + // the change in spacing). We'll do roughly the same by detecting the + // atom type directly. + const atom = arg.type === "ordgroup" && arg.body.length ? arg.body[0] : arg; + + if (atom.type === "atom" && (atom.family === "bin" || atom.family === "rel")) { + return "m" + atom.family; + } else { + return "mord"; + } +}; // \@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord. +// This is equivalent to \binrel@{x}\binrel@@{y} in AMSTeX. + +defineFunction({ + type: "mclass", + names: ["\\@binrel"], + props: { + numArgs: 2 + }, + + handler(_ref2, args) { + let parser = _ref2.parser; + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(args[0]), + body: [args[1]], + isCharacterBox: utils.isCharacterBox(args[1]) + }; + } + +}); // Build a relation or stacked op by placing one symbol on top of another + +defineFunction({ + type: "mclass", + names: ["\\stackrel", "\\overset", "\\underset"], + props: { + numArgs: 2 + }, + + handler(_ref3, args) { + let parser = _ref3.parser, + funcName = _ref3.funcName; + const baseArg = args[1]; + const shiftedArg = args[0]; + let mclass; + + if (funcName !== "\\stackrel") { + // LaTeX applies \binrel spacing to \overset and \underset. + mclass = binrelClass(baseArg); + } else { + mclass = "mrel"; // for \stackrel + } + + const baseOp = { + type: "op", + mode: baseArg.mode, + limits: true, + alwaysHandleSupSub: true, + parentIsSupSub: false, + symbol: false, + suppressBaseShift: funcName !== "\\stackrel", + body: ordargument(baseArg) + }; + const supsub = { + type: "supsub", + mode: shiftedArg.mode, + base: baseOp, + sup: funcName === "\\underset" ? null : shiftedArg, + sub: funcName === "\\underset" ? shiftedArg : null + }; + return { + type: "mclass", + mode: parser.mode, + mclass, + body: [supsub], + isCharacterBox: utils.isCharacterBox(supsub) + }; + }, + + htmlBuilder: htmlBuilder$4, + mathmlBuilder: mathmlBuilder$4 +}); + +// TODO(kevinb): implement \\sl and \\sc + +const htmlBuilder$5 = (group, options) => { + const font = group.font; + const newOptions = options.withFont(font); + return buildGroup(group.body, newOptions); +}; + +const mathmlBuilder$5 = (group, options) => { + const font = group.font; + const newOptions = options.withFont(font); + return buildGroup$1(group.body, newOptions); +}; + +const fontAliases = { + "\\Bbb": "\\mathbb", + "\\bold": "\\mathbf", + "\\frak": "\\mathfrak", + "\\bm": "\\boldsymbol" +}; +defineFunction({ + type: "font", + names: [// styles, except \boldsymbol defined below + "\\mathrm", "\\mathit", "\\mathbf", "\\mathnormal", // families + "\\mathbb", "\\mathcal", "\\mathfrak", "\\mathscr", "\\mathsf", "\\mathtt", // aliases, except \bm defined below + "\\Bbb", "\\bold", "\\frak"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + let func = funcName; + + if (func in fontAliases) { + func = fontAliases[func]; + } + + return { + type: "font", + mode: parser.mode, + font: func.slice(1), + body + }; + }, + htmlBuilder: htmlBuilder$5, + mathmlBuilder: mathmlBuilder$5 +}); +defineFunction({ + type: "mclass", + names: ["\\boldsymbol", "\\bm"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: (_ref2, args) => { + let parser = _ref2.parser; + const body = args[0]; + const isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \boldsymbol uses \binrel spacing to inherit the + // argument's bin|rel|ord status + + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(body), + body: [{ + type: "font", + mode: parser.mode, + font: "boldsymbol", + body + }], + isCharacterBox: isCharacterBox + }; + } +}); // Old font changing functions + +defineFunction({ + type: "font", + names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it", "\\cal"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: (_ref3, args) => { + let parser = _ref3.parser, + funcName = _ref3.funcName, + breakOnTokenText = _ref3.breakOnTokenText; + const mode = parser.mode; + const body = parser.parseExpression(true, breakOnTokenText); + const style = `math${funcName.slice(1)}`; + return { + type: "font", + mode: mode, + font: style, + body: { + type: "ordgroup", + mode: parser.mode, + body + } + }; + }, + htmlBuilder: htmlBuilder$5, + mathmlBuilder: mathmlBuilder$5 +}); + +const adjustStyle = (size, originalStyle) => { + // Figure out what style this fraction should be in based on the + // function used + let style = originalStyle; + + if (size === "display") { + // Get display style as a default. + // If incoming style is sub/sup, use style.text() to get correct size. + style = style.id >= Style$1.SCRIPT.id ? style.text() : Style$1.DISPLAY; + } else if (size === "text" && style.size === Style$1.DISPLAY.size) { + // We're in a \tfrac but incoming style is displaystyle, so: + style = Style$1.TEXT; + } else if (size === "script") { + style = Style$1.SCRIPT; + } else if (size === "scriptscript") { + style = Style$1.SCRIPTSCRIPT; + } + + return style; +}; + +const htmlBuilder$6 = (group, options) => { + // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e). + const style = adjustStyle(group.size, options.style); + const nstyle = style.fracNum(); + const dstyle = style.fracDen(); + let newOptions; + newOptions = options.havingStyle(nstyle); + const numerm = buildGroup(group.numer, newOptions, options); + + if (group.continued) { + // \cfrac inserts a \strut into the numerator. + // Get \strut dimensions from TeXbook page 353. + const hStrut = 8.5 / options.fontMetrics().ptPerEm; + const dStrut = 3.5 / options.fontMetrics().ptPerEm; + numerm.height = numerm.height < hStrut ? hStrut : numerm.height; + numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth; + } + + newOptions = options.havingStyle(dstyle); + const denomm = buildGroup(group.denom, newOptions, options); + let rule; + let ruleWidth; + let ruleSpacing; + + if (group.hasBarLine) { + if (group.barSize) { + ruleWidth = calculateSize(group.barSize, options); + rule = buildCommon.makeLineSpan("frac-line", options, ruleWidth); + } else { + rule = buildCommon.makeLineSpan("frac-line", options); + } + + ruleWidth = rule.height; + ruleSpacing = rule.height; + } else { + rule = null; + ruleWidth = 0; + ruleSpacing = options.fontMetrics().defaultRuleThickness; + } // Rule 15b + + + let numShift; + let clearance; + let denomShift; + + if (style.size === Style$1.DISPLAY.size || group.size === "display") { + numShift = options.fontMetrics().num1; + + if (ruleWidth > 0) { + clearance = 3 * ruleSpacing; + } else { + clearance = 7 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom1; + } else { + if (ruleWidth > 0) { + numShift = options.fontMetrics().num2; + clearance = ruleSpacing; + } else { + numShift = options.fontMetrics().num3; + clearance = 3 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom2; + } + + let frac; + + if (!rule) { + // Rule 15c + const candidateClearance = numShift - numerm.depth - (denomm.height - denomShift); + + if (candidateClearance < clearance) { + numShift += 0.5 * (clearance - candidateClearance); + denomShift += 0.5 * (clearance - candidateClearance); + } + + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } else { + // Rule 15d + const axisHeight = options.fontMetrics().axisHeight; + + if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) { + numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth)); + } + + if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) { + denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift)); + } + + const midShift = -(axisHeight - 0.5 * ruleWidth); + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: rule, + shift: midShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } // Since we manually change the style sometimes (with \dfrac or \tfrac), + // account for the possible size change here. + + + newOptions = options.havingStyle(style); + frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier; + frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e + + let delimSize; + + if (style.size === Style$1.DISPLAY.size) { + delimSize = options.fontMetrics().delim1; + } else { + delimSize = options.fontMetrics().delim2; + } + + let leftDelim; + let rightDelim; + + if (group.leftDelim == null) { + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, ["mopen"]); + } + + if (group.continued) { + rightDelim = buildCommon.makeSpan([]); // zero width for \cfrac + } else if (group.rightDelim == null) { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, ["mclose"]); + } + + return buildCommon.makeSpan(["mord"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan(["mfrac"], [frac]), rightDelim], options); +}; + +const mathmlBuilder$6 = (group, options) => { + let node = new mathMLTree.MathNode("mfrac", [buildGroup$1(group.numer, options), buildGroup$1(group.denom, options)]); + + if (!group.hasBarLine) { + node.setAttribute("linethickness", "0px"); + } else if (group.barSize) { + const ruleWidth = calculateSize(group.barSize, options); + node.setAttribute("linethickness", ruleWidth + "em"); + } + + const style = adjustStyle(group.size, options.style); + + if (style.size !== options.style.size) { + node = new mathMLTree.MathNode("mstyle", [node]); + const isDisplay = style.size === Style$1.DISPLAY.size ? "true" : "false"; + node.setAttribute("displaystyle", isDisplay); + node.setAttribute("scriptlevel", "0"); + } + + if (group.leftDelim != null || group.rightDelim != null) { + const withDelims = []; + + if (group.leftDelim != null) { + const leftOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.leftDelim.replace("\\", ""))]); + leftOp.setAttribute("fence", "true"); + withDelims.push(leftOp); + } + + withDelims.push(node); + + if (group.rightDelim != null) { + const rightOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.rightDelim.replace("\\", ""))]); + rightOp.setAttribute("fence", "true"); + withDelims.push(rightOp); + } + + return makeRow(withDelims); + } + + return node; +}; + +defineFunction({ + type: "genfrac", + names: ["\\cfrac", "\\dfrac", "\\frac", "\\tfrac", "\\dbinom", "\\binom", "\\tbinom", "\\\\atopfrac", // can’t be entered directly + "\\\\bracefrac", "\\\\brackfrac"], + props: { + numArgs: 2, + greediness: 2 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const numer = args[0]; + const denom = args[1]; + let hasBarLine; + let leftDelim = null; + let rightDelim = null; + let size = "auto"; + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\frac": + case "\\tfrac": + hasBarLine = true; + break; + + case "\\\\atopfrac": + hasBarLine = false; + break; + + case "\\dbinom": + case "\\binom": + case "\\tbinom": + hasBarLine = false; + leftDelim = "("; + rightDelim = ")"; + break; + + case "\\\\bracefrac": + hasBarLine = false; + leftDelim = "\\{"; + rightDelim = "\\}"; + break; + + case "\\\\brackfrac": + hasBarLine = false; + leftDelim = "["; + rightDelim = "]"; + break; + + default: + throw new Error("Unrecognized genfrac command"); + } + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\dbinom": + size = "display"; + break; + + case "\\tfrac": + case "\\tbinom": + size = "text"; + break; + } + + return { + type: "genfrac", + mode: parser.mode, + continued: funcName === "\\cfrac", + numer, + denom, + hasBarLine, + leftDelim, + rightDelim, + size, + barSize: null + }; + }, + htmlBuilder: htmlBuilder$6, + mathmlBuilder: mathmlBuilder$6 +}); // Infix generalized fractions -- these are not rendered directly, but replaced +// immediately by one of the variants above. + +defineFunction({ + type: "infix", + names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"], + props: { + numArgs: 0, + infix: true + }, + + handler(_ref2) { + let parser = _ref2.parser, + funcName = _ref2.funcName, + token = _ref2.token; + let replaceWith; + + switch (funcName) { + case "\\over": + replaceWith = "\\frac"; + break; + + case "\\choose": + replaceWith = "\\binom"; + break; + + case "\\atop": + replaceWith = "\\\\atopfrac"; + break; + + case "\\brace": + replaceWith = "\\\\bracefrac"; + break; + + case "\\brack": + replaceWith = "\\\\brackfrac"; + break; + + default: + throw new Error("Unrecognized infix genfrac command"); + } + + return { + type: "infix", + mode: parser.mode, + replaceWith, + token + }; + } + +}); +const stylArray = ["display", "text", "script", "scriptscript"]; + +const delimFromValue = function delimFromValue(delimString) { + let delim = null; + + if (delimString.length > 0) { + delim = delimString; + delim = delim === "." ? null : delim; + } + + return delim; +}; + +defineFunction({ + type: "genfrac", + names: ["\\genfrac"], + props: { + numArgs: 6, + greediness: 6, + argTypes: ["math", "math", "size", "text", "math", "math"] + }, + + handler(_ref3, args) { + let parser = _ref3.parser; + const numer = args[4]; + const denom = args[5]; // Look into the parse nodes to get the desired delimiters. + + const leftDelim = args[0].type === "atom" && args[0].family === "open" ? delimFromValue(args[0].text) : null; + const rightDelim = args[1].type === "atom" && args[1].family === "close" ? delimFromValue(args[1].text) : null; + const barNode = assertNodeType(args[2], "size"); + let hasBarLine; + let barSize = null; + + if (barNode.isBlank) { + // \genfrac acts differently than \above. + // \genfrac treats an empty size group as a signal to use a + // standard bar size. \above would see size = 0 and omit the bar. + hasBarLine = true; + } else { + barSize = barNode.value; + hasBarLine = barSize.number > 0; + } // Find out if we want displaystyle, textstyle, etc. + + + let size = "auto"; + let styl = args[3]; + + if (styl.type === "ordgroup") { + if (styl.body.length > 0) { + const textOrd = assertNodeType(styl.body[0], "textord"); + size = stylArray[Number(textOrd.text)]; + } + } else { + styl = assertNodeType(styl, "textord"); + size = stylArray[Number(styl.text)]; + } + + return { + type: "genfrac", + mode: parser.mode, + numer, + denom, + continued: false, + hasBarLine, + barSize, + leftDelim, + rightDelim, + size + }; + }, + + htmlBuilder: htmlBuilder$6, + mathmlBuilder: mathmlBuilder$6 +}); // \above is an infix fraction that also defines a fraction bar size. + +defineFunction({ + type: "infix", + names: ["\\above"], + props: { + numArgs: 1, + argTypes: ["size"], + infix: true + }, + + handler(_ref4, args) { + let parser = _ref4.parser, + funcName = _ref4.funcName, + token = _ref4.token; + return { + type: "infix", + mode: parser.mode, + replaceWith: "\\\\abovefrac", + size: assertNodeType(args[0], "size").value, + token + }; + } + +}); +defineFunction({ + type: "genfrac", + names: ["\\\\abovefrac"], + props: { + numArgs: 3, + argTypes: ["math", "size", "math"] + }, + handler: (_ref5, args) => { + let parser = _ref5.parser, + funcName = _ref5.funcName; + const numer = args[0]; + const barSize = assert(assertNodeType(args[1], "infix").size); + const denom = args[2]; + const hasBarLine = barSize.number > 0; + return { + type: "genfrac", + mode: parser.mode, + numer, + denom, + continued: false, + hasBarLine, + barSize, + leftDelim: null, + rightDelim: null, + size: "auto" + }; + }, + htmlBuilder: htmlBuilder$6, + mathmlBuilder: mathmlBuilder$6 +}); + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "horizBrace", but +const htmlBuilder$7 = (grp, options) => { + const style = options.style; // Pull out the `ParseNode<"horizBrace">` if `grp` is a "supsub" node. + + let supSubGroup; + let group; + + if (grp.type === "supsub") { + // Ref: LaTeX source2e: }}}}\limits} + // i.e. LaTeX treats the brace similar to an op and passes it + // with \limits, so we need to assign supsub style. + supSubGroup = grp.sup ? buildGroup(grp.sup, options.havingStyle(style.sup()), options) : buildGroup(grp.sub, options.havingStyle(style.sub()), options); + group = assertNodeType(grp.base, "horizBrace"); + } else { + group = assertNodeType(grp, "horizBrace"); + } // Build the base group + + + const body = buildGroup(group.base, options.havingBaseStyle(Style$1.DISPLAY)); // Create the stretchy element + + const braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓ + // This first vlist contains the content and the brace: equation + + let vlist; + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: braceBody + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: body.depth + 0.1 + braceBody.height, + children: [{ + type: "elem", + elem: braceBody + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: body + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[0].classes.push("svg-align"); + } + + if (supSubGroup) { + // To write the supsub, wrap the first vlist in another vlist: + // They can't all go in the same vlist, because the note might be + // wider than the equation. We want the equation to control the + // brace width. + // note long note long note + // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓ + // equation eqn eqn + const vSpan = buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: vSpan + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: supSubGroup + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth, + children: [{ + type: "elem", + elem: supSubGroup + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: vSpan + }] + }, options); + } + } + + return buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); +}; + +const mathmlBuilder$7 = (group, options) => { + const accentNode = stretchy.mathMLnode(group.label); + return new mathMLTree.MathNode(group.isOver ? "mover" : "munder", [buildGroup$1(group.base, options), accentNode]); +}; // Horizontal stretchy braces + + +defineFunction({ + type: "horizBrace", + names: ["\\overbrace", "\\underbrace"], + props: { + numArgs: 1 + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "horizBrace", + mode: parser.mode, + label: funcName, + isOver: /^\\over/.test(funcName), + base: args[0] + }; + }, + + htmlBuilder: htmlBuilder$7, + mathmlBuilder: mathmlBuilder$7 +}); + +defineFunction({ + type: "href", + names: ["\\href"], + props: { + numArgs: 2, + argTypes: ["url", "original"], + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser; + const body = args[1]; + const href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\href", + url: href + })) { + return parser.formatUnsupportedCmd("\\href"); + } + + return { + type: "href", + mode: parser.mode, + href, + body: ordargument(body) + }; + }, + htmlBuilder: (group, options) => { + const elements = buildExpression(group.body, options, false); + return buildCommon.makeAnchor(group.href, [], elements, options); + }, + mathmlBuilder: (group, options) => { + let math = buildExpressionRow(group.body, options); + + if (!(math instanceof MathNode)) { + math = new MathNode("mrow", [math]); + } + + math.setAttribute("href", group.href); + return math; + } +}); +defineFunction({ + type: "href", + names: ["\\url"], + props: { + numArgs: 1, + argTypes: ["url"], + allowedInText: true + }, + handler: (_ref2, args) => { + let parser = _ref2.parser; + const href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\url", + url: href + })) { + return parser.formatUnsupportedCmd("\\url"); + } + + const chars = []; + + for (let i = 0; i < href.length; i++) { + let c = href[i]; + + if (c === "~") { + c = "\\textasciitilde"; + } + + chars.push({ + type: "textord", + mode: "text", + text: c + }); + } + + const body = { + type: "text", + mode: parser.mode, + font: "\\texttt", + body: chars + }; + return { + type: "href", + mode: parser.mode, + href, + body: ordargument(body) + }; + } +}); + +defineFunction({ + type: "html", + names: ["\\htmlClass", "\\htmlId", "\\htmlStyle", "\\htmlData"], + props: { + numArgs: 2, + argTypes: ["raw", "original"], + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName, + token = _ref.token; + const value = assertNodeType(args[0], "raw").string; + const body = args[1]; + + if (parser.settings.strict) { + parser.settings.reportNonstrict("htmlExtension", "HTML extension is disabled on strict mode"); + } + + let trustContext; + const attributes = {}; + + switch (funcName) { + case "\\htmlClass": + attributes.class = value; + trustContext = { + command: "\\htmlClass", + class: value + }; + break; + + case "\\htmlId": + attributes.id = value; + trustContext = { + command: "\\htmlId", + id: value + }; + break; + + case "\\htmlStyle": + attributes.style = value; + trustContext = { + command: "\\htmlStyle", + style: value + }; + break; + + case "\\htmlData": + { + const data = value.split(","); + + for (let i = 0; i < data.length; i++) { + const keyVal = data[i].split("="); + + if (keyVal.length !== 2) { + throw new ParseError("Error parsing key-value for \\htmlData"); + } + + attributes["data-" + keyVal[0].trim()] = keyVal[1].trim(); + } + + trustContext = { + command: "\\htmlData", + attributes + }; + break; + } + + default: + throw new Error("Unrecognized html command"); + } + + if (!parser.settings.isTrusted(trustContext)) { + return parser.formatUnsupportedCmd(funcName); + } + + return { + type: "html", + mode: parser.mode, + attributes, + body: ordargument(body) + }; + }, + htmlBuilder: (group, options) => { + const elements = buildExpression(group.body, options, false); + const classes = ["enclosing"]; + + if (group.attributes.class) { + classes.push(...group.attributes.class.trim().split(/\s+/)); + } + + const span = buildCommon.makeSpan(classes, elements, options); + + for (const attr in group.attributes) { + if (attr !== "class" && group.attributes.hasOwnProperty(attr)) { + span.setAttribute(attr, group.attributes[attr]); + } + } + + return span; + }, + mathmlBuilder: (group, options) => { + return buildExpressionRow(group.body, options); + } +}); + +defineFunction({ + type: "htmlmathml", + names: ["\\html@mathml"], + props: { + numArgs: 2, + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser; + return { + type: "htmlmathml", + mode: parser.mode, + html: ordargument(args[0]), + mathml: ordargument(args[1]) + }; + }, + htmlBuilder: (group, options) => { + const elements = buildExpression(group.html, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: (group, options) => { + return buildExpressionRow(group.mathml, options); + } +}); + +const sizeData = function sizeData(str) { + if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(str)) { + // str is a number with no unit specified. + // default unit is bp, per graphix package. + return { + number: +str, + unit: "bp" + }; + } else { + const match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(str); + + if (!match) { + throw new ParseError("Invalid size: '" + str + "' in \\includegraphics"); + } + + const data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new ParseError("Invalid unit: '" + data.unit + "' in \\includegraphics."); + } + + return data; + } +}; + +defineFunction({ + type: "includegraphics", + names: ["\\includegraphics"], + props: { + numArgs: 1, + numOptionalArgs: 1, + argTypes: ["raw", "url"], + allowedInText: false + }, + handler: (_ref, args, optArgs) => { + let parser = _ref.parser; + let width = { + number: 0, + unit: "em" + }; + let height = { + number: 0.9, + unit: "em" + }; // sorta character sized. + + let totalheight = { + number: 0, + unit: "em" + }; + let alt = ""; + + if (optArgs[0]) { + const attributeStr = assertNodeType(optArgs[0], "raw").string; // Parser.js does not parse key/value pairs. We get a string. + + const attributes = attributeStr.split(","); + + for (let i = 0; i < attributes.length; i++) { + const keyVal = attributes[i].split("="); + + if (keyVal.length === 2) { + const str = keyVal[1].trim(); + + switch (keyVal[0].trim()) { + case "alt": + alt = str; + break; + + case "width": + width = sizeData(str); + break; + + case "height": + height = sizeData(str); + break; + + case "totalheight": + totalheight = sizeData(str); + break; + + default: + throw new ParseError("Invalid key: '" + keyVal[0] + "' in \\includegraphics."); + } + } + } + } + + const src = assertNodeType(args[0], "url").url; + + if (alt === "") { + // No alt given. Use the file name. Strip away the path. + alt = src; + alt = alt.replace(/^.*[\\/]/, ''); + alt = alt.substring(0, alt.lastIndexOf('.')); + } + + if (!parser.settings.isTrusted({ + command: "\\includegraphics", + url: src + })) { + return parser.formatUnsupportedCmd("\\includegraphics"); + } + + return { + type: "includegraphics", + mode: parser.mode, + alt: alt, + width: width, + height: height, + totalheight: totalheight, + src: src + }; + }, + htmlBuilder: (group, options) => { + const height = calculateSize(group.height, options); + let depth = 0; + + if (group.totalheight.number > 0) { + depth = calculateSize(group.totalheight, options) - height; + depth = Number(depth.toFixed(2)); + } + + let width = 0; + + if (group.width.number > 0) { + width = calculateSize(group.width, options); + } + + const style = { + height: height + depth + "em" + }; + + if (width > 0) { + style.width = width + "em"; + } + + if (depth > 0) { + style.verticalAlign = -depth + "em"; + } + + const node = new Img(group.src, group.alt, style); + node.height = height; + node.depth = depth; + return node; + }, + mathmlBuilder: (group, options) => { + const node = new mathMLTree.MathNode("mglyph", []); + node.setAttribute("alt", group.alt); + const height = calculateSize(group.height, options); + let depth = 0; + + if (group.totalheight.number > 0) { + depth = calculateSize(group.totalheight, options) - height; + depth = depth.toFixed(2); + node.setAttribute("valign", "-" + depth + "em"); + } + + node.setAttribute("height", height + depth + "em"); + + if (group.width.number > 0) { + const width = calculateSize(group.width, options); + node.setAttribute("width", width + "em"); + } + + node.setAttribute("src", group.src); + return node; + } +}); + +// Horizontal spacing commands + +defineFunction({ + type: "kern", + names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"], + props: { + numArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + const size = assertNodeType(args[0], "size"); + + if (parser.settings.strict) { + const mathFunction = funcName[1] === 'm'; // \mkern, \mskip + + const muUnit = size.value.unit === 'mu'; + + if (mathFunction) { + if (!muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", `LaTeX's ${funcName} supports only mu units, ` + `not ${size.value.unit} units`); + } + + if (parser.mode !== "math") { + parser.settings.reportNonstrict("mathVsTextUnits", `LaTeX's ${funcName} works only in math mode`); + } + } else { + // !mathFunction + if (muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", `LaTeX's ${funcName} doesn't support mu units`); + } + } + } + + return { + type: "kern", + mode: parser.mode, + dimension: size.value + }; + }, + + htmlBuilder(group, options) { + return buildCommon.makeGlue(group.dimension, options); + }, + + mathmlBuilder(group, options) { + const dimension = calculateSize(group.dimension, options); + return new mathMLTree.SpaceNode(dimension); + } + +}); + +// Horizontal overlap functions +defineFunction({ + type: "lap", + names: ["\\mathllap", "\\mathrlap", "\\mathclap"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + return { + type: "lap", + mode: parser.mode, + alignment: funcName.slice(5), + body + }; + }, + htmlBuilder: (group, options) => { + // mathllap, mathrlap, mathclap + let inner; + + if (group.alignment === "clap") { + // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/ + inner = buildCommon.makeSpan([], [buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span + + inner = buildCommon.makeSpan(["inner"], [inner], options); + } else { + inner = buildCommon.makeSpan(["inner"], [buildGroup(group.body, options)]); + } + + const fix = buildCommon.makeSpan(["fix"], []); + let node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the + // two items involved in the lap. + // Next, use a strut to set the height of the HTML bounding box. + // Otherwise, a tall argument may be misplaced. + // This code resolved issue #1153 + + const strut = buildCommon.makeSpan(["strut"]); + strut.style.height = node.height + node.depth + "em"; + strut.style.verticalAlign = -node.depth + "em"; + node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall. + // This code resolves issue #1234 + + node = buildCommon.makeSpan(["thinbox"], [node], options); + return buildCommon.makeSpan(["mord", "vbox"], [node], options); + }, + mathmlBuilder: (group, options) => { + // mathllap, mathrlap, mathclap + const node = new mathMLTree.MathNode("mpadded", [buildGroup$1(group.body, options)]); + + if (group.alignment !== "rlap") { + const offset = group.alignment === "llap" ? "-1" : "-0.5"; + node.setAttribute("lspace", offset + "width"); + } + + node.setAttribute("width", "0px"); + return node; + } +}); + +defineFunction({ + type: "styling", + names: ["\\(", "$"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + + handler(_ref, args) { + let funcName = _ref.funcName, + parser = _ref.parser; + const outerMode = parser.mode; + parser.switchMode("math"); + const close = funcName === "\\(" ? "\\)" : "$"; + const body = parser.parseExpression(false, close); + parser.expect(close); + parser.switchMode(outerMode); + return { + type: "styling", + mode: parser.mode, + style: "text", + body + }; + } + +}); // Check for extra closing math delimiters + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\)", "\\]"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + + handler(context, args) { + throw new ParseError(`Mismatched ${context.funcName}`); + } + +}); + +const chooseMathStyle = (group, options) => { + switch (options.style.size) { + case Style$1.DISPLAY.size: + return group.display; + + case Style$1.TEXT.size: + return group.text; + + case Style$1.SCRIPT.size: + return group.script; + + case Style$1.SCRIPTSCRIPT.size: + return group.scriptscript; + + default: + return group.text; + } +}; + +defineFunction({ + type: "mathchoice", + names: ["\\mathchoice"], + props: { + numArgs: 4 + }, + handler: (_ref, args) => { + let parser = _ref.parser; + return { + type: "mathchoice", + mode: parser.mode, + display: ordargument(args[0]), + text: ordargument(args[1]), + script: ordargument(args[2]), + scriptscript: ordargument(args[3]) + }; + }, + htmlBuilder: (group, options) => { + const body = chooseMathStyle(group, options); + const elements = buildExpression(body, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: (group, options) => { + const body = chooseMathStyle(group, options); + return buildExpressionRow(body, options); + } +}); + +// For an operator with limits, assemble the base, sup, and sub into a span. +const assembleSupSub = (base, supGroup, subGroup, options, style, slant, baseShift) => { + base = buildCommon.makeSpan([], [base]); + let sub; + let sup; // We manually have to handle the superscripts and subscripts. This, + // aside from the kern calculations, is copied from supsub. + + if (supGroup) { + const elem = buildGroup(supGroup, options.havingStyle(style.sup()), options); + sup = { + elem, + kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth) + }; + } + + if (subGroup) { + const elem = buildGroup(subGroup, options.havingStyle(style.sub()), options); + sub = { + elem, + kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - elem.height) + }; + } // Build the final group as a vlist of the possible subscript, base, + // and possible superscript. + + + let finalGroup; + + if (sup && sub) { + const bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift; + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: bottom, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else if (sub) { + const top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note + // that we are supposed to shift the limits by 1/2 of the slant, + // but since we are centering the limits adding a full slant of + // margin will shift by 1/2 that. + + finalGroup = buildCommon.makeVList({ + positionType: "top", + positionData: top, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }] + }, options); + } else if (sup) { + const bottom = base.depth + baseShift; + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: bottom, + children: [{ + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else { + // This case probably shouldn't occur (this would mean the + // supsub was sending us a group with no superscript or + // subscript) but be safe. + return base; + } + + return buildCommon.makeSpan(["mop", "op-limits"], [finalGroup], options); +}; + +// Limits, symbols +// Most operators have a large successor symbol, but these don't. +const noSuccessor = ["\\smallint"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only "op", but also +// "supsub" since some of them (like \int) can affect super/subscripting. + +const htmlBuilder$8 = (grp, options) => { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + let supGroup; + let subGroup; + let hasLimits = false; + let group; + + if (grp.type === "supsub") { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = grp.sup; + subGroup = grp.sub; + group = assertNodeType(grp.base, "op"); + hasLimits = true; + } else { + group = assertNodeType(grp, "op"); + } + + const style = options.style; + let large = false; + + if (style.size === Style$1.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) { + // Most symbol operators get larger in displaystyle (rule 13) + large = true; + } + + let base; + + if (group.symbol) { + // If this is a symbol, create the symbol. + const fontName = large ? "Size2-Regular" : "Size1-Regular"; + let stash = ""; + + if (group.name === "\\oiint" || group.name === "\\oiiint") { + // No font glyphs yet, so use a glyph w/o the oval. + // TODO: When font glyphs are available, delete this code. + stash = group.name.substr(1); // $FlowFixMe + + group.name = stash === "oiint" ? "\\iint" : "\\iiint"; + } + + base = buildCommon.makeSymbol(group.name, fontName, "math", options, ["mop", "op-symbol", large ? "large-op" : "small-op"]); + + if (stash.length > 0) { + // We're in \oiint or \oiiint. Overlay the oval. + // TODO: When font glyphs are available, delete this code. + const italic = base.italic; + const oval = buildCommon.staticSvg(stash + "Size" + (large ? "2" : "1"), options); + base = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: base, + shift: 0 + }, { + type: "elem", + elem: oval, + shift: large ? 0.08 : 0 + }] + }, options); // $FlowFixMe + + group.name = "\\" + stash; + base.classes.unshift("mop"); // $FlowFixMe + + base.italic = italic; + } + } else if (group.body) { + // If this is a list, compose that list. + const inner = buildExpression(group.body, options, true); + + if (inner.length === 1 && inner[0] instanceof SymbolNode) { + base = inner[0]; + base.classes[0] = "mop"; // replace old mclass + } else { + base = buildCommon.makeSpan(["mop"], buildCommon.tryCombineChars(inner), options); + } + } else { + // Otherwise, this is a text operator. Build the text from the + // operator's name. + // TODO(emily): Add a space in the middle of some of these + // operators, like \limsup + const output = []; + + for (let i = 1; i < group.name.length; i++) { + output.push(buildCommon.mathsym(group.name[i], group.mode, options)); + } + + base = buildCommon.makeSpan(["mop"], output, options); + } // If content of op is a single symbol, shift it vertically. + + + let baseShift = 0; + let slant = 0; + + if ((base instanceof SymbolNode || group.name === "\\oiint" || group.name === "\\oiiint") && !group.suppressBaseShift) { + // We suppress the shift of the base of \overset and \underset. Otherwise, + // shift the symbol so its center lies on the axis (rule 13). It + // appears that our fonts have the centers of the symbols already + // almost on the axis, so these numbers are very small. Note we + // don't actually apply this here, but instead it is used either in + // the vlist creation or separately when there are no limits. + baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction. + // $FlowFixMe + + slant = base.italic; + } + + if (hasLimits) { + return assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift); + } else { + if (baseShift) { + base.style.position = "relative"; + base.style.top = baseShift + "em"; + } + + return base; + } +}; + +const mathmlBuilder$8 = (group, options) => { + let node; + + if (group.symbol) { + // This is a symbol. Just add the symbol. + node = new MathNode("mo", [makeText(group.name, group.mode)]); + + if (utils.contains(noSuccessor, group.name)) { + node.setAttribute("largeop", "false"); + } + } else if (group.body) { + // This is an operator with children. Add them. + node = new MathNode("mo", buildExpression$1(group.body, options)); + } else { + // This is a text operator. Add all of the characters from the + // operator's name. + node = new MathNode("mi", [new TextNode(group.name.slice(1))]); // Append an . + // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4 + + const operator = new MathNode("mo", [makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + node = new MathNode("mo", [node, operator]); + } else { + node = newDocumentFragment([node, operator]); + } + } + + return node; +}; + +const singleCharBigOps = { + "\u220F": "\\prod", + "\u2210": "\\coprod", + "\u2211": "\\sum", + "\u22c0": "\\bigwedge", + "\u22c1": "\\bigvee", + "\u22c2": "\\bigcap", + "\u22c3": "\\bigcup", + "\u2a00": "\\bigodot", + "\u2a01": "\\bigoplus", + "\u2a02": "\\bigotimes", + "\u2a04": "\\biguplus", + "\u2a06": "\\bigsqcup" +}; +defineFunction({ + type: "op", + names: ["\\coprod", "\\bigvee", "\\bigwedge", "\\biguplus", "\\bigcap", "\\bigcup", "\\intop", "\\prod", "\\sum", "\\bigotimes", "\\bigoplus", "\\bigodot", "\\bigsqcup", "\\smallint", "\u220F", "\u2210", "\u2211", "\u22c0", "\u22c1", "\u22c2", "\u22c3", "\u2a00", "\u2a01", "\u2a02", "\u2a04", "\u2a06"], + props: { + numArgs: 0 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + let fName = funcName; + + if (fName.length === 1) { + fName = singleCharBigOps[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); // Note: calling defineFunction with a type that's already been defined only +// works because the same htmlBuilder and mathmlBuilder are being used. + +defineFunction({ + type: "op", + names: ["\\mathop"], + props: { + numArgs: 1 + }, + handler: (_ref2, args) => { + let parser = _ref2.parser; + const body = args[0]; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + body: ordargument(body) + }; + }, + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); // There are 2 flags for operators; whether they produce limits in +// displaystyle, and whether they are symbols and should grow in +// displaystyle. These four groups cover the four possible choices. + +const singleCharIntegrals = { + "\u222b": "\\int", + "\u222c": "\\iint", + "\u222d": "\\iiint", + "\u222e": "\\oint", + "\u222f": "\\oiint", + "\u2230": "\\oiiint" +}; // No limits, not symbols + +defineFunction({ + type: "op", + names: ["\\arcsin", "\\arccos", "\\arctan", "\\arctg", "\\arcctg", "\\arg", "\\ch", "\\cos", "\\cosec", "\\cosh", "\\cot", "\\cotg", "\\coth", "\\csc", "\\ctg", "\\cth", "\\deg", "\\dim", "\\exp", "\\hom", "\\ker", "\\lg", "\\ln", "\\log", "\\sec", "\\sin", "\\sinh", "\\sh", "\\tan", "\\tanh", "\\tg", "\\th"], + props: { + numArgs: 0 + }, + + handler(_ref3) { + let parser = _ref3.parser, + funcName = _ref3.funcName; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); // Limits, not symbols + +defineFunction({ + type: "op", + names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"], + props: { + numArgs: 0 + }, + + handler(_ref4) { + let parser = _ref4.parser, + funcName = _ref4.funcName; + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); // No limits, symbols + +defineFunction({ + type: "op", + names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "\u222b", "\u222c", "\u222d", "\u222e", "\u222f", "\u2230"], + props: { + numArgs: 0 + }, + + handler(_ref5) { + let parser = _ref5.parser, + funcName = _ref5.funcName; + let fName = funcName; + + if (fName.length === 1) { + fName = singleCharIntegrals[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only +// "operatorname", but also "supsub" since \operatorname* can +const htmlBuilder$9 = (grp, options) => { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + let supGroup; + let subGroup; + let hasLimits = false; + let group; + + if (grp.type === "supsub") { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = grp.sup; + subGroup = grp.sub; + group = assertNodeType(grp.base, "operatorname"); + hasLimits = true; + } else { + group = assertNodeType(grp, "operatorname"); + } + + let base; + + if (group.body.length > 0) { + const body = group.body.map(child => { + // $FlowFixMe: Check if the node has a string `text` property. + const childText = child.text; + + if (typeof childText === "string") { + return { + type: "textord", + mode: child.mode, + text: childText + }; + } else { + return child; + } + }); // Consolidate function names into symbol characters. + + const expression = buildExpression(body, options.withFont("mathrm"), true); + + for (let i = 0; i < expression.length; i++) { + const child = expression[i]; + + if (child instanceof SymbolNode) { + // Per amsopn package, + // change minus to hyphen and \ast to asterisk + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } + } + + base = buildCommon.makeSpan(["mop"], expression, options); + } else { + base = buildCommon.makeSpan(["mop"], [], options); + } + + if (hasLimits) { + return assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0); + } else { + return base; + } +}; + +const mathmlBuilder$9 = (group, options) => { + // The steps taken here are similar to the html version. + let expression = buildExpression$1(group.body, options.withFont("mathrm")); // Is expression a string or has it something like a fraction? + + let isAllString = true; // default + + for (let i = 0; i < expression.length; i++) { + const node = expression[i]; + + if (node instanceof mathMLTree.SpaceNode) ; else if (node instanceof mathMLTree.MathNode) { + switch (node.type) { + case "mi": + case "mn": + case "ms": + case "mspace": + case "mtext": + break; + // Do nothing yet. + + case "mo": + { + const child = node.children[0]; + + if (node.children.length === 1 && child instanceof mathMLTree.TextNode) { + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } else { + isAllString = false; + } + + break; + } + + default: + isAllString = false; + } + } else { + isAllString = false; + } + } + + if (isAllString) { + // Write a single TextNode instead of multiple nested tags. + const word = expression.map(node => node.toText()).join(""); + expression = [new mathMLTree.TextNode(word)]; + } + + const identifier = new mathMLTree.MathNode("mi", expression); + identifier.setAttribute("mathvariant", "normal"); // \u2061 is the same as ⁡ + // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp + + const operator = new mathMLTree.MathNode("mo", [makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + return new mathMLTree.MathNode("mo", [identifier, operator]); + } else { + return mathMLTree.newDocumentFragment([identifier, operator]); + } +}; // \operatorname +// amsopn.dtx: \mathop{#1\kern\z@\operator@font#3}\newmcodes@ + + +defineFunction({ + type: "operatorname", + names: ["\\operatorname", "\\operatorname*"], + props: { + numArgs: 1 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + return { + type: "operatorname", + mode: parser.mode, + body: ordargument(body), + alwaysHandleSupSub: funcName === "\\operatorname*", + limits: false, + parentIsSupSub: false + }; + }, + htmlBuilder: htmlBuilder$9, + mathmlBuilder: mathmlBuilder$9 +}); + +defineFunctionBuilders({ + type: "ordgroup", + + htmlBuilder(group, options) { + if (group.semisimple) { + return buildCommon.makeFragment(buildExpression(group.body, options, false)); + } + + return buildCommon.makeSpan(["mord"], buildExpression(group.body, options, true), options); + }, + + mathmlBuilder(group, options) { + return buildExpressionRow(group.body, options, true); + } + +}); + +defineFunction({ + type: "overline", + names: ["\\overline"], + props: { + numArgs: 1 + }, + + handler(_ref, args) { + let parser = _ref.parser; + const body = args[0]; + return { + type: "overline", + mode: parser.mode, + body + }; + }, + + htmlBuilder(group, options) { + // Overlines are handled in the TeXbook pg 443, Rule 9. + // Build the inner group in the cramped style. + const innerGroup = buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body + + const line = buildCommon.makeLineSpan("overline-line", options); // Generate the vlist, with the appropriate kerns + + const defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + const vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: innerGroup + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: defaultRuleThickness + }] + }, options); + return buildCommon.makeSpan(["mord", "overline"], [vlist], options); + }, + + mathmlBuilder(group, options) { + const operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203e")]); + operator.setAttribute("stretchy", "true"); + const node = new mathMLTree.MathNode("mover", [buildGroup$1(group.body, options), operator]); + node.setAttribute("accent", "true"); + return node; + } + +}); + +defineFunction({ + type: "phantom", + names: ["\\phantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser; + const body = args[0]; + return { + type: "phantom", + mode: parser.mode, + body: ordargument(body) + }; + }, + htmlBuilder: (group, options) => { + const elements = buildExpression(group.body, options.withPhantom(), false); // \phantom isn't supposed to affect the elements it contains. + // See "color" for more details. + + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: (group, options) => { + const inner = buildExpression$1(group.body, options); + return new mathMLTree.MathNode("mphantom", inner); + } +}); +defineFunction({ + type: "hphantom", + names: ["\\hphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: (_ref2, args) => { + let parser = _ref2.parser; + const body = args[0]; + return { + type: "hphantom", + mode: parser.mode, + body + }; + }, + htmlBuilder: (group, options) => { + let node = buildCommon.makeSpan([], [buildGroup(group.body, options.withPhantom())]); + node.height = 0; + node.depth = 0; + + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + node.children[i].depth = 0; + } + } // See smash for comment re: use of makeVList + + + node = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \smash as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [node], options); + }, + mathmlBuilder: (group, options) => { + const inner = buildExpression$1(ordargument(group.body), options); + const phantom = new mathMLTree.MathNode("mphantom", inner); + const node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("height", "0px"); + node.setAttribute("depth", "0px"); + return node; + } +}); +defineFunction({ + type: "vphantom", + names: ["\\vphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: (_ref3, args) => { + let parser = _ref3.parser; + const body = args[0]; + return { + type: "vphantom", + mode: parser.mode, + body + }; + }, + htmlBuilder: (group, options) => { + const inner = buildCommon.makeSpan(["inner"], [buildGroup(group.body, options.withPhantom())]); + const fix = buildCommon.makeSpan(["fix"], []); + return buildCommon.makeSpan(["mord", "rlap"], [inner, fix], options); + }, + mathmlBuilder: (group, options) => { + const inner = buildExpression$1(ordargument(group.body), options); + const phantom = new mathMLTree.MathNode("mphantom", inner); + const node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("width", "0px"); + return node; + } +}); + +defineFunction({ + type: "raisebox", + names: ["\\raisebox"], + props: { + numArgs: 2, + argTypes: ["size", "hbox"], + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser; + const amount = assertNodeType(args[0], "size").value; + const body = args[1]; + return { + type: "raisebox", + mode: parser.mode, + dy: amount, + body + }; + }, + + htmlBuilder(group, options) { + const body = buildGroup(group.body, options); + const dy = calculateSize(group.dy, options); + return buildCommon.makeVList({ + positionType: "shift", + positionData: -dy, + children: [{ + type: "elem", + elem: body + }] + }, options); + }, + + mathmlBuilder(group, options) { + const node = new mathMLTree.MathNode("mpadded", [buildGroup$1(group.body, options)]); + const dy = group.dy.number + group.dy.unit; + node.setAttribute("voffset", dy); + return node; + } + +}); + +defineFunction({ + type: "rule", + names: ["\\rule"], + props: { + numArgs: 2, + numOptionalArgs: 1, + argTypes: ["size", "size", "size"] + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser; + const shift = optArgs[0]; + const width = assertNodeType(args[0], "size"); + const height = assertNodeType(args[1], "size"); + return { + type: "rule", + mode: parser.mode, + shift: shift && assertNodeType(shift, "size").value, + width: width.value, + height: height.value + }; + }, + + htmlBuilder(group, options) { + // Make an empty span for the rule + const rule = buildCommon.makeSpan(["mord", "rule"], [], options); // Calculate the shift, width, and height of the rule, and account for units + + const width = calculateSize(group.width, options); + const height = calculateSize(group.height, options); + const shift = group.shift ? calculateSize(group.shift, options) : 0; // Style the rule to the right size + + rule.style.borderRightWidth = width + "em"; + rule.style.borderTopWidth = height + "em"; + rule.style.bottom = shift + "em"; // Record the height and width + + rule.width = width; + rule.height = height + shift; + rule.depth = -shift; // Font size is the number large enough that the browser will + // reserve at least `absHeight` space above the baseline. + // The 1.125 factor was empirically determined + + rule.maxFontSize = height * 1.125 * options.sizeMultiplier; + return rule; + }, + + mathmlBuilder(group, options) { + const width = calculateSize(group.width, options); + const height = calculateSize(group.height, options); + const shift = group.shift ? calculateSize(group.shift, options) : 0; + const color = options.color && options.getColor() || "black"; + const rule = new mathMLTree.MathNode("mspace"); + rule.setAttribute("mathbackground", color); + rule.setAttribute("width", width + "em"); + rule.setAttribute("height", height + "em"); + const wrapper = new mathMLTree.MathNode("mpadded", [rule]); + + if (shift >= 0) { + wrapper.setAttribute("height", "+" + shift + "em"); + } else { + wrapper.setAttribute("height", shift + "em"); + wrapper.setAttribute("depth", "+" + -shift + "em"); + } + + wrapper.setAttribute("voffset", shift + "em"); + return wrapper; + } + +}); + +function sizingGroup(value, options, baseOptions) { + const inner = buildExpression(value, options, false); + const multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize + // manually. Handle nested size changes. + + for (let i = 0; i < inner.length; i++) { + const pos = inner[i].classes.indexOf("sizing"); + + if (pos < 0) { + Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions)); + } else if (inner[i].classes[pos + 1] === "reset-size" + options.size) { + // This is a nested size change: e.g., inner[i] is the "b" in + // `\Huge a \small b`. Override the old size (the `reset-` class) + // but not the new size. + inner[i].classes[pos + 1] = "reset-size" + baseOptions.size; + } + + inner[i].height *= multiplier; + inner[i].depth *= multiplier; + } + + return buildCommon.makeFragment(inner); +} +const sizeFuncs = ["\\tiny", "\\sixptsize", "\\scriptsize", "\\footnotesize", "\\small", "\\normalsize", "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge"]; +const htmlBuilder$a = (group, options) => { + // Handle sizing operators like \Huge. Real TeX doesn't actually allow + // these functions inside of math expressions, so we do some special + // handling. + const newOptions = options.havingSize(group.size); + return sizingGroup(group.body, newOptions, options); +}; +defineFunction({ + type: "sizing", + names: sizeFuncs, + props: { + numArgs: 0, + allowedInText: true + }, + handler: (_ref, args) => { + let breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + const body = parser.parseExpression(false, breakOnTokenText); + return { + type: "sizing", + mode: parser.mode, + // Figure out what size to use based on the list of functions above + size: sizeFuncs.indexOf(funcName) + 1, + body + }; + }, + htmlBuilder: htmlBuilder$a, + mathmlBuilder: (group, options) => { + const newOptions = options.havingSize(group.size); + const inner = buildExpression$1(group.body, newOptions); + const node = new mathMLTree.MathNode("mstyle", inner); // TODO(emily): This doesn't produce the correct size for nested size + // changes, because we don't keep state of what style we're currently + // in, so we can't reset the size to normal before changing it. Now + // that we're passing an options parameter we should be able to fix + // this. + + node.setAttribute("mathsize", newOptions.sizeMultiplier + "em"); + return node; + } +}); + +// smash, with optional [tb], as in AMS +defineFunction({ + type: "smash", + names: ["\\smash"], + props: { + numArgs: 1, + numOptionalArgs: 1, + allowedInText: true + }, + handler: (_ref, args, optArgs) => { + let parser = _ref.parser; + let smashHeight = false; + let smashDepth = false; + const tbArg = optArgs[0] && assertNodeType(optArgs[0], "ordgroup"); + + if (tbArg) { + // Optional [tb] argument is engaged. + // ref: amsmath: \renewcommand{\smash}[1][tb]{% + // def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}% + let letter = ""; + + for (let i = 0; i < tbArg.body.length; ++i) { + const node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property. + + letter = node.text; + + if (letter === "t") { + smashHeight = true; + } else if (letter === "b") { + smashDepth = true; + } else { + smashHeight = false; + smashDepth = false; + break; + } + } + } else { + smashHeight = true; + smashDepth = true; + } + + const body = args[0]; + return { + type: "smash", + mode: parser.mode, + body, + smashHeight, + smashDepth + }; + }, + htmlBuilder: (group, options) => { + const node = buildCommon.makeSpan([], [buildGroup(group.body, options)]); + + if (!group.smashHeight && !group.smashDepth) { + return node; + } + + if (group.smashHeight) { + node.height = 0; // In order to influence makeVList, we have to reset the children. + + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + } + } + } + + if (group.smashDepth) { + node.depth = 0; + + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + node.children[i].depth = 0; + } + } + } // At this point, we've reset the TeX-like height and depth values. + // But the span still has an HTML line height. + // makeVList applies "display: table-cell", which prevents the browser + // from acting on that line height. So we'll call makeVList now. + + + const smashedNode = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \hphantom as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [smashedNode], options); + }, + mathmlBuilder: (group, options) => { + const node = new mathMLTree.MathNode("mpadded", [buildGroup$1(group.body, options)]); + + if (group.smashHeight) { + node.setAttribute("height", "0px"); + } + + if (group.smashDepth) { + node.setAttribute("depth", "0px"); + } + + return node; + } +}); + +defineFunction({ + type: "sqrt", + names: ["\\sqrt"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser; + const index = optArgs[0]; + const body = args[0]; + return { + type: "sqrt", + mode: parser.mode, + body, + index + }; + }, + + htmlBuilder(group, options) { + // Square roots are handled in the TeXbook pg. 443, Rule 11. + // First, we do the same steps as in overline to build the inner group + // and line + let inner = buildGroup(group.body, options.havingCrampedStyle()); + + if (inner.height === 0) { + // Render a small surd. + inner.height = options.fontMetrics().xHeight; + } // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + + inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \surd delimiter + + const metrics = options.fontMetrics(); + const theta = metrics.defaultRuleThickness; + let phi = theta; + + if (options.style.id < Style$1.TEXT.id) { + phi = options.fontMetrics().xHeight; + } // Calculate the clearance between the body and line + + + let lineClearance = theta + phi / 4; + const minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size + + const _delimiter$sqrtImage = delimiter.sqrtImage(minDelimiterHeight, options), + img = _delimiter$sqrtImage.span, + ruleWidth = _delimiter$sqrtImage.ruleWidth, + advanceWidth = _delimiter$sqrtImage.advanceWidth; + + const delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size + + if (delimDepth > inner.height + inner.depth + lineClearance) { + lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2; + } // Shift the sqrt image + + + const imgShift = img.height - inner.height - lineClearance - ruleWidth; + inner.style.paddingLeft = advanceWidth + "em"; // Overlay the image and the argument. + + const body = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: inner, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: -(inner.height + imgShift) + }, { + type: "elem", + elem: img + }, { + type: "kern", + size: ruleWidth + }] + }, options); + + if (!group.index) { + return buildCommon.makeSpan(["mord", "sqrt"], [body], options); + } else { + // Handle the optional root index + // The index is always in scriptscript style + const newOptions = options.havingStyle(Style$1.SCRIPTSCRIPT); + const rootm = buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX + // source, in the definition of `\r@@t`. + + const toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly + + const rootVList = buildCommon.makeVList({ + positionType: "shift", + positionData: -toShift, + children: [{ + type: "elem", + elem: rootm + }] + }, options); // Add a class surrounding it so we can add on the appropriate + // kerning + + const rootVListWrap = buildCommon.makeSpan(["root"], [rootVList]); + return buildCommon.makeSpan(["mord", "sqrt"], [rootVListWrap, body], options); + } + }, + + mathmlBuilder(group, options) { + const body = group.body, + index = group.index; + return index ? new mathMLTree.MathNode("mroot", [buildGroup$1(body, options), buildGroup$1(index, options)]) : new mathMLTree.MathNode("msqrt", [buildGroup$1(body, options)]); + } + +}); + +const styleMap$1 = { + "display": Style$1.DISPLAY, + "text": Style$1.TEXT, + "script": Style$1.SCRIPT, + "scriptscript": Style$1.SCRIPTSCRIPT +}; +defineFunction({ + type: "styling", + names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref, args) { + let breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + // parse out the implicit body + const body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g. + // here and in buildHTML and de-dupe the enumeration of all the styles). + // $FlowFixMe: The names above exactly match the styles. + + const style = funcName.slice(1, funcName.length - 5); + return { + type: "styling", + mode: parser.mode, + // Figure out what style to use by pulling out the style from + // the function name + style, + body + }; + }, + + htmlBuilder(group, options) { + // Style changes are handled in the TeXbook on pg. 442, Rule 3. + const newStyle = styleMap$1[group.style]; + const newOptions = options.havingStyle(newStyle).withFont(''); + return sizingGroup(group.body, newOptions, options); + }, + + mathmlBuilder(group, options) { + // Figure out what style we're changing to. + const newStyle = styleMap$1[group.style]; + const newOptions = options.havingStyle(newStyle); + const inner = buildExpression$1(group.body, newOptions); + const node = new mathMLTree.MathNode("mstyle", inner); + const styleAttributes = { + "display": ["0", "true"], + "text": ["0", "false"], + "script": ["1", "false"], + "scriptscript": ["2", "false"] + }; + const attr = styleAttributes[group.style]; + node.setAttribute("scriptlevel", attr[0]); + node.setAttribute("displaystyle", attr[1]); + return node; + } + +}); + +/** + * Sometimes, groups perform special rules when they have superscripts or + * subscripts attached to them. This function lets the `supsub` group know that + * Sometimes, groups perform special rules when they have superscripts or + * its inner element should handle the superscripts and subscripts instead of + * handling them itself. + */ +const htmlBuilderDelegate = function htmlBuilderDelegate(group, options) { + const base = group.base; + + if (!base) { + return null; + } else if (base.type === "op") { + // Operators handle supsubs differently when they have limits + // (e.g. `\displaystyle\sum_2^3`) + const delegate = base.limits && (options.style.size === Style$1.DISPLAY.size || base.alwaysHandleSupSub); + return delegate ? htmlBuilder$8 : null; + } else if (base.type === "operatorname") { + const delegate = base.alwaysHandleSupSub && (options.style.size === Style$1.DISPLAY.size || base.limits); + return delegate ? htmlBuilder$9 : null; + } else if (base.type === "accent") { + return utils.isCharacterBox(base.base) ? htmlBuilder : null; + } else if (base.type === "horizBrace") { + const isSup = !group.sub; + return isSup === base.isOver ? htmlBuilder$7 : null; + } else { + return null; + } +}; // Super scripts and subscripts, whose precise placement can depend on other +// functions that precede them. + + +defineFunctionBuilders({ + type: "supsub", + + htmlBuilder(group, options) { + // Superscript and subscripts are handled in the TeXbook on page + // 445-446, rules 18(a-f). + // Here is where we defer to the inner group if it should handle + // superscripts and subscripts itself. + const builderDelegate = htmlBuilderDelegate(group, options); + + if (builderDelegate) { + return builderDelegate(group, options); + } + + const valueBase = group.base, + valueSup = group.sup, + valueSub = group.sub; + const base = buildGroup(valueBase, options); + let supm; + let subm; + const metrics = options.fontMetrics(); // Rule 18a + + let supShift = 0; + let subShift = 0; + const isCharacterBox = valueBase && utils.isCharacterBox(valueBase); + + if (valueSup) { + const newOptions = options.havingStyle(options.style.sup()); + supm = buildGroup(valueSup, newOptions, options); + + if (!isCharacterBox) { + supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + if (valueSub) { + const newOptions = options.havingStyle(options.style.sub()); + subm = buildGroup(valueSub, newOptions, options); + + if (!isCharacterBox) { + subShift = base.depth + newOptions.fontMetrics().subDrop * newOptions.sizeMultiplier / options.sizeMultiplier; + } + } // Rule 18c + + + let minSupShift; + + if (options.style === Style$1.DISPLAY) { + minSupShift = metrics.sup1; + } else if (options.style.cramped) { + minSupShift = metrics.sup3; + } else { + minSupShift = metrics.sup2; + } // scriptspace is a font-size-independent size, so scale it + // appropriately for use as the marginRight. + + + const multiplier = options.sizeMultiplier; + const marginRight = 0.5 / metrics.ptPerEm / multiplier + "em"; + let marginLeft = null; + + if (subm) { + // Subscripts shouldn't be shifted by the base's italic correction. + // Account for that by shifting the subscript back the appropriate + // amount. Note we only do this when the base is a single symbol. + const isOiint = group.base && group.base.type === "op" && group.base.name && (group.base.name === "\\oiint" || group.base.name === "\\oiiint"); + + if (base instanceof SymbolNode || isOiint) { + // $FlowFixMe + marginLeft = -base.italic + "em"; + } + } + + let supsub; + + if (supm && subm) { + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + subShift = Math.max(subShift, metrics.sub2); + const ruleWidth = metrics.defaultRuleThickness; // Rule 18e + + const maxWidth = 4 * ruleWidth; + + if (supShift - supm.depth - (subm.height - subShift) < maxWidth) { + subShift = maxWidth - (supShift - supm.depth) + subm.height; + const psi = 0.8 * metrics.xHeight - (supShift - supm.depth); + + if (psi > 0) { + supShift += psi; + subShift -= psi; + } + } + + const vlistElem = [{ + type: "elem", + elem: subm, + shift: subShift, + marginRight, + marginLeft + }, { + type: "elem", + elem: supm, + shift: -supShift, + marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "individualShift", + children: vlistElem + }, options); + } else if (subm) { + // Rule 18b + subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight); + const vlistElem = [{ + type: "elem", + elem: subm, + marginLeft, + marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: subShift, + children: vlistElem + }, options); + } else if (supm) { + // Rule 18c, d + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: -supShift, + children: [{ + type: "elem", + elem: supm, + marginRight + }] + }, options); + } else { + throw new Error("supsub must have either sup or sub."); + } // Wrap the supsub vlist in a span.msupsub to reset text-align. + + + const mclass = getTypeOfDomTree(base, "right") || "mord"; + return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan(["msupsub"], [supsub])], options); + }, + + mathmlBuilder(group, options) { + // Is the inner group a relevant horizonal brace? + let isBrace = false; + let isOver; + let isSup; + + if (group.base && group.base.type === "horizBrace") { + isSup = !!group.sup; + + if (isSup === group.base.isOver) { + isBrace = true; + isOver = group.base.isOver; + } + } + + if (group.base && (group.base.type === "op" || group.base.type === "operatorname")) { + group.base.parentIsSupSub = true; + } + + const children = [buildGroup$1(group.base, options)]; + + if (group.sub) { + children.push(buildGroup$1(group.sub, options)); + } + + if (group.sup) { + children.push(buildGroup$1(group.sup, options)); + } + + let nodeType; + + if (isBrace) { + nodeType = isOver ? "mover" : "munder"; + } else if (!group.sub) { + const base = group.base; + + if (base && base.type === "op" && base.limits && (options.style === Style$1.DISPLAY || base.alwaysHandleSupSub)) { + nodeType = "mover"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (base.limits || options.style === Style$1.DISPLAY)) { + nodeType = "mover"; + } else { + nodeType = "msup"; + } + } else if (!group.sup) { + const base = group.base; + + if (base && base.type === "op" && base.limits && (options.style === Style$1.DISPLAY || base.alwaysHandleSupSub)) { + nodeType = "munder"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (base.limits || options.style === Style$1.DISPLAY)) { + nodeType = "munder"; + } else { + nodeType = "msub"; + } + } else { + const base = group.base; + + if (base && base.type === "op" && base.limits && options.style === Style$1.DISPLAY) { + nodeType = "munderover"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (options.style === Style$1.DISPLAY || base.limits)) { + nodeType = "munderover"; + } else { + nodeType = "msubsup"; + } + } + + const node = new mathMLTree.MathNode(nodeType, children); + return node; + } + +}); + +defineFunctionBuilders({ + type: "atom", + + htmlBuilder(group, options) { + return buildCommon.mathsym(group.text, group.mode, options, ["m" + group.family]); + }, + + mathmlBuilder(group, options) { + const node = new mathMLTree.MathNode("mo", [makeText(group.text, group.mode)]); + + if (group.family === "bin") { + const variant = getVariant(group, options); + + if (variant === "bold-italic") { + node.setAttribute("mathvariant", variant); + } + } else if (group.family === "punct") { + node.setAttribute("separator", "true"); + } else if (group.family === "open" || group.family === "close") { + // Delims built here should not stretch vertically. + // See delimsizing.js for stretchy delims. + node.setAttribute("stretchy", "false"); + } + + return node; + } + +}); + +// "mathord" and "textord" ParseNodes created in Parser.js from symbol Groups in +const defaultVariant = { + "mi": "italic", + "mn": "normal", + "mtext": "normal" +}; +defineFunctionBuilders({ + type: "mathord", + + htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "mathord"); + }, + + mathmlBuilder(group, options) { + const node = new mathMLTree.MathNode("mi", [makeText(group.text, group.mode, options)]); + const variant = getVariant(group, options) || "italic"; + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } + +}); +defineFunctionBuilders({ + type: "textord", + + htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "textord"); + }, + + mathmlBuilder(group, options) { + const text = makeText(group.text, group.mode, options); + const variant = getVariant(group, options) || "normal"; + let node; + + if (group.mode === 'text') { + node = new mathMLTree.MathNode("mtext", [text]); + } else if (/[0-9]/.test(group.text)) { + // TODO(kevinb) merge adjacent nodes + // do it as a post processing step + node = new mathMLTree.MathNode("mn", [text]); + } else if (group.text === "\\prime") { + node = new mathMLTree.MathNode("mo", [text]); + } else { + node = new mathMLTree.MathNode("mi", [text]); + } + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } + +}); + +const cssSpace = { + "\\nobreak": "nobreak", + "\\allowbreak": "allowbreak" +}; // A lookup table to determine whether a spacing function/symbol should be +// treated like a regular space character. If a symbol or command is a key +// in this table, then it should be a regular space character. Furthermore, +// the associated value may have a `className` specifying an extra CSS class +// to add to the created `span`. + +const regularSpace = { + " ": {}, + "\\ ": {}, + "~": { + className: "nobreak" + }, + "\\space": {}, + "\\nobreakspace": { + className: "nobreak" + } +}; // ParseNode<"spacing"> created in Parser.js from the "spacing" symbol Groups in +// src/symbols.js. + +defineFunctionBuilders({ + type: "spacing", + + htmlBuilder(group, options) { + if (regularSpace.hasOwnProperty(group.text)) { + const className = regularSpace[group.text].className || ""; // Spaces are generated by adding an actual space. Each of these + // things has an entry in the symbols table, so these will be turned + // into appropriate outputs. + + if (group.mode === "text") { + const ord = buildCommon.makeOrd(group, options, "textord"); + ord.classes.push(className); + return ord; + } else { + return buildCommon.makeSpan(["mspace", className], [buildCommon.mathsym(group.text, group.mode, options)], options); + } + } else if (cssSpace.hasOwnProperty(group.text)) { + // Spaces based on just a CSS class. + return buildCommon.makeSpan(["mspace", cssSpace[group.text]], [], options); + } else { + throw new ParseError(`Unknown type of space "${group.text}"`); + } + }, + + mathmlBuilder(group, options) { + let node; + + if (regularSpace.hasOwnProperty(group.text)) { + node = new mathMLTree.MathNode("mtext", [new mathMLTree.TextNode("\u00a0")]); + } else if (cssSpace.hasOwnProperty(group.text)) { + // CSS-based MathML spaces (\nobreak, \allowbreak) are ignored + return new mathMLTree.MathNode("mspace"); + } else { + throw new ParseError(`Unknown type of space "${group.text}"`); + } + + return node; + } + +}); + +const pad = () => { + const padNode = new mathMLTree.MathNode("mtd", []); + padNode.setAttribute("width", "50%"); + return padNode; +}; + +defineFunctionBuilders({ + type: "tag", + + mathmlBuilder(group, options) { + const table = new mathMLTree.MathNode("mtable", [new mathMLTree.MathNode("mtr", [pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.body, options)]), pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.tag, options)])])]); + table.setAttribute("width", "100%"); + return table; // TODO: Left-aligned tags. + // Currently, the group and options passed here do not contain + // enough info to set tag alignment. `leqno` is in Settings but it is + // not passed to Options. On the HTML side, leqno is + // set by a CSS class applied in buildTree.js. That would have worked + // in MathML if browsers supported . Since they don't, we + // need to rewrite the way this function is called. + } + +}); + +const textFontFamilies = { + "\\text": undefined, + "\\textrm": "textrm", + "\\textsf": "textsf", + "\\texttt": "texttt", + "\\textnormal": "textrm" +}; +const textFontWeights = { + "\\textbf": "textbf", + "\\textmd": "textmd" +}; +const textFontShapes = { + "\\textit": "textit", + "\\textup": "textup" +}; + +const optionsWithFont = (group, options) => { + const font = group.font; // Checks if the argument is a font family or a font style. + + if (!font) { + return options; + } else if (textFontFamilies[font]) { + return options.withTextFontFamily(textFontFamilies[font]); + } else if (textFontWeights[font]) { + return options.withTextFontWeight(textFontWeights[font]); + } else { + return options.withTextFontShape(textFontShapes[font]); + } +}; + +defineFunction({ + type: "text", + names: [// Font families + "\\text", "\\textrm", "\\textsf", "\\texttt", "\\textnormal", // Font weights + "\\textbf", "\\textmd", // Font Shapes + "\\textit", "\\textup"], + props: { + numArgs: 1, + argTypes: ["text"], + greediness: 2, + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + return { + type: "text", + mode: parser.mode, + body: ordargument(body), + font: funcName + }; + }, + + htmlBuilder(group, options) { + const newOptions = optionsWithFont(group, options); + const inner = buildExpression(group.body, newOptions, true); + return buildCommon.makeSpan(["mord", "text"], buildCommon.tryCombineChars(inner), newOptions); + }, + + mathmlBuilder(group, options) { + const newOptions = optionsWithFont(group, options); + return buildExpressionRow(group.body, newOptions); + } + +}); + +defineFunction({ + type: "underline", + names: ["\\underline"], + props: { + numArgs: 1, + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser; + return { + type: "underline", + mode: parser.mode, + body: args[0] + }; + }, + + htmlBuilder(group, options) { + // Underlines are handled in the TeXbook pg 443, Rule 10. + // Build the inner group. + const innerGroup = buildGroup(group.body, options); // Create the line to go below the body + + const line = buildCommon.makeLineSpan("underline-line", options); // Generate the vlist, with the appropriate kerns + + const defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + const vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "kern", + size: defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "underline"], [vlist], options); + }, + + mathmlBuilder(group, options) { + const operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203e")]); + operator.setAttribute("stretchy", "true"); + const node = new mathMLTree.MathNode("munder", [buildGroup$1(group.body, options), operator]); + node.setAttribute("accentunder", "true"); + return node; + } + +}); + +defineFunction({ + type: "verb", + names: ["\\verb"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(context, args, optArgs) { + // \verb and \verb* are dealt with directly in Parser.js. + // If we end up here, it's because of a failure to match the two delimiters + // in the regex in Lexer.js. LaTeX raises the following error when \verb is + // terminated by end of line (or file). + throw new ParseError("\\verb ended by end of line instead of matching delimiter"); + }, + + htmlBuilder(group, options) { + const text = makeVerb(group); + const body = []; // \verb enters text mode and therefore is sized like \textstyle + + const newOptions = options.havingStyle(options.style.text()); + + for (let i = 0; i < text.length; i++) { + let c = text[i]; + + if (c === '~') { + c = '\\textasciitilde'; + } + + body.push(buildCommon.makeSymbol(c, "Typewriter-Regular", group.mode, newOptions, ["mord", "texttt"])); + } + + return buildCommon.makeSpan(["mord", "text"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions); + }, + + mathmlBuilder(group, options) { + const text = new mathMLTree.TextNode(makeVerb(group)); + const node = new mathMLTree.MathNode("mtext", [text]); + node.setAttribute("mathvariant", "monospace"); + return node; + } + +}); +/** + * Converts verb group into body string. + * + * \verb* replaces each space with an open box \u2423 + * \verb replaces each space with a no-break space \xA0 + */ + +const makeVerb = group => group.body.replace(/ /g, group.star ? '\u2423' : '\xA0'); + +/** Include this to ensure that all functions are defined. */ +const functions = _functions; + +/** + * The Lexer class handles tokenizing the input in various ways. Since our + * parser expects us to be able to backtrack, the lexer allows lexing from any + * given starting point. + * + * Its main exposed function is the `lex` function, which takes a position to + * lex from and a type of token to lex. It defers to the appropriate `_innerLex` + * function. + * + * The various `_innerLex` functions perform the actual lexing of different + * kinds. + */ + +/* The following tokenRegex + * - matches typical whitespace (but not NBSP etc.) using its first group + * - does not match any control character \x00-\x1f except whitespace + * - does not match a bare backslash + * - matches any ASCII character except those just mentioned + * - does not match the BMP private use area \uE000-\uF8FF + * - does not match bare surrogate code units + * - matches any BMP character except for those just described + * - matches any valid Unicode surrogate pair + * - matches a backslash followed by one or more letters + * - matches a backslash followed by any BMP character, including newline + * Just because the Lexer matches something doesn't mean it's valid input: + * If there is no matching function or symbol definition, the Parser will + * still reject the input. + */ +const spaceRegexString = "[ \r\n\t]"; +const controlWordRegexString = "\\\\[a-zA-Z@]+"; +const controlSymbolRegexString = "\\\\[^\uD800-\uDFFF]"; +const controlWordWhitespaceRegexString = `${controlWordRegexString}${spaceRegexString}*`; +const controlWordWhitespaceRegex = new RegExp(`^(${controlWordRegexString})${spaceRegexString}*$`); +const combiningDiacriticalMarkString = "[\u0300-\u036f]"; +const combiningDiacriticalMarksEndRegex = new RegExp(`${combiningDiacriticalMarkString}+$`); +const tokenRegexString = `(${spaceRegexString}+)|` + // whitespace +"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]" + // single codepoint +`${combiningDiacriticalMarkString}*` + // ...plus accents +"|[\uD800-\uDBFF][\uDC00-\uDFFF]" + // surrogate pair +`${combiningDiacriticalMarkString}*` + // ...plus accents +"|\\\\verb\\*([^]).*?\\3" + // \verb* +"|\\\\verb([^*a-zA-Z]).*?\\4" + // \verb unstarred +"|\\\\operatorname\\*" + // \operatorname* +`|${controlWordWhitespaceRegexString}` + // \macroName + spaces +`|${controlSymbolRegexString})`; // \\, \', etc. + +/** Main Lexer class */ + +class Lexer { + // category codes, only supports comment characters (14) for now + constructor(input, settings) { + this.input = void 0; + this.settings = void 0; + this.tokenRegex = void 0; + this.catcodes = void 0; + // Separate accents from characters + this.input = input; + this.settings = settings; + this.tokenRegex = new RegExp(tokenRegexString, 'g'); + this.catcodes = { + "%": 14 // comment character + + }; + } + + setCatcode(char, code) { + this.catcodes[char] = code; + } + /** + * This function lexes a single token. + */ + + + lex() { + const input = this.input; + const pos = this.tokenRegex.lastIndex; + + if (pos === input.length) { + return new Token("EOF", new SourceLocation(this, pos, pos)); + } + + const match = this.tokenRegex.exec(input); + + if (match === null || match.index !== pos) { + throw new ParseError(`Unexpected character: '${input[pos]}'`, new Token(input[pos], new SourceLocation(this, pos, pos + 1))); + } + + let text = match[2] || " "; + + if (this.catcodes[text] === 14) { + // comment character + const nlIndex = input.indexOf('\n', this.tokenRegex.lastIndex); + + if (nlIndex === -1) { + this.tokenRegex.lastIndex = input.length; // EOF + + this.settings.reportNonstrict("commentAtEnd", "% comment has no terminating newline; LaTeX would " + "fail because of commenting the end of math mode (e.g. $)"); + } else { + this.tokenRegex.lastIndex = nlIndex + 1; + } + + return this.lex(); + } // Trim any trailing whitespace from control word match + + + const controlMatch = text.match(controlWordWhitespaceRegex); + + if (controlMatch) { + text = controlMatch[1]; + } + + return new Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex)); + } + +} + +/** + * A `Namespace` refers to a space of nameable things like macros or lengths, + * which can be `set` either globally or local to a nested group, using an + * undo stack similar to how TeX implements this functionality. + * Performance-wise, `get` and local `set` take constant time, while global + * `set` takes time proportional to the depth of group nesting. + */ +class Namespace { + /** + * Both arguments are optional. The first argument is an object of + * built-in mappings which never change. The second argument is an object + * of initial (global-level) mappings, which will constantly change + * according to any global/top-level `set`s done. + */ + constructor(builtins, globalMacros) { + if (builtins === void 0) { + builtins = {}; + } + + if (globalMacros === void 0) { + globalMacros = {}; + } + + this.current = void 0; + this.builtins = void 0; + this.undefStack = void 0; + this.current = globalMacros; + this.builtins = builtins; + this.undefStack = []; + } + /** + * Start a new nested group, affecting future local `set`s. + */ + + + beginGroup() { + this.undefStack.push({}); + } + /** + * End current nested group, restoring values before the group began. + */ + + + endGroup() { + if (this.undefStack.length === 0) { + throw new ParseError("Unbalanced namespace destruction: attempt " + "to pop global namespace; please report this as a bug"); + } + + const undefs = this.undefStack.pop(); + + for (const undef in undefs) { + if (undefs.hasOwnProperty(undef)) { + if (undefs[undef] === undefined) { + delete this.current[undef]; + } else { + this.current[undef] = undefs[undef]; + } + } + } + } + /** + * Detect whether `name` has a definition. Equivalent to + * `get(name) != null`. + */ + + + has(name) { + return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name); + } + /** + * Get the current value of a name, or `undefined` if there is no value. + * + * Note: Do not use `if (namespace.get(...))` to detect whether a macro + * is defined, as the definition may be the empty string which evaluates + * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or + * `if (namespace.has(...))`. + */ + + + get(name) { + if (this.current.hasOwnProperty(name)) { + return this.current[name]; + } else { + return this.builtins[name]; + } + } + /** + * Set the current value of a name, and optionally set it globally too. + * Local set() sets the current value and (when appropriate) adds an undo + * operation to the undo stack. Global set() may change the undo + * operation at every level, so takes time linear in their number. + */ + + + set(name, value, global) { + if (global === void 0) { + global = false; + } + + if (global) { + // Global set is equivalent to setting in all groups. Simulate this + // by destroying any undos currently scheduled for this name, + // and adding an undo with the *new* value (in case it later gets + // locally reset within this environment). + for (let i = 0; i < this.undefStack.length; i++) { + delete this.undefStack[i][name]; + } + + if (this.undefStack.length > 0) { + this.undefStack[this.undefStack.length - 1][name] = value; + } + } else { + // Undo this set at end of this group (possibly to `undefined`), + // unless an undo is already in place, in which case that older + // value is the correct one. + const top = this.undefStack[this.undefStack.length - 1]; + + if (top && !top.hasOwnProperty(name)) { + top[name] = this.current[name]; + } + } + + this.current[name] = value; + } + +} + +/** + * Predefined macros for KaTeX. + * This can be used to define some commands in terms of others. + */ +const builtinMacros = {}; + +function defineMacro(name, body) { + builtinMacros[name] = body; +} ////////////////////////////////////////////////////////////////////// +// macro tools + +defineMacro("\\noexpand", function (context) { + // The expansion is the token itself; but that token is interpreted + // as if its meaning were ‘\relax’ if it is a control sequence that + // would ordinarily be expanded by TeX’s expansion rules. + const t = context.popToken(); + + if (context.isExpandable(t.text)) { + t.noexpand = true; + t.treatAsRelax = true; + } + + return { + tokens: [t], + numArgs: 0 + }; +}); +defineMacro("\\expandafter", function (context) { + // TeX first reads the token that comes immediately after \expandafter, + // without expanding it; let’s call this token t. Then TeX reads the + // token that comes after t (and possibly more tokens, if that token + // has an argument), replacing it by its expansion. Finally TeX puts + // t back in front of that expansion. + const t = context.popToken(); + context.expandOnce(true); // expand only an expandable token + + return { + tokens: [t], + numArgs: 0 + }; +}); // LaTeX's \@firstoftwo{#1}{#2} expands to #1, skipping #2 +// TeX source: \long\def\@firstoftwo#1#2{#1} + +defineMacro("\\@firstoftwo", function (context) { + const args = context.consumeArgs(2); + return { + tokens: args[0], + numArgs: 0 + }; +}); // LaTeX's \@secondoftwo{#1}{#2} expands to #2, skipping #1 +// TeX source: \long\def\@secondoftwo#1#2{#2} + +defineMacro("\\@secondoftwo", function (context) { + const args = context.consumeArgs(2); + return { + tokens: args[1], + numArgs: 0 + }; +}); // LaTeX's \@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded) +// symbol that isn't a space, consuming any spaces but not consuming the +// first nonspace character. If that nonspace character matches #1, then +// the macro expands to #2; otherwise, it expands to #3. + +defineMacro("\\@ifnextchar", function (context) { + const args = context.consumeArgs(3); // symbol, if, else + + context.consumeSpaces(); + const nextToken = context.future(); + + if (args[0].length === 1 && args[0][0].text === nextToken.text) { + return { + tokens: args[1], + numArgs: 0 + }; + } else { + return { + tokens: args[2], + numArgs: 0 + }; + } +}); // LaTeX's \@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol. +// If it is `*`, then it consumes the symbol, and the macro expands to #1; +// otherwise, the macro expands to #2 (without consuming the symbol). +// TeX source: \def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}} + +defineMacro("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}"); // LaTeX's \TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode + +defineMacro("\\TextOrMath", function (context) { + const args = context.consumeArgs(2); + + if (context.mode === 'text') { + return { + tokens: args[0], + numArgs: 0 + }; + } else { + return { + tokens: args[1], + numArgs: 0 + }; + } +}); // Lookup table for parsing numbers in base 8 through 16 + +const digitToNumber = { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "a": 10, + "A": 10, + "b": 11, + "B": 11, + "c": 12, + "C": 12, + "d": 13, + "D": 13, + "e": 14, + "E": 14, + "f": 15, + "F": 15 +}; // TeX \char makes a literal character (catcode 12) using the following forms: +// (see The TeXBook, p. 43) +// \char123 -- decimal +// \char'123 -- octal +// \char"123 -- hex +// \char`x -- character that can be written (i.e. isn't active) +// \char`\x -- character that cannot be written (e.g. %) +// These all refer to characters from the font, so we turn them into special +// calls to a function \@char dealt with in the Parser. + +defineMacro("\\char", function (context) { + let token = context.popToken(); + let base; + let number = ''; + + if (token.text === "'") { + base = 8; + token = context.popToken(); + } else if (token.text === '"') { + base = 16; + token = context.popToken(); + } else if (token.text === "`") { + token = context.popToken(); + + if (token.text[0] === "\\") { + number = token.text.charCodeAt(1); + } else if (token.text === "EOF") { + throw new ParseError("\\char` missing argument"); + } else { + number = token.text.charCodeAt(0); + } + } else { + base = 10; + } + + if (base) { + // Parse a number in the given base, starting with first `token`. + number = digitToNumber[token.text]; + + if (number == null || number >= base) { + throw new ParseError(`Invalid base-${base} digit ${token.text}`); + } + + let digit; + + while ((digit = digitToNumber[context.future().text]) != null && digit < base) { + number *= base; + number += digit; + context.popToken(); + } + } + + return `\\@char{${number}}`; +}); // \newcommand{\macro}[args]{definition} +// \renewcommand{\macro}[args]{definition} +// TODO: Optional arguments: \newcommand{\macro}[args][default]{definition} + +const newcommand = (context, existsOK, nonexistsOK) => { + let arg = context.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new ParseError("\\newcommand's first argument must be a macro name"); + } + + const name = arg[0].text; + const exists = context.isDefined(name); + + if (exists && !existsOK) { + throw new ParseError(`\\newcommand{${name}} attempting to redefine ` + `${name}; use \\renewcommand`); + } + + if (!exists && !nonexistsOK) { + throw new ParseError(`\\renewcommand{${name}} when command ${name} ` + `does not yet exist; use \\newcommand`); + } + + let numArgs = 0; + arg = context.consumeArgs(1)[0]; + + if (arg.length === 1 && arg[0].text === "[") { + let argText = ''; + let token = context.expandNextToken(); + + while (token.text !== "]" && token.text !== "EOF") { + // TODO: Should properly expand arg, e.g., ignore {}s + argText += token.text; + token = context.expandNextToken(); + } + + if (!argText.match(/^\s*[0-9]+\s*$/)) { + throw new ParseError(`Invalid number of arguments: ${argText}`); + } + + numArgs = parseInt(argText); + arg = context.consumeArgs(1)[0]; + } // Final arg is the expansion of the macro + + + context.macros.set(name, { + tokens: arg, + numArgs + }); + return ''; +}; + +defineMacro("\\newcommand", context => newcommand(context, false, true)); +defineMacro("\\renewcommand", context => newcommand(context, true, false)); +defineMacro("\\providecommand", context => newcommand(context, true, true)); // terminal (console) tools + +defineMacro("\\message", context => { + const arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console + + console.log(arg.reverse().map(token => token.text).join("")); + return ''; +}); +defineMacro("\\errmessage", context => { + const arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console + + console.error(arg.reverse().map(token => token.text).join("")); + return ''; +}); +defineMacro("\\show", context => { + const tok = context.popToken(); + const name = tok.text; // eslint-disable-next-line no-console + + console.log(tok, context.macros.get(name), functions[name], symbols.math[name], symbols.text[name]); + return ''; +}); ////////////////////////////////////////////////////////////////////// +// Grouping +// \let\bgroup={ \let\egroup=} + +defineMacro("\\bgroup", "{"); +defineMacro("\\egroup", "}"); // Symbols from latex.ltx: +// \def\lq{`} +// \def\rq{'} +// \def \aa {\r a} +// \def \AA {\r A} + +defineMacro("\\lq", "`"); +defineMacro("\\rq", "'"); +defineMacro("\\aa", "\\r a"); +defineMacro("\\AA", "\\r A"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML. +// \DeclareTextCommandDefault{\textcopyright}{\textcircled{c}} +// \DeclareTextCommandDefault{\textregistered}{\textcircled{% +// \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}} +// \DeclareRobustCommand{\copyright}{% +// \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi} + +defineMacro("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`©}"); +defineMacro("\\copyright", "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"); +defineMacro("\\textregistered", "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"); // Characters omitted from Unicode range 1D400–1D7FF + +defineMacro("\u212C", "\\mathscr{B}"); // script + +defineMacro("\u2130", "\\mathscr{E}"); +defineMacro("\u2131", "\\mathscr{F}"); +defineMacro("\u210B", "\\mathscr{H}"); +defineMacro("\u2110", "\\mathscr{I}"); +defineMacro("\u2112", "\\mathscr{L}"); +defineMacro("\u2133", "\\mathscr{M}"); +defineMacro("\u211B", "\\mathscr{R}"); +defineMacro("\u212D", "\\mathfrak{C}"); // Fraktur + +defineMacro("\u210C", "\\mathfrak{H}"); +defineMacro("\u2128", "\\mathfrak{Z}"); // Define \Bbbk with a macro that works in both HTML and MathML. + +defineMacro("\\Bbbk", "\\Bbb{k}"); // Unicode middle dot +// The KaTeX fonts do not contain U+00B7. Instead, \cdotp displays +// the dot at U+22C5 and gives it punct spacing. + +defineMacro("\u00b7", "\\cdotp"); // \llap and \rlap render their contents in text mode + +defineMacro("\\llap", "\\mathllap{\\textrm{#1}}"); +defineMacro("\\rlap", "\\mathrlap{\\textrm{#1}}"); +defineMacro("\\clap", "\\mathclap{\\textrm{#1}}"); // \not is defined by base/fontmath.ltx via +// \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36} +// It's thus treated like a \mathrel, but defined by a symbol that has zero +// width but extends to the right. We use \rlap to get that spacing. +// For MathML we write U+0338 here. buildMathML.js will then do the overlay. + +defineMacro("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'); // Negated symbols from base/fontmath.ltx: +// \def\neq{\not=} \let\ne=\neq +// \DeclareRobustCommand +// \notin{\mathrel{\m@th\mathpalette\c@ncel\in}} +// \def\c@ncel#1#2{\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} + +defineMacro("\\neq", "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"); +defineMacro("\\ne", "\\neq"); +defineMacro("\u2260", "\\neq"); +defineMacro("\\notin", "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}" + "{\\mathrel{\\char`∉}}"); +defineMacro("\u2209", "\\notin"); // Unicode stacked relations + +defineMacro("\u2258", "\\html@mathml{" + "\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}" + "}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u2259", "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u225A", "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}"); +defineMacro("\u225B", "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}" + "{\\mathrel{\\char`\u225B}}"); +defineMacro("\u225D", "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}" + "{\\mathrel{\\char`\u225D}}"); +defineMacro("\u225E", "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}" + "{\\mathrel{\\char`\u225E}}"); +defineMacro("\u225F", "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}"); // Misc Unicode + +defineMacro("\u27C2", "\\perp"); +defineMacro("\u203C", "\\mathclose{!\\mkern-0.8mu!}"); +defineMacro("\u220C", "\\notni"); +defineMacro("\u231C", "\\ulcorner"); +defineMacro("\u231D", "\\urcorner"); +defineMacro("\u231E", "\\llcorner"); +defineMacro("\u231F", "\\lrcorner"); +defineMacro("\u00A9", "\\copyright"); +defineMacro("\u00AE", "\\textregistered"); +defineMacro("\uFE0F", "\\textregistered"); // The KaTeX fonts have corners at codepoints that don't match Unicode. +// For MathML purposes, use the Unicode code point. + +defineMacro("\\ulcorner", "\\html@mathml{\\@ulcorner}{\\mathop{\\char\"231c}}"); +defineMacro("\\urcorner", "\\html@mathml{\\@urcorner}{\\mathop{\\char\"231d}}"); +defineMacro("\\llcorner", "\\html@mathml{\\@llcorner}{\\mathop{\\char\"231e}}"); +defineMacro("\\lrcorner", "\\html@mathml{\\@lrcorner}{\\mathop{\\char\"231f}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX_2ε +// \vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ +// \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} +// We'll call \varvdots, which gets a glyph from symbols.js. +// The zero-width rule gets us an equivalent to the vertical 6pt kern. + +defineMacro("\\vdots", "\\mathord{\\varvdots\\rule{0pt}{15pt}}"); +defineMacro("\u22ee", "\\vdots"); ////////////////////////////////////////////////////////////////////// +// amsmath.sty +// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf +// Italic Greek capital letters. AMS defines these with \DeclareMathSymbol, +// but they are equivalent to \mathit{\Letter}. + +defineMacro("\\varGamma", "\\mathit{\\Gamma}"); +defineMacro("\\varDelta", "\\mathit{\\Delta}"); +defineMacro("\\varTheta", "\\mathit{\\Theta}"); +defineMacro("\\varLambda", "\\mathit{\\Lambda}"); +defineMacro("\\varXi", "\\mathit{\\Xi}"); +defineMacro("\\varPi", "\\mathit{\\Pi}"); +defineMacro("\\varSigma", "\\mathit{\\Sigma}"); +defineMacro("\\varUpsilon", "\\mathit{\\Upsilon}"); +defineMacro("\\varPhi", "\\mathit{\\Phi}"); +defineMacro("\\varPsi", "\\mathit{\\Psi}"); +defineMacro("\\varOmega", "\\mathit{\\Omega}"); //\newcommand{\substack}[1]{\subarray{c}#1\endsubarray} + +defineMacro("\\substack", "\\begin{subarray}{c}#1\\end{subarray}"); // \renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript +// \mkern-\thinmuskip{:}\mskip6muplus1mu\relax} + +defineMacro("\\colon", "\\nobreak\\mskip2mu\\mathpunct{}" + "\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu"); // \newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}} + +defineMacro("\\boxed", "\\fbox{$\\displaystyle{#1}$}"); // \def\iff{\DOTSB\;\Longleftrightarrow\;} +// \def\implies{\DOTSB\;\Longrightarrow\;} +// \def\impliedby{\DOTSB\;\Longleftarrow\;} + +defineMacro("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;"); +defineMacro("\\implies", "\\DOTSB\\;\\Longrightarrow\\;"); +defineMacro("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;"); // AMSMath's automatic \dots, based on \mdots@@ macro. + +const dotsByToken = { + ',': '\\dotsc', + '\\not': '\\dotsb', + // \keybin@ checks for the following: + '+': '\\dotsb', + '=': '\\dotsb', + '<': '\\dotsb', + '>': '\\dotsb', + '-': '\\dotsb', + '*': '\\dotsb', + ':': '\\dotsb', + // Symbols whose definition starts with \DOTSB: + '\\DOTSB': '\\dotsb', + '\\coprod': '\\dotsb', + '\\bigvee': '\\dotsb', + '\\bigwedge': '\\dotsb', + '\\biguplus': '\\dotsb', + '\\bigcap': '\\dotsb', + '\\bigcup': '\\dotsb', + '\\prod': '\\dotsb', + '\\sum': '\\dotsb', + '\\bigotimes': '\\dotsb', + '\\bigoplus': '\\dotsb', + '\\bigodot': '\\dotsb', + '\\bigsqcup': '\\dotsb', + '\\And': '\\dotsb', + '\\longrightarrow': '\\dotsb', + '\\Longrightarrow': '\\dotsb', + '\\longleftarrow': '\\dotsb', + '\\Longleftarrow': '\\dotsb', + '\\longleftrightarrow': '\\dotsb', + '\\Longleftrightarrow': '\\dotsb', + '\\mapsto': '\\dotsb', + '\\longmapsto': '\\dotsb', + '\\hookrightarrow': '\\dotsb', + '\\doteq': '\\dotsb', + // Symbols whose definition starts with \mathbin: + '\\mathbin': '\\dotsb', + // Symbols whose definition starts with \mathrel: + '\\mathrel': '\\dotsb', + '\\relbar': '\\dotsb', + '\\Relbar': '\\dotsb', + '\\xrightarrow': '\\dotsb', + '\\xleftarrow': '\\dotsb', + // Symbols whose definition starts with \DOTSI: + '\\DOTSI': '\\dotsi', + '\\int': '\\dotsi', + '\\oint': '\\dotsi', + '\\iint': '\\dotsi', + '\\iiint': '\\dotsi', + '\\iiiint': '\\dotsi', + '\\idotsint': '\\dotsi', + // Symbols whose definition starts with \DOTSX: + '\\DOTSX': '\\dotsx' +}; +defineMacro("\\dots", function (context) { + // TODO: If used in text mode, should expand to \textellipsis. + // However, in KaTeX, \textellipsis and \ldots behave the same + // (in text mode), and it's unlikely we'd see any of the math commands + // that affect the behavior of \dots when in text mode. So fine for now + // (until we support \ifmmode ... \else ... \fi). + let thedots = '\\dotso'; + const next = context.expandAfterFuture().text; + + if (next in dotsByToken) { + thedots = dotsByToken[next]; + } else if (next.substr(0, 4) === '\\not') { + thedots = '\\dotsb'; + } else if (next in symbols.math) { + if (utils.contains(['bin', 'rel'], symbols.math[next].group)) { + thedots = '\\dotsb'; + } + } + + return thedots; +}); +const spaceAfterDots = { + // \rightdelim@ checks for the following: + ')': true, + ']': true, + '\\rbrack': true, + '\\}': true, + '\\rbrace': true, + '\\rangle': true, + '\\rceil': true, + '\\rfloor': true, + '\\rgroup': true, + '\\rmoustache': true, + '\\right': true, + '\\bigr': true, + '\\biggr': true, + '\\Bigr': true, + '\\Biggr': true, + // \extra@ also tests for the following: + '$': true, + // \extrap@ checks for the following: + ';': true, + '.': true, + ',': true +}; +defineMacro("\\dotso", function (context) { + const next = context.future().text; + + if (next in spaceAfterDots) { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\dotsc", function (context) { + const next = context.future().text; // \dotsc uses \extra@ but not \extrap@, instead specially checking for + // ';' and '.', but doesn't check for ','. + + if (next in spaceAfterDots && next !== ',') { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\cdots", function (context) { + const next = context.future().text; + + if (next in spaceAfterDots) { + return "\\@cdots\\,"; + } else { + return "\\@cdots"; + } +}); +defineMacro("\\dotsb", "\\cdots"); +defineMacro("\\dotsm", "\\cdots"); +defineMacro("\\dotsi", "\\!\\cdots"); // amsmath doesn't actually define \dotsx, but \dots followed by a macro +// starting with \DOTSX implies \dotso, and then \extra@ detects this case +// and forces the added `\,`. + +defineMacro("\\dotsx", "\\ldots\\,"); // \let\DOTSI\relax +// \let\DOTSB\relax +// \let\DOTSX\relax + +defineMacro("\\DOTSI", "\\relax"); +defineMacro("\\DOTSB", "\\relax"); +defineMacro("\\DOTSX", "\\relax"); // Spacing, based on amsmath.sty's override of LaTeX defaults +// \DeclareRobustCommand{\tmspace}[3]{% +// \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} + +defineMacro("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"); // \renewcommand{\,}{\tmspace+\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\,", "\\tmspace+{3mu}{.1667em}"); // \let\thinspace\, + +defineMacro("\\thinspace", "\\,"); // \def\>{\mskip\medmuskip} +// \renewcommand{\:}{\tmspace+\medmuskip{.2222em}} +// TODO: \> and math mode of \: should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\>", "\\mskip{4mu}"); +defineMacro("\\:", "\\tmspace+{4mu}{.2222em}"); // \let\medspace\: + +defineMacro("\\medspace", "\\:"); // \renewcommand{\;}{\tmspace+\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip = 5mu plus 5mu + +defineMacro("\\;", "\\tmspace+{5mu}{.2777em}"); // \let\thickspace\; + +defineMacro("\\thickspace", "\\;"); // \renewcommand{\!}{\tmspace-\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\!", "\\tmspace-{3mu}{.1667em}"); // \let\negthinspace\! + +defineMacro("\\negthinspace", "\\!"); // \newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}} +// TODO: math mode should use \medmuskip + +defineMacro("\\negmedspace", "\\tmspace-{4mu}{.2222em}"); // \newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip + +defineMacro("\\negthickspace", "\\tmspace-{5mu}{.277em}"); // \def\enspace{\kern.5em } + +defineMacro("\\enspace", "\\kern.5em "); // \def\enskip{\hskip.5em\relax} + +defineMacro("\\enskip", "\\hskip.5em\\relax"); // \def\quad{\hskip1em\relax} + +defineMacro("\\quad", "\\hskip1em\\relax"); // \def\qquad{\hskip2em\relax} + +defineMacro("\\qquad", "\\hskip2em\\relax"); // \tag@in@display form of \tag + +defineMacro("\\tag", "\\@ifstar\\tag@literal\\tag@paren"); +defineMacro("\\tag@paren", "\\tag@literal{({#1})}"); +defineMacro("\\tag@literal", context => { + if (context.macros.get("\\df@tag")) { + throw new ParseError("Multiple \\tag"); + } + + return "\\gdef\\df@tag{\\text{#1}}"; +}); // \renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin +// {\operator@font mod}\penalty900 +// \mkern5mu\nonscript\mskip-\medmuskip} +// \newcommand{\pod}[1]{\allowbreak +// \if@display\mkern18mu\else\mkern8mu\fi(#1)} +// \renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}} +// \newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu +// \else\mkern12mu\fi{\operator@font mod}\,\,#1} +// TODO: math mode should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\bmod", "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}" + "\\mathbin{\\rm mod}" + "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"); +defineMacro("\\pod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"); +defineMacro("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}"); +defineMacro("\\mod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}" + "{\\rm mod}\\,\\,#1"); // \pmb -- A simulation of bold. +// The version in ambsy.sty works by typesetting three copies of the argument +// with small offsets. We use two copies. We omit the vertical offset because +// of rendering problems that makeVList encounters in Safari. + +defineMacro("\\pmb", "\\html@mathml{" + "\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}" + "{\\mathbf{#1}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX source2e +// \\ defaults to \newline, but changes to \cr within array environment + +defineMacro("\\\\", "\\newline"); // \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@} +// TODO: Doesn't normally work in math mode because \@ fails. KaTeX doesn't +// support \@ yet, so that's omitted, and we add \text so that the result +// doesn't look funny in math mode. + +defineMacro("\\TeX", "\\textrm{\\html@mathml{" + "T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX" + "}{TeX}}"); // \DeclareRobustCommand{\LaTeX}{L\kern-.36em% +// {\sbox\z@ T% +// \vbox to\ht\z@{\hbox{\check@mathfonts +// \fontsize\sf@size\z@ +// \math@fontsfalse\selectfont +// A}% +// \vss}% +// }% +// \kern-.15em% +// \TeX} +// This code aligns the top of the A with the T (from the perspective of TeX's +// boxes, though visually the A appears to extend above slightly). +// We compute the corresponding \raisebox when A is rendered in \normalsize +// \scriptstyle, which has a scale factor of 0.7 (see Options.js). + +const latexRaiseA = metricMap['Main-Regular']["T".charCodeAt(0)][1] - 0.7 * metricMap['Main-Regular']["A".charCodeAt(0)][1] + "em"; +defineMacro("\\LaTeX", "\\textrm{\\html@mathml{" + `L\\kern-.36em\\raisebox{${latexRaiseA}}{\\scriptstyle A}` + "\\kern-.15em\\TeX}{LaTeX}}"); // New KaTeX logo based on tweaking LaTeX logo + +defineMacro("\\KaTeX", "\\textrm{\\html@mathml{" + `K\\kern-.17em\\raisebox{${latexRaiseA}}{\\scriptstyle A}` + "\\kern-.15em\\TeX}{KaTeX}}"); // \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace} +// \def\@hspace#1{\hskip #1\relax} +// \def\@hspacer#1{\vrule \@width\z@\nobreak +// \hskip #1\hskip \z@skip} + +defineMacro("\\hspace", "\\@ifstar\\@hspacer\\@hspace"); +defineMacro("\\@hspace", "\\hskip #1\\relax"); +defineMacro("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax"); ////////////////////////////////////////////////////////////////////// +// mathtools.sty +//\providecommand\ordinarycolon{:} + +defineMacro("\\ordinarycolon", ":"); //\def\vcentcolon{\mathrel{\mathop\ordinarycolon}} +//TODO(edemaine): Not yet centered. Fix via \raisebox or #726 + +defineMacro("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}"); // \providecommand*\dblcolon{\vcentcolon\mathrel{\mkern-.9mu}\vcentcolon} + +defineMacro("\\dblcolon", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}" + "{\\mathop{\\char\"2237}}"); // \providecommand*\coloneqq{\vcentcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\coloneqq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2254}}"); // ≔ +// \providecommand*\Coloneqq{\dblcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\Coloneqq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2237\\char\"3d}}"); // \providecommand*\coloneq{\vcentcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\coloneq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"3a\\char\"2212}}"); // \providecommand*\Coloneq{\dblcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\Coloneq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"2237\\char\"2212}}"); // \providecommand*\eqqcolon{=\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2255}}"); // ≕ +// \providecommand*\Eqqcolon{=\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"3d\\char\"2237}}"); // \providecommand*\eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2239}}"); // \providecommand*\Eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"2212\\char\"2237}}"); // \providecommand*\colonapprox{\vcentcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\colonapprox", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"3a\\char\"2248}}"); // \providecommand*\Colonapprox{\dblcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\Colonapprox", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"2237\\char\"2248}}"); // \providecommand*\colonsim{\vcentcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\colonsim", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"3a\\char\"223c}}"); // \providecommand*\Colonsim{\dblcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\Colonsim", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"2237\\char\"223c}}"); // Some Unicode characters are implemented with macros to mathtools functions. + +defineMacro("\u2237", "\\dblcolon"); // :: + +defineMacro("\u2239", "\\eqcolon"); // -: + +defineMacro("\u2254", "\\coloneqq"); // := + +defineMacro("\u2255", "\\eqqcolon"); // =: + +defineMacro("\u2A74", "\\Coloneqq"); // ::= +////////////////////////////////////////////////////////////////////// +// colonequals.sty +// Alternate names for mathtools's macros: + +defineMacro("\\ratio", "\\vcentcolon"); +defineMacro("\\coloncolon", "\\dblcolon"); +defineMacro("\\colonequals", "\\coloneqq"); +defineMacro("\\coloncolonequals", "\\Coloneqq"); +defineMacro("\\equalscolon", "\\eqqcolon"); +defineMacro("\\equalscoloncolon", "\\Eqqcolon"); +defineMacro("\\colonminus", "\\coloneq"); +defineMacro("\\coloncolonminus", "\\Coloneq"); +defineMacro("\\minuscolon", "\\eqcolon"); +defineMacro("\\minuscoloncolon", "\\Eqcolon"); // \colonapprox name is same in mathtools and colonequals. + +defineMacro("\\coloncolonapprox", "\\Colonapprox"); // \colonsim name is same in mathtools and colonequals. + +defineMacro("\\coloncolonsim", "\\Colonsim"); // Additional macros, implemented by analogy with mathtools definitions: + +defineMacro("\\simcolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\simcoloncolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"); +defineMacro("\\approxcolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\approxcoloncolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"); // Present in newtxmath, pxfonts and txfonts + +defineMacro("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}"); +defineMacro("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}"); +defineMacro("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}"); ////////////////////////////////////////////////////////////////////// +// MathML alternates for KaTeX glyphs in the Unicode private area + +defineMacro("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}"); +defineMacro("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}"); +defineMacro("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}"); +defineMacro("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}"); +defineMacro("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}"); +defineMacro("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}"); +defineMacro("\\nshortmid", "\\html@mathml{\\@nshortmid}{∤}"); +defineMacro("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{∦}"); +defineMacro("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}"); +defineMacro("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}"); +defineMacro("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{⊊}"); +defineMacro("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{⫋}"); +defineMacro("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{⊋}"); +defineMacro("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{⫌}"); +defineMacro("\\imath", "\\html@mathml{\\@imath}{\u0131}"); +defineMacro("\\jmath", "\\html@mathml{\\@jmath}{\u0237}"); ////////////////////////////////////////////////////////////////////// +// stmaryrd and semantic +// The stmaryrd and semantic packages render the next four items by calling a +// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros. + +defineMacro("\\llbracket", "\\html@mathml{" + "\\mathopen{[\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u27e6}}"); +defineMacro("\\rrbracket", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu]}}" + "{\\mathclose{\\char`\u27e7}}"); +defineMacro("\u27e6", "\\llbracket"); // blackboard bold [ + +defineMacro("\u27e7", "\\rrbracket"); // blackboard bold ] + +defineMacro("\\lBrace", "\\html@mathml{" + "\\mathopen{\\{\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u2983}}"); +defineMacro("\\rBrace", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu\\}}}" + "{\\mathclose{\\char`\u2984}}"); +defineMacro("\u2983", "\\lBrace"); // blackboard bold { + +defineMacro("\u2984", "\\rBrace"); // blackboard bold } +// TODO: Create variable sized versions of the last two items. I believe that +// will require new font glyphs. +// The stmaryrd function `\minuso` provides a "Plimsoll" symbol that +// superimposes the characters \circ and \mathminus. Used in chemistry. + +defineMacro("\\minuso", "\\mathbin{\\html@mathml{" + "{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}" + "{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}" + "{\\char`⦵}}"); +defineMacro("⦵", "\\minuso"); ////////////////////////////////////////////////////////////////////// +// texvc.sty +// The texvc package contains macros available in mediawiki pages. +// We omit the functions deprecated at +// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax +// We also omit texvc's \O, which conflicts with \text{\O} + +defineMacro("\\darr", "\\downarrow"); +defineMacro("\\dArr", "\\Downarrow"); +defineMacro("\\Darr", "\\Downarrow"); +defineMacro("\\lang", "\\langle"); +defineMacro("\\rang", "\\rangle"); +defineMacro("\\uarr", "\\uparrow"); +defineMacro("\\uArr", "\\Uparrow"); +defineMacro("\\Uarr", "\\Uparrow"); +defineMacro("\\N", "\\mathbb{N}"); +defineMacro("\\R", "\\mathbb{R}"); +defineMacro("\\Z", "\\mathbb{Z}"); +defineMacro("\\alef", "\\aleph"); +defineMacro("\\alefsym", "\\aleph"); +defineMacro("\\Alpha", "\\mathrm{A}"); +defineMacro("\\Beta", "\\mathrm{B}"); +defineMacro("\\bull", "\\bullet"); +defineMacro("\\Chi", "\\mathrm{X}"); +defineMacro("\\clubs", "\\clubsuit"); +defineMacro("\\cnums", "\\mathbb{C}"); +defineMacro("\\Complex", "\\mathbb{C}"); +defineMacro("\\Dagger", "\\ddagger"); +defineMacro("\\diamonds", "\\diamondsuit"); +defineMacro("\\empty", "\\emptyset"); +defineMacro("\\Epsilon", "\\mathrm{E}"); +defineMacro("\\Eta", "\\mathrm{H}"); +defineMacro("\\exist", "\\exists"); +defineMacro("\\harr", "\\leftrightarrow"); +defineMacro("\\hArr", "\\Leftrightarrow"); +defineMacro("\\Harr", "\\Leftrightarrow"); +defineMacro("\\hearts", "\\heartsuit"); +defineMacro("\\image", "\\Im"); +defineMacro("\\infin", "\\infty"); +defineMacro("\\Iota", "\\mathrm{I}"); +defineMacro("\\isin", "\\in"); +defineMacro("\\Kappa", "\\mathrm{K}"); +defineMacro("\\larr", "\\leftarrow"); +defineMacro("\\lArr", "\\Leftarrow"); +defineMacro("\\Larr", "\\Leftarrow"); +defineMacro("\\lrarr", "\\leftrightarrow"); +defineMacro("\\lrArr", "\\Leftrightarrow"); +defineMacro("\\Lrarr", "\\Leftrightarrow"); +defineMacro("\\Mu", "\\mathrm{M}"); +defineMacro("\\natnums", "\\mathbb{N}"); +defineMacro("\\Nu", "\\mathrm{N}"); +defineMacro("\\Omicron", "\\mathrm{O}"); +defineMacro("\\plusmn", "\\pm"); +defineMacro("\\rarr", "\\rightarrow"); +defineMacro("\\rArr", "\\Rightarrow"); +defineMacro("\\Rarr", "\\Rightarrow"); +defineMacro("\\real", "\\Re"); +defineMacro("\\reals", "\\mathbb{R}"); +defineMacro("\\Reals", "\\mathbb{R}"); +defineMacro("\\Rho", "\\mathrm{P}"); +defineMacro("\\sdot", "\\cdot"); +defineMacro("\\sect", "\\S"); +defineMacro("\\spades", "\\spadesuit"); +defineMacro("\\sub", "\\subset"); +defineMacro("\\sube", "\\subseteq"); +defineMacro("\\supe", "\\supseteq"); +defineMacro("\\Tau", "\\mathrm{T}"); +defineMacro("\\thetasym", "\\vartheta"); // TODO: defineMacro("\\varcoppa", "\\\mbox{\\coppa}"); + +defineMacro("\\weierp", "\\wp"); +defineMacro("\\Zeta", "\\mathrm{Z}"); ////////////////////////////////////////////////////////////////////// +// statmath.sty +// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf + +defineMacro("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}"); +defineMacro("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}"); +defineMacro("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits"); ////////////////////////////////////////////////////////////////////// +// braket.sty +// http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/braket/braket.pdf + +defineMacro("\\bra", "\\mathinner{\\langle{#1}|}"); +defineMacro("\\ket", "\\mathinner{|{#1}\\rangle}"); +defineMacro("\\braket", "\\mathinner{\\langle{#1}\\rangle}"); +defineMacro("\\Bra", "\\left\\langle#1\\right|"); +defineMacro("\\Ket", "\\left|#1\\right\\rangle"); // Custom Khan Academy colors, should be moved to an optional package + +defineMacro("\\blue", "\\textcolor{##6495ed}{#1}"); +defineMacro("\\orange", "\\textcolor{##ffa500}{#1}"); +defineMacro("\\pink", "\\textcolor{##ff00af}{#1}"); +defineMacro("\\red", "\\textcolor{##df0030}{#1}"); +defineMacro("\\green", "\\textcolor{##28ae7b}{#1}"); +defineMacro("\\gray", "\\textcolor{gray}{#1}"); +defineMacro("\\purple", "\\textcolor{##9d38bd}{#1}"); +defineMacro("\\blueA", "\\textcolor{##ccfaff}{#1}"); +defineMacro("\\blueB", "\\textcolor{##80f6ff}{#1}"); +defineMacro("\\blueC", "\\textcolor{##63d9ea}{#1}"); +defineMacro("\\blueD", "\\textcolor{##11accd}{#1}"); +defineMacro("\\blueE", "\\textcolor{##0c7f99}{#1}"); +defineMacro("\\tealA", "\\textcolor{##94fff5}{#1}"); +defineMacro("\\tealB", "\\textcolor{##26edd5}{#1}"); +defineMacro("\\tealC", "\\textcolor{##01d1c1}{#1}"); +defineMacro("\\tealD", "\\textcolor{##01a995}{#1}"); +defineMacro("\\tealE", "\\textcolor{##208170}{#1}"); +defineMacro("\\greenA", "\\textcolor{##b6ffb0}{#1}"); +defineMacro("\\greenB", "\\textcolor{##8af281}{#1}"); +defineMacro("\\greenC", "\\textcolor{##74cf70}{#1}"); +defineMacro("\\greenD", "\\textcolor{##1fab54}{#1}"); +defineMacro("\\greenE", "\\textcolor{##0d923f}{#1}"); +defineMacro("\\goldA", "\\textcolor{##ffd0a9}{#1}"); +defineMacro("\\goldB", "\\textcolor{##ffbb71}{#1}"); +defineMacro("\\goldC", "\\textcolor{##ff9c39}{#1}"); +defineMacro("\\goldD", "\\textcolor{##e07d10}{#1}"); +defineMacro("\\goldE", "\\textcolor{##a75a05}{#1}"); +defineMacro("\\redA", "\\textcolor{##fca9a9}{#1}"); +defineMacro("\\redB", "\\textcolor{##ff8482}{#1}"); +defineMacro("\\redC", "\\textcolor{##f9685d}{#1}"); +defineMacro("\\redD", "\\textcolor{##e84d39}{#1}"); +defineMacro("\\redE", "\\textcolor{##bc2612}{#1}"); +defineMacro("\\maroonA", "\\textcolor{##ffbde0}{#1}"); +defineMacro("\\maroonB", "\\textcolor{##ff92c6}{#1}"); +defineMacro("\\maroonC", "\\textcolor{##ed5fa6}{#1}"); +defineMacro("\\maroonD", "\\textcolor{##ca337c}{#1}"); +defineMacro("\\maroonE", "\\textcolor{##9e034e}{#1}"); +defineMacro("\\purpleA", "\\textcolor{##ddd7ff}{#1}"); +defineMacro("\\purpleB", "\\textcolor{##c6b9fc}{#1}"); +defineMacro("\\purpleC", "\\textcolor{##aa87ff}{#1}"); +defineMacro("\\purpleD", "\\textcolor{##7854ab}{#1}"); +defineMacro("\\purpleE", "\\textcolor{##543b78}{#1}"); +defineMacro("\\mintA", "\\textcolor{##f5f9e8}{#1}"); +defineMacro("\\mintB", "\\textcolor{##edf2df}{#1}"); +defineMacro("\\mintC", "\\textcolor{##e0e5cc}{#1}"); +defineMacro("\\grayA", "\\textcolor{##f6f7f7}{#1}"); +defineMacro("\\grayB", "\\textcolor{##f0f1f2}{#1}"); +defineMacro("\\grayC", "\\textcolor{##e3e5e6}{#1}"); +defineMacro("\\grayD", "\\textcolor{##d6d8da}{#1}"); +defineMacro("\\grayE", "\\textcolor{##babec2}{#1}"); +defineMacro("\\grayF", "\\textcolor{##888d93}{#1}"); +defineMacro("\\grayG", "\\textcolor{##626569}{#1}"); +defineMacro("\\grayH", "\\textcolor{##3b3e40}{#1}"); +defineMacro("\\grayI", "\\textcolor{##21242c}{#1}"); +defineMacro("\\kaBlue", "\\textcolor{##314453}{#1}"); +defineMacro("\\kaGreen", "\\textcolor{##71B307}{#1}"); + +/** + * This file contains the “gullet” where macros are expanded + * until only non-macro tokens remain. + */ +// List of commands that act like macros but aren't defined as a macro, +// function, or symbol. Used in `isDefined`. +const implicitCommands = { + "\\relax": true, + // MacroExpander.js + "^": true, + // Parser.js + "_": true, + // Parser.js + "\\limits": true, + // Parser.js + "\\nolimits": true // Parser.js + +}; +class MacroExpander { + constructor(input, settings, mode) { + this.settings = void 0; + this.expansionCount = void 0; + this.lexer = void 0; + this.macros = void 0; + this.stack = void 0; + this.mode = void 0; + this.settings = settings; + this.expansionCount = 0; + this.feed(input); // Make new global namespace + + this.macros = new Namespace(builtinMacros, settings.macros); + this.mode = mode; + this.stack = []; // contains tokens in REVERSE order + } + /** + * Feed a new input string to the same MacroExpander + * (with existing macros etc.). + */ + + + feed(input) { + this.lexer = new Lexer(input, this.settings); + } + /** + * Switches between "text" and "math" modes. + */ + + + switchMode(newMode) { + this.mode = newMode; + } + /** + * Start a new group nesting within all namespaces. + */ + + + beginGroup() { + this.macros.beginGroup(); + } + /** + * End current group nesting within all namespaces. + */ + + + endGroup() { + this.macros.endGroup(); + } + /** + * Returns the topmost token on the stack, without expanding it. + * Similar in behavior to TeX's `\futurelet`. + */ + + + future() { + if (this.stack.length === 0) { + this.pushToken(this.lexer.lex()); + } + + return this.stack[this.stack.length - 1]; + } + /** + * Remove and return the next unexpanded token. + */ + + + popToken() { + this.future(); // ensure non-empty stack + + return this.stack.pop(); + } + /** + * Add a given token to the token stack. In particular, this get be used + * to put back a token returned from one of the other methods. + */ + + + pushToken(token) { + this.stack.push(token); + } + /** + * Append an array of tokens to the token stack. + */ + + + pushTokens(tokens) { + this.stack.push(...tokens); + } + /** + * Consume all following space tokens, without expansion. + */ + + + consumeSpaces() { + for (;;) { + const token = this.future(); + + if (token.text === " ") { + this.stack.pop(); + } else { + break; + } + } + } + /** + * Consume the specified number of arguments from the token stream, + * and return the resulting array of arguments. + */ + + + consumeArgs(numArgs) { + const args = []; // obtain arguments, either single token or balanced {…} group + + for (let i = 0; i < numArgs; ++i) { + this.consumeSpaces(); // ignore spaces before each argument + + const startOfArg = this.popToken(); + + if (startOfArg.text === "{") { + const arg = []; + let depth = 1; + + while (depth !== 0) { + const tok = this.popToken(); + arg.push(tok); + + if (tok.text === "{") { + ++depth; + } else if (tok.text === "}") { + --depth; + } else if (tok.text === "EOF") { + throw new ParseError("End of input in macro argument", startOfArg); + } + } + + arg.pop(); // remove last } + + arg.reverse(); // like above, to fit in with stack order + + args[i] = arg; + } else if (startOfArg.text === "EOF") { + throw new ParseError("End of input expecting macro argument"); + } else { + args[i] = [startOfArg]; + } + } + + return args; + } + /** + * Expand the next token only once if possible. + * + * If the token is expanded, the resulting tokens will be pushed onto + * the stack in reverse order and will be returned as an array, + * also in reverse order. + * + * If not, the next token will be returned without removing it + * from the stack. This case can be detected by a `Token` return value + * instead of an `Array` return value. + * + * In either case, the next token will be on the top of the stack, + * or the stack will be empty. + * + * Used to implement `expandAfterFuture` and `expandNextToken`. + * + * At the moment, macro expansion doesn't handle delimited macros, + * i.e. things like those defined by \def\foo#1\end{…}. + * See the TeX book page 202ff. for details on how those should behave. + * + * If expandableOnly, only expandable tokens are expanded and + * an undefined control sequence results in an error. + */ + + + expandOnce(expandableOnly) { + const topToken = this.popToken(); + const name = topToken.text; + const expansion = !topToken.noexpand ? this._getExpansion(name) : null; + + if (expansion == null || expandableOnly && expansion.unexpandable) { + if (expandableOnly && expansion == null && name[0] === "\\" && !this.isDefined(name)) { + throw new ParseError("Undefined control sequence: " + name); + } + + this.pushToken(topToken); + return topToken; + } + + this.expansionCount++; + + if (this.expansionCount > this.settings.maxExpand) { + throw new ParseError("Too many expansions: infinite loop or " + "need to increase maxExpand setting"); + } + + let tokens = expansion.tokens; + + if (expansion.numArgs) { + const args = this.consumeArgs(expansion.numArgs); // paste arguments in place of the placeholders + + tokens = tokens.slice(); // make a shallow copy + + for (let i = tokens.length - 1; i >= 0; --i) { + let tok = tokens[i]; + + if (tok.text === "#") { + if (i === 0) { + throw new ParseError("Incomplete placeholder at end of macro body", tok); + } + + tok = tokens[--i]; // next token on stack + + if (tok.text === "#") { + // ## → # + tokens.splice(i + 1, 1); // drop first # + } else if (/^[1-9]$/.test(tok.text)) { + // replace the placeholder with the indicated argument + tokens.splice(i, 2, ...args[+tok.text - 1]); + } else { + throw new ParseError("Not a valid argument number", tok); + } + } + } + } // Concatenate expansion onto top of stack. + + + this.pushTokens(tokens); + return tokens; + } + /** + * Expand the next token only once (if possible), and return the resulting + * top token on the stack (without removing anything from the stack). + * Similar in behavior to TeX's `\expandafter\futurelet`. + * Equivalent to expandOnce() followed by future(). + */ + + + expandAfterFuture() { + this.expandOnce(); + return this.future(); + } + /** + * Recursively expand first token, then return first non-expandable token. + */ + + + expandNextToken() { + for (;;) { + const expanded = this.expandOnce(); // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token) { + // \relax stops the expansion, but shouldn't get returned (a + // null return value couldn't get implemented as a function). + // the token after \noexpand is interpreted as if its meaning + // were ‘\relax’ + if (expanded.text === "\\relax" || expanded.treatAsRelax) { + this.stack.pop(); + } else { + return this.stack.pop(); // === expanded + } + } + } // Flow unable to figure out that this pathway is impossible. + // https://github.com/facebook/flow/issues/4808 + + + throw new Error(); // eslint-disable-line no-unreachable + } + /** + * Fully expand the given macro name and return the resulting list of + * tokens, or return `undefined` if no such macro is defined. + */ + + + expandMacro(name) { + return this.macros.has(name) ? this.expandTokens([new Token(name)]) : undefined; + } + /** + * Fully expand the given token stream and return the resulting list of tokens + */ + + + expandTokens(tokens) { + const output = []; + const oldStackLength = this.stack.length; + this.pushTokens(tokens); + + while (this.stack.length > oldStackLength) { + const expanded = this.expandOnce(true); // expand only expandable tokens + // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token) { + if (expanded.treatAsRelax) { + // the expansion of \noexpand is the token itself + expanded.noexpand = false; + expanded.treatAsRelax = false; + } + + output.push(this.stack.pop()); + } + } + + return output; + } + /** + * Fully expand the given macro name and return the result as a string, + * or return `undefined` if no such macro is defined. + */ + + + expandMacroAsText(name) { + const tokens = this.expandMacro(name); + + if (tokens) { + return tokens.map(token => token.text).join(""); + } else { + return tokens; + } + } + /** + * Returns the expanded macro as a reversed array of tokens and a macro + * argument count. Or returns `null` if no such macro. + */ + + + _getExpansion(name) { + const definition = this.macros.get(name); + + if (definition == null) { + // mainly checking for undefined here + return definition; + } + + const expansion = typeof definition === "function" ? definition(this) : definition; + + if (typeof expansion === "string") { + let numArgs = 0; + + if (expansion.indexOf("#") !== -1) { + const stripped = expansion.replace(/##/g, ""); + + while (stripped.indexOf("#" + (numArgs + 1)) !== -1) { + ++numArgs; + } + } + + const bodyLexer = new Lexer(expansion, this.settings); + const tokens = []; + let tok = bodyLexer.lex(); + + while (tok.text !== "EOF") { + tokens.push(tok); + tok = bodyLexer.lex(); + } + + tokens.reverse(); // to fit in with stack using push and pop + + const expanded = { + tokens, + numArgs + }; + return expanded; + } + + return expansion; + } + /** + * Determine whether a command is currently "defined" (has some + * functionality), meaning that it's a macro (in the current group), + * a function, a symbol, or one of the special commands listed in + * `implicitCommands`. + */ + + + isDefined(name) { + return this.macros.has(name) || functions.hasOwnProperty(name) || symbols.math.hasOwnProperty(name) || symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name); + } + /** + * Determine whether a command is expandable. + */ + + + isExpandable(name) { + const macro = this.macros.get(name); + return macro != null ? typeof macro === "string" || typeof macro === "function" || !macro.unexpandable // TODO(ylem): #2085 + : functions.hasOwnProperty(name) + /* && !functions[name].primitive*/ + ; + } + +} + +/* eslint no-constant-condition:0 */ + +const unicodeAccents = { + "́": { + "text": "\\'", + "math": "\\acute" + }, + "̀": { + "text": "\\`", + "math": "\\grave" + }, + "̈": { + "text": "\\\"", + "math": "\\ddot" + }, + "̃": { + "text": "\\~", + "math": "\\tilde" + }, + "̄": { + "text": "\\=", + "math": "\\bar" + }, + "̆": { + "text": "\\u", + "math": "\\breve" + }, + "̌": { + "text": "\\v", + "math": "\\check" + }, + "̂": { + "text": "\\^", + "math": "\\hat" + }, + "̇": { + "text": "\\.", + "math": "\\dot" + }, + "̊": { + "text": "\\r", + "math": "\\mathring" + }, + "̋": { + "text": "\\H" + } +}; +const unicodeSymbols = { + "á": "á", + "à": "à", + "ä": "ä", + "ǟ": "ǟ", + "ã": "ã", + "ā": "ā", + "ă": "ă", + "ắ": "ắ", + "ằ": "ằ", + "ẵ": "ẵ", + "ǎ": "ǎ", + "â": "â", + "ấ": "ấ", + "ầ": "ầ", + "ẫ": "ẫ", + "ȧ": "ȧ", + "ǡ": "ǡ", + "å": "å", + "ǻ": "ǻ", + "ḃ": "ḃ", + "ć": "ć", + "č": "č", + "ĉ": "ĉ", + "ċ": "ċ", + "ď": "ď", + "ḋ": "ḋ", + "é": "é", + "è": "è", + "ë": "ë", + "ẽ": "ẽ", + "ē": "ē", + "ḗ": "ḗ", + "ḕ": "ḕ", + "ĕ": "ĕ", + "ě": "ě", + "ê": "ê", + "ế": "ế", + "ề": "ề", + "ễ": "ễ", + "ė": "ė", + "ḟ": "ḟ", + "ǵ": "ǵ", + "ḡ": "ḡ", + "ğ": "ğ", + "ǧ": "ǧ", + "ĝ": "ĝ", + "ġ": "ġ", + "ḧ": "ḧ", + "ȟ": "ȟ", + "ĥ": "ĥ", + "ḣ": "ḣ", + "í": "í", + "ì": "ì", + "ï": "ï", + "ḯ": "ḯ", + "ĩ": "ĩ", + "ī": "ī", + "ĭ": "ĭ", + "ǐ": "ǐ", + "î": "î", + "ǰ": "ǰ", + "ĵ": "ĵ", + "ḱ": "ḱ", + "ǩ": "ǩ", + "ĺ": "ĺ", + "ľ": "ľ", + "ḿ": "ḿ", + "ṁ": "ṁ", + "ń": "ń", + "ǹ": "ǹ", + "ñ": "ñ", + "ň": "ň", + "ṅ": "ṅ", + "ó": "ó", + "ò": "ò", + "ö": "ö", + "ȫ": "ȫ", + "õ": "õ", + "ṍ": "ṍ", + "ṏ": "ṏ", + "ȭ": "ȭ", + "ō": "ō", + "ṓ": "ṓ", + "ṑ": "ṑ", + "ŏ": "ŏ", + "ǒ": "ǒ", + "ô": "ô", + "ố": "ố", + "ồ": "ồ", + "ỗ": "ỗ", + "ȯ": "ȯ", + "ȱ": "ȱ", + "ő": "ő", + "ṕ": "ṕ", + "ṗ": "ṗ", + "ŕ": "ŕ", + "ř": "ř", + "ṙ": "ṙ", + "ś": "ś", + "ṥ": "ṥ", + "š": "š", + "ṧ": "ṧ", + "ŝ": "ŝ", + "ṡ": "ṡ", + "ẗ": "ẗ", + "ť": "ť", + "ṫ": "ṫ", + "ú": "ú", + "ù": "ù", + "ü": "ü", + "ǘ": "ǘ", + "ǜ": "ǜ", + "ǖ": "ǖ", + "ǚ": "ǚ", + "ũ": "ũ", + "ṹ": "ṹ", + "ū": "ū", + "ṻ": "ṻ", + "ŭ": "ŭ", + "ǔ": "ǔ", + "û": "û", + "ů": "ů", + "ű": "ű", + "ṽ": "ṽ", + "ẃ": "ẃ", + "ẁ": "ẁ", + "ẅ": "ẅ", + "ŵ": "ŵ", + "ẇ": "ẇ", + "ẘ": "ẘ", + "ẍ": "ẍ", + "ẋ": "ẋ", + "ý": "ý", + "ỳ": "ỳ", + "ÿ": "ÿ", + "ỹ": "ỹ", + "ȳ": "ȳ", + "ŷ": "ŷ", + "ẏ": "ẏ", + "ẙ": "ẙ", + "ź": "ź", + "ž": "ž", + "ẑ": "ẑ", + "ż": "ż", + "Á": "Á", + "À": "À", + "Ä": "Ä", + "Ǟ": "Ǟ", + "Ã": "Ã", + "Ā": "Ā", + "Ă": "Ă", + "Ắ": "Ắ", + "Ằ": "Ằ", + "Ẵ": "Ẵ", + "Ǎ": "Ǎ", + "Â": "Â", + "Ấ": "Ấ", + "Ầ": "Ầ", + "Ẫ": "Ẫ", + "Ȧ": "Ȧ", + "Ǡ": "Ǡ", + "Å": "Å", + "Ǻ": "Ǻ", + "Ḃ": "Ḃ", + "Ć": "Ć", + "Č": "Č", + "Ĉ": "Ĉ", + "Ċ": "Ċ", + "Ď": "Ď", + "Ḋ": "Ḋ", + "É": "É", + "È": "È", + "Ë": "Ë", + "Ẽ": "Ẽ", + "Ē": "Ē", + "Ḗ": "Ḗ", + "Ḕ": "Ḕ", + "Ĕ": "Ĕ", + "Ě": "Ě", + "Ê": "Ê", + "Ế": "Ế", + "Ề": "Ề", + "Ễ": "Ễ", + "Ė": "Ė", + "Ḟ": "Ḟ", + "Ǵ": "Ǵ", + "Ḡ": "Ḡ", + "Ğ": "Ğ", + "Ǧ": "Ǧ", + "Ĝ": "Ĝ", + "Ġ": "Ġ", + "Ḧ": "Ḧ", + "Ȟ": "Ȟ", + "Ĥ": "Ĥ", + "Ḣ": "Ḣ", + "Í": "Í", + "Ì": "Ì", + "Ï": "Ï", + "Ḯ": "Ḯ", + "Ĩ": "Ĩ", + "Ī": "Ī", + "Ĭ": "Ĭ", + "Ǐ": "Ǐ", + "Î": "Î", + "İ": "İ", + "Ĵ": "Ĵ", + "Ḱ": "Ḱ", + "Ǩ": "Ǩ", + "Ĺ": "Ĺ", + "Ľ": "Ľ", + "Ḿ": "Ḿ", + "Ṁ": "Ṁ", + "Ń": "Ń", + "Ǹ": "Ǹ", + "Ñ": "Ñ", + "Ň": "Ň", + "Ṅ": "Ṅ", + "Ó": "Ó", + "Ò": "Ò", + "Ö": "Ö", + "Ȫ": "Ȫ", + "Õ": "Õ", + "Ṍ": "Ṍ", + "Ṏ": "Ṏ", + "Ȭ": "Ȭ", + "Ō": "Ō", + "Ṓ": "Ṓ", + "Ṑ": "Ṑ", + "Ŏ": "Ŏ", + "Ǒ": "Ǒ", + "Ô": "Ô", + "Ố": "Ố", + "Ồ": "Ồ", + "Ỗ": "Ỗ", + "Ȯ": "Ȯ", + "Ȱ": "Ȱ", + "Ő": "Ő", + "Ṕ": "Ṕ", + "Ṗ": "Ṗ", + "Ŕ": "Ŕ", + "Ř": "Ř", + "Ṙ": "Ṙ", + "Ś": "Ś", + "Ṥ": "Ṥ", + "Š": "Š", + "Ṧ": "Ṧ", + "Ŝ": "Ŝ", + "Ṡ": "Ṡ", + "Ť": "Ť", + "Ṫ": "Ṫ", + "Ú": "Ú", + "Ù": "Ù", + "Ü": "Ü", + "Ǘ": "Ǘ", + "Ǜ": "Ǜ", + "Ǖ": "Ǖ", + "Ǚ": "Ǚ", + "Ũ": "Ũ", + "Ṹ": "Ṹ", + "Ū": "Ū", + "Ṻ": "Ṻ", + "Ŭ": "Ŭ", + "Ǔ": "Ǔ", + "Û": "Û", + "Ů": "Ů", + "Ű": "Ű", + "Ṽ": "Ṽ", + "Ẃ": "Ẃ", + "Ẁ": "Ẁ", + "Ẅ": "Ẅ", + "Ŵ": "Ŵ", + "Ẇ": "Ẇ", + "Ẍ": "Ẍ", + "Ẋ": "Ẋ", + "Ý": "Ý", + "Ỳ": "Ỳ", + "Ÿ": "Ÿ", + "Ỹ": "Ỹ", + "Ȳ": "Ȳ", + "Ŷ": "Ŷ", + "Ẏ": "Ẏ", + "Ź": "Ź", + "Ž": "Ž", + "Ẑ": "Ẑ", + "Ż": "Ż", + "ά": "ά", + "ὰ": "ὰ", + "ᾱ": "ᾱ", + "ᾰ": "ᾰ", + "έ": "έ", + "ὲ": "ὲ", + "ή": "ή", + "ὴ": "ὴ", + "ί": "ί", + "ὶ": "ὶ", + "ϊ": "ϊ", + "ΐ": "ΐ", + "ῒ": "ῒ", + "ῑ": "ῑ", + "ῐ": "ῐ", + "ό": "ό", + "ὸ": "ὸ", + "ύ": "ύ", + "ὺ": "ὺ", + "ϋ": "ϋ", + "ΰ": "ΰ", + "ῢ": "ῢ", + "ῡ": "ῡ", + "ῠ": "ῠ", + "ώ": "ώ", + "ὼ": "ὼ", + "Ύ": "Ύ", + "Ὺ": "Ὺ", + "Ϋ": "Ϋ", + "Ῡ": "Ῡ", + "Ῠ": "Ῠ", + "Ώ": "Ώ", + "Ὼ": "Ὼ" +}; + +/** + * This file contains the parser used to parse out a TeX expression from the + * input. Since TeX isn't context-free, standard parsers don't work particularly + * well. + * + * The strategy of this parser is as such: + * + * The main functions (the `.parse...` ones) take a position in the current + * parse string to parse tokens from. The lexer (found in Lexer.js, stored at + * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When + * individual tokens are needed at a position, the lexer is called to pull out a + * token, which is then used. + * + * The parser has a property called "mode" indicating the mode that + * the parser is currently in. Currently it has to be one of "math" or + * "text", which denotes whether the current environment is a math-y + * one or a text-y one (e.g. inside \text). Currently, this serves to + * limit the functions which can be used in text mode. + * + * The main functions then return an object which contains the useful data that + * was parsed at its given point, and a new position at the end of the parsed + * data. The main functions can call each other and continue the parsing by + * using the returned position as a new starting point. + * + * There are also extra `.handle...` functions, which pull out some reused + * functionality into self-contained functions. + * + * The functions return ParseNodes. + */ +class Parser { + constructor(input, settings) { + this.mode = void 0; + this.gullet = void 0; + this.settings = void 0; + this.leftrightDepth = void 0; + this.nextToken = void 0; + // Start in math mode + this.mode = "math"; // Create a new macro expander (gullet) and (indirectly via that) also a + // new lexer (mouth) for this parser (stomach, in the language of TeX) + + this.gullet = new MacroExpander(input, settings, this.mode); // Store the settings for use in parsing + + this.settings = settings; // Count leftright depth (for \middle errors) + + this.leftrightDepth = 0; + } + /** + * Checks a result to make sure it has the right type, and throws an + * appropriate error otherwise. + */ + + + expect(text, consume) { + if (consume === void 0) { + consume = true; + } + + if (this.fetch().text !== text) { + throw new ParseError(`Expected '${text}', got '${this.fetch().text}'`, this.fetch()); + } + + if (consume) { + this.consume(); + } + } + /** + * Discards the current lookahead token, considering it consumed. + */ + + + consume() { + this.nextToken = null; + } + /** + * Return the current lookahead token, or if there isn't one (at the + * beginning, or if the previous lookahead token was consume()d), + * fetch the next token as the new lookahead token and return it. + */ + + + fetch() { + if (this.nextToken == null) { + this.nextToken = this.gullet.expandNextToken(); + } + + return this.nextToken; + } + /** + * Switches between "text" and "math" modes. + */ + + + switchMode(newMode) { + this.mode = newMode; + this.gullet.switchMode(newMode); + } + /** + * Main parsing function, which parses an entire input. + */ + + + parse() { + if (!this.settings.globalGroup) { + // Create a group namespace for the math expression. + // (LaTeX creates a new group for every $...$, $$...$$, \[...\].) + this.gullet.beginGroup(); + } // Use old \color behavior (same as LaTeX's \textcolor) if requested. + // We do this within the group for the math expression, so it doesn't + // pollute settings.macros. + + + if (this.settings.colorIsTextColor) { + this.gullet.macros.set("\\color", "\\textcolor"); + } // Try to parse the input + + + const parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end + + this.expect("EOF"); // End the group namespace for the expression + + if (!this.settings.globalGroup) { + this.gullet.endGroup(); + } + + return parse; + } + + parseExpression(breakOnInfix, breakOnTokenText) { + const body = []; // Keep adding atoms to the body until we can't parse any more atoms (either + // we reached the end, a }, or a \right) + + while (true) { + // Ignore spaces in math mode + if (this.mode === "math") { + this.consumeSpaces(); + } + + const lex = this.fetch(); + + if (Parser.endOfExpression.indexOf(lex.text) !== -1) { + break; + } + + if (breakOnTokenText && lex.text === breakOnTokenText) { + break; + } + + if (breakOnInfix && functions[lex.text] && functions[lex.text].infix) { + break; + } + + const atom = this.parseAtom(breakOnTokenText); + + if (!atom) { + break; + } else if (atom.type === "internal") { + continue; + } + + body.push(atom); + } + + if (this.mode === "text") { + this.formLigatures(body); + } + + return this.handleInfixNodes(body); + } + /** + * Rewrites infix operators such as \over with corresponding commands such + * as \frac. + * + * There can only be one infix operator per group. If there's more than one + * then the expression is ambiguous. This can be resolved by adding {}. + */ + + + handleInfixNodes(body) { + let overIndex = -1; + let funcName; + + for (let i = 0; i < body.length; i++) { + if (body[i].type === "infix") { + if (overIndex !== -1) { + throw new ParseError("only one infix operator per group", body[i].token); + } + + overIndex = i; + funcName = body[i].replaceWith; + } + } + + if (overIndex !== -1 && funcName) { + let numerNode; + let denomNode; + const numerBody = body.slice(0, overIndex); + const denomBody = body.slice(overIndex + 1); + + if (numerBody.length === 1 && numerBody[0].type === "ordgroup") { + numerNode = numerBody[0]; + } else { + numerNode = { + type: "ordgroup", + mode: this.mode, + body: numerBody + }; + } + + if (denomBody.length === 1 && denomBody[0].type === "ordgroup") { + denomNode = denomBody[0]; + } else { + denomNode = { + type: "ordgroup", + mode: this.mode, + body: denomBody + }; + } + + let node; + + if (funcName === "\\\\abovefrac") { + node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []); + } else { + node = this.callFunction(funcName, [numerNode, denomNode], []); + } + + return [node]; + } else { + return body; + } + } // The greediness of a superscript or subscript + + + /** + * Handle a subscript or superscript with nice errors. + */ + handleSupSubscript(name) { + const symbolToken = this.fetch(); + const symbol = symbolToken.text; + this.consume(); + const group = this.parseGroup(name, false, Parser.SUPSUB_GREEDINESS, undefined, undefined, true); // ignore spaces before sup/subscript argument + + if (!group) { + throw new ParseError("Expected group after '" + symbol + "'", symbolToken); + } + + return group; + } + /** + * Converts the textual input of an unsupported command into a text node + * contained within a color node whose color is determined by errorColor + */ + + + formatUnsupportedCmd(text) { + const textordArray = []; + + for (let i = 0; i < text.length; i++) { + textordArray.push({ + type: "textord", + mode: "text", + text: text[i] + }); + } + + const textNode = { + type: "text", + mode: this.mode, + body: textordArray + }; + const colorNode = { + type: "color", + mode: this.mode, + color: this.settings.errorColor, + body: [textNode] + }; + return colorNode; + } + /** + * Parses a group with optional super/subscripts. + */ + + + parseAtom(breakOnTokenText) { + // The body of an atom is an implicit group, so that things like + // \left(x\right)^2 work correctly. + const base = this.parseGroup("atom", false, null, breakOnTokenText); // In text mode, we don't have superscripts or subscripts + + if (this.mode === "text") { + return base; + } // Note that base may be empty (i.e. null) at this point. + + + let superscript; + let subscript; + + while (true) { + // Guaranteed in math mode, so eat any spaces first. + this.consumeSpaces(); // Lex the first token + + const lex = this.fetch(); + + if (lex.text === "\\limits" || lex.text === "\\nolimits") { + // We got a limit control + if (base && base.type === "op") { + const limits = lex.text === "\\limits"; + base.limits = limits; + base.alwaysHandleSupSub = true; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub) { + const limits = lex.text === "\\limits"; + base.limits = limits; + } else { + throw new ParseError("Limit controls must follow a math operator", lex); + } + + this.consume(); + } else if (lex.text === "^") { + // We got a superscript start + if (superscript) { + throw new ParseError("Double superscript", lex); + } + + superscript = this.handleSupSubscript("superscript"); + } else if (lex.text === "_") { + // We got a subscript start + if (subscript) { + throw new ParseError("Double subscript", lex); + } + + subscript = this.handleSupSubscript("subscript"); + } else if (lex.text === "'") { + // We got a prime + if (superscript) { + throw new ParseError("Double superscript", lex); + } + + const prime = { + type: "textord", + mode: this.mode, + text: "\\prime" + }; // Many primes can be grouped together, so we handle this here + + const primes = [prime]; + this.consume(); // Keep lexing tokens until we get something that's not a prime + + while (this.fetch().text === "'") { + // For each one, add another prime to the list + primes.push(prime); + this.consume(); + } // If there's a superscript following the primes, combine that + // superscript in with the primes. + + + if (this.fetch().text === "^") { + primes.push(this.handleSupSubscript("superscript")); + } // Put everything into an ordgroup as the superscript + + + superscript = { + type: "ordgroup", + mode: this.mode, + body: primes + }; + } else { + // If it wasn't ^, _, or ', stop parsing super/subscripts + break; + } + } // Base must be set if superscript or subscript are set per logic above, + // but need to check here for type check to pass. + + + if (superscript || subscript) { + // If we got either a superscript or subscript, create a supsub + return { + type: "supsub", + mode: this.mode, + base: base, + sup: superscript, + sub: subscript + }; + } else { + // Otherwise return the original body + return base; + } + } + /** + * Parses an entire function, including its base and all of its arguments. + */ + + + parseFunction(breakOnTokenText, name, // For error reporting. + greediness) { + const token = this.fetch(); + const func = token.text; + const funcData = functions[func]; + + if (!funcData) { + return null; + } + + this.consume(); // consume command token + + if (greediness != null && funcData.greediness <= greediness) { + throw new ParseError("Got function '" + func + "' with no arguments" + (name ? " as " + name : ""), token); + } else if (this.mode === "text" && !funcData.allowedInText) { + throw new ParseError("Can't use function '" + func + "' in text mode", token); + } else if (this.mode === "math" && funcData.allowedInMath === false) { + throw new ParseError("Can't use function '" + func + "' in math mode", token); + } + + const _this$parseArguments = this.parseArguments(func, funcData), + args = _this$parseArguments.args, + optArgs = _this$parseArguments.optArgs; + + return this.callFunction(func, args, optArgs, token, breakOnTokenText); + } + /** + * Call a function handler with a suitable context and arguments. + */ + + + callFunction(name, args, optArgs, token, breakOnTokenText) { + const context = { + funcName: name, + parser: this, + token, + breakOnTokenText + }; + const func = functions[name]; + + if (func && func.handler) { + return func.handler(context, args, optArgs); + } else { + throw new ParseError(`No function handler for ${name}`); + } + } + /** + * Parses the arguments of a function or environment + */ + + + parseArguments(func, // Should look like "\name" or "\begin{name}". + funcData) { + const totalArgs = funcData.numArgs + funcData.numOptionalArgs; + + if (totalArgs === 0) { + return { + args: [], + optArgs: [] + }; + } + + const baseGreediness = funcData.greediness; + const args = []; + const optArgs = []; + + for (let i = 0; i < totalArgs; i++) { + const argType = funcData.argTypes && funcData.argTypes[i]; + const isOptional = i < funcData.numOptionalArgs; // Ignore spaces between arguments. As the TeXbook says: + // "After you have said ‘\def\row#1#2{...}’, you are allowed to + // put spaces between the arguments (e.g., ‘\row x n’), because + // TeX doesn’t use single spaces as undelimited arguments." + + const consumeSpaces = i > 0 && !isOptional || // Also consume leading spaces in math mode, as parseSymbol + // won't know what to do with them. This can only happen with + // macros, e.g. \frac\foo\foo where \foo expands to a space symbol. + // In LaTeX, the \foo's get treated as (blank) arguments. + // In KaTeX, for now, both spaces will get consumed. + // TODO(edemaine) + i === 0 && !isOptional && this.mode === "math"; + const arg = this.parseGroupOfType(`argument to '${func}'`, argType, isOptional, baseGreediness, consumeSpaces); + + if (!arg) { + if (isOptional) { + optArgs.push(null); + continue; + } + + throw new ParseError(`Expected group after '${func}'`, this.fetch()); + } + + (isOptional ? optArgs : args).push(arg); + } + + return { + args, + optArgs + }; + } + /** + * Parses a group when the mode is changing. + */ + + + parseGroupOfType(name, type, optional, greediness, consumeSpaces) { + switch (type) { + case "color": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseColorGroup(optional); + + case "size": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseSizeGroup(optional); + + case "url": + return this.parseUrlGroup(optional, consumeSpaces); + + case "math": + case "text": + return this.parseGroup(name, optional, greediness, undefined, type, consumeSpaces); + + case "hbox": + { + // hbox argument type wraps the argument in the equivalent of + // \hbox, which is like \text but switching to \textstyle size. + const group = this.parseGroup(name, optional, greediness, undefined, "text", consumeSpaces); + + if (!group) { + return group; + } + + const styledGroup = { + type: "styling", + mode: group.mode, + body: [group], + style: "text" // simulate \textstyle + + }; + return styledGroup; + } + + case "raw": + { + if (consumeSpaces) { + this.consumeSpaces(); + } + + if (optional && this.fetch().text === "{") { + return null; + } + + const token = this.parseStringGroup("raw", optional, true); + + if (token) { + return { + type: "raw", + mode: "text", + string: token.text + }; + } else { + throw new ParseError("Expected raw group", this.fetch()); + } + } + + case "original": + case null: + case undefined: + return this.parseGroup(name, optional, greediness, undefined, undefined, consumeSpaces); + + default: + throw new ParseError("Unknown group type as " + name, this.fetch()); + } + } + /** + * Discard any space tokens, fetching the next non-space token. + */ + + + consumeSpaces() { + while (this.fetch().text === " ") { + this.consume(); + } + } + /** + * Parses a group, essentially returning the string formed by the + * brace-enclosed tokens plus some position information. + */ + + + parseStringGroup(modeName, // Used to describe the mode in error messages. + optional, raw) { + const groupBegin = optional ? "[" : "{"; + const groupEnd = optional ? "]" : "}"; + const beginToken = this.fetch(); + + if (beginToken.text !== groupBegin) { + if (optional) { + return null; + } else if (raw && beginToken.text !== "EOF" && /[^{}[\]]/.test(beginToken.text)) { + this.consume(); + return beginToken; + } + } + + const outerMode = this.mode; + this.mode = "text"; + this.expect(groupBegin); + let str = ""; + const firstToken = this.fetch(); + let nested = 0; // allow nested braces in raw string group + + let lastToken = firstToken; + let nextToken; + + while ((nextToken = this.fetch()).text !== groupEnd || raw && nested > 0) { + switch (nextToken.text) { + case "EOF": + throw new ParseError("Unexpected end of input in " + modeName, firstToken.range(lastToken, str)); + + case groupBegin: + nested++; + break; + + case groupEnd: + nested--; + break; + } + + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + this.expect(groupEnd); + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a regex-delimited group: the largest sequence of tokens + * whose concatenated strings match `regex`. Returns the string + * formed by the tokens plus some position information. + */ + + + parseRegexGroup(regex, modeName) { + const outerMode = this.mode; + this.mode = "text"; + const firstToken = this.fetch(); + let lastToken = firstToken; + let str = ""; + let nextToken; + + while ((nextToken = this.fetch()).text !== "EOF" && regex.test(str + nextToken.text)) { + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + if (str === "") { + throw new ParseError("Invalid " + modeName + ": '" + firstToken.text + "'", firstToken); + } + + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a color description. + */ + + + parseColorGroup(optional) { + const res = this.parseStringGroup("color", optional); + + if (!res) { + return null; + } + + const match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text); + + if (!match) { + throw new ParseError("Invalid color: '" + res.text + "'", res); + } + + let color = match[0]; + + if (/^[0-9a-f]{6}$/i.test(color)) { + // We allow a 6-digit HTML color spec without a leading "#". + // This follows the xcolor package's HTML color model. + // Predefined color names are all missed by this RegEx pattern. + color = "#" + color; + } + + return { + type: "color-token", + mode: this.mode, + color + }; + } + /** + * Parses a size specification, consisting of magnitude and unit. + */ + + + parseSizeGroup(optional) { + let res; + let isBlank = false; + + if (!optional && this.fetch().text !== "{") { + res = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size"); + } else { + res = this.parseStringGroup("size", optional); + } + + if (!res) { + return null; + } + + if (!optional && res.text.length === 0) { + // Because we've tested for what is !optional, this block won't + // affect \kern, \hspace, etc. It will capture the mandatory arguments + // to \genfrac and \above. + res.text = "0pt"; // Enable \above{} + + isBlank = true; // This is here specifically for \genfrac + } + + const match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(res.text); + + if (!match) { + throw new ParseError("Invalid size: '" + res.text + "'", res); + } + + const data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new ParseError("Invalid unit: '" + data.unit + "'", res); + } + + return { + type: "size", + mode: this.mode, + value: data, + isBlank + }; + } + /** + * Parses an URL, checking escaped letters and allowed protocols, + * and setting the catcode of % as an active character (as in \hyperref). + */ + + + parseUrlGroup(optional, consumeSpaces) { + this.gullet.lexer.setCatcode("%", 13); // active character + + const res = this.parseStringGroup("url", optional, true); // get raw string + + this.gullet.lexer.setCatcode("%", 14); // comment character + + if (!res) { + return null; + } // hyperref package allows backslashes alone in href, but doesn't + // generate valid links in such cases; we interpret this as + // "undefined" behaviour, and keep them as-is. Some browser will + // replace backslashes with forward slashes. + + + const url = res.text.replace(/\\([#$%&~_^{}])/g, '$1'); + return { + type: "url", + mode: this.mode, + url + }; + } + /** + * If `optional` is false or absent, this parses an ordinary group, + * which is either a single nucleus (like "x") or an expression + * in braces (like "{x+y}") or an implicit group, a group that starts + * at the current position, and ends right before a higher explicit + * group ends, or at EOF. + * If `optional` is true, it parses either a bracket-delimited expression + * (like "[x+y]") or returns null to indicate the absence of a + * bracket-enclosed group. + * If `mode` is present, switches to that mode while parsing the group, + * and switches back after. + */ + + + parseGroup(name, // For error reporting. + optional, greediness, breakOnTokenText, mode, consumeSpaces) { + // Switch to specified mode + const outerMode = this.mode; + + if (mode) { + this.switchMode(mode); + } // Consume spaces if requested, crucially *after* we switch modes, + // so that the next non-space token is parsed in the correct mode. + + + if (consumeSpaces) { + this.consumeSpaces(); + } // Get first token + + + const firstToken = this.fetch(); + const text = firstToken.text; + let result; // Try to parse an open brace or \begingroup + + if (optional ? text === "[" : text === "{" || text === "\\begingroup") { + this.consume(); + const groupEnd = Parser.endOfGroup[text]; // Start a new group namespace + + this.gullet.beginGroup(); // If we get a brace, parse an expression + + const expression = this.parseExpression(false, groupEnd); + const lastToken = this.fetch(); // Check that we got a matching closing brace + + this.expect(groupEnd); // End group namespace + + this.gullet.endGroup(); + result = { + type: "ordgroup", + mode: this.mode, + loc: SourceLocation.range(firstToken, lastToken), + body: expression, + // A group formed by \begingroup...\endgroup is a semi-simple group + // which doesn't affect spacing in math mode, i.e., is transparent. + // https://tex.stackexchange.com/questions/1930/when-should-one- + // use-begingroup-instead-of-bgroup + semisimple: text === "\\begingroup" || undefined + }; + } else if (optional) { + // Return nothing for an optional group + result = null; + } else { + // If there exists a function with this name, parse the function. + // Otherwise, just return a nucleus + result = this.parseFunction(breakOnTokenText, name, greediness) || this.parseSymbol(); + + if (result == null && text[0] === "\\" && !implicitCommands.hasOwnProperty(text)) { + if (this.settings.throwOnError) { + throw new ParseError("Undefined control sequence: " + text, firstToken); + } + + result = this.formatUnsupportedCmd(text); + this.consume(); + } + } // Switch mode back + + + if (mode) { + this.switchMode(outerMode); + } + + return result; + } + /** + * Form ligature-like combinations of characters for text mode. + * This includes inputs like "--", "---", "``" and "''". + * The result will simply replace multiple textord nodes with a single + * character in each value by a single textord node having multiple + * characters in its value. The representation is still ASCII source. + * The group will be modified in place. + */ + + + formLigatures(group) { + let n = group.length - 1; + + for (let i = 0; i < n; ++i) { + const a = group[i]; // $FlowFixMe: Not every node type has a `text` property. + + const v = a.text; + + if (v === "-" && group[i + 1].text === "-") { + if (i + 1 < n && group[i + 2].text === "-") { + group.splice(i, 3, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 2]), + text: "---" + }); + n -= 2; + } else { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: "--" + }); + n -= 1; + } + } + + if ((v === "'" || v === "`") && group[i + 1].text === v) { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: v + v + }); + n -= 1; + } + } + } + /** + * Parse a single symbol out of the string. Here, we handle single character + * symbols and special functions like \verb. + */ + + + parseSymbol() { + const nucleus = this.fetch(); + let text = nucleus.text; + + if (/^\\verb[^a-zA-Z]/.test(text)) { + this.consume(); + let arg = text.slice(5); + const star = arg.charAt(0) === "*"; + + if (star) { + arg = arg.slice(1); + } // Lexer's tokenRegex is constructed to always have matching + // first/last characters. + + + if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) { + throw new ParseError(`\\verb assertion failed -- + please report what input caused this bug`); + } + + arg = arg.slice(1, -1); // remove first and last char + + return { + type: "verb", + mode: "text", + body: arg, + star + }; + } // At this point, we should have a symbol, possibly with accents. + // First expand any accented base symbol according to unicodeSymbols. + + + if (unicodeSymbols.hasOwnProperty(text[0]) && !symbols[this.mode][text[0]]) { + // This behavior is not strict (XeTeX-compatible) in math mode. + if (this.settings.strict && this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", `Accented Unicode text character "${text[0]}" used in ` + `math mode`, nucleus); + } + + text = unicodeSymbols[text[0]] + text.substr(1); + } // Strip off any combining characters + + + const match = combiningDiacriticalMarksEndRegex.exec(text); + + if (match) { + text = text.substring(0, match.index); + + if (text === 'i') { + text = '\u0131'; // dotless i, in math and text mode + } else if (text === 'j') { + text = '\u0237'; // dotless j, in math and text mode + } + } // Recognize base symbol + + + let symbol; + + if (symbols[this.mode][text]) { + if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) { + this.settings.reportNonstrict("unicodeTextInMathMode", `Latin-1/Unicode text character "${text[0]}" used in ` + `math mode`, nucleus); + } + + const group = symbols[this.mode][text].group; + const loc = SourceLocation.range(nucleus); + let s; + + if (ATOMS.hasOwnProperty(group)) { + // $FlowFixMe + const family = group; + s = { + type: "atom", + mode: this.mode, + family, + loc, + text + }; + } else { + // $FlowFixMe + s = { + type: group, + mode: this.mode, + loc, + text + }; + } + + symbol = s; + } else if (text.charCodeAt(0) >= 0x80) { + // no symbol for e.g. ^ + if (this.settings.strict) { + if (!supportedCodepoint(text.charCodeAt(0))) { + this.settings.reportNonstrict("unknownSymbol", `Unrecognized Unicode character "${text[0]}"` + ` (${text.charCodeAt(0)})`, nucleus); + } else if (this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", `Unicode text character "${text[0]}" used in math mode`, nucleus); + } + } // All nonmathematical Unicode characters are rendered as if they + // are in text mode (wrapped in \text) because that's what it + // takes to render them in LaTeX. Setting `mode: this.mode` is + // another natural choice (the user requested math mode), but + // this makes it more difficult for getCharacterMetrics() to + // distinguish Unicode characters without metrics and those for + // which we want to simulate the letter M. + + + symbol = { + type: "textord", + mode: "text", + loc: SourceLocation.range(nucleus), + text + }; + } else { + return null; // EOF, ^, _, {, }, etc. + } + + this.consume(); // Transform combining characters into accents + + if (match) { + for (let i = 0; i < match[0].length; i++) { + const accent = match[0][i]; + + if (!unicodeAccents[accent]) { + throw new ParseError(`Unknown accent ' ${accent}'`, nucleus); + } + + const command = unicodeAccents[accent][this.mode]; + + if (!command) { + throw new ParseError(`Accent ${accent} unsupported in ${this.mode} mode`, nucleus); + } + + symbol = { + type: "accent", + mode: this.mode, + loc: SourceLocation.range(nucleus), + label: command, + isStretchy: false, + isShifty: true, + base: symbol + }; + } + } + + return symbol; + } + +} +Parser.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"]; +Parser.endOfGroup = { + "[": "]", + "{": "}", + "\\begingroup": "\\endgroup" + /** + * Parses an "expression", which is a list of atoms. + * + * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This + * happens when functions have higher precendence han infix + * nodes in implicit parses. + * + * `breakOnTokenText`: The text of the token that the expression should end + * with, or `null` if something else should end the + * expression. + */ + +}; +Parser.SUPSUB_GREEDINESS = 1; + +/** + * Provides a single function for parsing an expression using a Parser + * TODO(emily): Remove this + */ + +/** + * Parses an expression using a Parser, then returns the parsed result. + */ +const parseTree = function parseTree(toParse, settings) { + if (!(typeof toParse === 'string' || toParse instanceof String)) { + throw new TypeError('KaTeX can only parse string typed expression'); + } + + const parser = new Parser(toParse, settings); // Blank out any \df@tag to avoid spurious "Duplicate \tag" errors + + delete parser.gullet.macros.current["\\df@tag"]; + let tree = parser.parse(); // If the input used \tag, it will set the \df@tag macro to the tag. + // In this case, we separately parse the tag and wrap the tree. + + if (parser.gullet.macros.get("\\df@tag")) { + if (!settings.displayMode) { + throw new ParseError("\\tag works only in display equations"); + } + + parser.gullet.feed("\\df@tag"); + tree = [{ + type: "tag", + mode: "text", + body: tree, + tag: parser.parse() + }]; + } + + return tree; +}; + +/* eslint no-console:0 */ + +/** + * Parse and build an expression, and place that expression in the DOM node + * given. + */ +let render = function render(expression, baseNode, options) { + baseNode.textContent = ""; + const node = renderToDomTree(expression, options).toNode(); + baseNode.appendChild(node); +}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and +// disable rendering. + + +if (typeof document !== "undefined") { + if (document.compatMode !== "CSS1Compat") { + typeof console !== "undefined" && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your " + "website has a suitable doctype."); + + render = function render() { + throw new ParseError("KaTeX doesn't work in quirks mode."); + }; + } +} +/** + * Parse and build an expression, and return the markup for that. + */ + + +const renderToString = function renderToString(expression, options) { + const markup = renderToDomTree(expression, options).toMarkup(); + return markup; +}; +/** + * Parse an expression and return the parse tree. + */ + + +const generateParseTree = function generateParseTree(expression, options) { + const settings = new Settings(options); + return parseTree(expression, settings); +}; +/** + * If the given error is a KaTeX ParseError and options.throwOnError is false, + * renders the invalid LaTeX as a span with hover title giving the KaTeX + * error message. Otherwise, simply throws the error. + */ + + +const renderError = function renderError(error, expression, options) { + if (options.throwOnError || !(error instanceof ParseError)) { + throw error; + } + + const node = buildCommon.makeSpan(["katex-error"], [new SymbolNode(expression)]); + node.setAttribute("title", error.toString()); + node.setAttribute("style", `color:${options.errorColor}`); + return node; +}; +/** + * Generates and returns the katex build tree. This is used for advanced + * use cases (like rendering to custom output). + */ + + +const renderToDomTree = function renderToDomTree(expression, options) { + const settings = new Settings(options); + + try { + const tree = parseTree(expression, settings); + return buildTree(tree, expression, settings); + } catch (error) { + return renderError(error, expression, settings); + } +}; +/** + * Generates and returns the katex build tree, with just HTML (no MathML). + * This is used for advanced use cases (like rendering to custom output). + */ + + +const renderToHTMLTree = function renderToHTMLTree(expression, options) { + const settings = new Settings(options); + + try { + const tree = parseTree(expression, settings); + return buildHTMLTree(tree, expression, settings); + } catch (error) { + return renderError(error, expression, settings); + } +}; + +var katex = { + /** + * Current KaTeX version + */ + version: "0.12.0", + + /** + * Renders the given LaTeX into an HTML+MathML combination, and adds + * it as a child to the specified DOM node. + */ + render, + + /** + * Renders the given LaTeX into an HTML+MathML combination string, + * for sending to the client. + */ + renderToString, + + /** + * KaTeX error, usually during parsing. + */ + ParseError, + + /** + * Parses the given LaTeX into KaTeX's internal parse tree structure, + * without rendering to HTML or MathML. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __parse: generateParseTree, + + /** + * Renders the given LaTeX into an HTML+MathML internal DOM tree + * representation, without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToDomTree: renderToDomTree, + + /** + * Renders the given LaTeX into an HTML internal DOM tree representation, + * without MathML and without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToHTMLTree: renderToHTMLTree, + + /** + * extends internal font metrics object with a new object + * each key in the new object represents a font name + */ + __setFontMetrics: setFontMetrics, + + /** + * adds a new symbol to builtin symbols table + */ + __defineSymbol: defineSymbol, + + /** + * adds a new macro to builtin macro list + */ + __defineMacro: defineMacro, + + /** + * Expose the dom tree node types, which can be useful for type checking nodes. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __domTree: { + Span, + Anchor, + SymbolNode, + SvgNode, + PathNode, + LineNode + } +}; + +export default katex; diff --git a/source/lib/live2d@1.0.1/flat-ui-icons-regular.eot b/source/lib/live2d@1.0.1/flat-ui-icons-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..536680e9f1070d3feb03038448f4ef4764a6784a GIT binary patch literal 25912 zcmchA3v?UTdFI?1%nW8Q7+^4XgLsnwA0h}6Bq3201xgkrTcTviiXW0CQ?@1Bie$^N zo!D9@Mw*us+na3crir`T)i&8AP3&|VC)tgY)NtF_Io6@+o2hR+-A5fy1*0ii8OLVeFQV-w~_r4J$J>-a3)a`MQj^jp6DUs0(K z_q%R8a?dGT!??d4SO0A%9ys>!C%>{A_sGBT>$e|0ax43z&t5GEhu5Ke`gUZf-|`i3 zkJS?TZ$EkO{qOr=@PoL27;T<7an~(JUL5=0qj(hc|Lv1U?ms2m#j?2n8{8M}JaY2r z#t-TlK{(zct5Mk zZIrheewPKYafoFHm-o9UOAp`p)o47otD!=Bb0ytf+H1>R0P3h35}`j`|P>4^BkLRJM-*$_S}1% z-*KL6v){eAu3XhvQ)BE%o6S@4bI!boB%6DWGw*Cd-NJ=)(mCmjFo}m0t*9xEuu@H& zvWocL#3tv&M$y9eMmCWXV^$I0S%z9=>5S9Stz@tjOj^3rp>MintzIVMMLcuqbtF;-(Gp6#aR*k(2-@@$@D6LHjL6Vu4%Y3bv# zk15itKAB0%&v^PqpJ4>0SEZm~_+I7d8zqJL3fx@4=90P06Drz-;_Qeo|gkb z!}oL9Fbw(UXlKX=Wc>WxC(Fq7`Ea{Z^mAVMpj+nEI>_OT30Fx!m709rYoelJjx~mf ziKVJiG8yJ9C6t_qc}O&uIo8C7YDm8-2TWaY2Ka#fK#~>NC;ELVJ0$uD$tBbebDFKpMpW0uq??1KKyGota zrBv(uORLMN9-+so=gz&6CtGXB_WDC9t{+M!ht?Op>l+ywdueqGYKdh6+7}I3#rJNV)$5)V7O6*?oJA{Nq@}lL?QMV!#{r2z zXL4#5K(d*kczni186W`xj*AdcMFmajJ$Pj>i_V8dRrRwC_*TWX3r6b+o_*w`NgcggD71 z&}GvS_EwNDs&pBE``RN{U;W6}jvwz{=k-W37)(ZV?>fKwhBBqj>iX1fSu&H6Kp>Jd z*#2SONV`)lVKW| zH&EvDhL4GKr{ui2X3UTsuMOi@*dNJRDZC;CV*UmlEwbD4BNO{C(!f~Y8dAAm;|MbnBXMk;PA z{!l=dMA@gxW;mkDx~BO+@0k0e8G$xvp&U)bd>RO(YDSIL+C9Ext;GF-a6pk{zfTH= zO=(;LF(qJSs^%9#A|+AuYli9zM-u_f3Ym%z7y`=a{)CdbP&gU(w~VN%iBib66fKd? zMGKbhV?EQIB|d` zE)cKCj52oN#h-=`BI0yfdT3#Oe z3wDm!hp3?9`4;Lc9{w|wP%h8w(rAH!#k3(~?G$cyv2Prdsyr->V@)8(f|u53xZpDG zk~f#D%4$xc{Z$j)v4tRoU6jFIi6leH?EZuKd@&?hxp*)b&skEqn9JYzmN_LD3Ts{_ zyJ@U2H4u#sOcln4wvMGzV_S!As)te$O^c*L^<<^bH2W$^sjcbS*1cB*<5}y+)b@&f z+hkqwQNQ9}SlM`R_x8+|UHeCC`*&^0Y%lITe8-0McO2eZ{P6ZrxjK?atgDvI9nr>2 zt5j-jXhbnx4h*C|kZg|$zoEIaSL{?s-gwOog?x!-2Huyz%tEDn;o!BivSC_!FSG5} z{a5V0!i?v`KMv>PCepIz_fZ4!Wvazt(bX?hXmA2ktIcZBsxmcEv=YsP)cTWmojt=k zXPobR=QGZRGiM(Z+kf!RvuB*v8Rt*``%~=qK6Um%;#)!i`*;(F=c~{QNkZ=Kkt75y z1(FaHmN%Fwojc!B1DY&r0afaFsW+M@-6U&4^+DC34h$rMn(TDmSe`)In;>wQB;33T zCW;4zU+&Imt!&3T-D^6jHC8_1e6dJgH4jUHdFY zxLmHtb9)2ei3@Kc4_l#;>?U=9Bdho03&M-SIqV7%Ne*Y6a(3bDa+&|%YI3^0c1V}a z1Tpt^>K7zf>lYOEir!eQ<#w+@FLAk+m&pEi}P6P(!4iQ?{aM~eZr+V z03D#Qr@MHt<5H%zC_BV;nl*|W$Ky9v^NiE>c9Qi{V(W6b%bm;RUcRoxm-lk@*XAw1 z;hM1R@rAhzKD}A0eR;}tIb^inT&8qxS@70d>ZRUH-uZUR>+nq`Tr|13lQ%;FC4oTu zU#~yHi8cJ~|H-~{7T)DpVBy^qSopstpCA6=fC$`o;$?3d)&PB9%RM;YH@2>M& z3M+dyN^il+YcpU3FLLXAdW>c~mX-uB27tSA?!+%^qM z`utmi$-K3E+{(jN2ATaN7u=uZ;yo4o$=X3)GToNgTJFG8(P2+htCl1jkK_}knaD?$ zPf)6ND?UNDZ8A}r39_XnOwVMs`hL01I!>$8q8`|=(*hcC`M={6;JX*M)I6`1# zxKLU*?9bMRtFc&hxSnN;xQyj4D(EB!C;R#)2a}miH!m#QyeYHx9y~kUSXXPL6suUz ziwhzf}uEl^UpzKe9l3y$p00g98zNz<7NYHsx7qygtmAsb}IxOL?`qpFd)}-Y3Q| zw#JlA5XlEK&Q)nx7^rWlpv6)d({F{tstm1Os_olUE^pdbqifqs(DjYha|)p}VPrZ) zSJ|Nm#x-rx6e`W>guBKFB-@%7%+c?_k4QP@;Mr#m(v?KNUA#x zZ%AyZ-Da&``RYc{p}z%t&U)B$Zh&)}>};?F)}u;vyo&@?wKB^pQ{+W5$(AN1%J{?x z*jI=IHf4m7Nw!QzAaW&D<(@gnqbd!l6i6g&g^8hclbedg*{P8*42p`KNCX0=0?!ct ziB4_4vUf@vx?a{Q@ zC1g;QzFHA>(pn#{&H`aYQk7UD9pDz-{@GeVT_E4#Y8tel7HYHo)F6;f#FT4ulM91P z7+jdlQR)IuVS!-nVbYf&gBEZDzhJc{shD9?sflU@1b`L^9^5Zi23WN}Hc}tYl&;@7 z$=Kwc>j#qKwRI6*z`nx1#Gb1z9a|c-a}k{ljSVq2RL55!l8X!?zv^sd-w?1rXRtp@ z*q^A-z!O(vA2}~PrxZ43ybc?=Yg2-ktT;20N{!4Ez3Y|jrRLPthXzCWWZ23S!_^xX z8_lKmmF&NyM`uf=+0nFj6~h~DdEd?*zxJ{BjD`pD(P+M6jlA>mGkbQv@0Ja#cwt-^ z5M~kR0GN@m2-RjKCnj=YG@-KUW|*`HR8&~ycwzT`K$2kwj$@eyuwG4RPD%`@1Jd(; z+fD|8slK#1&+;SVRs>7ZTK?VNW$|!dE@K9hc0@^ts&l0tiN{T&FOxOd^Pvpt8;OXe zoc}3<)%@Lzg_GsT`L9OGNdhc0U5v6HJmfqlz7Wi$GJ#+`7ST2{(I2%UW20HNdHGrP ze99k=#Y0B6FJ~r2%bDYy22#EX%k6$jd?aA;KHFP?^>K$mrAW8aC5JcaL^yr6-5vF4@Q&G z==N)&t+(hH>qDJ)&rdz@dmsL# zPJ46fq37St#&&Ng6gKQ0tL<4|D6HR8^CVRdCZxih@4J)!-izn7*9|w@)uPY0T0ZzNp3lGKMW+)d%ND%D84Q7#Gzt4&y zTr?s)u8h{|_*fSrmb(x!InD$tne>152jtQbeX{hY3T(A@!WQ2hO~qoV=<-9jVX{s- zyf=oY5fmj1a6}=0GY48kfzVo!N4r_&zU2fXgSq7sLaCDN{3V1p>skxqp7WP>DHW1b zO=j$K!9uBMu&0=!DN@ERrcAcvaY5&dnJU`sdwz1TiR?Z&_H^eFQ87c7-zgHDt=L)$ z!W8VLkHLFco@zj%ZGg{t{`D1~`z3(bSPPjFxuD3|)?6=*&xsRFlCk0w@rE03L7q+S zw(6-@mg~Th+8xOF9Zm@@Ru7h2t9ca>fJ@}%Q+`eJe^Z2;Qj*BE3Fjqk26luzAJRAR z<=0}dn07b-LD@)Hft$2gJmzn;Ni%4#d7eOE<~n26K6&;1@|FI0BCh=*yn#K(CHCL< zhZ?dmAWeG*!gIR*W7c{H<QrCBfIxJa@#Dfd-~?4N^%gmF>19gxonyJ-KrM zPQedFJo-L>w@076c_dtQ0s>W6yP^sZh9{>15ujPzv z&krt4<#JO*eckJ?gv*toSZt`$AD%zCXB{~nxCcUli(B?n(2y#pH{HB_$IY{8Byo>S z(7#^Ab$d?Ci~F@hh^X(PB^!ES!g=X^$pL&P1MED-L z`{BFq{=nTf(EP2mE5B`mpEEoc1`>S`WvWo%Dsrtm^1n3KdP>APsr4%iX1ISh>R8lSXPQ3-dO#OJ^)ra4@ z;qa$UZ{L3UQ-?Ra_3+hsXOY&$U8|K9!ajL6UpGE%PB5$fjZX#=sQiAp{)x z#0=Abc-!TmrgHt4e^LGIKv|7tP{l`8B}w#YI@EBVq>8>!Buq~Y2mjTd>bx~m>j%lO z`)iq0y#(SAE7eojAVoKn%@E8?dA$-02IU%pN`1azL~2M?DG{X?TmAp9wR~^CL{n?jdT^Cjm&B$ ztfD0JkZO6!)3?MkD+uPL+N~CXLcdB_walB4k|lPiiHB+4^@2ck@x$?q%Q6MT4+zbv zMhu4C7!1TP@U4ize3V=~=V$;amo$H}87fgFW)en0z~zxxn;Ean+q17dOR%!h)S3tGN@rSfa&qjpk9>T5d@?DuyzO&M zcBICva1q$AVZ-itRlMsZ8E_S}2kV3Q6WiV%7d(xq;N>i1BU*IhaPXiM>!sG_aoFhD z8b}}Su0%KDi3=CwD?S6vzZ?Dp3-dU<9@n3`Jsd6;3#NJd-8T>(V05dw*%jAc6ABfJ zMKko^hfYcYO35d*+^#oLK1zvPC805+h|X24@Psj;iSdxy+K{jVke5NMyUHyLQ~ZR% zoU4YH?P8)@l!}t{(6TT#m4Nohq*P=40t=^-eki&kB9KLyM}Eq(?mJ$aN)W}7(v5M^ zxxhZ{e430+h*73N;ER-6Pwn;n4^n%PDN+fPs@!cudiFU6IUPwX$V{ zDOB;9TF*-L@%rR?Rt7609sySakc_tgd)f%=RxcLPb=HuGW36YC^>MVCgusj=BrWF? zkz&#`lf{U%n^G7LbTgu#m;opzR}o6ak%Arb2`}uo1*${+ zod2R-pdJf0yUppq85iiq$-+L+4VS}(w}aZ}oYa!Z1Ul5v*(bdSM799~Shat{0^rFe zG;+mnzJVlb^BioZ8}x`Ac@>c?3glusp#~%Rk{$_Cc#)SJwhD>hd0;WsIR80vLiq%- zb;8QWg9rVkQaW8K`46t7f^l>-??k=mGxiUFua)yFAlWvQc`$raQn4e26Q8|*hhglv z|Fb7nQmnHkgBS6BJlO?dyG#x+*_PxCxQO7qNB^nw&cFU^_MV^W?47LB#+jb+lWdmF zo@C<=)B>_ibakdEj-5>qoDX=?tS64zYXOO5TZsq|0a;AKB6I`HyVuXVD?)1{!Ina@ zXx5QUvS3q<#BM|mt zbP=4(IR_8%zKBs!R4<8j?(v&$tS?Da6zu!d@LTUZKH{{7@iTH9$-{PkxnPbbHqLEK zBom1w>-3V}QzMZGf|gbFH|TgwjUT1?Y#KkQ`77pA=co_q1bsU#-WMegDMnbYQBS-d z*6Ag`&%2^7KS%aM^oLGA&%2^N&!LOA4ik>=hfetvbjoXmr)d==QZ7`4t*ZbVS7IcC zAI->>SrMizL2@Lf0JjPWqX038pm7!P%j86HyP!qto>4+i5NL_@R2y8b1T;dLtTeH@ zJaC>K&@ABtcqJiOdMa9PtnbTBPu1dVX4{+;%O!N+XCfC%NCp&_BQRFBsE_XdxB| z#0t?33!8kgvB_pOyS_0NOF&A+<9*^N--2XfX4A$5+q7dAb_zu?EQ4>F9xfD15ttwp zX_4>B-~LOQ9UqD2m}zOq@Vl~%*7%9^4%Uf ziXZleU_bsRSy5!??>+A9UD;o;B~@2_#Fbs^pAWZe$!|w&|9e+^{ip@upifu={G9>( zC516zK{x~$ym)MG1Tr!`$pwJNMNE*8wOOtqmWyp(EotZSTRj)N_{$#QaQ<&2J3Ds_T(TtEN$^dLEUJc`skc(RIct?0Pao?2g;wIKs=@l~~fJyOx;7y^uGBnV$fXDcTpPNr6CW1m0&`3Ru^*lnT^maYpI66F3d zQn|?R`3sCC%43PtDBL}pS!H%hUvjJ*hZ}17c{35gu}CeFFpX3gHk3d(WfWEgKp-As z`55sUIszK+uO*X;5orx>+?r0QLA%Y`D~i82S?uqMyptrYLFRkLMaUJwoNN?X2H&}b z-zhG(gQb!WLOOH4W0%w6aJpe&LMRqePs6h8;=>a6d(8?hz#CYP3S(4Nslbm6e`w4Uqp?0BO%Pk?>_)s9 zpQZyG($pM3QU)r=tRRzKO$<&IMy@|_uvR;G;QEom)L;TThOO{V#LT^zX)^Tm9?D)0?TMiK?zEKJwrhQtI- zp0=*L4w$bA_o6%PP2}P531&7|u&it%ESrU5za1(M4#$VCT3^C$%s+V7k*caIqM0hk zjbt)uq}FZfSE1soIAMiTRs)l*{>JjT$LDrJqf$cnK;>wsvsg>)tsba z%|<*PPcSmZ4>WhXiVbuVuF3YIiX_!G8Hon&GEyATGuhoY-oAd~rt5a)i_J>RJHeV7 z+cG3Bak$Ae*Kf$?XJ?uj5yCV8-lvM$*}3^raemWGTGkX%8in)6FDv=23)}nq7q-sl z6*xL&5hb!%+OcyF0Aknn((>ub-fOR~ja<8bZ`B6|qeARa`mb7~;>D}_Rn0O~39!bN zN^{erR(y1H9+Nim0%P1}rpb!npl-Z#r)fNJpI=_;WlEpvAdfv%uN-lDr}kNt&U zO2-UW(3}*;m3^i-2L9JYbn2B_t^NZV@INldb?b`?DGRInMH3g6dWWy!5A1bM2{e$- zay4q#Lti)&h(sfSV7Y%Nw(0gg>p;Maa1hEVV^_WVsav#YB&tQq)xr42C&%kx3{}B6d0$$`*>zU?17_BX-yi<63}x=tOH3 zMZxX|Raw)}Aw9@_cnHT{gV9(>Q-UfP8byU=Fe2Tj1guCfkV>QiLEFZmNeD)O4N}g1 zTENfl0ZFy>o1bp)B=k0{fIPbUj@kHNwck?1k(ClXY^ZL@K*@Z}ur0t2d{z{QESr|C z8S$8{V`MmA17b?x=h9?Y0de96unOpe8BkZ%kcp)uX@7 z;yJ`fLg`eBK%D4y*LVL*xbdhIoyrFEQJjHiha!R`UMG;f9xep-kDfGnT4{LhuMC%JKegdP}a<5 zv!;3D&AS89Y&bjKA2XtTmNh&!o{X1M=EzmI&Wv0+l^xuAecj5Y;+m}BJp*FE2#B%@ z3^4{9bH(*{ADXG}J3e#OyKkC?!`m3B*K{+R$rwh+FM0G8YpPs$NqR+k9A~9CFYKyO zd17t&BOgO^I!B@l1R6qUZr2n`Fw7vLk+=eJ$YCm_uPmdZ*ear%s&QZ=0-{LPsmA9> z$V6rSHU?p0|K<_hC#n`Y^y|K;PY3AXd~zmKmuK$SJp10a-(aa?AZhD~OkYT|EDMwr zz~m3&R2g(n0$?+r&xe53lFDEQ4`tFBQYNfe(JZM z+b2D4H+S4Hm2b7?`uxyh{Wga=J&{TqGw--#k7erhYv+=a6Jxe+1&P6sK?fgzCLvR6vY z!LXzaG+X7uhDtEzKJ)%;B7GHzd9eV!f@l_6unaHo30IoS#-EQ-uGp0 z7-j5vIaR4;w0JxfD9_E*B1(32eF3jnL4Od!A1lr*j@0&SEQ$GYExHw5(Jj5i;`mjGCNiZmy~b)KD{HoBKt((}CIF5%gFxW9n8Y zq>2XKt>C;utl@N&lj~NzTqxS$bzErfgOj_!kw{Q`bTldq3!4!Ie;3Y9{Mrgl?a@uh zxv?(OrlqGac;eBt5#mGxgc5fnL@6Y?ryb*2w38qYU3HSk2+uA<(Bloe-K>gF>qeZh z89N^{;v>U@QBc6XP>Rc4&I|opH*d&9M<<$DyHd^>S~MCro-y(RBgxtg*Ib#c7=zPW zsxQmLQ1W{Z-O(gD&{x?yQ@8C>Ca#hg%pNPXW}8Xb!VzG5-Na1Eh=HS<`BJ}qPPOc~ zq1&;TVO0hPZ8<$OUApvDCC;nKshPPFXPjVYEh9fz&pu8HNph&1HHNNet_y=aRE^5? z!br%{rI9^br)}p+=wv?VmYn7oxpKv}`wLkkJv+ax-?@iyOHbussw|gsMtXU;rp_}Y5vw7rv>rhL*OyMKhNXr2M<%lI;h_qre`+{sg$IUe zX*1iGHjG#_43Q86yO#tjE<730a0qM&V$Qe4Pq$jms~oG$Oe$$ia?XUOiES;C3G4A> z+6<+W;JDyeVBw*#evG6WestTgO'CqDL7BNj0sF!{u%;cyT|Bbv63sdgf5TG^zn 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 Cenu7m literal 0 HcmV?d00001 diff --git a/source/lib/live2d@1.0.1/flat-ui-icons-regular.svg b/source/lib/live2d@1.0.1/flat-ui-icons-regular.svg new file mode 100644 index 0000000..cb2727c --- /dev/null +++ b/source/lib/live2d@1.0.1/flat-ui-icons-regular.svg @@ -0,0 +1,126 @@ + + + + + +{ + "fontFamily": "flat-ui-icons", + "majorVersion": 1, + "minorVersion": 1, + "fontURL": "http://designmodo.com/flat", + "designer": "Sergey Shmidt", + "designerURL": "http://designmodo.com", + "license": "Attribution-NonCommercial-NoDerivs 3.0 Unported", + "licenseURL": "http://creativecommons.org/licenses/by-nc-nd/3.0/", + "version": "Version 1.1", + "fontId": "flat-ui-icons", + "psName": "flat-ui-icons", + "subFamily": "Regular", + "fullName": "flat-ui-icons", + "description": "Generated by IcoMoon" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/lib/live2d@1.0.1/flat-ui-icons-regular.ttf b/source/lib/live2d@1.0.1/flat-ui-icons-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f4933ff3590f3c3644d32fe50f5d7148c2ede9b6 GIT binary patch literal 25708 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 SyUl3&ERd{-2ABQA&;JFps6&td literal 0 HcmV?d00001 diff --git a/source/lib/live2d@1.0.1/live2d.min.js b/source/lib/live2d@1.0.1/live2d.min.js new file mode 100644 index 0000000..f8ab7e6 --- /dev/null +++ b/source/lib/live2d@1.0.1/live2d.min.js @@ -0,0 +1 @@ +!function(i){function r(t){var e;return(o[t]||(e=o[t]={i:t,l:!1,exports:{}},i[t].call(e.exports,e,e.exports,r),e.l=!0,e)).exports}var o={};r.m=i,r.c=o,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=4)}([function(t,e,i){"use strict";function r(){this.live2DModel=null,this.modelMatrix=null,this.eyeBlink=null,this.physics=null,this.pose=null,this.debugMode=!1,this.initialized=!1,this.updating=!1,this.alpha=1,this.accAlpha=0,this.lipSync=!1,this.lipSyncValue=0,this.accelX=0,this.accelY=0,this.accelZ=0,this.dragX=0,this.dragY=0,this.startTimeMSec=null,this.mainMotionManager=new _,this.expressionManager=new _,this.motions={},this.expressions={},this.isTexLoaded=!1}function l(){AMotion.prototype.constructor.call(this),this.paramList=new Array}function $(){this.id="",this.type=-1,this.value=null}function o(){this.nextBlinkTime=null,this.stateStartTime=null,this.blinkIntervalMsec=null,this.eyeState=p.STATE_FIRST,this.blinkIntervalMsec=4e3,this.closingMotionMsec=100,this.closedMotionMsec=50,this.openingMotionMsec=150,this.closeIfZero=!0,this.eyeID_L="PARAM_EYE_L_OPEN",this.eyeID_R="PARAM_EYE_R_OPEN"}function n(){this.tr=new Float32Array(16),this.identity()}function s(t,e){n.prototype.constructor.call(this),this.width=t,this.height=e}function _(){MotionQueueManager.prototype.constructor.call(this),this.currentPriority=null,this.reservePriority=null,this.super=MotionQueueManager.prototype}function P(){this.physicsList=new Array,this.startTimeMSec=UtSystem.getUserTimeMSec()}function f(){this.lastTime=0,this.lastModel=null,this.partsGroups=new Array}function d(t){this.paramIndex=-1,this.partsIndex=-1,this.link=null,this.id=t}function a(){this.EPSILON=.01,this.faceTargetX=0,this.faceTargetY=0,this.faceX=0,this.faceY=0,this.faceVX=0,this.faceVY=0,this.lastTimeSec=0}function h(){n.prototype.constructor.call(this),this.screenLeft=null,this.screenRight=null,this.screenTop=null,this.screenBottom=null,this.maxLeft=null,this.maxRight=null,this.maxTop=null,this.maxBottom=null,this.max=Number.MAX_VALUE,this.min=0}function L(){}var u=0,p=(r.prototype.getModelMatrix=function(){return this.modelMatrix},r.prototype.setAlpha=function(t){this.alpha=t=(t=.999=t[0]&&i<=e[0]&&r<=t[1]&&r>=e[1]},l.prototype=new AMotion,l.EXPRESSION_DEFAULT="DEFAULT",l.TYPE_SET=0,l.TYPE_ADD=1,l.TYPE_MULT=2,l.loadJson=function(t){var e=new l,t=L.getPlatformManager().jsonParseFromBytes(t);if(e.setFadeIn(0=t||this.currentPriority>=t||(this.reservePriority=t,0))},_.prototype.setReservePriority=function(t){this.reservePriority=t},_.prototype.updateParam=function(t){t=MotionQueueManager.prototype.updateParam.call(this,t);return this.isFinished()&&(this.currentPriority=0),t},_.prototype.startMotionPrio=function(t,e){return e==this.reservePriority&&(this.reservePriority=0),this.currentPriority=e,this.startMotion(t,!1)},P.load=function(t){for(var e=new P,i=L.getPlatformManager().jsonParseFromBytes(t).physics_hair,r=i.length,o=0;othis.screenLeft&&(t=this.screenLeft-this.tr[0]*this.maxLeft-this.tr[12]),this.tr[0]*this.maxRight+(this.tr[12]+t)this.screenBottom&&(e=this.screenBottom-this.tr[5]*this.maxBottom-this.tr[13]),n.mul([1,0,0,0,0,1,0,0,0,0,1,0,t,e,0,1],this.tr,this.tr)},h.prototype.adjustScale=function(t,e,i){var r=i*this.tr[0],r=(rthis.max&&0i.left&&e.y>i.top?e:(o=r(_=t.x-e.x,s=t.y-e.y),e.xot.frameBuffers.length&&(this.curFrameNo=this.getMaskRenderTexture()),this.tmpModelToViewMatrix=new i,this.tmpMatrix2=new i,this.tmpMatrixForMask=new i,this.tmpMatrixForDraw=new i,this.CHANNEL_COLORS=new Array;t=new j;(t=new j).r=0,t.g=0,t.b=0,t.a=1,this.CHANNEL_COLORS.push(t),(t=new j).r=1,t.g=0,t.b=0,t.a=0,this.CHANNEL_COLORS.push(t),(t=new j).r=0,t.g=1,t.b=0,t.a=0,this.CHANNEL_COLORS.push(t),(t=new j).r=0,t.g=0,t.b=1,t.a=0,this.CHANNEL_COLORS.push(t);for(var e=0;e=this._$5S._$aS.length)&&null!=(t=this._$5S._$aS[t])&&t.getType()==y._$wb&&t instanceof M?t.getIndexArray():null},L.CHANNEL_COUNT=4,L.RENDER_TEXTURE_USE_MIPMAP=!1,L.NOT_USED_FRAME=-100,L.prototype._$L7=function(){if(this.tmpModelToViewMatrix&&(this.tmpModelToViewMatrix=null),this.tmpMatrix2&&(this.tmpMatrix2=null),this.tmpMatrixForMask&&(this.tmpMatrixForMask=null),this.tmpMatrixForDraw&&(this.tmpMatrixForDraw=null),this.tmpBoundsOnModel&&(this.tmpBoundsOnModel=null),this.CHANNEL_COLORS){for(var t=this.CHANNEL_COLORS.length-1;0<=t;--t)this.CHANNEL_COLORS.splice(t,1);this.CHANNEL_COLORS=[]}this.releaseShader()},L.prototype.releaseShader=function(){for(var t=ot.frameBuffers.length,e=0;e=u.LIVE2D_FORMAT_VERSION_V2_10_SDK2&&(this.reflectX=t._$po(),this.reflectY=t._$po())},X.prototype._$e=function(){},St._$ni=function(t,e,i,r,o,n,s,_,a){var h,l=s*n-_*o;return 0==l?null:(l=((t-i)*n-(e-r)*o)/l,h=0!=o?(t-i-l*s)/o:(e-r-l*_)/n,isNaN(h)&&(h=(t-i-l*s)/o,isNaN(h)&&(h=(e-r-l*_)/n),isNaN(h))&&(console.log("a is NaN @UtVector#_$ni() "),console.log("v1x : "+o),console.log("v1x != 0 ? "+(0!=o))),null==a?new Array(h,l):(a[0]=h,a[1]=l,a))},H.prototype._$8P=function(){return this.x+.5*this.width},H.prototype._$6P=function(){return this.y+.5*this.height},H.prototype._$EL=function(){return this.x+this.width},H.prototype._$5T=function(){return this.y+this.height},H.prototype._$jL=function(t,e,i,r){this.x=t,this.y=e,this.width=i,this.height=r},H.prototype._$jL=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},H.prototype.contains=function(t,e){return this.x<=this.x&&this.y<=this.y&&this.x<=this.x+this.width&&this.y<=this.y+this.height},H.prototype.expand=function(t,e){this.x-=t,this.y-=e,this.width+=2*t,this.height+=2*e},W._$Z2=function(t,e,i,r){var o,n,s,_,a,h,C,l,N,$,B,u,U,p,c,f,d,g,y,m,T,S,P,L,M,E,v,A,x,I=e._$Q2(t,i),w=t._$vs(),O=t._$Tr();if(e._$zr(w,O,I),I<=0)return r[w[0]];if(1==I)return(M=r[w[0]])+((E=r[w[1]])-M)*(p=O[0])|0;if(2==I)return M=r[w[0]],E=r[w[1]],v=r[w[2]],A=r[w[3]],(x=M+(E-M)*(p=O[0])|0)+((v+(A-v)*p|0)-x)*(c=O[1])|0;if(3==I)return d=r[w[0]],g=r[w[1]],y=r[w[2]],m=r[w[3]],T=r[w[4]],S=r[w[5]],P=r[w[6]],L=r[w[7]],(x=(M=d+(g-d)*(p=O[0])|0)+((E=y+(m-y)*p|0)-M)*(c=O[1])|0)+(((v=T+(S-T)*p|0)+((A=P+(L-P)*p|0)-v)*c|0)-x)*(f=O[2])|0;if(4==I)return i=r[w[0]],t=r[w[1]],e=r[w[2]],o=r[w[3]],n=r[w[4]],s=r[w[5]],_=r[w[6]],a=r[w[7]],h=r[w[8]],C=r[w[9]],l=r[w[10]],N=r[w[11]],$=r[w[12]],B=r[w[13]],u=r[w[14]],U=r[w[15]],(x=(M=(d=i+(t-i)*(p=O[0])|0)+((g=e+(o-e)*p|0)-d)*(c=O[1])|0)+((E=(y=n+(s-n)*p|0)+((m=_+(a-_)*p|0)-y)*c|0)-M)*(f=O[2])|0)+(((v=(T=h+(C-h)*p|0)+((S=l+(N-l)*p|0)-T)*c|0)+((A=(P=$+(B-$)*p|0)+((L=u+(U-u)*p|0)-P)*c|0)-v)*f|0)-x)*O[3]|0;for(var D=1<=u._$T7?(this.clipID=t._$nP(),this.clipIDList=this.convertClipIDForV2_11(this.clipID)):this.clipIDList=[],this._$MS(this._$Lb)},r.prototype.getClipIDList=function(){return this.clipIDList},r.prototype.init=function(t){},r.prototype._$Nr=function(t,e){e._$IS[0]=!1,e._$Us=W._$Z2(t,this._$GS,e._$IS,this._$Lb),!ot._$Zs&&e._$IS[0]||(e._$7s=W._$br(t,this._$GS,e._$IS,this._$mS))},r.prototype._$2b=function(t,e){},r.prototype.getDrawDataID=function(){return this._$gP},r.prototype._$j2=function(t){this._$gP=t},r.prototype.getOpacity=function(t,e){return e._$7s},r.prototype._$zS=function(t,e){return e._$Us},r.prototype._$MS=function(t){for(var e=t.length-1;0<=e;--e){var i=t[e];i=u.LIVE2D_FORMAT_VERSION_V2_10_SDK2&&(this._$mS=t._$Tb())},a.prototype.init=function(t){},a.prototype._$Nr=function(t,e){},a.prototype.interpolateOpacity=function(t,e,i,r){null==this._$mS?i.setInterpolatedOpacity(1):i.setInterpolatedOpacity(W._$br(t,e,r,this._$mS))},a.prototype._$2b=function(t,e){},a.prototype._$nb=function(t,e,i,r,o,n,s){},a.prototype.getType=function(){},a.prototype._$gs=function(t){this._$dr=t},a.prototype._$a2=function(t){this._$kP=t},a.prototype.getTargetBaseDataID=function(){return this._$dr},a.prototype.getBaseDataID=function(){return this._$kP},a.prototype._$32=function(){return null!=this._$dr&&this._$dr!=v._$2o()},Rt._$CS=Rt._$W2=0,Rt._$Mo=function(){return!0},Rt._$XP=function(t){try{for(var e=getTimeMSec();getTimeMSec()-e=t.length)return!1;for(var o=e;o=this._$pb.length&&(o=this._$pb.length,n=new Array(2*o),Rt._$jT(this._$pb,0,n,0,o),this._$pb=n,this._$_2=this._$UT(this._$_2,2*o),this._$vr=this._$UT(this._$vr,2*o),this._$Rr=this._$UT(this._$Rr,2*o),this._$Or=this._$UT(this._$Or,2*o),n=new Array,Rt._$jT(this._$Js,0,n,0,o),this._$Js=n),this._$pb[this._$qo]=t,this._$_2[this._$qo]=e,this._$vr[this._$qo]=e,this._$Rr[this._$qo]=i,this._$Or[this._$qo]=r,this._$Js[this._$qo]=d._$ZS,this._$qo++},d.prototype._$Zo=function(t,e){this._$3S[t]=e},d.prototype.setParamFloat=function(t,e){(e=ethis._$Or[t]&&(e=this._$Or[t]),this._$_2[t]=e},d.prototype.loadParam=function(){var t=this._$_2.length;t>this._$fs.length&&(t=this._$fs.length),Rt._$jT(this._$fs,0,this._$_2,0,t)},d.prototype.saveParam=function(){var t=this._$_2.length;t>this._$fs.length&&(this._$fs=new Float32Array(t)),Rt._$jT(this._$_2,0,this._$fs,0,t)},d.prototype._$v2=function(){return this._$co},d.prototype._$WS=function(){return this._$QT},d.prototype._$Xb=function(t){return this._$Js[t]==d._$ZS},d.prototype._$vs=function(){return this._$Es},d.prototype._$Tr=function(){return this._$ZP},d.prototype.getBaseData=function(t){return this._$3S[t]},d.prototype.getParamFloat=function(t){return this._$_2[t]},d.prototype.getParamMax=function(t){return this._$Or[t]},d.prototype.getParamMin=function(t){return this._$Rr[t]},d.prototype.setPartsOpacity=function(t,e){this._$Hr[t].setPartsOpacity(e)},d.prototype.getPartsOpacity=function(t){return this._$Hr[t].getPartsOpacity()},d.prototype.getPartsDataIndex=function(t){for(var e=this._$F2.length-1;0<=e;--e)if(null!=this._$F2[e]&&this._$F2[e]._$p2()==t)return e;return-1},d.prototype._$q2=function(t){return this._$db[t]},d.prototype._$C2=function(t){return this._$8b[t]},d.prototype._$Bb=function(t){return this._$Hr[t]},d.prototype._$5s=function(t,e){for(var i=this._$Ws.length,r=t,o=0;o=u._$T7?(this.clipID=t._$nP(),this.clipIDList=this.convertClipIDForV2_11(this.clipID)):this.clipIDList=null,y._$Sb(this._$Lb)},y.prototype.getClipIDList=function(){return this.clipIDList},y.prototype._$Nr=function(t,e){e._$IS[0]=!1,e._$Us=W._$Z2(t,this._$GS,e._$IS,this._$Lb),!ot._$Zs&&e._$IS[0]||(e._$7s=W._$br(t,this._$GS,e._$IS,this._$mS))},y.prototype._$2b=function(t){},y.prototype.getDrawDataID=function(){return this._$gP},y.prototype._$j2=function(t){this._$gP=t},y.prototype.getOpacity=function(t,e){return e._$7s},y.prototype._$zS=function(t,e){return e._$Us},y.prototype.getTargetBaseDataID=function(){return this._$dr},y.prototype._$gs=function(t){this._$dr=t},y.prototype._$32=function(){return null!=this._$dr&&this._$dr!=v._$2o()},y.prototype.getType=function(){},tt._$42=0,tt.prototype._$1b=function(){return this._$3S},tt.prototype.getDrawDataList=function(){return this._$aS},tt.prototype._$F0=function(t){this._$NL=t._$nP(),this._$aS=t._$nP(),this._$3S=t._$nP()},tt.prototype._$kr=function(t){t._$Zo(this._$3S),t._$xo(this._$aS),this._$3S=null,this._$aS=null},h.prototype=new $,h.loadModel=function(t){var e=new h;return $._$62(e,t),e},h.loadModel=function(t){var e=new h;return $._$62(e,t),e},h._$to=function(){return new h},h._$er=function(t){var e=new _$5("../_$_r/_$t0/_$Ri/_$_P._$d");if(0==e.exists())throw new _$ls("_$t0 _$_ _$6 _$Ui :: "+e._$PL());for(var i=["../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1","../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1","../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1","../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1"],r=h.loadModel(e._$3b()),o=0;oe._$yT&&(e._$yT=h)}}}else{for(_=o,a=-1;o=this._$yT&&(this._$E?(r._$z2=e,this.loopFadeIn&&(r._$bs=e)):r._$9L=!0),this._$eP=i},S.prototype._$r0=function(){return this._$E},S.prototype._$aL=function(t){this._$E=t},S.prototype._$S0=function(){return this._$D0},S.prototype._$U0=function(t){this._$D0=t},S.prototype.isLoopFadeIn=function(){return this.loopFadeIn},S.prototype.setLoopFadeIn=function(t){this.loopFadeIn=t},f._$Fr=0,f._$hs=1,f._$ws=100,f._$Ns=101,f._$xs=102,f._$us=103,f._$qs=104,f._$Ys=105,nt.prototype=new a,nt._$gT=new Array,nt.prototype._$zP=function(){this._$GS=new J,this._$GS._$zP()},nt.prototype._$F0=function(t){a.prototype._$F0.call(this,t),this._$A=t._$6L(),this._$o=t._$6L(),this._$GS=t._$nP(),this._$Eo=t._$nP(),a.prototype.readV2_opacity.call(this,t)},nt.prototype.init=function(t){var e=new st(this),i=(this._$o+1)*(this._$A+1);return null!=e._$Cr&&(e._$Cr=null),e._$Cr=new Float32Array(2*i),null!=e._$hr&&(e._$hr=null),this._$32()?e._$hr=new Float32Array(2*i):e._$hr=null,e},nt.prototype._$Nr=function(t,e){var i,r,o=e;this._$GS._$Ur(t)&&(i=this._$VT(),(r=nt._$gT)[0]=!1,W._$Vr(t,this._$GS,r,i,this._$Eo,o._$Cr,0,2),e._$Ib(r[0]),this.interpolateOpacity(t,this._$GS,e,r))},nt.prototype._$2b=function(t,e){var i,r,o;e._$hS(!0),this._$32()?(i=this.getTargetBaseDataID(),e._$8r==a._$ur&&(e._$8r=t.getBaseDataIndex(i)),e._$8r<0?(ot._$so&&it._$li("_$L _$0P _$G :: %s",i),e._$hS(!1)):(i=t.getBaseData(e._$8r),r=t._$q2(e._$8r),null!=i&&r._$yo()?(o=r.getTotalScale(),e.setTotalScale_notForClient(o),o=r.getTotalOpacity(),e.setTotalOpacity(o*e.getInterpolatedOpacity()),i._$nb(t,r,e._$Cr,e._$hr,this._$VT(),0,2),e._$hS(!0)):e._$hS(!1))):e.setTotalOpacity(e.getInterpolatedOpacity())},nt.prototype._$nb=function(t,e,i,r,o,n,s){e=null!=e._$hr?e._$hr:e._$Cr;nt.transformPoints_sdk2(i,r,o,n,s,e,this._$o,this._$A)},nt.transformPoints_sdk2=function(t,e,C,N,B,i,r,o){for(var U=C*B,n=0,s=0,_=0,a=0,h=0,l=0,G=!1,$=N;$=u._$s7?(this._$JP=t._$6L(),0!=this._$JP&&(0!=(1&this._$JP)&&(t=t._$6L(),null==this._$5P&&(this._$5P=new Object),this._$5P._$Hb=parseInt(t)),0!=(this._$JP&M._$Os)?this._$6s=(this._$JP&M._$Os)>>1:this._$6s=M._$ms,0!=(32&this._$JP))&&(this.culling=!1)):this._$JP=0},M.prototype.init=function(t){var e=new pt(this),i=this._$d0*T._$No,r=this._$32();switch(null!=e._$Cr&&(e._$Cr=null),e._$Cr=new Float32Array(i),null!=e._$hr&&(e._$hr=null),e._$hr=r?new Float32Array(i):null,T._$do){default:case T._$Ms:if(T._$Ls)for(var o=this._$d0-1;0<=o;--o){var n=o<<1;this._$Qi[n+1]=1-this._$Qi[n+1]}break;case T._$Qs:for(o=this._$d0-1;0<=o;--o){var n=o<<1,s=o*T._$No,_=this._$Qi[n],a=this._$Qi[n+1];e._$Cr[s]=_,e._$Cr[1+s]=a,e._$Cr[4+s]=0,r&&(e._$hr[s]=_,e._$hr[1+s]=a,e._$hr[4+s]=0)}}return e},M.prototype._$Nr=function(t,e){var i;this!=e._$GT()&&console.log("### assert!! ### "),this._$GS._$Ur(t)&&(y.prototype._$Nr.call(this,t,e),!e._$IS[0])&&((i=M._$gT)[0]=!1,W._$Vr(t,this._$GS,i,this._$d0,this._$Eo,e._$Cr,T._$i2,T._$No))},M.prototype._$2b=function(t,e){try{this!=e._$GT()&&console.log("### assert!! ### ");var i,r,o,n=!1,s=(e._$IS[0]&&(n=!0),e);!n&&(y.prototype._$2b.call(this,t),this._$32())&&(i=this.getTargetBaseDataID(),s._$8r==y._$ur&&(s._$8r=t.getBaseDataIndex(i)),s._$8r<0?ot._$so&&it._$li("_$L _$0P _$G :: %s",i):(r=t.getBaseData(s._$8r),o=t._$q2(s._$8r),null==r||o._$x2()?s._$AT=!1:(r._$nb(t,o,s._$Cr,s._$hr,this._$d0,T._$i2,T._$No),s._$AT=!0),s.baseOpacity=o.getTotalOpacity()))}catch(t){throw t}},M.prototype.draw=function(t,e,i){var r,o,n;this!=i._$GT()&&console.log("### assert!! ### "),i._$IS[0]||((r=this._$LP)<0&&(r=1),o=this.getOpacity(e,e=i)*i._$VS*i.baseOpacity,n=null!=e._$hr?e._$hr:e._$Cr,t.setClipBufPre_clipContextForDraw(i.clipBufPre_clipContext),t._$WP(this.culling),t._$Uo(r,3*this._$Yo,this._$BP,n,this._$Qi,o,this._$6s,e))},M.prototype.dump=function(){console.log(" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \n",this._$LP,this._$d0,this._$Yo),console.log(" _$Oi _$di = { ");for(var t=0;tstartMotion() / start _$K _$3 (m%d)\n",r,i._$sr);if(null==t)return-1;(i=new dt)._$w0=t,this.motions.push(i);t=i._$sr;return this._$eb&&it._$Ji("MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\n",r,t),t},ft.prototype.updateParam=function(t){try{for(var e=!1,i=0;iupdateParam() / _$T0 _$w0 (m%d)\n",this.motions.length-1,o._$sr),this.motions.splice(i,1),i--)):(this.motions=this.motions.splice(i,1),i--):(this.motions.splice(i,1),i--)}return e}catch(t){return it._$li(t),!0}},ft.prototype.isFinished=function(t){if(1<=arguments.length){for(var e=0;e>7-this._$hL++&1)},x.prototype._$zT=function(){0!=this._$hL&&(this._$hL=0)},I._$2S=Math.PI/180,I._$bS=Math.PI/180,I._$wS=180/Math.PI,I._$NS=180/Math.PI,I.PI_F=Math.PI,I._$kT=[0,.012368,.024734,.037097,.049454,.061803,.074143,.086471,.098786,.111087,.12337,.135634,.147877,.160098,.172295,.184465,.196606,.208718,.220798,.232844,.244854,.256827,.268761,.280654,.292503,.304308,.316066,.327776,.339436,.351044,.362598,.374097,.385538,.396921,.408243,.419502,.430697,.441826,.452888,.463881,.474802,.485651,.496425,.507124,.517745,.528287,.538748,.549126,.559421,.56963,.579752,.589785,.599728,.609579,.619337,.629,.638567,.648036,.657406,.666676,.675843,.684908,.693867,.70272,.711466,.720103,.72863,.737045,.745348,.753536,.76161,.769566,.777405,.785125,.792725,.800204,.807561,.814793,.821901,.828884,.835739,.842467,.849066,.855535,.861873,.868079,.874153,.880093,.885898,.891567,.897101,.902497,.907754,.912873,.917853,.922692,.92739,.931946,.936359,.940629,.944755,.948737,.952574,.956265,.959809,.963207,.966457,.96956,.972514,.97532,.977976,.980482,.982839,.985045,.987101,.989006,.990759,.992361,.993811,.995109,.996254,.997248,.998088,.998776,.999312,.999694,.999924,1],I._$92=function(t,e){t=Math.atan2(t[1],t[0]),e=Math.atan2(e[1],e[0]);return I._$tS(t,e)},I._$tS=function(t,e){for(var i=t-e;i<-Math.PI;)i+=2*Math.PI;for(;i>Math.PI;)i-=2*Math.PI;return i},I._$9=function(t){return Math.sin(t)},I.fcos=function(t){return Math.cos(t)},Tt.prototype._$u2=function(){return this._$IS[0]},Tt.prototype._$yo=function(){return this._$AT&&!this._$IS[0]},Tt.prototype._$GT=function(){return this._$e0},w._$W2=0,w.SYSTEM_INFO=null,w.USER_AGENT=navigator.userAgent,w.isIPhone=function(){return w.SYSTEM_INFO||w.setup(),w.SYSTEM_INFO._isIPhone},w.isIOS=function(){return w.SYSTEM_INFO||w.setup(),w.SYSTEM_INFO._isIPhone||w.SYSTEM_INFO._isIPad},w.isAndroid=function(){return w.SYSTEM_INFO||w.setup(),w.SYSTEM_INFO._isAndroid},w.getOSVersion=function(){return w.SYSTEM_INFO||w.setup(),w.SYSTEM_INFO.version},w.getOS=function(){return w.SYSTEM_INFO||w.setup(),w.SYSTEM_INFO._isIPhone||w.SYSTEM_INFO._isIPad?"iOS":w.SYSTEM_INFO._isAndroid?"Android":"_$Q0 OS"},w.setup=function(){function t(t,e){for(var i=t.substring(e).split(/[ _,;\.]/),r=0,o=0;o<=2&&!isNaN(i[o]);o++){var n=parseInt(i[o]);if(n<0||999=this.models.length?null:this.models[t]},o.prototype.releaseModel=function(t,e){this.models.length<=t||(this.models[t].release(e),delete this.models[t],this.models.splice(t,1))},o.prototype.numModels=function(){return this.models.length},o.prototype.setDrag=function(t,e){for(var i=0;i『", "』", " - "], + "baidu": ["Hello! 来自 百度搜索 的朋友
    你是搜索 ", " 找到的我吗?"], + "so": ["Hello! 来自 360搜索 的朋友
    你是搜索 ", " 找到的我吗?"], + "google": ["Hello! 来自 谷歌搜索 的朋友
    欢迎阅读『", "』", " - "], + "default": ["Hello! 来自 ", " 的朋友"], + "none": ["欢迎阅读『", "』", " - "] + }, + "referrer_hostname": { + "blog.nineya.com": ["玖涯博客"], + "www.fghrsh.net": ["FGHRSH 的博客"] + }, + "model_message": { + "1": ["来自 Potion Maker 的 Pio 酱 ~"], + "2": ["来自 Potion Maker 的 Tia 酱 ~"] + }, + "hitokoto_api_message": { + "lwl12.com": ["这句一言来自 『{source}』", ",是 {creator} 投稿的", "。"], + "fghrsh.net": ["这句一言出处是 『{source}』,是 FGHRSH 在 {date} 收藏的!"], + "jinrishici.com": ["这句诗词出自 《{title}》,是 {dynasty}诗人 {author} 创作的!"], + "hitokoto.cn": ["这句一言来自 『{source}』,是 {creator} 在 hitokoto.cn 投稿的。"] + } + }, + "mouseover": [ + { "selector": ".fui-home", "text": ["点击前往首页,想回到上一页可以使用浏览器的后退功能哦"] }, + { "selector": ".fui-chat", "text": ["一言一语,一颦一笑。一字一句,一颗赛艇。"] }, + { "selector": ".fui-eye", "text": ["嗯··· 要切换 看板娘 吗?"] }, + { "selector": ".fui-user", "text": ["喜欢换装 Play 吗?"] }, + { "selector": ".fui-photo", "text": ["要拍张纪念照片吗?"] }, + { "selector": ".fui-info-circle", "text": ["这里有关于我的信息呢"] }, + { "selector": ".fui-cross", "text": ["你不喜欢我了吗..."] }, + { "selector": ".has-link-black-ter", "text": ["要看看 {text} 么?"] }, + { "selector": ".widget.toc", "text": ["翻页比较麻烦吗,点击可以显示这篇文章的目录呢"] }, + { "selector": "#night-nav", "text": ["深夜时要爱护眼睛呀"] }, + { "selector": "#comment-wrapper", "text": ["要吐槽些什么呢"] }, + { "selector": "#back-to-top", "text": ["回到开始的地方吧"] }, + { "selector": ".widget.links", "text": ["想要和我交个朋友吗?"] }, + { "selector": ".widget.love", "text": ["你也期待烂漫不渝的爱情嘛?"] }, + { "selector": ".widget.music", "text": ["一起来听音乐吧!"] }, + { "selector": ".widget.notice", "text": ["看看博主又发了什么公告"] }, + { "selector": ".widget.profile", "text": ["该怎么称呼你呢"] }, + { "selector": ".widget.recent-comments", "text": ["想要去评论些什么吗?"] }, + { "selector": ".widget.recent-posts", "text": ["博主又新发了什么文章"] }, + { "selector": ".actions .bullet-screen", "text": ["关闭/开启评论弹幕试试"] }, + { "selector": ".pagination-previous", "text": ["去上一页看看吧"] }, + { "selector": ".pagination-next", "text": ["去下一页看看吧"] }, + { "selector": ".gallery-item", "text": ["点击图片可以放大呢"] }, + { "selector": "input[name=keyword]", "text": ["找不到想看的内容?搜索看看吧"] }, + { "selector": ".btn-clipboard", "text": ["点击快速复制代码"] }, + { "selector": ".waifu #live2d", "text": ["干嘛呢你,快把手拿开", "鼠…鼠标放错地方了!"] } + ], + "click": [ + { + "selector": ".waifu #live2d", + "text": [ + "是…是不小心碰到了吧", + "萝莉控是什么呀", + "你看到我的小熊了吗", + "再摸的话我可要报警了!⌇●﹏●⌇", + "110吗,这里有个变态一直在摸我(ó﹏ò。)" + ] + } + ], + "seasons": [ + { "date": "01/01", "text": ["元旦了呢,新的一年又开始了,今年是{year}年~"] }, + { "date": "02/14", "text": ["又是一年情人节,{year}年找到对象了嘛~"] }, + { "date": "03/08", "text": ["今天是妇女节!"] }, + { "date": "03/12", "text": ["今天是植树节,要保护环境呀"] }, + { "date": "04/01", "text": ["悄悄告诉你一个秘密~今天是愚人节,不要被骗了哦~"] }, + { "date": "05/01", "text": ["今天是五一劳动节,计划好假期去哪里了吗~"] }, + { "date": "06/01", "text": ["儿童节了呢,快活的时光总是短暂,要是永远长不大该多好啊…"] }, + { "date": "09/03", "text": ["中国人民抗日战争胜利纪念日,铭记历史、缅怀先烈、珍爱和平、开创未来。"] }, + { "date": "09/10", "text": ["教师节,在学校要给老师问声好呀~"] }, + { "date": "10/01", "text": ["国庆节,新中国已经成立69年了呢"] }, + { "date": "11/05-11/12", "text": ["今年的双十一是和谁一起过的呢~"] }, + { "date": "12/20-12/31", "text": ["这几天是圣诞节,主人肯定又去剁手买买买了~"] } + ] +} \ No newline at end of file diff --git a/source/lib/live2d@1.0.1/waifu-tips.min.js b/source/lib/live2d@1.0.1/waifu-tips.min.js new file mode 100644 index 0000000..22847d0 --- /dev/null +++ b/source/lib/live2d@1.0.1/waifu-tips.min.js @@ -0,0 +1 @@ +window.live2d_settings=Array(),live2d_settings.tipsMessage="waifu-tips.json",live2d_settings.hitokotoAPI="lwl12.com",live2d_settings.modelCdnUrl="https://unpkg.com/live2d-widget-model@latest/",live2d_settings.models=[[0,87],[1,63],[2,156],[3,156],[4,2],[5,20],[6,1]],live2d_settings.modelId=0,live2d_settings.modelTexturesId=0,live2d_settings.showToolMenu=!0,live2d_settings.canCloseLive2d=!0,live2d_settings.canSwitchModel=!0,live2d_settings.canSwitchTextures=!0,live2d_settings.canSwitchHitokoto=!0,live2d_settings.canTakeScreenshot=!0,live2d_settings.canTurnToHomePage=!0,live2d_settings.canTurnToAboutPage=!0,live2d_settings.modelStorage=!0,live2d_settings.modelRandMode="switch",live2d_settings.modelTexturesRandMode="rand",live2d_settings.showHitokoto=!0,live2d_settings.showF12Status=!0,live2d_settings.showF12Message=!1,live2d_settings.showF12OpenMsg=!0,live2d_settings.showCopyMessage=!0,live2d_settings.showWelcomeMessage=!0,live2d_settings.waifuSize="280x250",live2d_settings.waifuTipsSize="250x70",live2d_settings.waifuFontSize="12px",live2d_settings.waifuToolFont="14px",live2d_settings.waifuToolLine="20px",live2d_settings.waifuToolTop="0px",live2d_settings.waifuMinWidth="768px",live2d_settings.waifuEdgeSide="left:0",live2d_settings.waifuDraggable="disable",live2d_settings.waifuDraggableRevert=!0,live2d_settings.l2dVersion="1.0.1",live2d_settings.l2dVerDate="2022.11.09",live2d_settings.homePageUrl="auto",live2d_settings.aboutPageUrl="https://github.com/nineya/live2d-widget-model",live2d_settings.screenshotCaptureName="live2d.png",String.prototype.render=function(d){return this.replace(/(\\)?\{([^\{\}\\]+)(\\)?\}/g,function(e,t,i,s){if(t||s)return e.replace("\\","");for(var o=i.replace(/\s/g,"").split("."),n=d,a=0,l=o.length;a]+>/g,"")),i&&sessionStorage.setItem("waifu-text",e),$(".waifu-tips").stop(),$(".waifu-tips").html(e).fadeTo(200,1),hideMessage(t=void 0===t?5e3:t))}function hideMessage(e){$(".waifu-tips").stop().css("opacity",1),void 0===e&&(e=5e3),window.setTimeout(function(){sessionStorage.removeItem("waifu-text")},e),$(".waifu-tips").delay(e).fadeTo(200,0)}function initModel(waifuPath,type){eval(function(e,t,i,s,o,n){if(o=function(e){return(e\\2\\9 \\1 o,.\\6\\2 \\1 /\\2!\\n\\1\\1\\1\\1\\1\\1 !'\\m//\\4\\I\\g', \\b \\4'7'\\J'\\n\\1\\1\\1\\1\\1\\1 \\3'\\K|M,p,\\O\\3|\\P\\n\\1\\1\\1\\1\\1 \\1\\1\\1\\c-,/\\1|p./\\n\\1\\1\\1\\1\\1 \\1\\1\\1'\\f'\\1\\1!o,.:\\Q \\R\\S\\T v\"+e.V+\" / W \"+e.N);8.d(\" \");",60,60,"|u3000|uff64|uff9a|uff40|u30fd|uff8d||console|uff8a|uff0f|uff3c|uff84|log|live2d_settings|uff70|u00b4|uff49||u2010||u3000_|u3008||_|___|uff72|u2500|uff67|u30cf|u30fc||u30bd|u4ece|u30d8|uff1e|__|u30a4|k_|uff17_|u3000L_|u3000i|uff1a|u3009|uff34|uff70r|u30fdL__||___i|l2dVerDate|u30f3|u30ce|nLive2D|u770b|u677f|u5a18|u304f__|l2dVersion|FGHRSH|u00b40i".split("|"),0,{})),"function"!=typeof $.ajax&&("function"==typeof jQuery.ajax?window.$=jQuery:console.log("[Error] JQuery is not defined.")),live2d_settings.waifuSize=live2d_settings.waifuSize.split("x"),live2d_settings.waifuTipsSize=live2d_settings.waifuTipsSize.split("x"),live2d_settings.waifuEdgeSide=live2d_settings.waifuEdgeSide.split(":"),$("#live2d").attr("width",live2d_settings.waifuSize[0]),$("#live2d").attr("height",live2d_settings.waifuSize[1]),$(".waifu-tips").width(live2d_settings.waifuTipsSize[0]),$(".waifu-tips").height(live2d_settings.waifuTipsSize[1]),$(".waifu-tips").css("top",live2d_settings.waifuToolTop),$(".waifu-tips").css("font-size",live2d_settings.waifuFontSize),$(".waifu-tool").css("font-size",live2d_settings.waifuToolFont),$(".waifu-tool span").css("line-height",live2d_settings.waifuToolLine),"left"==live2d_settings.waifuEdgeSide[0]?$(".waifu").css("left",live2d_settings.waifuEdgeSide[1]+"px"):"right"==live2d_settings.waifuEdgeSide[0]&&$(".waifu").css("right",live2d_settings.waifuEdgeSide[1]+"px"),window.waifuResize=function(){$(window).width()<=Number(live2d_settings.waifuMinWidth.replace("px",""))?$(".waifu").hide():$(".waifu").show()},"disable"!=live2d_settings.waifuMinWidth&&(waifuResize(),$(window).resize(function(){waifuResize()}));try{"axis-x"==live2d_settings.waifuDraggable?$(".waifu").draggable({axis:"x",revert:live2d_settings.waifuDraggableRevert}):"unlimited"==live2d_settings.waifuDraggable?$(".waifu").draggable({revert:live2d_settings.waifuDraggableRevert}):$(".waifu").css("transition","all .3s ease-in-out")}catch(err){console.log("[Error] JQuery UI is not defined.")}live2d_settings.homePageUrl="auto"==live2d_settings.homePageUrl?window.location.protocol+"//"+window.location.hostname+"/":live2d_settings.homePageUrl,$(".waifu-tool .fui-home").click(function(){window.location=live2d_settings.homePageUrl}),$(".waifu-tool .fui-info-circle").click(function(){window.open(live2d_settings.aboutPageUrl)}),"object"==typeof waifuPath?loadTipsMessage(waifuPath):$.ajax({cache:!0,url:""==waifuPath?live2d_settings.tipsMessage:"waifu-tips.json"==waifuPath.substr(waifuPath.length-15)?waifuPath:waifuPath+"waifu-tips.json",dataType:"json",success:function(e){loadTipsMessage(e)}}),live2d_settings.showToolMenu||$(".waifu-tool").hide(),live2d_settings.canCloseLive2d||$(".waifu-tool .fui-cross").hide(),live2d_settings.canSwitchModel||$(".waifu-tool .fui-eye").hide(),live2d_settings.canSwitchTextures||$(".waifu-tool .fui-user").hide(),live2d_settings.canSwitchHitokoto||$(".waifu-tool .fui-chat").hide(),live2d_settings.canTakeScreenshot||$(".waifu-tool .fui-photo").hide(),live2d_settings.canTurnToHomePage||$(".waifu-tool .fui-home").hide(),live2d_settings.canTurnToAboutPage||$(".waifu-tool .fui-info-circle").hide(),void 0===waifuPath&&(waifuPath="");var modelId=localStorage.getItem("modelId"),modelTexturesId=localStorage.getItem("modelTexturesId"),modelId,modelTexturesId;live2d_settings.modelStorage&&null!=modelId||(modelId=live2d_settings.modelId,modelTexturesId=live2d_settings.modelTexturesId),loadModel(modelId,modelTexturesId)}function loadModel(e,t=0){(live2d_settings.modelStorage?(localStorage.setItem("modelId",e),localStorage):(sessionStorage.setItem("modelId",e),sessionStorage)).setItem("modelTexturesId",t),loadlive2d("live2d",live2d_settings.modelCdnUrl+"api/"+e+"-"+t+".json",live2d_settings.showF12Status?console.log("[Status]","live2d","模型",e+"-"+t,"加载完成"):null)}function loadTipsMessage(e){window.waifu_tips=e,$.each(e.mouseover,function(e,t){$(document).on("mouseover",t.selector,function(){showMessage(getRandText(t.text).render({text:$(this).text()}),3e3)})}),$.each(e.click,function(e,t){$(document).on("click",t.selector,function(){showMessage(getRandText(t.text).render({text:$(this).text()}),3e3,!0)})}),$.each(e.seasons,function(e,t){var i=new Date,s=t.date.split("-")[0],o=t.date.split("-")[1]||s;s.split("/")[0]<=i.getMonth()+1&&i.getMonth()+1<=o.split("/")[0]&&s.split("/")[1]<=i.getDate()&&i.getDate()<=o.split("/")[1]&&showMessage(getRandText(t.text).render({year:i.getFullYear()}),6e3,!0)}),live2d_settings.showF12OpenMsg&&(re.toString=function(){return showMessage(getRandText(e.waifu.console_open_msg),5e3,!0),""}),live2d_settings.showCopyMessage&&$(document).on("copy",function(){showMessage(getRandText(e.waifu.copy_message),5e3,!0)}),$(".waifu-tool .fui-photo").click(function(){showMessage(getRandText(e.waifu.screenshot_message),5e3,!0),window.Live2D.captureName=live2d_settings.screenshotCaptureName,window.Live2D.captureFrame=!0}),$(".waifu-tool .fui-cross").click(function(){sessionStorage.setItem("waifu-dsiplay","none"),showMessage(getRandText(e.waifu.hidden_message),1300,!0),window.setTimeout(function(){$(".waifu").hide()},1300)}),window.showWelcomeMessage=function(e){var t,i,s;showMessage(window.location.href==live2d_settings.homePageUrl?getRandText(23<(t=(new Date).getHours())||t<=5?e.waifu.hour_tips["t23-5"]:5b.toUpperCase())}_init(){let a={};for(let b=0;ba.json()).then(a=>this._loadPlayer(a))}_loadPlayer(a){let b={audio:a,mutex:!0,lrcType:this.meta.lrcType||3,storageName:"metingjs"};if(a.length){let a=_objectSpread({},b,this.config);for(let b in a)("true"===a[b]||"false"===a[b])&&(a[b]="true"===a[b]);let c=document.createElement("div");a.container=c,this.appendChild(c),this.aplayer=new APlayer(a)}}}console.log("\n %c MetingJS v2.0.1 %c https://github.com/metowolf/MetingJS \n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),window.customElements&&!window.customElements.get("meting-js")&&(window.MetingJSElement=MetingJSElement,window.customElements.define("meting-js",MetingJSElement)); diff --git a/source/lib/qmsg/qmsg.min.css b/source/lib/qmsg/qmsg.min.css new file mode 100644 index 0000000..6790510 --- /dev/null +++ b/source/lib/qmsg/qmsg.min.css @@ -0,0 +1 @@ +.qmsg.qmsg-wrapper{color:#909399;position:fixed;top:16px;left:0;z-index:9999;width:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:20px}.qmsg .qmsg-item{padding:8px;text-align:center;-webkit-animation-duration:0.3s;animation-duration:0.3s;position:relative}.qmsg .qmsg-item .qmsg-count{position:absolute;left:-4px;top:-4px;background-color:red;color:#fff;font-size:12px;text-align:center;border-radius:2px;min-width:16px;height:16px;line-height:16px;-webkit-animation-duration:0.3s;animation-duration:0.3s}.qmsg .qmsg-item:first-child{margin-top:-8px}.qmsg .qmsg-content{text-align:left;position:relative;display:inline-block;padding:10px 16px;background:#fff;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,0.15);pointer-events:all;max-width:80%;min-width:80px}.qmsg .qmsg-content [class^='qmsg-content-']{display:flex;align-items:center}.qmsg .qmsg-content .qmsg-content-with-close{padding-right:20px}.qmsg .qmsg-icon{display:flex;align-items:center;margin-right:8px}.qmsg .qmsg-icon svg{vertical-align:unset;width:20px;height:20px}.qmsg .qmsg-content-info .qmsg-icon{color:#1890ff}.qmsg .qmsg-icon-close{position:absolute;top:11px;right:5px;padding:0;overflow:hidden;font-size:12px;line-height:22px;background-color:transparent;border:none;outline:none;cursor:pointer;color:rgba(0,0,0,0.45);transition:color 0.3s}.qmsg .qmsg-icon-close:hover>svg path{stroke:#555}.qmsg .animate-turn{-webkit-animation:MessageTurn 1s linear infinite;animation:MessageTurn 1s linear infinite}@-webkit-keyframes MessageTurn{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes MessageTurn{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}100%{-webkit-transform:rotate(360deg)}}@-webkit-keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}to{max-height:0;padding:0;opacity:0}}@keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}to{max-height:0;padding:0;opacity:0}}@-webkit-keyframes MessageMoveIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes MessageMoveIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes MessageShake{0%,100%{-webkit-transform:translateX(0px);transform:translateX(0px);opacity:1}25%,75%{-webkit-transform:translateX(-4px);transform:translateX(-4px);opacity:0.75}50%{-webkit-transform:translateX(4px);transform:translateX(4px);opacity:0.25}}@keyframes MessageShake{0%,100%{-webkit-transform:translateX(0px);transform:translateX(0px);opacity:1}25%,75%{-webkit-transform:translateX(-4px);transform:translateX(-4px);opacity:0.75}50%{-webkit-transform:translateX(4px);transform:translateX(4px);opacity:0.25}} diff --git a/source/lib/qmsg/qmsg.min.js b/source/lib/qmsg/qmsg.min.js new file mode 100644 index 0000000..4777d88 --- /dev/null +++ b/source/lib/qmsg/qmsg.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e:"function"==typeof define&&define.amd?define([],function(){return e(t)}):t.Qmsg=e(t)}(this,function(t){"function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");t=Object(t);for(var e=1;e',warning:'',error:'',success:'',loading:'',close:''},e=void 0!==(t=document.createElement("div").style).animationName||void 0!==t.WebkitAnimationName||void 0!==t.MozAnimationName||void 0!==t.msAnimationName||void 0!==t.OAnimationName;function g(){for(var t=l,e=0;e'+t+"":"",t=document.createElement("span");e.settings.html?t.innerHTML=r:t.innerText=r,i.innerHTML='
    '+o+""+t.outerHTML+n+"
    ",i.classList.add(g("item")),i.style.textAlign=e.settings.position;n=document.querySelector("."+l);n||((n=document.createElement("div")).classList.add(l,g("wrapper"),g("is-initialized")),document.body.appendChild(n)),n.appendChild(i),e.$wrapper=n,e.$elem=i,d(e,"opening"),e.settings.showClose&&i.querySelector(".qmsg-icon-close").addEventListener("click",function(){e.close()}.bind(i)),i.addEventListener("animationend",function(t){var e=t.target;t.animationName==a.closing&&(clearInterval(this.timer),this.destroy()),e.style.animationName="",e.style.webkitAnimationName=""}.bind(e)),e.settings.autoClose&&(e.timer=setInterval(function(){this.timeout-=10,this.timeout<=0&&(clearInterval(this.timer),this.close())}.bind(e),10),e.$elem.addEventListener("mouseover",function(){clearInterval(this.timer)}.bind(e)),e.$elem.addEventListener("mouseout",function(){"closing"!=this.state&&(this.timer=setInterval(function(){this.timeout-=10,this.timeout<=0&&(clearInterval(this.timer),this.close())}.bind(e),10))}.bind(e)))}function d(t,e){e&&a[e]&&(t.state=e,t.$elem.style.animationName=a[e])}function n(t,e){var n=Object.assign({},m);return 0===arguments.length?n:t instanceof Object?Object.assign(n,t):(n.content=t.toString(),e instanceof Object?Object.assign(n,e):n)}function i(t){t=t||{};var e,n,i,o,s=JSON.stringify(t),r=-1;for(n in this.oMsgs){var l=this.oMsgs[n];if(l.config==s){r=n,e=l.inst;break}}if(r<0){this.instanceCount++;var a={};a.id=this.instanceCount,a.config=s,(e=new f(t)).id=this.instanceCount,e.count="",a.inst=e,this.oMsgs[this.instanceCount]=a;var c=this.oMsgs.length,d=this.maxNums;if(d .swiper-wrapper { + flex-direction: column; +} +.swiper-wrapper { + position: relative; + width: 100%; + height: 100%; + z-index: 1; + display: flex; + transition-property: transform; + box-sizing: content-box; +} +.swiper-android .swiper-slide, +.swiper-wrapper { + transform: translate3d(0px, 0, 0); +} +.swiper-pointer-events { + touch-action: pan-y; +} +.swiper-pointer-events.swiper-vertical { + touch-action: pan-x; +} +.swiper-slide { + flex-shrink: 0; + width: 100%; + height: 100%; + position: relative; + transition-property: transform; +} +.swiper-slide-invisible-blank { + visibility: hidden; +} +/* Auto Height */ +.swiper-autoheight, +.swiper-autoheight .swiper-slide { + height: auto; +} +.swiper-autoheight .swiper-wrapper { + align-items: flex-start; + transition-property: transform, height; +} +.swiper-backface-hidden .swiper-slide { + transform: translateZ(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +/* 3D Effects */ +.swiper-3d, +.swiper-3d.swiper-css-mode .swiper-wrapper { + perspective: 1200px; +} +.swiper-3d .swiper-wrapper, +.swiper-3d .swiper-slide, +.swiper-3d .swiper-slide-shadow, +.swiper-3d .swiper-slide-shadow-left, +.swiper-3d .swiper-slide-shadow-right, +.swiper-3d .swiper-slide-shadow-top, +.swiper-3d .swiper-slide-shadow-bottom, +.swiper-3d .swiper-cube-shadow { + transform-style: preserve-3d; +} +.swiper-3d .swiper-slide-shadow, +.swiper-3d .swiper-slide-shadow-left, +.swiper-3d .swiper-slide-shadow-right, +.swiper-3d .swiper-slide-shadow-top, +.swiper-3d .swiper-slide-shadow-bottom { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 10; +} +.swiper-3d .swiper-slide-shadow { + background: rgba(0, 0, 0, 0.15); +} +.swiper-3d .swiper-slide-shadow-left { + background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); +} +.swiper-3d .swiper-slide-shadow-right { + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); +} +.swiper-3d .swiper-slide-shadow-top { + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); +} +.swiper-3d .swiper-slide-shadow-bottom { + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); +} +/* CSS Mode */ +.swiper-css-mode > .swiper-wrapper { + overflow: auto; + scrollbar-width: none; + /* For Firefox */ + -ms-overflow-style: none; + /* For Internet Explorer and Edge */ +} +.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { + display: none; +} +.swiper-css-mode > .swiper-wrapper > .swiper-slide { + scroll-snap-align: start start; +} +.swiper-horizontal.swiper-css-mode > .swiper-wrapper { + scroll-snap-type: x mandatory; +} +.swiper-vertical.swiper-css-mode > .swiper-wrapper { + scroll-snap-type: y mandatory; +} +.swiper-centered > .swiper-wrapper::before { + content: ''; + flex-shrink: 0; + order: 9999; +} +.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child { + margin-inline-start: var(--swiper-centered-offset-before); +} +.swiper-centered.swiper-horizontal > .swiper-wrapper::before { + height: 100%; + min-height: 1px; + width: var(--swiper-centered-offset-after); +} +.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child { + margin-block-start: var(--swiper-centered-offset-before); +} +.swiper-centered.swiper-vertical > .swiper-wrapper::before { + width: 100%; + min-width: 1px; + height: var(--swiper-centered-offset-after); +} +.swiper-centered > .swiper-wrapper > .swiper-slide { + scroll-snap-align: center center; + scroll-snap-stop: always; +} +.swiper-virtual .swiper-slide { + -webkit-backface-visibility: hidden; + transform: translateZ(0); +} +.swiper-virtual.swiper-css-mode .swiper-wrapper::after { + content: ''; + position: absolute; + left: 0; + top: 0; + pointer-events: none; +} +.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after { + height: 1px; + width: var(--swiper-virtual-size); +} +.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after { + width: 1px; + height: var(--swiper-virtual-size); +} +:root { + --swiper-navigation-size: 44px; + /* + --swiper-navigation-color: var(--swiper-theme-color); + */ +} +.swiper-button-prev, +.swiper-button-next { + position: absolute; + top: 50%; + width: calc(var(--swiper-navigation-size) / 44 * 27); + height: var(--swiper-navigation-size); + margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); + z-index: 10; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + color: var(--swiper-navigation-color, var(--swiper-theme-color)); +} +.swiper-button-prev.swiper-button-disabled, +.swiper-button-next.swiper-button-disabled { + opacity: 0.35; + cursor: auto; + pointer-events: none; +} +.swiper-button-prev.swiper-button-hidden, +.swiper-button-next.swiper-button-hidden { + opacity: 0; + cursor: auto; + pointer-events: none; +} +.swiper-navigation-disabled .swiper-button-prev, +.swiper-navigation-disabled .swiper-button-next { + display: none !important; +} +.swiper-button-prev:after, +.swiper-button-next:after { + font-family: swiper-icons; + font-size: var(--swiper-navigation-size); + text-transform: none !important; + letter-spacing: 0; + font-variant: initial; + line-height: 1; +} +.swiper-button-prev, +.swiper-rtl .swiper-button-next { + left: 10px; + right: auto; +} +.swiper-button-prev:after, +.swiper-rtl .swiper-button-next:after { + content: 'prev'; +} +.swiper-button-next, +.swiper-rtl .swiper-button-prev { + right: 10px; + left: auto; +} +.swiper-button-next:after, +.swiper-rtl .swiper-button-prev:after { + content: 'next'; +} +.swiper-button-lock { + display: none; +} +:root { + /* + --swiper-pagination-color: var(--swiper-theme-color); + --swiper-pagination-bullet-size: 8px; + --swiper-pagination-bullet-width: 8px; + --swiper-pagination-bullet-height: 8px; + --swiper-pagination-bullet-inactive-color: #000; + --swiper-pagination-bullet-inactive-opacity: 0.2; + --swiper-pagination-bullet-opacity: 1; + --swiper-pagination-bullet-horizontal-gap: 4px; + --swiper-pagination-bullet-vertical-gap: 6px; + */ +} +.swiper-pagination { + position: absolute; + text-align: center; + transition: 300ms opacity; + transform: translate3d(0, 0, 0); + z-index: 10; +} +.swiper-pagination.swiper-pagination-hidden { + opacity: 0; +} +.swiper-pagination-disabled > .swiper-pagination, +.swiper-pagination.swiper-pagination-disabled { + display: none !important; +} +/* Common Styles */ +.swiper-pagination-fraction, +.swiper-pagination-custom, +.swiper-horizontal > .swiper-pagination-bullets, +.swiper-pagination-bullets.swiper-pagination-horizontal { + bottom: 10px; + left: 0; + width: 100%; +} +/* Bullets */ +.swiper-pagination-bullets-dynamic { + overflow: hidden; + font-size: 0; +} +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + transform: scale(0.33); + position: relative; +} +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active { + transform: scale(1); +} +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main { + transform: scale(1); +} +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev { + transform: scale(0.66); +} +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev { + transform: scale(0.33); +} +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next { + transform: scale(0.66); +} +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next { + transform: scale(0.33); +} +.swiper-pagination-bullet { + width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px)); + height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px)); + display: inline-block; + border-radius: 50%; + background: var(--swiper-pagination-bullet-inactive-color, #000); + opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2); +} +button.swiper-pagination-bullet { + border: none; + margin: 0; + padding: 0; + box-shadow: none; + -webkit-appearance: none; + appearance: none; +} +.swiper-pagination-clickable .swiper-pagination-bullet { + cursor: pointer; +} +.swiper-pagination-bullet:only-child { + display: none !important; +} +.swiper-pagination-bullet-active { + opacity: var(--swiper-pagination-bullet-opacity, 1); + background: var(--swiper-pagination-color, var(--swiper-theme-color)); +} +.swiper-vertical > .swiper-pagination-bullets, +.swiper-pagination-vertical.swiper-pagination-bullets { + right: 10px; + top: 50%; + transform: translate3d(0px, -50%, 0); +} +.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet, +.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet { + margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0; + display: block; +} +.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, +.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { + top: 50%; + transform: translateY(-50%); + width: 8px; +} +.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, +.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + display: inline-block; + transition: 200ms transform, 200ms top; +} +.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, +.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { + margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); +} +.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, +.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { + left: 50%; + transform: translateX(-50%); + white-space: nowrap; +} +.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, +.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + transition: 200ms transform, 200ms left; +} +.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + transition: 200ms transform, 200ms right; +} +/* Progress */ +.swiper-pagination-progressbar { + background: rgba(0, 0, 0, 0.25); + position: absolute; +} +.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { + background: var(--swiper-pagination-color, var(--swiper-theme-color)); + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + transform: scale(0); + transform-origin: left top; +} +.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { + transform-origin: right top; +} +.swiper-horizontal > .swiper-pagination-progressbar, +.swiper-pagination-progressbar.swiper-pagination-horizontal, +.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, +.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite { + width: 100%; + height: 4px; + left: 0; + top: 0; +} +.swiper-vertical > .swiper-pagination-progressbar, +.swiper-pagination-progressbar.swiper-pagination-vertical, +.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, +.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite { + width: 4px; + height: 100%; + left: 0; + top: 0; +} +.swiper-pagination-lock { + display: none; +} +/* Scrollbar */ +.swiper-scrollbar { + border-radius: 10px; + position: relative; + -ms-touch-action: none; + background: rgba(0, 0, 0, 0.1); +} +.swiper-scrollbar-disabled > .swiper-scrollbar, +.swiper-scrollbar.swiper-scrollbar-disabled { + display: none !important; +} +.swiper-horizontal > .swiper-scrollbar, +.swiper-scrollbar.swiper-scrollbar-horizontal { + position: absolute; + left: 1%; + bottom: 3px; + z-index: 50; + height: 5px; + width: 98%; +} +.swiper-vertical > .swiper-scrollbar, +.swiper-scrollbar.swiper-scrollbar-vertical { + position: absolute; + right: 3px; + top: 1%; + z-index: 50; + width: 5px; + height: 98%; +} +.swiper-scrollbar-drag { + height: 100%; + width: 100%; + position: relative; + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; + left: 0; + top: 0; +} +.swiper-scrollbar-cursor-drag { + cursor: move; +} +.swiper-scrollbar-lock { + display: none; +} +.swiper-zoom-container { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + text-align: center; +} +.swiper-zoom-container > img, +.swiper-zoom-container > svg, +.swiper-zoom-container > canvas { + max-width: 100%; + max-height: 100%; + object-fit: contain; +} +.swiper-slide-zoomed { + cursor: move; +} +/* Preloader */ +:root { + /* + --swiper-preloader-color: var(--swiper-theme-color); + */ +} +.swiper-lazy-preloader { + width: 42px; + height: 42px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -21px; + margin-top: -21px; + z-index: 10; + transform-origin: 50%; + box-sizing: border-box; + border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color)); + border-radius: 50%; + border-top-color: transparent; +} +.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, +.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader { + animation: swiper-preloader-spin 1s infinite linear; +} +.swiper-lazy-preloader-white { + --swiper-preloader-color: #fff; +} +.swiper-lazy-preloader-black { + --swiper-preloader-color: #000; +} +@keyframes swiper-preloader-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +/* a11y */ +.swiper .swiper-notification { + position: absolute; + left: 0; + top: 0; + pointer-events: none; + opacity: 0; + z-index: -1000; +} +.swiper-free-mode > .swiper-wrapper { + transition-timing-function: ease-out; + margin: 0 auto; +} +.swiper-grid > .swiper-wrapper { + flex-wrap: wrap; +} +.swiper-grid-column > .swiper-wrapper { + flex-wrap: wrap; + flex-direction: column; +} +.swiper-fade.swiper-free-mode .swiper-slide { + transition-timing-function: ease-out; +} +.swiper-fade .swiper-slide { + pointer-events: none; + transition-property: opacity; +} +.swiper-fade .swiper-slide .swiper-slide { + pointer-events: none; +} +.swiper-fade .swiper-slide-active, +.swiper-fade .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} +.swiper-cube { + overflow: visible; +} +.swiper-cube .swiper-slide { + pointer-events: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + z-index: 1; + visibility: hidden; + transform-origin: 0 0; + width: 100%; + height: 100%; +} +.swiper-cube .swiper-slide .swiper-slide { + pointer-events: none; +} +.swiper-cube.swiper-rtl .swiper-slide { + transform-origin: 100% 0; +} +.swiper-cube .swiper-slide-active, +.swiper-cube .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} +.swiper-cube .swiper-slide-active, +.swiper-cube .swiper-slide-next, +.swiper-cube .swiper-slide-prev, +.swiper-cube .swiper-slide-next + .swiper-slide { + pointer-events: auto; + visibility: visible; +} +.swiper-cube .swiper-slide-shadow-top, +.swiper-cube .swiper-slide-shadow-bottom, +.swiper-cube .swiper-slide-shadow-left, +.swiper-cube .swiper-slide-shadow-right { + z-index: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.swiper-cube .swiper-cube-shadow { + position: absolute; + left: 0; + bottom: 0px; + width: 100%; + height: 100%; + opacity: 0.6; + z-index: 0; +} +.swiper-cube .swiper-cube-shadow:before { + content: ''; + background: #000; + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + filter: blur(50px); +} +.swiper-flip { + overflow: visible; +} +.swiper-flip .swiper-slide { + pointer-events: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + z-index: 1; +} +.swiper-flip .swiper-slide .swiper-slide { + pointer-events: none; +} +.swiper-flip .swiper-slide-active, +.swiper-flip .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} +.swiper-flip .swiper-slide-shadow-top, +.swiper-flip .swiper-slide-shadow-bottom, +.swiper-flip .swiper-slide-shadow-left, +.swiper-flip .swiper-slide-shadow-right { + z-index: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.swiper-creative .swiper-slide { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + overflow: hidden; + transition-property: transform, opacity, height; +} +.swiper-cards { + overflow: visible; +} +.swiper-cards .swiper-slide { + transform-origin: center bottom; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + overflow: hidden; +} diff --git a/source/lib/swiper@8.4.6/swiper-bundle.js b/source/lib/swiper@8.4.6/swiper-bundle.js new file mode 100644 index 0000000..71108b6 --- /dev/null +++ b/source/lib/swiper@8.4.6/swiper-bundle.js @@ -0,0 +1,10702 @@ +/** + * Swiper 8.4.6 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2023 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: January 17, 2023 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Swiper = factory()); +})(this, (function () { 'use strict'; + + /** + * SSR Window 4.0.2 + * Better handling for window object in SSR environment + * https://github.com/nolimits4web/ssr-window + * + * Copyright 2021, Vladimir Kharlampidi + * + * Licensed under MIT + * + * Released on: December 13, 2021 + */ + + /* eslint-disable no-param-reassign */ + function isObject$1(obj) { + return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object; + } + + function extend$1(target, src) { + if (target === void 0) { + target = {}; + } + + if (src === void 0) { + src = {}; + } + + Object.keys(src).forEach(key => { + if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject$1(src[key]) && isObject$1(target[key]) && Object.keys(src[key]).length > 0) { + extend$1(target[key], src[key]); + } + }); + } + + const ssrDocument = { + body: {}, + + addEventListener() {}, + + removeEventListener() {}, + + activeElement: { + blur() {}, + + nodeName: '' + }, + + querySelector() { + return null; + }, + + querySelectorAll() { + return []; + }, + + getElementById() { + return null; + }, + + createEvent() { + return { + initEvent() {} + + }; + }, + + createElement() { + return { + children: [], + childNodes: [], + style: {}, + + setAttribute() {}, + + getElementsByTagName() { + return []; + } + + }; + }, + + createElementNS() { + return {}; + }, + + importNode() { + return null; + }, + + location: { + hash: '', + host: '', + hostname: '', + href: '', + origin: '', + pathname: '', + protocol: '', + search: '' + } + }; + + function getDocument() { + const doc = typeof document !== 'undefined' ? document : {}; + extend$1(doc, ssrDocument); + return doc; + } + + const ssrWindow = { + document: ssrDocument, + navigator: { + userAgent: '' + }, + location: { + hash: '', + host: '', + hostname: '', + href: '', + origin: '', + pathname: '', + protocol: '', + search: '' + }, + history: { + replaceState() {}, + + pushState() {}, + + go() {}, + + back() {} + + }, + CustomEvent: function CustomEvent() { + return this; + }, + + addEventListener() {}, + + removeEventListener() {}, + + getComputedStyle() { + return { + getPropertyValue() { + return ''; + } + + }; + }, + + Image() {}, + + Date() {}, + + screen: {}, + + setTimeout() {}, + + clearTimeout() {}, + + matchMedia() { + return {}; + }, + + requestAnimationFrame(callback) { + if (typeof setTimeout === 'undefined') { + callback(); + return null; + } + + return setTimeout(callback, 0); + }, + + cancelAnimationFrame(id) { + if (typeof setTimeout === 'undefined') { + return; + } + + clearTimeout(id); + } + + }; + + function getWindow() { + const win = typeof window !== 'undefined' ? window : {}; + extend$1(win, ssrWindow); + return win; + } + + /** + * Dom7 4.0.4 + * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API + * https://framework7.io/docs/dom7.html + * + * Copyright 2022, Vladimir Kharlampidi + * + * Licensed under MIT + * + * Released on: January 11, 2022 + */ + /* eslint-disable no-proto */ + + function makeReactive(obj) { + const proto = obj.__proto__; + Object.defineProperty(obj, '__proto__', { + get() { + return proto; + }, + + set(value) { + proto.__proto__ = value; + } + + }); + } + + class Dom7 extends Array { + constructor(items) { + if (typeof items === 'number') { + super(items); + } else { + super(...(items || [])); + makeReactive(this); + } + } + + } + + function arrayFlat(arr) { + if (arr === void 0) { + arr = []; + } + + const res = []; + arr.forEach(el => { + if (Array.isArray(el)) { + res.push(...arrayFlat(el)); + } else { + res.push(el); + } + }); + return res; + } + + function arrayFilter(arr, callback) { + return Array.prototype.filter.call(arr, callback); + } + + function arrayUnique(arr) { + const uniqueArray = []; + + for (let i = 0; i < arr.length; i += 1) { + if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]); + } + + return uniqueArray; + } + + + function qsa(selector, context) { + if (typeof selector !== 'string') { + return [selector]; + } + + const a = []; + const res = context.querySelectorAll(selector); + + for (let i = 0; i < res.length; i += 1) { + a.push(res[i]); + } + + return a; + } + + function $(selector, context) { + const window = getWindow(); + const document = getDocument(); + let arr = []; + + if (!context && selector instanceof Dom7) { + return selector; + } + + if (!selector) { + return new Dom7(arr); + } + + if (typeof selector === 'string') { + const html = selector.trim(); + + if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) { + let toCreate = 'div'; + if (html.indexOf(' c.split(' '))); + this.forEach(el => { + el.classList.add(...classNames); + }); + return this; + } + + function removeClass() { + for (var _len2 = arguments.length, classes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + classes[_key2] = arguments[_key2]; + } + + const classNames = arrayFlat(classes.map(c => c.split(' '))); + this.forEach(el => { + el.classList.remove(...classNames); + }); + return this; + } + + function toggleClass() { + for (var _len3 = arguments.length, classes = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + classes[_key3] = arguments[_key3]; + } + + const classNames = arrayFlat(classes.map(c => c.split(' '))); + this.forEach(el => { + classNames.forEach(className => { + el.classList.toggle(className); + }); + }); + } + + function hasClass() { + for (var _len4 = arguments.length, classes = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + classes[_key4] = arguments[_key4]; + } + + const classNames = arrayFlat(classes.map(c => c.split(' '))); + return arrayFilter(this, el => { + return classNames.filter(className => el.classList.contains(className)).length > 0; + }).length > 0; + } + + function attr(attrs, value) { + if (arguments.length === 1 && typeof attrs === 'string') { + // Get attr + if (this[0]) return this[0].getAttribute(attrs); + return undefined; + } // Set attrs + + + for (let i = 0; i < this.length; i += 1) { + if (arguments.length === 2) { + // String + this[i].setAttribute(attrs, value); + } else { + // Object + for (const attrName in attrs) { + this[i][attrName] = attrs[attrName]; + this[i].setAttribute(attrName, attrs[attrName]); + } + } + } + + return this; + } + + function removeAttr(attr) { + for (let i = 0; i < this.length; i += 1) { + this[i].removeAttribute(attr); + } + + return this; + } + + function transform(transform) { + for (let i = 0; i < this.length; i += 1) { + this[i].style.transform = transform; + } + + return this; + } + + function transition$1(duration) { + for (let i = 0; i < this.length; i += 1) { + this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration; + } + + return this; + } + + function on() { + for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { + args[_key5] = arguments[_key5]; + } + + let [eventType, targetSelector, listener, capture] = args; + + if (typeof args[1] === 'function') { + [eventType, listener, capture] = args; + targetSelector = undefined; + } + + if (!capture) capture = false; + + function handleLiveEvent(e) { + const target = e.target; + if (!target) return; + const eventData = e.target.dom7EventData || []; + + if (eventData.indexOf(e) < 0) { + eventData.unshift(e); + } + + if ($(target).is(targetSelector)) listener.apply(target, eventData);else { + const parents = $(target).parents(); // eslint-disable-line + + for (let k = 0; k < parents.length; k += 1) { + if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData); + } + } + } + + function handleEvent(e) { + const eventData = e && e.target ? e.target.dom7EventData || [] : []; + + if (eventData.indexOf(e) < 0) { + eventData.unshift(e); + } + + listener.apply(this, eventData); + } + + const events = eventType.split(' '); + let j; + + for (let i = 0; i < this.length; i += 1) { + const el = this[i]; + + if (!targetSelector) { + for (j = 0; j < events.length; j += 1) { + const event = events[j]; + if (!el.dom7Listeners) el.dom7Listeners = {}; + if (!el.dom7Listeners[event]) el.dom7Listeners[event] = []; + el.dom7Listeners[event].push({ + listener, + proxyListener: handleEvent + }); + el.addEventListener(event, handleEvent, capture); + } + } else { + // Live events + for (j = 0; j < events.length; j += 1) { + const event = events[j]; + if (!el.dom7LiveListeners) el.dom7LiveListeners = {}; + if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = []; + el.dom7LiveListeners[event].push({ + listener, + proxyListener: handleLiveEvent + }); + el.addEventListener(event, handleLiveEvent, capture); + } + } + } + + return this; + } + + function off() { + for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { + args[_key6] = arguments[_key6]; + } + + let [eventType, targetSelector, listener, capture] = args; + + if (typeof args[1] === 'function') { + [eventType, listener, capture] = args; + targetSelector = undefined; + } + + if (!capture) capture = false; + const events = eventType.split(' '); + + for (let i = 0; i < events.length; i += 1) { + const event = events[i]; + + for (let j = 0; j < this.length; j += 1) { + const el = this[j]; + let handlers; + + if (!targetSelector && el.dom7Listeners) { + handlers = el.dom7Listeners[event]; + } else if (targetSelector && el.dom7LiveListeners) { + handlers = el.dom7LiveListeners[event]; + } + + if (handlers && handlers.length) { + for (let k = handlers.length - 1; k >= 0; k -= 1) { + const handler = handlers[k]; + + if (listener && handler.listener === listener) { + el.removeEventListener(event, handler.proxyListener, capture); + handlers.splice(k, 1); + } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) { + el.removeEventListener(event, handler.proxyListener, capture); + handlers.splice(k, 1); + } else if (!listener) { + el.removeEventListener(event, handler.proxyListener, capture); + handlers.splice(k, 1); + } + } + } + } + } + + return this; + } + + function trigger() { + const window = getWindow(); + + for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) { + args[_key9] = arguments[_key9]; + } + + const events = args[0].split(' '); + const eventData = args[1]; + + for (let i = 0; i < events.length; i += 1) { + const event = events[i]; + + for (let j = 0; j < this.length; j += 1) { + const el = this[j]; + + if (window.CustomEvent) { + const evt = new window.CustomEvent(event, { + detail: eventData, + bubbles: true, + cancelable: true + }); + el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0); + el.dispatchEvent(evt); + el.dom7EventData = []; + delete el.dom7EventData; + } + } + } + + return this; + } + + function transitionEnd$1(callback) { + const dom = this; + + function fireCallBack(e) { + if (e.target !== this) return; + callback.call(this, e); + dom.off('transitionend', fireCallBack); + } + + if (callback) { + dom.on('transitionend', fireCallBack); + } + + return this; + } + + function outerWidth(includeMargins) { + if (this.length > 0) { + if (includeMargins) { + const styles = this.styles(); + return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left')); + } + + return this[0].offsetWidth; + } + + return null; + } + + function outerHeight(includeMargins) { + if (this.length > 0) { + if (includeMargins) { + const styles = this.styles(); + return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom')); + } + + return this[0].offsetHeight; + } + + return null; + } + + function offset() { + if (this.length > 0) { + const window = getWindow(); + const document = getDocument(); + const el = this[0]; + const box = el.getBoundingClientRect(); + const body = document.body; + const clientTop = el.clientTop || body.clientTop || 0; + const clientLeft = el.clientLeft || body.clientLeft || 0; + const scrollTop = el === window ? window.scrollY : el.scrollTop; + const scrollLeft = el === window ? window.scrollX : el.scrollLeft; + return { + top: box.top + scrollTop - clientTop, + left: box.left + scrollLeft - clientLeft + }; + } + + return null; + } + + function styles() { + const window = getWindow(); + if (this[0]) return window.getComputedStyle(this[0], null); + return {}; + } + + function css(props, value) { + const window = getWindow(); + let i; + + if (arguments.length === 1) { + if (typeof props === 'string') { + // .css('width') + if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props); + } else { + // .css({ width: '100px' }) + for (i = 0; i < this.length; i += 1) { + for (const prop in props) { + this[i].style[prop] = props[prop]; + } + } + + return this; + } + } + + if (arguments.length === 2 && typeof props === 'string') { + // .css('width', '100px') + for (i = 0; i < this.length; i += 1) { + this[i].style[props] = value; + } + + return this; + } + + return this; + } + + function each(callback) { + if (!callback) return this; + this.forEach((el, index) => { + callback.apply(el, [el, index]); + }); + return this; + } + + function filter(callback) { + const result = arrayFilter(this, callback); + return $(result); + } + + function html(html) { + if (typeof html === 'undefined') { + return this[0] ? this[0].innerHTML : null; + } + + for (let i = 0; i < this.length; i += 1) { + this[i].innerHTML = html; + } + + return this; + } + + function text(text) { + if (typeof text === 'undefined') { + return this[0] ? this[0].textContent.trim() : null; + } + + for (let i = 0; i < this.length; i += 1) { + this[i].textContent = text; + } + + return this; + } + + function is(selector) { + const window = getWindow(); + const document = getDocument(); + const el = this[0]; + let compareWith; + let i; + if (!el || typeof selector === 'undefined') return false; + + if (typeof selector === 'string') { + if (el.matches) return el.matches(selector); + if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector); + if (el.msMatchesSelector) return el.msMatchesSelector(selector); + compareWith = $(selector); + + for (i = 0; i < compareWith.length; i += 1) { + if (compareWith[i] === el) return true; + } + + return false; + } + + if (selector === document) { + return el === document; + } + + if (selector === window) { + return el === window; + } + + if (selector.nodeType || selector instanceof Dom7) { + compareWith = selector.nodeType ? [selector] : selector; + + for (i = 0; i < compareWith.length; i += 1) { + if (compareWith[i] === el) return true; + } + + return false; + } + + return false; + } + + function index() { + let child = this[0]; + let i; + + if (child) { + i = 0; // eslint-disable-next-line + + while ((child = child.previousSibling) !== null) { + if (child.nodeType === 1) i += 1; + } + + return i; + } + + return undefined; + } + + function eq(index) { + if (typeof index === 'undefined') return this; + const length = this.length; + + if (index > length - 1) { + return $([]); + } + + if (index < 0) { + const returnIndex = length + index; + if (returnIndex < 0) return $([]); + return $([this[returnIndex]]); + } + + return $([this[index]]); + } + + function append() { + let newChild; + const document = getDocument(); + + for (let k = 0; k < arguments.length; k += 1) { + newChild = k < 0 || arguments.length <= k ? undefined : arguments[k]; + + for (let i = 0; i < this.length; i += 1) { + if (typeof newChild === 'string') { + const tempDiv = document.createElement('div'); + tempDiv.innerHTML = newChild; + + while (tempDiv.firstChild) { + this[i].appendChild(tempDiv.firstChild); + } + } else if (newChild instanceof Dom7) { + for (let j = 0; j < newChild.length; j += 1) { + this[i].appendChild(newChild[j]); + } + } else { + this[i].appendChild(newChild); + } + } + } + + return this; + } + + function prepend(newChild) { + const document = getDocument(); + let i; + let j; + + for (i = 0; i < this.length; i += 1) { + if (typeof newChild === 'string') { + const tempDiv = document.createElement('div'); + tempDiv.innerHTML = newChild; + + for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) { + this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]); + } + } else if (newChild instanceof Dom7) { + for (j = 0; j < newChild.length; j += 1) { + this[i].insertBefore(newChild[j], this[i].childNodes[0]); + } + } else { + this[i].insertBefore(newChild, this[i].childNodes[0]); + } + } + + return this; + } + + function next(selector) { + if (this.length > 0) { + if (selector) { + if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) { + return $([this[0].nextElementSibling]); + } + + return $([]); + } + + if (this[0].nextElementSibling) return $([this[0].nextElementSibling]); + return $([]); + } + + return $([]); + } + + function nextAll(selector) { + const nextEls = []; + let el = this[0]; + if (!el) return $([]); + + while (el.nextElementSibling) { + const next = el.nextElementSibling; // eslint-disable-line + + if (selector) { + if ($(next).is(selector)) nextEls.push(next); + } else nextEls.push(next); + + el = next; + } + + return $(nextEls); + } + + function prev(selector) { + if (this.length > 0) { + const el = this[0]; + + if (selector) { + if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) { + return $([el.previousElementSibling]); + } + + return $([]); + } + + if (el.previousElementSibling) return $([el.previousElementSibling]); + return $([]); + } + + return $([]); + } + + function prevAll(selector) { + const prevEls = []; + let el = this[0]; + if (!el) return $([]); + + while (el.previousElementSibling) { + const prev = el.previousElementSibling; // eslint-disable-line + + if (selector) { + if ($(prev).is(selector)) prevEls.push(prev); + } else prevEls.push(prev); + + el = prev; + } + + return $(prevEls); + } + + function parent(selector) { + const parents = []; // eslint-disable-line + + for (let i = 0; i < this.length; i += 1) { + if (this[i].parentNode !== null) { + if (selector) { + if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode); + } else { + parents.push(this[i].parentNode); + } + } + } + + return $(parents); + } + + function parents(selector) { + const parents = []; // eslint-disable-line + + for (let i = 0; i < this.length; i += 1) { + let parent = this[i].parentNode; // eslint-disable-line + + while (parent) { + if (selector) { + if ($(parent).is(selector)) parents.push(parent); + } else { + parents.push(parent); + } + + parent = parent.parentNode; + } + } + + return $(parents); + } + + function closest(selector) { + let closest = this; // eslint-disable-line + + if (typeof selector === 'undefined') { + return $([]); + } + + if (!closest.is(selector)) { + closest = closest.parents(selector).eq(0); + } + + return closest; + } + + function find(selector) { + const foundElements = []; + + for (let i = 0; i < this.length; i += 1) { + const found = this[i].querySelectorAll(selector); + + for (let j = 0; j < found.length; j += 1) { + foundElements.push(found[j]); + } + } + + return $(foundElements); + } + + function children(selector) { + const children = []; // eslint-disable-line + + for (let i = 0; i < this.length; i += 1) { + const childNodes = this[i].children; + + for (let j = 0; j < childNodes.length; j += 1) { + if (!selector || $(childNodes[j]).is(selector)) { + children.push(childNodes[j]); + } + } + } + + return $(children); + } + + function remove() { + for (let i = 0; i < this.length; i += 1) { + if (this[i].parentNode) this[i].parentNode.removeChild(this[i]); + } + + return this; + } + + const Methods = { + addClass, + removeClass, + hasClass, + toggleClass, + attr, + removeAttr, + transform, + transition: transition$1, + on, + off, + trigger, + transitionEnd: transitionEnd$1, + outerWidth, + outerHeight, + styles, + offset, + css, + each, + html, + text, + is, + index, + eq, + append, + prepend, + next, + nextAll, + prev, + prevAll, + parent, + parents, + closest, + find, + children, + filter, + remove + }; + Object.keys(Methods).forEach(methodName => { + Object.defineProperty($.fn, methodName, { + value: Methods[methodName], + writable: true + }); + }); + + function deleteProps(obj) { + const object = obj; + Object.keys(object).forEach(key => { + try { + object[key] = null; + } catch (e) {// no getter for object + } + + try { + delete object[key]; + } catch (e) {// something got wrong + } + }); + } + + function nextTick(callback, delay) { + if (delay === void 0) { + delay = 0; + } + + return setTimeout(callback, delay); + } + + function now() { + return Date.now(); + } + + function getComputedStyle$1(el) { + const window = getWindow(); + let style; + + if (window.getComputedStyle) { + style = window.getComputedStyle(el, null); + } + + if (!style && el.currentStyle) { + style = el.currentStyle; + } + + if (!style) { + style = el.style; + } + + return style; + } + + function getTranslate(el, axis) { + if (axis === void 0) { + axis = 'x'; + } + + const window = getWindow(); + let matrix; + let curTransform; + let transformMatrix; + const curStyle = getComputedStyle$1(el); + + if (window.WebKitCSSMatrix) { + curTransform = curStyle.transform || curStyle.webkitTransform; + + if (curTransform.split(',').length > 6) { + curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); + } // Some old versions of Webkit choke when 'none' is passed; pass + // empty string instead in this case + + + transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); + } else { + transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); + matrix = transformMatrix.toString().split(','); + } + + if (axis === 'x') { + // Latest Chrome and webkits Fix + if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix + else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers + else curTransform = parseFloat(matrix[4]); + } + + if (axis === 'y') { + // Latest Chrome and webkits Fix + if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix + else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers + else curTransform = parseFloat(matrix[5]); + } + + return curTransform || 0; + } + + function isObject(o) { + return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; + } + + function isNode(node) { + // eslint-disable-next-line + if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { + return node instanceof HTMLElement; + } + + return node && (node.nodeType === 1 || node.nodeType === 11); + } + + function extend() { + const to = Object(arguments.length <= 0 ? undefined : arguments[0]); + const noExtend = ['__proto__', 'constructor', 'prototype']; + + for (let i = 1; i < arguments.length; i += 1) { + const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i]; + + if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { + const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); + + for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { + const nextKey = keysArray[nextIndex]; + const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); + + if (desc !== undefined && desc.enumerable) { + if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) { + if (nextSource[nextKey].__swiper__) { + to[nextKey] = nextSource[nextKey]; + } else { + extend(to[nextKey], nextSource[nextKey]); + } + } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) { + to[nextKey] = {}; + + if (nextSource[nextKey].__swiper__) { + to[nextKey] = nextSource[nextKey]; + } else { + extend(to[nextKey], nextSource[nextKey]); + } + } else { + to[nextKey] = nextSource[nextKey]; + } + } + } + } + } + + return to; + } + + function setCSSProperty(el, varName, varValue) { + el.style.setProperty(varName, varValue); + } + + function animateCSSModeScroll(_ref) { + let { + swiper, + targetPosition, + side + } = _ref; + const window = getWindow(); + const startPosition = -swiper.translate; + let startTime = null; + let time; + const duration = swiper.params.speed; + swiper.wrapperEl.style.scrollSnapType = 'none'; + window.cancelAnimationFrame(swiper.cssModeFrameID); + const dir = targetPosition > startPosition ? 'next' : 'prev'; + + const isOutOfBound = (current, target) => { + return dir === 'next' && current >= target || dir === 'prev' && current <= target; + }; + + const animate = () => { + time = new Date().getTime(); + + if (startTime === null) { + startTime = time; + } + + const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); + const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; + let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); + + if (isOutOfBound(currentPosition, targetPosition)) { + currentPosition = targetPosition; + } + + swiper.wrapperEl.scrollTo({ + [side]: currentPosition + }); + + if (isOutOfBound(currentPosition, targetPosition)) { + swiper.wrapperEl.style.overflow = 'hidden'; + swiper.wrapperEl.style.scrollSnapType = ''; + setTimeout(() => { + swiper.wrapperEl.style.overflow = ''; + swiper.wrapperEl.scrollTo({ + [side]: currentPosition + }); + }); + window.cancelAnimationFrame(swiper.cssModeFrameID); + return; + } + + swiper.cssModeFrameID = window.requestAnimationFrame(animate); + }; + + animate(); + } + + let support; + + function calcSupport() { + const window = getWindow(); + const document = getDocument(); + return { + smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style, + touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch), + passiveListener: function checkPassiveListener() { + let supportsPassive = false; + + try { + const opts = Object.defineProperty({}, 'passive', { + // eslint-disable-next-line + get() { + supportsPassive = true; + } + + }); + window.addEventListener('testPassiveListener', null, opts); + } catch (e) {// No support + } + + return supportsPassive; + }(), + gestures: function checkGestures() { + return 'ongesturestart' in window; + }() + }; + } + + function getSupport() { + if (!support) { + support = calcSupport(); + } + + return support; + } + + let deviceCached; + + function calcDevice(_temp) { + let { + userAgent + } = _temp === void 0 ? {} : _temp; + const support = getSupport(); + const window = getWindow(); + const platform = window.navigator.platform; + const ua = userAgent || window.navigator.userAgent; + const device = { + ios: false, + android: false + }; + const screenWidth = window.screen.width; + const screenHeight = window.screen.height; + const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line + + let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); + const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); + const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); + const windows = platform === 'Win32'; + let macos = platform === 'MacIntel'; // iPadOs 13 fix + + const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; + + if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { + ipad = ua.match(/(Version)\/([\d.]+)/); + if (!ipad) ipad = [0, 1, '13_0_0']; + macos = false; + } // Android + + + if (android && !windows) { + device.os = 'android'; + device.android = true; + } + + if (ipad || iphone || ipod) { + device.os = 'ios'; + device.ios = true; + } // Export object + + + return device; + } + + function getDevice(overrides) { + if (overrides === void 0) { + overrides = {}; + } + + if (!deviceCached) { + deviceCached = calcDevice(overrides); + } + + return deviceCached; + } + + let browser; + + function calcBrowser() { + const window = getWindow(); + + function isSafari() { + const ua = window.navigator.userAgent.toLowerCase(); + return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; + } + + return { + isSafari: isSafari(), + isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent) + }; + } + + function getBrowser() { + if (!browser) { + browser = calcBrowser(); + } + + return browser; + } + + function Resize(_ref) { + let { + swiper, + on, + emit + } = _ref; + const window = getWindow(); + let observer = null; + let animationFrame = null; + + const resizeHandler = () => { + if (!swiper || swiper.destroyed || !swiper.initialized) return; + emit('beforeResize'); + emit('resize'); + }; + + const createObserver = () => { + if (!swiper || swiper.destroyed || !swiper.initialized) return; + observer = new ResizeObserver(entries => { + animationFrame = window.requestAnimationFrame(() => { + const { + width, + height + } = swiper; + let newWidth = width; + let newHeight = height; + entries.forEach(_ref2 => { + let { + contentBoxSize, + contentRect, + target + } = _ref2; + if (target && target !== swiper.el) return; + newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; + newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; + }); + + if (newWidth !== width || newHeight !== height) { + resizeHandler(); + } + }); + }); + observer.observe(swiper.el); + }; + + const removeObserver = () => { + if (animationFrame) { + window.cancelAnimationFrame(animationFrame); + } + + if (observer && observer.unobserve && swiper.el) { + observer.unobserve(swiper.el); + observer = null; + } + }; + + const orientationChangeHandler = () => { + if (!swiper || swiper.destroyed || !swiper.initialized) return; + emit('orientationchange'); + }; + + on('init', () => { + if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { + createObserver(); + return; + } + + window.addEventListener('resize', resizeHandler); + window.addEventListener('orientationchange', orientationChangeHandler); + }); + on('destroy', () => { + removeObserver(); + window.removeEventListener('resize', resizeHandler); + window.removeEventListener('orientationchange', orientationChangeHandler); + }); + } + + function Observer(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const observers = []; + const window = getWindow(); + + const attach = function (target, options) { + if (options === void 0) { + options = {}; + } + + const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; + const observer = new ObserverFunc(mutations => { + // The observerUpdate event should only be triggered + // once despite the number of mutations. Additional + // triggers are redundant and are very costly + if (mutations.length === 1) { + emit('observerUpdate', mutations[0]); + return; + } + + const observerUpdate = function observerUpdate() { + emit('observerUpdate', mutations[0]); + }; + + if (window.requestAnimationFrame) { + window.requestAnimationFrame(observerUpdate); + } else { + window.setTimeout(observerUpdate, 0); + } + }); + observer.observe(target, { + attributes: typeof options.attributes === 'undefined' ? true : options.attributes, + childList: typeof options.childList === 'undefined' ? true : options.childList, + characterData: typeof options.characterData === 'undefined' ? true : options.characterData + }); + observers.push(observer); + }; + + const init = () => { + if (!swiper.params.observer) return; + + if (swiper.params.observeParents) { + const containerParents = swiper.$el.parents(); + + for (let i = 0; i < containerParents.length; i += 1) { + attach(containerParents[i]); + } + } // Observe container + + + attach(swiper.$el[0], { + childList: swiper.params.observeSlideChildren + }); // Observe wrapper + + attach(swiper.$wrapperEl[0], { + attributes: false + }); + }; + + const destroy = () => { + observers.forEach(observer => { + observer.disconnect(); + }); + observers.splice(0, observers.length); + }; + + extendParams({ + observer: false, + observeParents: false, + observeSlideChildren: false + }); + on('init', init); + on('destroy', destroy); + } + + /* eslint-disable no-underscore-dangle */ + var eventsEmitter = { + on(events, handler, priority) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (typeof handler !== 'function') return self; + const method = priority ? 'unshift' : 'push'; + events.split(' ').forEach(event => { + if (!self.eventsListeners[event]) self.eventsListeners[event] = []; + self.eventsListeners[event][method](handler); + }); + return self; + }, + + once(events, handler, priority) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (typeof handler !== 'function') return self; + + function onceHandler() { + self.off(events, onceHandler); + + if (onceHandler.__emitterProxy) { + delete onceHandler.__emitterProxy; + } + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + handler.apply(self, args); + } + + onceHandler.__emitterProxy = handler; + return self.on(events, onceHandler, priority); + }, + + onAny(handler, priority) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (typeof handler !== 'function') return self; + const method = priority ? 'unshift' : 'push'; + + if (self.eventsAnyListeners.indexOf(handler) < 0) { + self.eventsAnyListeners[method](handler); + } + + return self; + }, + + offAny(handler) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (!self.eventsAnyListeners) return self; + const index = self.eventsAnyListeners.indexOf(handler); + + if (index >= 0) { + self.eventsAnyListeners.splice(index, 1); + } + + return self; + }, + + off(events, handler) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (!self.eventsListeners) return self; + events.split(' ').forEach(event => { + if (typeof handler === 'undefined') { + self.eventsListeners[event] = []; + } else if (self.eventsListeners[event]) { + self.eventsListeners[event].forEach((eventHandler, index) => { + if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { + self.eventsListeners[event].splice(index, 1); + } + }); + } + }); + return self; + }, + + emit() { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (!self.eventsListeners) return self; + let events; + let data; + let context; + + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + if (typeof args[0] === 'string' || Array.isArray(args[0])) { + events = args[0]; + data = args.slice(1, args.length); + context = self; + } else { + events = args[0].events; + data = args[0].data; + context = args[0].context || self; + } + + data.unshift(context); + const eventsArray = Array.isArray(events) ? events : events.split(' '); + eventsArray.forEach(event => { + if (self.eventsAnyListeners && self.eventsAnyListeners.length) { + self.eventsAnyListeners.forEach(eventHandler => { + eventHandler.apply(context, [event, ...data]); + }); + } + + if (self.eventsListeners && self.eventsListeners[event]) { + self.eventsListeners[event].forEach(eventHandler => { + eventHandler.apply(context, data); + }); + } + }); + return self; + } + + }; + + function updateSize() { + const swiper = this; + let width; + let height; + const $el = swiper.$el; + + if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { + width = swiper.params.width; + } else { + width = $el[0].clientWidth; + } + + if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { + height = swiper.params.height; + } else { + height = $el[0].clientHeight; + } + + if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { + return; + } // Subtract paddings + + + width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10); + height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10); + if (Number.isNaN(width)) width = 0; + if (Number.isNaN(height)) height = 0; + Object.assign(swiper, { + width, + height, + size: swiper.isHorizontal() ? width : height + }); + } + + function updateSlides() { + const swiper = this; + + function getDirectionLabel(property) { + if (swiper.isHorizontal()) { + return property; + } // prettier-ignore + + + return { + 'width': 'height', + 'margin-top': 'margin-left', + 'margin-bottom ': 'margin-right', + 'margin-left': 'margin-top', + 'margin-right': 'margin-bottom', + 'padding-left': 'padding-top', + 'padding-right': 'padding-bottom', + 'marginRight': 'marginBottom' + }[property]; + } + + function getDirectionPropertyValue(node, label) { + return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0); + } + + const params = swiper.params; + const { + $wrapperEl, + size: swiperSize, + rtlTranslate: rtl, + wrongRTL + } = swiper; + const isVirtual = swiper.virtual && params.virtual.enabled; + const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; + const slides = $wrapperEl.children(`.${swiper.params.slideClass}`); + const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; + let snapGrid = []; + const slidesGrid = []; + const slidesSizesGrid = []; + let offsetBefore = params.slidesOffsetBefore; + + if (typeof offsetBefore === 'function') { + offsetBefore = params.slidesOffsetBefore.call(swiper); + } + + let offsetAfter = params.slidesOffsetAfter; + + if (typeof offsetAfter === 'function') { + offsetAfter = params.slidesOffsetAfter.call(swiper); + } + + const previousSnapGridLength = swiper.snapGrid.length; + const previousSlidesGridLength = swiper.slidesGrid.length; + let spaceBetween = params.spaceBetween; + let slidePosition = -offsetBefore; + let prevSlideSize = 0; + let index = 0; + + if (typeof swiperSize === 'undefined') { + return; + } + + if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { + spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; + } + + swiper.virtualSize = -spaceBetween; // reset margins + + if (rtl) slides.css({ + marginLeft: '', + marginBottom: '', + marginTop: '' + });else slides.css({ + marginRight: '', + marginBottom: '', + marginTop: '' + }); // reset cssMode offsets + + if (params.centeredSlides && params.cssMode) { + setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', ''); + setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', ''); + } + + const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; + + if (gridEnabled) { + swiper.grid.initSlides(slidesLength); + } // Calc slides + + + let slideSize; + const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { + return typeof params.breakpoints[key].slidesPerView !== 'undefined'; + }).length > 0; + + for (let i = 0; i < slidesLength; i += 1) { + slideSize = 0; + const slide = slides.eq(i); + + if (gridEnabled) { + swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel); + } + + if (slide.css('display') === 'none') continue; // eslint-disable-line + + if (params.slidesPerView === 'auto') { + if (shouldResetSlideSize) { + slides[i].style[getDirectionLabel('width')] = ``; + } + + const slideStyles = getComputedStyle(slide[0]); + const currentTransform = slide[0].style.transform; + const currentWebKitTransform = slide[0].style.webkitTransform; + + if (currentTransform) { + slide[0].style.transform = 'none'; + } + + if (currentWebKitTransform) { + slide[0].style.webkitTransform = 'none'; + } + + if (params.roundLengths) { + slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true); + } else { + // eslint-disable-next-line + const width = getDirectionPropertyValue(slideStyles, 'width'); + const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); + const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); + const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); + const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); + const boxSizing = slideStyles.getPropertyValue('box-sizing'); + + if (boxSizing && boxSizing === 'border-box') { + slideSize = width + marginLeft + marginRight; + } else { + const { + clientWidth, + offsetWidth + } = slide[0]; + slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); + } + } + + if (currentTransform) { + slide[0].style.transform = currentTransform; + } + + if (currentWebKitTransform) { + slide[0].style.webkitTransform = currentWebKitTransform; + } + + if (params.roundLengths) slideSize = Math.floor(slideSize); + } else { + slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; + if (params.roundLengths) slideSize = Math.floor(slideSize); + + if (slides[i]) { + slides[i].style[getDirectionLabel('width')] = `${slideSize}px`; + } + } + + if (slides[i]) { + slides[i].swiperSlideSize = slideSize; + } + + slidesSizesGrid.push(slideSize); + + if (params.centeredSlides) { + slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; + if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; + if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; + if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; + if (params.roundLengths) slidePosition = Math.floor(slidePosition); + if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); + slidesGrid.push(slidePosition); + } else { + if (params.roundLengths) slidePosition = Math.floor(slidePosition); + if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); + slidesGrid.push(slidePosition); + slidePosition = slidePosition + slideSize + spaceBetween; + } + + swiper.virtualSize += slideSize + spaceBetween; + prevSlideSize = slideSize; + index += 1; + } + + swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; + + if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { + $wrapperEl.css({ + width: `${swiper.virtualSize + params.spaceBetween}px` + }); + } + + if (params.setWrapperSize) { + $wrapperEl.css({ + [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px` + }); + } + + if (gridEnabled) { + swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel); + } // Remove last grid elements depending on width + + + if (!params.centeredSlides) { + const newSlidesGrid = []; + + for (let i = 0; i < snapGrid.length; i += 1) { + let slidesGridItem = snapGrid[i]; + if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); + + if (snapGrid[i] <= swiper.virtualSize - swiperSize) { + newSlidesGrid.push(slidesGridItem); + } + } + + snapGrid = newSlidesGrid; + + if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { + snapGrid.push(swiper.virtualSize - swiperSize); + } + } + + if (snapGrid.length === 0) snapGrid = [0]; + + if (params.spaceBetween !== 0) { + const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight'); + slides.filter((_, slideIndex) => { + if (!params.cssMode) return true; + + if (slideIndex === slides.length - 1) { + return false; + } + + return true; + }).css({ + [key]: `${spaceBetween}px` + }); + } + + if (params.centeredSlides && params.centeredSlidesBounds) { + let allSlidesSize = 0; + slidesSizesGrid.forEach(slideSizeValue => { + allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0); + }); + allSlidesSize -= params.spaceBetween; + const maxSnap = allSlidesSize - swiperSize; + snapGrid = snapGrid.map(snap => { + if (snap < 0) return -offsetBefore; + if (snap > maxSnap) return maxSnap + offsetAfter; + return snap; + }); + } + + if (params.centerInsufficientSlides) { + let allSlidesSize = 0; + slidesSizesGrid.forEach(slideSizeValue => { + allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0); + }); + allSlidesSize -= params.spaceBetween; + + if (allSlidesSize < swiperSize) { + const allSlidesOffset = (swiperSize - allSlidesSize) / 2; + snapGrid.forEach((snap, snapIndex) => { + snapGrid[snapIndex] = snap - allSlidesOffset; + }); + slidesGrid.forEach((snap, snapIndex) => { + slidesGrid[snapIndex] = snap + allSlidesOffset; + }); + } + } + + Object.assign(swiper, { + slides, + snapGrid, + slidesGrid, + slidesSizesGrid + }); + + if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { + setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); + setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); + const addToSnapGrid = -swiper.snapGrid[0]; + const addToSlidesGrid = -swiper.slidesGrid[0]; + swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); + swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); + } + + if (slidesLength !== previousSlidesLength) { + swiper.emit('slidesLengthChange'); + } + + if (snapGrid.length !== previousSnapGridLength) { + if (swiper.params.watchOverflow) swiper.checkOverflow(); + swiper.emit('snapGridLengthChange'); + } + + if (slidesGrid.length !== previousSlidesGridLength) { + swiper.emit('slidesGridLengthChange'); + } + + if (params.watchSlidesProgress) { + swiper.updateSlidesOffset(); + } + + if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { + const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; + const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass); + + if (slidesLength <= params.maxBackfaceHiddenSlides) { + if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass); + } else if (hasClassBackfaceClassAdded) { + swiper.$el.removeClass(backFaceHiddenClass); + } + } + } + + function updateAutoHeight(speed) { + const swiper = this; + const activeSlides = []; + const isVirtual = swiper.virtual && swiper.params.virtual.enabled; + let newHeight = 0; + let i; + + if (typeof speed === 'number') { + swiper.setTransition(speed); + } else if (speed === true) { + swiper.setTransition(swiper.params.speed); + } + + const getSlideByIndex = index => { + if (isVirtual) { + return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0]; + } + + return swiper.slides.eq(index)[0]; + }; // Find slides currently in view + + + if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { + if (swiper.params.centeredSlides) { + (swiper.visibleSlides || $([])).each(slide => { + activeSlides.push(slide); + }); + } else { + for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { + const index = swiper.activeIndex + i; + if (index > swiper.slides.length && !isVirtual) break; + activeSlides.push(getSlideByIndex(index)); + } + } + } else { + activeSlides.push(getSlideByIndex(swiper.activeIndex)); + } // Find new height from highest slide in view + + + for (i = 0; i < activeSlides.length; i += 1) { + if (typeof activeSlides[i] !== 'undefined') { + const height = activeSlides[i].offsetHeight; + newHeight = height > newHeight ? height : newHeight; + } + } // Update Height + + + if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`); + } + + function updateSlidesOffset() { + const swiper = this; + const slides = swiper.slides; + + for (let i = 0; i < slides.length; i += 1) { + slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop; + } + } + + function updateSlidesProgress(translate) { + if (translate === void 0) { + translate = this && this.translate || 0; + } + + const swiper = this; + const params = swiper.params; + const { + slides, + rtlTranslate: rtl, + snapGrid + } = swiper; + if (slides.length === 0) return; + if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); + let offsetCenter = -translate; + if (rtl) offsetCenter = translate; // Visible Slides + + slides.removeClass(params.slideVisibleClass); + swiper.visibleSlidesIndexes = []; + swiper.visibleSlides = []; + + for (let i = 0; i < slides.length; i += 1) { + const slide = slides[i]; + let slideOffset = slide.swiperSlideOffset; + + if (params.cssMode && params.centeredSlides) { + slideOffset -= slides[0].swiperSlideOffset; + } + + const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween); + const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween); + const slideBefore = -(offsetCenter - slideOffset); + const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; + const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; + + if (isVisible) { + swiper.visibleSlides.push(slide); + swiper.visibleSlidesIndexes.push(i); + slides.eq(i).addClass(params.slideVisibleClass); + } + + slide.progress = rtl ? -slideProgress : slideProgress; + slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; + } + + swiper.visibleSlides = $(swiper.visibleSlides); + } + + function updateProgress(translate) { + const swiper = this; + + if (typeof translate === 'undefined') { + const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line + + translate = swiper && swiper.translate && swiper.translate * multiplier || 0; + } + + const params = swiper.params; + const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); + let { + progress, + isBeginning, + isEnd + } = swiper; + const wasBeginning = isBeginning; + const wasEnd = isEnd; + + if (translatesDiff === 0) { + progress = 0; + isBeginning = true; + isEnd = true; + } else { + progress = (translate - swiper.minTranslate()) / translatesDiff; + isBeginning = progress <= 0; + isEnd = progress >= 1; + } + + Object.assign(swiper, { + progress, + isBeginning, + isEnd + }); + if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); + + if (isBeginning && !wasBeginning) { + swiper.emit('reachBeginning toEdge'); + } + + if (isEnd && !wasEnd) { + swiper.emit('reachEnd toEdge'); + } + + if (wasBeginning && !isBeginning || wasEnd && !isEnd) { + swiper.emit('fromEdge'); + } + + swiper.emit('progress', progress); + } + + function updateSlidesClasses() { + const swiper = this; + const { + slides, + params, + $wrapperEl, + activeIndex, + realIndex + } = swiper; + const isVirtual = swiper.virtual && params.virtual.enabled; + slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`); + let activeSlide; + + if (isVirtual) { + activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`); + } else { + activeSlide = slides.eq(activeIndex); + } // Active classes + + + activeSlide.addClass(params.slideActiveClass); + + if (params.loop) { + // Duplicate to all looped slides + if (activeSlide.hasClass(params.slideDuplicateClass)) { + $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass); + } else { + $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass); + } + } // Next Slide + + + let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass); + + if (params.loop && nextSlide.length === 0) { + nextSlide = slides.eq(0); + nextSlide.addClass(params.slideNextClass); + } // Prev Slide + + + let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass); + + if (params.loop && prevSlide.length === 0) { + prevSlide = slides.eq(-1); + prevSlide.addClass(params.slidePrevClass); + } + + if (params.loop) { + // Duplicate to all looped slides + if (nextSlide.hasClass(params.slideDuplicateClass)) { + $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass); + } else { + $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass); + } + + if (prevSlide.hasClass(params.slideDuplicateClass)) { + $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass); + } else { + $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass); + } + } + + swiper.emitSlidesClasses(); + } + + function updateActiveIndex(newActiveIndex) { + const swiper = this; + const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; + const { + slidesGrid, + snapGrid, + params, + activeIndex: previousIndex, + realIndex: previousRealIndex, + snapIndex: previousSnapIndex + } = swiper; + let activeIndex = newActiveIndex; + let snapIndex; + + if (typeof activeIndex === 'undefined') { + for (let i = 0; i < slidesGrid.length; i += 1) { + if (typeof slidesGrid[i + 1] !== 'undefined') { + if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { + activeIndex = i; + } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { + activeIndex = i + 1; + } + } else if (translate >= slidesGrid[i]) { + activeIndex = i; + } + } // Normalize slideIndex + + + if (params.normalizeSlideIndex) { + if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; + } + } + + if (snapGrid.indexOf(translate) >= 0) { + snapIndex = snapGrid.indexOf(translate); + } else { + const skip = Math.min(params.slidesPerGroupSkip, activeIndex); + snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); + } + + if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; + + if (activeIndex === previousIndex) { + if (snapIndex !== previousSnapIndex) { + swiper.snapIndex = snapIndex; + swiper.emit('snapIndexChange'); + } + + return; + } // Get real index + + + const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10); + Object.assign(swiper, { + snapIndex, + realIndex, + previousIndex, + activeIndex + }); + swiper.emit('activeIndexChange'); + swiper.emit('snapIndexChange'); + + if (previousRealIndex !== realIndex) { + swiper.emit('realIndexChange'); + } + + if (swiper.initialized || swiper.params.runCallbacksOnInit) { + swiper.emit('slideChange'); + } + } + + function updateClickedSlide(e) { + const swiper = this; + const params = swiper.params; + const slide = $(e).closest(`.${params.slideClass}`)[0]; + let slideFound = false; + let slideIndex; + + if (slide) { + for (let i = 0; i < swiper.slides.length; i += 1) { + if (swiper.slides[i] === slide) { + slideFound = true; + slideIndex = i; + break; + } + } + } + + if (slide && slideFound) { + swiper.clickedSlide = slide; + + if (swiper.virtual && swiper.params.virtual.enabled) { + swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10); + } else { + swiper.clickedIndex = slideIndex; + } + } else { + swiper.clickedSlide = undefined; + swiper.clickedIndex = undefined; + return; + } + + if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { + swiper.slideToClickedSlide(); + } + } + + var update = { + updateSize, + updateSlides, + updateAutoHeight, + updateSlidesOffset, + updateSlidesProgress, + updateProgress, + updateSlidesClasses, + updateActiveIndex, + updateClickedSlide + }; + + function getSwiperTranslate(axis) { + if (axis === void 0) { + axis = this.isHorizontal() ? 'x' : 'y'; + } + + const swiper = this; + const { + params, + rtlTranslate: rtl, + translate, + $wrapperEl + } = swiper; + + if (params.virtualTranslate) { + return rtl ? -translate : translate; + } + + if (params.cssMode) { + return translate; + } + + let currentTranslate = getTranslate($wrapperEl[0], axis); + if (rtl) currentTranslate = -currentTranslate; + return currentTranslate || 0; + } + + function setTranslate(translate, byController) { + const swiper = this; + const { + rtlTranslate: rtl, + params, + $wrapperEl, + wrapperEl, + progress + } = swiper; + let x = 0; + let y = 0; + const z = 0; + + if (swiper.isHorizontal()) { + x = rtl ? -translate : translate; + } else { + y = translate; + } + + if (params.roundLengths) { + x = Math.floor(x); + y = Math.floor(y); + } + + if (params.cssMode) { + wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; + } else if (!params.virtualTranslate) { + $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`); + } + + swiper.previousTranslate = swiper.translate; + swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress + + let newProgress; + const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); + + if (translatesDiff === 0) { + newProgress = 0; + } else { + newProgress = (translate - swiper.minTranslate()) / translatesDiff; + } + + if (newProgress !== progress) { + swiper.updateProgress(translate); + } + + swiper.emit('setTranslate', swiper.translate, byController); + } + + function minTranslate() { + return -this.snapGrid[0]; + } + + function maxTranslate() { + return -this.snapGrid[this.snapGrid.length - 1]; + } + + function translateTo(translate, speed, runCallbacks, translateBounds, internal) { + if (translate === void 0) { + translate = 0; + } + + if (speed === void 0) { + speed = this.params.speed; + } + + if (runCallbacks === void 0) { + runCallbacks = true; + } + + if (translateBounds === void 0) { + translateBounds = true; + } + + const swiper = this; + const { + params, + wrapperEl + } = swiper; + + if (swiper.animating && params.preventInteractionOnTransition) { + return false; + } + + const minTranslate = swiper.minTranslate(); + const maxTranslate = swiper.maxTranslate(); + let newTranslate; + if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress + + swiper.updateProgress(newTranslate); + + if (params.cssMode) { + const isH = swiper.isHorizontal(); + + if (speed === 0) { + wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; + } else { + if (!swiper.support.smoothScroll) { + animateCSSModeScroll({ + swiper, + targetPosition: -newTranslate, + side: isH ? 'left' : 'top' + }); + return true; + } + + wrapperEl.scrollTo({ + [isH ? 'left' : 'top']: -newTranslate, + behavior: 'smooth' + }); + } + + return true; + } + + if (speed === 0) { + swiper.setTransition(0); + swiper.setTranslate(newTranslate); + + if (runCallbacks) { + swiper.emit('beforeTransitionStart', speed, internal); + swiper.emit('transitionEnd'); + } + } else { + swiper.setTransition(speed); + swiper.setTranslate(newTranslate); + + if (runCallbacks) { + swiper.emit('beforeTransitionStart', speed, internal); + swiper.emit('transitionStart'); + } + + if (!swiper.animating) { + swiper.animating = true; + + if (!swiper.onTranslateToWrapperTransitionEnd) { + swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { + if (!swiper || swiper.destroyed) return; + if (e.target !== this) return; + swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); + swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd); + swiper.onTranslateToWrapperTransitionEnd = null; + delete swiper.onTranslateToWrapperTransitionEnd; + + if (runCallbacks) { + swiper.emit('transitionEnd'); + } + }; + } + + swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); + swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd); + } + } + + return true; + } + + var translate = { + getTranslate: getSwiperTranslate, + setTranslate, + minTranslate, + maxTranslate, + translateTo + }; + + function setTransition(duration, byController) { + const swiper = this; + + if (!swiper.params.cssMode) { + swiper.$wrapperEl.transition(duration); + } + + swiper.emit('setTransition', duration, byController); + } + + function transitionEmit(_ref) { + let { + swiper, + runCallbacks, + direction, + step + } = _ref; + const { + activeIndex, + previousIndex + } = swiper; + let dir = direction; + + if (!dir) { + if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; + } + + swiper.emit(`transition${step}`); + + if (runCallbacks && activeIndex !== previousIndex) { + if (dir === 'reset') { + swiper.emit(`slideResetTransition${step}`); + return; + } + + swiper.emit(`slideChangeTransition${step}`); + + if (dir === 'next') { + swiper.emit(`slideNextTransition${step}`); + } else { + swiper.emit(`slidePrevTransition${step}`); + } + } + } + + function transitionStart(runCallbacks, direction) { + if (runCallbacks === void 0) { + runCallbacks = true; + } + + const swiper = this; + const { + params + } = swiper; + if (params.cssMode) return; + + if (params.autoHeight) { + swiper.updateAutoHeight(); + } + + transitionEmit({ + swiper, + runCallbacks, + direction, + step: 'Start' + }); + } + + function transitionEnd(runCallbacks, direction) { + if (runCallbacks === void 0) { + runCallbacks = true; + } + + const swiper = this; + const { + params + } = swiper; + swiper.animating = false; + if (params.cssMode) return; + swiper.setTransition(0); + transitionEmit({ + swiper, + runCallbacks, + direction, + step: 'End' + }); + } + + var transition = { + setTransition, + transitionStart, + transitionEnd + }; + + function slideTo(index, speed, runCallbacks, internal, initial) { + if (index === void 0) { + index = 0; + } + + if (speed === void 0) { + speed = this.params.speed; + } + + if (runCallbacks === void 0) { + runCallbacks = true; + } + + if (typeof index !== 'number' && typeof index !== 'string') { + throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`); + } + + if (typeof index === 'string') { + /** + * The `index` argument converted from `string` to `number`. + * @type {number} + */ + const indexAsNumber = parseInt(index, 10); + /** + * Determines whether the `index` argument is a valid `number` + * after being converted from the `string` type. + * @type {boolean} + */ + + const isValidNumber = isFinite(indexAsNumber); + + if (!isValidNumber) { + throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`); + } // Knowing that the converted `index` is a valid number, + // we can update the original argument's value. + + + index = indexAsNumber; + } + + const swiper = this; + let slideIndex = index; + if (slideIndex < 0) slideIndex = 0; + const { + params, + snapGrid, + slidesGrid, + previousIndex, + activeIndex, + rtlTranslate: rtl, + wrapperEl, + enabled + } = swiper; + + if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) { + return false; + } + + const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); + let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); + if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; + const translate = -snapGrid[snapIndex]; // Normalize slideIndex + + if (params.normalizeSlideIndex) { + for (let i = 0; i < slidesGrid.length; i += 1) { + const normalizedTranslate = -Math.floor(translate * 100); + const normalizedGrid = Math.floor(slidesGrid[i] * 100); + const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); + + if (typeof slidesGrid[i + 1] !== 'undefined') { + if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { + slideIndex = i; + } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { + slideIndex = i + 1; + } + } else if (normalizedTranslate >= normalizedGrid) { + slideIndex = i; + } + } + } // Directions locks + + + if (swiper.initialized && slideIndex !== activeIndex) { + if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) { + return false; + } + + if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { + if ((activeIndex || 0) !== slideIndex) return false; + } + } + + if (slideIndex !== (previousIndex || 0) && runCallbacks) { + swiper.emit('beforeSlideChangeStart'); + } // Update progress + + + swiper.updateProgress(translate); + let direction; + if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index + + if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) { + swiper.updateActiveIndex(slideIndex); // Update Height + + if (params.autoHeight) { + swiper.updateAutoHeight(); + } + + swiper.updateSlidesClasses(); + + if (params.effect !== 'slide') { + swiper.setTranslate(translate); + } + + if (direction !== 'reset') { + swiper.transitionStart(runCallbacks, direction); + swiper.transitionEnd(runCallbacks, direction); + } + + return false; + } + + if (params.cssMode) { + const isH = swiper.isHorizontal(); + const t = rtl ? translate : -translate; + + if (speed === 0) { + const isVirtual = swiper.virtual && swiper.params.virtual.enabled; + + if (isVirtual) { + swiper.wrapperEl.style.scrollSnapType = 'none'; + swiper._immediateVirtual = true; + } + + wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; + + if (isVirtual) { + requestAnimationFrame(() => { + swiper.wrapperEl.style.scrollSnapType = ''; + swiper._swiperImmediateVirtual = false; + }); + } + } else { + if (!swiper.support.smoothScroll) { + animateCSSModeScroll({ + swiper, + targetPosition: t, + side: isH ? 'left' : 'top' + }); + return true; + } + + wrapperEl.scrollTo({ + [isH ? 'left' : 'top']: t, + behavior: 'smooth' + }); + } + + return true; + } + + swiper.setTransition(speed); + swiper.setTranslate(translate); + swiper.updateActiveIndex(slideIndex); + swiper.updateSlidesClasses(); + swiper.emit('beforeTransitionStart', speed, internal); + swiper.transitionStart(runCallbacks, direction); + + if (speed === 0) { + swiper.transitionEnd(runCallbacks, direction); + } else if (!swiper.animating) { + swiper.animating = true; + + if (!swiper.onSlideToWrapperTransitionEnd) { + swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { + if (!swiper || swiper.destroyed) return; + if (e.target !== this) return; + swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); + swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd); + swiper.onSlideToWrapperTransitionEnd = null; + delete swiper.onSlideToWrapperTransitionEnd; + swiper.transitionEnd(runCallbacks, direction); + }; + } + + swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); + swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd); + } + + return true; + } + + function slideToLoop(index, speed, runCallbacks, internal) { + if (index === void 0) { + index = 0; + } + + if (speed === void 0) { + speed = this.params.speed; + } + + if (runCallbacks === void 0) { + runCallbacks = true; + } + + if (typeof index === 'string') { + /** + * The `index` argument converted from `string` to `number`. + * @type {number} + */ + const indexAsNumber = parseInt(index, 10); + /** + * Determines whether the `index` argument is a valid `number` + * after being converted from the `string` type. + * @type {boolean} + */ + + const isValidNumber = isFinite(indexAsNumber); + + if (!isValidNumber) { + throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`); + } // Knowing that the converted `index` is a valid number, + // we can update the original argument's value. + + + index = indexAsNumber; + } + + const swiper = this; + let newIndex = index; + + if (swiper.params.loop) { + newIndex += swiper.loopedSlides; + } + + return swiper.slideTo(newIndex, speed, runCallbacks, internal); + } + + /* eslint no-unused-vars: "off" */ + function slideNext(speed, runCallbacks, internal) { + if (speed === void 0) { + speed = this.params.speed; + } + + if (runCallbacks === void 0) { + runCallbacks = true; + } + + const swiper = this; + const { + animating, + enabled, + params + } = swiper; + if (!enabled) return swiper; + let perGroup = params.slidesPerGroup; + + if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { + perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); + } + + const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; + + if (params.loop) { + if (animating && params.loopPreventsSlide) return false; + swiper.loopFix(); // eslint-disable-next-line + + swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; + } + + if (params.rewind && swiper.isEnd) { + return swiper.slideTo(0, speed, runCallbacks, internal); + } + + return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); + } + + /* eslint no-unused-vars: "off" */ + function slidePrev(speed, runCallbacks, internal) { + if (speed === void 0) { + speed = this.params.speed; + } + + if (runCallbacks === void 0) { + runCallbacks = true; + } + + const swiper = this; + const { + params, + animating, + snapGrid, + slidesGrid, + rtlTranslate, + enabled + } = swiper; + if (!enabled) return swiper; + + if (params.loop) { + if (animating && params.loopPreventsSlide) return false; + swiper.loopFix(); // eslint-disable-next-line + + swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; + } + + const translate = rtlTranslate ? swiper.translate : -swiper.translate; + + function normalize(val) { + if (val < 0) return -Math.floor(Math.abs(val)); + return Math.floor(val); + } + + const normalizedTranslate = normalize(translate); + const normalizedSnapGrid = snapGrid.map(val => normalize(val)); + let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; + + if (typeof prevSnap === 'undefined' && params.cssMode) { + let prevSnapIndex; + snapGrid.forEach((snap, snapIndex) => { + if (normalizedTranslate >= snap) { + // prevSnap = snap; + prevSnapIndex = snapIndex; + } + }); + + if (typeof prevSnapIndex !== 'undefined') { + prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; + } + } + + let prevIndex = 0; + + if (typeof prevSnap !== 'undefined') { + prevIndex = slidesGrid.indexOf(prevSnap); + if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; + + if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { + prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; + prevIndex = Math.max(prevIndex, 0); + } + } + + if (params.rewind && swiper.isBeginning) { + const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; + return swiper.slideTo(lastIndex, speed, runCallbacks, internal); + } + + return swiper.slideTo(prevIndex, speed, runCallbacks, internal); + } + + /* eslint no-unused-vars: "off" */ + function slideReset(speed, runCallbacks, internal) { + if (speed === void 0) { + speed = this.params.speed; + } + + if (runCallbacks === void 0) { + runCallbacks = true; + } + + const swiper = this; + return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); + } + + /* eslint no-unused-vars: "off" */ + function slideToClosest(speed, runCallbacks, internal, threshold) { + if (speed === void 0) { + speed = this.params.speed; + } + + if (runCallbacks === void 0) { + runCallbacks = true; + } + + if (threshold === void 0) { + threshold = 0.5; + } + + const swiper = this; + let index = swiper.activeIndex; + const skip = Math.min(swiper.params.slidesPerGroupSkip, index); + const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); + const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; + + if (translate >= swiper.snapGrid[snapIndex]) { + // The current translate is on or after the current snap index, so the choice + // is between the current index and the one after it. + const currentSnap = swiper.snapGrid[snapIndex]; + const nextSnap = swiper.snapGrid[snapIndex + 1]; + + if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { + index += swiper.params.slidesPerGroup; + } + } else { + // The current translate is before the current snap index, so the choice + // is between the current index and the one before it. + const prevSnap = swiper.snapGrid[snapIndex - 1]; + const currentSnap = swiper.snapGrid[snapIndex]; + + if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { + index -= swiper.params.slidesPerGroup; + } + } + + index = Math.max(index, 0); + index = Math.min(index, swiper.slidesGrid.length - 1); + return swiper.slideTo(index, speed, runCallbacks, internal); + } + + function slideToClickedSlide() { + const swiper = this; + const { + params, + $wrapperEl + } = swiper; + const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; + let slideToIndex = swiper.clickedIndex; + let realIndex; + + if (params.loop) { + if (swiper.animating) return; + realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10); + + if (params.centeredSlides) { + if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) { + swiper.loopFix(); + slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index(); + nextTick(() => { + swiper.slideTo(slideToIndex); + }); + } else { + swiper.slideTo(slideToIndex); + } + } else if (slideToIndex > swiper.slides.length - slidesPerView) { + swiper.loopFix(); + slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index(); + nextTick(() => { + swiper.slideTo(slideToIndex); + }); + } else { + swiper.slideTo(slideToIndex); + } + } else { + swiper.slideTo(slideToIndex); + } + } + + var slide = { + slideTo, + slideToLoop, + slideNext, + slidePrev, + slideReset, + slideToClosest, + slideToClickedSlide + }; + + function loopCreate() { + const swiper = this; + const document = getDocument(); + const { + params, + $wrapperEl + } = swiper; // Remove duplicated slides + + const $selector = $wrapperEl.children().length > 0 ? $($wrapperEl.children()[0].parentNode) : $wrapperEl; + $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove(); + let slides = $selector.children(`.${params.slideClass}`); + + if (params.loopFillGroupWithBlank) { + const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup; + + if (blankSlidesNum !== params.slidesPerGroup) { + for (let i = 0; i < blankSlidesNum; i += 1) { + const blankNode = $(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`); + $selector.append(blankNode); + } + + slides = $selector.children(`.${params.slideClass}`); + } + } + + if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length; + swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10)); + swiper.loopedSlides += params.loopAdditionalSlides; + + if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) { + swiper.loopedSlides = slides.length; + } + + const prependSlides = []; + const appendSlides = []; + slides.each((el, index) => { + const slide = $(el); + slide.attr('data-swiper-slide-index', index); + }); + + for (let i = 0; i < swiper.loopedSlides; i += 1) { + const index = i - Math.floor(i / slides.length) * slides.length; + appendSlides.push(slides.eq(index)[0]); + prependSlides.unshift(slides.eq(slides.length - index - 1)[0]); + } + + for (let i = 0; i < appendSlides.length; i += 1) { + $selector.append($(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass)); + } + + for (let i = prependSlides.length - 1; i >= 0; i -= 1) { + $selector.prepend($(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass)); + } + } + + function loopFix() { + const swiper = this; + swiper.emit('beforeLoopFix'); + const { + activeIndex, + slides, + loopedSlides, + allowSlidePrev, + allowSlideNext, + snapGrid, + rtlTranslate: rtl + } = swiper; + let newIndex; + swiper.allowSlidePrev = true; + swiper.allowSlideNext = true; + const snapTranslate = -snapGrid[activeIndex]; + const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding + + if (activeIndex < loopedSlides) { + newIndex = slides.length - loopedSlides * 3 + activeIndex; + newIndex += loopedSlides; + const slideChanged = swiper.slideTo(newIndex, 0, false, true); + + if (slideChanged && diff !== 0) { + swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff); + } + } else if (activeIndex >= slides.length - loopedSlides) { + // Fix For Positive Oversliding + newIndex = -slides.length + activeIndex + loopedSlides; + newIndex += loopedSlides; + const slideChanged = swiper.slideTo(newIndex, 0, false, true); + + if (slideChanged && diff !== 0) { + swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff); + } + } + + swiper.allowSlidePrev = allowSlidePrev; + swiper.allowSlideNext = allowSlideNext; + swiper.emit('loopFix'); + } + + function loopDestroy() { + const swiper = this; + const { + $wrapperEl, + params, + slides + } = swiper; + $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove(); + slides.removeAttr('data-swiper-slide-index'); + } + + var loop = { + loopCreate, + loopFix, + loopDestroy + }; + + function setGrabCursor(moving) { + const swiper = this; + if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; + const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; + el.style.cursor = 'move'; + el.style.cursor = moving ? 'grabbing' : 'grab'; + } + + function unsetGrabCursor() { + const swiper = this; + + if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { + return; + } + + swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; + } + + var grabCursor = { + setGrabCursor, + unsetGrabCursor + }; + + function closestElement(selector, base) { + if (base === void 0) { + base = this; + } + + function __closestFrom(el) { + if (!el || el === getDocument() || el === getWindow()) return null; + if (el.assignedSlot) el = el.assignedSlot; + const found = el.closest(selector); + + if (!found && !el.getRootNode) { + return null; + } + + return found || __closestFrom(el.getRootNode().host); + } + + return __closestFrom(base); + } + + function onTouchStart(event) { + const swiper = this; + const document = getDocument(); + const window = getWindow(); + const data = swiper.touchEventsData; + const { + params, + touches, + enabled + } = swiper; + if (!enabled) return; + + if (swiper.animating && params.preventInteractionOnTransition) { + return; + } + + if (!swiper.animating && params.cssMode && params.loop) { + swiper.loopFix(); + } + + let e = event; + if (e.originalEvent) e = e.originalEvent; + let $targetEl = $(e.target); + + if (params.touchEventsTarget === 'wrapper') { + if (!$targetEl.closest(swiper.wrapperEl).length) return; + } + + data.isTouchEvent = e.type === 'touchstart'; + if (!data.isTouchEvent && 'which' in e && e.which === 3) return; + if (!data.isTouchEvent && 'button' in e && e.button > 0) return; + if (data.isTouched && data.isMoved) return; // change target el for shadow root component + + const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; // eslint-disable-next-line + + const eventPath = event.composedPath ? event.composedPath() : event.path; + + if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) { + $targetEl = $(eventPath[0]); + } + + const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; + const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element + + if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) { + swiper.allowClick = true; + return; + } + + if (params.swipeHandler) { + if (!$targetEl.closest(params.swipeHandler)[0]) return; + } + + touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; + touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; + const startX = touches.currentX; + const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore + + const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection; + const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold; + + if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { + if (edgeSwipeDetection === 'prevent') { + event.preventDefault(); + } else { + return; + } + } + + Object.assign(data, { + isTouched: true, + isMoved: false, + allowTouchCallbacks: true, + isScrolling: undefined, + startMoving: undefined + }); + touches.startX = startX; + touches.startY = startY; + data.touchStartTime = now(); + swiper.allowClick = true; + swiper.updateSize(); + swiper.swipeDirection = undefined; + if (params.threshold > 0) data.allowThresholdMove = false; + + if (e.type !== 'touchstart') { + let preventDefault = true; + + if ($targetEl.is(data.focusableElements)) { + preventDefault = false; + + if ($targetEl[0].nodeName === 'SELECT') { + data.isTouched = false; + } + } + + if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) { + document.activeElement.blur(); + } + + const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; + + if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) { + e.preventDefault(); + } + } + + if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { + swiper.freeMode.onTouchStart(); + } + + swiper.emit('touchStart', e); + } + + function onTouchMove(event) { + const document = getDocument(); + const swiper = this; + const data = swiper.touchEventsData; + const { + params, + touches, + rtlTranslate: rtl, + enabled + } = swiper; + if (!enabled) return; + let e = event; + if (e.originalEvent) e = e.originalEvent; + + if (!data.isTouched) { + if (data.startMoving && data.isScrolling) { + swiper.emit('touchMoveOpposite', e); + } + + return; + } + + if (data.isTouchEvent && e.type !== 'touchmove') return; + const targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]); + const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX; + const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY; + + if (e.preventedByNestedSwiper) { + touches.startX = pageX; + touches.startY = pageY; + return; + } + + if (!swiper.allowTouchMove) { + if (!$(e.target).is(data.focusableElements)) { + swiper.allowClick = false; + } + + if (data.isTouched) { + Object.assign(touches, { + startX: pageX, + startY: pageY, + currentX: pageX, + currentY: pageY + }); + data.touchStartTime = now(); + } + + return; + } + + if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) { + if (swiper.isVertical()) { + // Vertical + if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { + data.isTouched = false; + data.isMoved = false; + return; + } + } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) { + return; + } + } + + if (data.isTouchEvent && document.activeElement) { + if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) { + data.isMoved = true; + swiper.allowClick = false; + return; + } + } + + if (data.allowTouchCallbacks) { + swiper.emit('touchMove', e); + } + + if (e.targetTouches && e.targetTouches.length > 1) return; + touches.currentX = pageX; + touches.currentY = pageY; + const diffX = touches.currentX - touches.startX; + const diffY = touches.currentY - touches.startY; + if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; + + if (typeof data.isScrolling === 'undefined') { + let touchAngle; + + if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { + data.isScrolling = false; + } else { + // eslint-disable-next-line + if (diffX * diffX + diffY * diffY >= 25) { + touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; + data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; + } + } + } + + if (data.isScrolling) { + swiper.emit('touchMoveOpposite', e); + } + + if (typeof data.startMoving === 'undefined') { + if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { + data.startMoving = true; + } + } + + if (data.isScrolling) { + data.isTouched = false; + return; + } + + if (!data.startMoving) { + return; + } + + swiper.allowClick = false; + + if (!params.cssMode && e.cancelable) { + e.preventDefault(); + } + + if (params.touchMoveStopPropagation && !params.nested) { + e.stopPropagation(); + } + + if (!data.isMoved) { + if (params.loop && !params.cssMode) { + swiper.loopFix(); + } + + data.startTranslate = swiper.getTranslate(); + swiper.setTransition(0); + + if (swiper.animating) { + swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend'); + } + + data.allowMomentumBounce = false; // Grab Cursor + + if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { + swiper.setGrabCursor(true); + } + + swiper.emit('sliderFirstMove', e); + } + + swiper.emit('sliderMove', e); + data.isMoved = true; + let diff = swiper.isHorizontal() ? diffX : diffY; + touches.diff = diff; + diff *= params.touchRatio; + if (rtl) diff = -diff; + swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; + data.currentTranslate = diff + data.startTranslate; + let disableParentSwiper = true; + let resistanceRatio = params.resistanceRatio; + + if (params.touchReleaseOnEdges) { + resistanceRatio = 0; + } + + if (diff > 0 && data.currentTranslate > swiper.minTranslate()) { + disableParentSwiper = false; + if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; + } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) { + disableParentSwiper = false; + if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; + } + + if (disableParentSwiper) { + e.preventedByNestedSwiper = true; + } // Directions locks + + + if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { + data.currentTranslate = data.startTranslate; + } + + if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { + data.currentTranslate = data.startTranslate; + } + + if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { + data.currentTranslate = data.startTranslate; + } // Threshold + + + if (params.threshold > 0) { + if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { + if (!data.allowThresholdMove) { + data.allowThresholdMove = true; + touches.startX = touches.currentX; + touches.startY = touches.currentY; + data.currentTranslate = data.startTranslate; + touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; + return; + } + } else { + data.currentTranslate = data.startTranslate; + return; + } + } + + if (!params.followFinger || params.cssMode) return; // Update active index in free mode + + if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + + if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) { + swiper.freeMode.onTouchMove(); + } // Update progress + + + swiper.updateProgress(data.currentTranslate); // Update translate + + swiper.setTranslate(data.currentTranslate); + } + + function onTouchEnd(event) { + const swiper = this; + const data = swiper.touchEventsData; + const { + params, + touches, + rtlTranslate: rtl, + slidesGrid, + enabled + } = swiper; + if (!enabled) return; + let e = event; + if (e.originalEvent) e = e.originalEvent; + + if (data.allowTouchCallbacks) { + swiper.emit('touchEnd', e); + } + + data.allowTouchCallbacks = false; + + if (!data.isTouched) { + if (data.isMoved && params.grabCursor) { + swiper.setGrabCursor(false); + } + + data.isMoved = false; + data.startMoving = false; + return; + } // Return Grab Cursor + + + if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { + swiper.setGrabCursor(false); + } // Time diff + + + const touchEndTime = now(); + const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click + + if (swiper.allowClick) { + const pathTree = e.path || e.composedPath && e.composedPath(); + swiper.updateClickedSlide(pathTree && pathTree[0] || e.target); + swiper.emit('tap click', e); + + if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { + swiper.emit('doubleTap doubleClick', e); + } + } + + data.lastClickTime = now(); + nextTick(() => { + if (!swiper.destroyed) swiper.allowClick = true; + }); + + if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) { + data.isTouched = false; + data.isMoved = false; + data.startMoving = false; + return; + } + + data.isTouched = false; + data.isMoved = false; + data.startMoving = false; + let currentPos; + + if (params.followFinger) { + currentPos = rtl ? swiper.translate : -swiper.translate; + } else { + currentPos = -data.currentTranslate; + } + + if (params.cssMode) { + return; + } + + if (swiper.params.freeMode && params.freeMode.enabled) { + swiper.freeMode.onTouchEnd({ + currentPos + }); + return; + } // Find current slide + + + let stopIndex = 0; + let groupSize = swiper.slidesSizesGrid[0]; + + for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { + const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; + + if (typeof slidesGrid[i + increment] !== 'undefined') { + if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { + stopIndex = i; + groupSize = slidesGrid[i + increment] - slidesGrid[i]; + } + } else if (currentPos >= slidesGrid[i]) { + stopIndex = i; + groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; + } + } + + let rewindFirstIndex = null; + let rewindLastIndex = null; + + if (params.rewind) { + if (swiper.isBeginning) { + rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; + } else if (swiper.isEnd) { + rewindFirstIndex = 0; + } + } // Find current slide size + + + const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; + const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; + + if (timeDiff > params.longSwipesMs) { + // Long touches + if (!params.longSwipes) { + swiper.slideTo(swiper.activeIndex); + return; + } + + if (swiper.swipeDirection === 'next') { + if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); + } + + if (swiper.swipeDirection === 'prev') { + if (ratio > 1 - params.longSwipesRatio) { + swiper.slideTo(stopIndex + increment); + } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { + swiper.slideTo(rewindLastIndex); + } else { + swiper.slideTo(stopIndex); + } + } + } else { + // Short swipes + if (!params.shortSwipes) { + swiper.slideTo(swiper.activeIndex); + return; + } + + const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); + + if (!isNavButtonTarget) { + if (swiper.swipeDirection === 'next') { + swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); + } + + if (swiper.swipeDirection === 'prev') { + swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); + } + } else if (e.target === swiper.navigation.nextEl) { + swiper.slideTo(stopIndex + increment); + } else { + swiper.slideTo(stopIndex); + } + } + } + + function onResize() { + const swiper = this; + const { + params, + el + } = swiper; + if (el && el.offsetWidth === 0) return; // Breakpoints + + if (params.breakpoints) { + swiper.setBreakpoint(); + } // Save locks + + + const { + allowSlideNext, + allowSlidePrev, + snapGrid + } = swiper; // Disable locks on resize + + swiper.allowSlideNext = true; + swiper.allowSlidePrev = true; + swiper.updateSize(); + swiper.updateSlides(); + swiper.updateSlidesClasses(); + + if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) { + swiper.slideTo(swiper.slides.length - 1, 0, false, true); + } else { + swiper.slideTo(swiper.activeIndex, 0, false, true); + } + + if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { + swiper.autoplay.run(); + } // Return locks after resize + + + swiper.allowSlidePrev = allowSlidePrev; + swiper.allowSlideNext = allowSlideNext; + + if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { + swiper.checkOverflow(); + } + } + + function onClick(e) { + const swiper = this; + if (!swiper.enabled) return; + + if (!swiper.allowClick) { + if (swiper.params.preventClicks) e.preventDefault(); + + if (swiper.params.preventClicksPropagation && swiper.animating) { + e.stopPropagation(); + e.stopImmediatePropagation(); + } + } + } + + function onScroll() { + const swiper = this; + const { + wrapperEl, + rtlTranslate, + enabled + } = swiper; + if (!enabled) return; + swiper.previousTranslate = swiper.translate; + + if (swiper.isHorizontal()) { + swiper.translate = -wrapperEl.scrollLeft; + } else { + swiper.translate = -wrapperEl.scrollTop; + } // eslint-disable-next-line + + + if (swiper.translate === 0) swiper.translate = 0; + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + let newProgress; + const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); + + if (translatesDiff === 0) { + newProgress = 0; + } else { + newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; + } + + if (newProgress !== swiper.progress) { + swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); + } + + swiper.emit('setTranslate', swiper.translate, false); + } + + let dummyEventAttached = false; + + function dummyEventListener() {} + + const events = (swiper, method) => { + const document = getDocument(); + const { + params, + touchEvents, + el, + wrapperEl, + device, + support + } = swiper; + const capture = !!params.nested; + const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; + const swiperMethod = method; // Touch Events + + if (!support.touch) { + el[domMethod](touchEvents.start, swiper.onTouchStart, false); + document[domMethod](touchEvents.move, swiper.onTouchMove, capture); + document[domMethod](touchEvents.end, swiper.onTouchEnd, false); + } else { + const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? { + passive: true, + capture: false + } : false; + el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener); + el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? { + passive: false, + capture + } : capture); + el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener); + + if (touchEvents.cancel) { + el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener); + } + } // Prevent Links Clicks + + + if (params.preventClicks || params.preventClicksPropagation) { + el[domMethod]('click', swiper.onClick, true); + } + + if (params.cssMode) { + wrapperEl[domMethod]('scroll', swiper.onScroll); + } // Resize handler + + + if (params.updateOnWindowResize) { + swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true); + } else { + swiper[swiperMethod]('observerUpdate', onResize, true); + } + }; + + function attachEvents() { + const swiper = this; + const document = getDocument(); + const { + params, + support + } = swiper; + swiper.onTouchStart = onTouchStart.bind(swiper); + swiper.onTouchMove = onTouchMove.bind(swiper); + swiper.onTouchEnd = onTouchEnd.bind(swiper); + + if (params.cssMode) { + swiper.onScroll = onScroll.bind(swiper); + } + + swiper.onClick = onClick.bind(swiper); + + if (support.touch && !dummyEventAttached) { + document.addEventListener('touchstart', dummyEventListener); + dummyEventAttached = true; + } + + events(swiper, 'on'); + } + + function detachEvents() { + const swiper = this; + events(swiper, 'off'); + } + + var events$1 = { + attachEvents, + detachEvents + }; + + const isGridEnabled = (swiper, params) => { + return swiper.grid && params.grid && params.grid.rows > 1; + }; + + function setBreakpoint() { + const swiper = this; + const { + activeIndex, + initialized, + loopedSlides = 0, + params, + $el + } = swiper; + const breakpoints = params.breakpoints; + if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters + + const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); + if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; + const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; + const breakpointParams = breakpointOnlyParams || swiper.originalParams; + const wasMultiRow = isGridEnabled(swiper, params); + const isMultiRow = isGridEnabled(swiper, breakpointParams); + const wasEnabled = params.enabled; + + if (wasMultiRow && !isMultiRow) { + $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`); + swiper.emitContainerClasses(); + } else if (!wasMultiRow && isMultiRow) { + $el.addClass(`${params.containerModifierClass}grid`); + + if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { + $el.addClass(`${params.containerModifierClass}grid-column`); + } + + swiper.emitContainerClasses(); + } // Toggle navigation, pagination, scrollbar + + + ['navigation', 'pagination', 'scrollbar'].forEach(prop => { + const wasModuleEnabled = params[prop] && params[prop].enabled; + const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; + + if (wasModuleEnabled && !isModuleEnabled) { + swiper[prop].disable(); + } + + if (!wasModuleEnabled && isModuleEnabled) { + swiper[prop].enable(); + } + }); + const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; + const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); + + if (directionChanged && initialized) { + swiper.changeDirection(); + } + + extend(swiper.params, breakpointParams); + const isEnabled = swiper.params.enabled; + Object.assign(swiper, { + allowTouchMove: swiper.params.allowTouchMove, + allowSlideNext: swiper.params.allowSlideNext, + allowSlidePrev: swiper.params.allowSlidePrev + }); + + if (wasEnabled && !isEnabled) { + swiper.disable(); + } else if (!wasEnabled && isEnabled) { + swiper.enable(); + } + + swiper.currentBreakpoint = breakpoint; + swiper.emit('_beforeBreakpoint', breakpointParams); + + if (needsReLoop && initialized) { + swiper.loopDestroy(); + swiper.loopCreate(); + swiper.updateSlides(); + swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false); + } + + swiper.emit('breakpoint', breakpointParams); + } + + function getBreakpoint(breakpoints, base, containerEl) { + if (base === void 0) { + base = 'window'; + } + + if (!breakpoints || base === 'container' && !containerEl) return undefined; + let breakpoint = false; + const window = getWindow(); + const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; + const points = Object.keys(breakpoints).map(point => { + if (typeof point === 'string' && point.indexOf('@') === 0) { + const minRatio = parseFloat(point.substr(1)); + const value = currentHeight * minRatio; + return { + value, + point + }; + } + + return { + value: point, + point + }; + }); + points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); + + for (let i = 0; i < points.length; i += 1) { + const { + point, + value + } = points[i]; + + if (base === 'window') { + if (window.matchMedia(`(min-width: ${value}px)`).matches) { + breakpoint = point; + } + } else if (value <= containerEl.clientWidth) { + breakpoint = point; + } + } + + return breakpoint || 'max'; + } + + var breakpoints = { + setBreakpoint, + getBreakpoint + }; + + function prepareClasses(entries, prefix) { + const resultClasses = []; + entries.forEach(item => { + if (typeof item === 'object') { + Object.keys(item).forEach(classNames => { + if (item[classNames]) { + resultClasses.push(prefix + classNames); + } + }); + } else if (typeof item === 'string') { + resultClasses.push(prefix + item); + } + }); + return resultClasses; + } + + function addClasses() { + const swiper = this; + const { + classNames, + params, + rtl, + $el, + device, + support + } = swiper; // prettier-ignore + + const suffixes = prepareClasses(['initialized', params.direction, { + 'pointer-events': !support.touch + }, { + 'free-mode': swiper.params.freeMode && params.freeMode.enabled + }, { + 'autoheight': params.autoHeight + }, { + 'rtl': rtl + }, { + 'grid': params.grid && params.grid.rows > 1 + }, { + 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' + }, { + 'android': device.android + }, { + 'ios': device.ios + }, { + 'css-mode': params.cssMode + }, { + 'centered': params.cssMode && params.centeredSlides + }, { + 'watch-progress': params.watchSlidesProgress + }], params.containerModifierClass); + classNames.push(...suffixes); + $el.addClass([...classNames].join(' ')); + swiper.emitContainerClasses(); + } + + function removeClasses() { + const swiper = this; + const { + $el, + classNames + } = swiper; + $el.removeClass(classNames.join(' ')); + swiper.emitContainerClasses(); + } + + var classes = { + addClasses, + removeClasses + }; + + function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) { + const window = getWindow(); + let image; + + function onReady() { + if (callback) callback(); + } + + const isPicture = $(imageEl).parent('picture')[0]; + + if (!isPicture && (!imageEl.complete || !checkForComplete)) { + if (src) { + image = new window.Image(); + image.onload = onReady; + image.onerror = onReady; + + if (sizes) { + image.sizes = sizes; + } + + if (srcset) { + image.srcset = srcset; + } + + if (src) { + image.src = src; + } + } else { + onReady(); + } + } else { + // image already loaded... + onReady(); + } + } + + function preloadImages() { + const swiper = this; + swiper.imagesToLoad = swiper.$el.find('img'); + + function onReady() { + if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return; + if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1; + + if (swiper.imagesLoaded === swiper.imagesToLoad.length) { + if (swiper.params.updateOnImagesReady) swiper.update(); + swiper.emit('imagesReady'); + } + } + + for (let i = 0; i < swiper.imagesToLoad.length; i += 1) { + const imageEl = swiper.imagesToLoad[i]; + swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady); + } + } + + var images = { + loadImage, + preloadImages + }; + + function checkOverflow() { + const swiper = this; + const { + isLocked: wasLocked, + params + } = swiper; + const { + slidesOffsetBefore + } = params; + + if (slidesOffsetBefore) { + const lastSlideIndex = swiper.slides.length - 1; + const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; + swiper.isLocked = swiper.size > lastSlideRightEdge; + } else { + swiper.isLocked = swiper.snapGrid.length === 1; + } + + if (params.allowSlideNext === true) { + swiper.allowSlideNext = !swiper.isLocked; + } + + if (params.allowSlidePrev === true) { + swiper.allowSlidePrev = !swiper.isLocked; + } + + if (wasLocked && wasLocked !== swiper.isLocked) { + swiper.isEnd = false; + } + + if (wasLocked !== swiper.isLocked) { + swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); + } + } + + var checkOverflow$1 = { + checkOverflow + }; + + var defaults = { + init: true, + direction: 'horizontal', + touchEventsTarget: 'wrapper', + initialSlide: 0, + speed: 300, + cssMode: false, + updateOnWindowResize: true, + resizeObserver: true, + nested: false, + createElements: false, + enabled: true, + focusableElements: 'input, select, option, textarea, button, video, label', + // Overrides + width: null, + height: null, + // + preventInteractionOnTransition: false, + // ssr + userAgent: null, + url: null, + // To support iOS's swipe-to-go-back gesture (when being used in-app). + edgeSwipeDetection: false, + edgeSwipeThreshold: 20, + // Autoheight + autoHeight: false, + // Set wrapper width + setWrapperSize: false, + // Virtual Translate + virtualTranslate: false, + // Effects + effect: 'slide', + // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' + // Breakpoints + breakpoints: undefined, + breakpointsBase: 'window', + // Slides grid + spaceBetween: 0, + slidesPerView: 1, + slidesPerGroup: 1, + slidesPerGroupSkip: 0, + slidesPerGroupAuto: false, + centeredSlides: false, + centeredSlidesBounds: false, + slidesOffsetBefore: 0, + // in px + slidesOffsetAfter: 0, + // in px + normalizeSlideIndex: true, + centerInsufficientSlides: false, + // Disable swiper and hide navigation when container not overflow + watchOverflow: true, + // Round length + roundLengths: false, + // Touches + touchRatio: 1, + touchAngle: 45, + simulateTouch: true, + shortSwipes: true, + longSwipes: true, + longSwipesRatio: 0.5, + longSwipesMs: 300, + followFinger: true, + allowTouchMove: true, + threshold: 0, + touchMoveStopPropagation: false, + touchStartPreventDefault: true, + touchStartForcePreventDefault: false, + touchReleaseOnEdges: false, + // Unique Navigation Elements + uniqueNavElements: true, + // Resistance + resistance: true, + resistanceRatio: 0.85, + // Progress + watchSlidesProgress: false, + // Cursor + grabCursor: false, + // Clicks + preventClicks: true, + preventClicksPropagation: true, + slideToClickedSlide: false, + // Images + preloadImages: true, + updateOnImagesReady: true, + // loop + loop: false, + loopAdditionalSlides: 0, + loopedSlides: null, + loopedSlidesLimit: true, + loopFillGroupWithBlank: false, + loopPreventsSlide: true, + // rewind + rewind: false, + // Swiping/no swiping + allowSlidePrev: true, + allowSlideNext: true, + swipeHandler: null, + // '.swipe-handler', + noSwiping: true, + noSwipingClass: 'swiper-no-swiping', + noSwipingSelector: null, + // Passive Listeners + passiveListeners: true, + maxBackfaceHiddenSlides: 10, + // NS + containerModifierClass: 'swiper-', + // NEW + slideClass: 'swiper-slide', + slideBlankClass: 'swiper-slide-invisible-blank', + slideActiveClass: 'swiper-slide-active', + slideDuplicateActiveClass: 'swiper-slide-duplicate-active', + slideVisibleClass: 'swiper-slide-visible', + slideDuplicateClass: 'swiper-slide-duplicate', + slideNextClass: 'swiper-slide-next', + slideDuplicateNextClass: 'swiper-slide-duplicate-next', + slidePrevClass: 'swiper-slide-prev', + slideDuplicatePrevClass: 'swiper-slide-duplicate-prev', + wrapperClass: 'swiper-wrapper', + // Callbacks + runCallbacksOnInit: true, + // Internals + _emitClasses: false + }; + + function moduleExtendParams(params, allModulesParams) { + return function extendParams(obj) { + if (obj === void 0) { + obj = {}; + } + + const moduleParamName = Object.keys(obj)[0]; + const moduleParams = obj[moduleParamName]; + + if (typeof moduleParams !== 'object' || moduleParams === null) { + extend(allModulesParams, obj); + return; + } + + if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) { + params[moduleParamName] = { + auto: true + }; + } + + if (!(moduleParamName in params && 'enabled' in moduleParams)) { + extend(allModulesParams, obj); + return; + } + + if (params[moduleParamName] === true) { + params[moduleParamName] = { + enabled: true + }; + } + + if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { + params[moduleParamName].enabled = true; + } + + if (!params[moduleParamName]) params[moduleParamName] = { + enabled: false + }; + extend(allModulesParams, obj); + }; + } + + /* eslint no-param-reassign: "off" */ + const prototypes = { + eventsEmitter, + update, + translate, + transition, + slide, + loop, + grabCursor, + events: events$1, + breakpoints, + checkOverflow: checkOverflow$1, + classes, + images + }; + const extendedDefaults = {}; + + class Swiper { + constructor() { + let el; + let params; + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { + params = args[0]; + } else { + [el, params] = args; + } + + if (!params) params = {}; + params = extend({}, params); + if (el && !params.el) params.el = el; + + if (params.el && $(params.el).length > 1) { + const swipers = []; + $(params.el).each(containerEl => { + const newParams = extend({}, params, { + el: containerEl + }); + swipers.push(new Swiper(newParams)); + }); // eslint-disable-next-line no-constructor-return + + return swipers; + } // Swiper Instance + + + const swiper = this; + swiper.__swiper__ = true; + swiper.support = getSupport(); + swiper.device = getDevice({ + userAgent: params.userAgent + }); + swiper.browser = getBrowser(); + swiper.eventsListeners = {}; + swiper.eventsAnyListeners = []; + swiper.modules = [...swiper.__modules__]; + + if (params.modules && Array.isArray(params.modules)) { + swiper.modules.push(...params.modules); + } + + const allModulesParams = {}; + swiper.modules.forEach(mod => { + mod({ + swiper, + extendParams: moduleExtendParams(params, allModulesParams), + on: swiper.on.bind(swiper), + once: swiper.once.bind(swiper), + off: swiper.off.bind(swiper), + emit: swiper.emit.bind(swiper) + }); + }); // Extend defaults with modules params + + const swiperParams = extend({}, defaults, allModulesParams); // Extend defaults with passed params + + swiper.params = extend({}, swiperParams, extendedDefaults, params); + swiper.originalParams = extend({}, swiper.params); + swiper.passedParams = extend({}, params); // add event listeners + + if (swiper.params && swiper.params.on) { + Object.keys(swiper.params.on).forEach(eventName => { + swiper.on(eventName, swiper.params.on[eventName]); + }); + } + + if (swiper.params && swiper.params.onAny) { + swiper.onAny(swiper.params.onAny); + } // Save Dom lib + + + swiper.$ = $; // Extend Swiper + + Object.assign(swiper, { + enabled: swiper.params.enabled, + el, + // Classes + classNames: [], + // Slides + slides: $(), + slidesGrid: [], + snapGrid: [], + slidesSizesGrid: [], + + // isDirection + isHorizontal() { + return swiper.params.direction === 'horizontal'; + }, + + isVertical() { + return swiper.params.direction === 'vertical'; + }, + + // Indexes + activeIndex: 0, + realIndex: 0, + // + isBeginning: true, + isEnd: false, + // Props + translate: 0, + previousTranslate: 0, + progress: 0, + velocity: 0, + animating: false, + // Locks + allowSlideNext: swiper.params.allowSlideNext, + allowSlidePrev: swiper.params.allowSlidePrev, + // Touch Events + touchEvents: function touchEvents() { + const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel']; + const desktop = ['pointerdown', 'pointermove', 'pointerup']; + swiper.touchEventsTouch = { + start: touch[0], + move: touch[1], + end: touch[2], + cancel: touch[3] + }; + swiper.touchEventsDesktop = { + start: desktop[0], + move: desktop[1], + end: desktop[2] + }; + return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop; + }(), + touchEventsData: { + isTouched: undefined, + isMoved: undefined, + allowTouchCallbacks: undefined, + touchStartTime: undefined, + isScrolling: undefined, + currentTranslate: undefined, + startTranslate: undefined, + allowThresholdMove: undefined, + // Form elements to match + focusableElements: swiper.params.focusableElements, + // Last click time + lastClickTime: now(), + clickTimeout: undefined, + // Velocities + velocities: [], + allowMomentumBounce: undefined, + isTouchEvent: undefined, + startMoving: undefined + }, + // Clicks + allowClick: true, + // Touches + allowTouchMove: swiper.params.allowTouchMove, + touches: { + startX: 0, + startY: 0, + currentX: 0, + currentY: 0, + diff: 0 + }, + // Images + imagesToLoad: [], + imagesLoaded: 0 + }); + swiper.emit('_swiper'); // Init + + if (swiper.params.init) { + swiper.init(); + } // Return app instance + // eslint-disable-next-line no-constructor-return + + + return swiper; + } + + enable() { + const swiper = this; + if (swiper.enabled) return; + swiper.enabled = true; + + if (swiper.params.grabCursor) { + swiper.setGrabCursor(); + } + + swiper.emit('enable'); + } + + disable() { + const swiper = this; + if (!swiper.enabled) return; + swiper.enabled = false; + + if (swiper.params.grabCursor) { + swiper.unsetGrabCursor(); + } + + swiper.emit('disable'); + } + + setProgress(progress, speed) { + const swiper = this; + progress = Math.min(Math.max(progress, 0), 1); + const min = swiper.minTranslate(); + const max = swiper.maxTranslate(); + const current = (max - min) * progress + min; + swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + + emitContainerClasses() { + const swiper = this; + if (!swiper.params._emitClasses || !swiper.el) return; + const cls = swiper.el.className.split(' ').filter(className => { + return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; + }); + swiper.emit('_containerClasses', cls.join(' ')); + } + + getSlideClasses(slideEl) { + const swiper = this; + if (swiper.destroyed) return ''; + return slideEl.className.split(' ').filter(className => { + return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; + }).join(' '); + } + + emitSlidesClasses() { + const swiper = this; + if (!swiper.params._emitClasses || !swiper.el) return; + const updates = []; + swiper.slides.each(slideEl => { + const classNames = swiper.getSlideClasses(slideEl); + updates.push({ + slideEl, + classNames + }); + swiper.emit('_slideClass', slideEl, classNames); + }); + swiper.emit('_slideClasses', updates); + } + + slidesPerViewDynamic(view, exact) { + if (view === void 0) { + view = 'current'; + } + + if (exact === void 0) { + exact = false; + } + + const swiper = this; + const { + params, + slides, + slidesGrid, + slidesSizesGrid, + size: swiperSize, + activeIndex + } = swiper; + let spv = 1; + + if (params.centeredSlides) { + let slideSize = slides[activeIndex].swiperSlideSize; + let breakLoop; + + for (let i = activeIndex + 1; i < slides.length; i += 1) { + if (slides[i] && !breakLoop) { + slideSize += slides[i].swiperSlideSize; + spv += 1; + if (slideSize > swiperSize) breakLoop = true; + } + } + + for (let i = activeIndex - 1; i >= 0; i -= 1) { + if (slides[i] && !breakLoop) { + slideSize += slides[i].swiperSlideSize; + spv += 1; + if (slideSize > swiperSize) breakLoop = true; + } + } + } else { + // eslint-disable-next-line + if (view === 'current') { + for (let i = activeIndex + 1; i < slides.length; i += 1) { + const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; + + if (slideInView) { + spv += 1; + } + } + } else { + // previous + for (let i = activeIndex - 1; i >= 0; i -= 1) { + const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; + + if (slideInView) { + spv += 1; + } + } + } + } + + return spv; + } + + update() { + const swiper = this; + if (!swiper || swiper.destroyed) return; + const { + snapGrid, + params + } = swiper; // Breakpoints + + if (params.breakpoints) { + swiper.setBreakpoint(); + } + + swiper.updateSize(); + swiper.updateSlides(); + swiper.updateProgress(); + swiper.updateSlidesClasses(); + + function setTranslate() { + const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; + const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); + swiper.setTranslate(newTranslate); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + + let translated; + + if (swiper.params.freeMode && swiper.params.freeMode.enabled) { + setTranslate(); + + if (swiper.params.autoHeight) { + swiper.updateAutoHeight(); + } + } else { + if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) { + translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true); + } else { + translated = swiper.slideTo(swiper.activeIndex, 0, false, true); + } + + if (!translated) { + setTranslate(); + } + } + + if (params.watchOverflow && snapGrid !== swiper.snapGrid) { + swiper.checkOverflow(); + } + + swiper.emit('update'); + } + + changeDirection(newDirection, needUpdate) { + if (needUpdate === void 0) { + needUpdate = true; + } + + const swiper = this; + const currentDirection = swiper.params.direction; + + if (!newDirection) { + // eslint-disable-next-line + newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; + } + + if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { + return swiper; + } + + swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`); + swiper.emitContainerClasses(); + swiper.params.direction = newDirection; + swiper.slides.each(slideEl => { + if (newDirection === 'vertical') { + slideEl.style.width = ''; + } else { + slideEl.style.height = ''; + } + }); + swiper.emit('changeDirection'); + if (needUpdate) swiper.update(); + return swiper; + } + + changeLanguageDirection(direction) { + const swiper = this; + if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; + swiper.rtl = direction === 'rtl'; + swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; + + if (swiper.rtl) { + swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`); + swiper.el.dir = 'rtl'; + } else { + swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`); + swiper.el.dir = 'ltr'; + } + + swiper.update(); + } + + mount(el) { + const swiper = this; + if (swiper.mounted) return true; // Find el + + const $el = $(el || swiper.params.el); + el = $el[0]; + + if (!el) { + return false; + } + + el.swiper = swiper; + + const getWrapperSelector = () => { + return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; + }; + + const getWrapper = () => { + if (el && el.shadowRoot && el.shadowRoot.querySelector) { + const res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items + + res.children = options => $el.children(options); + + return res; + } + + if (!$el.children) { + return $($el).children(getWrapperSelector()); + } + + return $el.children(getWrapperSelector()); + }; // Find Wrapper + + + let $wrapperEl = getWrapper(); + + if ($wrapperEl.length === 0 && swiper.params.createElements) { + const document = getDocument(); + const wrapper = document.createElement('div'); + $wrapperEl = $(wrapper); + wrapper.className = swiper.params.wrapperClass; + $el.append(wrapper); + $el.children(`.${swiper.params.slideClass}`).each(slideEl => { + $wrapperEl.append(slideEl); + }); + } + + Object.assign(swiper, { + $el, + el, + $wrapperEl, + wrapperEl: $wrapperEl[0], + mounted: true, + // RTL + rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl', + rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'), + wrongRTL: $wrapperEl.css('display') === '-webkit-box' + }); + return true; + } + + init(el) { + const swiper = this; + if (swiper.initialized) return swiper; + const mounted = swiper.mount(el); + if (mounted === false) return swiper; + swiper.emit('beforeInit'); // Set breakpoint + + if (swiper.params.breakpoints) { + swiper.setBreakpoint(); + } // Add Classes + + + swiper.addClasses(); // Create loop + + if (swiper.params.loop) { + swiper.loopCreate(); + } // Update size + + + swiper.updateSize(); // Update slides + + swiper.updateSlides(); + + if (swiper.params.watchOverflow) { + swiper.checkOverflow(); + } // Set Grab Cursor + + + if (swiper.params.grabCursor && swiper.enabled) { + swiper.setGrabCursor(); + } + + if (swiper.params.preloadImages) { + swiper.preloadImages(); + } // Slide To Initial Slide + + + if (swiper.params.loop) { + swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true); + } else { + swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); + } // Attach events + + + swiper.attachEvents(); // Init Flag + + swiper.initialized = true; // Emit + + swiper.emit('init'); + swiper.emit('afterInit'); + return swiper; + } + + destroy(deleteInstance, cleanStyles) { + if (deleteInstance === void 0) { + deleteInstance = true; + } + + if (cleanStyles === void 0) { + cleanStyles = true; + } + + const swiper = this; + const { + params, + $el, + $wrapperEl, + slides + } = swiper; + + if (typeof swiper.params === 'undefined' || swiper.destroyed) { + return null; + } + + swiper.emit('beforeDestroy'); // Init Flag + + swiper.initialized = false; // Detach events + + swiper.detachEvents(); // Destroy loop + + if (params.loop) { + swiper.loopDestroy(); + } // Cleanup styles + + + if (cleanStyles) { + swiper.removeClasses(); + $el.removeAttr('style'); + $wrapperEl.removeAttr('style'); + + if (slides && slides.length) { + slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index'); + } + } + + swiper.emit('destroy'); // Detach emitter events + + Object.keys(swiper.eventsListeners).forEach(eventName => { + swiper.off(eventName); + }); + + if (deleteInstance !== false) { + swiper.$el[0].swiper = null; + deleteProps(swiper); + } + + swiper.destroyed = true; + return null; + } + + static extendDefaults(newDefaults) { + extend(extendedDefaults, newDefaults); + } + + static get extendedDefaults() { + return extendedDefaults; + } + + static get defaults() { + return defaults; + } + + static installModule(mod) { + if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; + const modules = Swiper.prototype.__modules__; + + if (typeof mod === 'function' && modules.indexOf(mod) < 0) { + modules.push(mod); + } + } + + static use(module) { + if (Array.isArray(module)) { + module.forEach(m => Swiper.installModule(m)); + return Swiper; + } + + Swiper.installModule(module); + return Swiper; + } + + } + + Object.keys(prototypes).forEach(prototypeGroup => { + Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { + Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; + }); + }); + Swiper.use([Resize, Observer]); + + function Virtual(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + extendParams({ + virtual: { + enabled: false, + slides: [], + cache: true, + renderSlide: null, + renderExternal: null, + renderExternalUpdate: true, + addSlidesBefore: 0, + addSlidesAfter: 0 + } + }); + let cssModeTimeout; + swiper.virtual = { + cache: {}, + from: undefined, + to: undefined, + slides: [], + offset: 0, + slidesGrid: [] + }; + + function renderSlide(slide, index) { + const params = swiper.params.virtual; + + if (params.cache && swiper.virtual.cache[index]) { + return swiper.virtual.cache[index]; + } + + const $slideEl = params.renderSlide ? $(params.renderSlide.call(swiper, slide, index)) : $(`
    ${slide}
    `); + if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index); + if (params.cache) swiper.virtual.cache[index] = $slideEl; + return $slideEl; + } + + function update(force) { + const { + slidesPerView, + slidesPerGroup, + centeredSlides + } = swiper.params; + const { + addSlidesBefore, + addSlidesAfter + } = swiper.params.virtual; + const { + from: previousFrom, + to: previousTo, + slides, + slidesGrid: previousSlidesGrid, + offset: previousOffset + } = swiper.virtual; + + if (!swiper.params.cssMode) { + swiper.updateActiveIndex(); + } + + const activeIndex = swiper.activeIndex || 0; + let offsetProp; + if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top'; + let slidesAfter; + let slidesBefore; + + if (centeredSlides) { + slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter; + slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore; + } else { + slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter; + slidesBefore = slidesPerGroup + addSlidesBefore; + } + + const from = Math.max((activeIndex || 0) - slidesBefore, 0); + const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1); + const offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0); + Object.assign(swiper.virtual, { + from, + to, + offset, + slidesGrid: swiper.slidesGrid + }); + + function onRendered() { + swiper.updateSlides(); + swiper.updateProgress(); + swiper.updateSlidesClasses(); + + if (swiper.lazy && swiper.params.lazy.enabled) { + swiper.lazy.load(); + } + + emit('virtualUpdate'); + } + + if (previousFrom === from && previousTo === to && !force) { + if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) { + swiper.slides.css(offsetProp, `${offset}px`); + } + + swiper.updateProgress(); + emit('virtualUpdate'); + return; + } + + if (swiper.params.virtual.renderExternal) { + swiper.params.virtual.renderExternal.call(swiper, { + offset, + from, + to, + slides: function getSlides() { + const slidesToRender = []; + + for (let i = from; i <= to; i += 1) { + slidesToRender.push(slides[i]); + } + + return slidesToRender; + }() + }); + + if (swiper.params.virtual.renderExternalUpdate) { + onRendered(); + } else { + emit('virtualUpdate'); + } + + return; + } + + const prependIndexes = []; + const appendIndexes = []; + + if (force) { + swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove(); + } else { + for (let i = previousFrom; i <= previousTo; i += 1) { + if (i < from || i > to) { + swiper.$wrapperEl.find(`.${swiper.params.slideClass}[data-swiper-slide-index="${i}"]`).remove(); + } + } + } + + for (let i = 0; i < slides.length; i += 1) { + if (i >= from && i <= to) { + if (typeof previousTo === 'undefined' || force) { + appendIndexes.push(i); + } else { + if (i > previousTo) appendIndexes.push(i); + if (i < previousFrom) prependIndexes.push(i); + } + } + } + + appendIndexes.forEach(index => { + swiper.$wrapperEl.append(renderSlide(slides[index], index)); + }); + prependIndexes.sort((a, b) => b - a).forEach(index => { + swiper.$wrapperEl.prepend(renderSlide(slides[index], index)); + }); + swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, `${offset}px`); + onRendered(); + } + + function appendSlide(slides) { + if (typeof slides === 'object' && 'length' in slides) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) swiper.virtual.slides.push(slides[i]); + } + } else { + swiper.virtual.slides.push(slides); + } + + update(true); + } + + function prependSlide(slides) { + const activeIndex = swiper.activeIndex; + let newActiveIndex = activeIndex + 1; + let numberOfNewSlides = 1; + + if (Array.isArray(slides)) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) swiper.virtual.slides.unshift(slides[i]); + } + + newActiveIndex = activeIndex + slides.length; + numberOfNewSlides = slides.length; + } else { + swiper.virtual.slides.unshift(slides); + } + + if (swiper.params.virtual.cache) { + const cache = swiper.virtual.cache; + const newCache = {}; + Object.keys(cache).forEach(cachedIndex => { + const $cachedEl = cache[cachedIndex]; + const cachedElIndex = $cachedEl.attr('data-swiper-slide-index'); + + if (cachedElIndex) { + $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides); + } + + newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl; + }); + swiper.virtual.cache = newCache; + } + + update(true); + swiper.slideTo(newActiveIndex, 0); + } + + function removeSlide(slidesIndexes) { + if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return; + let activeIndex = swiper.activeIndex; + + if (Array.isArray(slidesIndexes)) { + for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) { + swiper.virtual.slides.splice(slidesIndexes[i], 1); + + if (swiper.params.virtual.cache) { + delete swiper.virtual.cache[slidesIndexes[i]]; + } + + if (slidesIndexes[i] < activeIndex) activeIndex -= 1; + activeIndex = Math.max(activeIndex, 0); + } + } else { + swiper.virtual.slides.splice(slidesIndexes, 1); + + if (swiper.params.virtual.cache) { + delete swiper.virtual.cache[slidesIndexes]; + } + + if (slidesIndexes < activeIndex) activeIndex -= 1; + activeIndex = Math.max(activeIndex, 0); + } + + update(true); + swiper.slideTo(activeIndex, 0); + } + + function removeAllSlides() { + swiper.virtual.slides = []; + + if (swiper.params.virtual.cache) { + swiper.virtual.cache = {}; + } + + update(true); + swiper.slideTo(0, 0); + } + + on('beforeInit', () => { + if (!swiper.params.virtual.enabled) return; + swiper.virtual.slides = swiper.params.virtual.slides; + swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`); + swiper.params.watchSlidesProgress = true; + swiper.originalParams.watchSlidesProgress = true; + + if (!swiper.params.initialSlide) { + update(); + } + }); + on('setTranslate', () => { + if (!swiper.params.virtual.enabled) return; + + if (swiper.params.cssMode && !swiper._immediateVirtual) { + clearTimeout(cssModeTimeout); + cssModeTimeout = setTimeout(() => { + update(); + }, 100); + } else { + update(); + } + }); + on('init update resize', () => { + if (!swiper.params.virtual.enabled) return; + + if (swiper.params.cssMode) { + setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`); + } + }); + Object.assign(swiper.virtual, { + appendSlide, + prependSlide, + removeSlide, + removeAllSlides, + update + }); + } + + /* eslint-disable consistent-return */ + function Keyboard(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const document = getDocument(); + const window = getWindow(); + swiper.keyboard = { + enabled: false + }; + extendParams({ + keyboard: { + enabled: false, + onlyInViewport: true, + pageUpDown: true + } + }); + + function handle(event) { + if (!swiper.enabled) return; + const { + rtlTranslate: rtl + } = swiper; + let e = event; + if (e.originalEvent) e = e.originalEvent; // jquery fix + + const kc = e.keyCode || e.charCode; + const pageUpDown = swiper.params.keyboard.pageUpDown; + const isPageUp = pageUpDown && kc === 33; + const isPageDown = pageUpDown && kc === 34; + const isArrowLeft = kc === 37; + const isArrowRight = kc === 39; + const isArrowUp = kc === 38; + const isArrowDown = kc === 40; // Directions locks + + if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) { + return false; + } + + if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) { + return false; + } + + if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) { + return undefined; + } + + if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) { + return undefined; + } + + if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) { + let inView = false; // Check that swiper should be inside of visible area of window + + if (swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 && swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0) { + return undefined; + } + + const $el = swiper.$el; + const swiperWidth = $el[0].clientWidth; + const swiperHeight = $el[0].clientHeight; + const windowWidth = window.innerWidth; + const windowHeight = window.innerHeight; + const swiperOffset = swiper.$el.offset(); + if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft; + const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]]; + + for (let i = 0; i < swiperCoord.length; i += 1) { + const point = swiperCoord[i]; + + if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) { + if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line + + inView = true; + } + } + + if (!inView) return undefined; + } + + if (swiper.isHorizontal()) { + if (isPageUp || isPageDown || isArrowLeft || isArrowRight) { + if (e.preventDefault) e.preventDefault();else e.returnValue = false; + } + + if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext(); + if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev(); + } else { + if (isPageUp || isPageDown || isArrowUp || isArrowDown) { + if (e.preventDefault) e.preventDefault();else e.returnValue = false; + } + + if (isPageDown || isArrowDown) swiper.slideNext(); + if (isPageUp || isArrowUp) swiper.slidePrev(); + } + + emit('keyPress', kc); + return undefined; + } + + function enable() { + if (swiper.keyboard.enabled) return; + $(document).on('keydown', handle); + swiper.keyboard.enabled = true; + } + + function disable() { + if (!swiper.keyboard.enabled) return; + $(document).off('keydown', handle); + swiper.keyboard.enabled = false; + } + + on('init', () => { + if (swiper.params.keyboard.enabled) { + enable(); + } + }); + on('destroy', () => { + if (swiper.keyboard.enabled) { + disable(); + } + }); + Object.assign(swiper.keyboard, { + enable, + disable + }); + } + + /* eslint-disable consistent-return */ + function Mousewheel(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const window = getWindow(); + extendParams({ + mousewheel: { + enabled: false, + releaseOnEdges: false, + invert: false, + forceToAxis: false, + sensitivity: 1, + eventsTarget: 'container', + thresholdDelta: null, + thresholdTime: null + } + }); + swiper.mousewheel = { + enabled: false + }; + let timeout; + let lastScrollTime = now(); + let lastEventBeforeSnap; + const recentWheelEvents = []; + + function normalize(e) { + // Reasonable defaults + const PIXEL_STEP = 10; + const LINE_HEIGHT = 40; + const PAGE_HEIGHT = 800; + let sX = 0; + let sY = 0; // spinX, spinY + + let pX = 0; + let pY = 0; // pixelX, pixelY + // Legacy + + if ('detail' in e) { + sY = e.detail; + } + + if ('wheelDelta' in e) { + sY = -e.wheelDelta / 120; + } + + if ('wheelDeltaY' in e) { + sY = -e.wheelDeltaY / 120; + } + + if ('wheelDeltaX' in e) { + sX = -e.wheelDeltaX / 120; + } // side scrolling on FF with DOMMouseScroll + + + if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) { + sX = sY; + sY = 0; + } + + pX = sX * PIXEL_STEP; + pY = sY * PIXEL_STEP; + + if ('deltaY' in e) { + pY = e.deltaY; + } + + if ('deltaX' in e) { + pX = e.deltaX; + } + + if (e.shiftKey && !pX) { + // if user scrolls with shift he wants horizontal scroll + pX = pY; + pY = 0; + } + + if ((pX || pY) && e.deltaMode) { + if (e.deltaMode === 1) { + // delta in LINE units + pX *= LINE_HEIGHT; + pY *= LINE_HEIGHT; + } else { + // delta in PAGE units + pX *= PAGE_HEIGHT; + pY *= PAGE_HEIGHT; + } + } // Fall-back if spin cannot be determined + + + if (pX && !sX) { + sX = pX < 1 ? -1 : 1; + } + + if (pY && !sY) { + sY = pY < 1 ? -1 : 1; + } + + return { + spinX: sX, + spinY: sY, + pixelX: pX, + pixelY: pY + }; + } + + function handleMouseEnter() { + if (!swiper.enabled) return; + swiper.mouseEntered = true; + } + + function handleMouseLeave() { + if (!swiper.enabled) return; + swiper.mouseEntered = false; + } + + function animateSlider(newEvent) { + if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) { + // Prevent if delta of wheel scroll delta is below configured threshold + return false; + } + + if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) { + // Prevent if time between scrolls is below configured threshold + return false; + } // If the movement is NOT big enough and + // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider): + // Don't go any further (avoid insignificant scroll movement). + + + if (newEvent.delta >= 6 && now() - lastScrollTime < 60) { + // Return false as a default + return true; + } // If user is scrolling towards the end: + // If the slider hasn't hit the latest slide or + // if the slider is a loop and + // if the slider isn't moving right now: + // Go to next slide and + // emit a scroll event. + // Else (the user is scrolling towards the beginning) and + // if the slider hasn't hit the first slide or + // if the slider is a loop and + // if the slider isn't moving right now: + // Go to prev slide and + // emit a scroll event. + + + if (newEvent.direction < 0) { + if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) { + swiper.slideNext(); + emit('scroll', newEvent.raw); + } + } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) { + swiper.slidePrev(); + emit('scroll', newEvent.raw); + } // If you got here is because an animation has been triggered so store the current time + + + lastScrollTime = new window.Date().getTime(); // Return false as a default + + return false; + } + + function releaseScroll(newEvent) { + const params = swiper.params.mousewheel; + + if (newEvent.direction < 0) { + if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) { + // Return true to animate scroll on edges + return true; + } + } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) { + // Return true to animate scroll on edges + return true; + } + + return false; + } + + function handle(event) { + let e = event; + let disableParentSwiper = true; + if (!swiper.enabled) return; + const params = swiper.params.mousewheel; + + if (swiper.params.cssMode) { + e.preventDefault(); + } + + let target = swiper.$el; + + if (swiper.params.mousewheel.eventsTarget !== 'container') { + target = $(swiper.params.mousewheel.eventsTarget); + } + + if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true; + if (e.originalEvent) e = e.originalEvent; // jquery fix + + let delta = 0; + const rtlFactor = swiper.rtlTranslate ? -1 : 1; + const data = normalize(e); + + if (params.forceToAxis) { + if (swiper.isHorizontal()) { + if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true; + } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true; + } else { + delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY; + } + + if (delta === 0) return true; + if (params.invert) delta = -delta; // Get the scroll positions + + let positions = swiper.getTranslate() + delta * params.sensitivity; + if (positions >= swiper.minTranslate()) positions = swiper.minTranslate(); + if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true: + // the disableParentSwiper will be true. + // When loop is false: + // if the scroll positions is not on edge, + // then the disableParentSwiper will be true. + // if the scroll on edge positions, + // then the disableParentSwiper will be false. + + disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate()); + if (disableParentSwiper && swiper.params.nested) e.stopPropagation(); + + if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) { + // Register the new event in a variable which stores the relevant data + const newEvent = { + time: now(), + delta: Math.abs(delta), + direction: Math.sign(delta), + raw: event + }; // Keep the most recent events + + if (recentWheelEvents.length >= 2) { + recentWheelEvents.shift(); // only store the last N events + } + + const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; + recentWheelEvents.push(newEvent); // If there is at least one previous recorded event: + // If direction has changed or + // if the scroll is quicker than the previous one: + // Animate the slider. + // Else (this is the first time the wheel is moved): + // Animate the slider. + + if (prevEvent) { + if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) { + animateSlider(newEvent); + } + } else { + animateSlider(newEvent); + } // If it's time to release the scroll: + // Return now so you don't hit the preventDefault. + + + if (releaseScroll(newEvent)) { + return true; + } + } else { + // Freemode or scrollContainer: + // If we recently snapped after a momentum scroll, then ignore wheel events + // to give time for the deceleration to finish. Stop ignoring after 500 msecs + // or if it's a new scroll (larger delta or inverse sign as last event before + // an end-of-momentum snap). + const newEvent = { + time: now(), + delta: Math.abs(delta), + direction: Math.sign(delta) + }; + const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction; + + if (!ignoreWheelEvents) { + lastEventBeforeSnap = undefined; + + if (swiper.params.loop) { + swiper.loopFix(); + } + + let position = swiper.getTranslate() + delta * params.sensitivity; + const wasBeginning = swiper.isBeginning; + const wasEnd = swiper.isEnd; + if (position >= swiper.minTranslate()) position = swiper.minTranslate(); + if (position <= swiper.maxTranslate()) position = swiper.maxTranslate(); + swiper.setTransition(0); + swiper.setTranslate(position); + swiper.updateProgress(); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + + if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) { + swiper.updateSlidesClasses(); + } + + if (swiper.params.freeMode.sticky) { + // When wheel scrolling starts with sticky (aka snap) enabled, then detect + // the end of a momentum scroll by storing recent (N=15?) wheel events. + // 1. do all N events have decreasing or same (absolute value) delta? + // 2. did all N events arrive in the last M (M=500?) msecs? + // 3. does the earliest event have an (absolute value) delta that's + // at least P (P=1?) larger than the most recent event's delta? + // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels? + // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration. + // Snap immediately and ignore remaining wheel events in this scroll. + // See comment above for "remaining wheel events in this scroll" determination. + // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event. + clearTimeout(timeout); + timeout = undefined; + + if (recentWheelEvents.length >= 15) { + recentWheelEvents.shift(); // only store the last N events + } + + const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; + const firstEvent = recentWheelEvents[0]; + recentWheelEvents.push(newEvent); + + if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) { + // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log. + recentWheelEvents.splice(0); + } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) { + // We're at the end of the deceleration of a momentum scroll, so there's no need + // to wait for more events. Snap ASAP on the next tick. + // Also, because there's some remaining momentum we'll bias the snap in the + // direction of the ongoing scroll because it's better UX for the scroll to snap + // in the same direction as the scroll instead of reversing to snap. Therefore, + // if it's already scrolled more than 20% in the current direction, keep going. + const snapToThreshold = delta > 0 ? 0.8 : 0.2; + lastEventBeforeSnap = newEvent; + recentWheelEvents.splice(0); + timeout = nextTick(() => { + swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); + }, 0); // no delay; move on next tick + } + + if (!timeout) { + // if we get here, then we haven't detected the end of a momentum scroll, so + // we'll consider a scroll "complete" when there haven't been any wheel events + // for 500ms. + timeout = nextTick(() => { + const snapToThreshold = 0.5; + lastEventBeforeSnap = newEvent; + recentWheelEvents.splice(0); + swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); + }, 500); + } + } // Emit event + + + if (!ignoreWheelEvents) emit('scroll', e); // Stop autoplay + + if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions + + if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true; + } + } + + if (e.preventDefault) e.preventDefault();else e.returnValue = false; + return false; + } + + function events(method) { + let target = swiper.$el; + + if (swiper.params.mousewheel.eventsTarget !== 'container') { + target = $(swiper.params.mousewheel.eventsTarget); + } + + target[method]('mouseenter', handleMouseEnter); + target[method]('mouseleave', handleMouseLeave); + target[method]('wheel', handle); + } + + function enable() { + if (swiper.params.cssMode) { + swiper.wrapperEl.removeEventListener('wheel', handle); + return true; + } + + if (swiper.mousewheel.enabled) return false; + events('on'); + swiper.mousewheel.enabled = true; + return true; + } + + function disable() { + if (swiper.params.cssMode) { + swiper.wrapperEl.addEventListener(event, handle); + return true; + } + + if (!swiper.mousewheel.enabled) return false; + events('off'); + swiper.mousewheel.enabled = false; + return true; + } + + on('init', () => { + if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) { + disable(); + } + + if (swiper.params.mousewheel.enabled) enable(); + }); + on('destroy', () => { + if (swiper.params.cssMode) { + enable(); + } + + if (swiper.mousewheel.enabled) disable(); + }); + Object.assign(swiper.mousewheel, { + enable, + disable + }); + } + + function createElementIfNotDefined(swiper, originalParams, params, checkProps) { + const document = getDocument(); + + if (swiper.params.createElements) { + Object.keys(checkProps).forEach(key => { + if (!params[key] && params.auto === true) { + let element = swiper.$el.children(`.${checkProps[key]}`)[0]; + + if (!element) { + element = document.createElement('div'); + element.className = checkProps[key]; + swiper.$el.append(element); + } + + params[key] = element; + originalParams[key] = element; + } + }); + } + + return params; + } + + function Navigation(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + extendParams({ + navigation: { + nextEl: null, + prevEl: null, + hideOnClick: false, + disabledClass: 'swiper-button-disabled', + hiddenClass: 'swiper-button-hidden', + lockClass: 'swiper-button-lock', + navigationDisabledClass: 'swiper-navigation-disabled' + } + }); + swiper.navigation = { + nextEl: null, + $nextEl: null, + prevEl: null, + $prevEl: null + }; + + function getEl(el) { + let $el; + + if (el) { + $el = $(el); + + if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) { + $el = swiper.$el.find(el); + } + } + + return $el; + } + + function toggleEl($el, disabled) { + const params = swiper.params.navigation; + + if ($el && $el.length > 0) { + $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass); + if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled; + + if (swiper.params.watchOverflow && swiper.enabled) { + $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); + } + } + } + + function update() { + // Update Navigation Buttons + if (swiper.params.loop) return; + const { + $nextEl, + $prevEl + } = swiper.navigation; + toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind); + toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind); + } + + function onPrevClick(e) { + e.preventDefault(); + if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return; + swiper.slidePrev(); + emit('navigationPrev'); + } + + function onNextClick(e) { + e.preventDefault(); + if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return; + swiper.slideNext(); + emit('navigationNext'); + } + + function init() { + const params = swiper.params.navigation; + swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, { + nextEl: 'swiper-button-next', + prevEl: 'swiper-button-prev' + }); + if (!(params.nextEl || params.prevEl)) return; + const $nextEl = getEl(params.nextEl); + const $prevEl = getEl(params.prevEl); + + if ($nextEl && $nextEl.length > 0) { + $nextEl.on('click', onNextClick); + } + + if ($prevEl && $prevEl.length > 0) { + $prevEl.on('click', onPrevClick); + } + + Object.assign(swiper.navigation, { + $nextEl, + nextEl: $nextEl && $nextEl[0], + $prevEl, + prevEl: $prevEl && $prevEl[0] + }); + + if (!swiper.enabled) { + if ($nextEl) $nextEl.addClass(params.lockClass); + if ($prevEl) $prevEl.addClass(params.lockClass); + } + } + + function destroy() { + const { + $nextEl, + $prevEl + } = swiper.navigation; + + if ($nextEl && $nextEl.length) { + $nextEl.off('click', onNextClick); + $nextEl.removeClass(swiper.params.navigation.disabledClass); + } + + if ($prevEl && $prevEl.length) { + $prevEl.off('click', onPrevClick); + $prevEl.removeClass(swiper.params.navigation.disabledClass); + } + } + + on('init', () => { + if (swiper.params.navigation.enabled === false) { + // eslint-disable-next-line + disable(); + } else { + init(); + update(); + } + }); + on('toEdge fromEdge lock unlock', () => { + update(); + }); + on('destroy', () => { + destroy(); + }); + on('enable disable', () => { + const { + $nextEl, + $prevEl + } = swiper.navigation; + + if ($nextEl) { + $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass); + } + + if ($prevEl) { + $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass); + } + }); + on('click', (_s, e) => { + const { + $nextEl, + $prevEl + } = swiper.navigation; + const targetEl = e.target; + + if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) { + if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return; + let isHidden; + + if ($nextEl) { + isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass); + } else if ($prevEl) { + isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass); + } + + if (isHidden === true) { + emit('navigationShow'); + } else { + emit('navigationHide'); + } + + if ($nextEl) { + $nextEl.toggleClass(swiper.params.navigation.hiddenClass); + } + + if ($prevEl) { + $prevEl.toggleClass(swiper.params.navigation.hiddenClass); + } + } + }); + + const enable = () => { + swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass); + init(); + update(); + }; + + const disable = () => { + swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass); + destroy(); + }; + + Object.assign(swiper.navigation, { + enable, + disable, + update, + init, + destroy + }); + } + + function classesToSelector(classes) { + if (classes === void 0) { + classes = ''; + } + + return `.${classes.trim().replace(/([\.:!\/])/g, '\\$1') // eslint-disable-line + .replace(/ /g, '.')}`; + } + + function Pagination(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const pfx = 'swiper-pagination'; + extendParams({ + pagination: { + el: null, + bulletElement: 'span', + clickable: false, + hideOnClick: false, + renderBullet: null, + renderProgressbar: null, + renderFraction: null, + renderCustom: null, + progressbarOpposite: false, + type: 'bullets', + // 'bullets' or 'progressbar' or 'fraction' or 'custom' + dynamicBullets: false, + dynamicMainBullets: 1, + formatFractionCurrent: number => number, + formatFractionTotal: number => number, + bulletClass: `${pfx}-bullet`, + bulletActiveClass: `${pfx}-bullet-active`, + modifierClass: `${pfx}-`, + currentClass: `${pfx}-current`, + totalClass: `${pfx}-total`, + hiddenClass: `${pfx}-hidden`, + progressbarFillClass: `${pfx}-progressbar-fill`, + progressbarOppositeClass: `${pfx}-progressbar-opposite`, + clickableClass: `${pfx}-clickable`, + lockClass: `${pfx}-lock`, + horizontalClass: `${pfx}-horizontal`, + verticalClass: `${pfx}-vertical`, + paginationDisabledClass: `${pfx}-disabled` + } + }); + swiper.pagination = { + el: null, + $el: null, + bullets: [] + }; + let bulletSize; + let dynamicBulletIndex = 0; + + function isPaginationDisabled() { + return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0; + } + + function setSideBullets($bulletEl, position) { + const { + bulletActiveClass + } = swiper.params.pagination; + $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`); + } + + function update() { + // Render || Update Pagination bullets/items + const rtl = swiper.rtl; + const params = swiper.params.pagination; + if (isPaginationDisabled()) return; + const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; + const $el = swiper.pagination.$el; // Current/Total + + let current; + const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length; + + if (swiper.params.loop) { + current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup); + + if (current > slidesLength - 1 - swiper.loopedSlides * 2) { + current -= slidesLength - swiper.loopedSlides * 2; + } + + if (current > total - 1) current -= total; + if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current; + } else if (typeof swiper.snapIndex !== 'undefined') { + current = swiper.snapIndex; + } else { + current = swiper.activeIndex || 0; + } // Types + + + if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) { + const bullets = swiper.pagination.bullets; + let firstIndex; + let lastIndex; + let midIndex; + + if (params.dynamicBullets) { + bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true); + $el.css(swiper.isHorizontal() ? 'width' : 'height', `${bulletSize * (params.dynamicMainBullets + 4)}px`); + + if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) { + dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0); + + if (dynamicBulletIndex > params.dynamicMainBullets - 1) { + dynamicBulletIndex = params.dynamicMainBullets - 1; + } else if (dynamicBulletIndex < 0) { + dynamicBulletIndex = 0; + } + } + + firstIndex = Math.max(current - dynamicBulletIndex, 0); + lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1); + midIndex = (lastIndex + firstIndex) / 2; + } + + bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`).join(' ')); + + if ($el.length > 1) { + bullets.each(bullet => { + const $bullet = $(bullet); + const bulletIndex = $bullet.index(); + + if (bulletIndex === current) { + $bullet.addClass(params.bulletActiveClass); + } + + if (params.dynamicBullets) { + if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) { + $bullet.addClass(`${params.bulletActiveClass}-main`); + } + + if (bulletIndex === firstIndex) { + setSideBullets($bullet, 'prev'); + } + + if (bulletIndex === lastIndex) { + setSideBullets($bullet, 'next'); + } + } + }); + } else { + const $bullet = bullets.eq(current); + const bulletIndex = $bullet.index(); + $bullet.addClass(params.bulletActiveClass); + + if (params.dynamicBullets) { + const $firstDisplayedBullet = bullets.eq(firstIndex); + const $lastDisplayedBullet = bullets.eq(lastIndex); + + for (let i = firstIndex; i <= lastIndex; i += 1) { + bullets.eq(i).addClass(`${params.bulletActiveClass}-main`); + } + + if (swiper.params.loop) { + if (bulletIndex >= bullets.length) { + for (let i = params.dynamicMainBullets; i >= 0; i -= 1) { + bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`); + } + + bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`); + } else { + setSideBullets($firstDisplayedBullet, 'prev'); + setSideBullets($lastDisplayedBullet, 'next'); + } + } else { + setSideBullets($firstDisplayedBullet, 'prev'); + setSideBullets($lastDisplayedBullet, 'next'); + } + } + } + + if (params.dynamicBullets) { + const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4); + const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize; + const offsetProp = rtl ? 'right' : 'left'; + bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`); + } + } + + if (params.type === 'fraction') { + $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1)); + $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total)); + } + + if (params.type === 'progressbar') { + let progressbarDirection; + + if (params.progressbarOpposite) { + progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal'; + } else { + progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical'; + } + + const scale = (current + 1) / total; + let scaleX = 1; + let scaleY = 1; + + if (progressbarDirection === 'horizontal') { + scaleX = scale; + } else { + scaleY = scale; + } + + $el.find(classesToSelector(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed); + } + + if (params.type === 'custom' && params.renderCustom) { + $el.html(params.renderCustom(swiper, current + 1, total)); + emit('paginationRender', $el[0]); + } else { + emit('paginationUpdate', $el[0]); + } + + if (swiper.params.watchOverflow && swiper.enabled) { + $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); + } + } + + function render() { + // Render Container + const params = swiper.params.pagination; + if (isPaginationDisabled()) return; + const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; + const $el = swiper.pagination.$el; + let paginationHTML = ''; + + if (params.type === 'bullets') { + let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length; + + if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) { + numberOfBullets = slidesLength; + } + + for (let i = 0; i < numberOfBullets; i += 1) { + if (params.renderBullet) { + paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass); + } else { + paginationHTML += `<${params.bulletElement} class="${params.bulletClass}">`; + } + } + + $el.html(paginationHTML); + swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass)); + } + + if (params.type === 'fraction') { + if (params.renderFraction) { + paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass); + } else { + paginationHTML = `` + ' / ' + ``; + } + + $el.html(paginationHTML); + } + + if (params.type === 'progressbar') { + if (params.renderProgressbar) { + paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass); + } else { + paginationHTML = ``; + } + + $el.html(paginationHTML); + } + + if (params.type !== 'custom') { + emit('paginationRender', swiper.pagination.$el[0]); + } + } + + function init() { + swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, { + el: 'swiper-pagination' + }); + const params = swiper.params.pagination; + if (!params.el) return; + let $el = $(params.el); + if ($el.length === 0) return; + + if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) { + $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper + + if ($el.length > 1) { + $el = $el.filter(el => { + if ($(el).parents('.swiper')[0] !== swiper.el) return false; + return true; + }); + } + } + + if (params.type === 'bullets' && params.clickable) { + $el.addClass(params.clickableClass); + } + + $el.addClass(params.modifierClass + params.type); + $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + + if (params.type === 'bullets' && params.dynamicBullets) { + $el.addClass(`${params.modifierClass}${params.type}-dynamic`); + dynamicBulletIndex = 0; + + if (params.dynamicMainBullets < 1) { + params.dynamicMainBullets = 1; + } + } + + if (params.type === 'progressbar' && params.progressbarOpposite) { + $el.addClass(params.progressbarOppositeClass); + } + + if (params.clickable) { + $el.on('click', classesToSelector(params.bulletClass), function onClick(e) { + e.preventDefault(); + let index = $(this).index() * swiper.params.slidesPerGroup; + if (swiper.params.loop) index += swiper.loopedSlides; + swiper.slideTo(index); + }); + } + + Object.assign(swiper.pagination, { + $el, + el: $el[0] + }); + + if (!swiper.enabled) { + $el.addClass(params.lockClass); + } + } + + function destroy() { + const params = swiper.params.pagination; + if (isPaginationDisabled()) return; + const $el = swiper.pagination.$el; + $el.removeClass(params.hiddenClass); + $el.removeClass(params.modifierClass + params.type); + $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass); + + if (params.clickable) { + $el.off('click', classesToSelector(params.bulletClass)); + } + } + + on('init', () => { + if (swiper.params.pagination.enabled === false) { + // eslint-disable-next-line + disable(); + } else { + init(); + render(); + update(); + } + }); + on('activeIndexChange', () => { + if (swiper.params.loop) { + update(); + } else if (typeof swiper.snapIndex === 'undefined') { + update(); + } + }); + on('snapIndexChange', () => { + if (!swiper.params.loop) { + update(); + } + }); + on('slidesLengthChange', () => { + if (swiper.params.loop) { + render(); + update(); + } + }); + on('snapGridLengthChange', () => { + if (!swiper.params.loop) { + render(); + update(); + } + }); + on('destroy', () => { + destroy(); + }); + on('enable disable', () => { + const { + $el + } = swiper.pagination; + + if ($el) { + $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass); + } + }); + on('lock unlock', () => { + update(); + }); + on('click', (_s, e) => { + const targetEl = e.target; + const { + $el + } = swiper.pagination; + + if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) { + if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return; + const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass); + + if (isHidden === true) { + emit('paginationShow'); + } else { + emit('paginationHide'); + } + + $el.toggleClass(swiper.params.pagination.hiddenClass); + } + }); + + const enable = () => { + swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass); + + if (swiper.pagination.$el) { + swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass); + } + + init(); + render(); + update(); + }; + + const disable = () => { + swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass); + + if (swiper.pagination.$el) { + swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass); + } + + destroy(); + }; + + Object.assign(swiper.pagination, { + enable, + disable, + render, + update, + init, + destroy + }); + } + + function Scrollbar(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const document = getDocument(); + let isTouched = false; + let timeout = null; + let dragTimeout = null; + let dragStartPos; + let dragSize; + let trackSize; + let divider; + extendParams({ + scrollbar: { + el: null, + dragSize: 'auto', + hide: false, + draggable: false, + snapOnRelease: true, + lockClass: 'swiper-scrollbar-lock', + dragClass: 'swiper-scrollbar-drag', + scrollbarDisabledClass: 'swiper-scrollbar-disabled', + horizontalClass: `swiper-scrollbar-horizontal`, + verticalClass: `swiper-scrollbar-vertical` + } + }); + swiper.scrollbar = { + el: null, + dragEl: null, + $el: null, + $dragEl: null + }; + + function setTranslate() { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + const { + scrollbar, + rtlTranslate: rtl, + progress + } = swiper; + const { + $dragEl, + $el + } = scrollbar; + const params = swiper.params.scrollbar; + let newSize = dragSize; + let newPos = (trackSize - dragSize) * progress; + + if (rtl) { + newPos = -newPos; + + if (newPos > 0) { + newSize = dragSize - newPos; + newPos = 0; + } else if (-newPos + dragSize > trackSize) { + newSize = trackSize + newPos; + } + } else if (newPos < 0) { + newSize = dragSize + newPos; + newPos = 0; + } else if (newPos + dragSize > trackSize) { + newSize = trackSize - newPos; + } + + if (swiper.isHorizontal()) { + $dragEl.transform(`translate3d(${newPos}px, 0, 0)`); + $dragEl[0].style.width = `${newSize}px`; + } else { + $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`); + $dragEl[0].style.height = `${newSize}px`; + } + + if (params.hide) { + clearTimeout(timeout); + $el[0].style.opacity = 1; + timeout = setTimeout(() => { + $el[0].style.opacity = 0; + $el.transition(400); + }, 1000); + } + } + + function setTransition(duration) { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + swiper.scrollbar.$dragEl.transition(duration); + } + + function updateSize() { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + const { + scrollbar + } = swiper; + const { + $dragEl, + $el + } = scrollbar; + $dragEl[0].style.width = ''; + $dragEl[0].style.height = ''; + trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight; + divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0)); + + if (swiper.params.scrollbar.dragSize === 'auto') { + dragSize = trackSize * divider; + } else { + dragSize = parseInt(swiper.params.scrollbar.dragSize, 10); + } + + if (swiper.isHorizontal()) { + $dragEl[0].style.width = `${dragSize}px`; + } else { + $dragEl[0].style.height = `${dragSize}px`; + } + + if (divider >= 1) { + $el[0].style.display = 'none'; + } else { + $el[0].style.display = ''; + } + + if (swiper.params.scrollbar.hide) { + $el[0].style.opacity = 0; + } + + if (swiper.params.watchOverflow && swiper.enabled) { + scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass); + } + } + + function getPointerPosition(e) { + if (swiper.isHorizontal()) { + return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX; + } + + return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY; + } + + function setDragPosition(e) { + const { + scrollbar, + rtlTranslate: rtl + } = swiper; + const { + $el + } = scrollbar; + let positionRatio; + positionRatio = (getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize); + positionRatio = Math.max(Math.min(positionRatio, 1), 0); + + if (rtl) { + positionRatio = 1 - positionRatio; + } + + const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio; + swiper.updateProgress(position); + swiper.setTranslate(position); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + + function onDragStart(e) { + const params = swiper.params.scrollbar; + const { + scrollbar, + $wrapperEl + } = swiper; + const { + $el, + $dragEl + } = scrollbar; + isTouched = true; + dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null; + e.preventDefault(); + e.stopPropagation(); + $wrapperEl.transition(100); + $dragEl.transition(100); + setDragPosition(e); + clearTimeout(dragTimeout); + $el.transition(0); + + if (params.hide) { + $el.css('opacity', 1); + } + + if (swiper.params.cssMode) { + swiper.$wrapperEl.css('scroll-snap-type', 'none'); + } + + emit('scrollbarDragStart', e); + } + + function onDragMove(e) { + const { + scrollbar, + $wrapperEl + } = swiper; + const { + $el, + $dragEl + } = scrollbar; + if (!isTouched) return; + if (e.preventDefault) e.preventDefault();else e.returnValue = false; + setDragPosition(e); + $wrapperEl.transition(0); + $el.transition(0); + $dragEl.transition(0); + emit('scrollbarDragMove', e); + } + + function onDragEnd(e) { + const params = swiper.params.scrollbar; + const { + scrollbar, + $wrapperEl + } = swiper; + const { + $el + } = scrollbar; + if (!isTouched) return; + isTouched = false; + + if (swiper.params.cssMode) { + swiper.$wrapperEl.css('scroll-snap-type', ''); + $wrapperEl.transition(''); + } + + if (params.hide) { + clearTimeout(dragTimeout); + dragTimeout = nextTick(() => { + $el.css('opacity', 0); + $el.transition(400); + }, 1000); + } + + emit('scrollbarDragEnd', e); + + if (params.snapOnRelease) { + swiper.slideToClosest(); + } + } + + function events(method) { + const { + scrollbar, + touchEventsTouch, + touchEventsDesktop, + params, + support + } = swiper; + const $el = scrollbar.$el; + if (!$el) return; + const target = $el[0]; + const activeListener = support.passiveListener && params.passiveListeners ? { + passive: false, + capture: false + } : false; + const passiveListener = support.passiveListener && params.passiveListeners ? { + passive: true, + capture: false + } : false; + if (!target) return; + const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; + + if (!support.touch) { + target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener); + document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener); + document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener); + } else { + target[eventMethod](touchEventsTouch.start, onDragStart, activeListener); + target[eventMethod](touchEventsTouch.move, onDragMove, activeListener); + target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener); + } + } + + function enableDraggable() { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + events('on'); + } + + function disableDraggable() { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + events('off'); + } + + function init() { + const { + scrollbar, + $el: $swiperEl + } = swiper; + swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, { + el: 'swiper-scrollbar' + }); + const params = swiper.params.scrollbar; + if (!params.el) return; + let $el = $(params.el); + + if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) { + $el = $swiperEl.find(params.el); + } + + $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`); + + if ($dragEl.length === 0) { + $dragEl = $(`
    `); + $el.append($dragEl); + } + + Object.assign(scrollbar, { + $el, + el: $el[0], + $dragEl, + dragEl: $dragEl[0] + }); + + if (params.draggable) { + enableDraggable(); + } + + if ($el) { + $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass); + } + } + + function destroy() { + const params = swiper.params.scrollbar; + const $el = swiper.scrollbar.$el; + + if ($el) { + $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + } + + disableDraggable(); + } + + on('init', () => { + if (swiper.params.scrollbar.enabled === false) { + // eslint-disable-next-line + disable(); + } else { + init(); + updateSize(); + setTranslate(); + } + }); + on('update resize observerUpdate lock unlock', () => { + updateSize(); + }); + on('setTranslate', () => { + setTranslate(); + }); + on('setTransition', (_s, duration) => { + setTransition(duration); + }); + on('enable disable', () => { + const { + $el + } = swiper.scrollbar; + + if ($el) { + $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass); + } + }); + on('destroy', () => { + destroy(); + }); + + const enable = () => { + swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass); + + if (swiper.scrollbar.$el) { + swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass); + } + + init(); + updateSize(); + setTranslate(); + }; + + const disable = () => { + swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass); + + if (swiper.scrollbar.$el) { + swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass); + } + + destroy(); + }; + + Object.assign(swiper.scrollbar, { + enable, + disable, + updateSize, + setTranslate, + init, + destroy + }); + } + + function Parallax(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + parallax: { + enabled: false + } + }); + + const setTransform = (el, progress) => { + const { + rtl + } = swiper; + const $el = $(el); + const rtlFactor = rtl ? -1 : 1; + const p = $el.attr('data-swiper-parallax') || '0'; + let x = $el.attr('data-swiper-parallax-x'); + let y = $el.attr('data-swiper-parallax-y'); + const scale = $el.attr('data-swiper-parallax-scale'); + const opacity = $el.attr('data-swiper-parallax-opacity'); + + if (x || y) { + x = x || '0'; + y = y || '0'; + } else if (swiper.isHorizontal()) { + x = p; + y = '0'; + } else { + y = p; + x = '0'; + } + + if (x.indexOf('%') >= 0) { + x = `${parseInt(x, 10) * progress * rtlFactor}%`; + } else { + x = `${x * progress * rtlFactor}px`; + } + + if (y.indexOf('%') >= 0) { + y = `${parseInt(y, 10) * progress}%`; + } else { + y = `${y * progress}px`; + } + + if (typeof opacity !== 'undefined' && opacity !== null) { + const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress)); + $el[0].style.opacity = currentOpacity; + } + + if (typeof scale === 'undefined' || scale === null) { + $el.transform(`translate3d(${x}, ${y}, 0px)`); + } else { + const currentScale = scale - (scale - 1) * (1 - Math.abs(progress)); + $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`); + } + }; + + const setTranslate = () => { + const { + $el, + slides, + progress, + snapGrid + } = swiper; + $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => { + setTransform(el, progress); + }); + slides.each((slideEl, slideIndex) => { + let slideProgress = slideEl.progress; + + if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') { + slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1); + } + + slideProgress = Math.min(Math.max(slideProgress, -1), 1); + $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => { + setTransform(el, slideProgress); + }); + }); + }; + + const setTransition = function (duration) { + if (duration === void 0) { + duration = swiper.params.speed; + } + + const { + $el + } = swiper; + $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(parallaxEl => { + const $parallaxEl = $(parallaxEl); + let parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration; + if (duration === 0) parallaxDuration = 0; + $parallaxEl.transition(parallaxDuration); + }); + }; + + on('beforeInit', () => { + if (!swiper.params.parallax.enabled) return; + swiper.params.watchSlidesProgress = true; + swiper.originalParams.watchSlidesProgress = true; + }); + on('init', () => { + if (!swiper.params.parallax.enabled) return; + setTranslate(); + }); + on('setTranslate', () => { + if (!swiper.params.parallax.enabled) return; + setTranslate(); + }); + on('setTransition', (_swiper, duration) => { + if (!swiper.params.parallax.enabled) return; + setTransition(duration); + }); + } + + function Zoom(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const window = getWindow(); + extendParams({ + zoom: { + enabled: false, + maxRatio: 3, + minRatio: 1, + toggle: true, + containerClass: 'swiper-zoom-container', + zoomedSlideClass: 'swiper-slide-zoomed' + } + }); + swiper.zoom = { + enabled: false + }; + let currentScale = 1; + let isScaling = false; + let gesturesEnabled; + let fakeGestureTouched; + let fakeGestureMoved; + const gesture = { + $slideEl: undefined, + slideWidth: undefined, + slideHeight: undefined, + $imageEl: undefined, + $imageWrapEl: undefined, + maxRatio: 3 + }; + const image = { + isTouched: undefined, + isMoved: undefined, + currentX: undefined, + currentY: undefined, + minX: undefined, + minY: undefined, + maxX: undefined, + maxY: undefined, + width: undefined, + height: undefined, + startX: undefined, + startY: undefined, + touchesStart: {}, + touchesCurrent: {} + }; + const velocity = { + x: undefined, + y: undefined, + prevPositionX: undefined, + prevPositionY: undefined, + prevTime: undefined + }; + let scale = 1; + Object.defineProperty(swiper.zoom, 'scale', { + get() { + return scale; + }, + + set(value) { + if (scale !== value) { + const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined; + const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined; + emit('zoomChange', value, imageEl, slideEl); + } + + scale = value; + } + + }); + + function getDistanceBetweenTouches(e) { + if (e.targetTouches.length < 2) return 1; + const x1 = e.targetTouches[0].pageX; + const y1 = e.targetTouches[0].pageY; + const x2 = e.targetTouches[1].pageX; + const y2 = e.targetTouches[1].pageY; + const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); + return distance; + } // Events + + + function onGestureStart(e) { + const support = swiper.support; + const params = swiper.params.zoom; + fakeGestureTouched = false; + fakeGestureMoved = false; + + if (!support.gestures) { + if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) { + return; + } + + fakeGestureTouched = true; + gesture.scaleStart = getDistanceBetweenTouches(e); + } + + if (!gesture.$slideEl || !gesture.$slideEl.length) { + gesture.$slideEl = $(e.target).closest(`.${swiper.params.slideClass}`); + if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); + gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); + gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); + gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; + + if (gesture.$imageWrapEl.length === 0) { + gesture.$imageEl = undefined; + return; + } + } + + if (gesture.$imageEl) { + gesture.$imageEl.transition(0); + } + + isScaling = true; + } + + function onGestureChange(e) { + const support = swiper.support; + const params = swiper.params.zoom; + const zoom = swiper.zoom; + + if (!support.gestures) { + if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) { + return; + } + + fakeGestureMoved = true; + gesture.scaleMove = getDistanceBetweenTouches(e); + } + + if (!gesture.$imageEl || gesture.$imageEl.length === 0) { + if (e.type === 'gesturechange') onGestureStart(e); + return; + } + + if (support.gestures) { + zoom.scale = e.scale * currentScale; + } else { + zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale; + } + + if (zoom.scale > gesture.maxRatio) { + zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5; + } + + if (zoom.scale < params.minRatio) { + zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5; + } + + gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`); + } + + function onGestureEnd(e) { + const device = swiper.device; + const support = swiper.support; + const params = swiper.params.zoom; + const zoom = swiper.zoom; + + if (!support.gestures) { + if (!fakeGestureTouched || !fakeGestureMoved) { + return; + } + + if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) { + return; + } + + fakeGestureTouched = false; + fakeGestureMoved = false; + } + + if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; + zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio); + gesture.$imageEl.transition(swiper.params.speed).transform(`translate3d(0,0,0) scale(${zoom.scale})`); + currentScale = zoom.scale; + isScaling = false; + if (zoom.scale === 1) gesture.$slideEl = undefined; + } + + function onTouchStart(e) { + const device = swiper.device; + if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; + if (image.isTouched) return; + if (device.android && e.cancelable) e.preventDefault(); + image.isTouched = true; + image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; + image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; + } + + function onTouchMove(e) { + const zoom = swiper.zoom; + if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; + swiper.allowClick = false; + if (!image.isTouched || !gesture.$slideEl) return; + + if (!image.isMoved) { + image.width = gesture.$imageEl[0].offsetWidth; + image.height = gesture.$imageEl[0].offsetHeight; + image.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0; + image.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0; + gesture.slideWidth = gesture.$slideEl[0].offsetWidth; + gesture.slideHeight = gesture.$slideEl[0].offsetHeight; + gesture.$imageWrapEl.transition(0); + } // Define if we need image drag + + + const scaledWidth = image.width * zoom.scale; + const scaledHeight = image.height * zoom.scale; + if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return; + image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); + image.maxX = -image.minX; + image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); + image.maxY = -image.minY; + image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; + image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; + + if (!image.isMoved && !isScaling) { + if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) { + image.isTouched = false; + return; + } + + if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) { + image.isTouched = false; + return; + } + } + + if (e.cancelable) { + e.preventDefault(); + } + + e.stopPropagation(); + image.isMoved = true; + image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX; + image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY; + + if (image.currentX < image.minX) { + image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8; + } + + if (image.currentX > image.maxX) { + image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8; + } + + if (image.currentY < image.minY) { + image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8; + } + + if (image.currentY > image.maxY) { + image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8; + } // Velocity + + + if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x; + if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y; + if (!velocity.prevTime) velocity.prevTime = Date.now(); + velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2; + velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2; + if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0; + if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0; + velocity.prevPositionX = image.touchesCurrent.x; + velocity.prevPositionY = image.touchesCurrent.y; + velocity.prevTime = Date.now(); + gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`); + } + + function onTouchEnd() { + const zoom = swiper.zoom; + if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; + + if (!image.isTouched || !image.isMoved) { + image.isTouched = false; + image.isMoved = false; + return; + } + + image.isTouched = false; + image.isMoved = false; + let momentumDurationX = 300; + let momentumDurationY = 300; + const momentumDistanceX = velocity.x * momentumDurationX; + const newPositionX = image.currentX + momentumDistanceX; + const momentumDistanceY = velocity.y * momentumDurationY; + const newPositionY = image.currentY + momentumDistanceY; // Fix duration + + if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); + if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); + const momentumDuration = Math.max(momentumDurationX, momentumDurationY); + image.currentX = newPositionX; + image.currentY = newPositionY; // Define if we need image drag + + const scaledWidth = image.width * zoom.scale; + const scaledHeight = image.height * zoom.scale; + image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); + image.maxX = -image.minX; + image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); + image.maxY = -image.minY; + image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX); + image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY); + gesture.$imageWrapEl.transition(momentumDuration).transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`); + } + + function onTransitionEnd() { + const zoom = swiper.zoom; + + if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) { + if (gesture.$imageEl) { + gesture.$imageEl.transform('translate3d(0,0,0) scale(1)'); + } + + if (gesture.$imageWrapEl) { + gesture.$imageWrapEl.transform('translate3d(0,0,0)'); + } + + zoom.scale = 1; + currentScale = 1; + gesture.$slideEl = undefined; + gesture.$imageEl = undefined; + gesture.$imageWrapEl = undefined; + } + } + + function zoomIn(e) { + const zoom = swiper.zoom; + const params = swiper.params.zoom; + + if (!gesture.$slideEl) { + if (e && e.target) { + gesture.$slideEl = $(e.target).closest(`.${swiper.params.slideClass}`); + } + + if (!gesture.$slideEl) { + if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { + gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`); + } else { + gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); + } + } + + gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); + gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); + } + + if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return; + + if (swiper.params.cssMode) { + swiper.wrapperEl.style.overflow = 'hidden'; + swiper.wrapperEl.style.touchAction = 'none'; + } + + gesture.$slideEl.addClass(`${params.zoomedSlideClass}`); + let touchX; + let touchY; + let offsetX; + let offsetY; + let diffX; + let diffY; + let translateX; + let translateY; + let imageWidth; + let imageHeight; + let scaledWidth; + let scaledHeight; + let translateMinX; + let translateMinY; + let translateMaxX; + let translateMaxY; + let slideWidth; + let slideHeight; + + if (typeof image.touchesStart.x === 'undefined' && e) { + touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX; + touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY; + } else { + touchX = image.touchesStart.x; + touchY = image.touchesStart.y; + } + + zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; + currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; + + if (e) { + slideWidth = gesture.$slideEl[0].offsetWidth; + slideHeight = gesture.$slideEl[0].offsetHeight; + offsetX = gesture.$slideEl.offset().left + window.scrollX; + offsetY = gesture.$slideEl.offset().top + window.scrollY; + diffX = offsetX + slideWidth / 2 - touchX; + diffY = offsetY + slideHeight / 2 - touchY; + imageWidth = gesture.$imageEl[0].offsetWidth; + imageHeight = gesture.$imageEl[0].offsetHeight; + scaledWidth = imageWidth * zoom.scale; + scaledHeight = imageHeight * zoom.scale; + translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0); + translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0); + translateMaxX = -translateMinX; + translateMaxY = -translateMinY; + translateX = diffX * zoom.scale; + translateY = diffY * zoom.scale; + + if (translateX < translateMinX) { + translateX = translateMinX; + } + + if (translateX > translateMaxX) { + translateX = translateMaxX; + } + + if (translateY < translateMinY) { + translateY = translateMinY; + } + + if (translateY > translateMaxY) { + translateY = translateMaxY; + } + } else { + translateX = 0; + translateY = 0; + } + + gesture.$imageWrapEl.transition(300).transform(`translate3d(${translateX}px, ${translateY}px,0)`); + gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`); + } + + function zoomOut() { + const zoom = swiper.zoom; + const params = swiper.params.zoom; + + if (!gesture.$slideEl) { + if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { + gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`); + } else { + gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); + } + + gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); + gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); + } + + if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return; + + if (swiper.params.cssMode) { + swiper.wrapperEl.style.overflow = ''; + swiper.wrapperEl.style.touchAction = ''; + } + + zoom.scale = 1; + currentScale = 1; + gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)'); + gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)'); + gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`); + gesture.$slideEl = undefined; + } // Toggle Zoom + + + function zoomToggle(e) { + const zoom = swiper.zoom; + + if (zoom.scale && zoom.scale !== 1) { + // Zoom Out + zoomOut(); + } else { + // Zoom In + zoomIn(e); + } + } + + function getListeners() { + const support = swiper.support; + const passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? { + passive: true, + capture: false + } : false; + const activeListenerWithCapture = support.passiveListener ? { + passive: false, + capture: true + } : true; + return { + passiveListener, + activeListenerWithCapture + }; + } + + function getSlideSelector() { + return `.${swiper.params.slideClass}`; + } + + function toggleGestures(method) { + const { + passiveListener + } = getListeners(); + const slideSelector = getSlideSelector(); + swiper.$wrapperEl[method]('gesturestart', slideSelector, onGestureStart, passiveListener); + swiper.$wrapperEl[method]('gesturechange', slideSelector, onGestureChange, passiveListener); + swiper.$wrapperEl[method]('gestureend', slideSelector, onGestureEnd, passiveListener); + } + + function enableGestures() { + if (gesturesEnabled) return; + gesturesEnabled = true; + toggleGestures('on'); + } + + function disableGestures() { + if (!gesturesEnabled) return; + gesturesEnabled = false; + toggleGestures('off'); + } // Attach/Detach Events + + + function enable() { + const zoom = swiper.zoom; + if (zoom.enabled) return; + zoom.enabled = true; + const support = swiper.support; + const { + passiveListener, + activeListenerWithCapture + } = getListeners(); + const slideSelector = getSlideSelector(); // Scale image + + if (support.gestures) { + swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener); + swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener); + } else if (swiper.touchEvents.start === 'touchstart') { + swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener); + swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture); + swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener); + + if (swiper.touchEvents.cancel) { + swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener); + } + } // Move image + + + swiper.$wrapperEl.on(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture); + } + + function disable() { + const zoom = swiper.zoom; + if (!zoom.enabled) return; + const support = swiper.support; + zoom.enabled = false; + const { + passiveListener, + activeListenerWithCapture + } = getListeners(); + const slideSelector = getSlideSelector(); // Scale image + + if (support.gestures) { + swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener); + swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener); + } else if (swiper.touchEvents.start === 'touchstart') { + swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener); + swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture); + swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener); + + if (swiper.touchEvents.cancel) { + swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener); + } + } // Move image + + + swiper.$wrapperEl.off(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture); + } + + on('init', () => { + if (swiper.params.zoom.enabled) { + enable(); + } + }); + on('destroy', () => { + disable(); + }); + on('touchStart', (_s, e) => { + if (!swiper.zoom.enabled) return; + onTouchStart(e); + }); + on('touchEnd', (_s, e) => { + if (!swiper.zoom.enabled) return; + onTouchEnd(); + }); + on('doubleTap', (_s, e) => { + if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) { + zoomToggle(e); + } + }); + on('transitionEnd', () => { + if (swiper.zoom.enabled && swiper.params.zoom.enabled) { + onTransitionEnd(); + } + }); + on('slideChange', () => { + if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) { + onTransitionEnd(); + } + }); + Object.assign(swiper.zoom, { + enable, + disable, + in: zoomIn, + out: zoomOut, + toggle: zoomToggle + }); + } + + function Lazy(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + extendParams({ + lazy: { + checkInView: false, + enabled: false, + loadPrevNext: false, + loadPrevNextAmount: 1, + loadOnTransitionStart: false, + scrollingElement: '', + elementClass: 'swiper-lazy', + loadingClass: 'swiper-lazy-loading', + loadedClass: 'swiper-lazy-loaded', + preloaderClass: 'swiper-lazy-preloader' + } + }); + swiper.lazy = {}; + let scrollHandlerAttached = false; + let initialImageLoaded = false; + + function loadInSlide(index, loadInDuplicate) { + if (loadInDuplicate === void 0) { + loadInDuplicate = true; + } + + const params = swiper.params.lazy; + if (typeof index === 'undefined') return; + if (swiper.slides.length === 0) return; + const isVirtual = swiper.virtual && swiper.params.virtual.enabled; + const $slideEl = isVirtual ? swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index="${index}"]`) : swiper.slides.eq(index); + const $images = $slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`); + + if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) { + $images.push($slideEl[0]); + } + + if ($images.length === 0) return; + $images.each(imageEl => { + const $imageEl = $(imageEl); + $imageEl.addClass(params.loadingClass); + const background = $imageEl.attr('data-background'); + const src = $imageEl.attr('data-src'); + const srcset = $imageEl.attr('data-srcset'); + const sizes = $imageEl.attr('data-sizes'); + const $pictureEl = $imageEl.parent('picture'); + swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => { + if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return; + + if (background) { + $imageEl.css('background-image', `url("${background}")`); + $imageEl.removeAttr('data-background'); + } else { + if (srcset) { + $imageEl.attr('srcset', srcset); + $imageEl.removeAttr('data-srcset'); + } + + if (sizes) { + $imageEl.attr('sizes', sizes); + $imageEl.removeAttr('data-sizes'); + } + + if ($pictureEl.length) { + $pictureEl.children('source').each(sourceEl => { + const $source = $(sourceEl); + + if ($source.attr('data-srcset')) { + $source.attr('srcset', $source.attr('data-srcset')); + $source.removeAttr('data-srcset'); + } + }); + } + + if (src) { + $imageEl.attr('src', src); + $imageEl.removeAttr('data-src'); + } + } + + $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass); + $slideEl.find(`.${params.preloaderClass}`).remove(); + + if (swiper.params.loop && loadInDuplicate) { + const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index'); + + if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) { + const originalSlide = swiper.$wrapperEl.children(`[data-swiper-slide-index="${slideOriginalIndex}"]:not(.${swiper.params.slideDuplicateClass})`); + loadInSlide(originalSlide.index(), false); + } else { + const duplicatedSlide = swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index="${slideOriginalIndex}"]`); + loadInSlide(duplicatedSlide.index(), false); + } + } + + emit('lazyImageReady', $slideEl[0], $imageEl[0]); + + if (swiper.params.autoHeight) { + swiper.updateAutoHeight(); + } + }); + emit('lazyImageLoad', $slideEl[0], $imageEl[0]); + }); + } + + function load() { + const { + $wrapperEl, + params: swiperParams, + slides, + activeIndex + } = swiper; + const isVirtual = swiper.virtual && swiperParams.virtual.enabled; + const params = swiperParams.lazy; + let slidesPerView = swiperParams.slidesPerView; + + if (slidesPerView === 'auto') { + slidesPerView = 0; + } + + function slideExist(index) { + if (isVirtual) { + if ($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index="${index}"]`).length) { + return true; + } + } else if (slides[index]) return true; + + return false; + } + + function slideIndex(slideEl) { + if (isVirtual) { + return $(slideEl).attr('data-swiper-slide-index'); + } + + return $(slideEl).index(); + } + + if (!initialImageLoaded) initialImageLoaded = true; + + if (swiper.params.watchSlidesProgress) { + $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each(slideEl => { + const index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index(); + loadInSlide(index); + }); + } else if (slidesPerView > 1) { + for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) { + if (slideExist(i)) loadInSlide(i); + } + } else { + loadInSlide(activeIndex); + } + + if (params.loadPrevNext) { + if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) { + const amount = params.loadPrevNextAmount; + const spv = Math.ceil(slidesPerView); + const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length); + const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides + + for (let i = activeIndex + spv; i < maxIndex; i += 1) { + if (slideExist(i)) loadInSlide(i); + } // Prev Slides + + + for (let i = minIndex; i < activeIndex; i += 1) { + if (slideExist(i)) loadInSlide(i); + } + } else { + const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`); + if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide)); + const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`); + if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide)); + } + } + } + + function checkInViewOnLoad() { + const window = getWindow(); + if (!swiper || swiper.destroyed) return; + const $scrollElement = swiper.params.lazy.scrollingElement ? $(swiper.params.lazy.scrollingElement) : $(window); + const isWindow = $scrollElement[0] === window; + const scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth; + const scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight; + const swiperOffset = swiper.$el.offset(); + const { + rtlTranslate: rtl + } = swiper; + let inView = false; + if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft; + const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]]; + + for (let i = 0; i < swiperCoord.length; i += 1) { + const point = swiperCoord[i]; + + if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) { + if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line + + inView = true; + } + } + + const passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? { + passive: true, + capture: false + } : false; + + if (inView) { + load(); + $scrollElement.off('scroll', checkInViewOnLoad, passiveListener); + } else if (!scrollHandlerAttached) { + scrollHandlerAttached = true; + $scrollElement.on('scroll', checkInViewOnLoad, passiveListener); + } + } + + on('beforeInit', () => { + if (swiper.params.lazy.enabled && swiper.params.preloadImages) { + swiper.params.preloadImages = false; + } + }); + on('init', () => { + if (swiper.params.lazy.enabled) { + if (swiper.params.lazy.checkInView) { + checkInViewOnLoad(); + } else { + load(); + } + } + }); + on('scroll', () => { + if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.freeMode.sticky) { + load(); + } + }); + on('scrollbarDragMove resize _freeModeNoMomentumRelease', () => { + if (swiper.params.lazy.enabled) { + if (swiper.params.lazy.checkInView) { + checkInViewOnLoad(); + } else { + load(); + } + } + }); + on('transitionStart', () => { + if (swiper.params.lazy.enabled) { + if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded) { + if (swiper.params.lazy.checkInView) { + checkInViewOnLoad(); + } else { + load(); + } + } + } + }); + on('transitionEnd', () => { + if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) { + if (swiper.params.lazy.checkInView) { + checkInViewOnLoad(); + } else { + load(); + } + } + }); + on('slideChange', () => { + const { + lazy, + cssMode, + watchSlidesProgress, + touchReleaseOnEdges, + resistanceRatio + } = swiper.params; + + if (lazy.enabled && (cssMode || watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0))) { + load(); + } + }); + on('destroy', () => { + if (!swiper.$el) return; + swiper.$el.find(`.${swiper.params.lazy.loadingClass}`).removeClass(swiper.params.lazy.loadingClass); + }); + Object.assign(swiper.lazy, { + load, + loadInSlide + }); + } + + /* eslint no-bitwise: ["error", { "allow": [">>"] }] */ + function Controller(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + controller: { + control: undefined, + inverse: false, + by: 'slide' // or 'container' + + } + }); + swiper.controller = { + control: undefined + }; + + function LinearSpline(x, y) { + const binarySearch = function search() { + let maxIndex; + let minIndex; + let guess; + return (array, val) => { + minIndex = -1; + maxIndex = array.length; + + while (maxIndex - minIndex > 1) { + guess = maxIndex + minIndex >> 1; + + if (array[guess] <= val) { + minIndex = guess; + } else { + maxIndex = guess; + } + } + + return maxIndex; + }; + }(); + + this.x = x; + this.y = y; + this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value: + // (x1,y1) is the known point before given value, + // (x3,y3) is the known point after given value. + + let i1; + let i3; + + this.interpolate = function interpolate(x2) { + if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2): + + i3 = binarySearch(this.x, x2); + i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already: + // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 + + return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1]; + }; + + return this; + } // xxx: for now i will just save one spline function to to + + + function getInterpolateFunction(c) { + if (!swiper.controller.spline) { + swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid); + } + } + + function setTranslate(_t, byController) { + const controlled = swiper.controller.control; + let multiplier; + let controlledTranslate; + const Swiper = swiper.constructor; + + function setControlledTranslate(c) { + // this will create an Interpolate function based on the snapGrids + // x is the Grid of the scrolled scroller and y will be the controlled scroller + // it makes sense to create this only once and recall it for the interpolation + // the function does a lot of value caching for performance + const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate; + + if (swiper.params.controller.by === 'slide') { + getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid + // but it did not work out + + controlledTranslate = -swiper.controller.spline.interpolate(-translate); + } + + if (!controlledTranslate || swiper.params.controller.by === 'container') { + multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate()); + controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate(); + } + + if (swiper.params.controller.inverse) { + controlledTranslate = c.maxTranslate() - controlledTranslate; + } + + c.updateProgress(controlledTranslate); + c.setTranslate(controlledTranslate, swiper); + c.updateActiveIndex(); + c.updateSlidesClasses(); + } + + if (Array.isArray(controlled)) { + for (let i = 0; i < controlled.length; i += 1) { + if (controlled[i] !== byController && controlled[i] instanceof Swiper) { + setControlledTranslate(controlled[i]); + } + } + } else if (controlled instanceof Swiper && byController !== controlled) { + setControlledTranslate(controlled); + } + } + + function setTransition(duration, byController) { + const Swiper = swiper.constructor; + const controlled = swiper.controller.control; + let i; + + function setControlledTransition(c) { + c.setTransition(duration, swiper); + + if (duration !== 0) { + c.transitionStart(); + + if (c.params.autoHeight) { + nextTick(() => { + c.updateAutoHeight(); + }); + } + + c.$wrapperEl.transitionEnd(() => { + if (!controlled) return; + + if (c.params.loop && swiper.params.controller.by === 'slide') { + c.loopFix(); + } + + c.transitionEnd(); + }); + } + } + + if (Array.isArray(controlled)) { + for (i = 0; i < controlled.length; i += 1) { + if (controlled[i] !== byController && controlled[i] instanceof Swiper) { + setControlledTransition(controlled[i]); + } + } + } else if (controlled instanceof Swiper && byController !== controlled) { + setControlledTransition(controlled); + } + } + + function removeSpline() { + if (!swiper.controller.control) return; + + if (swiper.controller.spline) { + swiper.controller.spline = undefined; + delete swiper.controller.spline; + } + } + + on('beforeInit', () => { + swiper.controller.control = swiper.params.controller.control; + }); + on('update', () => { + removeSpline(); + }); + on('resize', () => { + removeSpline(); + }); + on('observerUpdate', () => { + removeSpline(); + }); + on('setTranslate', (_s, translate, byController) => { + if (!swiper.controller.control) return; + swiper.controller.setTranslate(translate, byController); + }); + on('setTransition', (_s, duration, byController) => { + if (!swiper.controller.control) return; + swiper.controller.setTransition(duration, byController); + }); + Object.assign(swiper.controller, { + setTranslate, + setTransition + }); + } + + function A11y(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + a11y: { + enabled: true, + notificationClass: 'swiper-notification', + prevSlideMessage: 'Previous slide', + nextSlideMessage: 'Next slide', + firstSlideMessage: 'This is the first slide', + lastSlideMessage: 'This is the last slide', + paginationBulletMessage: 'Go to slide {{index}}', + slideLabelMessage: '{{index}} / {{slidesLength}}', + containerMessage: null, + containerRoleDescriptionMessage: null, + itemRoleDescriptionMessage: null, + slideRole: 'group', + id: null + } + }); + swiper.a11y = { + clicked: false + }; + let liveRegion = null; + + function notify(message) { + const notification = liveRegion; + if (notification.length === 0) return; + notification.html(''); + notification.html(message); + } + + function getRandomNumber(size) { + if (size === void 0) { + size = 16; + } + + const randomChar = () => Math.round(16 * Math.random()).toString(16); + + return 'x'.repeat(size).replace(/x/g, randomChar); + } + + function makeElFocusable($el) { + $el.attr('tabIndex', '0'); + } + + function makeElNotFocusable($el) { + $el.attr('tabIndex', '-1'); + } + + function addElRole($el, role) { + $el.attr('role', role); + } + + function addElRoleDescription($el, description) { + $el.attr('aria-roledescription', description); + } + + function addElControls($el, controls) { + $el.attr('aria-controls', controls); + } + + function addElLabel($el, label) { + $el.attr('aria-label', label); + } + + function addElId($el, id) { + $el.attr('id', id); + } + + function addElLive($el, live) { + $el.attr('aria-live', live); + } + + function disableEl($el) { + $el.attr('aria-disabled', true); + } + + function enableEl($el) { + $el.attr('aria-disabled', false); + } + + function onEnterOrSpaceKey(e) { + if (e.keyCode !== 13 && e.keyCode !== 32) return; + const params = swiper.params.a11y; + const $targetEl = $(e.target); + + if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) { + if (!(swiper.isEnd && !swiper.params.loop)) { + swiper.slideNext(); + } + + if (swiper.isEnd) { + notify(params.lastSlideMessage); + } else { + notify(params.nextSlideMessage); + } + } + + if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) { + if (!(swiper.isBeginning && !swiper.params.loop)) { + swiper.slidePrev(); + } + + if (swiper.isBeginning) { + notify(params.firstSlideMessage); + } else { + notify(params.prevSlideMessage); + } + } + + if (swiper.pagination && $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))) { + $targetEl[0].click(); + } + } + + function updateNavigation() { + if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return; + const { + $nextEl, + $prevEl + } = swiper.navigation; + + if ($prevEl && $prevEl.length > 0) { + if (swiper.isBeginning) { + disableEl($prevEl); + makeElNotFocusable($prevEl); + } else { + enableEl($prevEl); + makeElFocusable($prevEl); + } + } + + if ($nextEl && $nextEl.length > 0) { + if (swiper.isEnd) { + disableEl($nextEl); + makeElNotFocusable($nextEl); + } else { + enableEl($nextEl); + makeElFocusable($nextEl); + } + } + } + + function hasPagination() { + return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length; + } + + function hasClickablePagination() { + return hasPagination() && swiper.params.pagination.clickable; + } + + function updatePagination() { + const params = swiper.params.a11y; + if (!hasPagination()) return; + swiper.pagination.bullets.each(bulletEl => { + const $bulletEl = $(bulletEl); + + if (swiper.params.pagination.clickable) { + makeElFocusable($bulletEl); + + if (!swiper.params.pagination.renderBullet) { + addElRole($bulletEl, 'button'); + addElLabel($bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, $bulletEl.index() + 1)); + } + } + + if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) { + $bulletEl.attr('aria-current', 'true'); + } else { + $bulletEl.removeAttr('aria-current'); + } + }); + } + + const initNavEl = ($el, wrapperId, message) => { + makeElFocusable($el); + + if ($el[0].tagName !== 'BUTTON') { + addElRole($el, 'button'); + $el.on('keydown', onEnterOrSpaceKey); + } + + addElLabel($el, message); + addElControls($el, wrapperId); + }; + + const handlePointerDown = () => { + swiper.a11y.clicked = true; + }; + + const handlePointerUp = () => { + requestAnimationFrame(() => { + requestAnimationFrame(() => { + if (!swiper.destroyed) { + swiper.a11y.clicked = false; + } + }); + }); + }; + + const handleFocus = e => { + if (swiper.a11y.clicked) return; + const slideEl = e.target.closest(`.${swiper.params.slideClass}`); + if (!slideEl || !swiper.slides.includes(slideEl)) return; + const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex; + const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl); + if (isActive || isVisible) return; + if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return; + + if (swiper.isHorizontal()) { + swiper.el.scrollLeft = 0; + } else { + swiper.el.scrollTop = 0; + } + + swiper.slideTo(swiper.slides.indexOf(slideEl), 0); + }; + + const initSlides = () => { + const params = swiper.params.a11y; + + if (params.itemRoleDescriptionMessage) { + addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage); + } + + if (params.slideRole) { + addElRole($(swiper.slides), params.slideRole); + } + + const slidesLength = swiper.params.loop ? swiper.slides.filter(el => !el.classList.contains(swiper.params.slideDuplicateClass)).length : swiper.slides.length; + + if (params.slideLabelMessage) { + swiper.slides.each((slideEl, index) => { + const $slideEl = $(slideEl); + const slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index; + const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength); + addElLabel($slideEl, ariaLabelMessage); + }); + } + }; + + const init = () => { + const params = swiper.params.a11y; + swiper.$el.append(liveRegion); // Container + + const $containerEl = swiper.$el; + + if (params.containerRoleDescriptionMessage) { + addElRoleDescription($containerEl, params.containerRoleDescriptionMessage); + } + + if (params.containerMessage) { + addElLabel($containerEl, params.containerMessage); + } // Wrapper + + + const $wrapperEl = swiper.$wrapperEl; + const wrapperId = params.id || $wrapperEl.attr('id') || `swiper-wrapper-${getRandomNumber(16)}`; + const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite'; + addElId($wrapperEl, wrapperId); + addElLive($wrapperEl, live); // Slide + + initSlides(); // Navigation + + let $nextEl; + let $prevEl; + + if (swiper.navigation && swiper.navigation.$nextEl) { + $nextEl = swiper.navigation.$nextEl; + } + + if (swiper.navigation && swiper.navigation.$prevEl) { + $prevEl = swiper.navigation.$prevEl; + } + + if ($nextEl && $nextEl.length) { + initNavEl($nextEl, wrapperId, params.nextSlideMessage); + } + + if ($prevEl && $prevEl.length) { + initNavEl($prevEl, wrapperId, params.prevSlideMessage); + } // Pagination + + + if (hasClickablePagination()) { + swiper.pagination.$el.on('keydown', classesToSelector(swiper.params.pagination.bulletClass), onEnterOrSpaceKey); + } // Tab focus + + + swiper.$el.on('focus', handleFocus, true); + swiper.$el.on('pointerdown', handlePointerDown, true); + swiper.$el.on('pointerup', handlePointerUp, true); + }; + + function destroy() { + if (liveRegion && liveRegion.length > 0) liveRegion.remove(); + let $nextEl; + let $prevEl; + + if (swiper.navigation && swiper.navigation.$nextEl) { + $nextEl = swiper.navigation.$nextEl; + } + + if (swiper.navigation && swiper.navigation.$prevEl) { + $prevEl = swiper.navigation.$prevEl; + } + + if ($nextEl) { + $nextEl.off('keydown', onEnterOrSpaceKey); + } + + if ($prevEl) { + $prevEl.off('keydown', onEnterOrSpaceKey); + } // Pagination + + + if (hasClickablePagination()) { + swiper.pagination.$el.off('keydown', classesToSelector(swiper.params.pagination.bulletClass), onEnterOrSpaceKey); + } // Tab focus + + + swiper.$el.off('focus', handleFocus, true); + swiper.$el.off('pointerdown', handlePointerDown, true); + swiper.$el.off('pointerup', handlePointerUp, true); + } + + on('beforeInit', () => { + liveRegion = $(``); + }); + on('afterInit', () => { + if (!swiper.params.a11y.enabled) return; + init(); + }); + on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => { + if (!swiper.params.a11y.enabled) return; + initSlides(); + }); + on('fromEdge toEdge afterInit lock unlock', () => { + if (!swiper.params.a11y.enabled) return; + updateNavigation(); + }); + on('paginationUpdate', () => { + if (!swiper.params.a11y.enabled) return; + updatePagination(); + }); + on('destroy', () => { + if (!swiper.params.a11y.enabled) return; + destroy(); + }); + } + + function History(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + history: { + enabled: false, + root: '', + replaceState: false, + key: 'slides', + keepQuery: false + } + }); + let initialized = false; + let paths = {}; + + const slugify = text => { + return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, ''); + }; + + const getPathValues = urlOverride => { + const window = getWindow(); + let location; + + if (urlOverride) { + location = new URL(urlOverride); + } else { + location = window.location; + } + + const pathArray = location.pathname.slice(1).split('/').filter(part => part !== ''); + const total = pathArray.length; + const key = pathArray[total - 2]; + const value = pathArray[total - 1]; + return { + key, + value + }; + }; + + const setHistory = (key, index) => { + const window = getWindow(); + if (!initialized || !swiper.params.history.enabled) return; + let location; + + if (swiper.params.url) { + location = new URL(swiper.params.url); + } else { + location = window.location; + } + + const slide = swiper.slides.eq(index); + let value = slugify(slide.attr('data-history')); + + if (swiper.params.history.root.length > 0) { + let root = swiper.params.history.root; + if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1); + value = `${root}/${key}/${value}`; + } else if (!location.pathname.includes(key)) { + value = `${key}/${value}`; + } + + if (swiper.params.history.keepQuery) { + value += location.search; + } + + const currentState = window.history.state; + + if (currentState && currentState.value === value) { + return; + } + + if (swiper.params.history.replaceState) { + window.history.replaceState({ + value + }, null, value); + } else { + window.history.pushState({ + value + }, null, value); + } + }; + + const scrollToSlide = (speed, value, runCallbacks) => { + if (value) { + for (let i = 0, length = swiper.slides.length; i < length; i += 1) { + const slide = swiper.slides.eq(i); + const slideHistory = slugify(slide.attr('data-history')); + + if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) { + const index = slide.index(); + swiper.slideTo(index, speed, runCallbacks); + } + } + } else { + swiper.slideTo(0, speed, runCallbacks); + } + }; + + const setHistoryPopState = () => { + paths = getPathValues(swiper.params.url); + scrollToSlide(swiper.params.speed, paths.value, false); + }; + + const init = () => { + const window = getWindow(); + if (!swiper.params.history) return; + + if (!window.history || !window.history.pushState) { + swiper.params.history.enabled = false; + swiper.params.hashNavigation.enabled = true; + return; + } + + initialized = true; + paths = getPathValues(swiper.params.url); + if (!paths.key && !paths.value) return; + scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit); + + if (!swiper.params.history.replaceState) { + window.addEventListener('popstate', setHistoryPopState); + } + }; + + const destroy = () => { + const window = getWindow(); + + if (!swiper.params.history.replaceState) { + window.removeEventListener('popstate', setHistoryPopState); + } + }; + + on('init', () => { + if (swiper.params.history.enabled) { + init(); + } + }); + on('destroy', () => { + if (swiper.params.history.enabled) { + destroy(); + } + }); + on('transitionEnd _freeModeNoMomentumRelease', () => { + if (initialized) { + setHistory(swiper.params.history.key, swiper.activeIndex); + } + }); + on('slideChange', () => { + if (initialized && swiper.params.cssMode) { + setHistory(swiper.params.history.key, swiper.activeIndex); + } + }); + } + + function HashNavigation(_ref) { + let { + swiper, + extendParams, + emit, + on + } = _ref; + let initialized = false; + const document = getDocument(); + const window = getWindow(); + extendParams({ + hashNavigation: { + enabled: false, + replaceState: false, + watchState: false + } + }); + + const onHashChange = () => { + emit('hashChange'); + const newHash = document.location.hash.replace('#', ''); + const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash'); + + if (newHash !== activeSlideHash) { + const newIndex = swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-hash="${newHash}"]`).index(); + if (typeof newIndex === 'undefined') return; + swiper.slideTo(newIndex); + } + }; + + const setHash = () => { + if (!initialized || !swiper.params.hashNavigation.enabled) return; + + if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) { + window.history.replaceState(null, null, `#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}` || ''); + emit('hashSet'); + } else { + const slide = swiper.slides.eq(swiper.activeIndex); + const hash = slide.attr('data-hash') || slide.attr('data-history'); + document.location.hash = hash || ''; + emit('hashSet'); + } + }; + + const init = () => { + if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return; + initialized = true; + const hash = document.location.hash.replace('#', ''); + + if (hash) { + const speed = 0; + + for (let i = 0, length = swiper.slides.length; i < length; i += 1) { + const slide = swiper.slides.eq(i); + const slideHash = slide.attr('data-hash') || slide.attr('data-history'); + + if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) { + const index = slide.index(); + swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true); + } + } + } + + if (swiper.params.hashNavigation.watchState) { + $(window).on('hashchange', onHashChange); + } + }; + + const destroy = () => { + if (swiper.params.hashNavigation.watchState) { + $(window).off('hashchange', onHashChange); + } + }; + + on('init', () => { + if (swiper.params.hashNavigation.enabled) { + init(); + } + }); + on('destroy', () => { + if (swiper.params.hashNavigation.enabled) { + destroy(); + } + }); + on('transitionEnd _freeModeNoMomentumRelease', () => { + if (initialized) { + setHash(); + } + }); + on('slideChange', () => { + if (initialized && swiper.params.cssMode) { + setHash(); + } + }); + } + + /* eslint no-underscore-dangle: "off" */ + function Autoplay(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + let timeout; + swiper.autoplay = { + running: false, + paused: false + }; + extendParams({ + autoplay: { + enabled: false, + delay: 3000, + waitForTransition: true, + disableOnInteraction: true, + stopOnLastSlide: false, + reverseDirection: false, + pauseOnMouseEnter: false + } + }); + + function run() { + if (!swiper.size) { + swiper.autoplay.running = false; + swiper.autoplay.paused = false; + return; + } + + const $activeSlideEl = swiper.slides.eq(swiper.activeIndex); + let delay = swiper.params.autoplay.delay; + + if ($activeSlideEl.attr('data-swiper-autoplay')) { + delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay; + } + + clearTimeout(timeout); + timeout = nextTick(() => { + let autoplayResult; + + if (swiper.params.autoplay.reverseDirection) { + if (swiper.params.loop) { + swiper.loopFix(); + autoplayResult = swiper.slidePrev(swiper.params.speed, true, true); + emit('autoplay'); + } else if (!swiper.isBeginning) { + autoplayResult = swiper.slidePrev(swiper.params.speed, true, true); + emit('autoplay'); + } else if (!swiper.params.autoplay.stopOnLastSlide) { + autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true); + emit('autoplay'); + } else { + stop(); + } + } else if (swiper.params.loop) { + swiper.loopFix(); + autoplayResult = swiper.slideNext(swiper.params.speed, true, true); + emit('autoplay'); + } else if (!swiper.isEnd) { + autoplayResult = swiper.slideNext(swiper.params.speed, true, true); + emit('autoplay'); + } else if (!swiper.params.autoplay.stopOnLastSlide) { + autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true); + emit('autoplay'); + } else { + stop(); + } + + if (swiper.params.cssMode && swiper.autoplay.running) run();else if (autoplayResult === false) { + run(); + } + }, delay); + } + + function start() { + if (typeof timeout !== 'undefined') return false; + if (swiper.autoplay.running) return false; + swiper.autoplay.running = true; + emit('autoplayStart'); + run(); + return true; + } + + function stop() { + if (!swiper.autoplay.running) return false; + if (typeof timeout === 'undefined') return false; + + if (timeout) { + clearTimeout(timeout); + timeout = undefined; + } + + swiper.autoplay.running = false; + emit('autoplayStop'); + return true; + } + + function pause(speed) { + if (!swiper.autoplay.running) return; + if (swiper.autoplay.paused) return; + if (timeout) clearTimeout(timeout); + swiper.autoplay.paused = true; + + if (speed === 0 || !swiper.params.autoplay.waitForTransition) { + swiper.autoplay.paused = false; + run(); + } else { + ['transitionend', 'webkitTransitionEnd'].forEach(event => { + swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd); + }); + } + } + + function onVisibilityChange() { + const document = getDocument(); + + if (document.visibilityState === 'hidden' && swiper.autoplay.running) { + pause(); + } + + if (document.visibilityState === 'visible' && swiper.autoplay.paused) { + run(); + swiper.autoplay.paused = false; + } + } + + function onTransitionEnd(e) { + if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return; + if (e.target !== swiper.$wrapperEl[0]) return; + ['transitionend', 'webkitTransitionEnd'].forEach(event => { + swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd); + }); + swiper.autoplay.paused = false; + + if (!swiper.autoplay.running) { + stop(); + } else { + run(); + } + } + + function onMouseEnter() { + if (swiper.params.autoplay.disableOnInteraction) { + stop(); + } else { + emit('autoplayPause'); + pause(); + } + + ['transitionend', 'webkitTransitionEnd'].forEach(event => { + swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd); + }); + } + + function onMouseLeave() { + if (swiper.params.autoplay.disableOnInteraction) { + return; + } + + swiper.autoplay.paused = false; + emit('autoplayResume'); + run(); + } + + function attachMouseEvents() { + if (swiper.params.autoplay.pauseOnMouseEnter) { + swiper.$el.on('mouseenter', onMouseEnter); + swiper.$el.on('mouseleave', onMouseLeave); + } + } + + function detachMouseEvents() { + swiper.$el.off('mouseenter', onMouseEnter); + swiper.$el.off('mouseleave', onMouseLeave); + } + + on('init', () => { + if (swiper.params.autoplay.enabled) { + start(); + const document = getDocument(); + document.addEventListener('visibilitychange', onVisibilityChange); + attachMouseEvents(); + } + }); + on('beforeTransitionStart', (_s, speed, internal) => { + if (swiper.autoplay.running) { + if (internal || !swiper.params.autoplay.disableOnInteraction) { + swiper.autoplay.pause(speed); + } else { + stop(); + } + } + }); + on('sliderFirstMove', () => { + if (swiper.autoplay.running) { + if (swiper.params.autoplay.disableOnInteraction) { + stop(); + } else { + pause(); + } + } + }); + on('touchEnd', () => { + if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) { + run(); + } + }); + on('destroy', () => { + detachMouseEvents(); + + if (swiper.autoplay.running) { + stop(); + } + + const document = getDocument(); + document.removeEventListener('visibilitychange', onVisibilityChange); + }); + Object.assign(swiper.autoplay, { + pause, + run, + start, + stop + }); + } + + function Thumb(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + thumbs: { + swiper: null, + multipleActiveThumbs: true, + autoScrollOffset: 0, + slideThumbActiveClass: 'swiper-slide-thumb-active', + thumbsContainerClass: 'swiper-thumbs' + } + }); + let initialized = false; + let swiperCreated = false; + swiper.thumbs = { + swiper: null + }; + + function onThumbClick() { + const thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper || thumbsSwiper.destroyed) return; + const clickedIndex = thumbsSwiper.clickedIndex; + const clickedSlide = thumbsSwiper.clickedSlide; + if (clickedSlide && $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return; + if (typeof clickedIndex === 'undefined' || clickedIndex === null) return; + let slideToIndex; + + if (thumbsSwiper.params.loop) { + slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10); + } else { + slideToIndex = clickedIndex; + } + + if (swiper.params.loop) { + let currentIndex = swiper.activeIndex; + + if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) { + swiper.loopFix(); // eslint-disable-next-line + + swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; + currentIndex = swiper.activeIndex; + } + + const prevIndex = swiper.slides.eq(currentIndex).prevAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index(); + const nextIndex = swiper.slides.eq(currentIndex).nextAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index(); + if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex; + } + + swiper.slideTo(slideToIndex); + } + + function init() { + const { + thumbs: thumbsParams + } = swiper.params; + if (initialized) return false; + initialized = true; + const SwiperClass = swiper.constructor; + + if (thumbsParams.swiper instanceof SwiperClass) { + swiper.thumbs.swiper = thumbsParams.swiper; + Object.assign(swiper.thumbs.swiper.originalParams, { + watchSlidesProgress: true, + slideToClickedSlide: false + }); + Object.assign(swiper.thumbs.swiper.params, { + watchSlidesProgress: true, + slideToClickedSlide: false + }); + } else if (isObject(thumbsParams.swiper)) { + const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper); + Object.assign(thumbsSwiperParams, { + watchSlidesProgress: true, + slideToClickedSlide: false + }); + swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams); + swiperCreated = true; + } + + swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass); + swiper.thumbs.swiper.on('tap', onThumbClick); + return true; + } + + function update(initial) { + const thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper || thumbsSwiper.destroyed) return; + const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; // Activate thumbs + + let thumbsToActivate = 1; + const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass; + + if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) { + thumbsToActivate = swiper.params.slidesPerView; + } + + if (!swiper.params.thumbs.multipleActiveThumbs) { + thumbsToActivate = 1; + } + + thumbsToActivate = Math.floor(thumbsToActivate); + thumbsSwiper.slides.removeClass(thumbActiveClass); + + if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) { + for (let i = 0; i < thumbsToActivate; i += 1) { + thumbsSwiper.$wrapperEl.children(`[data-swiper-slide-index="${swiper.realIndex + i}"]`).addClass(thumbActiveClass); + } + } else { + for (let i = 0; i < thumbsToActivate; i += 1) { + thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass); + } + } + + const autoScrollOffset = swiper.params.thumbs.autoScrollOffset; + const useOffset = autoScrollOffset && !thumbsSwiper.params.loop; + + if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) { + let currentThumbsIndex = thumbsSwiper.activeIndex; + let newThumbsIndex; + let direction; + + if (thumbsSwiper.params.loop) { + if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) { + thumbsSwiper.loopFix(); // eslint-disable-next-line + + thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft; + currentThumbsIndex = thumbsSwiper.activeIndex; + } // Find actual thumbs index to slide to + + + const prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index(); + const nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index(); + + if (typeof prevThumbsIndex === 'undefined') { + newThumbsIndex = nextThumbsIndex; + } else if (typeof nextThumbsIndex === 'undefined') { + newThumbsIndex = prevThumbsIndex; + } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) { + newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex; + } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) { + newThumbsIndex = nextThumbsIndex; + } else { + newThumbsIndex = prevThumbsIndex; + } + + direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev'; + } else { + newThumbsIndex = swiper.realIndex; + direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev'; + } + + if (useOffset) { + newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset; + } + + if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) { + if (thumbsSwiper.params.centeredSlides) { + if (newThumbsIndex > currentThumbsIndex) { + newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1; + } else { + newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1; + } + } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ; + + thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined); + } + } + } + + on('beforeInit', () => { + const { + thumbs + } = swiper.params; + if (!thumbs || !thumbs.swiper) return; + init(); + update(true); + }); + on('slideChange update resize observerUpdate', () => { + update(); + }); + on('setTransition', (_s, duration) => { + const thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper || thumbsSwiper.destroyed) return; + thumbsSwiper.setTransition(duration); + }); + on('beforeDestroy', () => { + const thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper || thumbsSwiper.destroyed) return; + + if (swiperCreated) { + thumbsSwiper.destroy(); + } + }); + Object.assign(swiper.thumbs, { + init, + update + }); + } + + function freeMode(_ref) { + let { + swiper, + extendParams, + emit, + once + } = _ref; + extendParams({ + freeMode: { + enabled: false, + momentum: true, + momentumRatio: 1, + momentumBounce: true, + momentumBounceRatio: 1, + momentumVelocityRatio: 1, + sticky: false, + minimumVelocity: 0.02 + } + }); + + function onTouchStart() { + const translate = swiper.getTranslate(); + swiper.setTranslate(translate); + swiper.setTransition(0); + swiper.touchEventsData.velocities.length = 0; + swiper.freeMode.onTouchEnd({ + currentPos: swiper.rtl ? swiper.translate : -swiper.translate + }); + } + + function onTouchMove() { + const { + touchEventsData: data, + touches + } = swiper; // Velocity + + if (data.velocities.length === 0) { + data.velocities.push({ + position: touches[swiper.isHorizontal() ? 'startX' : 'startY'], + time: data.touchStartTime + }); + } + + data.velocities.push({ + position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'], + time: now() + }); + } + + function onTouchEnd(_ref2) { + let { + currentPos + } = _ref2; + const { + params, + $wrapperEl, + rtlTranslate: rtl, + snapGrid, + touchEventsData: data + } = swiper; // Time diff + + const touchEndTime = now(); + const timeDiff = touchEndTime - data.touchStartTime; + + if (currentPos < -swiper.minTranslate()) { + swiper.slideTo(swiper.activeIndex); + return; + } + + if (currentPos > -swiper.maxTranslate()) { + if (swiper.slides.length < snapGrid.length) { + swiper.slideTo(snapGrid.length - 1); + } else { + swiper.slideTo(swiper.slides.length - 1); + } + + return; + } + + if (params.freeMode.momentum) { + if (data.velocities.length > 1) { + const lastMoveEvent = data.velocities.pop(); + const velocityEvent = data.velocities.pop(); + const distance = lastMoveEvent.position - velocityEvent.position; + const time = lastMoveEvent.time - velocityEvent.time; + swiper.velocity = distance / time; + swiper.velocity /= 2; + + if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) { + swiper.velocity = 0; + } // this implies that the user stopped moving a finger then released. + // There would be no events with distance zero, so the last event is stale. + + + if (time > 150 || now() - lastMoveEvent.time > 300) { + swiper.velocity = 0; + } + } else { + swiper.velocity = 0; + } + + swiper.velocity *= params.freeMode.momentumVelocityRatio; + data.velocities.length = 0; + let momentumDuration = 1000 * params.freeMode.momentumRatio; + const momentumDistance = swiper.velocity * momentumDuration; + let newPosition = swiper.translate + momentumDistance; + if (rtl) newPosition = -newPosition; + let doBounce = false; + let afterBouncePosition; + const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio; + let needsLoopFix; + + if (newPosition < swiper.maxTranslate()) { + if (params.freeMode.momentumBounce) { + if (newPosition + swiper.maxTranslate() < -bounceAmount) { + newPosition = swiper.maxTranslate() - bounceAmount; + } + + afterBouncePosition = swiper.maxTranslate(); + doBounce = true; + data.allowMomentumBounce = true; + } else { + newPosition = swiper.maxTranslate(); + } + + if (params.loop && params.centeredSlides) needsLoopFix = true; + } else if (newPosition > swiper.minTranslate()) { + if (params.freeMode.momentumBounce) { + if (newPosition - swiper.minTranslate() > bounceAmount) { + newPosition = swiper.minTranslate() + bounceAmount; + } + + afterBouncePosition = swiper.minTranslate(); + doBounce = true; + data.allowMomentumBounce = true; + } else { + newPosition = swiper.minTranslate(); + } + + if (params.loop && params.centeredSlides) needsLoopFix = true; + } else if (params.freeMode.sticky) { + let nextSlide; + + for (let j = 0; j < snapGrid.length; j += 1) { + if (snapGrid[j] > -newPosition) { + nextSlide = j; + break; + } + } + + if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') { + newPosition = snapGrid[nextSlide]; + } else { + newPosition = snapGrid[nextSlide - 1]; + } + + newPosition = -newPosition; + } + + if (needsLoopFix) { + once('transitionEnd', () => { + swiper.loopFix(); + }); + } // Fix duration + + + if (swiper.velocity !== 0) { + if (rtl) { + momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity); + } else { + momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity); + } + + if (params.freeMode.sticky) { + // If freeMode.sticky is active and the user ends a swipe with a slow-velocity + // event, then durations can be 20+ seconds to slide one (or zero!) slides. + // It's easy to see this when simulating touch with mouse events. To fix this, + // limit single-slide swipes to the default slide duration. This also has the + // nice side effect of matching slide speed if the user stopped moving before + // lifting finger or mouse vs. moving slowly before lifting the finger/mouse. + // For faster swipes, also apply limits (albeit higher ones). + const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate); + const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex]; + + if (moveDistance < currentSlideSize) { + momentumDuration = params.speed; + } else if (moveDistance < 2 * currentSlideSize) { + momentumDuration = params.speed * 1.5; + } else { + momentumDuration = params.speed * 2.5; + } + } + } else if (params.freeMode.sticky) { + swiper.slideToClosest(); + return; + } + + if (params.freeMode.momentumBounce && doBounce) { + swiper.updateProgress(afterBouncePosition); + swiper.setTransition(momentumDuration); + swiper.setTranslate(newPosition); + swiper.transitionStart(true, swiper.swipeDirection); + swiper.animating = true; + $wrapperEl.transitionEnd(() => { + if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return; + emit('momentumBounce'); + swiper.setTransition(params.speed); + setTimeout(() => { + swiper.setTranslate(afterBouncePosition); + $wrapperEl.transitionEnd(() => { + if (!swiper || swiper.destroyed) return; + swiper.transitionEnd(); + }); + }, 0); + }); + } else if (swiper.velocity) { + emit('_freeModeNoMomentumRelease'); + swiper.updateProgress(newPosition); + swiper.setTransition(momentumDuration); + swiper.setTranslate(newPosition); + swiper.transitionStart(true, swiper.swipeDirection); + + if (!swiper.animating) { + swiper.animating = true; + $wrapperEl.transitionEnd(() => { + if (!swiper || swiper.destroyed) return; + swiper.transitionEnd(); + }); + } + } else { + swiper.updateProgress(newPosition); + } + + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } else if (params.freeMode.sticky) { + swiper.slideToClosest(); + return; + } else if (params.freeMode) { + emit('_freeModeNoMomentumRelease'); + } + + if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) { + swiper.updateProgress(); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + } + + Object.assign(swiper, { + freeMode: { + onTouchStart, + onTouchMove, + onTouchEnd + } + }); + } + + function Grid(_ref) { + let { + swiper, + extendParams + } = _ref; + extendParams({ + grid: { + rows: 1, + fill: 'column' + } + }); + let slidesNumberEvenToRows; + let slidesPerRow; + let numFullColumns; + + const initSlides = slidesLength => { + const { + slidesPerView + } = swiper.params; + const { + rows, + fill + } = swiper.params.grid; + slidesPerRow = slidesNumberEvenToRows / rows; + numFullColumns = Math.floor(slidesLength / rows); + + if (Math.floor(slidesLength / rows) === slidesLength / rows) { + slidesNumberEvenToRows = slidesLength; + } else { + slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows; + } + + if (slidesPerView !== 'auto' && fill === 'row') { + slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows); + } + }; + + const updateSlide = (i, slide, slidesLength, getDirectionLabel) => { + const { + slidesPerGroup, + spaceBetween + } = swiper.params; + const { + rows, + fill + } = swiper.params.grid; // Set slides order + + let newSlideOrderIndex; + let column; + let row; + + if (fill === 'row' && slidesPerGroup > 1) { + const groupIndex = Math.floor(i / (slidesPerGroup * rows)); + const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex; + const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup); + row = Math.floor(slideIndexInGroup / columnsInGroup); + column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup; + newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows; + slide.css({ + '-webkit-order': newSlideOrderIndex, + order: newSlideOrderIndex + }); + } else if (fill === 'column') { + column = Math.floor(i / rows); + row = i - column * rows; + + if (column > numFullColumns || column === numFullColumns && row === rows - 1) { + row += 1; + + if (row >= rows) { + row = 0; + column += 1; + } + } + } else { + row = Math.floor(i / slidesPerRow); + column = i - row * slidesPerRow; + } + + slide.css(getDirectionLabel('margin-top'), row !== 0 ? spaceBetween && `${spaceBetween}px` : ''); + }; + + const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => { + const { + spaceBetween, + centeredSlides, + roundLengths + } = swiper.params; + const { + rows + } = swiper.params.grid; + swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows; + swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween; + swiper.$wrapperEl.css({ + [getDirectionLabel('width')]: `${swiper.virtualSize + spaceBetween}px` + }); + + if (centeredSlides) { + snapGrid.splice(0, snapGrid.length); + const newSlidesGrid = []; + + for (let i = 0; i < snapGrid.length; i += 1) { + let slidesGridItem = snapGrid[i]; + if (roundLengths) slidesGridItem = Math.floor(slidesGridItem); + if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem); + } + + snapGrid.push(...newSlidesGrid); + } + }; + + swiper.grid = { + initSlides, + updateSlide, + updateWrapperSize + }; + } + + function appendSlide(slides) { + const swiper = this; + const { + $wrapperEl, + params + } = swiper; + + if (params.loop) { + swiper.loopDestroy(); + } + + if (typeof slides === 'object' && 'length' in slides) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) $wrapperEl.append(slides[i]); + } + } else { + $wrapperEl.append(slides); + } + + if (params.loop) { + swiper.loopCreate(); + } + + if (!params.observer) { + swiper.update(); + } + } + + function prependSlide(slides) { + const swiper = this; + const { + params, + $wrapperEl, + activeIndex + } = swiper; + + if (params.loop) { + swiper.loopDestroy(); + } + + let newActiveIndex = activeIndex + 1; + + if (typeof slides === 'object' && 'length' in slides) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) $wrapperEl.prepend(slides[i]); + } + + newActiveIndex = activeIndex + slides.length; + } else { + $wrapperEl.prepend(slides); + } + + if (params.loop) { + swiper.loopCreate(); + } + + if (!params.observer) { + swiper.update(); + } + + swiper.slideTo(newActiveIndex, 0, false); + } + + function addSlide(index, slides) { + const swiper = this; + const { + $wrapperEl, + params, + activeIndex + } = swiper; + let activeIndexBuffer = activeIndex; + + if (params.loop) { + activeIndexBuffer -= swiper.loopedSlides; + swiper.loopDestroy(); + swiper.slides = $wrapperEl.children(`.${params.slideClass}`); + } + + const baseLength = swiper.slides.length; + + if (index <= 0) { + swiper.prependSlide(slides); + return; + } + + if (index >= baseLength) { + swiper.appendSlide(slides); + return; + } + + let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; + const slidesBuffer = []; + + for (let i = baseLength - 1; i >= index; i -= 1) { + const currentSlide = swiper.slides.eq(i); + currentSlide.remove(); + slidesBuffer.unshift(currentSlide); + } + + if (typeof slides === 'object' && 'length' in slides) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) $wrapperEl.append(slides[i]); + } + + newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; + } else { + $wrapperEl.append(slides); + } + + for (let i = 0; i < slidesBuffer.length; i += 1) { + $wrapperEl.append(slidesBuffer[i]); + } + + if (params.loop) { + swiper.loopCreate(); + } + + if (!params.observer) { + swiper.update(); + } + + if (params.loop) { + swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); + } else { + swiper.slideTo(newActiveIndex, 0, false); + } + } + + function removeSlide(slidesIndexes) { + const swiper = this; + const { + params, + $wrapperEl, + activeIndex + } = swiper; + let activeIndexBuffer = activeIndex; + + if (params.loop) { + activeIndexBuffer -= swiper.loopedSlides; + swiper.loopDestroy(); + swiper.slides = $wrapperEl.children(`.${params.slideClass}`); + } + + let newActiveIndex = activeIndexBuffer; + let indexToRemove; + + if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) { + for (let i = 0; i < slidesIndexes.length; i += 1) { + indexToRemove = slidesIndexes[i]; + if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove(); + if (indexToRemove < newActiveIndex) newActiveIndex -= 1; + } + + newActiveIndex = Math.max(newActiveIndex, 0); + } else { + indexToRemove = slidesIndexes; + if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove(); + if (indexToRemove < newActiveIndex) newActiveIndex -= 1; + newActiveIndex = Math.max(newActiveIndex, 0); + } + + if (params.loop) { + swiper.loopCreate(); + } + + if (!params.observer) { + swiper.update(); + } + + if (params.loop) { + swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); + } else { + swiper.slideTo(newActiveIndex, 0, false); + } + } + + function removeAllSlides() { + const swiper = this; + const slidesIndexes = []; + + for (let i = 0; i < swiper.slides.length; i += 1) { + slidesIndexes.push(i); + } + + swiper.removeSlide(slidesIndexes); + } + + function Manipulation(_ref) { + let { + swiper + } = _ref; + Object.assign(swiper, { + appendSlide: appendSlide.bind(swiper), + prependSlide: prependSlide.bind(swiper), + addSlide: addSlide.bind(swiper), + removeSlide: removeSlide.bind(swiper), + removeAllSlides: removeAllSlides.bind(swiper) + }); + } + + function effectInit(params) { + const { + effect, + swiper, + on, + setTranslate, + setTransition, + overwriteParams, + perspective, + recreateShadows, + getEffectParams + } = params; + on('beforeInit', () => { + if (swiper.params.effect !== effect) return; + swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`); + + if (perspective && perspective()) { + swiper.classNames.push(`${swiper.params.containerModifierClass}3d`); + } + + const overwriteParamsResult = overwriteParams ? overwriteParams() : {}; + Object.assign(swiper.params, overwriteParamsResult); + Object.assign(swiper.originalParams, overwriteParamsResult); + }); + on('setTranslate', () => { + if (swiper.params.effect !== effect) return; + setTranslate(); + }); + on('setTransition', (_s, duration) => { + if (swiper.params.effect !== effect) return; + setTransition(duration); + }); + on('transitionEnd', () => { + if (swiper.params.effect !== effect) return; + + if (recreateShadows) { + if (!getEffectParams || !getEffectParams().slideShadows) return; // remove shadows + + swiper.slides.each(slideEl => { + const $slideEl = swiper.$(slideEl); + $slideEl.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').remove(); + }); // create new one + + recreateShadows(); + } + }); + let requireUpdateOnVirtual; + on('virtualUpdate', () => { + if (swiper.params.effect !== effect) return; + + if (!swiper.slides.length) { + requireUpdateOnVirtual = true; + } + + requestAnimationFrame(() => { + if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) { + setTranslate(); + requireUpdateOnVirtual = false; + } + }); + }); + } + + function effectTarget(effectParams, $slideEl) { + if (effectParams.transformEl) { + return $slideEl.find(effectParams.transformEl).css({ + 'backface-visibility': 'hidden', + '-webkit-backface-visibility': 'hidden' + }); + } + + return $slideEl; + } + + function effectVirtualTransitionEnd(_ref) { + let { + swiper, + duration, + transformEl, + allSlides + } = _ref; + const { + slides, + activeIndex, + $wrapperEl + } = swiper; + + if (swiper.params.virtualTranslate && duration !== 0) { + let eventTriggered = false; + let $transitionEndTarget; + + if (allSlides) { + $transitionEndTarget = transformEl ? slides.find(transformEl) : slides; + } else { + $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex); + } + + $transitionEndTarget.transitionEnd(() => { + if (eventTriggered) return; + if (!swiper || swiper.destroyed) return; + eventTriggered = true; + swiper.animating = false; + const triggerEvents = ['webkitTransitionEnd', 'transitionend']; + + for (let i = 0; i < triggerEvents.length; i += 1) { + $wrapperEl.trigger(triggerEvents[i]); + } + }); + } + } + + function EffectFade(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + fadeEffect: { + crossFade: false, + transformEl: null + } + }); + + const setTranslate = () => { + const { + slides + } = swiper; + const params = swiper.params.fadeEffect; + + for (let i = 0; i < slides.length; i += 1) { + const $slideEl = swiper.slides.eq(i); + const offset = $slideEl[0].swiperSlideOffset; + let tx = -offset; + if (!swiper.params.virtualTranslate) tx -= swiper.translate; + let ty = 0; + + if (!swiper.isHorizontal()) { + ty = tx; + tx = 0; + } + + const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0); + const $targetEl = effectTarget(params, $slideEl); + $targetEl.css({ + opacity: slideOpacity + }).transform(`translate3d(${tx}px, ${ty}px, 0px)`); + } + }; + + const setTransition = duration => { + const { + transformEl + } = swiper.params.fadeEffect; + const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; + $transitionElements.transition(duration); + effectVirtualTransitionEnd({ + swiper, + duration, + transformEl, + allSlides: true + }); + }; + + effectInit({ + effect: 'fade', + swiper, + on, + setTranslate, + setTransition, + overwriteParams: () => ({ + slidesPerView: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + spaceBetween: 0, + virtualTranslate: !swiper.params.cssMode + }) + }); + } + + function EffectCube(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + cubeEffect: { + slideShadows: true, + shadow: true, + shadowOffset: 20, + shadowScale: 0.94 + } + }); + + const createSlideShadows = ($slideEl, progress, isHorizontal) => { + let shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); + let shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); + + if (shadowBefore.length === 0) { + shadowBefore = $(`
    `); + $slideEl.append(shadowBefore); + } + + if (shadowAfter.length === 0) { + shadowAfter = $(`
    `); + $slideEl.append(shadowAfter); + } + + if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); + if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); + }; + + const recreateShadows = () => { + // create new ones + const isHorizontal = swiper.isHorizontal(); + swiper.slides.each(slideEl => { + const progress = Math.max(Math.min(slideEl.progress, 1), -1); + createSlideShadows($(slideEl), progress, isHorizontal); + }); + }; + + const setTranslate = () => { + const { + $el, + $wrapperEl, + slides, + width: swiperWidth, + height: swiperHeight, + rtlTranslate: rtl, + size: swiperSize, + browser + } = swiper; + const params = swiper.params.cubeEffect; + const isHorizontal = swiper.isHorizontal(); + const isVirtual = swiper.virtual && swiper.params.virtual.enabled; + let wrapperRotate = 0; + let $cubeShadowEl; + + if (params.shadow) { + if (isHorizontal) { + $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow'); + + if ($cubeShadowEl.length === 0) { + $cubeShadowEl = $('
    '); + $wrapperEl.append($cubeShadowEl); + } + + $cubeShadowEl.css({ + height: `${swiperWidth}px` + }); + } else { + $cubeShadowEl = $el.find('.swiper-cube-shadow'); + + if ($cubeShadowEl.length === 0) { + $cubeShadowEl = $('
    '); + $el.append($cubeShadowEl); + } + } + } + + for (let i = 0; i < slides.length; i += 1) { + const $slideEl = slides.eq(i); + let slideIndex = i; + + if (isVirtual) { + slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10); + } + + let slideAngle = slideIndex * 90; + let round = Math.floor(slideAngle / 360); + + if (rtl) { + slideAngle = -slideAngle; + round = Math.floor(-slideAngle / 360); + } + + const progress = Math.max(Math.min($slideEl[0].progress, 1), -1); + let tx = 0; + let ty = 0; + let tz = 0; + + if (slideIndex % 4 === 0) { + tx = -round * 4 * swiperSize; + tz = 0; + } else if ((slideIndex - 1) % 4 === 0) { + tx = 0; + tz = -round * 4 * swiperSize; + } else if ((slideIndex - 2) % 4 === 0) { + tx = swiperSize + round * 4 * swiperSize; + tz = swiperSize; + } else if ((slideIndex - 3) % 4 === 0) { + tx = -swiperSize; + tz = 3 * swiperSize + swiperSize * 4 * round; + } + + if (rtl) { + tx = -tx; + } + + if (!isHorizontal) { + ty = tx; + tx = 0; + } + + const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`; + + if (progress <= 1 && progress > -1) { + wrapperRotate = slideIndex * 90 + progress * 90; + if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90; + } + + $slideEl.transform(transform); + + if (params.slideShadows) { + createSlideShadows($slideEl, progress, isHorizontal); + } + } + + $wrapperEl.css({ + '-webkit-transform-origin': `50% 50% -${swiperSize / 2}px`, + 'transform-origin': `50% 50% -${swiperSize / 2}px` + }); + + if (params.shadow) { + if (isHorizontal) { + $cubeShadowEl.transform(`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`); + } else { + const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; + const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); + const scale1 = params.shadowScale; + const scale2 = params.shadowScale / multiplier; + const offset = params.shadowOffset; + $cubeShadowEl.transform(`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`); + } + } + + const zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0; + $wrapperEl.transform(`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`); + $wrapperEl[0].style.setProperty('--swiper-cube-translate-z', `${zFactor}px`); + }; + + const setTransition = duration => { + const { + $el, + slides + } = swiper; + slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); + + if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) { + $el.find('.swiper-cube-shadow').transition(duration); + } + }; + + effectInit({ + effect: 'cube', + swiper, + on, + setTranslate, + setTransition, + recreateShadows, + getEffectParams: () => swiper.params.cubeEffect, + perspective: () => true, + overwriteParams: () => ({ + slidesPerView: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + resistanceRatio: 0, + spaceBetween: 0, + centeredSlides: false, + virtualTranslate: true + }) + }); + } + + function createShadow(params, $slideEl, side) { + const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`; + const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl; + let $shadowEl = $shadowContainer.children(`.${shadowClass}`); + + if (!$shadowEl.length) { + $shadowEl = $(`
    `); + $shadowContainer.append($shadowEl); + } + + return $shadowEl; + } + + function EffectFlip(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + flipEffect: { + slideShadows: true, + limitRotation: true, + transformEl: null + } + }); + + const createSlideShadows = ($slideEl, progress, params) => { + let shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); + let shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); + + if (shadowBefore.length === 0) { + shadowBefore = createShadow(params, $slideEl, swiper.isHorizontal() ? 'left' : 'top'); + } + + if (shadowAfter.length === 0) { + shadowAfter = createShadow(params, $slideEl, swiper.isHorizontal() ? 'right' : 'bottom'); + } + + if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); + if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); + }; + + const recreateShadows = () => { + // Set shadows + const params = swiper.params.flipEffect; + swiper.slides.each(slideEl => { + const $slideEl = $(slideEl); + let progress = $slideEl[0].progress; + + if (swiper.params.flipEffect.limitRotation) { + progress = Math.max(Math.min(slideEl.progress, 1), -1); + } + + createSlideShadows($slideEl, progress, params); + }); + }; + + const setTranslate = () => { + const { + slides, + rtlTranslate: rtl + } = swiper; + const params = swiper.params.flipEffect; + + for (let i = 0; i < slides.length; i += 1) { + const $slideEl = slides.eq(i); + let progress = $slideEl[0].progress; + + if (swiper.params.flipEffect.limitRotation) { + progress = Math.max(Math.min($slideEl[0].progress, 1), -1); + } + + const offset = $slideEl[0].swiperSlideOffset; + const rotate = -180 * progress; + let rotateY = rotate; + let rotateX = 0; + let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset; + let ty = 0; + + if (!swiper.isHorizontal()) { + ty = tx; + tx = 0; + rotateX = -rotateY; + rotateY = 0; + } else if (rtl) { + rotateY = -rotateY; + } + + $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length; + + if (params.slideShadows) { + createSlideShadows($slideEl, progress, params); + } + + const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`; + const $targetEl = effectTarget(params, $slideEl); + $targetEl.transform(transform); + } + }; + + const setTransition = duration => { + const { + transformEl + } = swiper.params.flipEffect; + const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; + $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); + effectVirtualTransitionEnd({ + swiper, + duration, + transformEl + }); + }; + + effectInit({ + effect: 'flip', + swiper, + on, + setTranslate, + setTransition, + recreateShadows, + getEffectParams: () => swiper.params.flipEffect, + perspective: () => true, + overwriteParams: () => ({ + slidesPerView: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + spaceBetween: 0, + virtualTranslate: !swiper.params.cssMode + }) + }); + } + + function EffectCoverflow(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + coverflowEffect: { + rotate: 50, + stretch: 0, + depth: 100, + scale: 1, + modifier: 1, + slideShadows: true, + transformEl: null + } + }); + + const setTranslate = () => { + const { + width: swiperWidth, + height: swiperHeight, + slides, + slidesSizesGrid + } = swiper; + const params = swiper.params.coverflowEffect; + const isHorizontal = swiper.isHorizontal(); + const transform = swiper.translate; + const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2; + const rotate = isHorizontal ? params.rotate : -params.rotate; + const translate = params.depth; // Each slide offset from center + + for (let i = 0, length = slides.length; i < length; i += 1) { + const $slideEl = slides.eq(i); + const slideSize = slidesSizesGrid[i]; + const slideOffset = $slideEl[0].swiperSlideOffset; + const centerOffset = (center - slideOffset - slideSize / 2) / slideSize; + const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier; + let rotateY = isHorizontal ? rotate * offsetMultiplier : 0; + let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0 + + let translateZ = -translate * Math.abs(offsetMultiplier); + let stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders + + if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) { + stretch = parseFloat(params.stretch) / 100 * slideSize; + } + + let translateY = isHorizontal ? 0 : stretch * offsetMultiplier; + let translateX = isHorizontal ? stretch * offsetMultiplier : 0; + let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values + + if (Math.abs(translateX) < 0.001) translateX = 0; + if (Math.abs(translateY) < 0.001) translateY = 0; + if (Math.abs(translateZ) < 0.001) translateZ = 0; + if (Math.abs(rotateY) < 0.001) rotateY = 0; + if (Math.abs(rotateX) < 0.001) rotateX = 0; + if (Math.abs(scale) < 0.001) scale = 0; + const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`; + const $targetEl = effectTarget(params, $slideEl); + $targetEl.transform(slideTransform); + $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; + + if (params.slideShadows) { + // Set shadows + let $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); + let $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); + + if ($shadowBeforeEl.length === 0) { + $shadowBeforeEl = createShadow(params, $slideEl, isHorizontal ? 'left' : 'top'); + } + + if ($shadowAfterEl.length === 0) { + $shadowAfterEl = createShadow(params, $slideEl, isHorizontal ? 'right' : 'bottom'); + } + + if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; + if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0; + } + } + }; + + const setTransition = duration => { + const { + transformEl + } = swiper.params.coverflowEffect; + const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; + $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); + }; + + effectInit({ + effect: 'coverflow', + swiper, + on, + setTranslate, + setTransition, + perspective: () => true, + overwriteParams: () => ({ + watchSlidesProgress: true + }) + }); + } + + function EffectCreative(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + creativeEffect: { + transformEl: null, + limitProgress: 1, + shadowPerProgress: false, + progressMultiplier: 1, + perspective: true, + prev: { + translate: [0, 0, 0], + rotate: [0, 0, 0], + opacity: 1, + scale: 1 + }, + next: { + translate: [0, 0, 0], + rotate: [0, 0, 0], + opacity: 1, + scale: 1 + } + } + }); + + const getTranslateValue = value => { + if (typeof value === 'string') return value; + return `${value}px`; + }; + + const setTranslate = () => { + const { + slides, + $wrapperEl, + slidesSizesGrid + } = swiper; + const params = swiper.params.creativeEffect; + const { + progressMultiplier: multiplier + } = params; + const isCenteredSlides = swiper.params.centeredSlides; + + if (isCenteredSlides) { + const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0; + $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`); + } + + for (let i = 0; i < slides.length; i += 1) { + const $slideEl = slides.eq(i); + const slideProgress = $slideEl[0].progress; + const progress = Math.min(Math.max($slideEl[0].progress, -params.limitProgress), params.limitProgress); + let originalProgress = progress; + + if (!isCenteredSlides) { + originalProgress = Math.min(Math.max($slideEl[0].originalProgress, -params.limitProgress), params.limitProgress); + } + + const offset = $slideEl[0].swiperSlideOffset; + const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0]; + const r = [0, 0, 0]; + let custom = false; + + if (!swiper.isHorizontal()) { + t[1] = t[0]; + t[0] = 0; + } + + let data = { + translate: [0, 0, 0], + rotate: [0, 0, 0], + scale: 1, + opacity: 1 + }; + + if (progress < 0) { + data = params.next; + custom = true; + } else if (progress > 0) { + data = params.prev; + custom = true; + } // set translate + + + t.forEach((value, index) => { + t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`; + }); // set rotates + + r.forEach((value, index) => { + r[index] = data.rotate[index] * Math.abs(progress * multiplier); + }); + $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; + const translateString = t.join(', '); + const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`; + const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`; + const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier; + const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; // Set shadows + + if (custom && data.shadow || !custom) { + let $shadowEl = $slideEl.children('.swiper-slide-shadow'); + + if ($shadowEl.length === 0 && data.shadow) { + $shadowEl = createShadow(params, $slideEl); + } + + if ($shadowEl.length) { + const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress; + $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1); + } + } + + const $targetEl = effectTarget(params, $slideEl); + $targetEl.transform(transform).css({ + opacity: opacityString + }); + + if (data.origin) { + $targetEl.css('transform-origin', data.origin); + } + } + }; + + const setTransition = duration => { + const { + transformEl + } = swiper.params.creativeEffect; + const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; + $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration); + effectVirtualTransitionEnd({ + swiper, + duration, + transformEl, + allSlides: true + }); + }; + + effectInit({ + effect: 'creative', + swiper, + on, + setTranslate, + setTransition, + perspective: () => swiper.params.creativeEffect.perspective, + overwriteParams: () => ({ + watchSlidesProgress: true, + virtualTranslate: !swiper.params.cssMode + }) + }); + } + + function EffectCards(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + cardsEffect: { + slideShadows: true, + transformEl: null, + rotate: true, + perSlideRotate: 2, + perSlideOffset: 8 + } + }); + + const setTranslate = () => { + const { + slides, + activeIndex + } = swiper; + const params = swiper.params.cardsEffect; + const { + startTranslate, + isTouched + } = swiper.touchEventsData; + const currentTranslate = swiper.translate; + + for (let i = 0; i < slides.length; i += 1) { + const $slideEl = slides.eq(i); + const slideProgress = $slideEl[0].progress; + const progress = Math.min(Math.max(slideProgress, -4), 4); + let offset = $slideEl[0].swiperSlideOffset; + + if (swiper.params.centeredSlides && !swiper.params.cssMode) { + swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`); + } + + if (swiper.params.centeredSlides && swiper.params.cssMode) { + offset -= slides[0].swiperSlideOffset; + } + + let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset; + let tY = 0; + const tZ = -100 * Math.abs(progress); + let scale = 1; + let rotate = -params.perSlideRotate * progress; + let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75; + const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i; + const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate; + const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate; + + if (isSwipeToNext || isSwipeToPrev) { + const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5; + rotate += -28 * progress * subProgress; + scale += -0.5 * subProgress; + tXAdd += 96 * subProgress; + tY = `${-25 * subProgress * Math.abs(progress)}%`; + } + + if (progress < 0) { + // next + tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`; + } else if (progress > 0) { + // prev + tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`; + } else { + tX = `${tX}px`; + } + + if (!swiper.isHorizontal()) { + const prevY = tY; + tY = tX; + tX = prevY; + } + + const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`; + const transform = ` + translate3d(${tX}, ${tY}, ${tZ}px) + rotateZ(${params.rotate ? rotate : 0}deg) + scale(${scaleString}) + `; + + if (params.slideShadows) { + // Set shadows + let $shadowEl = $slideEl.find('.swiper-slide-shadow'); + + if ($shadowEl.length === 0) { + $shadowEl = createShadow(params, $slideEl); + } + + if ($shadowEl.length) $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1); + } + + $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; + const $targetEl = effectTarget(params, $slideEl); + $targetEl.transform(transform); + } + }; + + const setTransition = duration => { + const { + transformEl + } = swiper.params.cardsEffect; + const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; + $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration); + effectVirtualTransitionEnd({ + swiper, + duration, + transformEl + }); + }; + + effectInit({ + effect: 'cards', + swiper, + on, + setTranslate, + setTransition, + perspective: () => true, + overwriteParams: () => ({ + watchSlidesProgress: true, + virtualTranslate: !swiper.params.cssMode + }) + }); + } + + // Swiper Class + const modules = [Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Lazy, Controller, A11y, History, HashNavigation, Autoplay, Thumb, freeMode, Grid, Manipulation, EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCreative, EffectCards]; + Swiper.use(modules); + + return Swiper; + +})); +//# sourceMappingURL=swiper-bundle.js.map diff --git a/source/lib/swiper@8.4.6/swiper-bundle.js.map b/source/lib/swiper@8.4.6/swiper-bundle.js.map new file mode 100644 index 0000000..f764980 --- /dev/null +++ b/source/lib/swiper@8.4.6/swiper-bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"swiper-bundle.js.map","sources":["../node_modules/ssr-window/ssr-window.esm.js","../node_modules/dom7/dom7.esm.js","../src/shared/dom.js","../src/shared/utils.js","../src/shared/get-support.js","../src/shared/get-device.js","../src/shared/get-browser.js","../src/core/modules/resize/resize.js","../src/core/modules/observer/observer.js","../src/core/events-emitter.js","../src/core/update/updateSize.js","../src/core/update/updateSlides.js","../src/core/update/updateAutoHeight.js","../src/core/update/updateSlidesOffset.js","../src/core/update/updateSlidesProgress.js","../src/core/update/updateProgress.js","../src/core/update/updateSlidesClasses.js","../src/core/update/updateActiveIndex.js","../src/core/update/updateClickedSlide.js","../src/core/update/index.js","../src/core/translate/getTranslate.js","../src/core/translate/setTranslate.js","../src/core/translate/minTranslate.js","../src/core/translate/maxTranslate.js","../src/core/translate/translateTo.js","../src/core/translate/index.js","../src/core/transition/setTransition.js","../src/core/transition/transitionEmit.js","../src/core/transition/transitionStart.js","../src/core/transition/transitionEnd.js","../src/core/transition/index.js","../src/core/slide/slideTo.js","../src/core/slide/slideToLoop.js","../src/core/slide/slideNext.js","../src/core/slide/slidePrev.js","../src/core/slide/slideReset.js","../src/core/slide/slideToClosest.js","../src/core/slide/slideToClickedSlide.js","../src/core/slide/index.js","../src/core/loop/loopCreate.js","../src/core/loop/loopFix.js","../src/core/loop/loopDestroy.js","../src/core/loop/index.js","../src/core/grab-cursor/setGrabCursor.js","../src/core/grab-cursor/unsetGrabCursor.js","../src/core/grab-cursor/index.js","../src/core/events/onTouchStart.js","../src/core/events/onTouchMove.js","../src/core/events/onTouchEnd.js","../src/core/events/onResize.js","../src/core/events/onClick.js","../src/core/events/onScroll.js","../src/core/events/index.js","../src/core/breakpoints/setBreakpoint.js","../src/core/breakpoints/getBreakpoint.js","../src/core/breakpoints/index.js","../src/core/classes/addClasses.js","../src/core/classes/removeClasses.js","../src/core/classes/index.js","../src/core/images/loadImage.js","../src/core/images/preloadImages.js","../src/core/images/index.js","../src/core/check-overflow/index.js","../src/core/defaults.js","../src/core/moduleExtendParams.js","../src/core/core.js","../src/modules/virtual/virtual.js","../src/modules/keyboard/keyboard.js","../src/modules/mousewheel/mousewheel.js","../src/shared/create-element-if-not-defined.js","../src/modules/navigation/navigation.js","../src/shared/classes-to-selector.js","../src/modules/pagination/pagination.js","../src/modules/scrollbar/scrollbar.js","../src/modules/parallax/parallax.js","../src/modules/zoom/zoom.js","../src/modules/lazy/lazy.js","../src/modules/controller/controller.js","../src/modules/a11y/a11y.js","../src/modules/history/history.js","../src/modules/hash-navigation/hash-navigation.js","../src/modules/autoplay/autoplay.js","../src/modules/thumbs/thumbs.js","../src/modules/free-mode/free-mode.js","../src/modules/grid/grid.js","../src/modules/manipulation/methods/appendSlide.js","../src/modules/manipulation/methods/prependSlide.js","../src/modules/manipulation/methods/addSlide.js","../src/modules/manipulation/methods/removeSlide.js","../src/modules/manipulation/methods/removeAllSlides.js","../src/modules/manipulation/manipulation.js","../src/shared/effect-init.js","../src/shared/effect-target.js","../src/shared/effect-virtual-transition-end.js","../src/modules/effect-fade/effect-fade.js","../src/modules/effect-cube/effect-cube.js","../src/shared/create-shadow.js","../src/modules/effect-flip/effect-flip.js","../src/modules/effect-coverflow/effect-coverflow.js","../src/modules/effect-creative/effect-creative.js","../src/modules/effect-cards/effect-cards.js","../src/swiper.js"],"sourcesContent":["/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.4\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2022, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: January 11, 2022\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf(' c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(prop => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import {\n $,\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n transform,\n transition,\n on,\n off,\n trigger,\n transitionEnd,\n outerWidth,\n outerHeight,\n styles,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n filter,\n remove,\n} from 'dom7';\n\nconst Methods = {\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n transform,\n transition,\n on,\n off,\n trigger,\n transitionEnd,\n outerWidth,\n outerHeight,\n styles,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n filter,\n remove,\n};\n\nObject.keys(Methods).forEach((methodName) => {\n Object.defineProperty($.fn, methodName, { value: Methods[methodName], writable: true });\n});\n\nexport default $;\n","import { getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach((key) => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\nfunction getTranslate(el, axis = 'x') {\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n\n const curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform\n .split(', ')\n .map((a) => a.replace(',', '.'))\n .join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix =\n curStyle.MozTransform ||\n curStyle.OTransform ||\n curStyle.MsTransform ||\n curStyle.msTransform ||\n curStyle.transform ||\n curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return (\n typeof o === 'object' &&\n o !== null &&\n o.constructor &&\n Object.prototype.toString.call(o).slice(8, -1) === 'Object'\n );\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend(...args) {\n const to = Object(args[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < args.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter((key) => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\n\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\n\nfunction animateCSSModeScroll({ swiper, targetPosition, side }) {\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n\n const isOutOfBound = (current, target) => {\n return (dir === 'next' && current >= target) || (dir === 'prev' && current <= target);\n };\n\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition,\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition,\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\n\nexport {\n animateCSSModeScroll,\n deleteProps,\n nextTick,\n now,\n getTranslate,\n isObject,\n extend,\n getComputedStyle,\n setCSSProperty,\n};\n","import { getWindow, getDocument } from 'ssr-window';\n\nlet support;\n\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n\n touch: !!(\n 'ontouchstart' in window ||\n (window.DocumentTouch && document instanceof window.DocumentTouch)\n ),\n\n passiveListener: (function checkPassiveListener() {\n let supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n },\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {\n // No support\n }\n return supportsPassive;\n })(),\n\n gestures: (function checkGestures() {\n return 'ongesturestart' in window;\n })(),\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nexport { getSupport };\n","import { getWindow } from 'ssr-window';\r\nimport { getSupport } from './get-support.js';\r\n\r\nlet deviceCached;\r\n\r\nfunction calcDevice({ userAgent } = {}) {\r\n const support = getSupport();\r\n const window = getWindow();\r\n const platform = window.navigator.platform;\r\n const ua = userAgent || window.navigator.userAgent;\r\n\r\n const device = {\r\n ios: false,\r\n android: false,\r\n };\r\n\r\n const screenWidth = window.screen.width;\r\n const screenHeight = window.screen.height;\r\n\r\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\r\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\r\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\r\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\r\n const windows = platform === 'Win32';\r\n let macos = platform === 'MacIntel';\r\n\r\n // iPadOs 13 fix\r\n const iPadScreens = [\r\n '1024x1366',\r\n '1366x1024',\r\n '834x1194',\r\n '1194x834',\r\n '834x1112',\r\n '1112x834',\r\n '768x1024',\r\n '1024x768',\r\n '820x1180',\r\n '1180x820',\r\n '810x1080',\r\n '1080x810',\r\n ];\r\n if (\r\n !ipad &&\r\n macos &&\r\n support.touch &&\r\n iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0\r\n ) {\r\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\r\n if (!ipad) ipad = [0, 1, '13_0_0'];\r\n macos = false;\r\n }\r\n\r\n // Android\r\n if (android && !windows) {\r\n device.os = 'android';\r\n device.android = true;\r\n }\r\n if (ipad || iphone || ipod) {\r\n device.os = 'ios';\r\n device.ios = true;\r\n }\r\n\r\n // Export object\r\n return device;\r\n}\r\n\r\nfunction getDevice(overrides = {}) {\r\n if (!deviceCached) {\r\n deviceCached = calcDevice(overrides);\r\n }\r\n return deviceCached;\r\n}\r\n\r\nexport { getDevice };\r\n","import { getWindow } from 'ssr-window';\r\n\r\nlet browser;\r\n\r\nfunction calcBrowser() {\r\n const window = getWindow();\r\n function isSafari() {\r\n const ua = window.navigator.userAgent.toLowerCase();\r\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\r\n }\r\n return {\r\n isSafari: isSafari(),\r\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent),\r\n };\r\n}\r\n\r\nfunction getBrowser() {\r\n if (!browser) {\r\n browser = calcBrowser();\r\n }\r\n return browser;\r\n}\r\n\r\nexport { getBrowser };\r\n","import { getWindow } from 'ssr-window';\r\n\r\nexport default function Resize({ swiper, on, emit }) {\r\n const window = getWindow();\r\n let observer = null;\r\n let animationFrame = null;\r\n\r\n const resizeHandler = () => {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\r\n emit('beforeResize');\r\n emit('resize');\r\n };\r\n\r\n const createObserver = () => {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\r\n observer = new ResizeObserver((entries) => {\r\n animationFrame = window.requestAnimationFrame(() => {\r\n const { width, height } = swiper;\r\n let newWidth = width;\r\n let newHeight = height;\r\n entries.forEach(({ contentBoxSize, contentRect, target }) => {\r\n if (target && target !== swiper.el) return;\r\n newWidth = contentRect\r\n ? contentRect.width\r\n : (contentBoxSize[0] || contentBoxSize).inlineSize;\r\n newHeight = contentRect\r\n ? contentRect.height\r\n : (contentBoxSize[0] || contentBoxSize).blockSize;\r\n });\r\n if (newWidth !== width || newHeight !== height) {\r\n resizeHandler();\r\n }\r\n });\r\n });\r\n observer.observe(swiper.el);\r\n };\r\n\r\n const removeObserver = () => {\r\n if (animationFrame) {\r\n window.cancelAnimationFrame(animationFrame);\r\n }\r\n if (observer && observer.unobserve && swiper.el) {\r\n observer.unobserve(swiper.el);\r\n observer = null;\r\n }\r\n };\r\n\r\n const orientationChangeHandler = () => {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\r\n emit('orientationchange');\r\n };\r\n\r\n on('init', () => {\r\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\r\n createObserver();\r\n return;\r\n }\r\n window.addEventListener('resize', resizeHandler);\r\n window.addEventListener('orientationchange', orientationChangeHandler);\r\n });\r\n\r\n on('destroy', () => {\r\n removeObserver();\r\n window.removeEventListener('resize', resizeHandler);\r\n window.removeEventListener('orientationchange', orientationChangeHandler);\r\n });\r\n}\r\n","import { getWindow } from 'ssr-window';\n\nexport default function Observer({ swiper, extendParams, on, emit }) {\n const observers = [];\n const window = getWindow();\n const attach = (target, options = {}) => {\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc((mutations) => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData,\n });\n\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = swiper.$el.parents();\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren,\n });\n\n // Observe wrapper\n attach(swiper.$wrapperEl[0], { attributes: false });\n };\n const destroy = () => {\n observers.forEach((observer) => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false,\n });\n on('init', init);\n on('destroy', destroy);\n}\n","/* eslint-disable no-underscore-dangle */\r\n\r\nexport default {\r\n on(events, handler, priority) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (typeof handler !== 'function') return self;\r\n const method = priority ? 'unshift' : 'push';\r\n events.split(' ').forEach((event) => {\r\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\r\n self.eventsListeners[event][method](handler);\r\n });\r\n return self;\r\n },\r\n\r\n once(events, handler, priority) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (typeof handler !== 'function') return self;\r\n function onceHandler(...args) {\r\n self.off(events, onceHandler);\r\n if (onceHandler.__emitterProxy) {\r\n delete onceHandler.__emitterProxy;\r\n }\r\n handler.apply(self, args);\r\n }\r\n onceHandler.__emitterProxy = handler;\r\n return self.on(events, onceHandler, priority);\r\n },\r\n\r\n onAny(handler, priority) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (typeof handler !== 'function') return self;\r\n const method = priority ? 'unshift' : 'push';\r\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\r\n self.eventsAnyListeners[method](handler);\r\n }\r\n return self;\r\n },\r\n\r\n offAny(handler) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (!self.eventsAnyListeners) return self;\r\n const index = self.eventsAnyListeners.indexOf(handler);\r\n if (index >= 0) {\r\n self.eventsAnyListeners.splice(index, 1);\r\n }\r\n return self;\r\n },\r\n\r\n off(events, handler) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (!self.eventsListeners) return self;\r\n events.split(' ').forEach((event) => {\r\n if (typeof handler === 'undefined') {\r\n self.eventsListeners[event] = [];\r\n } else if (self.eventsListeners[event]) {\r\n self.eventsListeners[event].forEach((eventHandler, index) => {\r\n if (\r\n eventHandler === handler ||\r\n (eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler)\r\n ) {\r\n self.eventsListeners[event].splice(index, 1);\r\n }\r\n });\r\n }\r\n });\r\n return self;\r\n },\r\n\r\n emit(...args) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (!self.eventsListeners) return self;\r\n let events;\r\n let data;\r\n let context;\r\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\r\n events = args[0];\r\n data = args.slice(1, args.length);\r\n context = self;\r\n } else {\r\n events = args[0].events;\r\n data = args[0].data;\r\n context = args[0].context || self;\r\n }\r\n data.unshift(context);\r\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\r\n\r\n eventsArray.forEach((event) => {\r\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\r\n self.eventsAnyListeners.forEach((eventHandler) => {\r\n eventHandler.apply(context, [event, ...data]);\r\n });\r\n }\r\n if (self.eventsListeners && self.eventsListeners[event]) {\r\n self.eventsListeners[event].forEach((eventHandler) => {\r\n eventHandler.apply(context, data);\r\n });\r\n }\r\n });\r\n return self;\r\n },\r\n};\r\n","export default function updateSize() {\n const swiper = this;\n let width;\n let height;\n const $el = swiper.$el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n if ((width === 0 && swiper.isHorizontal()) || (height === 0 && swiper.isVertical())) {\n return;\n }\n\n // Subtract paddings\n width =\n width -\n parseInt($el.css('padding-left') || 0, 10) -\n parseInt($el.css('padding-right') || 0, 10);\n height =\n height -\n parseInt($el.css('padding-top') || 0, 10) -\n parseInt($el.css('padding-bottom') || 0, 10);\n\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height,\n });\n}\n","import { setCSSProperty } from '../../shared/utils.js';\n\nexport default function updateSlides() {\n const swiper = this;\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom',\n }[property];\n }\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n const params = swiper.params;\n\n const { $wrapperEl, size: swiperSize, rtlTranslate: rtl, wrongRTL } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = (parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n if (rtl) slides.css({ marginLeft: '', marginBottom: '', marginTop: '' });\n else slides.css({ marginRight: '', marginBottom: '', marginTop: '' });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', '');\n }\n\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n }\n\n // Calc slides\n let slideSize;\n\n const shouldResetSlideSize =\n params.slidesPerView === 'auto' &&\n params.breakpoints &&\n Object.keys(params.breakpoints).filter((key) => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n const slide = slides.eq(i);\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide[0]);\n const currentTransform = slide[0].style.transform;\n const currentWebKitTransform = slide[0].style.webkitTransform;\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const { clientWidth, offsetWidth } = slide[0];\n slideSize =\n width +\n paddingLeft +\n paddingRight +\n marginLeft +\n marginRight +\n (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0)\n slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (\n (index - Math.min(swiper.params.slidesPerGroupSkip, index)) %\n swiper.params.slidesPerGroup ===\n 0\n )\n snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n\n prevSlideSize = slideSize;\n\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({ width: `${swiper.virtualSize + params.spaceBetween}px` });\n }\n if (params.setWrapperSize) {\n $wrapperEl.css({\n [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px`,\n });\n }\n\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n\n if (\n Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) >\n 1\n ) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides\n .filter((_, slideIndex) => {\n if (!params.cssMode) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n })\n .css({ [key]: `${spaceBetween}px` });\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach((slideSizeValue) => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map((snap) => {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach((slideSizeValue) => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid,\n });\n\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(\n swiper.wrapperEl,\n '--swiper-centered-offset-after',\n `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`,\n );\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map((v) => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map((v) => v + addToSlidesGrid);\n }\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.$el.removeClass(backFaceHiddenClass);\n }\n }\n}\n","import $ from '../../shared/dom.js';\n\nexport default function updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n const getSlideByIndex = (index) => {\n if (isVirtual) {\n return swiper.slides.filter(\n (el) => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index,\n )[0];\n }\n return swiper.slides.eq(index)[0];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || $([])).each((slide) => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`);\n}\n","export default function updateSlidesOffset() {\r\n const swiper = this;\r\n const slides = swiper.slides;\r\n for (let i = 0; i < slides.length; i += 1) {\r\n slides[i].swiperSlideOffset = swiper.isHorizontal()\r\n ? slides[i].offsetLeft\r\n : slides[i].offsetTop;\r\n }\r\n}\r\n","import $ from '../../shared/dom.js';\n\nexport default function updateSlidesProgress(translate = (this && this.translate) || 0) {\n const swiper = this;\n const params = swiper.params;\n\n const { slides, rtlTranslate: rtl, snapGrid } = swiper;\n\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n\n // Visible Slides\n slides.removeClass(params.slideVisibleClass);\n\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n\n const slideProgress =\n (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) /\n (slide.swiperSlideSize + params.spaceBetween);\n const originalSlideProgress =\n (offsetCenter -\n snapGrid[0] +\n (params.centeredSlides ? swiper.minTranslate() : 0) -\n slideOffset) /\n (slide.swiperSlideSize + params.spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible =\n (slideBefore >= 0 && slideBefore < swiper.size - 1) ||\n (slideAfter > 1 && slideAfter <= swiper.size) ||\n (slideBefore <= 0 && slideAfter >= swiper.size);\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n swiper.visibleSlides = $(swiper.visibleSlides);\n}\n","export default function updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = (swiper && swiper.translate && swiper.translate * multiplier) || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let { progress, isBeginning, isEnd } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n Object.assign(swiper, {\n progress,\n isBeginning,\n isEnd,\n });\n\n if (params.watchSlidesProgress || (params.centeredSlides && params.autoHeight))\n swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if ((wasBeginning && !isBeginning) || (wasEnd && !isEnd)) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}\n","export default function updateSlidesClasses() {\n const swiper = this;\n\n const { slides, params, $wrapperEl, activeIndex, realIndex } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n\n slides.removeClass(\n `${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`,\n );\n\n let activeSlide;\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\n `.${params.slideClass}[data-swiper-slide-index=\"${activeIndex}\"]`,\n );\n } else {\n activeSlide = slides.eq(activeIndex);\n }\n\n // Active classes\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(\n `.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${realIndex}\"]`,\n )\n .addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl\n .children(\n `.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${realIndex}\"]`,\n )\n .addClass(params.slideDuplicateActiveClass);\n }\n }\n // Next Slide\n let nextSlide = activeSlide\n .nextAll(`.${params.slideClass}`)\n .eq(0)\n .addClass(params.slideNextClass);\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n }\n // Prev Slide\n let prevSlide = activeSlide\n .prevAll(`.${params.slideClass}`)\n .eq(0)\n .addClass(params.slidePrevClass);\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(\n `.${params.slideClass}:not(.${\n params.slideDuplicateClass\n })[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`,\n )\n .addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl\n .children(\n `.${params.slideClass}.${\n params.slideDuplicateClass\n }[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`,\n )\n .addClass(params.slideDuplicateNextClass);\n }\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(\n `.${params.slideClass}:not(.${\n params.slideDuplicateClass\n })[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`,\n )\n .addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl\n .children(\n `.${params.slideClass}.${\n params.slideDuplicateClass\n }[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`,\n )\n .addClass(params.slideDuplicatePrevClass);\n }\n }\n swiper.emitSlidesClasses();\n}\n","export default function updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n slidesGrid,\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex,\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n if (typeof activeIndex === 'undefined') {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (\n translate >= slidesGrid[i] &&\n translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2\n ) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n\n // Get real index\n const realIndex = parseInt(\n swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex,\n 10,\n );\n\n Object.assign(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex,\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}\n","import $ from '../../shared/dom.js';\n\nexport default function updateClickedSlide(e) {\n const swiper = this;\n const params = swiper.params;\n const slide = $(e).closest(`.${params.slideClass}`)[0];\n let slideFound = false;\n let slideIndex;\n\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (\n params.slideToClickedSlide &&\n swiper.clickedIndex !== undefined &&\n swiper.clickedIndex !== swiper.activeIndex\n ) {\n swiper.slideToClickedSlide();\n }\n}\n","import updateSize from './updateSize.js';\r\nimport updateSlides from './updateSlides.js';\r\nimport updateAutoHeight from './updateAutoHeight.js';\r\nimport updateSlidesOffset from './updateSlidesOffset.js';\r\nimport updateSlidesProgress from './updateSlidesProgress.js';\r\nimport updateProgress from './updateProgress.js';\r\nimport updateSlidesClasses from './updateSlidesClasses.js';\r\nimport updateActiveIndex from './updateActiveIndex.js';\r\nimport updateClickedSlide from './updateClickedSlide.js';\r\n\r\nexport default {\r\n updateSize,\r\n updateSlides,\r\n updateAutoHeight,\r\n updateSlidesOffset,\r\n updateSlidesProgress,\r\n updateProgress,\r\n updateSlidesClasses,\r\n updateActiveIndex,\r\n updateClickedSlide,\r\n};\r\n","import { getTranslate } from '../../shared/utils.js';\n\nexport default function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {\n const swiper = this;\n\n const { params, rtlTranslate: rtl, translate, $wrapperEl } = swiper;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n\n let currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n\n return currentTranslate || 0;\n}\n","export default function setTranslate(translate, byController) {\n const swiper = this;\n const { rtlTranslate: rtl, params, $wrapperEl, wrapperEl, progress } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}\n","export default function minTranslate() {\r\n return -this.snapGrid[0];\r\n}\r\n","export default function maxTranslate() {\r\n return -this.snapGrid[this.snapGrid.length - 1];\r\n}\r\n","import { animateCSSModeScroll } from '../../shared/utils.js';\n\nexport default function translateTo(\n translate = 0,\n speed = this.params.speed,\n runCallbacks = true,\n translateBounds = true,\n internal,\n) {\n const swiper = this;\n\n const { params, wrapperEl } = swiper;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;\n else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;\n else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({ swiper, targetPosition: -newTranslate, side: isH ? 'left' : 'top' });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth',\n });\n }\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener(\n 'transitionend',\n swiper.onTranslateToWrapperTransitionEnd,\n );\n swiper.$wrapperEl[0].removeEventListener(\n 'webkitTransitionEnd',\n swiper.onTranslateToWrapperTransitionEnd,\n );\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.$wrapperEl[0].addEventListener(\n 'transitionend',\n swiper.onTranslateToWrapperTransitionEnd,\n );\n swiper.$wrapperEl[0].addEventListener(\n 'webkitTransitionEnd',\n swiper.onTranslateToWrapperTransitionEnd,\n );\n }\n }\n\n return true;\n}\n","import getTranslate from './getTranslate.js';\r\nimport setTranslate from './setTranslate.js';\r\nimport minTranslate from './minTranslate.js';\r\nimport maxTranslate from './maxTranslate.js';\r\nimport translateTo from './translateTo.js';\r\n\r\nexport default {\r\n getTranslate,\r\n setTranslate,\r\n minTranslate,\r\n maxTranslate,\r\n translateTo,\r\n};\r\n","export default function setTransition(duration, byController) {\n const swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}\n","export default function transitionEmit({ swiper, runCallbacks, direction, step }) {\r\n const { activeIndex, previousIndex } = swiper;\r\n let dir = direction;\r\n if (!dir) {\r\n if (activeIndex > previousIndex) dir = 'next';\r\n else if (activeIndex < previousIndex) dir = 'prev';\r\n else dir = 'reset';\r\n }\r\n\r\n swiper.emit(`transition${step}`);\r\n\r\n if (runCallbacks && activeIndex !== previousIndex) {\r\n if (dir === 'reset') {\r\n swiper.emit(`slideResetTransition${step}`);\r\n return;\r\n }\r\n swiper.emit(`slideChangeTransition${step}`);\r\n if (dir === 'next') {\r\n swiper.emit(`slideNextTransition${step}`);\r\n } else {\r\n swiper.emit(`slidePrevTransition${step}`);\r\n }\r\n }\r\n}\r\n","import transitionEmit from './transitionEmit.js';\r\n\r\nexport default function transitionStart(runCallbacks = true, direction) {\r\n const swiper = this;\r\n const { params } = swiper;\r\n if (params.cssMode) return;\r\n if (params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n\r\n transitionEmit({ swiper, runCallbacks, direction, step: 'Start' });\r\n}\r\n","import transitionEmit from './transitionEmit.js';\r\n\r\nexport default function transitionEnd(runCallbacks = true, direction) {\r\n const swiper = this;\r\n const { params } = swiper;\r\n swiper.animating = false;\r\n if (params.cssMode) return;\r\n swiper.setTransition(0);\r\n\r\n transitionEmit({ swiper, runCallbacks, direction, step: 'End' });\r\n}\r\n","import setTransition from './setTransition.js';\r\nimport transitionStart from './transitionStart.js';\r\nimport transitionEnd from './transitionEnd.js';\r\n\r\nexport default {\r\n setTransition,\r\n transitionStart,\r\n transitionEnd,\r\n};\r\n","import { animateCSSModeScroll } from '../../shared/utils.js';\n\nexport default function slideTo(\n index = 0,\n speed = this.params.speed,\n runCallbacks = true,\n internal,\n initial,\n) {\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\n `The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`,\n );\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\n `The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`,\n );\n }\n\n // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n index = indexAsNumber;\n }\n\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled,\n } = swiper;\n\n if (\n (swiper.animating && params.preventInteractionOnTransition) ||\n (!enabled && !internal && !initial)\n ) {\n return false;\n }\n\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n const translate = -snapGrid[snapIndex];\n\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (\n normalizedTranslate >= normalizedGrid &&\n normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2\n ) {\n slideIndex = i;\n } else if (\n normalizedTranslate >= normalizedGrid &&\n normalizedTranslate < normalizedGridNext\n ) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (\n !swiper.allowSlideNext &&\n translate < swiper.translate &&\n translate < swiper.minTranslate()\n ) {\n return false;\n }\n if (\n !swiper.allowSlidePrev &&\n translate > swiper.translate &&\n translate > swiper.maxTranslate()\n ) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n\n let direction;\n if (slideIndex > activeIndex) direction = 'next';\n else if (slideIndex < activeIndex) direction = 'prev';\n else direction = 'reset';\n\n // Update Index\n if ((rtl && -translate === swiper.translate) || (!rtl && translate === swiper.translate)) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._swiperImmediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({ swiper, targetPosition: t, side: isH ? 'left' : 'top' });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth',\n });\n }\n return true;\n }\n\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener(\n 'transitionend',\n swiper.onSlideToWrapperTransitionEnd,\n );\n swiper.$wrapperEl[0].removeEventListener(\n 'webkitTransitionEnd',\n swiper.onSlideToWrapperTransitionEnd,\n );\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener(\n 'webkitTransitionEnd',\n swiper.onSlideToWrapperTransitionEnd,\n );\n }\n\n return true;\n}\n","export default function slideToLoop(\n index = 0,\n speed = this.params.speed,\n runCallbacks = true,\n internal,\n) {\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\n `The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`,\n );\n }\n\n // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n index = indexAsNumber;\n }\n\n const swiper = this;\n let newIndex = index;\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}\n","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const { animating, enabled, params } = swiper;\n if (!enabled) return swiper;\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const { params, animating, snapGrid, slidesGrid, rtlTranslate, enabled } = swiper;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map((val) => normalize(val));\n\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (\n params.slidesPerView === 'auto' &&\n params.slidesPerGroup === 1 &&\n params.slidesPerGroupAuto\n ) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex =\n swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual\n ? swiper.virtual.slides.length - 1\n : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n","/* eslint no-unused-vars: \"off\" */\r\nexport default function slideReset(speed = this.params.speed, runCallbacks = true, internal) {\r\n const swiper = this;\r\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\r\n}\r\n","/* eslint no-unused-vars: \"off\" */\r\nexport default function slideToClosest(\r\n speed = this.params.speed,\r\n runCallbacks = true,\r\n internal,\r\n threshold = 0.5,\r\n) {\r\n const swiper = this;\r\n let index = swiper.activeIndex;\r\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\r\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\r\n\r\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\r\n\r\n if (translate >= swiper.snapGrid[snapIndex]) {\r\n // The current translate is on or after the current snap index, so the choice\r\n // is between the current index and the one after it.\r\n const currentSnap = swiper.snapGrid[snapIndex];\r\n const nextSnap = swiper.snapGrid[snapIndex + 1];\r\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\r\n index += swiper.params.slidesPerGroup;\r\n }\r\n } else {\r\n // The current translate is before the current snap index, so the choice\r\n // is between the current index and the one before it.\r\n const prevSnap = swiper.snapGrid[snapIndex - 1];\r\n const currentSnap = swiper.snapGrid[snapIndex];\r\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\r\n index -= swiper.params.slidesPerGroup;\r\n }\r\n }\r\n index = Math.max(index, 0);\r\n index = Math.min(index, swiper.slidesGrid.length - 1);\r\n\r\n return swiper.slideTo(index, speed, runCallbacks, internal);\r\n}\r\n","import $ from '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\n\nexport default function slideToClickedSlide() {\n const swiper = this;\n const { params, $wrapperEl } = swiper;\n\n const slidesPerView =\n params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (\n slideToIndex < swiper.loopedSlides - slidesPerView / 2 ||\n slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2\n ) {\n swiper.loopFix();\n slideToIndex = $wrapperEl\n .children(\n `.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`,\n )\n .eq(0)\n .index();\n\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl\n .children(\n `.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`,\n )\n .eq(0)\n .index();\n\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n","import slideTo from './slideTo.js';\r\nimport slideToLoop from './slideToLoop.js';\r\nimport slideNext from './slideNext.js';\r\nimport slidePrev from './slidePrev.js';\r\nimport slideReset from './slideReset.js';\r\nimport slideToClosest from './slideToClosest.js';\r\nimport slideToClickedSlide from './slideToClickedSlide.js';\r\n\r\nexport default {\r\n slideTo,\r\n slideToLoop,\r\n slideNext,\r\n slidePrev,\r\n slideReset,\r\n slideToClosest,\r\n slideToClickedSlide,\r\n};\r\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function loopCreate() {\n const swiper = this;\n const document = getDocument();\n const { params, $wrapperEl } = swiper;\n // Remove duplicated slides\n const $selector =\n $wrapperEl.children().length > 0 ? $($wrapperEl.children()[0].parentNode) : $wrapperEl;\n $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();\n\n let slides = $selector.children(`.${params.slideClass}`);\n\n if (params.loopFillGroupWithBlank) {\n const blankSlidesNum = params.slidesPerGroup - (slides.length % params.slidesPerGroup);\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (let i = 0; i < blankSlidesNum; i += 1) {\n const blankNode = $(document.createElement('div')).addClass(\n `${params.slideClass} ${params.slideBlankClass}`,\n );\n $selector.append(blankNode);\n }\n slides = $selector.children(`.${params.slideClass}`);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) {\n swiper.loopedSlides = slides.length;\n }\n\n const prependSlides = [];\n const appendSlides = [];\n\n slides.each((el, index) => {\n const slide = $(el);\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (let i = 0; i < swiper.loopedSlides; i += 1) {\n const index = i - Math.floor(i / slides.length) * slides.length;\n appendSlides.push(slides.eq(index)[0]);\n prependSlides.unshift(slides.eq(slides.length - index - 1)[0]);\n }\n\n for (let i = 0; i < appendSlides.length; i += 1) {\n $selector.append($(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n for (let i = prependSlides.length - 1; i >= 0; i -= 1) {\n $selector.prepend($(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}\n","export default function loopFix() {\n const swiper = this;\n\n swiper.emit('beforeLoopFix');\n\n const {\n activeIndex,\n slides,\n loopedSlides,\n allowSlidePrev,\n allowSlideNext,\n snapGrid,\n rtlTranslate: rtl,\n } = swiper;\n let newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n\n const snapTranslate = -snapGrid[activeIndex];\n const diff = snapTranslate - swiper.getTranslate();\n\n // Fix For Negative Oversliding\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n swiper.emit('loopFix');\n}\n","export default function loopDestroy() {\n const swiper = this;\n const { $wrapperEl, params, slides } = swiper;\n $wrapperEl\n .children(\n `.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`,\n )\n .remove();\n slides.removeAttr('data-swiper-slide-index');\n}\n","import loopCreate from './loopCreate.js';\r\nimport loopFix from './loopFix.js';\r\nimport loopDestroy from './loopDestroy.js';\r\n\r\nexport default {\r\n loopCreate,\r\n loopFix,\r\n loopDestroy,\r\n};\r\n","export default function setGrabCursor(moving) {\n const swiper = this;\n if (\n swiper.support.touch ||\n !swiper.params.simulateTouch ||\n (swiper.params.watchOverflow && swiper.isLocked) ||\n swiper.params.cssMode\n )\n return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}\n","export default function unsetGrabCursor() {\n const swiper = this;\n if (\n swiper.support.touch ||\n (swiper.params.watchOverflow && swiper.isLocked) ||\n swiper.params.cssMode\n ) {\n return;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n}\n","import setGrabCursor from './setGrabCursor.js';\r\nimport unsetGrabCursor from './unsetGrabCursor.js';\r\n\r\nexport default {\r\n setGrabCursor,\r\n unsetGrabCursor,\r\n};\r\n","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js';\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base = this) {\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n const window = getWindow();\n\n const data = swiper.touchEventsData;\n const { params, touches, enabled } = swiper;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = event.composedPath ? event.composedPath() : event.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n $targetEl = $(eventPath[0]);\n }\n\n const noSwipingSelector = params.noSwipingSelector\n ? params.noSwipingSelector\n : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (\n params.noSwiping &&\n (isTargetShadow\n ? closestElement(noSwipingSelector, $targetEl[0])\n : $targetEl.closest(noSwipingSelector)[0])\n ) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n if (\n edgeSwipeDetection &&\n (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)\n ) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined,\n });\n\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n if (e.type !== 'touchstart') {\n let preventDefault = true;\n if ($targetEl.is(data.focusableElements)) {\n preventDefault = false;\n if ($targetEl[0].nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (\n document.activeElement &&\n $(document.activeElement).is(data.focusableElements) &&\n document.activeElement !== $targetEl[0]\n ) {\n document.activeElement.blur();\n }\n\n const shouldPreventDefault =\n preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if (\n (params.touchStartForcePreventDefault || shouldPreventDefault) &&\n !$targetEl[0].isContentEditable\n ) {\n e.preventDefault();\n }\n }\n if (\n swiper.params.freeMode &&\n swiper.params.freeMode.enabled &&\n swiper.freeMode &&\n swiper.animating &&\n !params.cssMode\n ) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js';\n\nexport default function onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const { params, touches, rtlTranslate: rtl, enabled } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n const targetTouch =\n e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!$(e.target).is(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (\n (pageY < touches.startY && swiper.translate <= swiper.maxTranslate()) ||\n (pageY > touches.startY && swiper.translate >= swiper.minTranslate())\n ) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (\n (pageX < touches.startX && swiper.translate <= swiper.maxTranslate()) ||\n (pageX > touches.startX && swiper.translate >= swiper.minTranslate())\n ) {\n return;\n }\n }\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n if (e.targetTouches && e.targetTouches.length > 1) return;\n\n touches.currentX = pageX;\n touches.currentY = pageY;\n\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold)\n return;\n\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (\n (swiper.isHorizontal() && touches.currentY === touches.startY) ||\n (swiper.isVertical() && touches.currentX === touches.startX)\n ) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = (Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;\n data.isScrolling = swiper.isHorizontal()\n ? touchAngle > params.touchAngle\n : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop && !params.cssMode) {\n swiper.loopFix();\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n\n let diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance)\n data.currentTranslate =\n swiper.minTranslate() -\n 1 +\n (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance)\n data.currentTranslate =\n swiper.maxTranslate() +\n 1 -\n (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (\n !swiper.allowSlideNext &&\n swiper.swipeDirection === 'next' &&\n data.currentTranslate < data.startTranslate\n ) {\n data.currentTranslate = data.startTranslate;\n }\n if (\n !swiper.allowSlidePrev &&\n swiper.swipeDirection === 'prev' &&\n data.currentTranslate > data.startTranslate\n ) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal()\n ? touches.currentX - touches.startX\n : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (\n (params.freeMode && params.freeMode.enabled && swiper.freeMode) ||\n params.watchSlidesProgress\n ) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\n","import { now, nextTick } from '../../shared/utils.js';\n\nexport default function onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n\n const { params, touches, rtlTranslate: rtl, slidesGrid, enabled } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n // Return Grab Cursor\n if (\n params.grabCursor &&\n data.isMoved &&\n data.isTouched &&\n (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)\n ) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || (e.composedPath && e.composedPath());\n swiper.updateClickedSlide((pathTree && pathTree[0]) || e.target);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (\n !data.isTouched ||\n !data.isMoved ||\n !swiper.swipeDirection ||\n touches.diff === 0 ||\n data.currentTranslate === data.startTranslate\n ) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({ currentPos });\n return;\n }\n\n // Find current slide\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (\n let i = 0;\n i < slidesGrid.length;\n i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup\n ) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex =\n swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual\n ? swiper.virtual.slides.length - 1\n : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio)\n swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);\n else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (\n rewindLastIndex !== null &&\n ratio < 0 &&\n Math.abs(ratio) > params.longSwipesRatio\n ) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget =\n swiper.navigation &&\n (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\n","export default function onResize() {\n const swiper = this;\n\n const { params, el } = swiper;\n\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const { allowSlideNext, allowSlidePrev, snapGrid } = swiper;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n\n swiper.updateSize();\n swiper.updateSlides();\n\n swiper.updateSlidesClasses();\n if (\n (params.slidesPerView === 'auto' || params.slidesPerView > 1) &&\n swiper.isEnd &&\n !swiper.isBeginning &&\n !swiper.params.centeredSlides\n ) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n","export default function onClick(e) {\r\n const swiper = this;\r\n if (!swiper.enabled) return;\r\n if (!swiper.allowClick) {\r\n if (swiper.params.preventClicks) e.preventDefault();\r\n if (swiper.params.preventClicksPropagation && swiper.animating) {\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n","export default function onScroll() {\n const swiper = this;\n const { wrapperEl, rtlTranslate, enabled } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}\n","import { getDocument } from 'ssr-window';\n\nimport onTouchStart from './onTouchStart.js';\nimport onTouchMove from './onTouchMove.js';\nimport onTouchEnd from './onTouchEnd.js';\nimport onResize from './onResize.js';\nimport onClick from './onClick.js';\nimport onScroll from './onScroll.js';\n\nlet dummyEventAttached = false;\nfunction dummyEventListener() {}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const { params, touchEvents, el, wrapperEl, device, support } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n\n // Touch Events\n if (!support.touch) {\n el[domMethod](touchEvents.start, swiper.onTouchStart, false);\n document[domMethod](touchEvents.move, swiper.onTouchMove, capture);\n document[domMethod](touchEvents.end, swiper.onTouchEnd, false);\n } else {\n const passiveListener =\n touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners\n ? { passive: true, capture: false }\n : false;\n el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);\n el[domMethod](\n touchEvents.move,\n swiper.onTouchMove,\n support.passiveListener ? { passive: false, capture } : capture,\n );\n el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);\n if (touchEvents.cancel) {\n el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](\n device.ios || device.android\n ? 'resize orientationchange observerUpdate'\n : 'resize observerUpdate',\n onResize,\n true,\n );\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n};\n\nfunction attachEvents() {\n const swiper = this;\n const document = getDocument();\n const { params, support } = swiper;\n\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n\n if (support.touch && !dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n\n events(swiper, 'on');\n}\n\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\n\nexport default {\n attachEvents,\n detachEvents,\n};\n","import { extend } from '../../shared/utils.js';\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\n\nexport default function setBreakpoint() {\n const swiper = this;\n const { activeIndex, initialized, loopedSlides = 0, params, $el } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) return;\n\n // Get breakpoint for window width and update parameters\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n\n const wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(\n `${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`,\n );\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(`${params.containerModifierClass}grid`);\n if (\n (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column') ||\n (!breakpointParams.grid.fill && params.grid.fill === 'column')\n ) {\n $el.addClass(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach((prop) => {\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n\n const directionChanged =\n breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop =\n params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n\n const isEnabled = swiper.params.enabled;\n\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}\n","import { getWindow } from 'ssr-window';\r\n\r\nexport default function getBreakpoint(breakpoints, base = 'window', containerEl) {\r\n if (!breakpoints || (base === 'container' && !containerEl)) return undefined;\r\n let breakpoint = false;\r\n\r\n const window = getWindow();\r\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\r\n\r\n const points = Object.keys(breakpoints).map((point) => {\r\n if (typeof point === 'string' && point.indexOf('@') === 0) {\r\n const minRatio = parseFloat(point.substr(1));\r\n const value = currentHeight * minRatio;\r\n return { value, point };\r\n }\r\n return { value: point, point };\r\n });\r\n\r\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\r\n for (let i = 0; i < points.length; i += 1) {\r\n const { point, value } = points[i];\r\n if (base === 'window') {\r\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\r\n breakpoint = point;\r\n }\r\n } else if (value <= containerEl.clientWidth) {\r\n breakpoint = point;\r\n }\r\n }\r\n return breakpoint || 'max';\r\n}\r\n","import setBreakpoint from './setBreakpoint.js';\r\nimport getBreakpoint from './getBreakpoint.js';\r\n\r\nexport default { setBreakpoint, getBreakpoint };\r\n","function prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach((item) => {\n if (typeof item === 'object') {\n Object.keys(item).forEach((classNames) => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n const swiper = this;\n const { classNames, params, rtl, $el, device, support } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses([\n 'initialized',\n params.direction,\n { 'pointer-events': !support.touch },\n { 'free-mode': swiper.params.freeMode && params.freeMode.enabled },\n { 'autoheight': params.autoHeight },\n { 'rtl': rtl },\n { 'grid': params.grid && params.grid.rows > 1 },\n { 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' },\n { 'android': device.android },\n { 'ios': device.ios },\n { 'css-mode': params.cssMode },\n { 'centered': params.cssMode && params.centeredSlides },\n { 'watch-progress': params.watchSlidesProgress },\n ], params.containerModifierClass);\n classNames.push(...suffixes);\n $el.addClass([...classNames].join(' '));\n swiper.emitContainerClasses();\n}\n","export default function removeClasses() {\n const swiper = this;\n const { $el, classNames } = swiper;\n\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}\n","import addClasses from './addClasses.js';\r\nimport removeClasses from './removeClasses.js';\r\n\r\nexport default { addClasses, removeClasses };\r\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n const window = getWindow();\n let image;\n function onReady() {\n if (callback) callback();\n }\n const isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n if (sizes) {\n image.sizes = sizes;\n }\n if (srcset) {\n image.srcset = srcset;\n }\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}\n","export default function preloadImages() {\n const swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {\n const imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(\n imageEl,\n imageEl.currentSrc || imageEl.getAttribute('src'),\n imageEl.srcset || imageEl.getAttribute('srcset'),\n imageEl.sizes || imageEl.getAttribute('sizes'),\n true,\n onReady,\n );\n }\n}\n","import loadImage from './loadImage.js';\nimport preloadImages from './preloadImages.js';\n\nexport default {\n loadImage,\n preloadImages,\n};\n","function checkOverflow() {\r\n const swiper = this;\r\n const { isLocked: wasLocked, params } = swiper;\r\n const { slidesOffsetBefore } = params;\r\n\r\n if (slidesOffsetBefore) {\r\n const lastSlideIndex = swiper.slides.length - 1;\r\n const lastSlideRightEdge =\r\n swiper.slidesGrid[lastSlideIndex] +\r\n swiper.slidesSizesGrid[lastSlideIndex] +\r\n slidesOffsetBefore * 2;\r\n swiper.isLocked = swiper.size > lastSlideRightEdge;\r\n } else {\r\n swiper.isLocked = swiper.snapGrid.length === 1;\r\n }\r\n if (params.allowSlideNext === true) {\r\n swiper.allowSlideNext = !swiper.isLocked;\r\n }\r\n if (params.allowSlidePrev === true) {\r\n swiper.allowSlidePrev = !swiper.isLocked;\r\n }\r\n\r\n if (wasLocked && wasLocked !== swiper.isLocked) {\r\n swiper.isEnd = false;\r\n }\r\n if (wasLocked !== swiper.isLocked) {\r\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\r\n }\r\n}\r\n\r\nexport default { checkOverflow };\r\n","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n\n // Overrides\n width: null,\n height: null,\n\n //\n preventInteractionOnTransition: false,\n\n // ssr\n userAgent: null,\n url: null,\n\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n\n // Autoheight\n autoHeight: false,\n\n // Set wrapper width\n setWrapperSize: false,\n\n // Virtual Translate\n virtualTranslate: false,\n\n // Effects\n effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0, // in px\n slidesOffsetAfter: 0, // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n\n // Round length\n roundLengths: false,\n\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n\n // Unique Navigation Elements\n uniqueNavElements: true,\n\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n\n // Progress\n watchSlidesProgress: false,\n\n // Cursor\n grabCursor: false,\n\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopedSlidesLimit: true,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n\n // rewind\n rewind: false,\n\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null, // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n\n // Passive Listeners\n passiveListeners: true,\n\n maxBackfaceHiddenSlides: 10,\n\n // NS\n containerModifierClass: 'swiper-', // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n\n // Callbacks\n runCallbacksOnInit: true,\n\n // Internals\n _emitClasses: false,\n};\n","import { extend } from '../shared/utils.js';\r\n\r\nexport default function moduleExtendParams(params, allModulesParams) {\r\n return function extendParams(obj = {}) {\r\n const moduleParamName = Object.keys(obj)[0];\r\n const moduleParams = obj[moduleParamName];\r\n if (typeof moduleParams !== 'object' || moduleParams === null) {\r\n extend(allModulesParams, obj);\r\n return;\r\n }\r\n if (\r\n ['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 &&\r\n params[moduleParamName] === true\r\n ) {\r\n params[moduleParamName] = { auto: true };\r\n }\r\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\r\n extend(allModulesParams, obj);\r\n return;\r\n }\r\n if (params[moduleParamName] === true) {\r\n params[moduleParamName] = { enabled: true };\r\n }\r\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\r\n params[moduleParamName].enabled = true;\r\n }\r\n if (!params[moduleParamName]) params[moduleParamName] = { enabled: false };\r\n extend(allModulesParams, obj);\r\n };\r\n}\r\n","/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../shared/dom.js';\nimport { extend, now, deleteProps } from '../shared/utils.js';\nimport { getSupport } from '../shared/get-support.js';\nimport { getDevice } from '../shared/get-device.js';\nimport { getBrowser } from '../shared/get-browser.js';\n\nimport Resize from './modules/resize/resize.js';\nimport Observer from './modules/observer/observer.js';\n\nimport eventsEmitter from './events-emitter.js';\n\nimport update from './update/index.js';\nimport translate from './translate/index.js';\nimport transition from './transition/index.js';\nimport slide from './slide/index.js';\nimport loop from './loop/index.js';\nimport grabCursor from './grab-cursor/index.js';\nimport events from './events/index.js';\nimport breakpoints from './breakpoints/index.js';\nimport classes from './classes/index.js';\nimport images from './images/index.js';\nimport checkOverflow from './check-overflow/index.js';\n\nimport defaults from './defaults.js';\nimport moduleExtendParams from './moduleExtendParams.js';\n\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events,\n breakpoints,\n checkOverflow,\n classes,\n images,\n};\n\nconst extendedDefaults = {};\n\nclass Swiper {\n constructor(...args) {\n let el;\n let params;\n if (\n args.length === 1 &&\n args[0].constructor &&\n Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object'\n ) {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n const swipers = [];\n $(params.el).each((containerEl) => {\n const newParams = extend({}, params, { el: containerEl });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({ userAgent: params.userAgent });\n swiper.browser = getBrowser();\n\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n\n const allModulesParams = {};\n\n swiper.modules.forEach((mod) => {\n mod({\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper),\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach((eventName) => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Save Dom lib\n swiper.$ = $;\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n\n // Classes\n classNames: [],\n\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n\n //\n isBeginning: true,\n isEnd: false,\n\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n\n // Touch Events\n touchEvents: (function touchEvents() {\n const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n const desktop = ['pointerdown', 'pointermove', 'pointerup'];\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3],\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2],\n };\n return swiper.support.touch || !swiper.params.simulateTouch\n ? swiper.touchEventsTouch\n : swiper.touchEventsDesktop;\n })(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined,\n },\n\n // Clicks\n allowClick: true,\n\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0,\n },\n\n // Images\n imagesToLoad: [],\n imagesLoaded: 0,\n });\n\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter((className) => {\n return (\n className.indexOf('swiper') === 0 ||\n className.indexOf(swiper.params.containerModifierClass) === 0\n );\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n\n return slideEl.className\n .split(' ')\n .filter((className) => {\n return (\n className.indexOf('swiper-slide') === 0 ||\n className.indexOf(swiper.params.slideClass) === 0\n );\n })\n .join(' ');\n }\n\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.each((slideEl) => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({ slideEl, classNames });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n\n slidesPerViewDynamic(view = 'current', exact = false) {\n const swiper = this;\n const { params, slides, slidesGrid, slidesSizesGrid, size: swiperSize, activeIndex } = swiper;\n let spv = 1;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact\n ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize\n : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const { snapGrid, params } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(\n Math.max(translateValue, swiper.maxTranslate()),\n swiper.minTranslate(),\n );\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate();\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if (\n (swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) &&\n swiper.isEnd &&\n !swiper.params.centeredSlides\n ) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n\n changeDirection(newDirection, needUpdate = true) {\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (\n newDirection === currentDirection ||\n (newDirection !== 'horizontal' && newDirection !== 'vertical')\n ) {\n return swiper;\n }\n\n swiper.$el\n .removeClass(`${swiper.params.containerModifierClass}${currentDirection}`)\n .addClass(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n\n swiper.params.direction = newDirection;\n\n swiper.slides.each((slideEl) => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n\n return swiper;\n }\n\n changeLanguageDirection(direction) {\n const swiper = this;\n if ((swiper.rtl && direction === 'rtl') || (!swiper.rtl && direction === 'ltr')) return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n\n mount(el) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n const $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = $(el.shadowRoot.querySelector(getWrapperSelector()));\n // Children needs to return slot items\n res.children = (options) => $el.children(options);\n return res;\n }\n if (!$el.children) {\n return $($el).children(getWrapperSelector());\n }\n return $el.children(getWrapperSelector());\n };\n // Find Wrapper\n let $wrapperEl = getWrapper();\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n const document = getDocument();\n const wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(`.${swiper.params.slideClass}`).each((slideEl) => {\n $wrapperEl.append(slideEl);\n });\n }\n\n Object.assign(swiper, {\n $el,\n el,\n $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate:\n swiper.params.direction === 'horizontal' &&\n (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box',\n });\n\n return true;\n }\n\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop) {\n swiper.slideTo(\n swiper.params.initialSlide + swiper.loopedSlides,\n 0,\n swiper.params.runCallbacksOnInit,\n false,\n true,\n );\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Attach events\n swiper.attachEvents();\n\n // Init Flag\n swiper.initialized = true;\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n\n return swiper;\n }\n\n destroy(deleteInstance = true, cleanStyles = true) {\n const swiper = this;\n const { params, $el, $wrapperEl, slides } = swiper;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n if (slides && slides.length) {\n slides\n .removeClass(\n [\n params.slideVisibleClass,\n params.slideActiveClass,\n params.slideNextClass,\n params.slidePrevClass,\n ].join(' '),\n )\n .removeAttr('style')\n .removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach((eventName) => {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n\n return null;\n }\n\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n\n static get extendedDefaults() {\n return extendedDefaults;\n }\n\n static get defaults() {\n return defaults;\n }\n\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach((m) => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\n\nObject.keys(prototypes).forEach((prototypeGroup) => {\n Object.keys(prototypes[prototypeGroup]).forEach((protoMethod) => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\n\nSwiper.use([Resize, Observer]);\n\nexport default Swiper;\n","import $ from '../../shared/dom.js';\nimport { setCSSProperty } from '../../shared/utils.js';\n\nexport default function Virtual({ swiper, extendParams, on, emit }) {\n extendParams({\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0,\n },\n });\n\n let cssModeTimeout;\n\n swiper.virtual = {\n cache: {},\n from: undefined,\n to: undefined,\n slides: [],\n offset: 0,\n slidesGrid: [],\n };\n\n function renderSlide(slide, index) {\n const params = swiper.params.virtual;\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n const $slideEl = params.renderSlide\n ? $(params.renderSlide.call(swiper, slide, index))\n : $(\n `
    ${slide}
    `,\n );\n if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\n if (params.cache) swiper.virtual.cache[index] = $slideEl;\n return $slideEl;\n }\n\n function update(force) {\n const { slidesPerView, slidesPerGroup, centeredSlides } = swiper.params;\n const { addSlidesBefore, addSlidesAfter } = swiper.params.virtual;\n const {\n from: previousFrom,\n to: previousTo,\n slides,\n slidesGrid: previousSlidesGrid,\n offset: previousOffset,\n } = swiper.virtual;\n if (!swiper.params.cssMode) {\n swiper.updateActiveIndex();\n }\n\n const activeIndex = swiper.activeIndex || 0;\n\n let offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';\n else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n\n let slidesAfter;\n let slidesBefore;\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = slidesPerGroup + addSlidesBefore;\n }\n const from = Math.max((activeIndex || 0) - slidesBefore, 0);\n const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n const offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n\n Object.assign(swiper.virtual, {\n from,\n to,\n offset,\n slidesGrid: swiper.slidesGrid,\n });\n\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n emit('virtualUpdate');\n }\n\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.css(offsetProp, `${offset}px`);\n }\n swiper.updateProgress();\n emit('virtualUpdate');\n return;\n }\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset,\n from,\n to,\n slides: (function getSlides() {\n const slidesToRender = [];\n for (let i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n return slidesToRender;\n })(),\n });\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n } else {\n emit('virtualUpdate');\n }\n return;\n }\n const prependIndexes = [];\n const appendIndexes = [];\n if (force) {\n swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove();\n } else {\n for (let i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl\n .find(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${i}\"]`)\n .remove();\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n if (i >= from && i <= to) {\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(i);\n } else {\n if (i > previousTo) appendIndexes.push(i);\n if (i < previousFrom) prependIndexes.push(i);\n }\n }\n }\n appendIndexes.forEach((index) => {\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\n });\n prependIndexes\n .sort((a, b) => b - a)\n .forEach((index) => {\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\n });\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, `${offset}px`);\n onRendered();\n }\n\n function appendSlide(slides) {\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n update(true);\n }\n function prependSlide(slides) {\n const activeIndex = swiper.activeIndex;\n let newActiveIndex = activeIndex + 1;\n let numberOfNewSlides = 1;\n\n if (Array.isArray(slides)) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n if (swiper.params.virtual.cache) {\n const cache = swiper.virtual.cache;\n const newCache = {};\n Object.keys(cache).forEach((cachedIndex) => {\n const $cachedEl = cache[cachedIndex];\n const cachedElIndex = $cachedEl.attr('data-swiper-slide-index');\n if (cachedElIndex) {\n $cachedEl.attr(\n 'data-swiper-slide-index',\n parseInt(cachedElIndex, 10) + numberOfNewSlides,\n );\n }\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n update(true);\n swiper.slideTo(newActiveIndex, 0);\n }\n function removeSlide(slidesIndexes) {\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n let activeIndex = swiper.activeIndex;\n if (Array.isArray(slidesIndexes)) {\n for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n update(true);\n swiper.slideTo(activeIndex, 0);\n }\n function removeAllSlides() {\n swiper.virtual.slides = [];\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n update(true);\n swiper.slideTo(0, 0);\n }\n\n on('beforeInit', () => {\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.slides = swiper.params.virtual.slides;\n swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n\n if (!swiper.params.initialSlide) {\n update();\n }\n });\n on('setTranslate', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode && !swiper._immediateVirtual) {\n clearTimeout(cssModeTimeout);\n cssModeTimeout = setTimeout(() => {\n update();\n }, 100);\n } else {\n update();\n }\n });\n on('init update resize', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);\n }\n });\n\n Object.assign(swiper.virtual, {\n appendSlide,\n prependSlide,\n removeSlide,\n removeAllSlides,\n update,\n });\n}\n","/* eslint-disable consistent-return */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function Keyboard({ swiper, extendParams, on, emit }) {\n const document = getDocument();\n const window = getWindow();\n swiper.keyboard = {\n enabled: false,\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true,\n },\n });\n\n function handle(event) {\n if (!swiper.enabled) return;\n\n const { rtlTranslate: rtl } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n const kc = e.keyCode || e.charCode;\n const pageUpDown = swiper.params.keyboard.pageUpDown;\n const isPageUp = pageUpDown && kc === 33;\n const isPageDown = pageUpDown && kc === 34;\n const isArrowLeft = kc === 37;\n const isArrowRight = kc === 39;\n const isArrowUp = kc === 38;\n const isArrowDown = kc === 40;\n // Directions locks\n if (\n !swiper.allowSlideNext &&\n ((swiper.isHorizontal() && isArrowRight) ||\n (swiper.isVertical() && isArrowDown) ||\n isPageDown)\n ) {\n return false;\n }\n if (\n !swiper.allowSlidePrev &&\n ((swiper.isHorizontal() && isArrowLeft) || (swiper.isVertical() && isArrowUp) || isPageUp)\n ) {\n return false;\n }\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n if (\n document.activeElement &&\n document.activeElement.nodeName &&\n (document.activeElement.nodeName.toLowerCase() === 'input' ||\n document.activeElement.nodeName.toLowerCase() === 'textarea')\n ) {\n return undefined;\n }\n if (\n swiper.params.keyboard.onlyInViewport &&\n (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)\n ) {\n let inView = false;\n // Check that swiper should be inside of visible area of window\n if (\n swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 &&\n swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0\n ) {\n return undefined;\n }\n\n const $el = swiper.$el;\n const swiperWidth = $el[0].clientWidth;\n const swiperHeight = $el[0].clientHeight;\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [\n [swiperOffset.left, swiperOffset.top],\n [swiperOffset.left + swiperWidth, swiperOffset.top],\n [swiperOffset.left, swiperOffset.top + swiperHeight],\n [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight],\n ];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n inView = true;\n }\n }\n if (!inView) return undefined;\n }\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n }\n if (((isPageDown || isArrowRight) && !rtl) || ((isPageUp || isArrowLeft) && rtl))\n swiper.slideNext();\n if (((isPageUp || isArrowLeft) && !rtl) || ((isPageDown || isArrowRight) && rtl))\n swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n }\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n emit('keyPress', kc);\n return undefined;\n }\n function enable() {\n if (swiper.keyboard.enabled) return;\n $(document).on('keydown', handle);\n swiper.keyboard.enabled = true;\n }\n function disable() {\n if (!swiper.keyboard.enabled) return;\n $(document).off('keydown', handle);\n swiper.keyboard.enabled = false;\n }\n\n on('init', () => {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n\n Object.assign(swiper.keyboard, {\n enable,\n disable,\n });\n}\n","/* eslint-disable consistent-return */\nimport { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now, nextTick } from '../../shared/utils.js';\n\nexport default function Mousewheel({ swiper, extendParams, on, emit }) {\n const window = getWindow();\n\n extendParams({\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null,\n },\n });\n\n swiper.mousewheel = {\n enabled: false,\n };\n\n let timeout;\n let lastScrollTime = now();\n let lastEventBeforeSnap;\n const recentWheelEvents = [];\n\n function normalize(e) {\n // Reasonable defaults\n const PIXEL_STEP = 10;\n const LINE_HEIGHT = 40;\n const PAGE_HEIGHT = 800;\n\n let sX = 0;\n let sY = 0; // spinX, spinY\n let pX = 0;\n let pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in e) {\n sY = e.detail;\n }\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n }\n\n // side scrolling on FF with DOMMouseScroll\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY,\n };\n }\n function handleMouseEnter() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n }\n function handleMouseLeave() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n }\n function animateSlider(newEvent) {\n if (\n swiper.params.mousewheel.thresholdDelta &&\n newEvent.delta < swiper.params.mousewheel.thresholdDelta\n ) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n\n if (\n swiper.params.mousewheel.thresholdTime &&\n now() - lastScrollTime < swiper.params.mousewheel.thresholdTime\n ) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n }\n\n // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {\n // Return false as a default\n return true;\n }\n // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n emit('scroll', newEvent.raw);\n }\n // If you got here is because an animation has been triggered so store the current time\n lastScrollTime = new window.Date().getTime();\n // Return false as a default\n return false;\n }\n function releaseScroll(newEvent) {\n const params = swiper.params.mousewheel;\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n return false;\n }\n function handle(event) {\n let e = event;\n let disableParentSwiper = true;\n if (!swiper.enabled) return;\n const params = swiper.params.mousewheel;\n\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n\n let target = swiper.$el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges)\n return true;\n\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n let delta = 0;\n const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n\n const data = normalize(e);\n\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;\n else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;\n else return true;\n } else {\n delta =\n Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n\n if (delta === 0) return true;\n\n if (params.invert) delta = -delta;\n\n // Get the scroll positions\n let positions = swiper.getTranslate() + delta * params.sensitivity;\n\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();\n\n // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n disableParentSwiper = swiper.params.loop\n ? true\n : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n\n if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n // Register the new event in a variable which stores the relevant data\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event,\n };\n\n // Keep the most recent events\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n const prevEvent = recentWheelEvents.length\n ? recentWheelEvents[recentWheelEvents.length - 1]\n : undefined;\n recentWheelEvents.push(newEvent);\n\n // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n if (prevEvent) {\n if (\n newEvent.direction !== prevEvent.direction ||\n newEvent.delta > prevEvent.delta ||\n newEvent.time > prevEvent.time + 150\n ) {\n animateSlider(newEvent);\n }\n } else {\n animateSlider(newEvent);\n }\n\n // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n if (releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n };\n const ignoreWheelEvents =\n lastEventBeforeSnap &&\n newEvent.time < lastEventBeforeSnap.time + 500 &&\n newEvent.delta <= lastEventBeforeSnap.delta &&\n newEvent.direction === lastEventBeforeSnap.direction;\n if (!ignoreWheelEvents) {\n lastEventBeforeSnap = undefined;\n\n if (swiper.params.loop) {\n swiper.loopFix();\n }\n let position = swiper.getTranslate() + delta * params.sensitivity;\n const wasBeginning = swiper.isBeginning;\n const wasEnd = swiper.isEnd;\n\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if ((!wasBeginning && swiper.isBeginning) || (!wasEnd && swiper.isEnd)) {\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode.sticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(timeout);\n timeout = undefined;\n if (recentWheelEvents.length >= 15) {\n recentWheelEvents.shift(); // only store the last N events\n }\n const prevEvent = recentWheelEvents.length\n ? recentWheelEvents[recentWheelEvents.length - 1]\n : undefined;\n const firstEvent = recentWheelEvents[0];\n recentWheelEvents.push(newEvent);\n if (\n prevEvent &&\n (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)\n ) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n recentWheelEvents.splice(0);\n } else if (\n recentWheelEvents.length >= 15 &&\n newEvent.time - firstEvent.time < 500 &&\n firstEvent.delta - newEvent.delta >= 1 &&\n newEvent.delta <= 6\n ) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n const snapToThreshold = delta > 0 ? 0.8 : 0.2;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n timeout = nextTick(() => {\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n if (!timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n timeout = nextTick(() => {\n const snapToThreshold = 0.5;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n }\n\n // Emit event\n if (!ignoreWheelEvents) emit('scroll', e);\n\n // Stop autoplay\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction)\n swiper.autoplay.stop();\n // Return page scroll on edge positions\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n }\n }\n\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n return false;\n }\n\n function events(method) {\n let target = swiper.$el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n target[method]('mouseenter', handleMouseEnter);\n target[method]('mouseleave', handleMouseLeave);\n target[method]('wheel', handle);\n }\n\n function enable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener('wheel', handle);\n return true;\n }\n if (swiper.mousewheel.enabled) return false;\n events('on');\n swiper.mousewheel.enabled = true;\n return true;\n }\n function disable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, handle);\n return true;\n }\n if (!swiper.mousewheel.enabled) return false;\n events('off');\n swiper.mousewheel.enabled = false;\n return true;\n }\n\n on('init', () => {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n disable();\n }\n if (swiper.params.mousewheel.enabled) enable();\n });\n on('destroy', () => {\n if (swiper.params.cssMode) {\n enable();\n }\n if (swiper.mousewheel.enabled) disable();\n });\n\n Object.assign(swiper.mousewheel, {\n enable,\n disable,\n });\n}\n","import { getDocument } from 'ssr-window';\n\nexport default function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n const document = getDocument();\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach((key) => {\n if (!params[key] && params.auto === true) {\n let element = swiper.$el.children(`.${checkProps[key]}`)[0];\n if (!element) {\n element = document.createElement('div');\n element.className = checkProps[key];\n swiper.$el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\n","import createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nimport $ from '../../shared/dom.js';\n\nexport default function Navigation({ swiper, extendParams, on, emit }) {\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled',\n },\n });\n\n swiper.navigation = {\n nextEl: null,\n $nextEl: null,\n prevEl: null,\n $prevEl: null,\n };\n\n function getEl(el) {\n let $el;\n if (el) {\n $el = $(el);\n if (\n swiper.params.uniqueNavElements &&\n typeof el === 'string' &&\n $el.length > 1 &&\n swiper.$el.find(el).length === 1\n ) {\n $el = swiper.$el.find(el);\n }\n }\n return $el;\n }\n\n function toggleEl($el, disabled) {\n const params = swiper.params.navigation;\n if ($el && $el.length > 0) {\n $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n }\n function update() {\n // Update Navigation Buttons\n if (swiper.params.loop) return;\n const { $nextEl, $prevEl } = swiper.navigation;\n\n toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n\n swiper.params.navigation = createElementIfNotDefined(\n swiper,\n swiper.originalParams.navigation,\n swiper.params.navigation,\n {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev',\n },\n );\n if (!(params.nextEl || params.prevEl)) return;\n\n const $nextEl = getEl(params.nextEl);\n const $prevEl = getEl(params.prevEl);\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', onNextClick);\n }\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', onPrevClick);\n }\n\n Object.assign(swiper.navigation, {\n $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl,\n prevEl: $prevEl && $prevEl[0],\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n }\n function destroy() {\n const { $nextEl, $prevEl } = swiper.navigation;\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const { $nextEl, $prevEl } = swiper.navigation;\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n });\n on('click', (_s, e) => {\n const { $nextEl, $prevEl } = swiper.navigation;\n const targetEl = e.target;\n if (\n swiper.params.navigation.hideOnClick &&\n !$(targetEl).is($prevEl) &&\n !$(targetEl).is($nextEl)\n ) {\n if (\n swiper.pagination &&\n swiper.params.pagination &&\n swiper.params.pagination.clickable &&\n (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))\n )\n return;\n let isHidden;\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass);\n init();\n update();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass);\n destroy();\n };\n\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy,\n });\n}\n","export default function classesToSelector(classes = '') {\r\n return `.${classes\r\n .trim()\r\n .replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\r\n .replace(/ /g, '.')}`;\r\n}\r\n","import $ from '../../shared/dom.js';\nimport classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\n\nexport default function Pagination({ swiper, extendParams, on, emit }) {\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: (number) => number,\n formatFractionTotal: (number) => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`,\n },\n });\n\n swiper.pagination = {\n el: null,\n $el: null,\n bullets: [],\n };\n\n let bulletSize;\n let dynamicBulletIndex = 0;\n\n function isPaginationDisabled() {\n return (\n !swiper.params.pagination.el ||\n !swiper.pagination.el ||\n !swiper.pagination.$el ||\n swiper.pagination.$el.length === 0\n );\n }\n\n function setSideBullets($bulletEl, position) {\n const { bulletActiveClass } = swiper.params.pagination;\n $bulletEl[position]()\n .addClass(`${bulletActiveClass}-${position}`)\n [position]()\n .addClass(`${bulletActiveClass}-${position}-${position}`);\n }\n\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength =\n swiper.virtual && swiper.params.virtual.enabled\n ? swiper.virtual.slides.length\n : swiper.slides.length;\n const $el = swiper.pagination.$el;\n // Current/Total\n let current;\n const total = swiper.params.loop\n ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup)\n : swiper.snapGrid.length;\n if (swiper.params.loop) {\n current = Math.ceil(\n (swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup,\n );\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n }\n // Types\n if (\n params.type === 'bullets' &&\n swiper.pagination.bullets &&\n swiper.pagination.bullets.length > 0\n ) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(\n swiper.isHorizontal() ? 'width' : 'height',\n `${bulletSize * (params.dynamicMainBullets + 4)}px`,\n );\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.removeClass(\n ['', '-next', '-next-next', '-prev', '-prev-prev', '-main']\n .map((suffix) => `${params.bulletActiveClass}${suffix}`)\n .join(' '),\n );\n if ($el.length > 1) {\n bullets.each((bullet) => {\n const $bullet = $(bullet);\n const bulletIndex = $bullet.index();\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(`${params.bulletActiveClass}-main`);\n }\n if (bulletIndex === firstIndex) {\n setSideBullets($bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets($bullet, 'next');\n }\n }\n });\n } else {\n const $bullet = bullets.eq(current);\n const bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n if (params.dynamicBullets) {\n const $firstDisplayedBullet = bullets.eq(firstIndex);\n const $lastDisplayedBullet = bullets.eq(lastIndex);\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);\n }\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length) {\n for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {\n bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`);\n }\n bullets\n .eq(bullets.length - params.dynamicMainBullets - 1)\n .addClass(`${params.bulletActiveClass}-prev`);\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset =\n (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`);\n }\n }\n if (params.type === 'fraction') {\n $el\n .find(classesToSelector(params.currentClass))\n .text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n $el\n .find(classesToSelector(params.progressbarFillClass))\n .transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`)\n .transition(swiper.params.speed);\n }\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n emit('paginationRender', $el[0]);\n } else {\n emit('paginationUpdate', $el[0]);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength =\n swiper.virtual && swiper.params.virtual.enabled\n ? swiper.virtual.slides.length\n : swiper.slides.length;\n\n const $el = swiper.pagination.$el;\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop\n ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup)\n : swiper.snapGrid.length;\n if (\n swiper.params.freeMode &&\n swiper.params.freeMode.enabled &&\n !swiper.params.loop &&\n numberOfBullets > slidesLength\n ) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\">`;\n }\n }\n $el.html(paginationHTML);\n\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML =\n `` +\n ' / ' +\n ``;\n }\n $el.html(paginationHTML);\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n $el.html(paginationHTML);\n }\n if (params.type !== 'custom') {\n emit('paginationRender', swiper.pagination.$el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(\n swiper,\n swiper.originalParams.pagination,\n swiper.params.pagination,\n { el: 'swiper-pagination' },\n );\n const params = swiper.params.pagination;\n if (!params.el) return;\n\n let $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n // check if it belongs to another nested Swiper\n if ($el.length > 1) {\n $el = $el.filter((el) => {\n if ($(el).parents('.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n let index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n Object.assign(swiper.pagination, {\n $el,\n el: $el[0],\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const $el = swiper.pagination.$el;\n\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass)\n swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (swiper.params.loop) {\n update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n if (!swiper.params.loop) {\n update();\n }\n });\n on('slidesLengthChange', () => {\n if (swiper.params.loop) {\n render();\n update();\n }\n });\n on('snapGridLengthChange', () => {\n if (!swiper.params.loop) {\n render();\n update();\n }\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const { $el } = swiper.pagination;\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const { $el } = swiper.pagination;\n if (\n swiper.params.pagination.el &&\n swiper.params.pagination.hideOnClick &&\n $el &&\n $el.length > 0 &&\n !$(targetEl).hasClass(swiper.params.pagination.bulletClass)\n ) {\n if (\n swiper.navigation &&\n ((swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl) ||\n (swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl))\n )\n return;\n const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n $el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n if (swiper.pagination.$el) {\n swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n }\n init();\n render();\n update();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n if (swiper.pagination.$el) {\n swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n }\n destroy();\n };\n\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy,\n });\n}\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\n\nexport default function Scrollbar({ swiper, extendParams, on, emit }) {\n const document = getDocument();\n\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`,\n },\n });\n\n swiper.scrollbar = {\n el: null,\n dragEl: null,\n $el: null,\n $dragEl: null,\n };\n\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const { scrollbar, rtlTranslate: rtl, progress } = swiper;\n const { $dragEl, $el } = scrollbar;\n const params = swiper.params.scrollbar;\n\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n $dragEl.transform(`translate3d(${newPos}px, 0, 0)`);\n $dragEl[0].style.width = `${newSize}px`;\n } else {\n $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);\n $dragEl[0].style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n $el[0].style.opacity = 1;\n timeout = setTimeout(() => {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n }\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n }\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n\n const { scrollbar } = swiper;\n const { $dragEl, $el } = scrollbar;\n\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n\n divider =\n swiper.size /\n (swiper.virtualSize +\n swiper.params.slidesOffsetBefore -\n (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = `${dragSize}px`;\n } else {\n $dragEl[0].style.height = `${dragSize}px`;\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](\n swiper.params.scrollbar.lockClass,\n );\n }\n }\n function getPointerPosition(e) {\n if (swiper.isHorizontal()) {\n return e.type === 'touchstart' || e.type === 'touchmove'\n ? e.targetTouches[0].clientX\n : e.clientX;\n }\n return e.type === 'touchstart' || e.type === 'touchmove'\n ? e.targetTouches[0].clientY\n : e.clientY;\n }\n function setDragPosition(e) {\n const { scrollbar, rtlTranslate: rtl } = swiper;\n const { $el } = scrollbar;\n\n let positionRatio;\n positionRatio =\n (getPointerPosition(e) -\n $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] -\n (dragStartPos !== null ? dragStartPos : dragSize / 2)) /\n (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n const position =\n swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const { scrollbar, $wrapperEl } = swiper;\n const { $el, $dragEl } = scrollbar;\n isTouched = true;\n dragStartPos =\n e.target === $dragEl[0] || e.target === $dragEl\n ? getPointerPosition(e) -\n e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top']\n : null;\n e.preventDefault();\n e.stopPropagation();\n\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n setDragPosition(e);\n\n clearTimeout(dragTimeout);\n\n $el.transition(0);\n if (params.hide) {\n $el.css('opacity', 1);\n }\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', 'none');\n }\n emit('scrollbarDragStart', e);\n }\n function onDragMove(e) {\n const { scrollbar, $wrapperEl } = swiper;\n const { $el, $dragEl } = scrollbar;\n\n if (!isTouched) return;\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n emit('scrollbarDragMove', e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const { scrollbar, $wrapperEl } = swiper;\n const { $el } = scrollbar;\n\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', '');\n $wrapperEl.transition('');\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n\n function events(method) {\n const { scrollbar, touchEventsTouch, touchEventsDesktop, params, support } = swiper;\n const $el = scrollbar.$el;\n if (!$el) return;\n const target = $el[0];\n const activeListener =\n support.passiveListener && params.passiveListeners\n ? { passive: false, capture: false }\n : false;\n const passiveListener =\n support.passiveListener && params.passiveListeners\n ? { passive: true, capture: false }\n : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n if (!support.touch) {\n target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener);\n document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener);\n document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener);\n } else {\n target[eventMethod](touchEventsTouch.start, onDragStart, activeListener);\n target[eventMethod](touchEventsTouch.move, onDragMove, activeListener);\n target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener);\n }\n }\n\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n function init() {\n const { scrollbar, $el: $swiperEl } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(\n swiper,\n swiper.originalParams.scrollbar,\n swiper.params.scrollbar,\n { el: 'swiper-scrollbar' },\n );\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n\n let $el = $(params.el);\n if (\n swiper.params.uniqueNavElements &&\n typeof params.el === 'string' &&\n $el.length > 1 &&\n $swiperEl.find(params.el).length === 1\n ) {\n $el = $swiperEl.find(params.el);\n }\n\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`);\n if ($dragEl.length === 0) {\n $dragEl = $(`
    `);\n $el.append($dragEl);\n }\n\n Object.assign(scrollbar, {\n $el,\n el: $el[0],\n $dragEl,\n dragEl: $dragEl[0],\n });\n\n if (params.draggable) {\n enableDraggable();\n }\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const $el = swiper.scrollbar.$el;\n if ($el) {\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n }\n\n disableDraggable();\n }\n\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const { $el } = swiper.scrollbar;\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n });\n on('destroy', () => {\n destroy();\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n init();\n updateSize();\n setTranslate();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n destroy();\n };\n\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy,\n });\n}\n","import $ from '../../shared/dom.js';\n\nexport default function Parallax({ swiper, extendParams, on }) {\n extendParams({\n parallax: {\n enabled: false,\n },\n });\n\n const setTransform = (el, progress) => {\n const { rtl } = swiper;\n\n const $el = $(el);\n const rtlFactor = rtl ? -1 : 1;\n\n const p = $el.attr('data-swiper-parallax') || '0';\n let x = $el.attr('data-swiper-parallax-x');\n let y = $el.attr('data-swiper-parallax-y');\n const scale = $el.attr('data-swiper-parallax-scale');\n const opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if (x.indexOf('%') >= 0) {\n x = `${parseInt(x, 10) * progress * rtlFactor}%`;\n } else {\n x = `${x * progress * rtlFactor}px`;\n }\n if (y.indexOf('%') >= 0) {\n y = `${parseInt(y, 10) * progress}%`;\n } else {\n y = `${y * progress}px`;\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(`translate3d(${x}, ${y}, 0px)`);\n } else {\n const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`);\n }\n };\n\n const setTranslate = () => {\n const { $el, slides, progress, snapGrid } = swiper;\n $el\n .children(\n '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]',\n )\n .each((el) => {\n setTransform(el, progress);\n });\n slides.each((slideEl, slideIndex) => {\n let slideProgress = slideEl.progress;\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n $(slideEl)\n .find(\n '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]',\n )\n .each((el) => {\n setTransform(el, slideProgress);\n });\n });\n };\n\n const setTransition = (duration = swiper.params.speed) => {\n const { $el } = swiper;\n $el\n .find(\n '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]',\n )\n .each((parallaxEl) => {\n const $parallaxEl = $(parallaxEl);\n let parallaxDuration =\n parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n };\n\n on('beforeInit', () => {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n });\n on('init', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTranslate', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTransition', (_swiper, duration) => {\n if (!swiper.params.parallax.enabled) return;\n setTransition(duration);\n });\n}\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { getTranslate } from '../../shared/utils.js';\n\nexport default function Zoom({ swiper, extendParams, on, emit }) {\n const window = getWindow();\n extendParams({\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed',\n },\n });\n\n swiper.zoom = {\n enabled: false,\n };\n\n let currentScale = 1;\n let isScaling = false;\n let gesturesEnabled;\n let fakeGestureTouched;\n let fakeGestureMoved;\n const gesture = {\n $slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n $imageEl: undefined,\n $imageWrapEl: undefined,\n maxRatio: 3,\n };\n const image = {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {},\n };\n const velocity = {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined,\n };\n\n let scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get() {\n return scale;\n },\n set(value) {\n if (scale !== value) {\n const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined;\n const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined;\n emit('zoomChange', value, imageEl, slideEl);\n }\n scale = value;\n },\n });\n\n function getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n const x1 = e.targetTouches[0].pageX;\n const y1 = e.targetTouches[0].pageY;\n const x2 = e.targetTouches[1].pageX;\n const y2 = e.targetTouches[1].pageY;\n const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n return distance;\n }\n\n // Events\n function onGestureStart(e) {\n const support = swiper.support;\n const params = swiper.params.zoom;\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n if (!support.gestures) {\n if (e.type !== 'touchstart' || (e.type === 'touchstart' && e.targetTouches.length < 2)) {\n return;\n }\n fakeGestureTouched = true;\n gesture.scaleStart = getDistanceBetweenTouches(e);\n }\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = $(e.target).closest(`.${swiper.params.slideClass}`);\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl\n .find(`.${params.containerClass}`)\n .eq(0)\n .find('picture, img, svg, canvas, .swiper-zoom-target')\n .eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = undefined;\n return;\n }\n }\n if (gesture.$imageEl) {\n gesture.$imageEl.transition(0);\n }\n isScaling = true;\n }\n function onGestureChange(e) {\n const support = swiper.support;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n if (!support.gestures) {\n if (e.type !== 'touchmove' || (e.type === 'touchmove' && e.targetTouches.length < 2)) {\n return;\n }\n fakeGestureMoved = true;\n gesture.scaleMove = getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\n if (e.type === 'gesturechange') onGestureStart(e);\n return;\n }\n if (support.gestures) {\n zoom.scale = e.scale * currentScale;\n } else {\n zoom.scale = (gesture.scaleMove / gesture.scaleStart) * currentScale;\n }\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;\n }\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;\n }\n gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n }\n function onGestureEnd(e) {\n const device = swiper.device;\n const support = swiper.support;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n if (!support.gestures) {\n if (!fakeGestureTouched || !fakeGestureMoved) {\n return;\n }\n if (\n e.type !== 'touchend' ||\n (e.type === 'touchend' && e.changedTouches.length < 2 && !device.android)\n ) {\n return;\n }\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl\n .transition(swiper.params.speed)\n .transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n currentScale = zoom.scale;\n isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = undefined;\n }\n function onTouchStart(e) {\n const device = swiper.device;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n }\n function onTouchMove(e) {\n const zoom = swiper.zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\n image.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n }\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!image.isMoved && !isScaling) {\n if (\n swiper.isHorizontal() &&\n ((Math.floor(image.minX) === Math.floor(image.startX) &&\n image.touchesCurrent.x < image.touchesStart.x) ||\n (Math.floor(image.maxX) === Math.floor(image.startX) &&\n image.touchesCurrent.x > image.touchesStart.x))\n ) {\n image.isTouched = false;\n return;\n }\n if (\n !swiper.isHorizontal() &&\n ((Math.floor(image.minY) === Math.floor(image.startY) &&\n image.touchesCurrent.y < image.touchesStart.y) ||\n (Math.floor(image.maxY) === Math.floor(image.startY) &&\n image.touchesCurrent.y > image.touchesStart.y))\n ) {\n image.isTouched = false;\n return;\n }\n }\n if (e.cancelable) {\n e.preventDefault();\n }\n e.stopPropagation();\n\n image.isMoved = true;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\n\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;\n }\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;\n }\n\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;\n }\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;\n }\n\n // Velocity\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x =\n (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y =\n (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n\n gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);\n }\n function onTouchEnd() {\n const zoom = swiper.zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n image.isTouched = false;\n image.isMoved = false;\n let momentumDurationX = 300;\n let momentumDurationY = 300;\n const momentumDistanceX = velocity.x * momentumDurationX;\n const newPositionX = image.currentX + momentumDistanceX;\n const momentumDistanceY = velocity.y * momentumDurationY;\n const newPositionY = image.currentY + momentumDistanceY;\n\n // Fix duration\n if (velocity.x !== 0)\n momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0)\n momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n const momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n\n image.currentX = newPositionX;\n image.currentY = newPositionY;\n\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n\n gesture.$imageWrapEl\n .transition(momentumDuration)\n .transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);\n }\n function onTransitionEnd() {\n const zoom = swiper.zoom;\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n if (gesture.$imageEl) {\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\n }\n if (gesture.$imageWrapEl) {\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\n }\n\n zoom.scale = 1;\n currentScale = 1;\n\n gesture.$slideEl = undefined;\n gesture.$imageEl = undefined;\n gesture.$imageWrapEl = undefined;\n }\n }\n\n function zoomIn(e) {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n\n if (!gesture.$slideEl) {\n if (e && e.target) {\n gesture.$slideEl = $(e.target).closest(`.${swiper.params.slideClass}`);\n }\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n }\n\n gesture.$imageEl = gesture.$slideEl\n .find(`.${params.containerClass}`)\n .eq(0)\n .find('picture, img, svg, canvas, .swiper-zoom-target')\n .eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n }\n if (\n !gesture.$imageEl ||\n gesture.$imageEl.length === 0 ||\n !gesture.$imageWrapEl ||\n gesture.$imageWrapEl.length === 0\n )\n return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.touchAction = 'none';\n }\n\n gesture.$slideEl.addClass(`${params.zoomedSlideClass}`);\n\n let touchX;\n let touchY;\n let offsetX;\n let offsetY;\n let diffX;\n let diffY;\n let translateX;\n let translateY;\n let imageWidth;\n let imageHeight;\n let scaledWidth;\n let scaledHeight;\n let translateMinX;\n let translateMinY;\n let translateMaxX;\n let translateMaxY;\n let slideWidth;\n let slideHeight;\n\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left + window.scrollX;\n offsetY = gesture.$slideEl.offset().top + window.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n gesture.$imageWrapEl\n .transition(300)\n .transform(`translate3d(${translateX}px, ${translateY}px,0)`);\n gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n }\n function zoomOut() {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n gesture.$imageEl = gesture.$slideEl\n .find(`.${params.containerClass}`)\n .eq(0)\n .find('picture, img, svg, canvas, .swiper-zoom-target')\n .eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n }\n if (\n !gesture.$imageEl ||\n gesture.$imageEl.length === 0 ||\n !gesture.$imageWrapEl ||\n gesture.$imageWrapEl.length === 0\n )\n return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.style.touchAction = '';\n }\n zoom.scale = 1;\n currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\n gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`);\n gesture.$slideEl = undefined;\n }\n\n // Toggle Zoom\n function zoomToggle(e) {\n const zoom = swiper.zoom;\n\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoomOut();\n } else {\n // Zoom In\n zoomIn(e);\n }\n }\n\n function getListeners() {\n const support = swiper.support;\n const passiveListener =\n swiper.touchEvents.start === 'touchstart' &&\n support.passiveListener &&\n swiper.params.passiveListeners\n ? { passive: true, capture: false }\n : false;\n const activeListenerWithCapture = support.passiveListener\n ? { passive: false, capture: true }\n : true;\n return { passiveListener, activeListenerWithCapture };\n }\n\n function getSlideSelector() {\n return `.${swiper.params.slideClass}`;\n }\n\n function toggleGestures(method) {\n const { passiveListener } = getListeners();\n const slideSelector = getSlideSelector();\n swiper.$wrapperEl[method]('gesturestart', slideSelector, onGestureStart, passiveListener);\n swiper.$wrapperEl[method]('gesturechange', slideSelector, onGestureChange, passiveListener);\n swiper.$wrapperEl[method]('gestureend', slideSelector, onGestureEnd, passiveListener);\n }\n function enableGestures() {\n if (gesturesEnabled) return;\n gesturesEnabled = true;\n toggleGestures('on');\n }\n function disableGestures() {\n if (!gesturesEnabled) return;\n gesturesEnabled = false;\n toggleGestures('off');\n }\n\n // Attach/Detach Events\n function enable() {\n const zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n const support = swiper.support;\n const { passiveListener, activeListenerWithCapture } = getListeners();\n const slideSelector = getSlideSelector();\n\n // Scale image\n if (support.gestures) {\n swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.on(\n swiper.touchEvents.start,\n slideSelector,\n onGestureStart,\n passiveListener,\n );\n swiper.$wrapperEl.on(\n swiper.touchEvents.move,\n slideSelector,\n onGestureChange,\n activeListenerWithCapture,\n );\n swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.on(\n swiper.touchEvents.cancel,\n slideSelector,\n onGestureEnd,\n passiveListener,\n );\n }\n }\n\n // Move image\n swiper.$wrapperEl.on(\n swiper.touchEvents.move,\n `.${swiper.params.zoom.containerClass}`,\n onTouchMove,\n activeListenerWithCapture,\n );\n }\n function disable() {\n const zoom = swiper.zoom;\n if (!zoom.enabled) return;\n const support = swiper.support;\n zoom.enabled = false;\n\n const { passiveListener, activeListenerWithCapture } = getListeners();\n const slideSelector = getSlideSelector();\n\n // Scale image\n if (support.gestures) {\n swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.off(\n swiper.touchEvents.start,\n slideSelector,\n onGestureStart,\n passiveListener,\n );\n swiper.$wrapperEl.off(\n swiper.touchEvents.move,\n slideSelector,\n onGestureChange,\n activeListenerWithCapture,\n );\n swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.off(\n swiper.touchEvents.cancel,\n slideSelector,\n onGestureEnd,\n passiveListener,\n );\n }\n }\n\n // Move image\n swiper.$wrapperEl.off(\n swiper.touchEvents.move,\n `.${swiper.params.zoom.containerClass}`,\n onTouchMove,\n activeListenerWithCapture,\n );\n }\n\n on('init', () => {\n if (swiper.params.zoom.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n disable();\n });\n on('touchStart', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchStart(e);\n });\n on('touchEnd', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchEnd(e);\n });\n on('doubleTap', (_s, e) => {\n if (\n !swiper.animating &&\n swiper.params.zoom.enabled &&\n swiper.zoom.enabled &&\n swiper.params.zoom.toggle\n ) {\n zoomToggle(e);\n }\n });\n on('transitionEnd', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n onTransitionEnd();\n }\n });\n on('slideChange', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n onTransitionEnd();\n }\n });\n\n Object.assign(swiper.zoom, {\n enable,\n disable,\n in: zoomIn,\n out: zoomOut,\n toggle: zoomToggle,\n });\n}\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function Lazy({ swiper, extendParams, on, emit }) {\n extendParams({\n lazy: {\n checkInView: false,\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n scrollingElement: '',\n\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader',\n },\n });\n\n swiper.lazy = {};\n\n let scrollHandlerAttached = false;\n let initialImageLoaded = false;\n\n function loadInSlide(index, loadInDuplicate = true) {\n const params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n const $slideEl = isVirtual\n ? swiper.$wrapperEl.children(\n `.${swiper.params.slideClass}[data-swiper-slide-index=\"${index}\"]`,\n )\n : swiper.slides.eq(index);\n\n const $images = $slideEl.find(\n `.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`,\n );\n if (\n $slideEl.hasClass(params.elementClass) &&\n !$slideEl.hasClass(params.loadedClass) &&\n !$slideEl.hasClass(params.loadingClass)\n ) {\n $images.push($slideEl[0]);\n }\n if ($images.length === 0) return;\n\n $images.each((imageEl) => {\n const $imageEl = $(imageEl);\n $imageEl.addClass(params.loadingClass);\n\n const background = $imageEl.attr('data-background');\n const src = $imageEl.attr('data-src');\n const srcset = $imageEl.attr('data-srcset');\n const sizes = $imageEl.attr('data-sizes');\n const $pictureEl = $imageEl.parent('picture');\n\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => {\n if (\n typeof swiper === 'undefined' ||\n swiper === null ||\n !swiper ||\n (swiper && !swiper.params) ||\n swiper.destroyed\n )\n return;\n if (background) {\n $imageEl.css('background-image', `url(\"${background}\")`);\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n if ($pictureEl.length) {\n $pictureEl.children('source').each((sourceEl) => {\n const $source = $(sourceEl);\n\n if ($source.attr('data-srcset')) {\n $source.attr('srcset', $source.attr('data-srcset'));\n $source.removeAttr('data-srcset');\n }\n });\n }\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(`.${params.preloaderClass}`).remove();\n if (swiper.params.loop && loadInDuplicate) {\n const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n const originalSlide = swiper.$wrapperEl.children(\n `[data-swiper-slide-index=\"${slideOriginalIndex}\"]:not(.${swiper.params.slideDuplicateClass})`,\n );\n loadInSlide(originalSlide.index(), false);\n } else {\n const duplicatedSlide = swiper.$wrapperEl.children(\n `.${swiper.params.slideDuplicateClass}[data-swiper-slide-index=\"${slideOriginalIndex}\"]`,\n );\n loadInSlide(duplicatedSlide.index(), false);\n }\n }\n emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n });\n\n emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n }\n\n function load() {\n const { $wrapperEl, params: swiperParams, slides, activeIndex } = swiper;\n const isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n const params = swiperParams.lazy;\n\n let slidesPerView = swiperParams.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if (\n $wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index=\"${index}\"]`)\n .length\n ) {\n return true;\n }\n } else if (slides[index]) return true;\n return false;\n }\n\n function slideIndex(slideEl) {\n if (isVirtual) {\n return $(slideEl).attr('data-swiper-slide-index');\n }\n return $(slideEl).index();\n }\n\n if (!initialImageLoaded) initialImageLoaded = true;\n if (swiper.params.watchSlidesProgress) {\n $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each((slideEl) => {\n const index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\n loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n loadInSlide(activeIndex);\n }\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || (params.loadPrevNextAmount && params.loadPrevNextAmount > 1)) {\n const amount = params.loadPrevNextAmount;\n const spv = Math.ceil(slidesPerView);\n const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0);\n // Next Slides\n for (let i = activeIndex + spv; i < maxIndex; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n // Prev Slides\n for (let i = minIndex; i < activeIndex; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`);\n if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide));\n\n const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`);\n if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide));\n }\n }\n }\n function checkInViewOnLoad() {\n const window = getWindow();\n if (!swiper || swiper.destroyed) return;\n const $scrollElement = swiper.params.lazy.scrollingElement\n ? $(swiper.params.lazy.scrollingElement)\n : $(window);\n const isWindow = $scrollElement[0] === window;\n const scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth;\n const scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight;\n const swiperOffset = swiper.$el.offset();\n const { rtlTranslate: rtl } = swiper;\n\n let inView = false;\n\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [\n [swiperOffset.left, swiperOffset.top],\n [swiperOffset.left + swiper.width, swiperOffset.top],\n [swiperOffset.left, swiperOffset.top + swiper.height],\n [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height],\n ];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (\n point[0] >= 0 &&\n point[0] <= scrollElementWidth &&\n point[1] >= 0 &&\n point[1] <= scrollElementHeight\n ) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n inView = true;\n }\n }\n\n const passiveListener =\n swiper.touchEvents.start === 'touchstart' &&\n swiper.support.passiveListener &&\n swiper.params.passiveListeners\n ? { passive: true, capture: false }\n : false;\n\n if (inView) {\n load();\n $scrollElement.off('scroll', checkInViewOnLoad, passiveListener);\n } else if (!scrollHandlerAttached) {\n scrollHandlerAttached = true;\n $scrollElement.on('scroll', checkInViewOnLoad, passiveListener);\n }\n }\n\n on('beforeInit', () => {\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n });\n on('init', () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('scroll', () => {\n if (\n swiper.params.freeMode &&\n swiper.params.freeMode.enabled &&\n !swiper.params.freeMode.sticky\n ) {\n load();\n }\n });\n on('scrollbarDragMove resize _freeModeNoMomentumRelease', () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('transitionStart', () => {\n if (swiper.params.lazy.enabled) {\n if (\n swiper.params.lazy.loadOnTransitionStart ||\n (!swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded)\n ) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n }\n });\n on('transitionEnd', () => {\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('slideChange', () => {\n const { lazy, cssMode, watchSlidesProgress, touchReleaseOnEdges, resistanceRatio } =\n swiper.params;\n if (\n lazy.enabled &&\n (cssMode || (watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0)))\n ) {\n load();\n }\n });\n\n on('destroy', () => {\n if (!swiper.$el) return;\n swiper.$el\n .find(`.${swiper.params.lazy.loadingClass}`)\n .removeClass(swiper.params.lazy.loadingClass);\n });\n\n Object.assign(swiper.lazy, {\n load,\n loadInSlide,\n });\n}\n","/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\nimport { nextTick } from '../../shared/utils.js';\n\nexport default function Controller({ swiper, extendParams, on }) {\n extendParams({\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide', // or 'container'\n },\n });\n\n swiper.controller = {\n control: undefined,\n };\n\n function LinearSpline(x, y) {\n const binarySearch = (function search() {\n let maxIndex;\n let minIndex;\n let guess;\n return (array, val) => {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1) {\n guess = (maxIndex + minIndex) >> 1;\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n return maxIndex;\n };\n })();\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n let i1;\n let i3;\n\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0;\n\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n\n // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n return (\n ((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1]) + this.y[i1]\n );\n };\n return this;\n }\n // xxx: for now i will just save one spline function to to\n function getInterpolateFunction(c) {\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop\n ? new LinearSpline(swiper.slidesGrid, c.slidesGrid)\n : new LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n }\n function setTranslate(_t, byController) {\n const controlled = swiper.controller.control;\n let multiplier;\n let controlledTranslate;\n const Swiper = swiper.constructor;\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n if (swiper.params.controller.by === 'slide') {\n getInterpolateFunction(c);\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier =\n (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n if (Array.isArray(controlled)) {\n for (let i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n }\n function setTransition(duration, byController) {\n const Swiper = swiper.constructor;\n const controlled = swiper.controller.control;\n let i;\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n if (duration !== 0) {\n c.transitionStart();\n if (c.params.autoHeight) {\n nextTick(() => {\n c.updateAutoHeight();\n });\n }\n c.$wrapperEl.transitionEnd(() => {\n if (!controlled) return;\n if (c.params.loop && swiper.params.controller.by === 'slide') {\n c.loopFix();\n }\n c.transitionEnd();\n });\n }\n }\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n\n function removeSpline() {\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n }\n on('beforeInit', () => {\n swiper.controller.control = swiper.params.controller.control;\n });\n on('update', () => {\n removeSpline();\n });\n on('resize', () => {\n removeSpline();\n });\n on('observerUpdate', () => {\n removeSpline();\n });\n on('setTranslate', (_s, translate, byController) => {\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n });\n on('setTransition', (_s, duration, byController) => {\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n });\n\n Object.assign(swiper.controller, {\n setTranslate,\n setTransition,\n });\n}\n","import classesToSelector from '../../shared/classes-to-selector.js';\nimport $ from '../../shared/dom.js';\n\nexport default function A11y({ swiper, extendParams, on }) {\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null,\n },\n });\n\n swiper.a11y = {\n clicked: false,\n };\n\n let liveRegion = null;\n\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n }\n\n function getRandomNumber(size = 16) {\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n }\n function makeElNotFocusable($el) {\n $el.attr('tabIndex', '-1');\n }\n function addElRole($el, role) {\n $el.attr('role', role);\n }\n function addElRoleDescription($el, description) {\n $el.attr('aria-roledescription', description);\n }\n function addElControls($el, controls) {\n $el.attr('aria-controls', controls);\n }\n function addElLabel($el, label) {\n $el.attr('aria-label', label);\n }\n function addElId($el, id) {\n $el.attr('id', id);\n }\n function addElLive($el, live) {\n $el.attr('aria-live', live);\n }\n function disableEl($el) {\n $el.attr('aria-disabled', true);\n }\n function enableEl($el) {\n $el.attr('aria-disabled', false);\n }\n\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const $targetEl = $(e.target);\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n\n if (\n swiper.pagination &&\n $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))\n ) {\n $targetEl[0].click();\n }\n }\n\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const { $nextEl, $prevEl } = swiper.navigation;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n disableEl($prevEl);\n makeElNotFocusable($prevEl);\n } else {\n enableEl($prevEl);\n makeElFocusable($prevEl);\n }\n }\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n disableEl($nextEl);\n makeElNotFocusable($nextEl);\n } else {\n enableEl($nextEl);\n makeElFocusable($nextEl);\n }\n }\n }\n\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.each((bulletEl) => {\n const $bulletEl = $(bulletEl);\n if (swiper.params.pagination.clickable) {\n makeElFocusable($bulletEl);\n if (!swiper.params.pagination.renderBullet) {\n addElRole($bulletEl, 'button');\n addElLabel(\n $bulletEl,\n params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1),\n );\n }\n }\n if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) {\n $bulletEl.attr('aria-current', 'true');\n } else {\n $bulletEl.removeAttr('aria-current');\n }\n });\n }\n\n const initNavEl = ($el, wrapperId, message) => {\n makeElFocusable($el);\n if ($el[0].tagName !== 'BUTTON') {\n addElRole($el, 'button');\n $el.on('keydown', onEnterOrSpaceKey);\n }\n addElLabel($el, message);\n addElControls($el, wrapperId);\n };\n const handlePointerDown = () => {\n swiper.a11y.clicked = true;\n };\n const handlePointerUp = () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n\n const handleFocus = (e) => {\n if (swiper.a11y.clicked) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible =\n swiper.params.watchSlidesProgress &&\n swiper.visibleSlides &&\n swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n };\n\n const initSlides = () => {\n const params = swiper.params.a11y;\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);\n }\n if (params.slideRole) {\n addElRole($(swiper.slides), params.slideRole);\n }\n\n const slidesLength = swiper.params.loop\n ? swiper.slides.filter((el) => !el.classList.contains(swiper.params.slideDuplicateClass))\n .length\n : swiper.slides.length;\n if (params.slideLabelMessage) {\n swiper.slides.each((slideEl, index) => {\n const $slideEl = $(slideEl);\n const slideIndex = swiper.params.loop\n ? parseInt($slideEl.attr('data-swiper-slide-index'), 10)\n : index;\n const ariaLabelMessage = params.slideLabelMessage\n .replace(/\\{\\{index\\}\\}/, slideIndex + 1)\n .replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel($slideEl, ariaLabelMessage);\n });\n }\n };\n\n const init = () => {\n const params = swiper.params.a11y;\n\n swiper.$el.append(liveRegion);\n\n // Container\n const $containerEl = swiper.$el;\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n if (params.containerMessage) {\n addElLabel($containerEl, params.containerMessage);\n }\n\n // Wrapper\n const $wrapperEl = swiper.$wrapperEl;\n const wrapperId = params.id || $wrapperEl.attr('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId($wrapperEl, wrapperId);\n addElLive($wrapperEl, live);\n\n // Slide\n initSlides();\n\n // Navigation\n let $nextEl;\n let $prevEl;\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl && $nextEl.length) {\n initNavEl($nextEl, wrapperId, params.nextSlideMessage);\n }\n if ($prevEl && $prevEl.length) {\n initNavEl($prevEl, wrapperId, params.prevSlideMessage);\n }\n\n // Pagination\n if (hasClickablePagination()) {\n swiper.pagination.$el.on(\n 'keydown',\n classesToSelector(swiper.params.pagination.bulletClass),\n onEnterOrSpaceKey,\n );\n }\n\n // Tab focus\n swiper.$el.on('focus', handleFocus, true);\n swiper.$el.on('pointerdown', handlePointerDown, true);\n swiper.$el.on('pointerup', handlePointerUp, true);\n };\n function destroy() {\n if (liveRegion && liveRegion.length > 0) liveRegion.remove();\n\n let $nextEl;\n let $prevEl;\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n if ($nextEl) {\n $nextEl.off('keydown', onEnterOrSpaceKey);\n }\n if ($prevEl) {\n $prevEl.off('keydown', onEnterOrSpaceKey);\n }\n\n // Pagination\n if (hasClickablePagination()) {\n swiper.pagination.$el.off(\n 'keydown',\n classesToSelector(swiper.params.pagination.bulletClass),\n onEnterOrSpaceKey,\n );\n }\n\n // Tab focus\n swiper.$el.off('focus', handleFocus, true);\n swiper.$el.off('pointerdown', handlePointerDown, true);\n swiper.$el.off('pointerup', handlePointerUp, true);\n }\n\n on('beforeInit', () => {\n liveRegion = $(\n ``,\n );\n });\n\n on('afterInit', () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}\n","import { getWindow } from 'ssr-window';\n\nexport default function History({ swiper, extendParams, on }) {\n extendParams({\n history: {\n enabled: false,\n root: '',\n replaceState: false,\n key: 'slides',\n keepQuery: false,\n },\n });\n\n let initialized = false;\n let paths = {};\n\n const slugify = (text) => {\n return text\n .toString()\n .replace(/\\s+/g, '-')\n .replace(/[^\\w-]+/g, '')\n .replace(/--+/g, '-')\n .replace(/^-+/, '')\n .replace(/-+$/, '');\n };\n\n const getPathValues = (urlOverride) => {\n const window = getWindow();\n let location;\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window.location;\n }\n const pathArray = location.pathname\n .slice(1)\n .split('/')\n .filter((part) => part !== '');\n const total = pathArray.length;\n const key = pathArray[total - 2];\n const value = pathArray[total - 1];\n return { key, value };\n };\n const setHistory = (key, index) => {\n const window = getWindow();\n if (!initialized || !swiper.params.history.enabled) return;\n let location;\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window.location;\n }\n const slide = swiper.slides.eq(index);\n let value = slugify(slide.attr('data-history'));\n if (swiper.params.history.root.length > 0) {\n let root = swiper.params.history.root;\n if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n value = `${root}/${key}/${value}`;\n } else if (!location.pathname.includes(key)) {\n value = `${key}/${value}`;\n }\n if (swiper.params.history.keepQuery) {\n value += location.search;\n }\n const currentState = window.history.state;\n if (currentState && currentState.value === value) {\n return;\n }\n if (swiper.params.history.replaceState) {\n window.history.replaceState({ value }, null, value);\n } else {\n window.history.pushState({ value }, null, value);\n }\n };\n\n const scrollToSlide = (speed, value, runCallbacks) => {\n if (value) {\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides.eq(i);\n const slideHistory = slugify(slide.attr('data-history'));\n if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n const index = slide.index();\n swiper.slideTo(index, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n };\n\n const setHistoryPopState = () => {\n paths = getPathValues(swiper.params.url);\n scrollToSlide(swiper.params.speed, paths.value, false);\n };\n\n const init = () => {\n const window = getWindow();\n if (!swiper.params.history) return;\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n initialized = true;\n paths = getPathValues(swiper.params.url);\n if (!paths.key && !paths.value) return;\n scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n };\n const destroy = () => {\n const window = getWindow();\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', setHistoryPopState);\n }\n };\n\n on('init', () => {\n if (swiper.params.history.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.history.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n}\n","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function HashNavigation({ swiper, extendParams, emit, on }) {\n let initialized = false;\n const document = getDocument();\n const window = getWindow();\n extendParams({\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false,\n },\n });\n const onHashChange = () => {\n emit('hashChange');\n const newHash = document.location.hash.replace('#', '');\n const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\n if (newHash !== activeSlideHash) {\n const newIndex = swiper.$wrapperEl\n .children(`.${swiper.params.slideClass}[data-hash=\"${newHash}\"]`)\n .index();\n if (typeof newIndex === 'undefined') return;\n swiper.slideTo(newIndex);\n }\n };\n const setHash = () => {\n if (!initialized || !swiper.params.hashNavigation.enabled) return;\n if (\n swiper.params.hashNavigation.replaceState &&\n window.history &&\n window.history.replaceState\n ) {\n window.history.replaceState(\n null,\n null,\n `#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}` || '',\n );\n emit('hashSet');\n } else {\n const slide = swiper.slides.eq(swiper.activeIndex);\n const hash = slide.attr('data-hash') || slide.attr('data-history');\n document.location.hash = hash || '';\n emit('hashSet');\n }\n };\n const init = () => {\n if (\n !swiper.params.hashNavigation.enabled ||\n (swiper.params.history && swiper.params.history.enabled)\n )\n return;\n initialized = true;\n const hash = document.location.hash.replace('#', '');\n if (hash) {\n const speed = 0;\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides.eq(i);\n const slideHash = slide.attr('data-hash') || slide.attr('data-history');\n if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n const index = slide.index();\n swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);\n }\n }\n }\n if (swiper.params.hashNavigation.watchState) {\n $(window).on('hashchange', onHashChange);\n }\n };\n const destroy = () => {\n if (swiper.params.hashNavigation.watchState) {\n $(window).off('hashchange', onHashChange);\n }\n };\n\n on('init', () => {\n if (swiper.params.hashNavigation.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.hashNavigation.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHash();\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHash();\n }\n });\n}\n","/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick } from '../../shared/utils.js';\n\nexport default function Autoplay({ swiper, extendParams, on, emit }) {\n let timeout;\n\n swiper.autoplay = {\n running: false,\n paused: false,\n };\n\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false,\n },\n });\n\n function run() {\n if (!swiper.size) {\n swiper.autoplay.running = false;\n swiper.autoplay.paused = false;\n return;\n }\n const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n let delay = swiper.params.autoplay.delay;\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n clearTimeout(timeout);\n timeout = nextTick(() => {\n let autoplayResult;\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(\n swiper.slides.length - 1,\n swiper.params.speed,\n true,\n true,\n );\n emit('autoplay');\n } else {\n stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n emit('autoplay');\n } else {\n stop();\n }\n if (swiper.params.cssMode && swiper.autoplay.running) run();\n else if (autoplayResult === false) {\n run();\n }\n }, delay);\n }\n function start() {\n if (typeof timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n emit('autoplayStart');\n run();\n return true;\n }\n function stop() {\n if (!swiper.autoplay.running) return false;\n if (typeof timeout === 'undefined') return false;\n\n if (timeout) {\n clearTimeout(timeout);\n timeout = undefined;\n }\n swiper.autoplay.running = false;\n emit('autoplayStop');\n return true;\n }\n function pause(speed) {\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (timeout) clearTimeout(timeout);\n swiper.autoplay.paused = true;\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd);\n });\n }\n }\n function onVisibilityChange() {\n const document = getDocument();\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n pause();\n }\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n run();\n swiper.autoplay.paused = false;\n }\n }\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n if (!swiper.autoplay.running) {\n stop();\n } else {\n run();\n }\n }\n function onMouseEnter() {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n emit('autoplayPause');\n pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n }\n function onMouseLeave() {\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n run();\n }\n function attachMouseEvents() {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', onMouseEnter);\n swiper.$el.on('mouseleave', onMouseLeave);\n }\n }\n function detachMouseEvents() {\n swiper.$el.off('mouseenter', onMouseEnter);\n swiper.$el.off('mouseleave', onMouseLeave);\n }\n\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n start();\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n attachMouseEvents();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n stop();\n }\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n pause();\n }\n }\n });\n on('touchEnd', () => {\n if (\n swiper.params.cssMode &&\n swiper.autoplay.paused &&\n !swiper.params.autoplay.disableOnInteraction\n ) {\n run();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n });\n\n Object.assign(swiper.autoplay, {\n pause,\n run,\n start,\n stop,\n });\n}\n","import { isObject } from '../../shared/utils.js';\nimport $ from '../../shared/dom.js';\n\nexport default function Thumb({ swiper, extendParams, on }) {\n extendParams({\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-thumbs',\n },\n });\n\n let initialized = false;\n let swiperCreated = false;\n\n swiper.thumbs = {\n swiper: null,\n };\n\n function onThumbClick() {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n\n const clickedIndex = thumbsSwiper.clickedIndex;\n const clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass))\n return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n let slideToIndex;\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n if (swiper.params.loop) {\n let currentIndex = swiper.activeIndex;\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n const prevIndex = swiper.slides\n .eq(currentIndex)\n .prevAll(`[data-swiper-slide-index=\"${slideToIndex}\"]`)\n .eq(0)\n .index();\n const nextIndex = swiper.slides\n .eq(currentIndex)\n .nextAll(`[data-swiper-slide-index=\"${slideToIndex}\"]`)\n .eq(0)\n .index();\n if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;\n else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;\n else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;\n else slideToIndex = prevIndex;\n }\n swiper.slideTo(slideToIndex);\n }\n\n function init() {\n const { thumbs: thumbsParams } = swiper.params;\n if (initialized) return false;\n initialized = true;\n const SwiperClass = swiper.constructor;\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Object.assign(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n });\n Object.assign(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n });\n } else if (isObject(thumbsParams.swiper)) {\n const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n Object.assign(thumbsSwiperParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n });\n swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n swiperCreated = true;\n }\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', onThumbClick);\n return true;\n }\n\n function update(initial) {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n\n const slidesPerView =\n thumbsSwiper.params.slidesPerView === 'auto'\n ? thumbsSwiper.slidesPerViewDynamic()\n : thumbsSwiper.params.slidesPerView;\n\n // Activate thumbs\n let thumbsToActivate = 1;\n const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n\n thumbsToActivate = Math.floor(thumbsToActivate);\n\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n if (\n thumbsSwiper.params.loop ||\n (thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled)\n ) {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl\n .children(`[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`)\n .addClass(thumbActiveClass);\n }\n } else {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass);\n }\n }\n\n const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n let currentThumbsIndex = thumbsSwiper.activeIndex;\n let newThumbsIndex;\n let direction;\n if (thumbsSwiper.params.loop) {\n if (\n thumbsSwiper.slides\n .eq(currentThumbsIndex)\n .hasClass(thumbsSwiper.params.slideDuplicateClass)\n ) {\n thumbsSwiper.loopFix();\n // eslint-disable-next-line\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n }\n // Find actual thumbs index to slide to\n const prevThumbsIndex = thumbsSwiper.slides\n .eq(currentThumbsIndex)\n .prevAll(`[data-swiper-slide-index=\"${swiper.realIndex}\"]`)\n .eq(0)\n .index();\n const nextThumbsIndex = thumbsSwiper.slides\n .eq(currentThumbsIndex)\n .nextAll(`[data-swiper-slide-index=\"${swiper.realIndex}\"]`)\n .eq(0)\n .index();\n if (typeof prevThumbsIndex === 'undefined') {\n newThumbsIndex = nextThumbsIndex;\n } else if (typeof nextThumbsIndex === 'undefined') {\n newThumbsIndex = prevThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex =\n thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = nextThumbsIndex;\n } else {\n newThumbsIndex = prevThumbsIndex;\n }\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n\n if (\n thumbsSwiper.visibleSlidesIndexes &&\n thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0\n ) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (\n newThumbsIndex > currentThumbsIndex &&\n thumbsSwiper.params.slidesPerGroup === 1\n ) {\n // newThumbsIndex = newThumbsIndex - slidesPerView + 1;\n }\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n }\n }\n\n on('beforeInit', () => {\n const { thumbs } = swiper.params;\n if (!thumbs || !thumbs.swiper) return;\n init();\n update(true);\n });\n on('slideChange update resize observerUpdate', () => {\n update();\n });\n on('setTransition', (_s, duration) => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n thumbsSwiper.setTransition(duration);\n });\n on('beforeDestroy', () => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n if (swiperCreated) {\n thumbsSwiper.destroy();\n }\n });\n\n Object.assign(swiper.thumbs, {\n init,\n update,\n });\n}\n","import { now } from '../../shared/utils.js';\n\nexport default function freeMode({ swiper, extendParams, emit, once }) {\n extendParams({\n freeMode: {\n enabled: false,\n momentum: true,\n momentumRatio: 1,\n momentumBounce: true,\n momentumBounceRatio: 1,\n momentumVelocityRatio: 1,\n sticky: false,\n minimumVelocity: 0.02,\n },\n });\n\n function onTouchStart() {\n const translate = swiper.getTranslate();\n swiper.setTranslate(translate);\n swiper.setTransition(0);\n swiper.touchEventsData.velocities.length = 0;\n swiper.freeMode.onTouchEnd({ currentPos: swiper.rtl ? swiper.translate : -swiper.translate });\n }\n\n function onTouchMove() {\n const { touchEventsData: data, touches } = swiper;\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime,\n });\n }\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now(),\n });\n }\n\n function onTouchEnd({ currentPos }) {\n const { params, $wrapperEl, rtlTranslate: rtl, snapGrid, touchEventsData: data } = swiper;\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n return;\n }\n\n if (params.freeMode.momentum) {\n if (data.velocities.length > 1) {\n const lastMoveEvent = data.velocities.pop();\n const velocityEvent = data.velocities.pop();\n\n const distance = lastMoveEvent.position - velocityEvent.position;\n const time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n swiper.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n swiper.velocity *= params.freeMode.momentumVelocityRatio;\n\n data.velocities.length = 0;\n let momentumDuration = 1000 * params.freeMode.momentumRatio;\n const momentumDistance = swiper.velocity * momentumDuration;\n\n let newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n\n let doBounce = false;\n let afterBouncePosition;\n const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n let needsLoopFix;\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeMode.sticky) {\n let nextSlide;\n for (let j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (\n Math.abs(snapGrid[nextSlide] - newPosition) <\n Math.abs(snapGrid[nextSlide - 1] - newPosition) ||\n swiper.swipeDirection === 'next'\n ) {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n newPosition = -newPosition;\n }\n if (needsLoopFix) {\n once('transitionEnd', () => {\n swiper.loopFix();\n });\n }\n // Fix duration\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n if (params.freeMode.sticky) {\n // If freeMode.sticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeMode.momentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(() => {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }\n\n Object.assign(swiper, {\n freeMode: {\n onTouchStart,\n onTouchMove,\n onTouchEnd,\n },\n });\n}\n","export default function Grid({ swiper, extendParams }) {\n extendParams({\n grid: {\n rows: 1,\n fill: 'column',\n },\n });\n\n let slidesNumberEvenToRows;\n let slidesPerRow;\n let numFullColumns;\n\n const initSlides = (slidesLength) => {\n const { slidesPerView } = swiper.params;\n const { rows, fill } = swiper.params.grid;\n slidesPerRow = slidesNumberEvenToRows / rows;\n numFullColumns = Math.floor(slidesLength / rows);\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n if (slidesPerView !== 'auto' && fill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n };\n\n const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {\n const { slidesPerGroup, spaceBetween } = swiper.params;\n const { rows, fill } = swiper.params.grid;\n // Set slides order\n let newSlideOrderIndex;\n let column;\n let row;\n if (fill === 'row' && slidesPerGroup > 1) {\n const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n const columnsInGroup =\n groupIndex === 0\n ? slidesPerGroup\n : Math.min(\n Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows),\n slidesPerGroup,\n );\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n\n newSlideOrderIndex = column + (row * slidesNumberEvenToRows) / rows;\n slide.css({\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex,\n });\n } else if (fill === 'column') {\n column = Math.floor(i / rows);\n row = i - column * rows;\n if (column > numFullColumns || (column === numFullColumns && row === rows - 1)) {\n row += 1;\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide.css(\n getDirectionLabel('margin-top'),\n row !== 0 ? spaceBetween && `${spaceBetween}px` : '',\n );\n };\n\n const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {\n const { spaceBetween, centeredSlides, roundLengths } = swiper.params;\n const { rows } = swiper.params.grid;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n swiper.$wrapperEl.css({\n [getDirectionLabel('width')]: `${swiper.virtualSize + spaceBetween}px`,\n });\n if (centeredSlides) {\n snapGrid.splice(0, snapGrid.length);\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid.push(...newSlidesGrid);\n }\n };\n\n swiper.grid = {\n initSlides,\n updateSlide,\n updateWrapperSize,\n };\n}\n","export default function appendSlide(slides) {\n const swiper = this;\n const { $wrapperEl, params } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n}\n","export default function prependSlide(slides) {\n const swiper = this;\n const { params, $wrapperEl, activeIndex } = swiper;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndex + 1;\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n swiper.slideTo(newActiveIndex, 0, false);\n}\n","export default function addSlide(index, slides) {\n const swiper = this;\n const { $wrapperEl, params, activeIndex } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n const baseLength = swiper.slides.length;\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n\n const slidesBuffer = [];\n for (let i = baseLength - 1; i >= index; i -= 1) {\n const currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n newActiveIndex =\n activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (let i = 0; i < slidesBuffer.length; i += 1) {\n $wrapperEl.append(slidesBuffer[i]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n","export default function removeSlide(slidesIndexes) {\n const swiper = this;\n const { params, $wrapperEl, activeIndex } = swiper;\n\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n let newActiveIndex = activeIndexBuffer;\n let indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (let i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!params.observer) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n","export default function removeAllSlides() {\r\n const swiper = this;\r\n\r\n const slidesIndexes = [];\r\n for (let i = 0; i < swiper.slides.length; i += 1) {\r\n slidesIndexes.push(i);\r\n }\r\n swiper.removeSlide(slidesIndexes);\r\n}\r\n","import appendSlide from './methods/appendSlide.js';\r\nimport prependSlide from './methods/prependSlide.js';\r\nimport addSlide from './methods/addSlide.js';\r\nimport removeSlide from './methods/removeSlide.js';\r\nimport removeAllSlides from './methods/removeAllSlides.js';\r\n\r\nexport default function Manipulation({ swiper }) {\r\n Object.assign(swiper, {\r\n appendSlide: appendSlide.bind(swiper),\r\n prependSlide: prependSlide.bind(swiper),\r\n addSlide: addSlide.bind(swiper),\r\n removeSlide: removeSlide.bind(swiper),\r\n removeAllSlides: removeAllSlides.bind(swiper),\r\n });\r\n}\r\n","export default function effectInit(params) {\n const {\n effect,\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams,\n perspective,\n recreateShadows,\n getEffectParams,\n } = params;\n\n on('beforeInit', () => {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n if (perspective && perspective()) {\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n }\n\n const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on('setTranslate', () => {\n if (swiper.params.effect !== effect) return;\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n if (swiper.params.effect !== effect) return;\n setTransition(duration);\n });\n\n on('transitionEnd', () => {\n if (swiper.params.effect !== effect) return;\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return;\n // remove shadows\n swiper.slides.each((slideEl) => {\n const $slideEl = swiper.$(slideEl);\n $slideEl\n .find(\n '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left',\n )\n .remove();\n });\n // create new one\n recreateShadows();\n }\n });\n\n let requireUpdateOnVirtual;\n on('virtualUpdate', () => {\n if (swiper.params.effect !== effect) return;\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n requestAnimationFrame(() => {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate();\n requireUpdateOnVirtual = false;\n }\n });\n });\n}\n","export default function effectTarget(effectParams, $slideEl) {\n if (effectParams.transformEl) {\n return $slideEl.find(effectParams.transformEl).css({\n 'backface-visibility': 'hidden',\n '-webkit-backface-visibility': 'hidden',\n });\n }\n return $slideEl;\n}\n","export default function effectVirtualTransitionEnd({ swiper, duration, transformEl, allSlides }) {\n const { slides, activeIndex, $wrapperEl } = swiper;\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n let $transitionEndTarget;\n if (allSlides) {\n $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;\n } else {\n $transitionEndTarget = transformEl\n ? slides.eq(activeIndex).find(transformEl)\n : slides.eq(activeIndex);\n }\n $transitionEndTarget.transitionEnd(() => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n for (let i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n}\n","import effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\n\nexport default function EffectFade({ swiper, extendParams, on }) {\n extendParams({\n fadeEffect: {\n crossFade: false,\n transformEl: null,\n },\n });\n\n const setTranslate = () => {\n const { slides } = swiper;\n const params = swiper.params.fadeEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = swiper.slides.eq(i);\n const offset = $slideEl[0].swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n const slideOpacity = swiper.params.fadeEffect.crossFade\n ? Math.max(1 - Math.abs($slideEl[0].progress), 0)\n : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl\n .css({\n opacity: slideOpacity,\n })\n .transform(`translate3d(${tx}px, ${ty}px, 0px)`);\n }\n };\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.fadeEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration);\n effectVirtualTransitionEnd({ swiper, duration, transformEl, allSlides: true });\n };\n\n effectInit({\n effect: 'fade',\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode,\n }),\n });\n}\n","import $ from '../../shared/dom.js';\nimport effectInit from '../../shared/effect-init.js';\n\nexport default function EffectCube({ swiper, extendParams, on }) {\n extendParams({\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94,\n },\n });\n\n const createSlideShadows = ($slideEl, progress, isHorizontal) => {\n let shadowBefore = isHorizontal\n ? $slideEl.find('.swiper-slide-shadow-left')\n : $slideEl.find('.swiper-slide-shadow-top');\n let shadowAfter = isHorizontal\n ? $slideEl.find('.swiper-slide-shadow-right')\n : $slideEl.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $(`
    `);\n $slideEl.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $(\n `
    `,\n );\n $slideEl.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n };\n\n const recreateShadows = () => {\n // create new ones\n const isHorizontal = swiper.isHorizontal();\n swiper.slides.each((slideEl) => {\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n createSlideShadows($(slideEl), progress, isHorizontal);\n });\n };\n\n const setTranslate = () => {\n const {\n $el,\n $wrapperEl,\n slides,\n width: swiperWidth,\n height: swiperHeight,\n rtlTranslate: rtl,\n size: swiperSize,\n browser,\n } = swiper;\n const params = swiper.params.cubeEffect;\n const isHorizontal = swiper.isHorizontal();\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let wrapperRotate = 0;\n let $cubeShadowEl;\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
    ');\n $wrapperEl.append($cubeShadowEl);\n }\n $cubeShadowEl.css({ height: `${swiperWidth}px` });\n } else {\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
    ');\n $el.append($cubeShadowEl);\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n let slideIndex = i;\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\n }\n let slideAngle = slideIndex * 90;\n let round = Math.floor(slideAngle / 360);\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n const progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n let tx = 0;\n let ty = 0;\n let tz = 0;\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n if (rtl) {\n tx = -tx;\n }\n\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n\n const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${\n isHorizontal ? slideAngle : 0\n }deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n $slideEl.transform(transform);\n if (params.slideShadows) {\n createSlideShadows($slideEl, progress, isHorizontal);\n }\n }\n $wrapperEl.css({\n '-webkit-transform-origin': `50% 50% -${swiperSize / 2}px`,\n 'transform-origin': `50% 50% -${swiperSize / 2}px`,\n });\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(\n `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${\n -swiperWidth / 2\n }px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`,\n );\n } else {\n const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n const multiplier =\n 1.5 -\n (Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2 +\n Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2);\n const scale1 = params.shadowScale;\n const scale2 = params.shadowScale / multiplier;\n const offset = params.shadowOffset;\n $cubeShadowEl.transform(\n `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${\n -swiperHeight / 2 / scale2\n }px) rotateX(-90deg)`,\n );\n }\n }\n const zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;\n $wrapperEl.transform(\n `translate3d(0px,0,${zFactor}px) rotateX(${\n swiper.isHorizontal() ? 0 : wrapperRotate\n }deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`,\n );\n $wrapperEl[0].style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);\n };\n const setTransition = (duration) => {\n const { $el, slides } = swiper;\n slides\n .transition(duration)\n .find(\n '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left',\n )\n .transition(duration);\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find('.swiper-cube-shadow').transition(duration);\n }\n };\n\n effectInit({\n effect: 'cube',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.cubeEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true,\n }),\n });\n}\n","import $ from './dom.js';\n\nexport default function createShadow(params, $slideEl, side) {\n const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`;\n const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl;\n let $shadowEl = $shadowContainer.children(`.${shadowClass}`);\n\n if (!$shadowEl.length) {\n $shadowEl = $(`
    `);\n $shadowContainer.append($shadowEl);\n }\n return $shadowEl;\n}\n","import $ from '../../shared/dom.js';\nimport createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\n\nexport default function EffectFlip({ swiper, extendParams, on }) {\n extendParams({\n flipEffect: {\n slideShadows: true,\n limitRotation: true,\n transformEl: null,\n },\n });\n\n const createSlideShadows = ($slideEl, progress, params) => {\n let shadowBefore = swiper.isHorizontal()\n ? $slideEl.find('.swiper-slide-shadow-left')\n : $slideEl.find('.swiper-slide-shadow-top');\n let shadowAfter = swiper.isHorizontal()\n ? $slideEl.find('.swiper-slide-shadow-right')\n : $slideEl.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = createShadow(params, $slideEl, swiper.isHorizontal() ? 'left' : 'top');\n }\n if (shadowAfter.length === 0) {\n shadowAfter = createShadow(params, $slideEl, swiper.isHorizontal() ? 'right' : 'bottom');\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n };\n\n const recreateShadows = () => {\n // Set shadows\n const params = swiper.params.flipEffect;\n swiper.slides.each((slideEl) => {\n const $slideEl = $(slideEl);\n let progress = $slideEl[0].progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n createSlideShadows($slideEl, progress, params);\n });\n };\n\n const setTranslate = () => {\n const { slides, rtlTranslate: rtl } = swiper;\n const params = swiper.params.flipEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n let progress = $slideEl[0].progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n const offset = $slideEl[0].swiperSlideOffset;\n const rotate = -180 * progress;\n let rotateY = rotate;\n let rotateX = 0;\n let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n\n if (params.slideShadows) {\n createSlideShadows($slideEl, progress, params);\n }\n const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform);\n }\n };\n\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.flipEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements\n .transition(duration)\n .find(\n '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left',\n )\n .transition(duration);\n effectVirtualTransitionEnd({ swiper, duration, transformEl });\n };\n\n effectInit({\n effect: 'flip',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.flipEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode,\n }),\n });\n}\n","import createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\n\nexport default function EffectCoverflow({ swiper, extendParams, on }) {\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true,\n transformEl: null,\n },\n });\n\n const setTranslate = () => {\n const { width: swiperWidth, height: swiperHeight, slides, slidesSizesGrid } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform = swiper.translate;\n const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth;\n // Each slide offset from center\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideSize = slidesSizesGrid[i];\n const slideOffset = $slideEl[0].swiperSlideOffset;\n const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n const offsetMultiplier =\n typeof params.modifier === 'function'\n ? params.modifier(centerOffset)\n : centerOffset * params.modifier;\n\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n let translateZ = -translate * Math.abs(offsetMultiplier);\n\n let stretch = params.stretch;\n // Allow percentage to make a relative stretch for responsive sliders\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = (parseFloat(params.stretch) / 100) * slideSize;\n }\n let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n\n let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);\n\n // Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(slideTransform);\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n let $shadowBeforeEl = isHorizontal\n ? $slideEl.find('.swiper-slide-shadow-left')\n : $slideEl.find('.swiper-slide-shadow-top');\n let $shadowAfterEl = isHorizontal\n ? $slideEl.find('.swiper-slide-shadow-right')\n : $slideEl.find('.swiper-slide-shadow-bottom');\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = createShadow(params, $slideEl, isHorizontal ? 'left' : 'top');\n }\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = createShadow(params, $slideEl, isHorizontal ? 'right' : 'bottom');\n }\n if ($shadowBeforeEl.length)\n $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length)\n $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n };\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.coverflowEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements\n .transition(duration)\n .find(\n '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left',\n )\n .transition(duration);\n };\n\n effectInit({\n effect: 'coverflow',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n }),\n });\n}\n","import createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\n\nexport default function EffectCreative({ swiper, extendParams, on }) {\n extendParams({\n creativeEffect: {\n transformEl: null,\n limitProgress: 1,\n shadowPerProgress: false,\n progressMultiplier: 1,\n perspective: true,\n prev: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1,\n },\n next: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1,\n },\n },\n });\n\n const getTranslateValue = (value) => {\n if (typeof value === 'string') return value;\n return `${value}px`;\n };\n\n const setTranslate = () => {\n const { slides, $wrapperEl, slidesSizesGrid } = swiper;\n const params = swiper.params.creativeEffect;\n const { progressMultiplier: multiplier } = params;\n\n const isCenteredSlides = swiper.params.centeredSlides;\n\n if (isCenteredSlides) {\n const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;\n $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`);\n }\n\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideProgress = $slideEl[0].progress;\n const progress = Math.min(\n Math.max($slideEl[0].progress, -params.limitProgress),\n params.limitProgress,\n );\n let originalProgress = progress;\n\n if (!isCenteredSlides) {\n originalProgress = Math.min(\n Math.max($slideEl[0].originalProgress, -params.limitProgress),\n params.limitProgress,\n );\n }\n\n const offset = $slideEl[0].swiperSlideOffset;\n const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];\n const r = [0, 0, 0];\n let custom = false;\n if (!swiper.isHorizontal()) {\n t[1] = t[0];\n t[0] = 0;\n }\n let data = {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n scale: 1,\n opacity: 1,\n };\n if (progress < 0) {\n data = params.next;\n custom = true;\n } else if (progress > 0) {\n data = params.prev;\n custom = true;\n }\n // set translate\n t.forEach((value, index) => {\n t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(\n progress * multiplier,\n )}))`;\n });\n // set rotates\n r.forEach((value, index) => {\n r[index] = data.rotate[index] * Math.abs(progress * multiplier);\n });\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n\n const translateString = t.join(', ');\n const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;\n const scaleString =\n originalProgress < 0\n ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})`\n : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;\n const opacityString =\n originalProgress < 0\n ? 1 + (1 - data.opacity) * originalProgress * multiplier\n : 1 - (1 - data.opacity) * originalProgress * multiplier;\n const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;\n\n // Set shadows\n if ((custom && data.shadow) || !custom) {\n let $shadowEl = $slideEl.children('.swiper-slide-shadow');\n if ($shadowEl.length === 0 && data.shadow) {\n $shadowEl = createShadow(params, $slideEl);\n }\n if ($shadowEl.length) {\n const shadowOpacity = params.shadowPerProgress\n ? progress * (1 / params.limitProgress)\n : progress;\n $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);\n }\n }\n\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform).css({ opacity: opacityString });\n if (data.origin) {\n $targetEl.css('transform-origin', data.origin);\n }\n }\n };\n\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.creativeEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);\n\n effectVirtualTransitionEnd({ swiper, duration, transformEl, allSlides: true });\n };\n\n effectInit({\n effect: 'creative',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => swiper.params.creativeEffect.perspective,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode,\n }),\n });\n}\n","import createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\n\nexport default function EffectCards({ swiper, extendParams, on }) {\n extendParams({\n cardsEffect: {\n slideShadows: true,\n transformEl: null,\n rotate: true,\n perSlideRotate: 2,\n perSlideOffset: 8,\n },\n });\n\n const setTranslate = () => {\n const { slides, activeIndex } = swiper;\n const params = swiper.params.cardsEffect;\n const { startTranslate, isTouched } = swiper.touchEventsData;\n const currentTranslate = swiper.translate;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideProgress = $slideEl[0].progress;\n const progress = Math.min(Math.max(slideProgress, -4), 4);\n let offset = $slideEl[0].swiperSlideOffset;\n if (swiper.params.centeredSlides && !swiper.params.cssMode) {\n swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`);\n }\n if (swiper.params.centeredSlides && swiper.params.cssMode) {\n offset -= slides[0].swiperSlideOffset;\n }\n let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let tY = 0;\n const tZ = -100 * Math.abs(progress);\n let scale = 1;\n let rotate = -params.perSlideRotate * progress;\n\n let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;\n\n const slideIndex =\n swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;\n\n const isSwipeToNext =\n (slideIndex === activeIndex || slideIndex === activeIndex - 1) &&\n progress > 0 &&\n progress < 1 &&\n (isTouched || swiper.params.cssMode) &&\n currentTranslate < startTranslate;\n const isSwipeToPrev =\n (slideIndex === activeIndex || slideIndex === activeIndex + 1) &&\n progress < 0 &&\n progress > -1 &&\n (isTouched || swiper.params.cssMode) &&\n currentTranslate > startTranslate;\n\n if (isSwipeToNext || isSwipeToPrev) {\n const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;\n rotate += -28 * progress * subProgress;\n scale += -0.5 * subProgress;\n tXAdd += 96 * subProgress;\n tY = `${-25 * subProgress * Math.abs(progress)}%`;\n }\n\n if (progress < 0) {\n // next\n tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`;\n } else if (progress > 0) {\n // prev\n tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`;\n } else {\n tX = `${tX}px`;\n }\n if (!swiper.isHorizontal()) {\n const prevY = tY;\n tY = tX;\n tX = prevY;\n }\n\n const scaleString =\n progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;\n\n const transform = `\n translate3d(${tX}, ${tY}, ${tZ}px)\n rotateZ(${params.rotate ? rotate : 0}deg)\n scale(${scaleString})\n `;\n\n if (params.slideShadows) {\n // Set shadows\n let $shadowEl = $slideEl.find('.swiper-slide-shadow');\n if ($shadowEl.length === 0) {\n $shadowEl = createShadow(params, $slideEl);\n }\n if ($shadowEl.length)\n $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform);\n }\n };\n\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.cardsEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);\n\n effectVirtualTransitionEnd({ swiper, duration, transformEl });\n };\n\n effectInit({\n effect: 'cards',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode,\n }),\n });\n}\n","// Swiper Class\r\nimport Swiper from './core/core.js';\r\n\r\n//IMPORT_MODULES\r\n\r\nconst modules = [\r\n //INSTALL_MODULES\r\n];\r\n\r\nSwiper.use(modules);\r\n\r\n//EXPORT\r\n"],"names":["isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","makeReactive","proto","__proto__","defineProperty","get","set","value","Dom7","Array","items","arrayFlat","arr","res","el","isArray","push","arrayFilter","prototype","filter","call","arrayUnique","uniqueArray","i","indexOf","qsa","selector","context","a","$","html","trim","toCreate","tempParent","innerHTML","nodeType","fn","addClass","classes","classNames","map","c","split","classList","add","removeClass","remove","toggleClass","className","toggle","hasClass","contains","attr","attrs","arguments","getAttribute","undefined","attrName","removeAttr","removeAttribute","transform","transition","duration","transitionDuration","on","args","eventType","targetSelector","listener","capture","handleLiveEvent","e","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","events","j","event","dom7Listeners","proxyListener","dom7LiveListeners","off","handlers","handler","splice","dom7proxy","trigger","evt","detail","bubbles","cancelable","data","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","styles","offsetWidth","parseFloat","outerHeight","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","props","prop","each","index","result","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","prev","previousElementSibling","prevAll","prevEls","parent","parentNode","closest","find","foundElements","found","removeChild","Methods","methodName","writable","deleteProps","object","nextTick","delay","now","currentStyle","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","webkitTransform","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","m42","o","slice","isNode","node","HTMLElement","to","noExtend","nextSource","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","swiper","targetPosition","side","startPosition","translate","startTime","time","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","support","calcSupport","smoothScroll","documentElement","touch","DocumentTouch","passiveListener","checkPassiveListener","supportsPassive","opts","gestures","checkGestures","getSupport","deviceCached","calcDevice","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","overrides","browser","calcBrowser","isSafari","toLowerCase","isWebView","test","getBrowser","Resize","emit","observer","animationFrame","resizeHandler","destroyed","initialized","createObserver","ResizeObserver","entries","newWidth","newHeight","contentBoxSize","contentRect","inlineSize","blockSize","observe","removeObserver","unobserve","orientationChangeHandler","resizeObserver","Observer","extendParams","observers","attach","options","ObserverFunc","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","init","observeParents","containerParents","$el","observeSlideChildren","$wrapperEl","destroy","disconnect","priority","self","eventsListeners","method","once","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","eventsArray","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","Number","isNaN","assign","size","updateSlides","getDirectionLabel","property","getDirectionPropertyValue","label","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","centeredSlides","cssMode","gridEnabled","grid","rows","initSlides","slideSize","shouldResetSlideSize","slidesPerView","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","_","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","setTransition","getSlideByIndex","visibleSlides","ceil","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isVisible","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","autoHeight","updateSlidesClasses","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","activeSlide","loop","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","getSwiperTranslate","virtualTranslate","currentTranslate","setTranslate","byController","x","y","z","previousTranslate","newProgress","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","transitionStart","slideTo","initial","Error","indexAsNumber","isValidNumber","isFinite","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","t","_immediateVirtual","_swiperImmediateVirtual","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","loopedSlides","slideNext","perGroup","slidesPerGroupAuto","slidesPerViewDynamic","increment","loopPreventsSlide","loopFix","_clientLeft","rewind","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","nextSnap","slideToIndex","loopCreate","$selector","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","loopedSlidesLimit","prependSlides","appendSlides","cloneNode","snapTranslate","diff","slideChanged","loopDestroy","setGrabCursor","moving","simulateTouch","isLocked","touchEventsTarget","cursor","unsetGrabCursor","closestElement","base","__closestFrom","assignedSlot","getRootNode","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","isTouchEvent","type","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","path","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","preventDefault","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","touchAngle","atan2","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","grabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","stopIndex","groupSize","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","isNavButtonTarget","navigation","nextEl","prevEl","onResize","setBreakpoint","autoplay","running","paused","run","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","touchEvents","domMethod","swiperMethod","start","move","end","passiveListeners","passive","cancel","updateOnWindowResize","attachEvents","bind","detachEvents","isGridEnabled","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointOnlyParams","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","fill","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","changeDirection","isEnabled","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","sort","b","prepareClasses","prefix","resultClasses","item","addClasses","suffixes","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","isPicture","complete","onload","onerror","preloadImages","imagesToLoad","imagesLoaded","updateOnImagesReady","update","currentSrc","wasLocked","lastSlideIndex","lastSlideRightEdge","initialSlide","createElements","url","uniqueNavElements","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","eventsEmitter","images","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","swiperParams","defaults","passedParams","eventName","velocity","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","velocities","setProgress","cls","getSlideClasses","slideEl","updates","view","exact","spv","breakLoop","slideInView","translateValue","translated","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","getWrapperSelector","getWrapper","wrapper","deleteInstance","cleanStyles","extendDefaults","newDefaults","installModule","use","module","m","prototypeGroup","protoMethod","Virtual","cache","renderSlide","renderExternal","renderExternalUpdate","addSlidesBefore","addSlidesAfter","cssModeTimeout","from","$slideEl","force","previousFrom","previousTo","previousSlidesGrid","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","load","getSlides","slidesToRender","prependIndexes","appendIndexes","appendSlide","prependSlide","numberOfNewSlides","newCache","cachedIndex","$cachedEl","cachedElIndex","removeSlide","slidesIndexes","removeAllSlides","Keyboard","keyboard","onlyInViewport","pageUpDown","handle","kc","keyCode","charCode","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","Mousewheel","mousewheel","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","timeout","lastScrollTime","lastEventBeforeSnap","recentWheelEvents","PIXEL_STEP","LINE_HEIGHT","PAGE_HEIGHT","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","delta","raw","releaseScroll","rtlFactor","positions","sign","shift","prevEvent","ignoreWheelEvents","position","sticky","firstEvent","snapToThreshold","autoplayDisableOnInteraction","stop","createElementIfNotDefined","checkProps","element","Navigation","hideOnClick","disabledClass","hiddenClass","lockClass","navigationDisabledClass","$nextEl","$prevEl","getEl","toggleEl","disabled","tagName","onPrevClick","onNextClick","_s","targetEl","pagination","clickable","isHidden","classesToSelector","Pagination","pfx","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","bulletSize","dynamicBulletIndex","isPaginationDisabled","setSideBullets","$bulletEl","total","paginationType","firstIndex","midIndex","suffix","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","progressbarDirection","scale","scaleX","scaleY","render","paginationHTML","numberOfBullets","Scrollbar","dragTimeout","dragStartPos","dragSize","trackSize","divider","scrollbar","hide","draggable","snapOnRelease","dragClass","scrollbarDisabledClass","dragEl","$dragEl","newSize","newPos","opacity","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","onDragStart","onDragMove","onDragEnd","activeListener","eventMethod","enableDraggable","disableDraggable","$swiperEl","Parallax","parallax","setTransform","p","currentOpacity","currentScale","parallaxEl","$parallaxEl","parallaxDuration","_swiper","Zoom","zoom","maxRatio","containerClass","zoomedSlideClass","isScaling","gesturesEnabled","fakeGestureTouched","fakeGestureMoved","gesture","slideWidth","slideHeight","$imageEl","$imageWrapEl","minX","minY","maxX","maxY","touchesStart","touchesCurrent","prevPositionX","prevPositionY","prevTime","getDistanceBetweenTouches","x1","y1","x2","y2","distance","onGestureStart","scaleStart","onGestureChange","scaleMove","onGestureEnd","scaledWidth","scaledHeight","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","onTransitionEnd","zoomIn","touchAction","touchX","touchY","offsetX","offsetY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","zoomOut","zoomToggle","getListeners","activeListenerWithCapture","getSlideSelector","toggleGestures","slideSelector","enableGestures","disableGestures","in","out","Lazy","checkInView","loadPrevNext","loadPrevNextAmount","loadOnTransitionStart","scrollingElement","elementClass","loadingClass","loadedClass","preloaderClass","scrollHandlerAttached","initialImageLoaded","loadInSlide","loadInDuplicate","$images","background","$pictureEl","sourceEl","$source","slideOriginalIndex","originalSlide","duplicatedSlide","slideExist","amount","maxIndex","minIndex","checkInViewOnLoad","$scrollElement","isWindow","scrollElementWidth","scrollElementHeight","Controller","controller","control","inverse","by","LinearSpline","binarySearch","guess","array","i1","i3","interpolate","getInterpolateFunction","spline","_t","controlled","controlledTranslate","setControlledTranslate","setControlledTransition","removeSpline","A11y","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","itemRoleDescriptionMessage","slideRole","clicked","liveRegion","notify","message","notification","getRandomNumber","randomChar","round","random","repeat","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElControls","controls","addElLabel","addElId","addElLive","live","disableEl","enableEl","onEnterOrSpaceKey","click","updateNavigation","hasPagination","hasClickablePagination","updatePagination","bulletEl","initNavEl","wrapperId","handlePointerDown","handlePointerUp","handleFocus","includes","isActive","sourceCapabilities","firesTouchEvents","ariaLabelMessage","$containerEl","History","root","keepQuery","paths","slugify","getPathValues","urlOverride","URL","pathArray","part","setHistory","currentState","state","scrollToSlide","slideHistory","setHistoryPopState","hashNavigation","HashNavigation","watchState","onHashChange","newHash","activeSlideHash","setHash","slideHash","Autoplay","waitForTransition","disableOnInteraction","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","$activeSlideEl","autoplayResult","pause","onVisibilityChange","visibilityState","onMouseEnter","onMouseLeave","attachMouseEvents","detachMouseEvents","Thumb","thumbs","multipleActiveThumbs","autoScrollOffset","slideThumbActiveClass","thumbsContainerClass","swiperCreated","onThumbClick","thumbsSwiper","currentIndex","thumbsParams","SwiperClass","thumbsSwiperParams","thumbsToActivate","thumbActiveClass","useOffset","currentThumbsIndex","newThumbsIndex","prevThumbsIndex","nextThumbsIndex","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","minimumVelocity","lastMoveEvent","pop","velocityEvent","momentumDistance","newPosition","doBounce","afterBouncePosition","bounceAmount","needsLoopFix","moveDistance","currentSlideSize","Grid","slidesNumberEvenToRows","slidesPerRow","numFullColumns","newSlideOrderIndex","column","row","groupIndex","slideIndexInGroup","columnsInGroup","order","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","indexToRemove","Manipulation","effectInit","overwriteParams","perspective","recreateShadows","getEffectParams","overwriteParamsResult","slideShadows","requireUpdateOnVirtual","effectTarget","effectParams","transformEl","effectVirtualTransitionEnd","allSlides","eventTriggered","$transitionEndTarget","triggerEvents","EffectFade","fadeEffect","crossFade","tx","ty","slideOpacity","$transitionElements","EffectCube","cubeEffect","shadow","shadowOffset","shadowScale","createSlideShadows","shadowBefore","shadowAfter","wrapperRotate","$cubeShadowEl","slideAngle","tz","shadowAngle","sin","scale1","scale2","zFactor","createShadow","shadowClass","$shadowContainer","$shadowEl","EffectFlip","flipEffect","limitRotation","rotate","rotateY","rotateX","zIndex","EffectCoverflow","coverflowEffect","stretch","depth","modifier","center","centerOffset","offsetMultiplier","translateZ","slideTransform","$shadowBeforeEl","$shadowAfterEl","EffectCreative","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","getTranslateValue","isCenteredSlides","margin","r","custom","translateString","rotateString","scaleString","opacityString","shadowOpacity","EffectCards","cardsEffect","perSlideRotate","perSlideOffset","tX","tY","tZ","tXAdd","isSwipeToNext","isSwipeToPrev","subProgress","prevY"],"mappings":"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"} \ No newline at end of file diff --git a/source/lib/swiper@8.4.6/swiper-bundle.min.css b/source/lib/swiper@8.4.6/swiper-bundle.min.css new file mode 100644 index 0000000..ecd401e --- /dev/null +++ b/source/lib/swiper@8.4.6/swiper-bundle.min.css @@ -0,0 +1,13 @@ +/** + * Swiper 8.4.6 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2023 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: January 17, 2023 + */ + +@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/source/lib/swiper@8.4.6/swiper-bundle.min.js b/source/lib/swiper@8.4.6/swiper-bundle.min.js new file mode 100644 index 0000000..56eef20 --- /dev/null +++ b/source/lib/swiper@8.4.6/swiper-bundle.min.js @@ -0,0 +1,14 @@ +/** + * Swiper 8.4.6 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2023 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: January 17, 2023 + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}class n extends Array{constructor(e){"number"==typeof e?super(e):(super(...e||[]),function(e){const t=e.__proto__;Object.defineProperty(e,"__proto__",{get:()=>t,set(e){t.__proto__=e}})}(this))}}function l(e){void 0===e&&(e=[]);const t=[];return e.forEach((e=>{Array.isArray(e)?t.push(...l(e)):t.push(e)})),t}function o(e,t){return Array.prototype.filter.call(e,t)}function d(e,t){const s=r(),i=a();let l=[];if(!t&&e instanceof n)return e;if(!e)return new n(l);if("string"==typeof e){const s=e.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){let e="div";0===s.indexOf("e.split(" "))));return this.forEach((e=>{e.classList.add(...a)})),this},removeClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));return this.forEach((e=>{e.classList.remove(...a)})),this},hasClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));return o(this,(e=>a.filter((t=>e.classList.contains(t))).length>0)).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));this.forEach((e=>{a.forEach((t=>{e.classList.toggle(t)}))}))},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(let s=0;s=0;e-=1){const i=a[e];r&&i.listener===r||r&&i.listener&&i.listener.dom7proxy&&i.listener.dom7proxy===r?(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1)):r||(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1))}}}return this},trigger:function(){const e=r();for(var t=arguments.length,s=new Array(t),a=0;at>0)),i.dispatchEvent(t),i.dom7EventData=[],delete i.dom7EventData}}}return this},transitionEnd:function(e){const t=this;return e&&t.on("transitionend",(function s(a){a.target===this&&(e.call(this,a),t.off("transitionend",s))})),this},outerWidth:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){const e=r();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){const e=r(),t=a(),s=this[0],i=s.getBoundingClientRect(),n=t.body,l=s.clientTop||n.clientTop||0,o=s.clientLeft||n.clientLeft||0,d=s===e?e.scrollY:s.scrollTop,c=s===e?e.scrollX:s.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}return null},css:function(e,t){const s=r();let a;if(1===arguments.length){if("string"!=typeof e){for(a=0;a{e.apply(t,[t,s])})),this):this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:null;for(let t=0;tt-1)return d([]);if(e<0){const s=t+e;return d(s<0?[]:[this[s]])}return d([this[e]])},append:function(){let e;const t=a();for(let s=0;s=0;i-=1)this[s].insertBefore(a.childNodes[i],this[s].childNodes[0])}else if(e instanceof n)for(i=0;i0?e?this[0].nextElementSibling&&d(this[0].nextElementSibling).is(e)?d([this[0].nextElementSibling]):d([]):this[0].nextElementSibling?d([this[0].nextElementSibling]):d([]):d([])},nextAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.nextElementSibling;){const a=s.nextElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},prev:function(e){if(this.length>0){const t=this[0];return e?t.previousElementSibling&&d(t.previousElementSibling).is(e)?d([t.previousElementSibling]):d([]):t.previousElementSibling?d([t.previousElementSibling]):d([])}return d([])},prevAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.previousElementSibling;){const a=s.previousElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},parent:function(e){const t=[];for(let s=0;s6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function m(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function f(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function g(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;st.indexOf(e)<0));for(let t=0,i=s.length;tn?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}let b,x,y;function E(){return b||(b=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch),passiveListener:function(){let t=!1;try{const s=Object.defineProperty({},"passive",{get(){t=!0}});e.addEventListener("testPassiveListener",null,s)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),b}function C(e){return void 0===e&&(e={}),x||(x=function(e){let{userAgent:t}=void 0===e?{}:e;const s=E(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),h=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!m&&(l.os="android",l.android=!0),(p||h||u)&&(l.os="ios",l.ios=!0),l}(e)),x}function T(){return y||(y=function(){const e=r();return{isSafari:function(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),y}Object.keys(c).forEach((e=>{Object.defineProperty(d.fn,e,{value:c[e],writable:!0})}));var $={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};var S={updateSize:function(){const e=this;let t,s;const a=e.$el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a[0].clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a[0].clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(a.css("padding-left")||0,10)-parseInt(a.css("padding-right")||0,10),s=s-parseInt(a.css("padding-top")||0,10)-parseInt(a.css("padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function s(e,s){return parseFloat(e.getPropertyValue(t(s))||0)}const a=e.params,{$wrapperEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&a.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=i.children(`.${e.params.slideClass}`),p=o?e.virtual.slides.length:c.length;let u=[];const h=[],m=[];let f=a.slidesOffsetBefore;"function"==typeof f&&(f=a.slidesOffsetBefore.call(e));let g=a.slidesOffsetAfter;"function"==typeof g&&(g=a.slidesOffsetAfter.call(e));const w=e.snapGrid.length,b=e.slidesGrid.length;let x=a.spaceBetween,y=-f,E=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0&&(x=parseFloat(x.replace("%",""))/100*r),e.virtualSize=-x,n?c.css({marginLeft:"",marginBottom:"",marginTop:""}):c.css({marginRight:"",marginBottom:"",marginTop:""}),a.centeredSlides&&a.cssMode&&(v(e.wrapperEl,"--swiper-centered-offset-before",""),v(e.wrapperEl,"--swiper-centered-offset-after",""));const T=a.grid&&a.grid.rows>1&&e.grid;let $;T&&e.grid.initSlides(p);const S="auto"===a.slidesPerView&&a.breakpoints&&Object.keys(a.breakpoints).filter((e=>void 0!==a.breakpoints[e].slidesPerView)).length>0;for(let i=0;i1&&u.push(e.virtualSize-r)}if(0===u.length&&(u=[0]),0!==a.spaceBetween){const s=e.isHorizontal()&&n?"marginLeft":t("marginRight");c.filter(((e,t)=>!a.cssMode||t!==c.length-1)).css({[s]:`${x}px`})}if(a.centeredSlides&&a.centeredSlidesBounds){let e=0;m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween;const t=e-r;u=u.map((e=>e<0?-f:e>t?t+g:e))}if(a.centerInsufficientSlides){let e=0;if(m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween,e{u[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:c,snapGrid:u,slidesGrid:h,slidesSizesGrid:m}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){v(e.wrapperEl,"--swiper-centered-offset-before",-u[0]+"px"),v(e.wrapperEl,"--swiper-centered-offset-after",e.size/2-m[m.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),u.length!==w&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset(),!(o||a.cssMode||"slide"!==a.effect&&"fade"!==a.effect)){const t=`${a.containerModifierClass}backface-hidden`,s=e.$el.hasClass(t);p<=a.maxBackfaceHiddenSlides?s||e.$el.addClass(t):s&&e.$el.removeClass(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides.filter((t=>parseInt(t.getAttribute("data-swiper-slide-index"),10)===e))[0]:t.slides.eq(e)[0];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||d([])).each((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&t.$wrapperEl.css("height",`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides;for(let s=0;s=0&&p1&&u<=t.size||p<=0&&u>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e),a.eq(e).addClass(s.slideVisibleClass)),l.progress=i?-d:d,l.originalProgress=i?-c:c}t.visibleSlides=d(t.visibleSlides)},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n}=t;const l=r,o=n;0===a?(i=0,r=!0,n=!0):(i=(e-t.minTranslate())/a,r=i<=0,n=i>=1),Object.assign(t,{progress:i,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!l&&t.emit("reachBeginning toEdge"),n&&!o&&t.emit("reachEnd toEdge"),(l&&!r||o&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,$wrapperEl:a,activeIndex:i,realIndex:r}=e,n=e.virtual&&s.virtual.enabled;let l;t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`),l=n?e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`):t.eq(i),l.addClass(s.slideActiveClass),s.loop&&(l.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));let o=l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);s.loop&&0===o.length&&(o=t.eq(0),o.addClass(s.slideNextClass));let d=l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);s.loop&&0===d.length&&(d=t.eq(-1),d.addClass(s.slidePrevClass)),s.loop&&(o.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass),d.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{slidesGrid:a,snapGrid:i,params:r,activeIndex:n,realIndex:l,snapIndex:o}=t;let d,c=e;if(void 0===c){for(let e=0;e=a[e]&&s=a[e]&&s=a[e]&&(c=e);r.normalizeSlideIndex&&(c<0||void 0===c)&&(c=0)}if(i.indexOf(s)>=0)d=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,c);d=e+Math.floor((c-e)/r.slidesPerGroup)}if(d>=i.length&&(d=i.length-1),c===n)return void(d!==o&&(t.snapIndex=d,t.emit("snapIndexChange")));const p=parseInt(t.slides.eq(c).attr("data-swiper-slide-index")||c,10);Object.assign(t,{snapIndex:d,realIndex:p,previousIndex:n,activeIndex:c}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),l!==p&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=d(e).closest(`.${s.slideClass}`)[0];let i,r=!1;if(a)for(let e=0;eo?o:a&&en?"next":r=o.length&&(g=o.length-1);const v=-o[g];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&vr.translate&&v>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(v),b=n>p?"next":n{r.wrapperEl.style.scrollSnapType="",r._swiperImmediateVirtual=!1}))}else{if(!r.support.smoothScroll)return w({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(v),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e){const t=parseInt(e,10);if(!isFinite(t))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);e=t}const i=this;let r=e;return i.params.loop&&(r+=i.loopedSlides),i.slideTo(r,t,s,a)},slideNext:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{animating:i,enabled:r,params:n}=a;if(!r)return a;let l=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndexc(e)));let h=n[u.indexOf(p)-1];if(void 0===h&&i.cssMode){let e;n.forEach(((t,s)=>{p>=t&&(e=s)})),void 0!==e&&(h=n[e>0?e-1:e])}let m=0;if(void 0!==h&&(m=l.indexOf(h),m<0&&(m=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(m=m-a.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return a.slideTo(m,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,$wrapperEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;if(t.loop){if(e.animating)return;i=parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var z={loopCreate:function(){const e=this,t=a(),{params:s,$wrapperEl:i}=e,r=i.children().length>0?d(i.children()[0].parentNode):i;r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();let n=r.children(`.${s.slideClass}`);if(s.loopFillGroupWithBlank){const e=s.slidesPerGroup-n.length%s.slidesPerGroup;if(e!==s.slidesPerGroup){for(let a=0;an.length&&e.params.loopedSlidesLimit&&(e.loopedSlides=n.length);const l=[],o=[];n.each(((e,t)=>{d(e).attr("data-swiper-slide-index",t)}));for(let t=0;t=0;e-=1)r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))},loopFix:function(){const e=this;e.emit("beforeLoopFix");const{activeIndex:t,slides:s,loopedSlides:a,allowSlidePrev:i,allowSlideNext:r,snapGrid:n,rtlTranslate:l}=e;let o;e.allowSlidePrev=!0,e.allowSlideNext=!0;const d=-n[t]-e.getTranslate();if(t=s.length-a){o=-s.length+t+a,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}e.allowSlidePrev=i,e.allowSlideNext=r,e.emit("loopFix")},loopDestroy:function(){const{$wrapperEl:e,params:t,slides:s}=this;e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(),s.removeAttr("data-swiper-slide-index")}};function L(e){const t=this,s=a(),i=r(),n=t.touchEventsData,{params:l,touches:o,enabled:c}=t;if(!c)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=e;p.originalEvent&&(p=p.originalEvent);let h=d(p.target);if("wrapper"===l.touchEventsTarget&&!h.closest(t.wrapperEl).length)return;if(n.isTouchEvent="touchstart"===p.type,!n.isTouchEvent&&"which"in p&&3===p.which)return;if(!n.isTouchEvent&&"button"in p&&p.button>0)return;if(n.isTouched&&n.isMoved)return;const m=!!l.noSwipingClass&&""!==l.noSwipingClass,f=e.composedPath?e.composedPath():e.path;m&&p.target&&p.target.shadowRoot&&f&&(h=d(f[0]));const g=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,v=!(!p.target||!p.target.shadowRoot);if(l.noSwiping&&(v?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(g,h[0]):h.closest(g)[0]))return void(t.allowClick=!0);if(l.swipeHandler&&!h.closest(l.swipeHandler)[0])return;o.currentX="touchstart"===p.type?p.targetTouches[0].pageX:p.pageX,o.currentY="touchstart"===p.type?p.targetTouches[0].pageY:p.pageY;const w=o.currentX,b=o.currentY,x=l.edgeSwipeDetection||l.iOSEdgeSwipeDetection,y=l.edgeSwipeThreshold||l.iOSEdgeSwipeThreshold;if(x&&(w<=y||w>=i.innerWidth-y)){if("prevent"!==x)return;e.preventDefault()}if(Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=w,o.startY=b,n.touchStartTime=u(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1),"touchstart"!==p.type){let e=!0;h.is(n.focusableElements)&&(e=!1,"SELECT"===h[0].nodeName&&(n.isTouched=!1)),s.activeElement&&d(s.activeElement).is(n.focusableElements)&&s.activeElement!==h[0]&&s.activeElement.blur();const a=e&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!a||h[0].isContentEditable||p.preventDefault()}t.params.freeMode&&t.params.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",p)}function O(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:o}=s;if(!o)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",c));if(i.isTouchEvent&&"touchmove"!==c.type)return;const p="touchmove"===c.type&&c.targetTouches&&(c.targetTouches[0]||c.changedTouches[0]),h="touchmove"===c.type?p.pageX:c.pageX,m="touchmove"===c.type?p.pageY:c.pageY;if(c.preventedByNestedSwiper)return n.startX=h,void(n.startY=m);if(!s.allowTouchMove)return d(c.target).is(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:h,startY:m,currentX:h,currentY:m}),i.touchStartTime=u()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(hn.startX&&s.translate>=s.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&c.target===t.activeElement&&d(c.target).is(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",c),c.targetTouches&&c.targetTouches.length>1)return;n.currentX=h,n.currentY=m;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",c),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation(),i.isMoved||(r.loop&&!r.cssMode&&s.loopFix(),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating&&s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)),s.emit("sliderMove",c),i.isMoved=!0;let v=s.isHorizontal()?f:g;n.diff=v,v*=r.touchRatio,l&&(v=-v),s.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;let w=!0,b=r.resistanceRatio;if(r.touchReleaseOnEdges&&(b=0),v>0&&i.currentTranslate>s.minTranslate()?(w=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**b)):v<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),s.params.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function I(e){const t=this,s=t.touchEventsData,{params:a,touches:i,rtlTranslate:r,slidesGrid:n,enabled:l}=t;if(!l)return;let o=e;if(o.originalEvent&&(o=o.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",o),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&a.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);a.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const d=u(),c=d-s.touchStartTime;if(t.allowClick){const e=o.path||o.composedPath&&o.composedPath();t.updateClickedSlide(e&&e[0]||o.target),t.emit("tap click",o),c<300&&d-s.lastClickTime<300&&t.emit("doubleTap doubleClick",o)}if(s.lastClickTime=u(),p((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===i.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=a.followFinger?r?t.translate:-t.translate:-s.currentTranslate,a.cssMode)return;if(t.params.freeMode&&a.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let m=0,f=t.slidesSizesGrid[0];for(let e=0;e=n[e]&&h=n[e]&&(m=e,f=n[n.length-1]-n[n.length-2])}let g=null,v=null;a.rewind&&(t.isBeginning?v=t.params.virtual&&t.params.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(g=0));const w=(h-n[m])/f,b=ma.longSwipesMs){if(!a.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(w>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?g:m+b):t.slideTo(m)),"prev"===t.swipeDirection&&(w>1-a.longSwipesRatio?t.slideTo(m+b):null!==v&&w<0&&Math.abs(w)>a.longSwipesRatio?t.slideTo(v):t.slideTo(m))}else{if(!a.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(o.target===t.navigation.nextEl||o.target===t.navigation.prevEl)?o.target===t.navigation.nextEl?t.slideTo(m+b):t.slideTo(m):("next"===t.swipeDirection&&t.slideTo(null!==g?g:m+b),"prev"===t.swipeDirection&&t.slideTo(null!==v?v:m))}}function A(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function D(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function G(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}let N=!1;function B(){}const H=(e,t)=>{const s=a(),{params:i,touchEvents:r,el:n,wrapperEl:l,device:o,support:d}=e,c=!!i.nested,p="on"===t?"addEventListener":"removeEventListener",u=t;if(d.touch){const t=!("touchstart"!==r.start||!d.passiveListener||!i.passiveListeners)&&{passive:!0,capture:!1};n[p](r.start,e.onTouchStart,t),n[p](r.move,e.onTouchMove,d.passiveListener?{passive:!1,capture:c}:c),n[p](r.end,e.onTouchEnd,t),r.cancel&&n[p](r.cancel,e.onTouchEnd,t)}else n[p](r.start,e.onTouchStart,!1),s[p](r.move,e.onTouchMove,c),s[p](r.end,e.onTouchEnd,!1);(i.preventClicks||i.preventClicksPropagation)&&n[p]("click",e.onClick,!0),i.cssMode&&l[p]("scroll",e.onScroll),i.updateOnWindowResize?e[u](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",A,!0):e[u]("observerUpdate",A,!0)};var X={attachEvents:function(){const e=this,t=a(),{params:s,support:i}=e;e.onTouchStart=L.bind(e),e.onTouchMove=O.bind(e),e.onTouchEnd=I.bind(e),s.cssMode&&(e.onScroll=G.bind(e)),e.onClick=D.bind(e),i.touch&&!N&&(t.addEventListener("touchstart",B),N=!0),H(e,"on")},detachEvents:function(){H(this,"off")}};const Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var R={addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,$el:i,device:r,support:n}=e,l=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"pointer-events":!n.touch},{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...l),i.addClass([...t].join(" ")),e.emitContainerClasses()},removeClasses:function(){const{$el:e,classNames:t}=this;e.removeClass(t.join(" ")),this.emitContainerClasses()}};var W={init:!0,direction:"horizontal",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopedSlidesLimit:!0,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function q(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),g(t,s)):g(t,s)):g(t,s)}}const j={eventsEmitter:$,update:S,translate:M,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||s.$wrapperEl.transition(e),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),P({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),P({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:k,loop:z,grabCursor:{setGrabCursor:function(e){const t=this;if(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;s.style.cursor="move",s.style.cursor=e?"grabbing":"grab"},unsetGrabCursor:function(){const e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="")}},events:X,breakpoints:{setBreakpoint:function(){const e=this,{activeIndex:t,initialized:s,loopedSlides:a=0,params:i,$el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!l||e.currentBreakpoint===l)return;const o=(l in n?n[l]:void 0)||e.originalParams,d=Y(e,i),c=Y(e,o),p=i.enabled;d&&!c?(r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!d&&c&&(r.addClass(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.addClass(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{const s=i[t]&&i[t].enabled,a=o[t]&&o[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const u=o.direction&&o.direction!==i.direction,h=i.loop&&(o.slidesPerView!==i.slidesPerView||u);u&&s&&e.changeDirection(),g(e.params,o);const m=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),p&&!m?e.disable():!p&&m&&e.enable(),e.currentBreakpoint=l,e.emit("_beforeBreakpoint",o),h&&s&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-a+e.loopedSlides,0,!1)),e.emit("breakpoint",o)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:R,images:{loadImage:function(e,t,s,a,i,n){const l=r();let o;function c(){n&&n()}d(e).parent("picture")[0]||e.complete&&i?c():t?(o=new l.Image,o.onload=c,o.onerror=c,a&&(o.sizes=a),s&&(o.srcset=s),t&&(o.src=t)):c()},preloadImages:function(){const e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(let s=0;s1){const e=[];return d(t.el).each((s=>{const a=g({},t,{el:s});e.push(new V(a))})),e}const r=this;r.__swiper__=!0,r.support=E(),r.device=C({userAgent:t.userAgent}),r.browser=T(),r.eventsListeners={},r.eventsAnyListeners=[],r.modules=[...r.__modules__],t.modules&&Array.isArray(t.modules)&&r.modules.push(...t.modules);const n={};r.modules.forEach((e=>{e({swiper:r,extendParams:q(t,n),on:r.on.bind(r),once:r.once.bind(r),off:r.off.bind(r),emit:r.emit.bind(r)})}));const l=g({},W,n);return r.params=g({},l,_,t),r.originalParams=g({},r.params),r.passedParams=g({},t),r.params&&r.params.on&&Object.keys(r.params.on).forEach((e=>{r.on(e,r.params.on[e])})),r.params&&r.params.onAny&&r.onAny(r.params.onAny),r.$=d,Object.assign(r,{enabled:r.params.enabled,el:e,classNames:[],slides:d(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===r.params.direction,isVertical:()=>"vertical"===r.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:r.params.allowSlideNext,allowSlidePrev:r.params.allowSlidePrev,touchEvents:function(){const e=["touchstart","touchmove","touchend","touchcancel"],t=["pointerdown","pointermove","pointerup"];return r.touchEventsTouch={start:e[0],move:e[1],end:e[2],cancel:e[3]},r.touchEventsDesktop={start:t[0],move:t[1],end:t[2]},r.support.touch||!r.params.simulateTouch?r.touchEventsTouch:r.touchEventsDesktop}(),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:r.params.focusableElements,lastClickTime:u(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:r.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),r.emit("_swiper"),r.params.init&&r.init(),r}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.each((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l].swiperSlideSize;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),i||a()),s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.each((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.$el.addClass(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.$el.removeClass(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;const s=d(e||t.params.el);if(!(e=s[0]))return!1;e.swiper=t;const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(e&&e.shadowRoot&&e.shadowRoot.querySelector){const t=d(e.shadowRoot.querySelector(i()));return t.children=e=>s.children(e),t}return s.children?s.children(i()):d(s).children(i())})();if(0===r.length&&t.params.createElements){const e=a().createElement("div");r=d(e),e.className=t.params.wrapperClass,s.append(e),s.children(`.${t.params.slideClass}`).each((e=>{r.append(e)}))}return Object.assign(t,{$el:s,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.params.loop?t.slideTo(t.params.initialSlide+t.loopedSlides,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,$el:i,$wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.$el[0].swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){g(_,e)}static get extendedDefaults(){return _}static get defaults(){return W}static installModule(e){V.prototype.__modules__||(V.prototype.__modules__=[]);const t=V.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>V.installModule(e))),V):(V.installModule(e),V)}}function F(e,t,s,i){const r=a();return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let n=e.$el.children(`.${i[a]}`)[0];n||(n=r.createElement("div"),n.className=i[a],e.$el.append(n)),s[a]=n,t[a]=n}})),s}function U(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`}function K(e){const t=this,{$wrapperEl:s,params:a}=t;if(a.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides.eq(t);e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else a.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.each((e=>{s.$(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").remove()})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function se(e,t){return e.transformEl?t.find(e.transformEl).css({"backface-visibility":"hidden","-webkit-backface-visibility":"hidden"}):t}function ae(e){let{swiper:t,duration:s,transformEl:a,allSlides:i}=e;const{slides:r,activeIndex:n,$wrapperEl:l}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a?r.find(a):r:a?r.eq(n).find(a):r.eq(n),e.transitionEnd((()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=["webkitTransitionEnd","transitionend"];for(let t=0;t`),i.append(r)),r}Object.keys(j).forEach((e=>{Object.keys(j[e]).forEach((t=>{V.prototype[t]=j[e][t]}))})),V.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,t){void 0===t&&(t={});const s=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(1===e.length)return void i("observerUpdate",e[0]);const t=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(t):l.setTimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),n.push(s)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=t.$el.parents();for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const re=[function(e){let t,{swiper:s,extendParams:a,on:i,emit:r}=e;function n(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];const i=a.renderSlide?d(a.renderSlide.call(s,e,t)):d(`
    ${e}
    `);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",t),a.cache&&(s.virtual.cache[t]=i),i}function l(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:d,to:c,slides:p,slidesGrid:u,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const m=s.activeIndex||0;let f,g,v;f=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(g=Math.floor(t/2)+a+o,v=Math.floor(t/2)+a+l):(g=t+(a-1)+o,v=a+l);const w=Math.max((m||0)-v,0),b=Math.min((m||0)+g,p.length-1),x=(s.slidesGrid[w]||0)-(s.slidesGrid[0]||0);function y(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),s.lazy&&s.params.lazy.enabled&&s.lazy.load(),r("virtualUpdate")}if(Object.assign(s.virtual,{from:w,to:b,offset:x,slidesGrid:s.slidesGrid}),d===w&&c===b&&!e)return s.slidesGrid!==u&&x!==h&&s.slides.css(f,`${x}px`),s.updateProgress(),void r("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:w,to:b,slides:function(){const e=[];for(let t=w;t<=b;t+=1)e.push(p[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?y():r("virtualUpdate"));const E=[],C=[];if(e)s.$wrapperEl.find(`.${s.params.slideClass}`).remove();else for(let e=d;e<=c;e+=1)(eb)&&s.$wrapperEl.find(`.${s.params.slideClass}[data-swiper-slide-index="${e}"]`).remove();for(let t=0;t=w&&t<=b&&(void 0===c||e?C.push(t):(t>c&&C.push(t),t{s.$wrapperEl.append(n(p[e],e))})),E.sort(((e,t)=>t-e)).forEach((e=>{s.$wrapperEl.prepend(n(p[e],e))})),s.$wrapperEl.children(".swiper-slide").css(f,`${x}px`),y()}a({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}}),s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]},i("beforeInit",(()=>{s.params.virtual.enabled&&(s.virtual.slides=s.params.virtual.slides,s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,s.params.initialSlide||l())})),i("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{l()}),100)):l())})),i("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&v(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const a=e[s],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}l(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.virtual.slides.splice(e[a],1),s.params.virtual.cache&&delete s.virtual.cache[e[a]],e[a]0&&0===t.$el.parents(`.${t.params.slideActiveClass}`).length)return;const a=t.$el,i=a[0].clientWidth,r=a[0].clientHeight,n=o.innerWidth,l=o.innerHeight,d=t.$el.offset();s&&(d.left-=t.$el[0].scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||h||m)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||m)&&t.slideNext(),(d||h)&&t.slidePrev()),n("keyPress",i)}}function p(){t.keyboard.enabled||(d(l).on("keydown",c),t.keyboard.enabled=!0)}function u(){t.keyboard.enabled&&(d(l).off("keydown",c),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&p()})),i("destroy",(()=>{t.keyboard.enabled&&u()})),Object.assign(t.keyboard,{enable:p,disable:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let l;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}}),t.mousewheel={enabled:!1};let o,c=u();const h=[];function m(){t.enabled&&(t.mouseEntered=!0)}function f(){t.enabled&&(t.mouseEntered=!1)}function g(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&u()-c<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),c=(new n.Date).getTime(),!1)))}function v(e){let s=e,a=!0;if(!t.enabled)return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.$el;if("container"!==t.params.mousewheel.eventsTarget&&(n=d(t.params.mousewheel.eventsTarget)),!t.mouseEntered&&!n[0].contains(s.target)&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let c=0;const m=t.rtlTranslate?-1:1,f=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(f.pixelX)>Math.abs(f.pixelY)))return!0;c=-f.pixelX*m}else{if(!(Math.abs(f.pixelY)>Math.abs(f.pixelX)))return!0;c=-f.pixelY}else c=Math.abs(f.pixelX)>Math.abs(f.pixelY)?-f.pixelX*m:-f.pixelY;if(0===c)return!0;r.invert&&(c=-c);let v=t.getTranslate()+c*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:u(),delta:Math.abs(c),direction:Math.sign(c)},a=o&&e.time=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!d&&t.isBeginning||!u&&t.isEnd)&&t.updateSlidesClasses(),t.params.freeMode.sticky){clearTimeout(l),l=void 0,h.length>=15&&h.shift();const s=h.length?h[h.length-1]:void 0,a=h[0];if(h.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))h.splice(0);else if(h.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=c>0?.8:.2;o=e,h.splice(0),l=p((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}l||(l=p((()=>{o=e,h.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),n===t.minTranslate()||n===t.maxTranslate())return!0}}else{const s={time:u(),delta:Math.abs(c),direction:Math.sign(c),raw:e};h.length>=2&&h.shift();const a=h.length?h[h.length-1]:void 0;if(h.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&g(s):g(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function w(e){let s=t.$el;"container"!==t.params.mousewheel.eventsTarget&&(s=d(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",f),s[e]("wheel",v)}function b(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",v),!0):!t.mousewheel.enabled&&(w("on"),t.mousewheel.enabled=!0,!0)}function x(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,v),!0):!!t.mousewheel.enabled&&(w("off"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&x(),t.params.mousewheel.enabled&&b()})),a("destroy",(()=>{t.params.cssMode&&b(),t.mousewheel.enabled&&x()})),Object.assign(t.mousewheel,{enable:b,disable:x})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&(s=d(e),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.$el.find(e).length&&(s=t.$el.find(e))),s}function n(e,s){const a=t.params.navigation;e&&e.length>0&&(e[s?"addClass":"removeClass"](a.disabledClass),e[0]&&"BUTTON"===e[0].tagName&&(e[0].disabled=s),t.params.watchOverflow&&t.enabled&&e[t.isLocked?"addClass":"removeClass"](a.lockClass))}function l(){if(t.params.loop)return;const{$nextEl:e,$prevEl:s}=t.navigation;n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=F(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;const s=r(e.nextEl),a=r(e.prevEl);s&&s.length>0&&s.on("click",c),a&&a.length>0&&a.on("click",o),Object.assign(t.navigation,{$nextEl:s,nextEl:s&&s[0],$prevEl:a,prevEl:a&&a[0]}),t.enabled||(s&&s.addClass(e.lockClass),a&&a.addClass(e.lockClass))}function u(){const{$nextEl:e,$prevEl:s}=t.navigation;e&&e.length&&(e.off("click",c),e.removeClass(t.params.navigation.disabledClass)),s&&s.length&&(s.off("click",o),s.removeClass(t.params.navigation.disabledClass))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?h():(p(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{const{$nextEl:e,$prevEl:s}=t.navigation;e&&e[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),s&&s[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)})),a("click",((e,s)=>{const{$nextEl:a,$prevEl:r}=t.navigation,n=s.target;if(t.params.navigation.hideOnClick&&!d(n).is(r)&&!d(n).is(a)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a?e=a.hasClass(t.params.navigation.hiddenClass):r&&(e=r.hasClass(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),a&&a.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}));const h=()=>{t.$el.addClass(t.params.navigation.navigationDisabledClass),u()};Object.assign(t.navigation,{enable:()=>{t.$el.removeClass(t.params.navigation.navigationDisabledClass),p(),l()},disable:h,update:l,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,$el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||!t.pagination.$el||0===t.pagination.$el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;const a=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,r=t.pagination.$el;let p;const u=t.params.loop?Math.ceil((a-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(p=Math.ceil((t.activeIndex-t.loopedSlides)/t.params.slidesPerGroup),p>a-1-2*t.loopedSlides&&(p-=a-2*t.loopedSlides),p>u-1&&(p-=u),p<0&&"bullets"!==t.params.paginationType&&(p=u+p)):p=void 0!==t.snapIndex?t.snapIndex:t.activeIndex||0,"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let i,o,u;if(s.dynamicBullets&&(n=a.eq(0)[t.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(t.isHorizontal()?"width":"height",n*(s.dynamicMainBullets+4)+"px"),s.dynamicMainBullets>1&&void 0!==t.previousIndex&&(l+=p-(t.previousIndex-t.loopedSlides||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),i=Math.max(p-l,0),o=i+(Math.min(a.length,s.dynamicMainBullets)-1),u=(o+i)/2),a.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`)).join(" ")),r.length>1)a.each((e=>{const t=d(e),a=t.index();a===p&&t.addClass(s.bulletActiveClass),s.dynamicBullets&&(a>=i&&a<=o&&t.addClass(`${s.bulletActiveClass}-main`),a===i&&c(t,"prev"),a===o&&c(t,"next"))}));else{const e=a.eq(p),r=e.index();if(e.addClass(s.bulletActiveClass),s.dynamicBullets){const e=a.eq(i),n=a.eq(o);for(let e=i;e<=o;e+=1)a.eq(e).addClass(`${s.bulletActiveClass}-main`);if(t.params.loop)if(r>=a.length){for(let e=s.dynamicMainBullets;e>=0;e-=1)a.eq(a.length-e).addClass(`${s.bulletActiveClass}-main`);a.eq(a.length-s.dynamicMainBullets-1).addClass(`${s.bulletActiveClass}-prev`)}else c(e,"prev"),c(n,"next");else c(e,"prev"),c(n,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.css(t.isHorizontal()?l:"top",`${r}px`)}}if("fraction"===s.type&&(r.find(U(s.currentClass)).text(s.formatFractionCurrent(p+1)),r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),"progressbar"===s.type){let e;e=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const a=(p+1)/u;let i=1,n=1;"horizontal"===e?i=a:n=a,r.find(U(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${n})`).transition(t.params.speed)}"custom"===s.type&&s.renderCustom?(r.html(s.renderCustom(t,p+1,u)),i("paginationRender",r[0])):i("paginationUpdate",r[0]),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](s.lockClass)}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,a=t.pagination.$el;let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil((s-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&!t.params.loop&&i>s&&(i=s);for(let s=0;s`;a.html(r),t.pagination.bullets=a.find(U(e.bulletClass))}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `,a.html(r)),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``,a.html(r)),"custom"!==e.type&&i("paginationRender",t.pagination.$el[0])}function h(){t.params.pagination=F(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s=d(e.el);0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&s.length>1&&(s=t.$el.find(e.el),s.length>1&&(s=s.filter((e=>d(e).parents(".swiper")[0]===t.el)))),"bullets"===e.type&&e.clickable&&s.addClass(e.clickableClass),s.addClass(e.modifierClass+e.type),s.addClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.addClass(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.addClass(e.progressbarOppositeClass),e.clickable&&s.on("click",U(e.bulletClass),(function(e){e.preventDefault();let s=d(this).index()*t.params.slidesPerGroup;t.params.loop&&(s+=t.loopedSlides),t.slideTo(s)})),Object.assign(t.pagination,{$el:s,el:s[0]}),t.enabled||s.addClass(e.lockClass))}function m(){const e=t.params.pagination;if(o())return;const s=t.pagination.$el;s.removeClass(e.hiddenClass),s.removeClass(e.modifierClass+e.type),s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.pagination.bullets&&t.pagination.bullets.removeClass&&t.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&s.off("click",U(e.bulletClass))}a("init",(()=>{!1===t.params.pagination.enabled?f():(h(),u(),p())})),a("activeIndexChange",(()=>{(t.params.loop||void 0===t.snapIndex)&&p()})),a("snapIndexChange",(()=>{t.params.loop||p()})),a("slidesLengthChange",(()=>{t.params.loop&&(u(),p())})),a("snapGridLengthChange",(()=>{t.params.loop||(u(),p())})),a("destroy",(()=>{m()})),a("enable disable",(()=>{const{$el:e}=t.pagination;e&&e[t.enabled?"removeClass":"addClass"](t.params.pagination.lockClass)})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,{$el:r}=t.pagination;if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!d(a).hasClass(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r.hasClass(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.toggleClass(t.params.pagination.hiddenClass)}}));const f=()=>{t.$el.addClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.addClass(t.params.pagination.paginationDisabledClass),m()};Object.assign(t.pagination,{enable:()=>{t.$el.removeClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.removeClass(t.params.pagination.paginationDisabledClass),h(),u(),p()},disable:f,render:u,update:p,init:h,destroy:m})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const n=a();let l,o,c,u,h=!1,m=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s,progress:a}=t,{$dragEl:i,$el:r}=e,n=t.params.scrollbar;let l=o,d=(c-o)*a;s?(d=-d,d>0?(l=o-d,d=0):-d+o>c&&(l=c+d)):d<0?(l=o+d,d=0):d+o>c&&(l=c-d),t.isHorizontal()?(i.transform(`translate3d(${d}px, 0, 0)`),i[0].style.width=`${l}px`):(i.transform(`translate3d(0px, ${d}px, 0)`),i[0].style.height=`${l}px`),n.hide&&(clearTimeout(m),r[0].style.opacity=1,m=setTimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function v(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{$dragEl:s,$el:a}=e;s[0].style.width="",s[0].style.height="",c=t.isHorizontal()?a[0].offsetWidth:a[0].offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),o="auto"===t.params.scrollbar.dragSize?c*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s[0].style.width=`${o}px`:s[0].style.height=`${o}px`,a[0].style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a[0].style.opacity=0),t.params.watchOverflow&&t.enabled&&e.$el[t.isLocked?"addClass":"removeClass"](t.params.scrollbar.lockClass)}function w(e){return t.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY}function b(e){const{scrollbar:s,rtlTranslate:a}=t,{$el:i}=s;let r;r=(w(e)-i.offset()[t.isHorizontal()?"left":"top"]-(null!==l?l:o/2))/(c-o),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n,$dragEl:o}=a;h=!0,l=e.target===o[0]||e.target===o?w(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.transition(100),o.transition(100),b(e),clearTimeout(f),n.transition(0),s.hide&&n.css("opacity",1),t.params.cssMode&&t.$wrapperEl.css("scroll-snap-type","none"),r("scrollbarDragStart",e)}function y(e){const{scrollbar:s,$wrapperEl:a}=t,{$el:i,$dragEl:n}=s;h&&(e.preventDefault?e.preventDefault():e.returnValue=!1,b(e),a.transition(0),i.transition(0),n.transition(0),r("scrollbarDragMove",e))}function E(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n}=a;h&&(h=!1,t.params.cssMode&&(t.$wrapperEl.css("scroll-snap-type",""),i.transition("")),s.hide&&(clearTimeout(f),f=p((()=>{n.css("opacity",0),n.transition(400)}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,touchEventsTouch:a,touchEventsDesktop:i,params:r,support:l}=t,o=s.$el;if(!o)return;const d=o[0],c=!(!l.passiveListener||!r.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!r.passiveListeners)&&{passive:!0,capture:!1};if(!d)return;const u="on"===e?"addEventListener":"removeEventListener";l.touch?(d[u](a.start,x,c),d[u](a.move,y,c),d[u](a.end,E,p)):(d[u](i.start,x,c),n[u](i.move,y,c),n[u](i.end,E,p))}function T(){const{scrollbar:e,$el:s}=t;t.params.scrollbar=F(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i=d(a.el);t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el)),i.addClass(t.isHorizontal()?a.horizontalClass:a.verticalClass);let r=i.find(`.${t.params.scrollbar.dragClass}`);0===r.length&&(r=d(`
    `),i.append(r)),Object.assign(e,{$el:i,el:i[0],$dragEl:r,dragEl:r[0]}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)}function $(){const e=t.params.scrollbar,s=t.scrollbar.$el;s&&s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?S():(T(),v(),g())})),i("update resize observerUpdate lock unlock",(()=>{v()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&t.scrollbar.$dragEl.transition(e)}(s)})),i("enable disable",(()=>{const{$el:e}=t.scrollbar;e&&e[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)})),i("destroy",(()=>{$()}));const S=()=>{t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),$()};Object.assign(t.scrollbar,{enable:()=>{t.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),T(),v(),g()},disable:S,updateSize:v,setTranslate:g,init:T,destroy:$})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i=(e,s)=>{const{rtl:a}=t,i=d(e),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const c=i.attr("data-swiper-parallax-scale"),p=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):t.isHorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexOf("%")>=0?parseInt(l,10)*s*r+"%":l*s*r+"px",o=o.indexOf("%")>=0?parseInt(o,10)*s+"%":o*s+"px",null!=p){const e=p-(p-1)*(1-Math.abs(s));i[0].style.opacity=e}if(null==c)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=c-(c-1)*(1-Math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},r=()=>{const{$el:e,slides:s,progress:a,snapGrid:r}=t;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,a)})),s.each(((e,s)=>{let n=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(n+=Math.ceil(s/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),d(e).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,n)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&r()})),a("setTranslate",(()=>{t.params.parallax.enabled&&r()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{$el:s}=t;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((t=>{const s=d(t);let a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c,p=1,u=!1;const m={$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},f={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v=1;function w(e){if(e.targetTouches.length<2)return 1;const t=e.targetTouches[0].pageX,s=e.targetTouches[0].pageY,a=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt((a-t)**2+(i-s)**2)}function b(e){const s=t.support,a=t.params.zoom;if(o=!1,c=!1,!s.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;o=!0,m.scaleStart=w(e)}m.$slideEl&&m.$slideEl.length||(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`),0===m.$slideEl.length&&(m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`),m.maxRatio=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,0!==m.$imageWrapEl.length)?(m.$imageEl&&m.$imageEl.transition(0),u=!0):m.$imageEl=void 0}function x(e){const s=t.support,a=t.params.zoom,i=t.zoom;if(!s.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;c=!0,m.scaleMove=w(e)}m.$imageEl&&0!==m.$imageEl.length?(s.gestures?i.scale=e.scale*p:i.scale=m.scaleMove/m.scaleStart*p,i.scale>m.maxRatio&&(i.scale=m.maxRatio-1+(i.scale-m.maxRatio+1)**.5),i.scalef.touchesStart.x))return void(f.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(f.minY)===Math.floor(f.startY)&&f.touchesCurrent.yf.touchesStart.y))return void(f.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),f.isMoved=!0,f.currentX=f.touchesCurrent.x-f.touchesStart.x+f.startX,f.currentY=f.touchesCurrent.y-f.touchesStart.y+f.startY,f.currentXf.maxX&&(f.currentX=f.maxX-1+(f.currentX-f.maxX+1)**.8),f.currentYf.maxY&&(f.currentY=f.maxY-1+(f.currentY-f.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=f.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=f.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(f.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(f.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(f.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(f.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=f.touchesCurrent.x,g.prevPositionY=f.touchesCurrent.y,g.prevTime=Date.now(),m.$imageWrapEl.transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}}function C(){const e=t.zoom;m.$slideEl&&t.previousIndex!==t.activeIndex&&(m.$imageEl&&m.$imageEl.transform("translate3d(0,0,0) scale(1)"),m.$imageWrapEl&&m.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,p=1,m.$slideEl=void 0,m.$imageEl=void 0,m.$imageWrapEl=void 0)}function T(e){const s=t.zoom,a=t.params.zoom;if(m.$slideEl||(e&&e.target&&(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`)),m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`)),!m.$imageEl||0===m.$imageEl.length||!m.$imageWrapEl||0===m.$imageWrapEl.length)return;let i,r,l,o,c,u,h,g,v,w,b,x,y,E,C,T,$,S;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.$slideEl.addClass(`${a.zoomedSlideClass}`),void 0===f.touchesStart.x&&e?(i="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,r="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(i=f.touchesStart.x,r=f.touchesStart.y),s.scale=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,p=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,e?($=m.$slideEl[0].offsetWidth,S=m.$slideEl[0].offsetHeight,l=m.$slideEl.offset().left+n.scrollX,o=m.$slideEl.offset().top+n.scrollY,c=l+$/2-i,u=o+S/2-r,v=m.$imageEl[0].offsetWidth,w=m.$imageEl[0].offsetHeight,b=v*s.scale,x=w*s.scale,y=Math.min($/2-b/2,0),E=Math.min(S/2-x/2,0),C=-y,T=-E,h=c*s.scale,g=u*s.scale,hC&&(h=C),gT&&(g=T)):(h=0,g=0),m.$imageWrapEl.transition(300).transform(`translate3d(${h}px, ${g}px,0)`),m.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function $(){const e=t.zoom,s=t.params.zoom;m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex),m.$imageEl=m.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${s.containerClass}`)),m.$imageEl&&0!==m.$imageEl.length&&m.$imageWrapEl&&0!==m.$imageWrapEl.length&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,p=1,m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),m.$slideEl.removeClass(`${s.zoomedSlideClass}`),m.$slideEl=void 0)}function S(e){const s=t.zoom;s.scale&&1!==s.scale?$():T(e)}function M(){const e=t.support;return{passiveListener:!("touchstart"!==t.touchEvents.start||!e.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1},activeListenerWithCapture:!e.passiveListener||{passive:!1,capture:!0}}}function P(){return`.${t.params.slideClass}`}function k(e){const{passiveListener:s}=M(),a=P();t.$wrapperEl[e]("gesturestart",a,b,s),t.$wrapperEl[e]("gesturechange",a,x,s),t.$wrapperEl[e]("gestureend",a,y,s)}function z(){l||(l=!0,k("on"))}function L(){l&&(l=!1,k("off"))}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const s=t.support,{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.on(t.touchEvents.start,z,a),t.$wrapperEl.on(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.on(t.touchEvents.start,r,b,a),t.$wrapperEl.on(t.touchEvents.move,r,x,i),t.$wrapperEl.on(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.on(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.on(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}function I(){const e=t.zoom;if(!e.enabled)return;const s=t.support;e.enabled=!1;const{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.off(t.touchEvents.start,z,a),t.$wrapperEl.off(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.off(t.touchEvents.start,r,b,a),t.$wrapperEl.off(t.touchEvents.move,r,x,i),t.$wrapperEl.off(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.off(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.off(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}Object.defineProperty(t.zoom,"scale",{get:()=>v,set(e){if(v!==e){const t=m.$imageEl?m.$imageEl[0]:void 0,s=m.$slideEl?m.$slideEl[0]:void 0;i("zoomChange",e,t,s)}v=e}}),a("init",(()=>{t.params.zoom.enabled&&O()})),a("destroy",(()=>{I()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;m.$imageEl&&0!==m.$imageEl.length&&(f.isTouched||(s.android&&e.cancelable&&e.preventDefault(),f.isTouched=!0,f.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(!f.isTouched||!f.isMoved)return f.isTouched=!1,void(f.isMoved=!1);f.isTouched=!1,f.isMoved=!1;let s=300,a=300;const i=g.x*s,r=f.currentX+i,n=g.y*a,l=f.currentY+n;0!==g.x&&(s=Math.abs((r-f.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-f.currentY)/g.y));const o=Math.max(s,a);f.currentX=r,f.currentY=l;const d=f.width*e.scale,c=f.height*e.scale;f.minX=Math.min(m.slideWidth/2-d/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-c/2,0),f.maxY=-f.minY,f.currentX=Math.max(Math.min(f.currentX,f.maxX),f.minX),f.currentY=Math.max(Math.min(f.currentY,f.maxY),f.minY),m.$imageWrapEl.transition(o).transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&S(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:O,disable:I,in:T,out:$,toggle:S})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}}),t.lazy={};let n=!1,l=!1;function o(e,s){void 0===s&&(s=!0);const a=t.params.lazy;if(void 0===e)return;if(0===t.slides.length)return;const r=t.virtual&&t.params.virtual.enabled?t.$wrapperEl.children(`.${t.params.slideClass}[data-swiper-slide-index="${e}"]`):t.slides.eq(e),n=r.find(`.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`);!r.hasClass(a.elementClass)||r.hasClass(a.loadedClass)||r.hasClass(a.loadingClass)||n.push(r[0]),0!==n.length&&n.each((e=>{const n=d(e);n.addClass(a.loadingClass);const l=n.attr("data-background"),c=n.attr("data-src"),p=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");t.loadImage(n[0],c||l,p,u,!1,(()=>{if(null!=t&&t&&(!t||t.params)&&!t.destroyed){if(l?(n.css("background-image",`url("${l}")`),n.removeAttr("data-background")):(p&&(n.attr("srcset",p),n.removeAttr("data-srcset")),u&&(n.attr("sizes",u),n.removeAttr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),c&&(n.attr("src",c),n.removeAttr("data-src"))),n.addClass(a.loadedClass).removeClass(a.loadingClass),r.find(`.${a.preloaderClass}`).remove(),t.params.loop&&s){const e=r.attr("data-swiper-slide-index");if(r.hasClass(t.params.slideDuplicateClass)){o(t.$wrapperEl.children(`[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`).index(),!1)}else{o(t.$wrapperEl.children(`.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`).index(),!1)}}i("lazyImageReady",r[0],n[0]),t.params.autoHeight&&t.updateAutoHeight()}})),i("lazyImageLoad",r[0],n[0])}))}function c(){const{$wrapperEl:e,params:s,slides:a,activeIndex:i}=t,r=t.virtual&&s.virtual.enabled,n=s.lazy;let c=s.slidesPerView;function p(t){if(r){if(e.children(`.${s.slideClass}[data-swiper-slide-index="${t}"]`).length)return!0}else if(a[t])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===c&&(c=0),l||(l=!0),t.params.watchSlidesProgress)e.children(`.${s.slideVisibleClass}`).each((e=>{o(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(c>1)for(let e=i;e1||n.loadPrevNextAmount&&n.loadPrevNextAmount>1){const e=n.loadPrevNextAmount,t=Math.ceil(c),s=Math.min(i+t+Math.max(e,t),a.length),r=Math.max(i-Math.max(t,e),0);for(let e=i+t;e0&&o(u(t));const a=e.children(`.${s.slidePrevClass}`);a.length>0&&o(u(a))}}function p(){const e=r();if(!t||t.destroyed)return;const s=t.params.lazy.scrollingElement?d(t.params.lazy.scrollingElement):d(e),a=s[0]===e,i=a?e.innerWidth:s[0].offsetWidth,l=a?e.innerHeight:s[0].offsetHeight,o=t.$el.offset(),{rtlTranslate:u}=t;let h=!1;u&&(o.left-=t.$el[0].scrollLeft);const m=[[o.left,o.top],[o.left+t.width,o.top],[o.left,o.top+t.height],[o.left+t.width,o.top+t.height]];for(let e=0;e=0&&t[0]<=i&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==t.touchEvents.start||!t.support.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1};h?(c(),s.off("scroll",p,f)):n||(n=!0,s.on("scroll",p,f))}a("beforeInit",(()=>{t.params.lazy.enabled&&t.params.preloadImages&&(t.params.preloadImages=!1)})),a("init",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("scroll",(()=>{t.params.freeMode&&t.params.freeMode.enabled&&!t.params.freeMode.sticky&&c()})),a("scrollbarDragMove resize _freeModeNoMomentumRelease",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("transitionStart",(()=>{t.params.lazy.enabled&&(t.params.lazy.loadOnTransitionStart||!t.params.lazy.loadOnTransitionStart&&!l)&&(t.params.lazy.checkInView?p():c())})),a("transitionEnd",(()=>{t.params.lazy.enabled&&!t.params.lazy.loadOnTransitionStart&&(t.params.lazy.checkInView?p():c())})),a("slideChange",(()=>{const{lazy:e,cssMode:s,watchSlidesProgress:a,touchReleaseOnEdges:i,resistanceRatio:r}=t.params;e.enabled&&(s||a&&(i||0===r))&&c()})),a("destroy",(()=>{t.$el&&t.$el.find(`.${t.params.lazy.loadingClass}`).removeClass(t.params.lazy.loadingClass)})),Object.assign(t.lazy,{load:c,loadInSlide:o})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline||(t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid))}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e{s.updateAutoHeight()})),s.$wrapperEl.transitionEnd((()=>{i&&(s.params.loop&&"slide"===t.params.controller.by&&s.loopFix(),s.transitionEnd())})))}if(Array.isArray(i))for(r=0;r{n(e),"BUTTON"!==e[0].tagName&&(o(e,"button"),e.on("keydown",m)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)},w=()=>{t.a11y.clicked=!0},b=()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},x=e=>{if(t.a11y.clicked)return;const s=e.target.closest(`.${t.params.slideClass}`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},y=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(d(t.slides),e.itemRoleDescriptionMessage),e.slideRole&&o(d(t.slides),e.slideRole);const s=t.params.loop?t.slides.filter((e=>!e.classList.contains(t.params.slideDuplicateClass))).length:t.slides.length;e.slideLabelMessage&&t.slides.each(((a,i)=>{const r=d(a),n=t.params.loop?parseInt(r.attr("data-swiper-slide-index"),10):i;p(r,e.slideLabelMessage.replace(/\{\{index\}\}/,n+1).replace(/\{\{slidesLength\}\}/,s))}))},E=()=>{const e=t.params.a11y;t.$el.append(i);const s=t.$el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.$wrapperEl,r=e.id||a.attr("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const l=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var o;let d,u;o=r,a.attr("id",o),function(e,t){e.attr("aria-live",t)}(a,l),y(),t.navigation&&t.navigation.$nextEl&&(d=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(u=t.navigation.$prevEl),d&&d.length&&v(d,r,e.nextSlideMessage),u&&u.length&&v(u,r,e.prevSlideMessage),g()&&t.pagination.$el.on("keydown",U(t.params.pagination.bulletClass),m),t.$el.on("focus",x,!0),t.$el.on("pointerdown",w,!0),t.$el.on("pointerup",b,!0)};a("beforeInit",(()=>{i=d(``)})),a("afterInit",(()=>{t.params.a11y.enabled&&E()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&y()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{$nextEl:e,$prevEl:s}=t.navigation;s&&s.length>0&&(t.isBeginning?(u(s),l(s)):(h(s),n(s))),e&&e.length>0&&(t.isEnd?(u(e),l(e)):(h(e),n(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.each((s=>{const a=d(s);t.params.pagination.clickable&&(n(a),t.params.pagination.renderBullet||(o(a,"button"),p(a,e.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${t.params.pagination.bulletActiveClass}`)?a.attr("aria-current","true"):a.removeAttr("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){let e,s;i&&i.length>0&&i.remove(),t.navigation&&t.navigation.$nextEl&&(e=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(s=t.navigation.$prevEl),e&&e.off("keydown",m),s&&s.off("keydown",m),g()&&t.pagination.$el.off("keydown",U(t.params.pagination.bulletClass),m),t.$el.off("focus",x,!0),t.$el.off("pointerdown",w,!0),t.$el.off("pointerup",b,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides.eq(s);let d=l(o.attr("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e}/${d}`}else n.pathname.includes(e)||(d=`${e}/${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),(n.key||n.value)&&(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p))}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),c=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const p=()=>{i("hashChange");const e=o.location.hash.replace("#","");if(e!==t.slides.eq(t.activeIndex).attr("data-hash")){const s=t.$wrapperEl.children(`.${t.params.slideClass}[data-hash="${e}"]`).index();if(void 0===s)return;t.slideTo(s)}},u=()=>{if(l&&t.params.hashNavigation.enabled)if(t.params.hashNavigation.replaceState&&c.history&&c.history.replaceState)c.history.replaceState(null,null,`#${t.slides.eq(t.activeIndex).attr("data-hash")}`||""),i("hashSet");else{const e=t.slides.eq(t.activeIndex),s=e.attr("data-hash")||e.attr("data-history");o.location.hash=s||"",i("hashSet")}};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0;for(let a=0,i=t.slides.length;a{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d(c).off("hashchange",p)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&u()})),n("slideChange",(()=>{l&&t.params.cssMode&&u()}))},function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;function l(){if(!s.size)return s.autoplay.running=!1,void(s.autoplay.paused=!1);const e=s.slides.eq(s.activeIndex);let a=s.params.autoplay.delay;e.attr("data-swiper-autoplay")&&(a=e.attr("data-swiper-autoplay")||s.params.autoplay.delay),clearTimeout(t),t=p((()=>{let e;s.params.autoplay.reverseDirection?s.params.loop?(s.loopFix(),e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.isBeginning?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(s.slides.length-1,s.params.speed,!0,!0),n("autoplay")):(e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.params.loop?(s.loopFix(),e=s.slideNext(s.params.speed,!0,!0),n("autoplay")):s.isEnd?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(0,s.params.speed,!0,!0),n("autoplay")):(e=s.slideNext(s.params.speed,!0,!0),n("autoplay")),(s.params.cssMode&&s.autoplay.running||!1===e)&&l()}),a)}function o(){return void 0===t&&(!s.autoplay.running&&(s.autoplay.running=!0,n("autoplayStart"),l(),!0))}function d(){return!!s.autoplay.running&&(void 0!==t&&(t&&(clearTimeout(t),t=void 0),s.autoplay.running=!1,n("autoplayStop"),!0))}function c(e){s.autoplay.running&&(s.autoplay.paused||(t&&clearTimeout(t),s.autoplay.paused=!0,0!==e&&s.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].addEventListener(e,h)})):(s.autoplay.paused=!1,l())))}function u(){const e=a();"hidden"===e.visibilityState&&s.autoplay.running&&c(),"visible"===e.visibilityState&&s.autoplay.paused&&(l(),s.autoplay.paused=!1)}function h(e){s&&!s.destroyed&&s.$wrapperEl&&e.target===s.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)})),s.autoplay.paused=!1,s.autoplay.running?l():d())}function m(){s.params.autoplay.disableOnInteraction?d():(n("autoplayPause"),c()),["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)}))}function f(){s.params.autoplay.disableOnInteraction||(s.autoplay.paused=!1,n("autoplayResume"),l())}s.autoplay={running:!1,paused:!1},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}}),r("init",(()=>{if(s.params.autoplay.enabled){o();a().addEventListener("visibilitychange",u),s.params.autoplay.pauseOnMouseEnter&&(s.$el.on("mouseenter",m),s.$el.on("mouseleave",f))}})),r("beforeTransitionStart",((e,t,a)=>{s.autoplay.running&&(a||!s.params.autoplay.disableOnInteraction?s.autoplay.pause(t):d())})),r("sliderFirstMove",(()=>{s.autoplay.running&&(s.params.autoplay.disableOnInteraction?d():c())})),r("touchEnd",(()=>{s.params.cssMode&&s.autoplay.paused&&!s.params.autoplay.disableOnInteraction&&l()})),r("destroy",(()=>{s.$el.off("mouseenter",m),s.$el.off("mouseleave",f),s.autoplay.running&&d();a().removeEventListener("visibilitychange",u)})),Object.assign(s.autoplay,{pause:c,run:l,start:o,stop:d})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let i=!1,r=!1;function n(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&d(a).hasClass(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;if(i=e.params.loop?parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10):s,t.params.loop){let e=t.activeIndex;t.slides.eq(e).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,e=t.activeIndex);const s=t.slides.eq(e).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=t.slides.eq(e).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-e1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.removeClass(r),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e1?a:o:a-ot.previousIndex?"next":"prev"}else i=t.realIndex,r=i>t.previousIndex?"next":"prev";l&&(i+="next"===r?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(i)<0&&(s.params.centeredSlides?i=i>o?i-Math.floor(a/2)+1:i+Math.floor(a/2)-1:i>o&&s.params.slidesPerGroup,s.slideTo(i,e?0:void 0))}}t.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=t.params;e&&e.swiper&&(l(),o(!0))})),a("slideChange update resize observerUpdate",(()=>{o()})),a("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),a("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&r&&e.destroy()})),Object.assign(t.thumbs,{init:l,update:o})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:u()})},onTouchEnd:function(e){let{currentPos:s}=e;const{params:r,$wrapperEl:n,rtlTranslate:l,snapGrid:o,touchEventsData:d}=t,c=u()-d.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=d.velocities.pop(),s=d.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)150||u()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,d.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let c=t.translate+s;l&&(c=-c);let p,h=!1;const m=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(ct.minTranslate())r.freeMode.momentumBounce?(c-t.minTranslate()>m&&(c=t.minTranslate()+m),p=t.minTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-c){e=t;break}c=Math.abs(o[e]-c){t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-c:c)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&d.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(p),n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||c>=r.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,{swiper:i,extendParams:r}=e;r({grid:{rows:1,fill:"column"}}),i.grid={initSlides:e=>{const{slidesPerView:r}=i.params,{rows:n,fill:l}=i.params.grid;s=t/n,a=Math.floor(e/n),t=Math.floor(e/n)===e/n?e:Math.ceil(e/n)*n,"auto"!==r&&"row"===l&&(t=Math.max(t,r*n))},updateSlide:(e,r,n,l)=>{const{slidesPerGroup:o,spaceBetween:d}=i.params,{rows:c,fill:p}=i.params.grid;let u,h,m;if("row"===p&&o>1){const s=Math.floor(e/(o*c)),a=e-c*o*s,i=0===s?o:Math.min(Math.ceil((n-s*c*o)/c),o);m=Math.floor(a/i),h=a-m*i+s*o,u=h+m*t/c,r.css({"-webkit-order":u,order:u})}else"column"===p?(h=Math.floor(e/c),m=e-h*c,(h>a||h===a&&m===c-1)&&(m+=1,m>=c&&(m=0,h+=1))):(m=Math.floor(e/s),h=e-m*s);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updateWrapperSize:(e,s,a)=>{const{spaceBetween:r,centeredSlides:n,roundLengths:l}=i.params,{rows:o}=i.params.grid;if(i.virtualSize=(e+r)*t,i.virtualSize=Math.ceil(i.virtualSize/o)-r,i.$wrapperEl.css({[a("width")]:`${i.virtualSize+r}px`}),n){s.splice(0,s.length);const e=[];for(let t=0;t{const{slides:e}=t,s=t.params.fadeEffect;for(let a=0;a{const{transformEl:s}=t.params.fadeEffect;(s?t.slides.find(s):t.slides).transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),i=s?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===a.length&&(a=d(`
    `),e.append(a)),0===i.length&&(i=d(`
    `),e.append(i)),a.length&&(a[0].style.opacity=Math.max(-t,0)),i.length&&(i[0].style.opacity=Math.max(t,0))};te({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{$el:e,$wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:c}=t,p=t.params.cubeEffect,u=t.isHorizontal(),h=t.virtual&&t.params.virtual.enabled;let m,f=0;p.shadow&&(u?(m=s.find(".swiper-cube-shadow"),0===m.length&&(m=d('
    '),s.append(m)),m.css({height:`${r}px`})):(m=e.find(".swiper-cube-shadow"),0===m.length&&(m=d('
    '),e.append(m))));for(let e=0;e-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.transform(v),p.slideShadows&&i(t,d,u)}if(s.css({"-webkit-transform-origin":`50% 50% -${o/2}px`,"transform-origin":`50% 50% -${o/2}px`}),p.shadow)if(u)m.transform(`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`);else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;m.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-90deg)`)}const g=c.isSafari||c.isWebView?-o/2:0;s.transform(`translate3d(0px,0,${g}px) rotateX(${t.isHorizontal()?0:f}deg) rotateY(${t.isHorizontal()?-f:0}deg)`),s[0].style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{$el:s,slides:a}=t;a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.cubeEffect.shadow&&!t.isHorizontal()&&s.find(".swiper-cube-shadow").transition(e)},recreateShadows:()=>{const e=t.isHorizontal();t.slides.each((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(d(t),s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}});const i=(e,s,a)=>{let i=t.isHorizontal()?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),r=t.isHorizontal()?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===i.length&&(i=ie(a,e,t.isHorizontal()?"left":"top")),0===r.length&&(r=ie(a,e,t.isHorizontal()?"right":"bottom")),i.length&&(i[0].style.opacity=Math.max(-s,0)),r.length&&(r[0].style.opacity=Math.max(s,0))};te({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r{const{transformEl:s}=t.params.flipEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),ae({swiper:t,duration:e,transformEl:s})},recreateShadows:()=>{const e=t.params.flipEffect;t.slides.each((s=>{const a=d(s);let r=a[0].progress;t.params.flipEffect.limitRotation&&(r=Math.max(Math.min(s.progress,1),-1)),i(a,r,e)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}}),te({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,t=a.length;e0?p:0),s.length&&(s[0].style.opacity=-p>0?-p:0)}}},setTransition:e=>{const{transformEl:s}=t.params.coverflowEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{transformEl:null,limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;te({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,$wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.transform(`translateX(calc(50% - ${e}px))`)}for(let s=0;s0&&(f=r.prev,m=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),h.forEach(((e,t)=>{h[t]=f.rotate[t]*Math.abs(d*n)})),a[0].style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=a.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=ie(r,a)),e.length){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e[0].style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const y=se(r,a);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},setTransition:e=>{const{transformEl:s}=t.params.creativeEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,transformEl:null,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),te({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s}=t,a=t.params.cardsEffect,{startTranslate:i,isTouched:r}=t.touchEventsData,n=t.translate;for(let l=0;l0&&c<1&&(r||t.params.cssMode)&&n-1&&(r||t.params.cssMode)&&n>i;if(b||x){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;g+=-28*c*e,f+=-.5*e,v+=96*e,h=-25*e*Math.abs(c)+"%"}if(u=c<0?`calc(${u}px + (${v*Math.abs(c)}%))`:c>0?`calc(${u}px + (-${v*Math.abs(c)}%))`:`${u}px`,!t.isHorizontal()){const e=h;h=u,u=e}const y=c<0?""+(1+(1-f)*c):""+(1-(1-f)*c),E=`\n translate3d(${u}, ${h}, ${m}px)\n rotateZ(${a.rotate?g:0}deg)\n scale(${y})\n `;if(a.slideShadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=ie(a,o)),e.length&&(e[0].style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}o[0].style.zIndex=-Math.abs(Math.round(d))+e.length;se(a,o).transform(E)}},setTransition:e=>{const{transformEl:s}=t.params.cardsEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return V.use(re),V})); +//# sourceMappingURL=swiper-bundle.min.js.map \ No newline at end of file diff --git a/source/lib/swiper@8.4.6/swiper-bundle.min.js.map b/source/lib/swiper@8.4.6/swiper-bundle.min.js.map new file mode 100644 index 0000000..067bbb5 --- /dev/null +++ b/source/lib/swiper@8.4.6/swiper-bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"swiper-bundle.min.js","names":["isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","Dom7","Array","items","super","proto","__proto__","defineProperty","get","set","value","makeReactive","arrayFlat","arr","res","el","isArray","push","arrayFilter","prototype","filter","call","$","selector","context","html","trim","indexOf","toCreate","tempParent","innerHTML","i","a","qsa","nodeType","uniqueArray","arrayUnique","fn","Methods","addClass","_len","arguments","classes","_key","classNames","map","c","split","classList","add","removeClass","_len2","_key2","remove","hasClass","_len4","_key4","className","contains","toggleClass","_len3","_key3","toggle","attr","attrs","getAttribute","attrName","removeAttr","removeAttribute","transform","duration","transitionDuration","on","_len5","args","_key5","eventType","targetSelector","listener","capture","handleLiveEvent","e","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","undefined","events","j","event","dom7LiveListeners","proxyListener","dom7Listeners","off","_len6","_key6","handlers","handler","dom7proxy","splice","trigger","_len9","_key9","evt","detail","bubbles","cancelable","data","dataIndex","dispatchEvent","dom","fireCallBack","outerWidth","includeMargins","styles","offsetWidth","parseFloat","outerHeight","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","props","prop","each","index","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","prev","previousElementSibling","prevAll","prevEls","parent","parentNode","closest","find","foundElements","found","removeChild","nextTick","delay","now","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","webkitTransform","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","m42","o","slice","isNode","node","HTMLElement","to","noExtend","nextSource","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","support","deviceCached","browser","getSupport","smoothScroll","documentElement","touch","DocumentTouch","passiveListener","supportsPassive","opts","gestures","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","isSafari","toLowerCase","isWebView","test","calcBrowser","methodName","writable","eventsEmitter","priority","self","eventsListeners","destroyed","method","once","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","emit","update","updateSize","$el","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","Number","isNaN","assign","size","updateSlides","getDirectionLabel","property","marginRight","getDirectionPropertyValue","label","$wrapperEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","grid","rows","slideSize","initSlides","shouldResetSlideSize","slidesPerView","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","_","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","visibleSlides","ceil","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","autoHeight","updateSlidesClasses","realIndex","activeSlide","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","loop","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","initialized","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","slideTo","initial","Error","indexAsNumber","isFinite","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","_immediateVirtual","_swiperImmediateVirtual","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","loopedSlides","slideNext","perGroup","slidesPerGroupAuto","slidesPerViewDynamic","increment","loopPreventsSlide","loopFix","_clientLeft","rewind","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","loopCreate","$selector","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","loopedSlidesLimit","prependSlides","appendSlides","cloneNode","diff","loopDestroy","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","type","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","path","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","getRootNode","closestElement","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","preventDefault","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","touchAngle","atan2","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","grabCursor","setGrabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","stopIndex","groupSize","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","autoplay","running","paused","run","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","touchEvents","domMethod","swiperMethod","start","passiveListeners","passive","move","end","cancel","updateOnWindowResize","events$1","attachEvents","bind","detachEvents","isGridEnabled","addClasses","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","fill","centered","emitContainerClasses","removeClasses","defaults","init","initialSlide","resizeObserver","createElements","url","breakpointsBase","simulateTouch","uniqueNavElements","preloadImages","updateOnImagesReady","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","moving","isLocked","cursor","unsetGrabCursor","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","changeDirection","isEnabled","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","sort","b","wasLocked","lastSlideIndex","lastSlideRightEdge","images","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","complete","onload","onerror","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","velocities","setProgress","cls","getSlideClasses","slideEl","updates","view","exact","spv","breakLoop","translateValue","translated","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","getWrapperSelector","options","getWrapper","wrapper","destroy","deleteInstance","cleanStyles","object","deleteProps","static","newDefaults","module","m","installModule","createElementIfNotDefined","checkProps","element","classesToSelector","appendSlide","observer","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","effectInit","overwriteParams","perspective","recreateShadows","getEffectParams","requireUpdateOnVirtual","overwriteParamsResult","_s","slideShadows","effectTarget","effectParams","$slideEl","transformEl","effectVirtualTransitionEnd","allSlides","$transitionEndTarget","eventTriggered","triggerEvents","createShadow","shadowClass","$shadowContainer","$shadowEl","prototypeGroup","protoMethod","use","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","cssModeTimeout","renderSlide","cache","force","addSlidesBefore","addSlidesAfter","from","previousFrom","previousTo","previousSlidesGrid","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","load","renderExternal","slidesToRender","renderExternalUpdate","prependIndexes","appendIndexes","numberOfNewSlides","newCache","cachedIndex","$cachedEl","cachedElIndex","handle","kc","keyCode","charCode","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","timeout","mousewheel","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","delta","raw","rtlFactor","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","positions","sign","ignoreWheelEvents","position","sticky","shift","prevEvent","firstEvent","snapToThreshold","autoplayDisableOnInteraction","stop","releaseScroll","getEl","toggleEl","disabled","disabledClass","tagName","lockClass","$nextEl","$prevEl","onPrevClick","onNextClick","hideOnClick","hiddenClass","navigationDisabledClass","targetEl","pagination","clickable","isHidden","pfx","bulletSize","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","$bulletEl","total","paginationType","firstIndex","midIndex","suffix","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","progressbarDirection","scale","scaleX","scaleY","render","paginationHTML","numberOfBullets","dragStartPos","dragSize","trackSize","divider","dragTimeout","scrollbar","$dragEl","newSize","newPos","hide","opacity","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","onDragStart","onDragMove","onDragEnd","snapOnRelease","activeListener","eventMethod","$swiperEl","dragClass","dragEl","draggable","scrollbarDisabledClass","parallax","setTransform","p","currentOpacity","currentScale","_swiper","parallaxEl","$parallaxEl","parallaxDuration","zoom","maxRatio","containerClass","zoomedSlideClass","gesturesEnabled","fakeGestureTouched","fakeGestureMoved","isScaling","gesture","slideWidth","slideHeight","$imageEl","$imageWrapEl","minX","minY","maxX","maxY","touchesStart","touchesCurrent","prevPositionX","prevPositionY","prevTime","getDistanceBetweenTouches","x1","y1","x2","y2","onGestureStart","scaleStart","onGestureChange","scaleMove","onGestureEnd","scaledWidth","scaledHeight","onTransitionEnd","zoomIn","touchX","touchY","offsetX","offsetY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","touchAction","zoomOut","zoomToggle","getListeners","activeListenerWithCapture","getSlideSelector","toggleGestures","slideSelector","enableGestures","disableGestures","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","in","out","checkInView","loadPrevNext","loadPrevNextAmount","loadOnTransitionStart","scrollingElement","elementClass","loadingClass","loadedClass","preloaderClass","scrollHandlerAttached","initialImageLoaded","loadInSlide","loadInDuplicate","$images","background","$pictureEl","sourceEl","$source","slideOriginalIndex","slideExist","amount","maxIndex","minIndex","checkInViewOnLoad","$scrollElement","isWindow","scrollElementWidth","scrollElementHeight","LinearSpline","binarySearch","guess","array","i1","i3","interpolate","removeSpline","controller","control","spline","inverse","by","_t","controlled","controlledTranslate","setControlledTranslate","getInterpolateFunction","setControlledTransition","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","itemRoleDescriptionMessage","slideRole","clicked","liveRegion","notify","message","notification","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElLabel","disableEl","enableEl","onEnterOrSpaceKey","click","hasPagination","hasClickablePagination","initNavEl","wrapperId","controls","addElControls","handlePointerDown","handlePointerUp","handleFocus","includes","isActive","isVisible","sourceCapabilities","firesTouchEvents","$containerEl","repeat","round","random","live","addElLive","updateNavigation","bulletEl","updatePagination","root","keepQuery","paths","slugify","getPathValues","urlOverride","URL","pathArray","part","setHistory","currentState","state","scrollToSlide","setHistoryPopState","hashNavigation","watchState","onHashChange","newHash","setHash","$activeSlideEl","autoplayResult","reverseDirection","stopOnLastSlide","pause","waitForTransition","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","pauseOnMouseEnter","thumbs","multipleActiveThumbs","autoScrollOffset","slideThumbActiveClass","thumbsContainerClass","swiperCreated","onThumbClick","thumbsSwiper","currentIndex","thumbsParams","SwiperClass","thumbsSwiperParams","thumbsToActivate","thumbActiveClass","useOffset","newThumbsIndex","currentThumbsIndex","prevThumbsIndex","nextThumbsIndex","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","minimumVelocity","lastMoveEvent","pop","velocityEvent","distance","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","needsLoopFix","moveDistance","currentSlideSize","slidesNumberEvenToRows","slidesPerRow","numFullColumns","newSlideOrderIndex","column","row","groupIndex","slideIndexInGroup","columnsInGroup","order","fadeEffect","crossFade","tx","ty","slideOpacity","cubeEffect","shadow","shadowOffset","shadowScale","createSlideShadows","shadowBefore","shadowAfter","$cubeShadowEl","wrapperRotate","slideAngle","tz","shadowAngle","sin","scale1","scale2","zFactor","flipEffect","limitRotation","rotateY","rotateX","zIndex","coverflowEffect","rotate","stretch","depth","modifier","center","centerOffset","offsetMultiplier","translateZ","slideTransform","$shadowBeforeEl","$shadowAfterEl","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","getTranslateValue","isCenteredSlides","margin","r","custom","translateString","rotateString","scaleString","opacityString","shadowOpacity","cardsEffect","perSlideRotate","perSlideOffset","tX","tY","tZ","tXAdd","isSwipeToNext","isSwipeToPrev","subProgress","prevY"],"sources":["../node_modules/ssr-window/ssr-window.esm.js","../node_modules/dom7/dom7.esm.js","../src/shared/dom.js","../src/shared/utils.js","../src/shared/get-support.js","../src/shared/get-device.js","../src/shared/get-browser.js","../src/core/events-emitter.js","../src/core/update/index.js","../src/core/update/updateSize.js","../src/core/update/updateSlides.js","../src/core/update/updateAutoHeight.js","../src/core/update/updateSlidesOffset.js","../src/core/update/updateSlidesProgress.js","../src/core/update/updateProgress.js","../src/core/update/updateSlidesClasses.js","../src/core/update/updateActiveIndex.js","../src/core/update/updateClickedSlide.js","../src/core/translate/index.js","../src/core/translate/getTranslate.js","../src/core/translate/setTranslate.js","../src/core/translate/minTranslate.js","../src/core/translate/maxTranslate.js","../src/core/translate/translateTo.js","../src/core/transition/transitionEmit.js","../src/core/slide/index.js","../src/core/slide/slideTo.js","../src/core/slide/slideToLoop.js","../src/core/slide/slideNext.js","../src/core/slide/slidePrev.js","../src/core/slide/slideReset.js","../src/core/slide/slideToClosest.js","../src/core/slide/slideToClickedSlide.js","../src/core/loop/index.js","../src/core/loop/loopCreate.js","../src/core/loop/loopFix.js","../src/core/loop/loopDestroy.js","../src/core/events/onTouchStart.js","../src/core/events/onTouchMove.js","../src/core/events/onTouchEnd.js","../src/core/events/onResize.js","../src/core/events/onClick.js","../src/core/events/onScroll.js","../src/core/events/index.js","../src/core/breakpoints/setBreakpoint.js","../src/core/classes/index.js","../src/core/classes/addClasses.js","../src/core/classes/removeClasses.js","../src/core/check-overflow/index.js","../src/core/defaults.js","../src/core/moduleExtendParams.js","../src/core/core.js","../src/core/transition/index.js","../src/core/transition/setTransition.js","../src/core/transition/transitionStart.js","../src/core/transition/transitionEnd.js","../src/core/grab-cursor/index.js","../src/core/grab-cursor/setGrabCursor.js","../src/core/grab-cursor/unsetGrabCursor.js","../src/core/breakpoints/index.js","../src/core/breakpoints/getBreakpoint.js","../src/core/images/index.js","../src/core/images/loadImage.js","../src/core/images/preloadImages.js","../src/shared/create-element-if-not-defined.js","../src/shared/classes-to-selector.js","../src/modules/manipulation/methods/appendSlide.js","../src/modules/manipulation/methods/prependSlide.js","../src/modules/manipulation/methods/addSlide.js","../src/modules/manipulation/methods/removeSlide.js","../src/modules/manipulation/methods/removeAllSlides.js","../src/shared/effect-init.js","../src/shared/effect-target.js","../src/shared/effect-virtual-transition-end.js","../src/shared/create-shadow.js","../src/core/modules/resize/resize.js","../src/core/modules/observer/observer.js","../src/swiper.js","../src/modules/virtual/virtual.js","../src/modules/keyboard/keyboard.js","../src/modules/mousewheel/mousewheel.js","../src/modules/navigation/navigation.js","../src/modules/pagination/pagination.js","../src/modules/scrollbar/scrollbar.js","../src/modules/parallax/parallax.js","../src/modules/zoom/zoom.js","../src/modules/lazy/lazy.js","../src/modules/controller/controller.js","../src/modules/a11y/a11y.js","../src/modules/history/history.js","../src/modules/hash-navigation/hash-navigation.js","../src/modules/autoplay/autoplay.js","../src/modules/thumbs/thumbs.js","../src/modules/free-mode/free-mode.js","../src/modules/grid/grid.js","../src/modules/manipulation/manipulation.js","../src/modules/effect-fade/effect-fade.js","../src/modules/effect-cube/effect-cube.js","../src/modules/effect-flip/effect-flip.js","../src/modules/effect-coverflow/effect-coverflow.js","../src/modules/effect-creative/effect-creative.js","../src/modules/effect-cards/effect-cards.js"],"sourcesContent":["/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.4\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2022, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: January 11, 2022\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf(' c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(prop => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import {\n $,\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n transform,\n transition,\n on,\n off,\n trigger,\n transitionEnd,\n outerWidth,\n outerHeight,\n styles,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n filter,\n remove,\n} from 'dom7';\n\nconst Methods = {\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n transform,\n transition,\n on,\n off,\n trigger,\n transitionEnd,\n outerWidth,\n outerHeight,\n styles,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n filter,\n remove,\n};\n\nObject.keys(Methods).forEach((methodName) => {\n Object.defineProperty($.fn, methodName, { value: Methods[methodName], writable: true });\n});\n\nexport default $;\n","import { getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach((key) => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\nfunction getTranslate(el, axis = 'x') {\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n\n const curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform\n .split(', ')\n .map((a) => a.replace(',', '.'))\n .join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix =\n curStyle.MozTransform ||\n curStyle.OTransform ||\n curStyle.MsTransform ||\n curStyle.msTransform ||\n curStyle.transform ||\n curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return (\n typeof o === 'object' &&\n o !== null &&\n o.constructor &&\n Object.prototype.toString.call(o).slice(8, -1) === 'Object'\n );\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend(...args) {\n const to = Object(args[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < args.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter((key) => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\n\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\n\nfunction animateCSSModeScroll({ swiper, targetPosition, side }) {\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n\n const isOutOfBound = (current, target) => {\n return (dir === 'next' && current >= target) || (dir === 'prev' && current <= target);\n };\n\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition,\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition,\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\n\nexport {\n animateCSSModeScroll,\n deleteProps,\n nextTick,\n now,\n getTranslate,\n isObject,\n extend,\n getComputedStyle,\n setCSSProperty,\n};\n","import { getWindow, getDocument } from 'ssr-window';\n\nlet support;\n\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n\n touch: !!(\n 'ontouchstart' in window ||\n (window.DocumentTouch && document instanceof window.DocumentTouch)\n ),\n\n passiveListener: (function checkPassiveListener() {\n let supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n },\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {\n // No support\n }\n return supportsPassive;\n })(),\n\n gestures: (function checkGestures() {\n return 'ongesturestart' in window;\n })(),\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nexport { getSupport };\n","import { getWindow } from 'ssr-window';\r\nimport { getSupport } from './get-support.js';\r\n\r\nlet deviceCached;\r\n\r\nfunction calcDevice({ userAgent } = {}) {\r\n const support = getSupport();\r\n const window = getWindow();\r\n const platform = window.navigator.platform;\r\n const ua = userAgent || window.navigator.userAgent;\r\n\r\n const device = {\r\n ios: false,\r\n android: false,\r\n };\r\n\r\n const screenWidth = window.screen.width;\r\n const screenHeight = window.screen.height;\r\n\r\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\r\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\r\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\r\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\r\n const windows = platform === 'Win32';\r\n let macos = platform === 'MacIntel';\r\n\r\n // iPadOs 13 fix\r\n const iPadScreens = [\r\n '1024x1366',\r\n '1366x1024',\r\n '834x1194',\r\n '1194x834',\r\n '834x1112',\r\n '1112x834',\r\n '768x1024',\r\n '1024x768',\r\n '820x1180',\r\n '1180x820',\r\n '810x1080',\r\n '1080x810',\r\n ];\r\n if (\r\n !ipad &&\r\n macos &&\r\n support.touch &&\r\n iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0\r\n ) {\r\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\r\n if (!ipad) ipad = [0, 1, '13_0_0'];\r\n macos = false;\r\n }\r\n\r\n // Android\r\n if (android && !windows) {\r\n device.os = 'android';\r\n device.android = true;\r\n }\r\n if (ipad || iphone || ipod) {\r\n device.os = 'ios';\r\n device.ios = true;\r\n }\r\n\r\n // Export object\r\n return device;\r\n}\r\n\r\nfunction getDevice(overrides = {}) {\r\n if (!deviceCached) {\r\n deviceCached = calcDevice(overrides);\r\n }\r\n return deviceCached;\r\n}\r\n\r\nexport { getDevice };\r\n","import { getWindow } from 'ssr-window';\r\n\r\nlet browser;\r\n\r\nfunction calcBrowser() {\r\n const window = getWindow();\r\n function isSafari() {\r\n const ua = window.navigator.userAgent.toLowerCase();\r\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\r\n }\r\n return {\r\n isSafari: isSafari(),\r\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent),\r\n };\r\n}\r\n\r\nfunction getBrowser() {\r\n if (!browser) {\r\n browser = calcBrowser();\r\n }\r\n return browser;\r\n}\r\n\r\nexport { getBrowser };\r\n","/* eslint-disable no-underscore-dangle */\r\n\r\nexport default {\r\n on(events, handler, priority) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (typeof handler !== 'function') return self;\r\n const method = priority ? 'unshift' : 'push';\r\n events.split(' ').forEach((event) => {\r\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\r\n self.eventsListeners[event][method](handler);\r\n });\r\n return self;\r\n },\r\n\r\n once(events, handler, priority) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (typeof handler !== 'function') return self;\r\n function onceHandler(...args) {\r\n self.off(events, onceHandler);\r\n if (onceHandler.__emitterProxy) {\r\n delete onceHandler.__emitterProxy;\r\n }\r\n handler.apply(self, args);\r\n }\r\n onceHandler.__emitterProxy = handler;\r\n return self.on(events, onceHandler, priority);\r\n },\r\n\r\n onAny(handler, priority) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (typeof handler !== 'function') return self;\r\n const method = priority ? 'unshift' : 'push';\r\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\r\n self.eventsAnyListeners[method](handler);\r\n }\r\n return self;\r\n },\r\n\r\n offAny(handler) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (!self.eventsAnyListeners) return self;\r\n const index = self.eventsAnyListeners.indexOf(handler);\r\n if (index >= 0) {\r\n self.eventsAnyListeners.splice(index, 1);\r\n }\r\n return self;\r\n },\r\n\r\n off(events, handler) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (!self.eventsListeners) return self;\r\n events.split(' ').forEach((event) => {\r\n if (typeof handler === 'undefined') {\r\n self.eventsListeners[event] = [];\r\n } else if (self.eventsListeners[event]) {\r\n self.eventsListeners[event].forEach((eventHandler, index) => {\r\n if (\r\n eventHandler === handler ||\r\n (eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler)\r\n ) {\r\n self.eventsListeners[event].splice(index, 1);\r\n }\r\n });\r\n }\r\n });\r\n return self;\r\n },\r\n\r\n emit(...args) {\r\n const self = this;\r\n if (!self.eventsListeners || self.destroyed) return self;\r\n if (!self.eventsListeners) return self;\r\n let events;\r\n let data;\r\n let context;\r\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\r\n events = args[0];\r\n data = args.slice(1, args.length);\r\n context = self;\r\n } else {\r\n events = args[0].events;\r\n data = args[0].data;\r\n context = args[0].context || self;\r\n }\r\n data.unshift(context);\r\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\r\n\r\n eventsArray.forEach((event) => {\r\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\r\n self.eventsAnyListeners.forEach((eventHandler) => {\r\n eventHandler.apply(context, [event, ...data]);\r\n });\r\n }\r\n if (self.eventsListeners && self.eventsListeners[event]) {\r\n self.eventsListeners[event].forEach((eventHandler) => {\r\n eventHandler.apply(context, data);\r\n });\r\n }\r\n });\r\n return self;\r\n },\r\n};\r\n","import updateSize from './updateSize.js';\r\nimport updateSlides from './updateSlides.js';\r\nimport updateAutoHeight from './updateAutoHeight.js';\r\nimport updateSlidesOffset from './updateSlidesOffset.js';\r\nimport updateSlidesProgress from './updateSlidesProgress.js';\r\nimport updateProgress from './updateProgress.js';\r\nimport updateSlidesClasses from './updateSlidesClasses.js';\r\nimport updateActiveIndex from './updateActiveIndex.js';\r\nimport updateClickedSlide from './updateClickedSlide.js';\r\n\r\nexport default {\r\n updateSize,\r\n updateSlides,\r\n updateAutoHeight,\r\n updateSlidesOffset,\r\n updateSlidesProgress,\r\n updateProgress,\r\n updateSlidesClasses,\r\n updateActiveIndex,\r\n updateClickedSlide,\r\n};\r\n","export default function updateSize() {\n const swiper = this;\n let width;\n let height;\n const $el = swiper.$el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n if ((width === 0 && swiper.isHorizontal()) || (height === 0 && swiper.isVertical())) {\n return;\n }\n\n // Subtract paddings\n width =\n width -\n parseInt($el.css('padding-left') || 0, 10) -\n parseInt($el.css('padding-right') || 0, 10);\n height =\n height -\n parseInt($el.css('padding-top') || 0, 10) -\n parseInt($el.css('padding-bottom') || 0, 10);\n\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height,\n });\n}\n","import { setCSSProperty } from '../../shared/utils.js';\n\nexport default function updateSlides() {\n const swiper = this;\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom',\n }[property];\n }\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n const params = swiper.params;\n\n const { $wrapperEl, size: swiperSize, rtlTranslate: rtl, wrongRTL } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = (parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n if (rtl) slides.css({ marginLeft: '', marginBottom: '', marginTop: '' });\n else slides.css({ marginRight: '', marginBottom: '', marginTop: '' });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', '');\n }\n\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n }\n\n // Calc slides\n let slideSize;\n\n const shouldResetSlideSize =\n params.slidesPerView === 'auto' &&\n params.breakpoints &&\n Object.keys(params.breakpoints).filter((key) => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n const slide = slides.eq(i);\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide[0]);\n const currentTransform = slide[0].style.transform;\n const currentWebKitTransform = slide[0].style.webkitTransform;\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const { clientWidth, offsetWidth } = slide[0];\n slideSize =\n width +\n paddingLeft +\n paddingRight +\n marginLeft +\n marginRight +\n (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0)\n slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (\n (index - Math.min(swiper.params.slidesPerGroupSkip, index)) %\n swiper.params.slidesPerGroup ===\n 0\n )\n snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n\n prevSlideSize = slideSize;\n\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({ width: `${swiper.virtualSize + params.spaceBetween}px` });\n }\n if (params.setWrapperSize) {\n $wrapperEl.css({\n [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px`,\n });\n }\n\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n\n if (\n Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) >\n 1\n ) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides\n .filter((_, slideIndex) => {\n if (!params.cssMode) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n })\n .css({ [key]: `${spaceBetween}px` });\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach((slideSizeValue) => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map((snap) => {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach((slideSizeValue) => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid,\n });\n\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(\n swiper.wrapperEl,\n '--swiper-centered-offset-after',\n `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`,\n );\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map((v) => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map((v) => v + addToSlidesGrid);\n }\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.$el.removeClass(backFaceHiddenClass);\n }\n }\n}\n","import $ from '../../shared/dom.js';\n\nexport default function updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n const getSlideByIndex = (index) => {\n if (isVirtual) {\n return swiper.slides.filter(\n (el) => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index,\n )[0];\n }\n return swiper.slides.eq(index)[0];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || $([])).each((slide) => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`);\n}\n","export default function updateSlidesOffset() {\r\n const swiper = this;\r\n const slides = swiper.slides;\r\n for (let i = 0; i < slides.length; i += 1) {\r\n slides[i].swiperSlideOffset = swiper.isHorizontal()\r\n ? slides[i].offsetLeft\r\n : slides[i].offsetTop;\r\n }\r\n}\r\n","import $ from '../../shared/dom.js';\n\nexport default function updateSlidesProgress(translate = (this && this.translate) || 0) {\n const swiper = this;\n const params = swiper.params;\n\n const { slides, rtlTranslate: rtl, snapGrid } = swiper;\n\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n\n // Visible Slides\n slides.removeClass(params.slideVisibleClass);\n\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n\n const slideProgress =\n (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) /\n (slide.swiperSlideSize + params.spaceBetween);\n const originalSlideProgress =\n (offsetCenter -\n snapGrid[0] +\n (params.centeredSlides ? swiper.minTranslate() : 0) -\n slideOffset) /\n (slide.swiperSlideSize + params.spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible =\n (slideBefore >= 0 && slideBefore < swiper.size - 1) ||\n (slideAfter > 1 && slideAfter <= swiper.size) ||\n (slideBefore <= 0 && slideAfter >= swiper.size);\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n swiper.visibleSlides = $(swiper.visibleSlides);\n}\n","export default function updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = (swiper && swiper.translate && swiper.translate * multiplier) || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let { progress, isBeginning, isEnd } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n Object.assign(swiper, {\n progress,\n isBeginning,\n isEnd,\n });\n\n if (params.watchSlidesProgress || (params.centeredSlides && params.autoHeight))\n swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if ((wasBeginning && !isBeginning) || (wasEnd && !isEnd)) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}\n","export default function updateSlidesClasses() {\n const swiper = this;\n\n const { slides, params, $wrapperEl, activeIndex, realIndex } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n\n slides.removeClass(\n `${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`,\n );\n\n let activeSlide;\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\n `.${params.slideClass}[data-swiper-slide-index=\"${activeIndex}\"]`,\n );\n } else {\n activeSlide = slides.eq(activeIndex);\n }\n\n // Active classes\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(\n `.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${realIndex}\"]`,\n )\n .addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl\n .children(\n `.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${realIndex}\"]`,\n )\n .addClass(params.slideDuplicateActiveClass);\n }\n }\n // Next Slide\n let nextSlide = activeSlide\n .nextAll(`.${params.slideClass}`)\n .eq(0)\n .addClass(params.slideNextClass);\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n }\n // Prev Slide\n let prevSlide = activeSlide\n .prevAll(`.${params.slideClass}`)\n .eq(0)\n .addClass(params.slidePrevClass);\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(\n `.${params.slideClass}:not(.${\n params.slideDuplicateClass\n })[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`,\n )\n .addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl\n .children(\n `.${params.slideClass}.${\n params.slideDuplicateClass\n }[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`,\n )\n .addClass(params.slideDuplicateNextClass);\n }\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(\n `.${params.slideClass}:not(.${\n params.slideDuplicateClass\n })[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`,\n )\n .addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl\n .children(\n `.${params.slideClass}.${\n params.slideDuplicateClass\n }[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`,\n )\n .addClass(params.slideDuplicatePrevClass);\n }\n }\n swiper.emitSlidesClasses();\n}\n","export default function updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n slidesGrid,\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex,\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n if (typeof activeIndex === 'undefined') {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (\n translate >= slidesGrid[i] &&\n translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2\n ) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n\n // Get real index\n const realIndex = parseInt(\n swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex,\n 10,\n );\n\n Object.assign(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex,\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}\n","import $ from '../../shared/dom.js';\n\nexport default function updateClickedSlide(e) {\n const swiper = this;\n const params = swiper.params;\n const slide = $(e).closest(`.${params.slideClass}`)[0];\n let slideFound = false;\n let slideIndex;\n\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (\n params.slideToClickedSlide &&\n swiper.clickedIndex !== undefined &&\n swiper.clickedIndex !== swiper.activeIndex\n ) {\n swiper.slideToClickedSlide();\n }\n}\n","import getTranslate from './getTranslate.js';\r\nimport setTranslate from './setTranslate.js';\r\nimport minTranslate from './minTranslate.js';\r\nimport maxTranslate from './maxTranslate.js';\r\nimport translateTo from './translateTo.js';\r\n\r\nexport default {\r\n getTranslate,\r\n setTranslate,\r\n minTranslate,\r\n maxTranslate,\r\n translateTo,\r\n};\r\n","import { getTranslate } from '../../shared/utils.js';\n\nexport default function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {\n const swiper = this;\n\n const { params, rtlTranslate: rtl, translate, $wrapperEl } = swiper;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n\n let currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n\n return currentTranslate || 0;\n}\n","export default function setTranslate(translate, byController) {\n const swiper = this;\n const { rtlTranslate: rtl, params, $wrapperEl, wrapperEl, progress } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}\n","export default function minTranslate() {\r\n return -this.snapGrid[0];\r\n}\r\n","export default function maxTranslate() {\r\n return -this.snapGrid[this.snapGrid.length - 1];\r\n}\r\n","import { animateCSSModeScroll } from '../../shared/utils.js';\n\nexport default function translateTo(\n translate = 0,\n speed = this.params.speed,\n runCallbacks = true,\n translateBounds = true,\n internal,\n) {\n const swiper = this;\n\n const { params, wrapperEl } = swiper;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;\n else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;\n else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({ swiper, targetPosition: -newTranslate, side: isH ? 'left' : 'top' });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth',\n });\n }\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener(\n 'transitionend',\n swiper.onTranslateToWrapperTransitionEnd,\n );\n swiper.$wrapperEl[0].removeEventListener(\n 'webkitTransitionEnd',\n swiper.onTranslateToWrapperTransitionEnd,\n );\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.$wrapperEl[0].addEventListener(\n 'transitionend',\n swiper.onTranslateToWrapperTransitionEnd,\n );\n swiper.$wrapperEl[0].addEventListener(\n 'webkitTransitionEnd',\n swiper.onTranslateToWrapperTransitionEnd,\n );\n }\n }\n\n return true;\n}\n","export default function transitionEmit({ swiper, runCallbacks, direction, step }) {\r\n const { activeIndex, previousIndex } = swiper;\r\n let dir = direction;\r\n if (!dir) {\r\n if (activeIndex > previousIndex) dir = 'next';\r\n else if (activeIndex < previousIndex) dir = 'prev';\r\n else dir = 'reset';\r\n }\r\n\r\n swiper.emit(`transition${step}`);\r\n\r\n if (runCallbacks && activeIndex !== previousIndex) {\r\n if (dir === 'reset') {\r\n swiper.emit(`slideResetTransition${step}`);\r\n return;\r\n }\r\n swiper.emit(`slideChangeTransition${step}`);\r\n if (dir === 'next') {\r\n swiper.emit(`slideNextTransition${step}`);\r\n } else {\r\n swiper.emit(`slidePrevTransition${step}`);\r\n }\r\n }\r\n}\r\n","import slideTo from './slideTo.js';\r\nimport slideToLoop from './slideToLoop.js';\r\nimport slideNext from './slideNext.js';\r\nimport slidePrev from './slidePrev.js';\r\nimport slideReset from './slideReset.js';\r\nimport slideToClosest from './slideToClosest.js';\r\nimport slideToClickedSlide from './slideToClickedSlide.js';\r\n\r\nexport default {\r\n slideTo,\r\n slideToLoop,\r\n slideNext,\r\n slidePrev,\r\n slideReset,\r\n slideToClosest,\r\n slideToClickedSlide,\r\n};\r\n","import { animateCSSModeScroll } from '../../shared/utils.js';\n\nexport default function slideTo(\n index = 0,\n speed = this.params.speed,\n runCallbacks = true,\n internal,\n initial,\n) {\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\n `The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`,\n );\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\n `The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`,\n );\n }\n\n // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n index = indexAsNumber;\n }\n\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled,\n } = swiper;\n\n if (\n (swiper.animating && params.preventInteractionOnTransition) ||\n (!enabled && !internal && !initial)\n ) {\n return false;\n }\n\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n const translate = -snapGrid[snapIndex];\n\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (\n normalizedTranslate >= normalizedGrid &&\n normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2\n ) {\n slideIndex = i;\n } else if (\n normalizedTranslate >= normalizedGrid &&\n normalizedTranslate < normalizedGridNext\n ) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (\n !swiper.allowSlideNext &&\n translate < swiper.translate &&\n translate < swiper.minTranslate()\n ) {\n return false;\n }\n if (\n !swiper.allowSlidePrev &&\n translate > swiper.translate &&\n translate > swiper.maxTranslate()\n ) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n\n let direction;\n if (slideIndex > activeIndex) direction = 'next';\n else if (slideIndex < activeIndex) direction = 'prev';\n else direction = 'reset';\n\n // Update Index\n if ((rtl && -translate === swiper.translate) || (!rtl && translate === swiper.translate)) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._swiperImmediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({ swiper, targetPosition: t, side: isH ? 'left' : 'top' });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth',\n });\n }\n return true;\n }\n\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener(\n 'transitionend',\n swiper.onSlideToWrapperTransitionEnd,\n );\n swiper.$wrapperEl[0].removeEventListener(\n 'webkitTransitionEnd',\n swiper.onSlideToWrapperTransitionEnd,\n );\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener(\n 'webkitTransitionEnd',\n swiper.onSlideToWrapperTransitionEnd,\n );\n }\n\n return true;\n}\n","export default function slideToLoop(\n index = 0,\n speed = this.params.speed,\n runCallbacks = true,\n internal,\n) {\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\n `The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`,\n );\n }\n\n // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n index = indexAsNumber;\n }\n\n const swiper = this;\n let newIndex = index;\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}\n","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const { animating, enabled, params } = swiper;\n if (!enabled) return swiper;\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const { params, animating, snapGrid, slidesGrid, rtlTranslate, enabled } = swiper;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map((val) => normalize(val));\n\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (\n params.slidesPerView === 'auto' &&\n params.slidesPerGroup === 1 &&\n params.slidesPerGroupAuto\n ) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex =\n swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual\n ? swiper.virtual.slides.length - 1\n : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n","/* eslint no-unused-vars: \"off\" */\r\nexport default function slideReset(speed = this.params.speed, runCallbacks = true, internal) {\r\n const swiper = this;\r\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\r\n}\r\n","/* eslint no-unused-vars: \"off\" */\r\nexport default function slideToClosest(\r\n speed = this.params.speed,\r\n runCallbacks = true,\r\n internal,\r\n threshold = 0.5,\r\n) {\r\n const swiper = this;\r\n let index = swiper.activeIndex;\r\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\r\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\r\n\r\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\r\n\r\n if (translate >= swiper.snapGrid[snapIndex]) {\r\n // The current translate is on or after the current snap index, so the choice\r\n // is between the current index and the one after it.\r\n const currentSnap = swiper.snapGrid[snapIndex];\r\n const nextSnap = swiper.snapGrid[snapIndex + 1];\r\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\r\n index += swiper.params.slidesPerGroup;\r\n }\r\n } else {\r\n // The current translate is before the current snap index, so the choice\r\n // is between the current index and the one before it.\r\n const prevSnap = swiper.snapGrid[snapIndex - 1];\r\n const currentSnap = swiper.snapGrid[snapIndex];\r\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\r\n index -= swiper.params.slidesPerGroup;\r\n }\r\n }\r\n index = Math.max(index, 0);\r\n index = Math.min(index, swiper.slidesGrid.length - 1);\r\n\r\n return swiper.slideTo(index, speed, runCallbacks, internal);\r\n}\r\n","import $ from '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\n\nexport default function slideToClickedSlide() {\n const swiper = this;\n const { params, $wrapperEl } = swiper;\n\n const slidesPerView =\n params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (\n slideToIndex < swiper.loopedSlides - slidesPerView / 2 ||\n slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2\n ) {\n swiper.loopFix();\n slideToIndex = $wrapperEl\n .children(\n `.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`,\n )\n .eq(0)\n .index();\n\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl\n .children(\n `.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`,\n )\n .eq(0)\n .index();\n\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n","import loopCreate from './loopCreate.js';\r\nimport loopFix from './loopFix.js';\r\nimport loopDestroy from './loopDestroy.js';\r\n\r\nexport default {\r\n loopCreate,\r\n loopFix,\r\n loopDestroy,\r\n};\r\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function loopCreate() {\n const swiper = this;\n const document = getDocument();\n const { params, $wrapperEl } = swiper;\n // Remove duplicated slides\n const $selector =\n $wrapperEl.children().length > 0 ? $($wrapperEl.children()[0].parentNode) : $wrapperEl;\n $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();\n\n let slides = $selector.children(`.${params.slideClass}`);\n\n if (params.loopFillGroupWithBlank) {\n const blankSlidesNum = params.slidesPerGroup - (slides.length % params.slidesPerGroup);\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (let i = 0; i < blankSlidesNum; i += 1) {\n const blankNode = $(document.createElement('div')).addClass(\n `${params.slideClass} ${params.slideBlankClass}`,\n );\n $selector.append(blankNode);\n }\n slides = $selector.children(`.${params.slideClass}`);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) {\n swiper.loopedSlides = slides.length;\n }\n\n const prependSlides = [];\n const appendSlides = [];\n\n slides.each((el, index) => {\n const slide = $(el);\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (let i = 0; i < swiper.loopedSlides; i += 1) {\n const index = i - Math.floor(i / slides.length) * slides.length;\n appendSlides.push(slides.eq(index)[0]);\n prependSlides.unshift(slides.eq(slides.length - index - 1)[0]);\n }\n\n for (let i = 0; i < appendSlides.length; i += 1) {\n $selector.append($(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n for (let i = prependSlides.length - 1; i >= 0; i -= 1) {\n $selector.prepend($(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}\n","export default function loopFix() {\n const swiper = this;\n\n swiper.emit('beforeLoopFix');\n\n const {\n activeIndex,\n slides,\n loopedSlides,\n allowSlidePrev,\n allowSlideNext,\n snapGrid,\n rtlTranslate: rtl,\n } = swiper;\n let newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n\n const snapTranslate = -snapGrid[activeIndex];\n const diff = snapTranslate - swiper.getTranslate();\n\n // Fix For Negative Oversliding\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n swiper.emit('loopFix');\n}\n","export default function loopDestroy() {\n const swiper = this;\n const { $wrapperEl, params, slides } = swiper;\n $wrapperEl\n .children(\n `.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`,\n )\n .remove();\n slides.removeAttr('data-swiper-slide-index');\n}\n","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js';\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base = this) {\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n const window = getWindow();\n\n const data = swiper.touchEventsData;\n const { params, touches, enabled } = swiper;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = event.composedPath ? event.composedPath() : event.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n $targetEl = $(eventPath[0]);\n }\n\n const noSwipingSelector = params.noSwipingSelector\n ? params.noSwipingSelector\n : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (\n params.noSwiping &&\n (isTargetShadow\n ? closestElement(noSwipingSelector, $targetEl[0])\n : $targetEl.closest(noSwipingSelector)[0])\n ) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n if (\n edgeSwipeDetection &&\n (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)\n ) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined,\n });\n\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n if (e.type !== 'touchstart') {\n let preventDefault = true;\n if ($targetEl.is(data.focusableElements)) {\n preventDefault = false;\n if ($targetEl[0].nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (\n document.activeElement &&\n $(document.activeElement).is(data.focusableElements) &&\n document.activeElement !== $targetEl[0]\n ) {\n document.activeElement.blur();\n }\n\n const shouldPreventDefault =\n preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if (\n (params.touchStartForcePreventDefault || shouldPreventDefault) &&\n !$targetEl[0].isContentEditable\n ) {\n e.preventDefault();\n }\n }\n if (\n swiper.params.freeMode &&\n swiper.params.freeMode.enabled &&\n swiper.freeMode &&\n swiper.animating &&\n !params.cssMode\n ) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js';\n\nexport default function onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const { params, touches, rtlTranslate: rtl, enabled } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n const targetTouch =\n e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!$(e.target).is(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (\n (pageY < touches.startY && swiper.translate <= swiper.maxTranslate()) ||\n (pageY > touches.startY && swiper.translate >= swiper.minTranslate())\n ) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (\n (pageX < touches.startX && swiper.translate <= swiper.maxTranslate()) ||\n (pageX > touches.startX && swiper.translate >= swiper.minTranslate())\n ) {\n return;\n }\n }\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n if (e.targetTouches && e.targetTouches.length > 1) return;\n\n touches.currentX = pageX;\n touches.currentY = pageY;\n\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold)\n return;\n\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (\n (swiper.isHorizontal() && touches.currentY === touches.startY) ||\n (swiper.isVertical() && touches.currentX === touches.startX)\n ) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = (Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;\n data.isScrolling = swiper.isHorizontal()\n ? touchAngle > params.touchAngle\n : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop && !params.cssMode) {\n swiper.loopFix();\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n\n let diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance)\n data.currentTranslate =\n swiper.minTranslate() -\n 1 +\n (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance)\n data.currentTranslate =\n swiper.maxTranslate() +\n 1 -\n (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (\n !swiper.allowSlideNext &&\n swiper.swipeDirection === 'next' &&\n data.currentTranslate < data.startTranslate\n ) {\n data.currentTranslate = data.startTranslate;\n }\n if (\n !swiper.allowSlidePrev &&\n swiper.swipeDirection === 'prev' &&\n data.currentTranslate > data.startTranslate\n ) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal()\n ? touches.currentX - touches.startX\n : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (\n (params.freeMode && params.freeMode.enabled && swiper.freeMode) ||\n params.watchSlidesProgress\n ) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\n","import { now, nextTick } from '../../shared/utils.js';\n\nexport default function onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n\n const { params, touches, rtlTranslate: rtl, slidesGrid, enabled } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n // Return Grab Cursor\n if (\n params.grabCursor &&\n data.isMoved &&\n data.isTouched &&\n (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)\n ) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || (e.composedPath && e.composedPath());\n swiper.updateClickedSlide((pathTree && pathTree[0]) || e.target);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (\n !data.isTouched ||\n !data.isMoved ||\n !swiper.swipeDirection ||\n touches.diff === 0 ||\n data.currentTranslate === data.startTranslate\n ) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({ currentPos });\n return;\n }\n\n // Find current slide\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (\n let i = 0;\n i < slidesGrid.length;\n i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup\n ) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex =\n swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual\n ? swiper.virtual.slides.length - 1\n : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio)\n swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);\n else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (\n rewindLastIndex !== null &&\n ratio < 0 &&\n Math.abs(ratio) > params.longSwipesRatio\n ) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget =\n swiper.navigation &&\n (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\n","export default function onResize() {\n const swiper = this;\n\n const { params, el } = swiper;\n\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const { allowSlideNext, allowSlidePrev, snapGrid } = swiper;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n\n swiper.updateSize();\n swiper.updateSlides();\n\n swiper.updateSlidesClasses();\n if (\n (params.slidesPerView === 'auto' || params.slidesPerView > 1) &&\n swiper.isEnd &&\n !swiper.isBeginning &&\n !swiper.params.centeredSlides\n ) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n","export default function onClick(e) {\r\n const swiper = this;\r\n if (!swiper.enabled) return;\r\n if (!swiper.allowClick) {\r\n if (swiper.params.preventClicks) e.preventDefault();\r\n if (swiper.params.preventClicksPropagation && swiper.animating) {\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n","export default function onScroll() {\n const swiper = this;\n const { wrapperEl, rtlTranslate, enabled } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}\n","import { getDocument } from 'ssr-window';\n\nimport onTouchStart from './onTouchStart.js';\nimport onTouchMove from './onTouchMove.js';\nimport onTouchEnd from './onTouchEnd.js';\nimport onResize from './onResize.js';\nimport onClick from './onClick.js';\nimport onScroll from './onScroll.js';\n\nlet dummyEventAttached = false;\nfunction dummyEventListener() {}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const { params, touchEvents, el, wrapperEl, device, support } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n\n // Touch Events\n if (!support.touch) {\n el[domMethod](touchEvents.start, swiper.onTouchStart, false);\n document[domMethod](touchEvents.move, swiper.onTouchMove, capture);\n document[domMethod](touchEvents.end, swiper.onTouchEnd, false);\n } else {\n const passiveListener =\n touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners\n ? { passive: true, capture: false }\n : false;\n el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);\n el[domMethod](\n touchEvents.move,\n swiper.onTouchMove,\n support.passiveListener ? { passive: false, capture } : capture,\n );\n el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);\n if (touchEvents.cancel) {\n el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](\n device.ios || device.android\n ? 'resize orientationchange observerUpdate'\n : 'resize observerUpdate',\n onResize,\n true,\n );\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n};\n\nfunction attachEvents() {\n const swiper = this;\n const document = getDocument();\n const { params, support } = swiper;\n\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n\n if (support.touch && !dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n\n events(swiper, 'on');\n}\n\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\n\nexport default {\n attachEvents,\n detachEvents,\n};\n","import { extend } from '../../shared/utils.js';\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\n\nexport default function setBreakpoint() {\n const swiper = this;\n const { activeIndex, initialized, loopedSlides = 0, params, $el } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) return;\n\n // Get breakpoint for window width and update parameters\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n\n const wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(\n `${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`,\n );\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(`${params.containerModifierClass}grid`);\n if (\n (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column') ||\n (!breakpointParams.grid.fill && params.grid.fill === 'column')\n ) {\n $el.addClass(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach((prop) => {\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n\n const directionChanged =\n breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop =\n params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n\n const isEnabled = swiper.params.enabled;\n\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}\n","import addClasses from './addClasses.js';\r\nimport removeClasses from './removeClasses.js';\r\n\r\nexport default { addClasses, removeClasses };\r\n","function prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach((item) => {\n if (typeof item === 'object') {\n Object.keys(item).forEach((classNames) => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n const swiper = this;\n const { classNames, params, rtl, $el, device, support } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses([\n 'initialized',\n params.direction,\n { 'pointer-events': !support.touch },\n { 'free-mode': swiper.params.freeMode && params.freeMode.enabled },\n { 'autoheight': params.autoHeight },\n { 'rtl': rtl },\n { 'grid': params.grid && params.grid.rows > 1 },\n { 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' },\n { 'android': device.android },\n { 'ios': device.ios },\n { 'css-mode': params.cssMode },\n { 'centered': params.cssMode && params.centeredSlides },\n { 'watch-progress': params.watchSlidesProgress },\n ], params.containerModifierClass);\n classNames.push(...suffixes);\n $el.addClass([...classNames].join(' '));\n swiper.emitContainerClasses();\n}\n","export default function removeClasses() {\n const swiper = this;\n const { $el, classNames } = swiper;\n\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}\n","function checkOverflow() {\r\n const swiper = this;\r\n const { isLocked: wasLocked, params } = swiper;\r\n const { slidesOffsetBefore } = params;\r\n\r\n if (slidesOffsetBefore) {\r\n const lastSlideIndex = swiper.slides.length - 1;\r\n const lastSlideRightEdge =\r\n swiper.slidesGrid[lastSlideIndex] +\r\n swiper.slidesSizesGrid[lastSlideIndex] +\r\n slidesOffsetBefore * 2;\r\n swiper.isLocked = swiper.size > lastSlideRightEdge;\r\n } else {\r\n swiper.isLocked = swiper.snapGrid.length === 1;\r\n }\r\n if (params.allowSlideNext === true) {\r\n swiper.allowSlideNext = !swiper.isLocked;\r\n }\r\n if (params.allowSlidePrev === true) {\r\n swiper.allowSlidePrev = !swiper.isLocked;\r\n }\r\n\r\n if (wasLocked && wasLocked !== swiper.isLocked) {\r\n swiper.isEnd = false;\r\n }\r\n if (wasLocked !== swiper.isLocked) {\r\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\r\n }\r\n}\r\n\r\nexport default { checkOverflow };\r\n","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n\n // Overrides\n width: null,\n height: null,\n\n //\n preventInteractionOnTransition: false,\n\n // ssr\n userAgent: null,\n url: null,\n\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n\n // Autoheight\n autoHeight: false,\n\n // Set wrapper width\n setWrapperSize: false,\n\n // Virtual Translate\n virtualTranslate: false,\n\n // Effects\n effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0, // in px\n slidesOffsetAfter: 0, // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n\n // Round length\n roundLengths: false,\n\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n\n // Unique Navigation Elements\n uniqueNavElements: true,\n\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n\n // Progress\n watchSlidesProgress: false,\n\n // Cursor\n grabCursor: false,\n\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopedSlidesLimit: true,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n\n // rewind\n rewind: false,\n\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null, // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n\n // Passive Listeners\n passiveListeners: true,\n\n maxBackfaceHiddenSlides: 10,\n\n // NS\n containerModifierClass: 'swiper-', // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n\n // Callbacks\n runCallbacksOnInit: true,\n\n // Internals\n _emitClasses: false,\n};\n","import { extend } from '../shared/utils.js';\r\n\r\nexport default function moduleExtendParams(params, allModulesParams) {\r\n return function extendParams(obj = {}) {\r\n const moduleParamName = Object.keys(obj)[0];\r\n const moduleParams = obj[moduleParamName];\r\n if (typeof moduleParams !== 'object' || moduleParams === null) {\r\n extend(allModulesParams, obj);\r\n return;\r\n }\r\n if (\r\n ['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 &&\r\n params[moduleParamName] === true\r\n ) {\r\n params[moduleParamName] = { auto: true };\r\n }\r\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\r\n extend(allModulesParams, obj);\r\n return;\r\n }\r\n if (params[moduleParamName] === true) {\r\n params[moduleParamName] = { enabled: true };\r\n }\r\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\r\n params[moduleParamName].enabled = true;\r\n }\r\n if (!params[moduleParamName]) params[moduleParamName] = { enabled: false };\r\n extend(allModulesParams, obj);\r\n };\r\n}\r\n","/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../shared/dom.js';\nimport { extend, now, deleteProps } from '../shared/utils.js';\nimport { getSupport } from '../shared/get-support.js';\nimport { getDevice } from '../shared/get-device.js';\nimport { getBrowser } from '../shared/get-browser.js';\n\nimport Resize from './modules/resize/resize.js';\nimport Observer from './modules/observer/observer.js';\n\nimport eventsEmitter from './events-emitter.js';\n\nimport update from './update/index.js';\nimport translate from './translate/index.js';\nimport transition from './transition/index.js';\nimport slide from './slide/index.js';\nimport loop from './loop/index.js';\nimport grabCursor from './grab-cursor/index.js';\nimport events from './events/index.js';\nimport breakpoints from './breakpoints/index.js';\nimport classes from './classes/index.js';\nimport images from './images/index.js';\nimport checkOverflow from './check-overflow/index.js';\n\nimport defaults from './defaults.js';\nimport moduleExtendParams from './moduleExtendParams.js';\n\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events,\n breakpoints,\n checkOverflow,\n classes,\n images,\n};\n\nconst extendedDefaults = {};\n\nclass Swiper {\n constructor(...args) {\n let el;\n let params;\n if (\n args.length === 1 &&\n args[0].constructor &&\n Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object'\n ) {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n const swipers = [];\n $(params.el).each((containerEl) => {\n const newParams = extend({}, params, { el: containerEl });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({ userAgent: params.userAgent });\n swiper.browser = getBrowser();\n\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n\n const allModulesParams = {};\n\n swiper.modules.forEach((mod) => {\n mod({\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper),\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach((eventName) => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Save Dom lib\n swiper.$ = $;\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n\n // Classes\n classNames: [],\n\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n\n //\n isBeginning: true,\n isEnd: false,\n\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n\n // Touch Events\n touchEvents: (function touchEvents() {\n const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n const desktop = ['pointerdown', 'pointermove', 'pointerup'];\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3],\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2],\n };\n return swiper.support.touch || !swiper.params.simulateTouch\n ? swiper.touchEventsTouch\n : swiper.touchEventsDesktop;\n })(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined,\n },\n\n // Clicks\n allowClick: true,\n\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0,\n },\n\n // Images\n imagesToLoad: [],\n imagesLoaded: 0,\n });\n\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter((className) => {\n return (\n className.indexOf('swiper') === 0 ||\n className.indexOf(swiper.params.containerModifierClass) === 0\n );\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n\n return slideEl.className\n .split(' ')\n .filter((className) => {\n return (\n className.indexOf('swiper-slide') === 0 ||\n className.indexOf(swiper.params.slideClass) === 0\n );\n })\n .join(' ');\n }\n\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.each((slideEl) => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({ slideEl, classNames });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n\n slidesPerViewDynamic(view = 'current', exact = false) {\n const swiper = this;\n const { params, slides, slidesGrid, slidesSizesGrid, size: swiperSize, activeIndex } = swiper;\n let spv = 1;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact\n ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize\n : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const { snapGrid, params } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(\n Math.max(translateValue, swiper.maxTranslate()),\n swiper.minTranslate(),\n );\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate();\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if (\n (swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) &&\n swiper.isEnd &&\n !swiper.params.centeredSlides\n ) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n\n changeDirection(newDirection, needUpdate = true) {\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (\n newDirection === currentDirection ||\n (newDirection !== 'horizontal' && newDirection !== 'vertical')\n ) {\n return swiper;\n }\n\n swiper.$el\n .removeClass(`${swiper.params.containerModifierClass}${currentDirection}`)\n .addClass(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n\n swiper.params.direction = newDirection;\n\n swiper.slides.each((slideEl) => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n\n return swiper;\n }\n\n changeLanguageDirection(direction) {\n const swiper = this;\n if ((swiper.rtl && direction === 'rtl') || (!swiper.rtl && direction === 'ltr')) return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n\n mount(el) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n const $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = $(el.shadowRoot.querySelector(getWrapperSelector()));\n // Children needs to return slot items\n res.children = (options) => $el.children(options);\n return res;\n }\n if (!$el.children) {\n return $($el).children(getWrapperSelector());\n }\n return $el.children(getWrapperSelector());\n };\n // Find Wrapper\n let $wrapperEl = getWrapper();\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n const document = getDocument();\n const wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(`.${swiper.params.slideClass}`).each((slideEl) => {\n $wrapperEl.append(slideEl);\n });\n }\n\n Object.assign(swiper, {\n $el,\n el,\n $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate:\n swiper.params.direction === 'horizontal' &&\n (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box',\n });\n\n return true;\n }\n\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop) {\n swiper.slideTo(\n swiper.params.initialSlide + swiper.loopedSlides,\n 0,\n swiper.params.runCallbacksOnInit,\n false,\n true,\n );\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Attach events\n swiper.attachEvents();\n\n // Init Flag\n swiper.initialized = true;\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n\n return swiper;\n }\n\n destroy(deleteInstance = true, cleanStyles = true) {\n const swiper = this;\n const { params, $el, $wrapperEl, slides } = swiper;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n if (slides && slides.length) {\n slides\n .removeClass(\n [\n params.slideVisibleClass,\n params.slideActiveClass,\n params.slideNextClass,\n params.slidePrevClass,\n ].join(' '),\n )\n .removeAttr('style')\n .removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach((eventName) => {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n\n return null;\n }\n\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n\n static get extendedDefaults() {\n return extendedDefaults;\n }\n\n static get defaults() {\n return defaults;\n }\n\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach((m) => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\n\nObject.keys(prototypes).forEach((prototypeGroup) => {\n Object.keys(prototypes[prototypeGroup]).forEach((protoMethod) => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\n\nSwiper.use([Resize, Observer]);\n\nexport default Swiper;\n","import setTransition from './setTransition.js';\r\nimport transitionStart from './transitionStart.js';\r\nimport transitionEnd from './transitionEnd.js';\r\n\r\nexport default {\r\n setTransition,\r\n transitionStart,\r\n transitionEnd,\r\n};\r\n","export default function setTransition(duration, byController) {\n const swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}\n","import transitionEmit from './transitionEmit.js';\r\n\r\nexport default function transitionStart(runCallbacks = true, direction) {\r\n const swiper = this;\r\n const { params } = swiper;\r\n if (params.cssMode) return;\r\n if (params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n\r\n transitionEmit({ swiper, runCallbacks, direction, step: 'Start' });\r\n}\r\n","import transitionEmit from './transitionEmit.js';\r\n\r\nexport default function transitionEnd(runCallbacks = true, direction) {\r\n const swiper = this;\r\n const { params } = swiper;\r\n swiper.animating = false;\r\n if (params.cssMode) return;\r\n swiper.setTransition(0);\r\n\r\n transitionEmit({ swiper, runCallbacks, direction, step: 'End' });\r\n}\r\n","import setGrabCursor from './setGrabCursor.js';\r\nimport unsetGrabCursor from './unsetGrabCursor.js';\r\n\r\nexport default {\r\n setGrabCursor,\r\n unsetGrabCursor,\r\n};\r\n","export default function setGrabCursor(moving) {\n const swiper = this;\n if (\n swiper.support.touch ||\n !swiper.params.simulateTouch ||\n (swiper.params.watchOverflow && swiper.isLocked) ||\n swiper.params.cssMode\n )\n return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}\n","export default function unsetGrabCursor() {\n const swiper = this;\n if (\n swiper.support.touch ||\n (swiper.params.watchOverflow && swiper.isLocked) ||\n swiper.params.cssMode\n ) {\n return;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n}\n","import setBreakpoint from './setBreakpoint.js';\r\nimport getBreakpoint from './getBreakpoint.js';\r\n\r\nexport default { setBreakpoint, getBreakpoint };\r\n","import { getWindow } from 'ssr-window';\r\n\r\nexport default function getBreakpoint(breakpoints, base = 'window', containerEl) {\r\n if (!breakpoints || (base === 'container' && !containerEl)) return undefined;\r\n let breakpoint = false;\r\n\r\n const window = getWindow();\r\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\r\n\r\n const points = Object.keys(breakpoints).map((point) => {\r\n if (typeof point === 'string' && point.indexOf('@') === 0) {\r\n const minRatio = parseFloat(point.substr(1));\r\n const value = currentHeight * minRatio;\r\n return { value, point };\r\n }\r\n return { value: point, point };\r\n });\r\n\r\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\r\n for (let i = 0; i < points.length; i += 1) {\r\n const { point, value } = points[i];\r\n if (base === 'window') {\r\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\r\n breakpoint = point;\r\n }\r\n } else if (value <= containerEl.clientWidth) {\r\n breakpoint = point;\r\n }\r\n }\r\n return breakpoint || 'max';\r\n}\r\n","import loadImage from './loadImage.js';\nimport preloadImages from './preloadImages.js';\n\nexport default {\n loadImage,\n preloadImages,\n};\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n const window = getWindow();\n let image;\n function onReady() {\n if (callback) callback();\n }\n const isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n if (sizes) {\n image.sizes = sizes;\n }\n if (srcset) {\n image.srcset = srcset;\n }\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}\n","export default function preloadImages() {\n const swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {\n const imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(\n imageEl,\n imageEl.currentSrc || imageEl.getAttribute('src'),\n imageEl.srcset || imageEl.getAttribute('srcset'),\n imageEl.sizes || imageEl.getAttribute('sizes'),\n true,\n onReady,\n );\n }\n}\n","import { getDocument } from 'ssr-window';\n\nexport default function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n const document = getDocument();\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach((key) => {\n if (!params[key] && params.auto === true) {\n let element = swiper.$el.children(`.${checkProps[key]}`)[0];\n if (!element) {\n element = document.createElement('div');\n element.className = checkProps[key];\n swiper.$el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\n","export default function classesToSelector(classes = '') {\r\n return `.${classes\r\n .trim()\r\n .replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\r\n .replace(/ /g, '.')}`;\r\n}\r\n","export default function appendSlide(slides) {\n const swiper = this;\n const { $wrapperEl, params } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n}\n","export default function prependSlide(slides) {\n const swiper = this;\n const { params, $wrapperEl, activeIndex } = swiper;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndex + 1;\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n swiper.slideTo(newActiveIndex, 0, false);\n}\n","export default function addSlide(index, slides) {\n const swiper = this;\n const { $wrapperEl, params, activeIndex } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n const baseLength = swiper.slides.length;\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n\n const slidesBuffer = [];\n for (let i = baseLength - 1; i >= index; i -= 1) {\n const currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n newActiveIndex =\n activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (let i = 0; i < slidesBuffer.length; i += 1) {\n $wrapperEl.append(slidesBuffer[i]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n","export default function removeSlide(slidesIndexes) {\n const swiper = this;\n const { params, $wrapperEl, activeIndex } = swiper;\n\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n let newActiveIndex = activeIndexBuffer;\n let indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (let i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!params.observer) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n","export default function removeAllSlides() {\r\n const swiper = this;\r\n\r\n const slidesIndexes = [];\r\n for (let i = 0; i < swiper.slides.length; i += 1) {\r\n slidesIndexes.push(i);\r\n }\r\n swiper.removeSlide(slidesIndexes);\r\n}\r\n","export default function effectInit(params) {\n const {\n effect,\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams,\n perspective,\n recreateShadows,\n getEffectParams,\n } = params;\n\n on('beforeInit', () => {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n if (perspective && perspective()) {\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n }\n\n const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on('setTranslate', () => {\n if (swiper.params.effect !== effect) return;\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n if (swiper.params.effect !== effect) return;\n setTransition(duration);\n });\n\n on('transitionEnd', () => {\n if (swiper.params.effect !== effect) return;\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return;\n // remove shadows\n swiper.slides.each((slideEl) => {\n const $slideEl = swiper.$(slideEl);\n $slideEl\n .find(\n '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left',\n )\n .remove();\n });\n // create new one\n recreateShadows();\n }\n });\n\n let requireUpdateOnVirtual;\n on('virtualUpdate', () => {\n if (swiper.params.effect !== effect) return;\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n requestAnimationFrame(() => {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate();\n requireUpdateOnVirtual = false;\n }\n });\n });\n}\n","export default function effectTarget(effectParams, $slideEl) {\n if (effectParams.transformEl) {\n return $slideEl.find(effectParams.transformEl).css({\n 'backface-visibility': 'hidden',\n '-webkit-backface-visibility': 'hidden',\n });\n }\n return $slideEl;\n}\n","export default function effectVirtualTransitionEnd({ swiper, duration, transformEl, allSlides }) {\n const { slides, activeIndex, $wrapperEl } = swiper;\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n let $transitionEndTarget;\n if (allSlides) {\n $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;\n } else {\n $transitionEndTarget = transformEl\n ? slides.eq(activeIndex).find(transformEl)\n : slides.eq(activeIndex);\n }\n $transitionEndTarget.transitionEnd(() => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n for (let i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n}\n","import $ from './dom.js';\n\nexport default function createShadow(params, $slideEl, side) {\n const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`;\n const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl;\n let $shadowEl = $shadowContainer.children(`.${shadowClass}`);\n\n if (!$shadowEl.length) {\n $shadowEl = $(`
    `);\n $shadowContainer.append($shadowEl);\n }\n return $shadowEl;\n}\n","import { getWindow } from 'ssr-window';\r\n\r\nexport default function Resize({ swiper, on, emit }) {\r\n const window = getWindow();\r\n let observer = null;\r\n let animationFrame = null;\r\n\r\n const resizeHandler = () => {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\r\n emit('beforeResize');\r\n emit('resize');\r\n };\r\n\r\n const createObserver = () => {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\r\n observer = new ResizeObserver((entries) => {\r\n animationFrame = window.requestAnimationFrame(() => {\r\n const { width, height } = swiper;\r\n let newWidth = width;\r\n let newHeight = height;\r\n entries.forEach(({ contentBoxSize, contentRect, target }) => {\r\n if (target && target !== swiper.el) return;\r\n newWidth = contentRect\r\n ? contentRect.width\r\n : (contentBoxSize[0] || contentBoxSize).inlineSize;\r\n newHeight = contentRect\r\n ? contentRect.height\r\n : (contentBoxSize[0] || contentBoxSize).blockSize;\r\n });\r\n if (newWidth !== width || newHeight !== height) {\r\n resizeHandler();\r\n }\r\n });\r\n });\r\n observer.observe(swiper.el);\r\n };\r\n\r\n const removeObserver = () => {\r\n if (animationFrame) {\r\n window.cancelAnimationFrame(animationFrame);\r\n }\r\n if (observer && observer.unobserve && swiper.el) {\r\n observer.unobserve(swiper.el);\r\n observer = null;\r\n }\r\n };\r\n\r\n const orientationChangeHandler = () => {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\r\n emit('orientationchange');\r\n };\r\n\r\n on('init', () => {\r\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\r\n createObserver();\r\n return;\r\n }\r\n window.addEventListener('resize', resizeHandler);\r\n window.addEventListener('orientationchange', orientationChangeHandler);\r\n });\r\n\r\n on('destroy', () => {\r\n removeObserver();\r\n window.removeEventListener('resize', resizeHandler);\r\n window.removeEventListener('orientationchange', orientationChangeHandler);\r\n });\r\n}\r\n","import { getWindow } from 'ssr-window';\n\nexport default function Observer({ swiper, extendParams, on, emit }) {\n const observers = [];\n const window = getWindow();\n const attach = (target, options = {}) => {\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc((mutations) => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData,\n });\n\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = swiper.$el.parents();\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren,\n });\n\n // Observe wrapper\n attach(swiper.$wrapperEl[0], { attributes: false });\n };\n const destroy = () => {\n observers.forEach((observer) => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false,\n });\n on('init', init);\n on('destroy', destroy);\n}\n","// Swiper Class\r\nimport Swiper from './core/core.js';\r\n\r\n//IMPORT_MODULES\r\n\r\nconst modules = [\r\n //INSTALL_MODULES\r\n];\r\n\r\nSwiper.use(modules);\r\n\r\n//EXPORT\r\n","import $ from '../../shared/dom.js';\nimport { setCSSProperty } from '../../shared/utils.js';\n\nexport default function Virtual({ swiper, extendParams, on, emit }) {\n extendParams({\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0,\n },\n });\n\n let cssModeTimeout;\n\n swiper.virtual = {\n cache: {},\n from: undefined,\n to: undefined,\n slides: [],\n offset: 0,\n slidesGrid: [],\n };\n\n function renderSlide(slide, index) {\n const params = swiper.params.virtual;\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n const $slideEl = params.renderSlide\n ? $(params.renderSlide.call(swiper, slide, index))\n : $(\n `
    ${slide}
    `,\n );\n if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\n if (params.cache) swiper.virtual.cache[index] = $slideEl;\n return $slideEl;\n }\n\n function update(force) {\n const { slidesPerView, slidesPerGroup, centeredSlides } = swiper.params;\n const { addSlidesBefore, addSlidesAfter } = swiper.params.virtual;\n const {\n from: previousFrom,\n to: previousTo,\n slides,\n slidesGrid: previousSlidesGrid,\n offset: previousOffset,\n } = swiper.virtual;\n if (!swiper.params.cssMode) {\n swiper.updateActiveIndex();\n }\n\n const activeIndex = swiper.activeIndex || 0;\n\n let offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';\n else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n\n let slidesAfter;\n let slidesBefore;\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = slidesPerGroup + addSlidesBefore;\n }\n const from = Math.max((activeIndex || 0) - slidesBefore, 0);\n const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n const offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n\n Object.assign(swiper.virtual, {\n from,\n to,\n offset,\n slidesGrid: swiper.slidesGrid,\n });\n\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n emit('virtualUpdate');\n }\n\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.css(offsetProp, `${offset}px`);\n }\n swiper.updateProgress();\n emit('virtualUpdate');\n return;\n }\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset,\n from,\n to,\n slides: (function getSlides() {\n const slidesToRender = [];\n for (let i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n return slidesToRender;\n })(),\n });\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n } else {\n emit('virtualUpdate');\n }\n return;\n }\n const prependIndexes = [];\n const appendIndexes = [];\n if (force) {\n swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove();\n } else {\n for (let i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl\n .find(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${i}\"]`)\n .remove();\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n if (i >= from && i <= to) {\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(i);\n } else {\n if (i > previousTo) appendIndexes.push(i);\n if (i < previousFrom) prependIndexes.push(i);\n }\n }\n }\n appendIndexes.forEach((index) => {\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\n });\n prependIndexes\n .sort((a, b) => b - a)\n .forEach((index) => {\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\n });\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, `${offset}px`);\n onRendered();\n }\n\n function appendSlide(slides) {\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n update(true);\n }\n function prependSlide(slides) {\n const activeIndex = swiper.activeIndex;\n let newActiveIndex = activeIndex + 1;\n let numberOfNewSlides = 1;\n\n if (Array.isArray(slides)) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n if (swiper.params.virtual.cache) {\n const cache = swiper.virtual.cache;\n const newCache = {};\n Object.keys(cache).forEach((cachedIndex) => {\n const $cachedEl = cache[cachedIndex];\n const cachedElIndex = $cachedEl.attr('data-swiper-slide-index');\n if (cachedElIndex) {\n $cachedEl.attr(\n 'data-swiper-slide-index',\n parseInt(cachedElIndex, 10) + numberOfNewSlides,\n );\n }\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n update(true);\n swiper.slideTo(newActiveIndex, 0);\n }\n function removeSlide(slidesIndexes) {\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n let activeIndex = swiper.activeIndex;\n if (Array.isArray(slidesIndexes)) {\n for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n update(true);\n swiper.slideTo(activeIndex, 0);\n }\n function removeAllSlides() {\n swiper.virtual.slides = [];\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n update(true);\n swiper.slideTo(0, 0);\n }\n\n on('beforeInit', () => {\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.slides = swiper.params.virtual.slides;\n swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n\n if (!swiper.params.initialSlide) {\n update();\n }\n });\n on('setTranslate', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode && !swiper._immediateVirtual) {\n clearTimeout(cssModeTimeout);\n cssModeTimeout = setTimeout(() => {\n update();\n }, 100);\n } else {\n update();\n }\n });\n on('init update resize', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);\n }\n });\n\n Object.assign(swiper.virtual, {\n appendSlide,\n prependSlide,\n removeSlide,\n removeAllSlides,\n update,\n });\n}\n","/* eslint-disable consistent-return */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function Keyboard({ swiper, extendParams, on, emit }) {\n const document = getDocument();\n const window = getWindow();\n swiper.keyboard = {\n enabled: false,\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true,\n },\n });\n\n function handle(event) {\n if (!swiper.enabled) return;\n\n const { rtlTranslate: rtl } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n const kc = e.keyCode || e.charCode;\n const pageUpDown = swiper.params.keyboard.pageUpDown;\n const isPageUp = pageUpDown && kc === 33;\n const isPageDown = pageUpDown && kc === 34;\n const isArrowLeft = kc === 37;\n const isArrowRight = kc === 39;\n const isArrowUp = kc === 38;\n const isArrowDown = kc === 40;\n // Directions locks\n if (\n !swiper.allowSlideNext &&\n ((swiper.isHorizontal() && isArrowRight) ||\n (swiper.isVertical() && isArrowDown) ||\n isPageDown)\n ) {\n return false;\n }\n if (\n !swiper.allowSlidePrev &&\n ((swiper.isHorizontal() && isArrowLeft) || (swiper.isVertical() && isArrowUp) || isPageUp)\n ) {\n return false;\n }\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n if (\n document.activeElement &&\n document.activeElement.nodeName &&\n (document.activeElement.nodeName.toLowerCase() === 'input' ||\n document.activeElement.nodeName.toLowerCase() === 'textarea')\n ) {\n return undefined;\n }\n if (\n swiper.params.keyboard.onlyInViewport &&\n (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)\n ) {\n let inView = false;\n // Check that swiper should be inside of visible area of window\n if (\n swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 &&\n swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0\n ) {\n return undefined;\n }\n\n const $el = swiper.$el;\n const swiperWidth = $el[0].clientWidth;\n const swiperHeight = $el[0].clientHeight;\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [\n [swiperOffset.left, swiperOffset.top],\n [swiperOffset.left + swiperWidth, swiperOffset.top],\n [swiperOffset.left, swiperOffset.top + swiperHeight],\n [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight],\n ];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n inView = true;\n }\n }\n if (!inView) return undefined;\n }\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n }\n if (((isPageDown || isArrowRight) && !rtl) || ((isPageUp || isArrowLeft) && rtl))\n swiper.slideNext();\n if (((isPageUp || isArrowLeft) && !rtl) || ((isPageDown || isArrowRight) && rtl))\n swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n }\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n emit('keyPress', kc);\n return undefined;\n }\n function enable() {\n if (swiper.keyboard.enabled) return;\n $(document).on('keydown', handle);\n swiper.keyboard.enabled = true;\n }\n function disable() {\n if (!swiper.keyboard.enabled) return;\n $(document).off('keydown', handle);\n swiper.keyboard.enabled = false;\n }\n\n on('init', () => {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n\n Object.assign(swiper.keyboard, {\n enable,\n disable,\n });\n}\n","/* eslint-disable consistent-return */\nimport { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now, nextTick } from '../../shared/utils.js';\n\nexport default function Mousewheel({ swiper, extendParams, on, emit }) {\n const window = getWindow();\n\n extendParams({\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null,\n },\n });\n\n swiper.mousewheel = {\n enabled: false,\n };\n\n let timeout;\n let lastScrollTime = now();\n let lastEventBeforeSnap;\n const recentWheelEvents = [];\n\n function normalize(e) {\n // Reasonable defaults\n const PIXEL_STEP = 10;\n const LINE_HEIGHT = 40;\n const PAGE_HEIGHT = 800;\n\n let sX = 0;\n let sY = 0; // spinX, spinY\n let pX = 0;\n let pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in e) {\n sY = e.detail;\n }\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n }\n\n // side scrolling on FF with DOMMouseScroll\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY,\n };\n }\n function handleMouseEnter() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n }\n function handleMouseLeave() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n }\n function animateSlider(newEvent) {\n if (\n swiper.params.mousewheel.thresholdDelta &&\n newEvent.delta < swiper.params.mousewheel.thresholdDelta\n ) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n\n if (\n swiper.params.mousewheel.thresholdTime &&\n now() - lastScrollTime < swiper.params.mousewheel.thresholdTime\n ) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n }\n\n // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {\n // Return false as a default\n return true;\n }\n // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n emit('scroll', newEvent.raw);\n }\n // If you got here is because an animation has been triggered so store the current time\n lastScrollTime = new window.Date().getTime();\n // Return false as a default\n return false;\n }\n function releaseScroll(newEvent) {\n const params = swiper.params.mousewheel;\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n return false;\n }\n function handle(event) {\n let e = event;\n let disableParentSwiper = true;\n if (!swiper.enabled) return;\n const params = swiper.params.mousewheel;\n\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n\n let target = swiper.$el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges)\n return true;\n\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n let delta = 0;\n const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n\n const data = normalize(e);\n\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;\n else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;\n else return true;\n } else {\n delta =\n Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n\n if (delta === 0) return true;\n\n if (params.invert) delta = -delta;\n\n // Get the scroll positions\n let positions = swiper.getTranslate() + delta * params.sensitivity;\n\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();\n\n // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n disableParentSwiper = swiper.params.loop\n ? true\n : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n\n if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n // Register the new event in a variable which stores the relevant data\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event,\n };\n\n // Keep the most recent events\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n const prevEvent = recentWheelEvents.length\n ? recentWheelEvents[recentWheelEvents.length - 1]\n : undefined;\n recentWheelEvents.push(newEvent);\n\n // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n if (prevEvent) {\n if (\n newEvent.direction !== prevEvent.direction ||\n newEvent.delta > prevEvent.delta ||\n newEvent.time > prevEvent.time + 150\n ) {\n animateSlider(newEvent);\n }\n } else {\n animateSlider(newEvent);\n }\n\n // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n if (releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n };\n const ignoreWheelEvents =\n lastEventBeforeSnap &&\n newEvent.time < lastEventBeforeSnap.time + 500 &&\n newEvent.delta <= lastEventBeforeSnap.delta &&\n newEvent.direction === lastEventBeforeSnap.direction;\n if (!ignoreWheelEvents) {\n lastEventBeforeSnap = undefined;\n\n if (swiper.params.loop) {\n swiper.loopFix();\n }\n let position = swiper.getTranslate() + delta * params.sensitivity;\n const wasBeginning = swiper.isBeginning;\n const wasEnd = swiper.isEnd;\n\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if ((!wasBeginning && swiper.isBeginning) || (!wasEnd && swiper.isEnd)) {\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode.sticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(timeout);\n timeout = undefined;\n if (recentWheelEvents.length >= 15) {\n recentWheelEvents.shift(); // only store the last N events\n }\n const prevEvent = recentWheelEvents.length\n ? recentWheelEvents[recentWheelEvents.length - 1]\n : undefined;\n const firstEvent = recentWheelEvents[0];\n recentWheelEvents.push(newEvent);\n if (\n prevEvent &&\n (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)\n ) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n recentWheelEvents.splice(0);\n } else if (\n recentWheelEvents.length >= 15 &&\n newEvent.time - firstEvent.time < 500 &&\n firstEvent.delta - newEvent.delta >= 1 &&\n newEvent.delta <= 6\n ) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n const snapToThreshold = delta > 0 ? 0.8 : 0.2;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n timeout = nextTick(() => {\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n if (!timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n timeout = nextTick(() => {\n const snapToThreshold = 0.5;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n }\n\n // Emit event\n if (!ignoreWheelEvents) emit('scroll', e);\n\n // Stop autoplay\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction)\n swiper.autoplay.stop();\n // Return page scroll on edge positions\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n }\n }\n\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n return false;\n }\n\n function events(method) {\n let target = swiper.$el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n target[method]('mouseenter', handleMouseEnter);\n target[method]('mouseleave', handleMouseLeave);\n target[method]('wheel', handle);\n }\n\n function enable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener('wheel', handle);\n return true;\n }\n if (swiper.mousewheel.enabled) return false;\n events('on');\n swiper.mousewheel.enabled = true;\n return true;\n }\n function disable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, handle);\n return true;\n }\n if (!swiper.mousewheel.enabled) return false;\n events('off');\n swiper.mousewheel.enabled = false;\n return true;\n }\n\n on('init', () => {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n disable();\n }\n if (swiper.params.mousewheel.enabled) enable();\n });\n on('destroy', () => {\n if (swiper.params.cssMode) {\n enable();\n }\n if (swiper.mousewheel.enabled) disable();\n });\n\n Object.assign(swiper.mousewheel, {\n enable,\n disable,\n });\n}\n","import createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nimport $ from '../../shared/dom.js';\n\nexport default function Navigation({ swiper, extendParams, on, emit }) {\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled',\n },\n });\n\n swiper.navigation = {\n nextEl: null,\n $nextEl: null,\n prevEl: null,\n $prevEl: null,\n };\n\n function getEl(el) {\n let $el;\n if (el) {\n $el = $(el);\n if (\n swiper.params.uniqueNavElements &&\n typeof el === 'string' &&\n $el.length > 1 &&\n swiper.$el.find(el).length === 1\n ) {\n $el = swiper.$el.find(el);\n }\n }\n return $el;\n }\n\n function toggleEl($el, disabled) {\n const params = swiper.params.navigation;\n if ($el && $el.length > 0) {\n $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n }\n function update() {\n // Update Navigation Buttons\n if (swiper.params.loop) return;\n const { $nextEl, $prevEl } = swiper.navigation;\n\n toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n\n swiper.params.navigation = createElementIfNotDefined(\n swiper,\n swiper.originalParams.navigation,\n swiper.params.navigation,\n {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev',\n },\n );\n if (!(params.nextEl || params.prevEl)) return;\n\n const $nextEl = getEl(params.nextEl);\n const $prevEl = getEl(params.prevEl);\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', onNextClick);\n }\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', onPrevClick);\n }\n\n Object.assign(swiper.navigation, {\n $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl,\n prevEl: $prevEl && $prevEl[0],\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n }\n function destroy() {\n const { $nextEl, $prevEl } = swiper.navigation;\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const { $nextEl, $prevEl } = swiper.navigation;\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n });\n on('click', (_s, e) => {\n const { $nextEl, $prevEl } = swiper.navigation;\n const targetEl = e.target;\n if (\n swiper.params.navigation.hideOnClick &&\n !$(targetEl).is($prevEl) &&\n !$(targetEl).is($nextEl)\n ) {\n if (\n swiper.pagination &&\n swiper.params.pagination &&\n swiper.params.pagination.clickable &&\n (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))\n )\n return;\n let isHidden;\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass);\n init();\n update();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass);\n destroy();\n };\n\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy,\n });\n}\n","import $ from '../../shared/dom.js';\nimport classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\n\nexport default function Pagination({ swiper, extendParams, on, emit }) {\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: (number) => number,\n formatFractionTotal: (number) => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`,\n },\n });\n\n swiper.pagination = {\n el: null,\n $el: null,\n bullets: [],\n };\n\n let bulletSize;\n let dynamicBulletIndex = 0;\n\n function isPaginationDisabled() {\n return (\n !swiper.params.pagination.el ||\n !swiper.pagination.el ||\n !swiper.pagination.$el ||\n swiper.pagination.$el.length === 0\n );\n }\n\n function setSideBullets($bulletEl, position) {\n const { bulletActiveClass } = swiper.params.pagination;\n $bulletEl[position]()\n .addClass(`${bulletActiveClass}-${position}`)\n [position]()\n .addClass(`${bulletActiveClass}-${position}-${position}`);\n }\n\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength =\n swiper.virtual && swiper.params.virtual.enabled\n ? swiper.virtual.slides.length\n : swiper.slides.length;\n const $el = swiper.pagination.$el;\n // Current/Total\n let current;\n const total = swiper.params.loop\n ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup)\n : swiper.snapGrid.length;\n if (swiper.params.loop) {\n current = Math.ceil(\n (swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup,\n );\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n }\n // Types\n if (\n params.type === 'bullets' &&\n swiper.pagination.bullets &&\n swiper.pagination.bullets.length > 0\n ) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(\n swiper.isHorizontal() ? 'width' : 'height',\n `${bulletSize * (params.dynamicMainBullets + 4)}px`,\n );\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.removeClass(\n ['', '-next', '-next-next', '-prev', '-prev-prev', '-main']\n .map((suffix) => `${params.bulletActiveClass}${suffix}`)\n .join(' '),\n );\n if ($el.length > 1) {\n bullets.each((bullet) => {\n const $bullet = $(bullet);\n const bulletIndex = $bullet.index();\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(`${params.bulletActiveClass}-main`);\n }\n if (bulletIndex === firstIndex) {\n setSideBullets($bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets($bullet, 'next');\n }\n }\n });\n } else {\n const $bullet = bullets.eq(current);\n const bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n if (params.dynamicBullets) {\n const $firstDisplayedBullet = bullets.eq(firstIndex);\n const $lastDisplayedBullet = bullets.eq(lastIndex);\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);\n }\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length) {\n for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {\n bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`);\n }\n bullets\n .eq(bullets.length - params.dynamicMainBullets - 1)\n .addClass(`${params.bulletActiveClass}-prev`);\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset =\n (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`);\n }\n }\n if (params.type === 'fraction') {\n $el\n .find(classesToSelector(params.currentClass))\n .text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n $el\n .find(classesToSelector(params.progressbarFillClass))\n .transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`)\n .transition(swiper.params.speed);\n }\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n emit('paginationRender', $el[0]);\n } else {\n emit('paginationUpdate', $el[0]);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength =\n swiper.virtual && swiper.params.virtual.enabled\n ? swiper.virtual.slides.length\n : swiper.slides.length;\n\n const $el = swiper.pagination.$el;\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop\n ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup)\n : swiper.snapGrid.length;\n if (\n swiper.params.freeMode &&\n swiper.params.freeMode.enabled &&\n !swiper.params.loop &&\n numberOfBullets > slidesLength\n ) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\">`;\n }\n }\n $el.html(paginationHTML);\n\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML =\n `` +\n ' / ' +\n ``;\n }\n $el.html(paginationHTML);\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n $el.html(paginationHTML);\n }\n if (params.type !== 'custom') {\n emit('paginationRender', swiper.pagination.$el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(\n swiper,\n swiper.originalParams.pagination,\n swiper.params.pagination,\n { el: 'swiper-pagination' },\n );\n const params = swiper.params.pagination;\n if (!params.el) return;\n\n let $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n // check if it belongs to another nested Swiper\n if ($el.length > 1) {\n $el = $el.filter((el) => {\n if ($(el).parents('.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n let index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n Object.assign(swiper.pagination, {\n $el,\n el: $el[0],\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const $el = swiper.pagination.$el;\n\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass)\n swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (swiper.params.loop) {\n update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n if (!swiper.params.loop) {\n update();\n }\n });\n on('slidesLengthChange', () => {\n if (swiper.params.loop) {\n render();\n update();\n }\n });\n on('snapGridLengthChange', () => {\n if (!swiper.params.loop) {\n render();\n update();\n }\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const { $el } = swiper.pagination;\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const { $el } = swiper.pagination;\n if (\n swiper.params.pagination.el &&\n swiper.params.pagination.hideOnClick &&\n $el &&\n $el.length > 0 &&\n !$(targetEl).hasClass(swiper.params.pagination.bulletClass)\n ) {\n if (\n swiper.navigation &&\n ((swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl) ||\n (swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl))\n )\n return;\n const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n $el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n if (swiper.pagination.$el) {\n swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n }\n init();\n render();\n update();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n if (swiper.pagination.$el) {\n swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n }\n destroy();\n };\n\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy,\n });\n}\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\n\nexport default function Scrollbar({ swiper, extendParams, on, emit }) {\n const document = getDocument();\n\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`,\n },\n });\n\n swiper.scrollbar = {\n el: null,\n dragEl: null,\n $el: null,\n $dragEl: null,\n };\n\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const { scrollbar, rtlTranslate: rtl, progress } = swiper;\n const { $dragEl, $el } = scrollbar;\n const params = swiper.params.scrollbar;\n\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n $dragEl.transform(`translate3d(${newPos}px, 0, 0)`);\n $dragEl[0].style.width = `${newSize}px`;\n } else {\n $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);\n $dragEl[0].style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n $el[0].style.opacity = 1;\n timeout = setTimeout(() => {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n }\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n }\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n\n const { scrollbar } = swiper;\n const { $dragEl, $el } = scrollbar;\n\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n\n divider =\n swiper.size /\n (swiper.virtualSize +\n swiper.params.slidesOffsetBefore -\n (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = `${dragSize}px`;\n } else {\n $dragEl[0].style.height = `${dragSize}px`;\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](\n swiper.params.scrollbar.lockClass,\n );\n }\n }\n function getPointerPosition(e) {\n if (swiper.isHorizontal()) {\n return e.type === 'touchstart' || e.type === 'touchmove'\n ? e.targetTouches[0].clientX\n : e.clientX;\n }\n return e.type === 'touchstart' || e.type === 'touchmove'\n ? e.targetTouches[0].clientY\n : e.clientY;\n }\n function setDragPosition(e) {\n const { scrollbar, rtlTranslate: rtl } = swiper;\n const { $el } = scrollbar;\n\n let positionRatio;\n positionRatio =\n (getPointerPosition(e) -\n $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] -\n (dragStartPos !== null ? dragStartPos : dragSize / 2)) /\n (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n const position =\n swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const { scrollbar, $wrapperEl } = swiper;\n const { $el, $dragEl } = scrollbar;\n isTouched = true;\n dragStartPos =\n e.target === $dragEl[0] || e.target === $dragEl\n ? getPointerPosition(e) -\n e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top']\n : null;\n e.preventDefault();\n e.stopPropagation();\n\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n setDragPosition(e);\n\n clearTimeout(dragTimeout);\n\n $el.transition(0);\n if (params.hide) {\n $el.css('opacity', 1);\n }\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', 'none');\n }\n emit('scrollbarDragStart', e);\n }\n function onDragMove(e) {\n const { scrollbar, $wrapperEl } = swiper;\n const { $el, $dragEl } = scrollbar;\n\n if (!isTouched) return;\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n emit('scrollbarDragMove', e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const { scrollbar, $wrapperEl } = swiper;\n const { $el } = scrollbar;\n\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', '');\n $wrapperEl.transition('');\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n\n function events(method) {\n const { scrollbar, touchEventsTouch, touchEventsDesktop, params, support } = swiper;\n const $el = scrollbar.$el;\n if (!$el) return;\n const target = $el[0];\n const activeListener =\n support.passiveListener && params.passiveListeners\n ? { passive: false, capture: false }\n : false;\n const passiveListener =\n support.passiveListener && params.passiveListeners\n ? { passive: true, capture: false }\n : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n if (!support.touch) {\n target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener);\n document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener);\n document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener);\n } else {\n target[eventMethod](touchEventsTouch.start, onDragStart, activeListener);\n target[eventMethod](touchEventsTouch.move, onDragMove, activeListener);\n target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener);\n }\n }\n\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n function init() {\n const { scrollbar, $el: $swiperEl } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(\n swiper,\n swiper.originalParams.scrollbar,\n swiper.params.scrollbar,\n { el: 'swiper-scrollbar' },\n );\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n\n let $el = $(params.el);\n if (\n swiper.params.uniqueNavElements &&\n typeof params.el === 'string' &&\n $el.length > 1 &&\n $swiperEl.find(params.el).length === 1\n ) {\n $el = $swiperEl.find(params.el);\n }\n\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`);\n if ($dragEl.length === 0) {\n $dragEl = $(`
    `);\n $el.append($dragEl);\n }\n\n Object.assign(scrollbar, {\n $el,\n el: $el[0],\n $dragEl,\n dragEl: $dragEl[0],\n });\n\n if (params.draggable) {\n enableDraggable();\n }\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const $el = swiper.scrollbar.$el;\n if ($el) {\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n }\n\n disableDraggable();\n }\n\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const { $el } = swiper.scrollbar;\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n });\n on('destroy', () => {\n destroy();\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n init();\n updateSize();\n setTranslate();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n destroy();\n };\n\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy,\n });\n}\n","import $ from '../../shared/dom.js';\n\nexport default function Parallax({ swiper, extendParams, on }) {\n extendParams({\n parallax: {\n enabled: false,\n },\n });\n\n const setTransform = (el, progress) => {\n const { rtl } = swiper;\n\n const $el = $(el);\n const rtlFactor = rtl ? -1 : 1;\n\n const p = $el.attr('data-swiper-parallax') || '0';\n let x = $el.attr('data-swiper-parallax-x');\n let y = $el.attr('data-swiper-parallax-y');\n const scale = $el.attr('data-swiper-parallax-scale');\n const opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if (x.indexOf('%') >= 0) {\n x = `${parseInt(x, 10) * progress * rtlFactor}%`;\n } else {\n x = `${x * progress * rtlFactor}px`;\n }\n if (y.indexOf('%') >= 0) {\n y = `${parseInt(y, 10) * progress}%`;\n } else {\n y = `${y * progress}px`;\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(`translate3d(${x}, ${y}, 0px)`);\n } else {\n const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`);\n }\n };\n\n const setTranslate = () => {\n const { $el, slides, progress, snapGrid } = swiper;\n $el\n .children(\n '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]',\n )\n .each((el) => {\n setTransform(el, progress);\n });\n slides.each((slideEl, slideIndex) => {\n let slideProgress = slideEl.progress;\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n $(slideEl)\n .find(\n '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]',\n )\n .each((el) => {\n setTransform(el, slideProgress);\n });\n });\n };\n\n const setTransition = (duration = swiper.params.speed) => {\n const { $el } = swiper;\n $el\n .find(\n '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]',\n )\n .each((parallaxEl) => {\n const $parallaxEl = $(parallaxEl);\n let parallaxDuration =\n parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n };\n\n on('beforeInit', () => {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n });\n on('init', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTranslate', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTransition', (_swiper, duration) => {\n if (!swiper.params.parallax.enabled) return;\n setTransition(duration);\n });\n}\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { getTranslate } from '../../shared/utils.js';\n\nexport default function Zoom({ swiper, extendParams, on, emit }) {\n const window = getWindow();\n extendParams({\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed',\n },\n });\n\n swiper.zoom = {\n enabled: false,\n };\n\n let currentScale = 1;\n let isScaling = false;\n let gesturesEnabled;\n let fakeGestureTouched;\n let fakeGestureMoved;\n const gesture = {\n $slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n $imageEl: undefined,\n $imageWrapEl: undefined,\n maxRatio: 3,\n };\n const image = {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {},\n };\n const velocity = {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined,\n };\n\n let scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get() {\n return scale;\n },\n set(value) {\n if (scale !== value) {\n const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined;\n const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined;\n emit('zoomChange', value, imageEl, slideEl);\n }\n scale = value;\n },\n });\n\n function getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n const x1 = e.targetTouches[0].pageX;\n const y1 = e.targetTouches[0].pageY;\n const x2 = e.targetTouches[1].pageX;\n const y2 = e.targetTouches[1].pageY;\n const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n return distance;\n }\n\n // Events\n function onGestureStart(e) {\n const support = swiper.support;\n const params = swiper.params.zoom;\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n if (!support.gestures) {\n if (e.type !== 'touchstart' || (e.type === 'touchstart' && e.targetTouches.length < 2)) {\n return;\n }\n fakeGestureTouched = true;\n gesture.scaleStart = getDistanceBetweenTouches(e);\n }\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = $(e.target).closest(`.${swiper.params.slideClass}`);\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl\n .find(`.${params.containerClass}`)\n .eq(0)\n .find('picture, img, svg, canvas, .swiper-zoom-target')\n .eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = undefined;\n return;\n }\n }\n if (gesture.$imageEl) {\n gesture.$imageEl.transition(0);\n }\n isScaling = true;\n }\n function onGestureChange(e) {\n const support = swiper.support;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n if (!support.gestures) {\n if (e.type !== 'touchmove' || (e.type === 'touchmove' && e.targetTouches.length < 2)) {\n return;\n }\n fakeGestureMoved = true;\n gesture.scaleMove = getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\n if (e.type === 'gesturechange') onGestureStart(e);\n return;\n }\n if (support.gestures) {\n zoom.scale = e.scale * currentScale;\n } else {\n zoom.scale = (gesture.scaleMove / gesture.scaleStart) * currentScale;\n }\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;\n }\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;\n }\n gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n }\n function onGestureEnd(e) {\n const device = swiper.device;\n const support = swiper.support;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n if (!support.gestures) {\n if (!fakeGestureTouched || !fakeGestureMoved) {\n return;\n }\n if (\n e.type !== 'touchend' ||\n (e.type === 'touchend' && e.changedTouches.length < 2 && !device.android)\n ) {\n return;\n }\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl\n .transition(swiper.params.speed)\n .transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n currentScale = zoom.scale;\n isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = undefined;\n }\n function onTouchStart(e) {\n const device = swiper.device;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n }\n function onTouchMove(e) {\n const zoom = swiper.zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\n image.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n }\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!image.isMoved && !isScaling) {\n if (\n swiper.isHorizontal() &&\n ((Math.floor(image.minX) === Math.floor(image.startX) &&\n image.touchesCurrent.x < image.touchesStart.x) ||\n (Math.floor(image.maxX) === Math.floor(image.startX) &&\n image.touchesCurrent.x > image.touchesStart.x))\n ) {\n image.isTouched = false;\n return;\n }\n if (\n !swiper.isHorizontal() &&\n ((Math.floor(image.minY) === Math.floor(image.startY) &&\n image.touchesCurrent.y < image.touchesStart.y) ||\n (Math.floor(image.maxY) === Math.floor(image.startY) &&\n image.touchesCurrent.y > image.touchesStart.y))\n ) {\n image.isTouched = false;\n return;\n }\n }\n if (e.cancelable) {\n e.preventDefault();\n }\n e.stopPropagation();\n\n image.isMoved = true;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\n\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;\n }\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;\n }\n\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;\n }\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;\n }\n\n // Velocity\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x =\n (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y =\n (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n\n gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);\n }\n function onTouchEnd() {\n const zoom = swiper.zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n image.isTouched = false;\n image.isMoved = false;\n let momentumDurationX = 300;\n let momentumDurationY = 300;\n const momentumDistanceX = velocity.x * momentumDurationX;\n const newPositionX = image.currentX + momentumDistanceX;\n const momentumDistanceY = velocity.y * momentumDurationY;\n const newPositionY = image.currentY + momentumDistanceY;\n\n // Fix duration\n if (velocity.x !== 0)\n momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0)\n momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n const momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n\n image.currentX = newPositionX;\n image.currentY = newPositionY;\n\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n\n gesture.$imageWrapEl\n .transition(momentumDuration)\n .transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);\n }\n function onTransitionEnd() {\n const zoom = swiper.zoom;\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n if (gesture.$imageEl) {\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\n }\n if (gesture.$imageWrapEl) {\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\n }\n\n zoom.scale = 1;\n currentScale = 1;\n\n gesture.$slideEl = undefined;\n gesture.$imageEl = undefined;\n gesture.$imageWrapEl = undefined;\n }\n }\n\n function zoomIn(e) {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n\n if (!gesture.$slideEl) {\n if (e && e.target) {\n gesture.$slideEl = $(e.target).closest(`.${swiper.params.slideClass}`);\n }\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n }\n\n gesture.$imageEl = gesture.$slideEl\n .find(`.${params.containerClass}`)\n .eq(0)\n .find('picture, img, svg, canvas, .swiper-zoom-target')\n .eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n }\n if (\n !gesture.$imageEl ||\n gesture.$imageEl.length === 0 ||\n !gesture.$imageWrapEl ||\n gesture.$imageWrapEl.length === 0\n )\n return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.touchAction = 'none';\n }\n\n gesture.$slideEl.addClass(`${params.zoomedSlideClass}`);\n\n let touchX;\n let touchY;\n let offsetX;\n let offsetY;\n let diffX;\n let diffY;\n let translateX;\n let translateY;\n let imageWidth;\n let imageHeight;\n let scaledWidth;\n let scaledHeight;\n let translateMinX;\n let translateMinY;\n let translateMaxX;\n let translateMaxY;\n let slideWidth;\n let slideHeight;\n\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left + window.scrollX;\n offsetY = gesture.$slideEl.offset().top + window.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n gesture.$imageWrapEl\n .transition(300)\n .transform(`translate3d(${translateX}px, ${translateY}px,0)`);\n gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n }\n function zoomOut() {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n gesture.$imageEl = gesture.$slideEl\n .find(`.${params.containerClass}`)\n .eq(0)\n .find('picture, img, svg, canvas, .swiper-zoom-target')\n .eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n }\n if (\n !gesture.$imageEl ||\n gesture.$imageEl.length === 0 ||\n !gesture.$imageWrapEl ||\n gesture.$imageWrapEl.length === 0\n )\n return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.style.touchAction = '';\n }\n zoom.scale = 1;\n currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\n gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`);\n gesture.$slideEl = undefined;\n }\n\n // Toggle Zoom\n function zoomToggle(e) {\n const zoom = swiper.zoom;\n\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoomOut();\n } else {\n // Zoom In\n zoomIn(e);\n }\n }\n\n function getListeners() {\n const support = swiper.support;\n const passiveListener =\n swiper.touchEvents.start === 'touchstart' &&\n support.passiveListener &&\n swiper.params.passiveListeners\n ? { passive: true, capture: false }\n : false;\n const activeListenerWithCapture = support.passiveListener\n ? { passive: false, capture: true }\n : true;\n return { passiveListener, activeListenerWithCapture };\n }\n\n function getSlideSelector() {\n return `.${swiper.params.slideClass}`;\n }\n\n function toggleGestures(method) {\n const { passiveListener } = getListeners();\n const slideSelector = getSlideSelector();\n swiper.$wrapperEl[method]('gesturestart', slideSelector, onGestureStart, passiveListener);\n swiper.$wrapperEl[method]('gesturechange', slideSelector, onGestureChange, passiveListener);\n swiper.$wrapperEl[method]('gestureend', slideSelector, onGestureEnd, passiveListener);\n }\n function enableGestures() {\n if (gesturesEnabled) return;\n gesturesEnabled = true;\n toggleGestures('on');\n }\n function disableGestures() {\n if (!gesturesEnabled) return;\n gesturesEnabled = false;\n toggleGestures('off');\n }\n\n // Attach/Detach Events\n function enable() {\n const zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n const support = swiper.support;\n const { passiveListener, activeListenerWithCapture } = getListeners();\n const slideSelector = getSlideSelector();\n\n // Scale image\n if (support.gestures) {\n swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.on(\n swiper.touchEvents.start,\n slideSelector,\n onGestureStart,\n passiveListener,\n );\n swiper.$wrapperEl.on(\n swiper.touchEvents.move,\n slideSelector,\n onGestureChange,\n activeListenerWithCapture,\n );\n swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.on(\n swiper.touchEvents.cancel,\n slideSelector,\n onGestureEnd,\n passiveListener,\n );\n }\n }\n\n // Move image\n swiper.$wrapperEl.on(\n swiper.touchEvents.move,\n `.${swiper.params.zoom.containerClass}`,\n onTouchMove,\n activeListenerWithCapture,\n );\n }\n function disable() {\n const zoom = swiper.zoom;\n if (!zoom.enabled) return;\n const support = swiper.support;\n zoom.enabled = false;\n\n const { passiveListener, activeListenerWithCapture } = getListeners();\n const slideSelector = getSlideSelector();\n\n // Scale image\n if (support.gestures) {\n swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.off(\n swiper.touchEvents.start,\n slideSelector,\n onGestureStart,\n passiveListener,\n );\n swiper.$wrapperEl.off(\n swiper.touchEvents.move,\n slideSelector,\n onGestureChange,\n activeListenerWithCapture,\n );\n swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.off(\n swiper.touchEvents.cancel,\n slideSelector,\n onGestureEnd,\n passiveListener,\n );\n }\n }\n\n // Move image\n swiper.$wrapperEl.off(\n swiper.touchEvents.move,\n `.${swiper.params.zoom.containerClass}`,\n onTouchMove,\n activeListenerWithCapture,\n );\n }\n\n on('init', () => {\n if (swiper.params.zoom.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n disable();\n });\n on('touchStart', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchStart(e);\n });\n on('touchEnd', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchEnd(e);\n });\n on('doubleTap', (_s, e) => {\n if (\n !swiper.animating &&\n swiper.params.zoom.enabled &&\n swiper.zoom.enabled &&\n swiper.params.zoom.toggle\n ) {\n zoomToggle(e);\n }\n });\n on('transitionEnd', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n onTransitionEnd();\n }\n });\n on('slideChange', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n onTransitionEnd();\n }\n });\n\n Object.assign(swiper.zoom, {\n enable,\n disable,\n in: zoomIn,\n out: zoomOut,\n toggle: zoomToggle,\n });\n}\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function Lazy({ swiper, extendParams, on, emit }) {\n extendParams({\n lazy: {\n checkInView: false,\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n scrollingElement: '',\n\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader',\n },\n });\n\n swiper.lazy = {};\n\n let scrollHandlerAttached = false;\n let initialImageLoaded = false;\n\n function loadInSlide(index, loadInDuplicate = true) {\n const params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n const $slideEl = isVirtual\n ? swiper.$wrapperEl.children(\n `.${swiper.params.slideClass}[data-swiper-slide-index=\"${index}\"]`,\n )\n : swiper.slides.eq(index);\n\n const $images = $slideEl.find(\n `.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`,\n );\n if (\n $slideEl.hasClass(params.elementClass) &&\n !$slideEl.hasClass(params.loadedClass) &&\n !$slideEl.hasClass(params.loadingClass)\n ) {\n $images.push($slideEl[0]);\n }\n if ($images.length === 0) return;\n\n $images.each((imageEl) => {\n const $imageEl = $(imageEl);\n $imageEl.addClass(params.loadingClass);\n\n const background = $imageEl.attr('data-background');\n const src = $imageEl.attr('data-src');\n const srcset = $imageEl.attr('data-srcset');\n const sizes = $imageEl.attr('data-sizes');\n const $pictureEl = $imageEl.parent('picture');\n\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => {\n if (\n typeof swiper === 'undefined' ||\n swiper === null ||\n !swiper ||\n (swiper && !swiper.params) ||\n swiper.destroyed\n )\n return;\n if (background) {\n $imageEl.css('background-image', `url(\"${background}\")`);\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n if ($pictureEl.length) {\n $pictureEl.children('source').each((sourceEl) => {\n const $source = $(sourceEl);\n\n if ($source.attr('data-srcset')) {\n $source.attr('srcset', $source.attr('data-srcset'));\n $source.removeAttr('data-srcset');\n }\n });\n }\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(`.${params.preloaderClass}`).remove();\n if (swiper.params.loop && loadInDuplicate) {\n const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n const originalSlide = swiper.$wrapperEl.children(\n `[data-swiper-slide-index=\"${slideOriginalIndex}\"]:not(.${swiper.params.slideDuplicateClass})`,\n );\n loadInSlide(originalSlide.index(), false);\n } else {\n const duplicatedSlide = swiper.$wrapperEl.children(\n `.${swiper.params.slideDuplicateClass}[data-swiper-slide-index=\"${slideOriginalIndex}\"]`,\n );\n loadInSlide(duplicatedSlide.index(), false);\n }\n }\n emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n });\n\n emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n }\n\n function load() {\n const { $wrapperEl, params: swiperParams, slides, activeIndex } = swiper;\n const isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n const params = swiperParams.lazy;\n\n let slidesPerView = swiperParams.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if (\n $wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index=\"${index}\"]`)\n .length\n ) {\n return true;\n }\n } else if (slides[index]) return true;\n return false;\n }\n\n function slideIndex(slideEl) {\n if (isVirtual) {\n return $(slideEl).attr('data-swiper-slide-index');\n }\n return $(slideEl).index();\n }\n\n if (!initialImageLoaded) initialImageLoaded = true;\n if (swiper.params.watchSlidesProgress) {\n $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each((slideEl) => {\n const index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\n loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n loadInSlide(activeIndex);\n }\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || (params.loadPrevNextAmount && params.loadPrevNextAmount > 1)) {\n const amount = params.loadPrevNextAmount;\n const spv = Math.ceil(slidesPerView);\n const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0);\n // Next Slides\n for (let i = activeIndex + spv; i < maxIndex; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n // Prev Slides\n for (let i = minIndex; i < activeIndex; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`);\n if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide));\n\n const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`);\n if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide));\n }\n }\n }\n function checkInViewOnLoad() {\n const window = getWindow();\n if (!swiper || swiper.destroyed) return;\n const $scrollElement = swiper.params.lazy.scrollingElement\n ? $(swiper.params.lazy.scrollingElement)\n : $(window);\n const isWindow = $scrollElement[0] === window;\n const scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth;\n const scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight;\n const swiperOffset = swiper.$el.offset();\n const { rtlTranslate: rtl } = swiper;\n\n let inView = false;\n\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [\n [swiperOffset.left, swiperOffset.top],\n [swiperOffset.left + swiper.width, swiperOffset.top],\n [swiperOffset.left, swiperOffset.top + swiper.height],\n [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height],\n ];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (\n point[0] >= 0 &&\n point[0] <= scrollElementWidth &&\n point[1] >= 0 &&\n point[1] <= scrollElementHeight\n ) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n inView = true;\n }\n }\n\n const passiveListener =\n swiper.touchEvents.start === 'touchstart' &&\n swiper.support.passiveListener &&\n swiper.params.passiveListeners\n ? { passive: true, capture: false }\n : false;\n\n if (inView) {\n load();\n $scrollElement.off('scroll', checkInViewOnLoad, passiveListener);\n } else if (!scrollHandlerAttached) {\n scrollHandlerAttached = true;\n $scrollElement.on('scroll', checkInViewOnLoad, passiveListener);\n }\n }\n\n on('beforeInit', () => {\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n });\n on('init', () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('scroll', () => {\n if (\n swiper.params.freeMode &&\n swiper.params.freeMode.enabled &&\n !swiper.params.freeMode.sticky\n ) {\n load();\n }\n });\n on('scrollbarDragMove resize _freeModeNoMomentumRelease', () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('transitionStart', () => {\n if (swiper.params.lazy.enabled) {\n if (\n swiper.params.lazy.loadOnTransitionStart ||\n (!swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded)\n ) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n }\n });\n on('transitionEnd', () => {\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('slideChange', () => {\n const { lazy, cssMode, watchSlidesProgress, touchReleaseOnEdges, resistanceRatio } =\n swiper.params;\n if (\n lazy.enabled &&\n (cssMode || (watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0)))\n ) {\n load();\n }\n });\n\n on('destroy', () => {\n if (!swiper.$el) return;\n swiper.$el\n .find(`.${swiper.params.lazy.loadingClass}`)\n .removeClass(swiper.params.lazy.loadingClass);\n });\n\n Object.assign(swiper.lazy, {\n load,\n loadInSlide,\n });\n}\n","/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\nimport { nextTick } from '../../shared/utils.js';\n\nexport default function Controller({ swiper, extendParams, on }) {\n extendParams({\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide', // or 'container'\n },\n });\n\n swiper.controller = {\n control: undefined,\n };\n\n function LinearSpline(x, y) {\n const binarySearch = (function search() {\n let maxIndex;\n let minIndex;\n let guess;\n return (array, val) => {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1) {\n guess = (maxIndex + minIndex) >> 1;\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n return maxIndex;\n };\n })();\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n let i1;\n let i3;\n\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0;\n\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n\n // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n return (\n ((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1]) + this.y[i1]\n );\n };\n return this;\n }\n // xxx: for now i will just save one spline function to to\n function getInterpolateFunction(c) {\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop\n ? new LinearSpline(swiper.slidesGrid, c.slidesGrid)\n : new LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n }\n function setTranslate(_t, byController) {\n const controlled = swiper.controller.control;\n let multiplier;\n let controlledTranslate;\n const Swiper = swiper.constructor;\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n if (swiper.params.controller.by === 'slide') {\n getInterpolateFunction(c);\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier =\n (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n if (Array.isArray(controlled)) {\n for (let i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n }\n function setTransition(duration, byController) {\n const Swiper = swiper.constructor;\n const controlled = swiper.controller.control;\n let i;\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n if (duration !== 0) {\n c.transitionStart();\n if (c.params.autoHeight) {\n nextTick(() => {\n c.updateAutoHeight();\n });\n }\n c.$wrapperEl.transitionEnd(() => {\n if (!controlled) return;\n if (c.params.loop && swiper.params.controller.by === 'slide') {\n c.loopFix();\n }\n c.transitionEnd();\n });\n }\n }\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n\n function removeSpline() {\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n }\n on('beforeInit', () => {\n swiper.controller.control = swiper.params.controller.control;\n });\n on('update', () => {\n removeSpline();\n });\n on('resize', () => {\n removeSpline();\n });\n on('observerUpdate', () => {\n removeSpline();\n });\n on('setTranslate', (_s, translate, byController) => {\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n });\n on('setTransition', (_s, duration, byController) => {\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n });\n\n Object.assign(swiper.controller, {\n setTranslate,\n setTransition,\n });\n}\n","import classesToSelector from '../../shared/classes-to-selector.js';\nimport $ from '../../shared/dom.js';\n\nexport default function A11y({ swiper, extendParams, on }) {\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null,\n },\n });\n\n swiper.a11y = {\n clicked: false,\n };\n\n let liveRegion = null;\n\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n }\n\n function getRandomNumber(size = 16) {\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n }\n function makeElNotFocusable($el) {\n $el.attr('tabIndex', '-1');\n }\n function addElRole($el, role) {\n $el.attr('role', role);\n }\n function addElRoleDescription($el, description) {\n $el.attr('aria-roledescription', description);\n }\n function addElControls($el, controls) {\n $el.attr('aria-controls', controls);\n }\n function addElLabel($el, label) {\n $el.attr('aria-label', label);\n }\n function addElId($el, id) {\n $el.attr('id', id);\n }\n function addElLive($el, live) {\n $el.attr('aria-live', live);\n }\n function disableEl($el) {\n $el.attr('aria-disabled', true);\n }\n function enableEl($el) {\n $el.attr('aria-disabled', false);\n }\n\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const $targetEl = $(e.target);\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n\n if (\n swiper.pagination &&\n $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))\n ) {\n $targetEl[0].click();\n }\n }\n\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const { $nextEl, $prevEl } = swiper.navigation;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n disableEl($prevEl);\n makeElNotFocusable($prevEl);\n } else {\n enableEl($prevEl);\n makeElFocusable($prevEl);\n }\n }\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n disableEl($nextEl);\n makeElNotFocusable($nextEl);\n } else {\n enableEl($nextEl);\n makeElFocusable($nextEl);\n }\n }\n }\n\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.each((bulletEl) => {\n const $bulletEl = $(bulletEl);\n if (swiper.params.pagination.clickable) {\n makeElFocusable($bulletEl);\n if (!swiper.params.pagination.renderBullet) {\n addElRole($bulletEl, 'button');\n addElLabel(\n $bulletEl,\n params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1),\n );\n }\n }\n if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) {\n $bulletEl.attr('aria-current', 'true');\n } else {\n $bulletEl.removeAttr('aria-current');\n }\n });\n }\n\n const initNavEl = ($el, wrapperId, message) => {\n makeElFocusable($el);\n if ($el[0].tagName !== 'BUTTON') {\n addElRole($el, 'button');\n $el.on('keydown', onEnterOrSpaceKey);\n }\n addElLabel($el, message);\n addElControls($el, wrapperId);\n };\n const handlePointerDown = () => {\n swiper.a11y.clicked = true;\n };\n const handlePointerUp = () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n\n const handleFocus = (e) => {\n if (swiper.a11y.clicked) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible =\n swiper.params.watchSlidesProgress &&\n swiper.visibleSlides &&\n swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n };\n\n const initSlides = () => {\n const params = swiper.params.a11y;\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);\n }\n if (params.slideRole) {\n addElRole($(swiper.slides), params.slideRole);\n }\n\n const slidesLength = swiper.params.loop\n ? swiper.slides.filter((el) => !el.classList.contains(swiper.params.slideDuplicateClass))\n .length\n : swiper.slides.length;\n if (params.slideLabelMessage) {\n swiper.slides.each((slideEl, index) => {\n const $slideEl = $(slideEl);\n const slideIndex = swiper.params.loop\n ? parseInt($slideEl.attr('data-swiper-slide-index'), 10)\n : index;\n const ariaLabelMessage = params.slideLabelMessage\n .replace(/\\{\\{index\\}\\}/, slideIndex + 1)\n .replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel($slideEl, ariaLabelMessage);\n });\n }\n };\n\n const init = () => {\n const params = swiper.params.a11y;\n\n swiper.$el.append(liveRegion);\n\n // Container\n const $containerEl = swiper.$el;\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n if (params.containerMessage) {\n addElLabel($containerEl, params.containerMessage);\n }\n\n // Wrapper\n const $wrapperEl = swiper.$wrapperEl;\n const wrapperId = params.id || $wrapperEl.attr('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId($wrapperEl, wrapperId);\n addElLive($wrapperEl, live);\n\n // Slide\n initSlides();\n\n // Navigation\n let $nextEl;\n let $prevEl;\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl && $nextEl.length) {\n initNavEl($nextEl, wrapperId, params.nextSlideMessage);\n }\n if ($prevEl && $prevEl.length) {\n initNavEl($prevEl, wrapperId, params.prevSlideMessage);\n }\n\n // Pagination\n if (hasClickablePagination()) {\n swiper.pagination.$el.on(\n 'keydown',\n classesToSelector(swiper.params.pagination.bulletClass),\n onEnterOrSpaceKey,\n );\n }\n\n // Tab focus\n swiper.$el.on('focus', handleFocus, true);\n swiper.$el.on('pointerdown', handlePointerDown, true);\n swiper.$el.on('pointerup', handlePointerUp, true);\n };\n function destroy() {\n if (liveRegion && liveRegion.length > 0) liveRegion.remove();\n\n let $nextEl;\n let $prevEl;\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n if ($nextEl) {\n $nextEl.off('keydown', onEnterOrSpaceKey);\n }\n if ($prevEl) {\n $prevEl.off('keydown', onEnterOrSpaceKey);\n }\n\n // Pagination\n if (hasClickablePagination()) {\n swiper.pagination.$el.off(\n 'keydown',\n classesToSelector(swiper.params.pagination.bulletClass),\n onEnterOrSpaceKey,\n );\n }\n\n // Tab focus\n swiper.$el.off('focus', handleFocus, true);\n swiper.$el.off('pointerdown', handlePointerDown, true);\n swiper.$el.off('pointerup', handlePointerUp, true);\n }\n\n on('beforeInit', () => {\n liveRegion = $(\n ``,\n );\n });\n\n on('afterInit', () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}\n","import { getWindow } from 'ssr-window';\n\nexport default function History({ swiper, extendParams, on }) {\n extendParams({\n history: {\n enabled: false,\n root: '',\n replaceState: false,\n key: 'slides',\n keepQuery: false,\n },\n });\n\n let initialized = false;\n let paths = {};\n\n const slugify = (text) => {\n return text\n .toString()\n .replace(/\\s+/g, '-')\n .replace(/[^\\w-]+/g, '')\n .replace(/--+/g, '-')\n .replace(/^-+/, '')\n .replace(/-+$/, '');\n };\n\n const getPathValues = (urlOverride) => {\n const window = getWindow();\n let location;\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window.location;\n }\n const pathArray = location.pathname\n .slice(1)\n .split('/')\n .filter((part) => part !== '');\n const total = pathArray.length;\n const key = pathArray[total - 2];\n const value = pathArray[total - 1];\n return { key, value };\n };\n const setHistory = (key, index) => {\n const window = getWindow();\n if (!initialized || !swiper.params.history.enabled) return;\n let location;\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window.location;\n }\n const slide = swiper.slides.eq(index);\n let value = slugify(slide.attr('data-history'));\n if (swiper.params.history.root.length > 0) {\n let root = swiper.params.history.root;\n if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n value = `${root}/${key}/${value}`;\n } else if (!location.pathname.includes(key)) {\n value = `${key}/${value}`;\n }\n if (swiper.params.history.keepQuery) {\n value += location.search;\n }\n const currentState = window.history.state;\n if (currentState && currentState.value === value) {\n return;\n }\n if (swiper.params.history.replaceState) {\n window.history.replaceState({ value }, null, value);\n } else {\n window.history.pushState({ value }, null, value);\n }\n };\n\n const scrollToSlide = (speed, value, runCallbacks) => {\n if (value) {\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides.eq(i);\n const slideHistory = slugify(slide.attr('data-history'));\n if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n const index = slide.index();\n swiper.slideTo(index, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n };\n\n const setHistoryPopState = () => {\n paths = getPathValues(swiper.params.url);\n scrollToSlide(swiper.params.speed, paths.value, false);\n };\n\n const init = () => {\n const window = getWindow();\n if (!swiper.params.history) return;\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n initialized = true;\n paths = getPathValues(swiper.params.url);\n if (!paths.key && !paths.value) return;\n scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n };\n const destroy = () => {\n const window = getWindow();\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', setHistoryPopState);\n }\n };\n\n on('init', () => {\n if (swiper.params.history.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.history.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n}\n","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\n\nexport default function HashNavigation({ swiper, extendParams, emit, on }) {\n let initialized = false;\n const document = getDocument();\n const window = getWindow();\n extendParams({\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false,\n },\n });\n const onHashChange = () => {\n emit('hashChange');\n const newHash = document.location.hash.replace('#', '');\n const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\n if (newHash !== activeSlideHash) {\n const newIndex = swiper.$wrapperEl\n .children(`.${swiper.params.slideClass}[data-hash=\"${newHash}\"]`)\n .index();\n if (typeof newIndex === 'undefined') return;\n swiper.slideTo(newIndex);\n }\n };\n const setHash = () => {\n if (!initialized || !swiper.params.hashNavigation.enabled) return;\n if (\n swiper.params.hashNavigation.replaceState &&\n window.history &&\n window.history.replaceState\n ) {\n window.history.replaceState(\n null,\n null,\n `#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}` || '',\n );\n emit('hashSet');\n } else {\n const slide = swiper.slides.eq(swiper.activeIndex);\n const hash = slide.attr('data-hash') || slide.attr('data-history');\n document.location.hash = hash || '';\n emit('hashSet');\n }\n };\n const init = () => {\n if (\n !swiper.params.hashNavigation.enabled ||\n (swiper.params.history && swiper.params.history.enabled)\n )\n return;\n initialized = true;\n const hash = document.location.hash.replace('#', '');\n if (hash) {\n const speed = 0;\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides.eq(i);\n const slideHash = slide.attr('data-hash') || slide.attr('data-history');\n if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n const index = slide.index();\n swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);\n }\n }\n }\n if (swiper.params.hashNavigation.watchState) {\n $(window).on('hashchange', onHashChange);\n }\n };\n const destroy = () => {\n if (swiper.params.hashNavigation.watchState) {\n $(window).off('hashchange', onHashChange);\n }\n };\n\n on('init', () => {\n if (swiper.params.hashNavigation.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.hashNavigation.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHash();\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHash();\n }\n });\n}\n","/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick } from '../../shared/utils.js';\n\nexport default function Autoplay({ swiper, extendParams, on, emit }) {\n let timeout;\n\n swiper.autoplay = {\n running: false,\n paused: false,\n };\n\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false,\n },\n });\n\n function run() {\n if (!swiper.size) {\n swiper.autoplay.running = false;\n swiper.autoplay.paused = false;\n return;\n }\n const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n let delay = swiper.params.autoplay.delay;\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n clearTimeout(timeout);\n timeout = nextTick(() => {\n let autoplayResult;\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(\n swiper.slides.length - 1,\n swiper.params.speed,\n true,\n true,\n );\n emit('autoplay');\n } else {\n stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n emit('autoplay');\n } else {\n stop();\n }\n if (swiper.params.cssMode && swiper.autoplay.running) run();\n else if (autoplayResult === false) {\n run();\n }\n }, delay);\n }\n function start() {\n if (typeof timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n emit('autoplayStart');\n run();\n return true;\n }\n function stop() {\n if (!swiper.autoplay.running) return false;\n if (typeof timeout === 'undefined') return false;\n\n if (timeout) {\n clearTimeout(timeout);\n timeout = undefined;\n }\n swiper.autoplay.running = false;\n emit('autoplayStop');\n return true;\n }\n function pause(speed) {\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (timeout) clearTimeout(timeout);\n swiper.autoplay.paused = true;\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd);\n });\n }\n }\n function onVisibilityChange() {\n const document = getDocument();\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n pause();\n }\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n run();\n swiper.autoplay.paused = false;\n }\n }\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n if (!swiper.autoplay.running) {\n stop();\n } else {\n run();\n }\n }\n function onMouseEnter() {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n emit('autoplayPause');\n pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n }\n function onMouseLeave() {\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n run();\n }\n function attachMouseEvents() {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', onMouseEnter);\n swiper.$el.on('mouseleave', onMouseLeave);\n }\n }\n function detachMouseEvents() {\n swiper.$el.off('mouseenter', onMouseEnter);\n swiper.$el.off('mouseleave', onMouseLeave);\n }\n\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n start();\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n attachMouseEvents();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n stop();\n }\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n pause();\n }\n }\n });\n on('touchEnd', () => {\n if (\n swiper.params.cssMode &&\n swiper.autoplay.paused &&\n !swiper.params.autoplay.disableOnInteraction\n ) {\n run();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n });\n\n Object.assign(swiper.autoplay, {\n pause,\n run,\n start,\n stop,\n });\n}\n","import { isObject } from '../../shared/utils.js';\nimport $ from '../../shared/dom.js';\n\nexport default function Thumb({ swiper, extendParams, on }) {\n extendParams({\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-thumbs',\n },\n });\n\n let initialized = false;\n let swiperCreated = false;\n\n swiper.thumbs = {\n swiper: null,\n };\n\n function onThumbClick() {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n\n const clickedIndex = thumbsSwiper.clickedIndex;\n const clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass))\n return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n let slideToIndex;\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n if (swiper.params.loop) {\n let currentIndex = swiper.activeIndex;\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n const prevIndex = swiper.slides\n .eq(currentIndex)\n .prevAll(`[data-swiper-slide-index=\"${slideToIndex}\"]`)\n .eq(0)\n .index();\n const nextIndex = swiper.slides\n .eq(currentIndex)\n .nextAll(`[data-swiper-slide-index=\"${slideToIndex}\"]`)\n .eq(0)\n .index();\n if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;\n else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;\n else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;\n else slideToIndex = prevIndex;\n }\n swiper.slideTo(slideToIndex);\n }\n\n function init() {\n const { thumbs: thumbsParams } = swiper.params;\n if (initialized) return false;\n initialized = true;\n const SwiperClass = swiper.constructor;\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Object.assign(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n });\n Object.assign(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n });\n } else if (isObject(thumbsParams.swiper)) {\n const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n Object.assign(thumbsSwiperParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n });\n swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n swiperCreated = true;\n }\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', onThumbClick);\n return true;\n }\n\n function update(initial) {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n\n const slidesPerView =\n thumbsSwiper.params.slidesPerView === 'auto'\n ? thumbsSwiper.slidesPerViewDynamic()\n : thumbsSwiper.params.slidesPerView;\n\n // Activate thumbs\n let thumbsToActivate = 1;\n const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n\n thumbsToActivate = Math.floor(thumbsToActivate);\n\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n if (\n thumbsSwiper.params.loop ||\n (thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled)\n ) {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl\n .children(`[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`)\n .addClass(thumbActiveClass);\n }\n } else {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass);\n }\n }\n\n const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n let currentThumbsIndex = thumbsSwiper.activeIndex;\n let newThumbsIndex;\n let direction;\n if (thumbsSwiper.params.loop) {\n if (\n thumbsSwiper.slides\n .eq(currentThumbsIndex)\n .hasClass(thumbsSwiper.params.slideDuplicateClass)\n ) {\n thumbsSwiper.loopFix();\n // eslint-disable-next-line\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n }\n // Find actual thumbs index to slide to\n const prevThumbsIndex = thumbsSwiper.slides\n .eq(currentThumbsIndex)\n .prevAll(`[data-swiper-slide-index=\"${swiper.realIndex}\"]`)\n .eq(0)\n .index();\n const nextThumbsIndex = thumbsSwiper.slides\n .eq(currentThumbsIndex)\n .nextAll(`[data-swiper-slide-index=\"${swiper.realIndex}\"]`)\n .eq(0)\n .index();\n if (typeof prevThumbsIndex === 'undefined') {\n newThumbsIndex = nextThumbsIndex;\n } else if (typeof nextThumbsIndex === 'undefined') {\n newThumbsIndex = prevThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex =\n thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = nextThumbsIndex;\n } else {\n newThumbsIndex = prevThumbsIndex;\n }\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n\n if (\n thumbsSwiper.visibleSlidesIndexes &&\n thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0\n ) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (\n newThumbsIndex > currentThumbsIndex &&\n thumbsSwiper.params.slidesPerGroup === 1\n ) {\n // newThumbsIndex = newThumbsIndex - slidesPerView + 1;\n }\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n }\n }\n\n on('beforeInit', () => {\n const { thumbs } = swiper.params;\n if (!thumbs || !thumbs.swiper) return;\n init();\n update(true);\n });\n on('slideChange update resize observerUpdate', () => {\n update();\n });\n on('setTransition', (_s, duration) => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n thumbsSwiper.setTransition(duration);\n });\n on('beforeDestroy', () => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n if (swiperCreated) {\n thumbsSwiper.destroy();\n }\n });\n\n Object.assign(swiper.thumbs, {\n init,\n update,\n });\n}\n","import { now } from '../../shared/utils.js';\n\nexport default function freeMode({ swiper, extendParams, emit, once }) {\n extendParams({\n freeMode: {\n enabled: false,\n momentum: true,\n momentumRatio: 1,\n momentumBounce: true,\n momentumBounceRatio: 1,\n momentumVelocityRatio: 1,\n sticky: false,\n minimumVelocity: 0.02,\n },\n });\n\n function onTouchStart() {\n const translate = swiper.getTranslate();\n swiper.setTranslate(translate);\n swiper.setTransition(0);\n swiper.touchEventsData.velocities.length = 0;\n swiper.freeMode.onTouchEnd({ currentPos: swiper.rtl ? swiper.translate : -swiper.translate });\n }\n\n function onTouchMove() {\n const { touchEventsData: data, touches } = swiper;\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime,\n });\n }\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now(),\n });\n }\n\n function onTouchEnd({ currentPos }) {\n const { params, $wrapperEl, rtlTranslate: rtl, snapGrid, touchEventsData: data } = swiper;\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n return;\n }\n\n if (params.freeMode.momentum) {\n if (data.velocities.length > 1) {\n const lastMoveEvent = data.velocities.pop();\n const velocityEvent = data.velocities.pop();\n\n const distance = lastMoveEvent.position - velocityEvent.position;\n const time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n swiper.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n swiper.velocity *= params.freeMode.momentumVelocityRatio;\n\n data.velocities.length = 0;\n let momentumDuration = 1000 * params.freeMode.momentumRatio;\n const momentumDistance = swiper.velocity * momentumDuration;\n\n let newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n\n let doBounce = false;\n let afterBouncePosition;\n const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n let needsLoopFix;\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeMode.sticky) {\n let nextSlide;\n for (let j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (\n Math.abs(snapGrid[nextSlide] - newPosition) <\n Math.abs(snapGrid[nextSlide - 1] - newPosition) ||\n swiper.swipeDirection === 'next'\n ) {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n newPosition = -newPosition;\n }\n if (needsLoopFix) {\n once('transitionEnd', () => {\n swiper.loopFix();\n });\n }\n // Fix duration\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n if (params.freeMode.sticky) {\n // If freeMode.sticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeMode.momentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(() => {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }\n\n Object.assign(swiper, {\n freeMode: {\n onTouchStart,\n onTouchMove,\n onTouchEnd,\n },\n });\n}\n","export default function Grid({ swiper, extendParams }) {\n extendParams({\n grid: {\n rows: 1,\n fill: 'column',\n },\n });\n\n let slidesNumberEvenToRows;\n let slidesPerRow;\n let numFullColumns;\n\n const initSlides = (slidesLength) => {\n const { slidesPerView } = swiper.params;\n const { rows, fill } = swiper.params.grid;\n slidesPerRow = slidesNumberEvenToRows / rows;\n numFullColumns = Math.floor(slidesLength / rows);\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n if (slidesPerView !== 'auto' && fill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n };\n\n const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {\n const { slidesPerGroup, spaceBetween } = swiper.params;\n const { rows, fill } = swiper.params.grid;\n // Set slides order\n let newSlideOrderIndex;\n let column;\n let row;\n if (fill === 'row' && slidesPerGroup > 1) {\n const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n const columnsInGroup =\n groupIndex === 0\n ? slidesPerGroup\n : Math.min(\n Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows),\n slidesPerGroup,\n );\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n\n newSlideOrderIndex = column + (row * slidesNumberEvenToRows) / rows;\n slide.css({\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex,\n });\n } else if (fill === 'column') {\n column = Math.floor(i / rows);\n row = i - column * rows;\n if (column > numFullColumns || (column === numFullColumns && row === rows - 1)) {\n row += 1;\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide.css(\n getDirectionLabel('margin-top'),\n row !== 0 ? spaceBetween && `${spaceBetween}px` : '',\n );\n };\n\n const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {\n const { spaceBetween, centeredSlides, roundLengths } = swiper.params;\n const { rows } = swiper.params.grid;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n swiper.$wrapperEl.css({\n [getDirectionLabel('width')]: `${swiper.virtualSize + spaceBetween}px`,\n });\n if (centeredSlides) {\n snapGrid.splice(0, snapGrid.length);\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid.push(...newSlidesGrid);\n }\n };\n\n swiper.grid = {\n initSlides,\n updateSlide,\n updateWrapperSize,\n };\n}\n","import appendSlide from './methods/appendSlide.js';\r\nimport prependSlide from './methods/prependSlide.js';\r\nimport addSlide from './methods/addSlide.js';\r\nimport removeSlide from './methods/removeSlide.js';\r\nimport removeAllSlides from './methods/removeAllSlides.js';\r\n\r\nexport default function Manipulation({ swiper }) {\r\n Object.assign(swiper, {\r\n appendSlide: appendSlide.bind(swiper),\r\n prependSlide: prependSlide.bind(swiper),\r\n addSlide: addSlide.bind(swiper),\r\n removeSlide: removeSlide.bind(swiper),\r\n removeAllSlides: removeAllSlides.bind(swiper),\r\n });\r\n}\r\n","import effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\n\nexport default function EffectFade({ swiper, extendParams, on }) {\n extendParams({\n fadeEffect: {\n crossFade: false,\n transformEl: null,\n },\n });\n\n const setTranslate = () => {\n const { slides } = swiper;\n const params = swiper.params.fadeEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = swiper.slides.eq(i);\n const offset = $slideEl[0].swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n const slideOpacity = swiper.params.fadeEffect.crossFade\n ? Math.max(1 - Math.abs($slideEl[0].progress), 0)\n : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl\n .css({\n opacity: slideOpacity,\n })\n .transform(`translate3d(${tx}px, ${ty}px, 0px)`);\n }\n };\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.fadeEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration);\n effectVirtualTransitionEnd({ swiper, duration, transformEl, allSlides: true });\n };\n\n effectInit({\n effect: 'fade',\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode,\n }),\n });\n}\n","import $ from '../../shared/dom.js';\nimport effectInit from '../../shared/effect-init.js';\n\nexport default function EffectCube({ swiper, extendParams, on }) {\n extendParams({\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94,\n },\n });\n\n const createSlideShadows = ($slideEl, progress, isHorizontal) => {\n let shadowBefore = isHorizontal\n ? $slideEl.find('.swiper-slide-shadow-left')\n : $slideEl.find('.swiper-slide-shadow-top');\n let shadowAfter = isHorizontal\n ? $slideEl.find('.swiper-slide-shadow-right')\n : $slideEl.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $(`
    `);\n $slideEl.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $(\n `
    `,\n );\n $slideEl.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n };\n\n const recreateShadows = () => {\n // create new ones\n const isHorizontal = swiper.isHorizontal();\n swiper.slides.each((slideEl) => {\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n createSlideShadows($(slideEl), progress, isHorizontal);\n });\n };\n\n const setTranslate = () => {\n const {\n $el,\n $wrapperEl,\n slides,\n width: swiperWidth,\n height: swiperHeight,\n rtlTranslate: rtl,\n size: swiperSize,\n browser,\n } = swiper;\n const params = swiper.params.cubeEffect;\n const isHorizontal = swiper.isHorizontal();\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let wrapperRotate = 0;\n let $cubeShadowEl;\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
    ');\n $wrapperEl.append($cubeShadowEl);\n }\n $cubeShadowEl.css({ height: `${swiperWidth}px` });\n } else {\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
    ');\n $el.append($cubeShadowEl);\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n let slideIndex = i;\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\n }\n let slideAngle = slideIndex * 90;\n let round = Math.floor(slideAngle / 360);\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n const progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n let tx = 0;\n let ty = 0;\n let tz = 0;\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n if (rtl) {\n tx = -tx;\n }\n\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n\n const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${\n isHorizontal ? slideAngle : 0\n }deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n $slideEl.transform(transform);\n if (params.slideShadows) {\n createSlideShadows($slideEl, progress, isHorizontal);\n }\n }\n $wrapperEl.css({\n '-webkit-transform-origin': `50% 50% -${swiperSize / 2}px`,\n 'transform-origin': `50% 50% -${swiperSize / 2}px`,\n });\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(\n `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${\n -swiperWidth / 2\n }px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`,\n );\n } else {\n const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n const multiplier =\n 1.5 -\n (Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2 +\n Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2);\n const scale1 = params.shadowScale;\n const scale2 = params.shadowScale / multiplier;\n const offset = params.shadowOffset;\n $cubeShadowEl.transform(\n `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${\n -swiperHeight / 2 / scale2\n }px) rotateX(-90deg)`,\n );\n }\n }\n const zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;\n $wrapperEl.transform(\n `translate3d(0px,0,${zFactor}px) rotateX(${\n swiper.isHorizontal() ? 0 : wrapperRotate\n }deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`,\n );\n $wrapperEl[0].style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);\n };\n const setTransition = (duration) => {\n const { $el, slides } = swiper;\n slides\n .transition(duration)\n .find(\n '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left',\n )\n .transition(duration);\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find('.swiper-cube-shadow').transition(duration);\n }\n };\n\n effectInit({\n effect: 'cube',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.cubeEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true,\n }),\n });\n}\n","import $ from '../../shared/dom.js';\nimport createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\n\nexport default function EffectFlip({ swiper, extendParams, on }) {\n extendParams({\n flipEffect: {\n slideShadows: true,\n limitRotation: true,\n transformEl: null,\n },\n });\n\n const createSlideShadows = ($slideEl, progress, params) => {\n let shadowBefore = swiper.isHorizontal()\n ? $slideEl.find('.swiper-slide-shadow-left')\n : $slideEl.find('.swiper-slide-shadow-top');\n let shadowAfter = swiper.isHorizontal()\n ? $slideEl.find('.swiper-slide-shadow-right')\n : $slideEl.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = createShadow(params, $slideEl, swiper.isHorizontal() ? 'left' : 'top');\n }\n if (shadowAfter.length === 0) {\n shadowAfter = createShadow(params, $slideEl, swiper.isHorizontal() ? 'right' : 'bottom');\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n };\n\n const recreateShadows = () => {\n // Set shadows\n const params = swiper.params.flipEffect;\n swiper.slides.each((slideEl) => {\n const $slideEl = $(slideEl);\n let progress = $slideEl[0].progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n createSlideShadows($slideEl, progress, params);\n });\n };\n\n const setTranslate = () => {\n const { slides, rtlTranslate: rtl } = swiper;\n const params = swiper.params.flipEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n let progress = $slideEl[0].progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n const offset = $slideEl[0].swiperSlideOffset;\n const rotate = -180 * progress;\n let rotateY = rotate;\n let rotateX = 0;\n let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n\n if (params.slideShadows) {\n createSlideShadows($slideEl, progress, params);\n }\n const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform);\n }\n };\n\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.flipEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements\n .transition(duration)\n .find(\n '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left',\n )\n .transition(duration);\n effectVirtualTransitionEnd({ swiper, duration, transformEl });\n };\n\n effectInit({\n effect: 'flip',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.flipEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode,\n }),\n });\n}\n","import createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\n\nexport default function EffectCoverflow({ swiper, extendParams, on }) {\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true,\n transformEl: null,\n },\n });\n\n const setTranslate = () => {\n const { width: swiperWidth, height: swiperHeight, slides, slidesSizesGrid } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform = swiper.translate;\n const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth;\n // Each slide offset from center\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideSize = slidesSizesGrid[i];\n const slideOffset = $slideEl[0].swiperSlideOffset;\n const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n const offsetMultiplier =\n typeof params.modifier === 'function'\n ? params.modifier(centerOffset)\n : centerOffset * params.modifier;\n\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n let translateZ = -translate * Math.abs(offsetMultiplier);\n\n let stretch = params.stretch;\n // Allow percentage to make a relative stretch for responsive sliders\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = (parseFloat(params.stretch) / 100) * slideSize;\n }\n let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n\n let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);\n\n // Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(slideTransform);\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n let $shadowBeforeEl = isHorizontal\n ? $slideEl.find('.swiper-slide-shadow-left')\n : $slideEl.find('.swiper-slide-shadow-top');\n let $shadowAfterEl = isHorizontal\n ? $slideEl.find('.swiper-slide-shadow-right')\n : $slideEl.find('.swiper-slide-shadow-bottom');\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = createShadow(params, $slideEl, isHorizontal ? 'left' : 'top');\n }\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = createShadow(params, $slideEl, isHorizontal ? 'right' : 'bottom');\n }\n if ($shadowBeforeEl.length)\n $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length)\n $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n };\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.coverflowEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements\n .transition(duration)\n .find(\n '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left',\n )\n .transition(duration);\n };\n\n effectInit({\n effect: 'coverflow',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n }),\n });\n}\n","import createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\n\nexport default function EffectCreative({ swiper, extendParams, on }) {\n extendParams({\n creativeEffect: {\n transformEl: null,\n limitProgress: 1,\n shadowPerProgress: false,\n progressMultiplier: 1,\n perspective: true,\n prev: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1,\n },\n next: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1,\n },\n },\n });\n\n const getTranslateValue = (value) => {\n if (typeof value === 'string') return value;\n return `${value}px`;\n };\n\n const setTranslate = () => {\n const { slides, $wrapperEl, slidesSizesGrid } = swiper;\n const params = swiper.params.creativeEffect;\n const { progressMultiplier: multiplier } = params;\n\n const isCenteredSlides = swiper.params.centeredSlides;\n\n if (isCenteredSlides) {\n const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;\n $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`);\n }\n\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideProgress = $slideEl[0].progress;\n const progress = Math.min(\n Math.max($slideEl[0].progress, -params.limitProgress),\n params.limitProgress,\n );\n let originalProgress = progress;\n\n if (!isCenteredSlides) {\n originalProgress = Math.min(\n Math.max($slideEl[0].originalProgress, -params.limitProgress),\n params.limitProgress,\n );\n }\n\n const offset = $slideEl[0].swiperSlideOffset;\n const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];\n const r = [0, 0, 0];\n let custom = false;\n if (!swiper.isHorizontal()) {\n t[1] = t[0];\n t[0] = 0;\n }\n let data = {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n scale: 1,\n opacity: 1,\n };\n if (progress < 0) {\n data = params.next;\n custom = true;\n } else if (progress > 0) {\n data = params.prev;\n custom = true;\n }\n // set translate\n t.forEach((value, index) => {\n t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(\n progress * multiplier,\n )}))`;\n });\n // set rotates\n r.forEach((value, index) => {\n r[index] = data.rotate[index] * Math.abs(progress * multiplier);\n });\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n\n const translateString = t.join(', ');\n const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;\n const scaleString =\n originalProgress < 0\n ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})`\n : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;\n const opacityString =\n originalProgress < 0\n ? 1 + (1 - data.opacity) * originalProgress * multiplier\n : 1 - (1 - data.opacity) * originalProgress * multiplier;\n const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;\n\n // Set shadows\n if ((custom && data.shadow) || !custom) {\n let $shadowEl = $slideEl.children('.swiper-slide-shadow');\n if ($shadowEl.length === 0 && data.shadow) {\n $shadowEl = createShadow(params, $slideEl);\n }\n if ($shadowEl.length) {\n const shadowOpacity = params.shadowPerProgress\n ? progress * (1 / params.limitProgress)\n : progress;\n $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);\n }\n }\n\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform).css({ opacity: opacityString });\n if (data.origin) {\n $targetEl.css('transform-origin', data.origin);\n }\n }\n };\n\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.creativeEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);\n\n effectVirtualTransitionEnd({ swiper, duration, transformEl, allSlides: true });\n };\n\n effectInit({\n effect: 'creative',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => swiper.params.creativeEffect.perspective,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode,\n }),\n });\n}\n","import createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\n\nexport default function EffectCards({ swiper, extendParams, on }) {\n extendParams({\n cardsEffect: {\n slideShadows: true,\n transformEl: null,\n rotate: true,\n perSlideRotate: 2,\n perSlideOffset: 8,\n },\n });\n\n const setTranslate = () => {\n const { slides, activeIndex } = swiper;\n const params = swiper.params.cardsEffect;\n const { startTranslate, isTouched } = swiper.touchEventsData;\n const currentTranslate = swiper.translate;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideProgress = $slideEl[0].progress;\n const progress = Math.min(Math.max(slideProgress, -4), 4);\n let offset = $slideEl[0].swiperSlideOffset;\n if (swiper.params.centeredSlides && !swiper.params.cssMode) {\n swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`);\n }\n if (swiper.params.centeredSlides && swiper.params.cssMode) {\n offset -= slides[0].swiperSlideOffset;\n }\n let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let tY = 0;\n const tZ = -100 * Math.abs(progress);\n let scale = 1;\n let rotate = -params.perSlideRotate * progress;\n\n let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;\n\n const slideIndex =\n swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;\n\n const isSwipeToNext =\n (slideIndex === activeIndex || slideIndex === activeIndex - 1) &&\n progress > 0 &&\n progress < 1 &&\n (isTouched || swiper.params.cssMode) &&\n currentTranslate < startTranslate;\n const isSwipeToPrev =\n (slideIndex === activeIndex || slideIndex === activeIndex + 1) &&\n progress < 0 &&\n progress > -1 &&\n (isTouched || swiper.params.cssMode) &&\n currentTranslate > startTranslate;\n\n if (isSwipeToNext || isSwipeToPrev) {\n const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;\n rotate += -28 * progress * subProgress;\n scale += -0.5 * subProgress;\n tXAdd += 96 * subProgress;\n tY = `${-25 * subProgress * Math.abs(progress)}%`;\n }\n\n if (progress < 0) {\n // next\n tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`;\n } else if (progress > 0) {\n // prev\n tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`;\n } else {\n tX = `${tX}px`;\n }\n if (!swiper.isHorizontal()) {\n const prevY = tY;\n tY = tX;\n tX = prevY;\n }\n\n const scaleString =\n progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;\n\n const transform = `\n translate3d(${tX}, ${tY}, ${tZ}px)\n rotateZ(${params.rotate ? rotate : 0}deg)\n scale(${scaleString})\n `;\n\n if (params.slideShadows) {\n // Set shadows\n let $shadowEl = $slideEl.find('.swiper-slide-shadow');\n if ($shadowEl.length === 0) {\n $shadowEl = createShadow(params, $slideEl);\n }\n if ($shadowEl.length)\n $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform);\n }\n };\n\n const setTransition = (duration) => {\n const { transformEl } = swiper.params.cardsEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);\n\n effectVirtualTransitionEnd({ swiper, duration, transformEl });\n };\n\n effectInit({\n effect: 'cards',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode,\n }),\n });\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/source/lib/vue@2.6.10/vue.min.js b/source/lib/vue@2.6.10/vue.min.js new file mode 100644 index 0000000..087ee42 --- /dev/null +++ b/source/lib/vue@2.6.10/vue.min.js @@ -0,0 +1,6 @@ +/*! + * Vue.js v2.6.10 + * (c) 2014-2019 Evan You + * Released under the MIT License. + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Vue=t()}(this,function(){"use strict";var e=Object.freeze({});function t(e){return null==e}function n(e){return null!=e}function r(e){return!0===e}function i(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function o(e){return null!==e&&"object"==typeof e}var a=Object.prototype.toString;function s(e){return"[object Object]"===a.call(e)}function c(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function u(e){return n(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function l(e){return null==e?"":Array.isArray(e)||s(e)&&e.toString===a?JSON.stringify(e,null,2):String(e)}function f(e){var t=parseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var m=Object.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var _=/-(\w)/g,b=g(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():""})}),$=g(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w=/\B([A-Z])/g,C=g(function(e){return e.replace(w,"-$1").toLowerCase()});var x=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function k(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function A(e,t){for(var n in t)e[n]=t[n];return e}function O(e){for(var t={},n=0;n0,Z=J&&J.indexOf("edge/")>0,G=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===K),X=(J&&/chrome\/\d+/.test(J),J&&/phantomjs/.test(J),J&&J.match(/firefox\/(\d+)/)),Y={}.watch,Q=!1;if(z)try{var ee={};Object.defineProperty(ee,"passive",{get:function(){Q=!0}}),window.addEventListener("test-passive",null,ee)}catch(e){}var te=function(){return void 0===B&&(B=!z&&!V&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),B},ne=z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return"function"==typeof e&&/native code/.test(e.toString())}var ie,oe="undefined"!=typeof Symbol&&re(Symbol)&&"undefined"!=typeof Reflect&&re(Reflect.ownKeys);ie="undefined"!=typeof Set&&re(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ae=S,se=0,ce=function(){this.id=se++,this.subs=[]};ce.prototype.addSub=function(e){this.subs.push(e)},ce.prototype.removeSub=function(e){h(this.subs,e)},ce.prototype.depend=function(){ce.target&&ce.target.addDep(this)},ce.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t-1)if(o&&!y(i,"default"))a=!1;else if(""===a||a===C(e)){var c=Pe(String,i.type);(c<0||s0&&(st((u=e(u,(a||"")+"_"+c))[0])&&st(f)&&(s[l]=he(f.text+u[0].text),u.shift()),s.push.apply(s,u)):i(u)?st(f)?s[l]=he(f.text+u):""!==u&&s.push(he(u)):st(u)&&st(f)?s[l]=he(f.text+u.text):(r(o._isVList)&&n(u.tag)&&t(u.key)&&n(a)&&(u.key="__vlist"+a+"_"+c+"__"),s.push(u)));return s}(e):void 0}function st(e){return n(e)&&n(e.text)&&!1===e.isComment}function ct(e,t){if(e){for(var n=Object.create(null),r=oe?Reflect.ownKeys(e):Object.keys(e),i=0;i0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==e&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=pt(n,c,t[c]))}else i={};for(var u in n)u in i||(i[u]=dt(n,u));return t&&Object.isExtensible(t)&&(t._normalized=i),R(i,"$stable",a),R(i,"$key",s),R(i,"$hasNormal",o),i}function pt(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:at(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function dt(e,t){return function(){return e[t]}}function vt(e,t){var r,i,a,s,c;if(Array.isArray(e)||"string"==typeof e)for(r=new Array(e.length),i=0,a=e.length;idocument.createEvent("Event").timeStamp&&(sn=function(){return cn.now()})}function un(){var e,t;for(an=sn(),rn=!0,Qt.sort(function(e,t){return e.id-t.id}),on=0;onon&&Qt[n].id>e.id;)n--;Qt.splice(n+1,0,e)}else Qt.push(e);nn||(nn=!0,Ye(un))}}(this)},fn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||o(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Re(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},fn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},fn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},fn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var pn={enumerable:!0,configurable:!0,get:S,set:S};function dn(e,t,n){pn.get=function(){return this[t][n]},pn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,pn)}function vn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&$e(!1);var o=function(o){i.push(o);var a=Me(o,t,n,e);xe(r,o,a),o in e||dn(e,"_props",o)};for(var a in t)o(a);$e(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]="function"!=typeof t[n]?S:x(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;s(t=e._data="function"==typeof t?function(e,t){le();try{return e.call(t,t)}catch(e){return Re(e,t,"data()"),{}}finally{fe()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];r&&y(r,o)||(a=void 0,36!==(a=(o+"").charCodeAt(0))&&95!==a&&dn(e,"_data",o))}var a;Ce(t,!0)}(e):Ce(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=te();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new fn(e,a||S,S,hn)),i in e||mn(e,i,o)}}(e,t.computed),t.watch&&t.watch!==Y&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,"[object RegExp]"===a.call(n)&&e.test(t));var n}function An(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=xn(a.componentOptions);s&&!t(s)&&On(n,o,r,i)}}}function On(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,h(n,t)}!function(t){t.prototype._init=function(t){var n=this;n._uid=bn++,n._isVue=!0,t&&t._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(n,t):n.$options=De($n(n.constructor),t||{},n),n._renderProxy=n,n._self=n,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(n),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&qt(e,t)}(n),function(t){t._vnode=null,t._staticTrees=null;var n=t.$options,r=t.$vnode=n._parentVnode,i=r&&r.context;t.$slots=ut(n._renderChildren,i),t.$scopedSlots=e,t._c=function(e,n,r,i){return Pt(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return Pt(t,e,n,r,i,!0)};var o=r&&r.data;xe(t,"$attrs",o&&o.attrs||e,null,!0),xe(t,"$listeners",n._parentListeners||e,null,!0)}(n),Yt(n,"beforeCreate"),function(e){var t=ct(e.$options.inject,e);t&&($e(!1),Object.keys(t).forEach(function(n){xe(e,n,t[n])}),$e(!0))}(n),vn(n),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(n),Yt(n,"created"),n.$options.el&&n.$mount(n.$options.el)}}(wn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=ke,e.prototype.$delete=Ae,e.prototype.$watch=function(e,t,n){if(s(t))return _n(this,e,t,n);(n=n||{}).user=!0;var r=new fn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){Re(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(wn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var i=0,o=e.length;i1?k(t):t;for(var n=k(arguments,1),r='event handler for "'+e+'"',i=0,o=t.length;iparseInt(this.max)&&On(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return F}};Object.defineProperty(e,"config",t),e.util={warn:ae,extend:A,mergeOptions:De,defineReactive:xe},e.set=ke,e.delete=Ae,e.nextTick=Ye,e.observable=function(e){return Ce(e),e},e.options=Object.create(null),M.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,A(e.options.components,Tn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=k(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=De(this.options,e),this}}(e),Cn(e),function(e){M.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&s(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(e)}(wn),Object.defineProperty(wn.prototype,"$isServer",{get:te}),Object.defineProperty(wn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(wn,"FunctionalRenderContext",{value:Tt}),wn.version="2.6.10";var En=p("style,class"),Nn=p("input,textarea,option,select,progress"),jn=function(e,t,n){return"value"===n&&Nn(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Dn=p("contenteditable,draggable,spellcheck"),Ln=p("events,caret,typing,plaintext-only"),Mn=function(e,t){return Hn(t)||"false"===t?"false":"contenteditable"===e&&Ln(t)?t:"true"},In=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Fn="http://www.w3.org/1999/xlink",Pn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Rn=function(e){return Pn(e)?e.slice(6,e.length):""},Hn=function(e){return null==e||!1===e};function Bn(e){for(var t=e.data,r=e,i=e;n(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(t=Un(i.data,t));for(;n(r=r.parent);)r&&r.data&&(t=Un(t,r.data));return function(e,t){if(n(e)||n(t))return zn(e,Vn(t));return""}(t.staticClass,t.class)}function Un(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:n(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+" "+t:e:t||""}function Vn(e){return Array.isArray(e)?function(e){for(var t,r="",i=0,o=e.length;i-1?hr(e,t,n):In(t)?Hn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Dn(t)?e.setAttribute(t,Mn(t,n)):Pn(t)?Hn(n)?e.removeAttributeNS(Fn,Rn(t)):e.setAttributeNS(Fn,t,n):hr(e,t,n)}function hr(e,t,n){if(Hn(n))e.removeAttribute(t);else{if(q&&!W&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var mr={create:dr,update:dr};function yr(e,r){var i=r.elm,o=r.data,a=e.data;if(!(t(o.staticClass)&&t(o.class)&&(t(a)||t(a.staticClass)&&t(a.class)))){var s=Bn(r),c=i._transitionClasses;n(c)&&(s=zn(s,Vn(c))),s!==i._prevClass&&(i.setAttribute("class",s),i._prevClass=s)}}var gr,_r,br,$r,wr,Cr,xr={create:yr,update:yr},kr=/[\w).+\-_$\]]/;function Ar(e){var t,n,r,i,o,a=!1,s=!1,c=!1,u=!1,l=0,f=0,p=0,d=0;for(r=0;r=0&&" "===(h=e.charAt(v));v--);h&&kr.test(h)||(u=!0)}}else void 0===i?(d=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==d&&m(),o)for(r=0;r-1?{exp:e.slice(0,$r),key:'"'+e.slice($r+1)+'"'}:{exp:e,key:null};_r=e,$r=wr=Cr=0;for(;!zr();)Vr(br=Ur())?Jr(br):91===br&&Kr(br);return{exp:e.slice(0,wr),key:e.slice(wr+1,Cr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function Ur(){return _r.charCodeAt(++$r)}function zr(){return $r>=gr}function Vr(e){return 34===e||39===e}function Kr(e){var t=1;for(wr=$r;!zr();)if(Vr(e=Ur()))Jr(e);else if(91===e&&t++,93===e&&t--,0===t){Cr=$r;break}}function Jr(e){for(var t=e;!zr()&&(e=Ur())!==t;);}var qr,Wr="__r",Zr="__c";function Gr(e,t,n){var r=qr;return function i(){null!==t.apply(null,arguments)&&Qr(e,i,n,r)}}var Xr=Ve&&!(X&&Number(X[1])<=53);function Yr(e,t,n,r){if(Xr){var i=an,o=t;t=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}qr.addEventListener(e,t,Q?{capture:n,passive:r}:n)}function Qr(e,t,n,r){(r||qr).removeEventListener(e,t._wrapper||t,n)}function ei(e,r){if(!t(e.data.on)||!t(r.data.on)){var i=r.data.on||{},o=e.data.on||{};qr=r.elm,function(e){if(n(e[Wr])){var t=q?"change":"input";e[t]=[].concat(e[Wr],e[t]||[]),delete e[Wr]}n(e[Zr])&&(e.change=[].concat(e[Zr],e.change||[]),delete e[Zr])}(i),rt(i,o,Yr,Qr,Gr,r.context),qr=void 0}}var ti,ni={create:ei,update:ei};function ri(e,r){if(!t(e.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=e.data.domProps||{},c=r.data.domProps||{};for(i in n(c.__ob__)&&(c=r.data.domProps=A({},c)),s)i in c||(a[i]="");for(i in c){if(o=c[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i&&"PROGRESS"!==a.tagName){a._value=o;var u=t(o)?"":String(o);ii(a,u)&&(a.value=u)}else if("innerHTML"===i&&qn(a.tagName)&&t(a.innerHTML)){(ti=ti||document.createElement("div")).innerHTML=""+o+"";for(var l=ti.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(o!==s[i])try{a[i]=o}catch(e){}}}}function ii(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var r=e.value,i=e._vModifiers;if(n(i)){if(i.number)return f(r)!==f(t);if(i.trim)return r.trim()!==t.trim()}return r!==t}(e,t))}var oi={create:ri,update:ri},ai=g(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t});function si(e){var t=ci(e.style);return e.staticStyle?A(e.staticStyle,t):t}function ci(e){return Array.isArray(e)?O(e):"string"==typeof e?ai(e):e}var ui,li=/^--/,fi=/\s*!important$/,pi=function(e,t,n){if(li.test(t))e.style.setProperty(t,n);else if(fi.test(n))e.style.setProperty(C(t),n.replace(fi,""),"important");else{var r=vi(t);if(Array.isArray(n))for(var i=0,o=n.length;i-1?t.split(yi).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function _i(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(yi).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function bi(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&A(t,$i(e.name||"v")),A(t,e),t}return"string"==typeof e?$i(e):void 0}}var $i=g(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),wi=z&&!W,Ci="transition",xi="animation",ki="transition",Ai="transitionend",Oi="animation",Si="animationend";wi&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ki="WebkitTransition",Ai="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Oi="WebkitAnimation",Si="webkitAnimationEnd"));var Ti=z?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ei(e){Ti(function(){Ti(e)})}function Ni(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),gi(e,t))}function ji(e,t){e._transitionClasses&&h(e._transitionClasses,t),_i(e,t)}function Di(e,t,n){var r=Mi(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Ci?Ai:Si,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c0&&(n=Ci,l=a,f=o.length):t===xi?u>0&&(n=xi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?Ci:xi:null)?n===Ci?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===Ci&&Li.test(r[ki+"Property"])}}function Ii(e,t){for(;e.length1}function Ui(e,t){!0!==t.data.show&&Pi(t)}var zi=function(e){var o,a,s={},c=e.modules,u=e.nodeOps;for(o=0;ov?_(e,t(i[y+1])?null:i[y+1].elm,i,d,y,o):d>y&&$(0,r,p,v)}(p,h,y,o,l):n(y)?(n(e.text)&&u.setTextContent(p,""),_(p,null,y,0,y.length-1,o)):n(h)?$(0,h,0,h.length-1):n(e.text)&&u.setTextContent(p,""):e.text!==i.text&&u.setTextContent(p,i.text),n(v)&&n(d=v.hook)&&n(d=d.postpatch)&&d(e,i)}}}function k(e,t,i){if(r(i)&&n(e.parent))e.parent.data.pendingInsert=t;else for(var o=0;o-1,a.selected!==o&&(a.selected=o);else if(N(Wi(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function qi(e,t){return t.every(function(t){return!N(t,e)})}function Wi(e){return"_value"in e?e._value:e.value}function Zi(e){e.target.composing=!0}function Gi(e){e.target.composing&&(e.target.composing=!1,Xi(e.target,"input"))}function Xi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Yi(e){return!e.componentInstance||e.data&&e.data.transition?e:Yi(e.componentInstance._vnode)}var Qi={model:Vi,show:{bind:function(e,t,n){var r=t.value,i=(n=Yi(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,Pi(n,function(){e.style.display=o})):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Yi(n)).data&&n.data.transition?(n.data.show=!0,r?Pi(n,function(){e.style.display=e.__vOriginalDisplay}):Ri(n,function(){e.style.display="none"})):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},eo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function to(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?to(zt(t.children)):e}function no(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[b(o)]=i[o];return t}function ro(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var io=function(e){return e.tag||Ut(e)},oo=function(e){return"show"===e.name},ao={name:"transition",props:eo,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(io)).length){var r=this.mode,o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a=to(o);if(!a)return o;if(this._leaving)return ro(e,o);var s="__transition-"+this._uid+"-";a.key=null==a.key?a.isComment?s+"comment":s+a.tag:i(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=no(this),u=this._vnode,l=to(u);if(a.data.directives&&a.data.directives.some(oo)&&(a.data.show=!0),l&&l.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(a,l)&&!Ut(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=A({},c);if("out-in"===r)return this._leaving=!0,it(f,"afterLeave",function(){t._leaving=!1,t.$forceUpdate()}),ro(e,o);if("in-out"===r){if(Ut(a))return u;var p,d=function(){p()};it(c,"afterEnter",d),it(c,"enterCancelled",d),it(f,"delayLeave",function(e){p=e})}}return o}}},so=A({tag:String,moveClass:String},eo);function co(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function uo(e){e.data.newPos=e.elm.getBoundingClientRect()}function lo(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete so.mode;var fo={Transition:ao,TransitionGroup:{props:so,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=Zt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=no(this),s=0;s-1?Gn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Gn[e]=/HTMLUnknownElement/.test(t.toString())},A(wn.options.directives,Qi),A(wn.options.components,fo),wn.prototype.__patch__=z?zi:S,wn.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ve),Yt(e,"beforeMount"),r=function(){e._update(e._render(),n)},new fn(e,r,S,{before:function(){e._isMounted&&!e._isDestroyed&&Yt(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,Yt(e,"mounted")),e}(this,e=e&&z?Yn(e):void 0,t)},z&&setTimeout(function(){F.devtools&&ne&&ne.emit("init",wn)},0);var po=/\{\{((?:.|\r?\n)+?)\}\}/g,vo=/[-.*+?^${}()|[\]\/\\]/g,ho=g(function(e){var t=e[0].replace(vo,"\\$&"),n=e[1].replace(vo,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")});var mo={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=Fr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Ir(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var yo,go={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=Fr(e,"style");n&&(e.staticStyle=JSON.stringify(ai(n)));var r=Ir(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},_o=function(e){return(yo=yo||document.createElement("div")).innerHTML=e,yo.textContent},bo=p("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),$o=p("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),wo=p("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Co=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,xo=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ko="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+P.source+"]*",Ao="((?:"+ko+"\\:)?"+ko+")",Oo=new RegExp("^<"+Ao),So=/^\s*(\/?)>/,To=new RegExp("^<\\/"+Ao+"[^>]*>"),Eo=/^]+>/i,No=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Io=/&(?:lt|gt|quot|amp|#39);/g,Fo=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Po=p("pre,textarea",!0),Ro=function(e,t){return e&&Po(e)&&"\n"===t[0]};function Ho(e,t){var n=t?Fo:Io;return e.replace(n,function(e){return Mo[e]})}var Bo,Uo,zo,Vo,Ko,Jo,qo,Wo,Zo=/^@|^v-on:/,Go=/^v-|^@|^:/,Xo=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Yo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Qo=/^\(|\)$/g,ea=/^\[.*\]$/,ta=/:(.*)$/,na=/^:|^\.|^v-bind:/,ra=/\.[^.\]]+(?=[^\]]*$)/g,ia=/^v-slot(:|$)|^#/,oa=/[\r\n]/,aa=/\s+/g,sa=g(_o),ca="_empty_";function ua(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ma(t),rawAttrsMap:{},parent:n,children:[]}}function la(e,t){Bo=t.warn||Sr,Jo=t.isPreTag||T,qo=t.mustUseProp||T,Wo=t.getTagNamespace||T;t.isReservedTag;zo=Tr(t.modules,"transformNode"),Vo=Tr(t.modules,"preTransformNode"),Ko=Tr(t.modules,"postTransformNode"),Uo=t.delimiters;var n,r,i=[],o=!1!==t.preserveWhitespace,a=t.whitespace,s=!1,c=!1;function u(e){if(l(e),s||e.processed||(e=fa(e,t)),i.length||e===n||n.if&&(e.elseif||e.else)&&da(n,{exp:e.elseif,block:e}),r&&!e.forbidden)if(e.elseif||e.else)a=e,(u=function(e){var t=e.length;for(;t--;){if(1===e[t].type)return e[t];e.pop()}}(r.children))&&u.if&&da(u,{exp:a.elseif,block:a});else{if(e.slotScope){var o=e.slotTarget||'"default"';(r.scopedSlots||(r.scopedSlots={}))[o]=e}r.children.push(e),e.parent=r}var a,u;e.children=e.children.filter(function(e){return!e.slotScope}),l(e),e.pre&&(s=!1),Jo(e.tag)&&(c=!1);for(var f=0;f]*>)","i")),p=e.replace(f,function(e,n,r){return u=r.length,Do(l)||"noscript"===l||(n=n.replace(//g,"$1").replace(//g,"$1")),Ro(l,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});c+=e.length-p.length,e=p,A(l,c-u,c)}else{var d=e.indexOf("<");if(0===d){if(No.test(e)){var v=e.indexOf("--\x3e");if(v>=0){t.shouldKeepComment&&t.comment(e.substring(4,v),c,c+v+3),C(v+3);continue}}if(jo.test(e)){var h=e.indexOf("]>");if(h>=0){C(h+2);continue}}var m=e.match(Eo);if(m){C(m[0].length);continue}var y=e.match(To);if(y){var g=c;C(y[0].length),A(y[1],g,c);continue}var _=x();if(_){k(_),Ro(_.tagName,e)&&C(1);continue}}var b=void 0,$=void 0,w=void 0;if(d>=0){for($=e.slice(d);!(To.test($)||Oo.test($)||No.test($)||jo.test($)||(w=$.indexOf("<",1))<0);)d+=w,$=e.slice(d);b=e.substring(0,d)}d<0&&(b=e),b&&C(b.length),t.chars&&b&&t.chars(b,c-b.length,c)}if(e===n){t.chars&&t.chars(e);break}}function C(t){c+=t,e=e.substring(t)}function x(){var t=e.match(Oo);if(t){var n,r,i={tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n=e.match(So))&&(r=e.match(xo)||e.match(Co));)r.start=c,C(r[0].length),r.end=c,i.attrs.push(r);if(n)return i.unarySlash=n[1],C(n[0].length),i.end=c,i}}function k(e){var n=e.tagName,c=e.unarySlash;o&&("p"===r&&wo(n)&&A(r),s(n)&&r===n&&A(n));for(var u=a(n)||!!c,l=e.attrs.length,f=new Array(l),p=0;p=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=i.length-1;u>=a;u--)t.end&&t.end(i[u].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,o):"p"===s&&(t.start&&t.start(e,[],!1,n,o),t.end&&t.end(e,n,o))}A()}(e,{warn:Bo,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,l,f){var p=r&&r.ns||Wo(e);q&&"svg"===p&&(o=function(e){for(var t=[],n=0;nc&&(s.push(o=e.slice(c,i)),a.push(JSON.stringify(o)));var u=Ar(r[1].trim());a.push("_s("+u+")"),s.push({"@binding":u}),c=i+r[0].length}return c-1"+("true"===o?":("+t+")":":_q("+t+","+o+")")),Mr(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Br(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Br(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Br(t,"$$c")+"}",null,!0)}(e,r,i);else if("input"===o&&"radio"===a)!function(e,t,n){var r=n&&n.number,i=Ir(e,"value")||"null";Er(e,"checked","_q("+t+","+(i=r?"_n("+i+")":i)+")"),Mr(e,"change",Br(t,i),null,!0)}(e,r,i);else if("input"===o||"textarea"===o)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,u=o?"change":"range"===r?Wr:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=Br(t,l);c&&(f="if($event.target.composing)return;"+f),Er(e,"value","("+t+")"),Mr(e,u,f,null,!0),(s||a)&&Mr(e,"blur","$forceUpdate()")}(e,r,i);else if(!F.isReservedTag(o))return Hr(e,r,i),!1;return!0},text:function(e,t){t.value&&Er(e,"textContent","_s("+t.value+")",t)},html:function(e,t){t.value&&Er(e,"innerHTML","_s("+t.value+")",t)}},isPreTag:function(e){return"pre"===e},isUnaryTag:bo,mustUseProp:jn,canBeLeftOpenTag:$o,isReservedTag:Wn,getTagNamespace:Zn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(",")}(ba)},xa=g(function(e){return p("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))});function ka(e,t){e&&($a=xa(t.staticKeys||""),wa=t.isReservedTag||T,function e(t){t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||d(e.tag)||!wa(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every($a)))}(t);if(1===t.type){if(!wa(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n|^function\s*(?:[\w$]+)?\s*\(/,Oa=/\([^)]*?\);*$/,Sa=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Ta={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ea={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Na=function(e){return"if("+e+")return null;"},ja={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Na("$event.target !== $event.currentTarget"),ctrl:Na("!$event.ctrlKey"),shift:Na("!$event.shiftKey"),alt:Na("!$event.altKey"),meta:Na("!$event.metaKey"),left:Na("'button' in $event && $event.button !== 0"),middle:Na("'button' in $event && $event.button !== 1"),right:Na("'button' in $event && $event.button !== 2")};function Da(e,t){var n=t?"nativeOn:":"on:",r="",i="";for(var o in e){var a=La(e[o]);e[o]&&e[o].dynamic?i+=o+","+a+",":r+='"'+o+'":'+a+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function La(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return La(e)}).join(",")+"]";var t=Sa.test(e.value),n=Aa.test(e.value),r=Sa.test(e.value.replace(Oa,""));if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(ja[s])o+=ja[s],Ta[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;o+=Na(["ctrl","shift","alt","meta"].filter(function(e){return!c[e]}).map(function(e){return"$event."+e+"Key"}).join("||"))}else a.push(s);return a.length&&(i+=function(e){return"if(!$event.type.indexOf('key')&&"+e.map(Ma).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(t?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value)+"}"}return t||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function Ma(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=Ta[e],r=Ea[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Ia={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:S},Fa=function(e){this.options=e,this.warn=e.warn||Sr,this.transforms=Tr(e.modules,"transformCode"),this.dataGenFns=Tr(e.modules,"genData"),this.directives=A(A({},Ia),e.directives);var t=e.isReservedTag||T;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Pa(e,t){var n=new Fa(t);return{render:"with(this){return "+(e?Ra(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function Ra(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return Ha(e,t);if(e.once&&!e.onceProcessed)return Ba(e,t);if(e.for&&!e.forProcessed)return za(e,t);if(e.if&&!e.ifProcessed)return Ua(e,t);if("template"!==e.tag||e.slotTarget||t.pre){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=qa(e,t),i="_t("+n+(r?","+r:""),o=e.attrs||e.dynamicAttrs?Ga((e.attrs||[]).concat(e.dynamicAttrs||[]).map(function(e){return{name:b(e.name),value:e.value,dynamic:e.dynamic}})):null,a=e.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:qa(t,n,!0);return"_c("+e+","+Va(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Va(e,t));var i=e.inlineTemplate?null:qa(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o>>0}(a):"")+")"}(e,e.scopedSlots,t)+","),e.model&&(n+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var o=function(e,t){var n=e.children[0];if(n&&1===n.type){var r=Pa(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map(function(e){return"function(){"+e+"}"}).join(",")+"]}"}}(e,t);o&&(n+=o+",")}return n=n.replace(/,$/,"")+"}",e.dynamicAttrs&&(n="_b("+n+',"'+e.tag+'",'+Ga(e.dynamicAttrs)+")"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function Ka(e){return 1===e.type&&("slot"===e.tag||e.children.some(Ka))}function Ja(e,t){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return Ua(e,t,Ja,"null");if(e.for&&!e.forProcessed)return za(e,t,Ja);var r=e.slotScope===ca?"":String(e.slotScope),i="function("+r+"){return "+("template"===e.tag?e.if&&n?"("+e.if+")?"+(qa(e,t)||"undefined")+":undefined":qa(e,t)||"undefined":Ra(e,t))+"}",o=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+o+"}"}function qa(e,t,n,r,i){var o=e.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?t.maybeComponent(a)?",1":",0":"";return""+(r||Ra)(a,t)+s}var c=n?function(e,t){for(var n=0,r=0;r':'
    ',ts.innerHTML.indexOf(" ")>0}var os=!!z&&is(!1),as=!!z&&is(!0),ss=g(function(e){var t=Yn(e);return t&&t.innerHTML}),cs=wn.prototype.$mount;return wn.prototype.$mount=function(e,t){if((e=e&&Yn(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=ss(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i=rs(r,{outputSourceRange:!1,shouldDecodeNewlines:os,shouldDecodeNewlinesForHref:as,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return cs.call(this,e,t)},wn.compile=rs,wn}); \ No newline at end of file diff --git a/src/css/cursor/breeze.less b/src/css/cursor/breeze.less new file mode 100644 index 0000000..5ccb17c --- /dev/null +++ b/src/css/cursor/breeze.less @@ -0,0 +1,20 @@ +@default: url(../../cursor/breeze/Arrow.cur), auto; +@pointer: url(../../cursor/breeze/Hand.cur), auto; +@text: url(../../cursor/breeze/IBeam.cur), auto; +@zoom-in: url(../../cursor/breeze/Arrow.cur), auto; + +body { + cursor: @default; +} + +a, button, .expand-done, .navbar-above .navbar-nav .item, .navbar-slideicon, .navbar-searchicon, .widget .ad-tag .click-close, .actions > div, .main-content figure > figcaption div, .photos .picture-details { + cursor: @pointer; +} + +.main-content img { + cursor: @zoom-in; +} + +p, input[type=text], blockquote, th, td, code, h1, h2, h3, h4, h5, h6, hr, li, textarea { + cursor: @text; +} \ No newline at end of file diff --git a/src/css/dshare.less b/src/css/dshare.less new file mode 100644 index 0000000..5587155 --- /dev/null +++ b/src/css/dshare.less @@ -0,0 +1,361 @@ +@charset "utf-8"; +/* CSS Document */ +@font-face { + font-family: "dshare"; + src: url("../font/dshare.woff2") format("woff2") +} + +.dshare { + &-container { + font-family: "dshare" !important; + + .dshare-icon { + width: 32px; + height: 32px; + margin: 4px; + font-size: 20px; + line-height: 32px; + border: 1px solid; + text-align: center; + vertical-align: middle; + display: inline-block; + border-radius: 50%; + transition: background 0.6s ease-out 0s; + + &:hover { + color: #fff; + } + } + + .icon-qq { + color: #56b6e7; + border-color: #56b6e7; + + &:before { + content: '\f01a'; + } + + &:hover { + background: #56b6e7; + } + } + + .icon-qzone { + color: #FDBE3D; + border-color: #FDBE3D; + + &:before { + content: '\f02a'; + } + + &:hover { + background: #FDBE3D; + } + } + + .icon-wechat { + position: relative; + color: #7bc549; + border-color: #7bc549; + + &:before { + content: '\f03a'; + } + + &:hover { + background: #7bc549; + + .wechat-qrcode { + opacity: 1; + transform: translateY(-15px); + } + } + } + + .icon-weibo { + color: #ff763b; + border-color: #ff763b; + + &:before { + content: '\f04a'; + } + + &:hover { + background: #ff763b; + } + } + + .icon-douban { + color: #33b045; + border-color: #33b045; + + &:before { + content: '\f05a'; + } + + &:hover { + background: #33b045; + } + } + + .icon-linkedin { + color: #0077B5; + border-color: #0077B5; + + &:before { + content: '\f06a'; + } + + &:hover { + background: #0077B5; + } + } + + .icon-facebook { + color: #44619D; + border-color: #44619D; + + &:before { + content: '\f07a'; + } + + &:hover { + background: #44619D; + } + } + + .icon-twitter { + color: #55acee; + border-color: #55acee; + + &:before { + content: '\f08a'; + } + + &:hover { + background: #55acee; + } + } + + .icon-google { + color: #db4437; + border-color: #db4437; + + &:before { + content: '\f09a'; + } + + &:hover { + background: #db4437; + } + } + + .icon-link { + color: var(--theme); + border-color: var(--theme); + + &:before { + content: '\f10a'; + } + + &:hover { + background: var(--theme); + } + } + + .icon-poster { + color: var(--theme); + border-color: var(--theme); + + &:before { + content: '\f11a'; + } + + &:hover { + background: var(--theme); + } + } + + .wechat-qrcode { + opacity: 0; + position: absolute; + height: 165px; + width: 140px; + top: -150px; + left: -54px; + font-size: 12px; + border: 1px solid #eee; + border-radius: 5px; + background: #fff; + box-shadow: 0 2px 10px #aaa; + pointer-events: none; + transition: all 0.3s; + + &:after { + content: ''; + position: absolute; + left: 50%; + margin-left: -8px; + bottom: -13px; + width: 0; + height: 0; + border-width: 8px 8px 6px 8px; + border-style: solid; + border-color: #fff transparent transparent transparent; + } + + h4 { + margin: 0; + padding: 0; + height: 25px; + line-height: 25px; + color: #777; + background-color: #f3f3f3; + } + + img { + width: 100%; + } + } + } + + &-poster { + left: 0; + top: 0; + height: 100%; + width: 100%; + position: fixed; + z-index: 99999; + transition: all 0.3s; + background: rgba(0, 0, 0, 0.3); + + &.close-animation { + opacity: 0; + + .dshare-poster-container > * { + transform: scale(0.4); + } + } + + &-container { + top: 50%; + left: 50%; + display: grid; + position: absolute; + width: 360px; + max-width: 90%; + transform: translate(-50%, -50%); + } + + &-download { + width: 50px; + height: 50px; + margin-top: 20px; + line-height: 50px; + font-size: 32px; + cursor: pointer; + background: var(--theme); + border-radius: 50%; + color: #fff; + text-align: center; + transition: all 0.3s; + justify-self: center; + } + + &-crad { + overflow: hidden; + background: #fff; + border-radius: 6px; + user-select: none; + transition: all 0.3s; + font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + } + + &-cover { + position: relative; + margin-bottom: -68px; + + &:after { + content: ''; + position: absolute; + left: 0; + bottom: -1px; + width: 100%; + height: 140px; + background: linear-gradient(180deg,transparent,#fff); + } + + img{ + width: 100%; + min-height: 180px; + max-height: 340px; + object-fit: cover; + } + } + + &-content { + padding: 10px; + } + + &-title { + color: #333; + position: relative; + margin-top: 8px; + padding-bottom: 14px; + font-size: 18px; + + &:before { + content: ''; + position: absolute; + width: 20%; + height: 2px; + left: 0; + bottom: 8px; + border-radius: 5px; + background: var(--theme); + } + + &:after { + content: ''; + position: absolute; + width: 63%; + height: 2px; + left: 0; + bottom: 1px; + border-radius: 5px; + background: var(--theme); + } + } + + &-desc { + margin-top: 12px; + text-indent: 2em; + color: var(--main); + line-height: 1.6em; + } + + &-footer { + margin-top: 18px; + border: 2px #aaa dashed; + border-radius: 5px; + display: flex; + } + + &-qrcode { + width: 70px; + + &-info { + margin: auto 0 auto 8px; + } + + &-site { + font-size: 16px; + } + + &-msg { + margin-top: 2px; + color: #999; + } + } + } +} \ No newline at end of file diff --git a/src/css/mew-custom.less b/src/css/mew-custom.less new file mode 100644 index 0000000..23240b5 --- /dev/null +++ b/src/css/mew-custom.less @@ -0,0 +1,894 @@ +@charset "utf-8"; +/* CSS Document */ +mew-hide { + display: block; + cursor: pointer; + overflow: hidden; + position: relative; + height: 4em; + border-radius: var(--radius-wrap); + + &:before { + content: '隐藏内容,评论后可见'; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + line-height: 4em; + text-align: center; + padding: 0 12px; + background: repeating-linear-gradient(135deg, var(--light-b), var(--light-b) 1rem, var(--background) 0, var(--background) 2rem); + } +} + +mew-subtitle { + display: flex; + justify-content: center; + margin: 14px 0; + + & > span { + position: relative; + color: var(--main); + padding: 0 47px; + + &:hover { + &::before { + left: 12px; + } + + &::after { + right: 12px; + } + } + + &::before { + content: ""; + position: absolute; + top: 50%; + left: 0; + width: 20px; + height: 1px; + background: var(--theme); + transition: all .35s; + } + + &::after { + content: ""; + position: absolute; + top: 50%; + right: 0; + width: 20px; + height: 1px; + background: var(--theme); + transition: all .35s; + } + } +} + +mew-music { + display: block; + background-color: var(--bg-d) !important; + max-width: 620px; + margin: auto !important; + + &:not(.aplayer) { + padding: 10px 20px; + font-size: 1.1em; + border: 1px solid var(--light-b); + border-radius: 5px; + + &:before { + content: "\f001"; + font-family: 'FontAwesome'; + color: var(--theme); + margin-right: 10px; + } + } + + .aplayer-list ol li { + border-top: 1px solid rgba(180, 180, 180, 0.2) !important; + + &.aplayer-list-light { + background: rgba(200, 200, 200, 0.2) !important; + } + + &:hover { + background: rgba(200, 200, 200, 0.2) !important; + } + + } + + &.aplayer-withlist .aplayer-info { + border-bottom: none; + } + + .aplayer-lrc { + &:before { + background: linear-gradient(180deg, #c5c5c52b 0, hsla(0, 0%, 100%, 0)) !important; + } + + &:after { + background: linear-gradient(180deg, hsl(0deg 0% 100% / 0%) 0, hsl(0deg 0% 100% / 23%)) !important; + } + } +} + +mew-bilibili { + display: block; + position: relative; + + & > iframe { + position: absolute; + height: 100%; + top: 0; + bottom: 0; + left: 50%; + right: 0; + transform: translateX(-50%); + border-radius: var(--radius-inner); + } +} + +mew-tabs { + width: 100%; + overflow: hidden; + display: block; + background: var(--bg-d); + border: 1px solid var(--light-b); + border-radius: var(--radius-inner); + line-height: 26px; + margin-bottom: 14px; + + .tabs-head { + width: 100%; + overflow-x: auto; + overflow-y: hidden; + display: flex; + background: var(--bg-h); + + & > div { + position: relative; + padding: 0 14px; + line-height: 40px; + height: 40px; + color: var(--dark-b); + cursor: pointer; + transition: color .5s; + white-space: nowrap; + font-size: 1em; + + &::after { + content: ""; + position: absolute; + background: var(--theme); + bottom: 0; + left: 14px; + right: 14px; + height: 2px; + opacity: 0; + border-radius: 2px; + transform: scaleX(.5); + transition: opacity .25s, transform .25s; + } + + &.active { + color: var(--theme); + + &::after { + opacity: 1; + transform: scaleX(1); + } + } + } + } + + .tabs-body { + padding: 12px 14px; + + & > div { + display: none; + + &.active { + display: block; + } + } + } +} + +mew-cloud { + display: flex; + align-items: center; + padding: 10px; + overflow: hidden; + border: 1px solid var(--light-b); + border-radius: var(--radius-inner); + box-shadow: 1px 1px 5px 0 var(--bg-b); + background: var(--background); + + .mew-cloud-logo { + flex-shrink: 0; + width: 2.4em; + height: 2.4em; + margin-right: 10px; + background-size: 100% 100%; + + &.type-default { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjUyMTY1ODk4NzQ2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjcyNjYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IGZlZWRiYWNrLWljb25mb250OyBzcmM6IHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUud29mZjI/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi8vYXQuYWxpY2RuLmNvbS90L2ZvbnRfMTAzMTE1OF91Njl3OHloeGR1LndvZmY/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmIiksIHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUudHRmP3Q9MTYzMDAzMzc1OTk0NCIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMTkwLjU3MTQyODMyIDI1NC44NTcxNDI0OGg2NDIuODU3MTQzMzZjMTkuMjg1NzE0MTYgMCAzMi4xNDI4NTc1MiAxMi44NTcxNDI0OCAzMi4xNDI4NTY2NCAzMi4xNDI4NTc1MnY0ODIuMTQyODU3NTJIMTU4LjQyODU3MTY4VjI4N2MwLTE5LjI4NTcxNDE2IDEyLjg1NzE0MjQ4LTMyLjE0Mjg1NzUyIDMyLjE0Mjg1NjY0LTMyLjE0Mjg1NzUyeiIgZmlsbD0iIzkxRDVGRiIgcC1pZD0iNzI2NyI+PC9wYXRoPjxwYXRoIGQ9Ik0yMjUuOTI4NTcxNjggMTI2LjI4NTcxNDE2aDU0MGMxOS4yODU3MTQxNiAwIDM1LjM1NzE0MjQ4IDE2LjA3MTQyODMyIDM1LjM1NzE0MjQ4IDMyLjE0Mjg1NzUycy0xNi4wNzE0MjgzMiAzMi4xNDI4NTc1Mi0zNS4zNTcxNDI0OCAzMi4xNDI4NTY2NEgyMjUuOTI4NTcxNjhDMjA2LjY0Mjg1NzUyIDE5MC41NzE0MjgzMiAxOTAuNTcxNDI4MzIgMTc0LjUgMTkwLjU3MTQyODMyIDE1OC40Mjg1NzE2OHMxNi4wNzE0MjgzMi0zMi4xNDI4NTc1MiAzNS4zNTcxNDMzNi0zMi4xNDI4NTc1MnoiIGZpbGw9IiNCQUU3RkYiIHAtaWQ9IjcyNjgiPjwvcGF0aD48cGF0aCBkPSJNMTEwLjIxNDI4NTg0IDQ3OS44NTcxNDI0OGgyMDIuNWw2MS4wNzE0MjgzMiAxNDEuNDI4NTcxNjhoMjczLjIxNDI4NTg0bDczLjkyODU3MTY4LTE0MS40Mjg1NzE2OGgxOTIuODU3MTQyNDhjMjUuNzE0Mjg1ODQgMCA0OC4yMTQyODU4NCAyMi41IDQ4LjIxNDI4NTg0IDQ4LjIxNDI4NTg0djM4NS43MTQyODU4NGMwIDI1LjcxNDI4NTg0LTIyLjUgNDguMjE0Mjg1ODQtNDguMjE0Mjg1ODQgNDguMjE0Mjg1ODRoLTgwMy41NzE0MjgzMkM4NC41IDk2MiA2MiA5MzkuNSA2MiA5MTMuNzg1NzE0MTZ2LTM4NS43MTQyODU4NGMzLjIxNDI4NTg0LTI1LjcxNDI4NTg0IDIyLjUtNDguMjE0Mjg1ODQgNDguMjE0Mjg1ODQtNDguMjE0Mjg1ODR6IiBmaWxsPSIjNDBBOUZGIiBwLWlkPSI3MjY5Ij48L3BhdGg+PHBhdGggZD0iTTI4NyA3NjkuMTQyODU3NTJoNDUwYzE5LjI4NTcxNDE2IDAgMzIuMTQyODU3NTIgMTIuODU3MTQyNDggMzIuMTQyODU3NTIgMzIuMTQyODU2NjRzLTEyLjg1NzE0MjQ4IDMyLjE0Mjg1NzUyLTMyLjE0Mjg1NzUyIDMyLjE0Mjg1NzUySDI4N2MtMTkuMjg1NzE0MTYgMC0zMi4xNDI4NTc1Mi0xMi44NTcxNDI0OC0zMi4xNDI4NTc1Mi0zMi4xNDI4NTc1MnMxMi44NTcxNDI0OC0zMi4xNDI4NTc1MiAzMi4xNDI4NTc1Mi0zMi4xNDI4NTY2NHoiIGZpbGw9IiNCQUU3RkYiIHAtaWQ9IjcyNzAiPjwvcGF0aD48L3N2Zz4="); + } + + &.type-360 { + background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04NDMuMjk0IDg3MS45MDZjMC00OS42OTQgNDAuNjU5LTkwLjM1MyA5MC4zNTMtOTAuMzUzUzEwMjQgODIyLjIxMiAxMDI0IDg3MS45MDZzLTQwLjY1OSA5MC4zNTMtOTAuMzUzIDkwLjM1My05MC4zNTMtNDAuNjU5LTkwLjM1My05MC4zNTN6IiBmaWxsPSIjRkY5OTMyIi8+PHBhdGggZD0iTTg0NC44IDY4Ni42ODJsLTEzMS4wMTItNTIuNzA2Yy0xMC41NC00LjUxNy0xMC41NC0xMi4wNDctNi4wMjMtMjIuNTg4IDEyLjA0Ny0zMS42MjMgMTguMDctNjYuMjU5IDE4LjA3LTEwMC44OTQgMC0xNDcuNTc2LTEyNC45ODgtMjc0LjA3LTI3NC4wNy0yNzQuMDdzLTI3NC4wNyAxMjYuNDk0LTI3NC4wNyAyNzQuMDdjMCAzNC42MzUgOS4wMzQgNzAuNzc3IDIxLjA4MSAxMDIuNCAzLjAxMiA2LjAyNCAzLjAxMiAxMy41NTMgMCAxOS41NzctMy4wMTEgNC41MTctNi4wMjMgMC0xMC41NCAxLjUwNUw1NS43MTcgNjc3LjY0N2MtMS41MDYgMS41MDYtNC41MTggMS41MDYtNi4wMjQgMS41MDYtOS4wMzUgMC0xNS4wNTktNC41MTgtMTguMDctMTMuNTUzQzEyLjA0NyA2MTQuNCAxLjUwNiA1NjMuMiAxLjUwNiA1MTAuNDk0IDEuNTA2IDI2My41MyAyMDQuOCA2MC4yMzUgNDUzLjI3IDYwLjIzNXM0NTAuMjU4IDIwMS43ODkgNDUwLjI1OCA0NDguNzUzYzAgNTguNzMtMTAuNTQgMTE0LjQ0Ny0zMS42MjMgMTY3LjE1My0xLjUwNiA0LjUxOC02LjAyNCA5LjAzNS0xMi4wNDcgMTAuNTQxLTMuMDEyIDEuNTA2LTQuNTE4IDEuNTA2LTcuNTMgMS41MDZzLTQuNTE3IDAtNy41MjktMS41MDZ6IiBmaWxsPSIjMEZCMjY0Ii8+PHBhdGggZD0iTTUxLjIgNzE4LjMwNmMtNy41My0xNS4wNTktMTMuNTUzLTMxLjYyNC0xOS41NzYtNDYuNjgyLTMuMDEyLTcuNTMtMy4wMTItMTMuNTUzLTMuMDEyLTE2LjU2NSAwLTQ5LjY5NCA0MC42NTktODguODQ3IDkxLjg1OS04OC44NDcgMzcuNjQ3IDAgNjkuMjcgMjIuNTg4IDg0LjMyOSA1NS43MTcgMS41MDYgMy4wMTIgNi4wMjQgMTIuMDQ3IDkuMDM1IDE2LjU2NSA0Ni42ODMgODguODQ3IDEzOC41NDEgMTQ2LjA3IDIzOS40MzYgMTQ2LjA3IDk5LjM4OCAwIDE4OS43NC01NS43MTcgMjM3LjkyOS0xNDEuNTUyIDQuNTE4LTkuMDM2IDE2LjU2NS0zMC4xMTggMTguMDctMzEuNjI0IDE1LjA2LTMwLjExNyA0My42NzEtNDUuMTc2IDc2LjgtNDUuMTc2IDUxLjIgMCA5MS44NiA0MC42NTkgOTEuODYgODguODQ3IDAgNi4wMjMgMCAxMy41NTMtNC41MTggMjIuNTg4bC05LjAzNiAyMi41ODh2MS41MDZjLTEuNTA1IDQuNTE4LTMuMDExIDcuNTMtNi4wMjMgMTIuMDQ3LTc2LjggMTUzLjYtMjMxLjkwNiAyNDguNDctNDAzLjU3NyAyNDguNDdTMTI5LjUwNiA4NjguODk1IDUxLjIgNzE4LjMwN3oiIGZpbGw9IiNGRjk5MzIiLz48L3N2Zz4=); + } + + &.type-bd { + background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTI3MS4zOCA0MjkuNjM3YTI0NS41IDI0NS41IDAgMCAxLTMuMzk1LTQwLjc3N2MwLTEzNC42OCAxMDkuMTgtMjQzLjg2IDI0My44Ni0yNDMuODZzMjQzLjg2IDEwOS4xOCAyNDMuODYgMjQzLjg2YTI0NS41IDI0NS41IDAgMCAxLTMuMzk0IDQwLjc3NkM4NzUuOTY3IDQzMC4zMTIgOTc2IDUzMC43NjMgOTc2IDY1NC41NzhjMCAxMjQuMjM1LTEwMC43MTIgMjI0Ljk0Ny0yMjQuOTQ2IDIyNC45NDctNjIuNzQzIDAtMTE5LjQ4Ni0yNS42ODgtMTYwLjI4Ny02Ny4xMmwuMDAzLS4wMDRjLTIxLjQ0LTIxLjgyMi0yMS4zMjItNTYuODkzLjM1NC03OC41NyAyMS43OTYtMjEuNzk1IDU3LjEzMy0yMS43OTUgNzguOTI4IDAgLjY5My42OTQgMS4zNjUgMS40IDIuMDE0IDIuMTIgMjAuNDI3IDE5Ljg3IDQ4LjMxNyAzMi4xMDggNzkuMDY1IDMyLjEwOCA2Mi42MzEgMCAxMTMuNDA0LTUwLjc3MiAxMTMuNDA0LTExMy40MDMgMC02Mi42MzEtNTAuNzczLTExMy40MDMtMTEzLjQwNC0xMTMuNDAzLTI4LjczOSAwLTU0Ljk4MSAxMC42OS03NC45NjcgMjguMzExbC0uMDk2LS4wOTYtMS44ODYgMS44ODZjLTIuMiAyLjAzMy00LjMyIDQuMTUyLTYuMzUzIDYuMzUzbC00LjMwNiA0LjMwNS4wNzYuMDc3LTIyOS44NzYgMjI5Ljg3Ni0uMDMtLjAzYy00MC44MzMgNDEuNzA4LTk3Ljc2NyA2Ny41OS0xNjAuNzQ3IDY3LjU5QzE0OC43MTIgODc5LjUyNSA0OCA3NzguODEzIDQ4IDY1NC41NzhjMC0xMjMuNzExIDk5Ljg2Ni0yMjQuMDk4IDIyMy4zOC0yMjQuOTR6bTEuNjQ0IDMzOC40MjJjNjIuNjMgMCAxMTMuNDAzLTUwLjc3MiAxMTMuNDAzLTExMy40MDMgMC02Mi42MzEtNTAuNzcyLTExMy40MDMtMTEzLjQwMy0xMTMuNDAzLTYyLjYzMSAwLTExMy40MDQgNTAuNzcyLTExMy40MDQgMTEzLjQwMyAwIDYyLjYzIDUwLjc3MyAxMTMuNDAzIDExMy40MDQgMTEzLjQwM3pNNTExLjg0NSA1MjEuMWM3My4wMzQgMCAxMzIuMjQtNTkuMjA2IDEzMi4yNC0xMzIuMjQgMC03My4wMzMtNTkuMjA2LTEzMi4yMzktMTMyLjI0LTEzMi4yMzlzLTEzMi4yNCA1OS4yMDYtMTMyLjI0IDEzMi4yNGMwIDczLjAzMyA1OS4yMDYgMTMyLjIzOSAxMzIuMjQgMTMyLjIzOXoiIGZpbGw9IiMwNkE3RkYiLz48cGF0aCBkPSJNNjQzLjM1MSA0MDIuODY4YTU2Ljk2NiA1Ni45NjYgMCAwIDEtLjM1Mi02LjMzNGMwLTMxLjEyMyAyNS4yMy01Ni4zNTMgNTYuMzUzLTU2LjM1M3M1Ni4zNTMgMjUuMjMgNTYuMzUzIDU2LjM1M2MwIDIuMzktLjE1IDQuNzQ1LS40MzggNy4wNTctNy42MTYgMTI3LjgyLTExMy42ODggMjI5LjEyOC0yNDMuNDIyIDIyOS4xMjgtMTI5LjczNCAwLTIzNS44MDYtMTAxLjMwNy0yNDMuNDIyLTIyOS4xMjhhNTYuOTA4IDU2LjkwOCAwIDAgMS0uNDM4LTcuMDU3YzAtMzEuMTIzIDI1LjIzLTU2LjM1MyA1Ni4zNTMtNTYuMzUzczU2LjM1MyAyNS4yMyA1Ni4zNTMgNTYuMzUzYzAgMi4xNDEtLjEyIDQuMjU1LS4zNTIgNi4zMzQgNi45OTYgNjYuNDQ4IDYzLjIwNCAxMTguMjMgMTMxLjUwNiAxMTguMjMgNjguMzAyIDAgMTI0LjUxLTUxLjc4MiAxMzEuNTA2LTExOC4yM3oiIGZpbGw9IiNGRjQzNkEiLz48L3N2Zz4=); + } + + &.type-wy { + background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04ODAuMyA2MzEuOWMtMy40IDAtNi45LS42LTEwLjItMS44LTE2LjEtNS43LTI0LjUtMjMuMy0xOC45LTM5LjQgNi40LTE4LjEgOS42LTM3LjEgOS42LTU2LjUgMC05My4zLTc1LjktMTY5LjItMTY5LjEtMTY5LjItNzcuNiAwLTE0NS4xIDUyLjQtMTY0IDEyNy41LTQuMiAxNi41LTIwLjggMjYuNi0zNy41IDIyLjQtMTYuNS00LjItMjYuNS0yMS0yMi40LTM3LjUgMjUuOS0xMDIuNSAxMTgtMTc0LjEgMjIzLjktMTc0LjEgMTI3LjMgMCAyMzAuOCAxMDMuNiAyMzAuOCAyMzAuOSAwIDI2LjQtNC40IDUyLjMtMTMuMSA3Ny00LjUgMTIuNy0xNi40IDIwLjctMjkuMSAyMC43eiIgZmlsbD0iIzA5RiIvPjxwYXRoIGQ9Ik00NDcuNCA3ODMuM0gzMzIuNmMtMTI3LjMgMC0yMzAuOS05Ny41LTIzMC45LTIxNy4zIDAtOTQuOSA2NS45LTE3OC4zIDE2MC0yMDYuOCAxMC4yLTExNy45IDEwOS41LTIxMC43IDIzMC0yMTAuNyAxMDcuMSAwIDIwMS44IDc1LjggMjI1LjMgMTgwLjEgMy43IDE2LjYtNi44IDMzLjEtMjMuNCAzNi45LTE2LjcgMy45LTMzLjItNi43LTM2LjktMjMuMy0xNy4xLTc2LjQtODYuNS0xMzEuOS0xNjUtMTMxLjktOTMuMyAwLTE2OS4yIDc1LjktMTY5LjIgMTY5LjEgMS43IDguMS4zIDE1LjQtNC40IDIyLjMtNC42IDYuOS0xMS43IDEwLjQtMTkuOSAxMi03OC4yIDE0LjgtMTM0LjkgNzguOS0xMzQuOSAxNTIuNCAwIDg1LjggNzUuOSAxNTUuNiAxNjkuMiAxNTUuNmgxMTQuOGMxNyAwIDMwLjkgMTMuOCAzMC45IDMwLjlzLTEzLjggMzAuNy0zMC44IDMwLjd6bTExMi43LTMxYy04LjIgMC0xNi4zLTMuMi0yMi40LTkuNi0xMS43LTEyLjQtMTEuMy0zMS45IDEuMS00My42bDEyNi43LTEyMC40YzExLjgtMTEuMyAzMC41LTExLjMgNDIuNSAwTDgzNC44IDY5OWMxMi40IDExLjcgMTIuOSAzMS4zIDEuMSA0My42LTExLjcgMTIuMy0zMS4zIDEyLjktNDMuNiAxLjFMNjg2LjggNjQzLjYgNTgxLjMgNzQzLjhjLTUuOSA1LjctMTMuNiA4LjUtMjEuMiA4LjV6IiBmaWxsPSIjMDlGIi8+PHBhdGggZD0iTTY4Ni44IDg3OWMtMTcgMC0zMC45LTEzLjgtMzAuOS0zMC45VjYwMWMwLTE3IDEzLjktMzAuOSAzMC45LTMwLjlzMzAuOSAxMy44IDMwLjkgMzAuOXYyNDcuMWMwIDE3LjEtMTMuOSAzMC45LTMwLjkgMzAuOXoiIGZpbGw9IiMwOUYiLz48L3N2Zz4=); + } + + &.type-ali { + background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIyLjAzNSAxMy44MDZhLjUyNy41MjcgMCAwMS0uMzg0LS42MTdjMS4yMjctNS42MzItMi4yLTExLjMxLTcuODQ1LTEyLjgxN0M4LTEuMTc4IDIuMDA4IDIuMjYuNDM4IDguMDM5bC0uMDAyLjAxLS4wMDUuMDE2Yy0uOTU1IDMuNTgzLS4zMTUgNy4zMzggMS44MTMgMTAuNDRhMTIuNjU5IDEyLjY1OSAwIDAwNi4wODYgNC43MTNjNi44ODcgMi41MDggMTQuMzAzLTEuMjUgMTYuNDk1LTcuOTY4YS42NDMuNjQzIDAgMDAtLjQ0OC0uODE5bC0yLjM0My0uNjI1em0tMTEuNDQgNS40NTdBOC4xMjcgOC4xMjcgMCAwMTUuNjIgMTUuNDZhOC4wODMgOC4wODMgMCAwMS0uODItNi4xODdjLjkzNS0zLjQ0MSA0LjUwMi01LjQ5IDcuOTYtNC41NjYgMy4yODUuODc3IDUuMzA5IDQuMTIxIDQuNzIgNy4zOTdhLjYuNiAwIDAwLjQzNC42OWwyLjIwNi41ODljLjI4LjA3NS40MzcuMzcuMzQ0LjY0Mi0xLjM4IDQuMDI1LTUuNjkgNi4zNTYtOS44NyA1LjI0eiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhciIgeDE9IjAiIHkxPSIwIiB4Mj0iMjYuMzY2IiB5Mj0iMjIuMjA4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzQ0NkRGRiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzYzN0RGRiIgc3RvcC1vcGFjaXR5PSIuNzUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="); + } + + &.type-github { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjUyMTY0NzM0OTg3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ2OTUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IGZlZWRiYWNrLWljb25mb250OyBzcmM6IHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUud29mZjI/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi8vYXQuYWxpY2RuLmNvbS90L2ZvbnRfMTAzMTE1OF91Njl3OHloeGR1LndvZmY/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmIiksIHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUudHRmP3Q9MTYzMDAzMzc1OTk0NCIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDg1LjMzMzMzM0MyNzYuMjY2NjY3IDg1LjMzMzMzMyA4NS4zMzMzMzMgMjc2LjI2NjY2NyA4NS4zMzMzMzMgNTEyYTQyNi40MTA2NjcgNDI2LjQxMDY2NyAwIDAgMCAyOTEuNzU0NjY3IDQwNC44MjEzMzNjMjEuMzMzMzMzIDMuNzEyIDI5LjMxMi05LjA4OCAyOS4zMTItMjAuMzA5MzMzIDAtMTAuMTEyLTAuNTU0NjY3LTQzLjY5MDY2Ny0wLjU1NDY2Ny03OS40NDUzMzMtMTA3LjE3ODY2NyAxOS43NTQ2NjctMTM0LjkxMi0yNi4xMTItMTQzLjQ0NTMzMy01MC4xMzMzMzQtNC44MjEzMzMtMTIuMjg4LTI1LjYtNTAuMTMzMzMzLTQzLjczMzMzMy02MC4yODgtMTQuOTMzMzMzLTcuOTc4NjY3LTM2LjI2NjY2Ny0yNy43MzMzMzMtMC41NTQ2NjctMjguMjQ1MzMzIDMzLjYyMTMzMy0wLjU1NDY2NyA1Ny42IDMwLjkzMzMzMyA2NS42MjEzMzMgNDMuNzMzMzMzIDM4LjQgNjQuNTEyIDk5Ljc1NDY2NyA0Ni4zNzg2NjcgMTI0LjI0NTMzNCAzNS4yIDMuNzU0NjY3LTI3LjczMzMzMyAxNC45MzMzMzMtNDYuMzc4NjY3IDI3LjIyMTMzMy01Ny4wNDUzMzMtOTQuOTMzMzMzLTEwLjY2NjY2Ny0xOTQuMTMzMzMzLTQ3LjQ4OC0xOTQuMTMzMzMzLTIxMC42ODggMC00Ni40MjEzMzMgMTYuNTEyLTg0Ljc3ODY2NyA0My43MzMzMzMtMTE0LjY4OC00LjI2NjY2Ny0xMC42NjY2NjctMTkuMi01NC40IDQuMjY2NjY3LTExMy4wNjY2NjcgMCAwIDM1LjcxMi0xMS4xNzg2NjcgMTE3LjMzMzMzMyA0My43NzZhMzk1Ljk0NjY2NyAzOTUuOTQ2NjY3IDAgMCAxIDEwNi42NjY2NjctMTQuNDIxMzMzYzM2LjI2NjY2NyAwIDcyLjUzMzMzMyA0Ljc3ODY2NyAxMDYuNjY2NjY2IDE0LjM3ODY2NyA4MS41Nzg2NjctNTUuNDY2NjY3IDExNy4zMzMzMzMtNDMuNjkwNjY3IDExNy4zMzMzMzQtNDMuNjkwNjY3IDIzLjQ2NjY2NyA1OC42NjY2NjcgOC41MzMzMzMgMTAyLjQgNC4yNjY2NjYgMTEzLjA2NjY2NyAyNy4xNzg2NjcgMjkuODY2NjY3IDQzLjczMzMzMyA2Ny43MTIgNDMuNzMzMzM0IDExNC42NDUzMzMgMCAxNjMuNzU0NjY3LTk5LjcxMiAyMDAuMDIxMzMzLTE5NC42NDUzMzQgMjEwLjY4OCAxNS40NDUzMzMgMTMuMzEyIDI4LjggMzguOTEyIDI4LjggNzguOTMzMzMzIDAgNTcuMDQ1MzMzLTAuNTU0NjY3IDEwMi45MTItMC41NTQ2NjYgMTE3LjMzMzMzNCAwIDExLjE3ODY2NyA4LjAyMTMzMyAyNC40OTA2NjcgMjkuMzU0NjY2IDIwLjIyNEE0MjcuMzQ5MzMzIDQyNy4zNDkzMzMgMCAwIDAgOTM4LjY2NjY2NyA1MTJjMC0yMzUuNzMzMzMzLTE5MC45MzMzMzMtNDI2LjY2NjY2Ny00MjYuNjY2NjY3LTQyNi42NjY2Njd6IiBmaWxsPSIjMDAwMDAwIiBwLWlkPSI0Njk2Ij48L3BhdGg+PC9zdmc+"); + } + + &.type-gitee { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjUyMTY1NjgxOTQ2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ4NjYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IGZlZWRiYWNrLWljb25mb250OyBzcmM6IHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUud29mZjI/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi8vYXQuYWxpY2RuLmNvbS90L2ZvbnRfMTAzMTE1OF91Njl3OHloeGR1LndvZmY/dD0xNjMwMDMzNzU5OTQ0IikgZm9ybWF0KCJ3b2ZmIiksIHVybCgiLy9hdC5hbGljZG4uY29tL3QvZm9udF8xMDMxMTU4X3U2OXc4eWh4ZHUudHRmP3Q9MTYzMDAzMzc1OTk0NCIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDEwMjRDMjI5LjIyMiAxMDI0IDAgNzk0Ljc3OCAwIDUxMlMyMjkuMjIyIDAgNTEyIDBzNTEyIDIyOS4yMjIgNTEyIDUxMi0yMjkuMjIyIDUxMi01MTIgNTEyeiBtMjU5LjE0OS01NjguODgzaC0yOTAuNzRhMjUuMjkzIDI1LjI5MyAwIDAgMC0yNS4yOTIgMjUuMjkzbC0wLjAyNiA2My4yMDZjMCAxMy45NTIgMTEuMzE1IDI1LjI5MyAyNS4yNjcgMjUuMjkzaDE3Ny4wMjRjMTMuOTc4IDAgMjUuMjkzIDExLjMxNSAyNS4yOTMgMjUuMjY3djEyLjY0NmE3NS44NTMgNzUuODUzIDAgMCAxLTc1Ljg1MyA3NS44NTNoLTI0MC4yM2EyNS4yOTMgMjUuMjkzIDAgMCAxLTI1LjI2Ny0yNS4yOTNWNDE3LjIwM2E3NS44NTMgNzUuODUzIDAgMCAxIDc1LjgyNy03NS44NTNoMzUzLjk0NmEyNS4yOTMgMjUuMjkzIDAgMCAwIDI1LjI2Ny0yNS4yOTJsMC4wNzctNjMuMjA3YTI1LjI5MyAyNS4yOTMgMCAwIDAtMjUuMjY4LTI1LjI5M0g0MTcuMTUyYTE4OS42MiAxODkuNjIgMCAwIDAtMTg5LjYyIDE4OS42NDVWNzcxLjE1YzAgMTMuOTc3IDExLjMxNiAyNS4yOTMgMjUuMjk0IDI1LjI5M2gzNzIuOTRhMTcwLjY1IDE3MC42NSAwIDAgMCAxNzAuNjUtMTcwLjY1VjQ4MC4zODRhMjUuMjkzIDI1LjI5MyAwIDAgMC0yNS4yOTMtMjUuMjY3eiIgZmlsbD0iI0M3MUQyMyIgcC1pZD0iNDg2NyI+PC9wYXRoPjwvc3ZnPg==); + } + + &.type-lz { + background-image: url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik02NzguNjQgNTE0LjAwN2ExNjguNDQ4IDE2OC40NDggMCAxIDAtMTY4LjQ0NyAxNjcuNzA2QTE2OC4wNyAxNjguMDcgMCAwIDAgNjc4LjY0IDUxNC4wMDd6IiBmaWxsPSIjRjRDQTFDIi8+PHBhdGggZD0iTTk4My4wNCA2MDMuNDEyYTI0Mi40ODggMjQyLjQ4OCAwIDAgMC0yODAuMzkyLTIzOC40MDdBMjUzLjMyMiAyNTMuMzIyIDAgMCAwIDI1Ni4yMiAyODcuMThhMjQ5LjEzNCAyNDkuMTM0IDAgMCAwLTQ4Ljk1NyAxNTMuMzg1QTIwMy4zOTcgMjAzLjM5NyAwIDAgMCAyNDAuMTg5IDg0NC44aDUyNy43NzVhMzEuOTkgMzEuOTkgMCAwIDAgMTQuNzUtMy43MTcgMjQyLjAzOCAyNDIuMDM4IDAgMCAwIDIwMC4zMjYtMjM3LjY3ek03NDAuNjA4IDc4MC43MTNIMjQwLjE4OWExMzkuMzg3IDEzOS4zODcgMCAxIDEgMC0yNzguNzY5IDMxLjk3IDMxLjk3IDAgMCAwIDguNzA0LTEuMzQxIDMxLjk2NCAzMS45NjQgMCAwIDAgMjQuODQ4LTM1Ljk5OSAxODcuODEyIDE4Ny44MTIgMCAwIDEgMTU3Ljc0Mi0yMTQuMDE2IDE4OC40NjIgMTg4LjQ2MiAwIDAgMSAyMDkuNTQxIDEzMi44MzkgMjQxLjYyOCAyNDEuNjI4IDAgMCAwLTE0Mi44NDggMjE5Ljk4NSAzMi4xOCAzMi4xOCAwIDAgMCA2NC4zNTggMCAxNzguMDY4IDE3OC4wNjggMCAxIDEgMTc4LjA3NCAxNzcuMzAxeiIgZmlsbD0iIzU5NUJCMyIvPjwvc3ZnPg=="); + } + } + + .mew-cloud-desc { + line-height: normal; + flex: 1; + overflow: hidden; + + &-title { + color: var(--theme); + margin-bottom: 3px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + + &-type { + font-size: 0.8em; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + + .mew-cloud-link { + flex-shrink: 0; + margin-left: auto; + background: var(--theme); + color: #fff; + width: 2em; + height: 2em; + line-height: 2em; + border-radius: 50%; + text-align: center; + } +} + +mew-progress { + display: flex; + align-items: center; + + .mew-progress-bar { + height: 10px; + border-radius: 5px; + overflow: hidden; + background: var(--light-b); + width: 0; + min-width: 0; + flex: 1; + margin-right: 5px; + + &-inner { + height: 100%; + overflow: hidden; + border-radius: 5px; + + &:before { + content: ''; + display: block; + height: 100%; + background-size: 30px 30px; + animation: progress 750ms linear infinite; + background-image: linear-gradient(135deg, rgb(255 255 255 / 40%) 25%, transparent 25%, transparent 50%, rgb(255 255 255 / 40%) 50%, rgb(255 255 255 / 40%) 75%, transparent 75%, transparent 100%); + } + } + } + + .mew-progress-value { + width: 38px; + color: var(--main); + } +} + +mew-panel { + display: block; + overflow: hidden; + border-radius: var(--radius-inner); + margin-bottom: 14px; + + .mew-panel-title { + color: #FFF; + padding: 6px 12px; + font-weight: 400; + } + + .mew-panel-body { + background: rgb(255 255 255 / 88%); + padding: 12px 18px; + position: relative; + } +} + +mew-message { + display: block; + padding: 10px; + border-radius: var(--radius-inner); + margin-bottom: 14px; + + &::before { + font: normal normal normal 1.1em/1 FontAwesome; + margin-right: 8px; + } + + &[type=error] { + color: #f46c6b; + background-color: rgb(255 228 226 / 90%); + + &::before { + content: '\f057'; + } + } + + &[type=warning] { + color: #FEC008; + background-color: rgb(255 243 215 / 90%); + + &::before { + content: '\f06a'; + } + } + + &[type=info] { + color: #1B72F3; + background-color: rgb(232 240 255 / 90%); + + &::before { + content: '\f05a'; + } + } + + &[type=success] { + color: #2bde3f; + background-color: rgb(225 255 228 / 90%); + + &::before { + content: '\f058'; + } + } +} + +mew-hr { + display: block; + height: 4px; + background-size: 50px 4px; + margin: 14px 0; +} + +mew-timeline { + display: block; + border-left: 1px solid var(--light-b); + margin-bottom: 14px; + + & > div { + position: relative; + padding-left: 1.2em; + + &::before { + content: ''; + position: absolute; + border-radius: 50%; + top: 0.1em; + } + + & + .mew-timeline-title { + margin-top: 16px; + } + } + + .mew-timeline-title { + color: var(--dark-c); + font-weight: 500; + padding-bottom: 5px; + + &::before { + background-color: #50bfff; + box-shadow: 0 0 0 0.4em rgb(80 191 255 / 25%); + left: -0.32em; + height: 0.6em; + width: 0.6em; + } + + &-elem { + position: relative; + top: -0.4em; + } + } + + .mew-timeline-item { + font-size: 0.95em; + + &::before { + background-color: var(--light-a); + border: 2px solid #50bfff; + left: -5px; + height: 5px; + width: 5px; + } + + &:not(:last-child) { + padding-bottom: 16px; + } + + &-title { + display: block; + line-height: 1em; + margin-bottom: 2px; + font-weight: 400; + position: relative; + top: -0.1em; + } + + &-content { + padding: 8px 12px; + overflow: hidden; + border-radius: 0 6px 6px 6px; + background-color: var(--bg-a); + position: relative; + + * { + margin: 0 !important; + } + } + } + + .info { + + &.mew-timeline-title { + color: #1b72f3; + + &::before { + background-color: #73a3eb; + box-shadow: 0 0 0 0.4em rgb(115 163 235 / 25%); + } + } + + &.mew-timeline-item::before { + border-color: #73a3eb; + } + + .mew-timeline-item-content { + color: #1b72f3; + background-color: #ecf3ff; + } + } + + .warning { + + &.mew-timeline-title { + color: #fec008; + + &::before { + background-color: #ffd350; + box-shadow: 0 0 0 0.4em rgb(255 211 80 / 25%); + } + } + + &.mew-timeline-item::before { + border-color: #ffd350; + } + + .mew-timeline-item-content { + color: #fec008; + background-color: #fdf6e6; + } + } + + .success { + + &.mew-timeline-title { + color: #2bde3f; + + &::before { + background-color: #6de37a; + box-shadow: 0 0 0 0.4em rgb(109 227 122 / 25%); + } + } + + &.mew-timeline-item::before { + border-color: #6de37a; + } + + .mew-timeline-item-content { + color: #2bde3f; + background-color: #e9fbeb; + } + } + + .error { + + &.mew-timeline-title { + color: #f46c6b; + + &::before { + background-color: #ff7776; + box-shadow: 0 0 0 0.4em rgb(255 119 118 / 25%); + } + } + + &.mew-timeline-item::before { + border-color: #ff7776; + } + + .mew-timeline-item-content { + color: #f46c6b; + background-color: #ffeeed; + } + } +} + +mew-btn { + display: inline-block; + + & > .mew-btn { + color: #fff; + line-height: 1em; + padding: 0.5em 12px; + font-weight: 400; + display: inline-block; + background: var(--theme); + border-radius: var(--radius-inner); + + &:hover { + color: #fff; + filter: opacity(.8); + box-shadow: 0 4px 15px -4px rgb(41 45 52 / 30%); + } + + & > i { + margin-right: 6px; + font-size: 0.9em; + } + } +} + +mew-quote { + display: flex; + margin: 0 18px 14px 18px; + + .mew-quote { + display: flex; + margin: 0 auto; + padding: 10px; + + &:before { + content: '“'; + color: var(--theme); + font-size: 2.8em; + font-family: fantasy; + line-height: 1; + margin-right: 14px; + margin-top: -10px; + } + + &:after { + content: '”'; + color: var(--theme); + font-size: 2.8em; + font-family: fantasy; + line-height: 1; + align-self: flex-end; + margin-left: 14px; + margin-bottom: calc(-0.5em - 10px); + } + } + + .quote-container { + display: flex; + align-items: flex-start; + } + + .mew-quote-href { + padding: 4px; + display: inline-block; + background: var(--bg-a); + transition: transform 2s; + margin-right: 8px; + flex-shrink: 0; + + &:hover { + transform: rotate(360deg); + } + + &, .quote-avatar-hexagon { + clip-path: polygon(40% 7.67949%, 43.1596% 6.20615%, 46.52704% 5.30384%, 50% 5%, 53.47296% 5.30384%, 56.8404% 6.20615%, 60% 7.67949%, 81.65064% 20.17949%, 84.50639% 22.17911%, 86.97152% 24.64425%, 88.97114% 27.5%, 90.44449% 30.6596%, 91.34679% 34.02704%, 91.65064% 37.5%, 91.65064% 62.5%, 91.34679% 65.97296%, 90.44449% 69.3404%, 88.97114% 72.5%, 86.97152% 75.35575%, 84.50639% 77.82089%, 81.65064% 79.82051%, 60% 92.32051%, 56.8404% 93.79385%, 53.47296% 94.69616%, 50% 95%, 46.52704% 94.69616%, 43.1596% 93.79385%, 40% 92.32051%, 18.34936% 79.82051%, 15.49361% 77.82089%, 13.02848% 75.35575%, 11.02886% 72.5%, 9.55551% 69.3404%, 8.65321% 65.97296%, 8.34936% 62.5%, 8.34936% 37.5%, 8.65321% 34.02704%, 9.55551% 30.6596%, 11.02886% 27.5%, 13.02848% 24.64425%, 15.49361% 22.17911%, 18.34936% 20.17949%); + } + } + + .mew-quote-info { + display: flex; + justify-content: center; + flex-direction: column; + } + + .mew-quote-content { + margin-bottom: 8px; + line-height: 1.5em; + } + + .mew-quote-name { + color: var(--dark-c); + align-self: self-end; + font-size: 0.9em; + font-style: italic; + font-weight: 400; + + &:before { + content: ''; + width: 2.8em; + height: 1px; + background: var(--dark-c); + margin-right: 4px; + display: inline-block; + margin-bottom: 0.3em; + } + } + + .quote-avatar-hexagon { + height: 5em; + width: 5em; + object-fit: cover; + } + +} + +mew-link { + + .mew-link { + display: flex; + margin: auto; + max-width: 420px; + background: var(--bg-l); + padding: 12px 12px 9px 12px; + border-radius: 8px; + overflow: hidden; + } + + .mew-link-info { + flex-grow: 1; + display: flex; + justify-content: center; + flex-direction: column; + } + + .info-title { + margin-bottom: 6px; + color: var(--dark-c); + line-height: 1.3em; + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + } + + .info-desc { + font-size: 0.9em; + line-height: 1.3em; + height: 1.3em; + color: var(--dark-d); + word-break: break-all; + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; + + &:before { + content: '\f0c1'; + font-family: 'FontAwesome'; + margin-right: 4px; + } + } + + .mew-link-image { + background-color: var(--bg-l); + position: relative; + display: block; + width: 60px; + height: 60px; + margin-left: 16px; + border-radius: 4px; + overflow: hidden; + flex-shrink: 0; + } + + .link-image { + width: 100%; + height: 100%; + object-fit: cover; + } +} + +mew-video { + display: block; + text-align: center; + + video { + max-width: 100%; + border-radius: var(--radius-inner); + } +} + +mew-photos { + display: block; + width: 100%; + position: relative; + overflow: hidden; + margin-bottom: 14px; + + & > div { + position: absolute; + display: inline-block; + overflow: hidden; + opacity: 0.1; + margin: 0; + padding: 0; + border-radius: 8px; + cursor: pointer; + + & > img { + position: absolute; + transition: opacity 500ms ease-in; + top: 50%; + left: 50%; + margin: 0; + padding: 0; + border: none; + opacity: 0; + } + + & > .jg-caption { + opacity: 0; + position: absolute; + bottom: 0; + padding: 5px; + background-color: #000000; + left: 0; + right: 0; + margin: 0; + color: white; + font-size: 0.85em; + font-weight: 300; + font-family: sans-serif; + transition: opacity 300ms ease-in; + + &.jg-caption-visible { + opacity: 0.7; + } + } + } + + & > .jg-entry-visible { + opacity: 1; + background: none; + + & > img { + opacity: 1; + } + } +} + +mew-raw { + display: block; + margin-bottom: 14px; +} + +mew-hide, mew-btn, mew-timeline, mew-quote, mew-link, mew-photos, mew-raw { + &:not([draw]) { + display: none; + } +} + +mew-bilibili, mew-cloud, mew-tabs, mew-panel, mew-video { + &:not([draw]) { + display: block; + overflow: hidden; + position: relative; + height: 2.4em; + border: 1px solid var(--light-b); + border-radius: var(--radius-inner); + box-shadow: 1px 1px 5px 0 var(--bg-b); + + &:before { + content: '加载中...'; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + line-height: 2.4em; + text-align: left; + padding-left: 12px; + background: var(--light-a); + } + } +} + +html.night { + .mew-cloud-logo, .mew-cloud-link, .mew-progress-bar-inner, mew-panel, mew-message, mew-hr, mew-timeline, mew-btn { + filter: brightness(.8); + } +} + +@keyframes progress { + 0% { + background-position: 0 0 + } + to { + background-position: 30px 0 + } +} + +@media (max-width: 1023px) { + + mew-quote .quote-avatar-hexagon { + height: 3.6em; + width: 3.6em; + object-fit: cover; + } +} + +@media (max-width: 511px) { + + mew-quote { + margin: 0; + + .quote-container { + flex-direction: column; + align-items: center; + } + + .mew-quote-avatar { + text-align: center; + } + + .quote-avatar-hexagon { + height: 3.2em; + width: 3.2em; + } + } + + mew-bilibili { + padding: calc(30%) 0px !important; + } + + mew-bilibili iframe, mew-video video { + width: 100% !important; + } +} \ No newline at end of file diff --git a/src/css/post.less b/src/css/post.less new file mode 100644 index 0000000..7a8a52a --- /dev/null +++ b/src/css/post.less @@ -0,0 +1,396 @@ +@charset "utf-8"; +/* CSS Document */ + +.admire { + margin: 30px 0 18px 0; + text-align: center; + + &-content { + user-select: none; + margin-bottom: 15px; + + button { + border-radius: 50px; + padding: 8px 18px; + border: none; + color: var(--light-a); + box-shadow: 0 2px 10px rgb(0 0 0 / 10%); + + i { + margin-right: 5px; + } + } + + .donate { + background: #c0a46b; + transition: all 0.2s ease-in-out; + position: relative; + margin-right: 10px; + + &-list { + position: absolute; + bottom: 40px; + right: 50%; + border-radius: 5px; + background: var(--background); + box-shadow: var(--box-shadow); + padding: 12px; + transition: all 0.5s; + pointer-events: none; + opacity: 0; + + ol { + border-radius: 5px; + overflow: hidden; + display: flex; + } + + img { + max-width: 200px; + max-height: 260px; + object-fit: cover; + } + } + + &:hover { + i { + animation: dong ease 0.5s 0.2s infinite alternate; + } + + .donate-list { + transform: translateX(50%); + pointer-events: unset; + opacity: 1; + } + } + } + + .agree { + background: #cf4750; + + i { + font-size: 1.2em; + } + + span > span { + margin-left: 3px; + } + + &.like { + background: var(--background); + color: var(--dark-e); + + &:hover { + i { + animation: shake-little ease-in-out 4s infinite; + } + } + } + + &:not(.like) i:before { + content: '\f164'; + } + } + } + + & > span { + color: var(--dark-d); + font-size: 0.9em; + } +} + +.article-operation { + margin: 18px 0; + display: flex; + + .level-item { + flex-shrink: 1 !important; + justify-content: left !important; + overflow-x: auto; + + &::-webkit-scrollbar { + display: none; + } + } + + a { + color: var(--dark-b); + font-size: 0.9em; + background: var(--bg-b); + border: 1px solid var(--bg-b); + position: relative; + padding: 0 8px 0 29px; + height: 26px; + line-height: 24px; + border-radius: 13px; + max-width: 125px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-right: 10px; + flex-shrink: 0; + + &:before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 24px; + height: 24px; + background: var(--background); + border-radius: 50%; + } + + &:after { + content: '\f097'; + position: absolute; + font-family: 'FontAwesome'; + top: 50%; + left: 12px; + font-size: 1.2em; + color: var(--theme); + transform: translate(-50%, -50%); + } + + &:hover { + color: var(--main); + border: 1px solid var(--light-b); + } + } +} + +.copyright { + margin: 18px 0; + + position: relative; + background: var(--bg-h); + overflow: hidden; + border-radius: 6px; + display: block; + padding: 17px; + + &:after { + position: absolute; + right: -50px; + top: -30px; + content: '\f25e'; + font-size: 200px; + font-family: 'FontAwesome'; + color: var(--bg-i); + opacity: 0.1; + } + + .copyright-title { + line-height: 1.2; + margin-bottom: 14px; + + *:not(:last-child) { + margin-bottom: 0.25em; + } + + a { + font-size: 0.85em; + color: var(--dark-d); + } + } + + .copyright-meta { + display: flex; + justify-content: flex-start; + flex-wrap: wrap; + + .icon { + width: 1.2em; + height: 1.2em; + } + + .level-item { + margin-right: 1.4em !important; + display: block; + + h6 { + margin: 0; + } + + p, a { + color: var(--dark-e); + } + } + } +} + +@media (max-width: 520px) { + .admire .donate-list ol { + flex-wrap: wrap; + + img { + width: 200px; + } + } +} + +@keyframes dong { + 0% { + transform: translateY(3px) scaleY(0.95); + } + + 100% { + transform: translateY(-3px) scaleY(1); + } +} + +@keyframes shake-little { + 0% { + transform: translate(0, 0) + } + 2% { + transform: translate(-1px, 1px) + } + 4% { + transform: translate(-1px, -1px) + } + 6% { + transform: translate(0, 0) + } + 8% { + transform: translate(1px, 1px) + } + 10% { + transform: translate(1px, -1px) + } + 12% { + transform: translate(0, 0) + } + 14% { + transform: translate(-1px, 1px) + } + 16% { + transform: translate(-1px, -1px) + } + 18% { + transform: translate(0, 0) + } + 20% { + transform: translate(1px, 1px) + } + 22% { + transform: translate(1px, -1px) + } + 24% { + transform: translate(0, 0) + } + 26% { + transform: translate(-1px, 1px) + } + 28% { + transform: translate(-1px, -1px) + } + 30% { + transform: translate(0, 0) + } + 32% { + transform: translate(1px, 1px) + } + 34% { + transform: translate(1px, -1px) + } + 36% { + transform: translate(0, 0) + } + 38% { + transform: translate(-1px, 1px) + } + 40% { + transform: translate(-1px, -1px) + } + 42% { + transform: translate(0, 0) + } + 44% { + transform: translate(1px, 1px) + } + 46% { + transform: translate(1px, -1px) + } + 48% { + transform: translate(0, 0) + } + 50% { + transform: translate(-1px, 1px) + } + 52% { + transform: translate(-1px, -1px) + } + 54% { + transform: translate(0, 0) + } + 56% { + transform: translate(1px, 1px) + } + 58% { + transform: translate(1px, -1px) + } + 60% { + transform: translate(0, 0) + } + 62% { + transform: translate(-1px, 1px) + } + 64% { + transform: translate(-1px, -1px) + } + 66% { + transform: translate(0, 0) + } + 68% { + transform: translate(1px, 1px) + } + 70% { + transform: translate(1px, -1px) + } + 72% { + transform: translate(0, 0) + } + 74% { + transform: translate(-1px, 1px) + } + 76% { + transform: translate(-1px, -1px) + } + 78% { + transform: translate(0, 0) + } + 80% { + transform: translate(1px, 1px) + } + 82% { + transform: translate(1px, -1px) + } + 84% { + transform: translate(0, 0) + } + 86% { + transform: translate(-1px, 1px) + } + 88% { + transform: translate(-1px, -1px) + } + 90% { + transform: translate(0, 0) + } + 92% { + transform: translate(1px, 1px) + } + 94% { + transform: translate(1px, -1px) + } + 96% { + transform: translate(0, 0) + } + 98% { + transform: translate(-1px, 1px) + } + 100% { + transform: translate(-1px, -1px) + } +} \ No newline at end of file diff --git a/src/css/style.less b/src/css/style.less new file mode 100644 index 0000000..844fdaf --- /dev/null +++ b/src/css/style.less @@ -0,0 +1,4893 @@ +@charset "utf-8"; +/* CSS Document */ +// 移动设备最大宽度 +@mobile-max-width: 768px; +// 平板最小宽度 +@table-min-width: 769px; +// 笔记本电脑最小宽度 +@laptop-min-width: 1024px; +// 桌面设备最小宽度 +@desktop-min-width: 1216px; +// 显示器最小宽度 +@display-min-width: 1700px; +// 宽屏设备最小宽度 +@widescreen-min-width: 2200px; + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + outline: 0; + -webkit-tap-highlight-color: transparent; +} + +body > .footer, body > .navbar, body > .section { + opacity: 0; + transition: opacity 0.3s ease-out, transform 0.3s ease-out; +} + +.navbar-above { + transform: translateY(-100%); +} + +.load-block { + transition: opacity 0.3s ease-out, transform 0.3s ease-out; +} + +.card, .load-block { + opacity: 0; + transform: scale(0.8); + transform-origin: center top; +} + +.tips { + margin-bottom: -0.6rem; + background-color: rgb(221 234 255 / 90%) !important; + padding: 0.8rem; + border: none !important; + color: var(--theme) !important; + font-size: 1.15em; + + + &::before { + content: "\f028"; + font: normal normal normal 14px/1 FontAwesome; + margin-right: 0.5rem; + font-size: 1.2em; + } + + .click-close { + margin-left: 5px; + cursor: pointer; + font-size: 18px; + line-height: 1.2em; + float: right; + + &:hover { + color: #333; + } + } +} + +html { + box-sizing: border-box; + font-size: 14px; + background-color: var(--bg-f); + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + min-width: 300px; + text-rendering: optimizeLegibility; + text-size-adjust: 100%; + + &.loaded { + body > .footer, body > .navbar, body > .section { + opacity: 1; + } + + .navbar-above { + transform: translateY(0); + } + + .card, .load-block { + opacity: 1; + transform: none; + } + } + + &.pjax-loading .column-main .card, &.pjax-loading .load-block { + opacity: 0.8; + transform: scale(0.8); + transform-origin: center top; + } + + &.disable-scroll { + overflow: hidden + } + + &:not(.disable-scroll) { + + body.move-up .navbar-above { + transform: translate3d(0, -100%, 0); + } + + .actions.show { + right: 16px; + } + } + + &.clean { + background-color: var(--style-a); + + .card { + box-shadow: none; + border: 1px solid var(--light-b); + background: none; + + &:hover { + background: none; + } + } + + .footer { + backdrop-filter: none; + + &:before { + content: none; + } + } + + .pagination-link:not(.is-current), .pagination-previous, .pagination-next { + box-shadow: none; + border: 1px solid var(--light-b); + } + } +} + +body { + margin: 0 !important; + justify-content: space-between; + -webkit-box-orient: vertical; + -ms-flex-direction: column; + flex-direction: column; + min-height: 100vh; + display: flex; + font-size: 1em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + padding-bottom: env(safe-area-inset-bottom); + scroll-behavior: smooth; + overflow-x: hidden; + overflow-y: overlay; + + &::-webkit-scrollbar-thumb { + background: var(--theme); + background-image: -webkit-linear-gradient(45deg, hsla(0, 0%, 100%, 0.4) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, 0.4) 0, hsla(0, 0%, 100%, 0.4) 75%, transparent 0, transparent); + } + + &:before { + content: ''; + position: fixed; + z-index: -1; + top: 0; + right: 0; + bottom: 0; + left: 0; + transition: opacity 1s; + background-size: cover !important; + } + + &:after { + content: ""; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: -10; + pointer-events: none + } +} + +::-webkit-scrollbar { + height: 8px; + width: 8px; +} + +::-webkit-scrollbar-thumb { + background: rgba(160, 160, 160, .2); + border-radius: 2em; +} + +::-webkit-scrollbar-track { + background: 0 0; + border-radius: 2em; +} + +::-moz-selection { + color: #fff; + background: var(--theme) +} + +::selection { + color: #fff; + background: var(--theme) +} + +input[type=text] { + -webkit-appearance: none; + border-radius: 0; + font-size: 13px; + font-weight: 500 +} + +iframe { + display: block; + border: 0; + margin: 0 auto +} + +textarea { + font-size: 14px; + resize: none; + -webkit-appearance: none +} + +li, ol, ul { + list-style: none +} + +img { + border: 0; + vertical-align: middle; +} + +img:not([src]), img[src=""] { + border: 0; + opacity: 0 +} + +canvas, svg { + vertical-align: middle +} + +button { + cursor: pointer; + -webkit-appearance: none; + font-size: 13px +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +blockquote, body, dd, dl, dt, fieldset, figure, h1, h2, h3, h4, h5, h6, hr, html, iframe, legend, li, ol, p, pre, textarea, ul { + margin: 0; + padding: 0; +} + +h1, h2, h3, h4, h5, h6 { + font-size: 100%; + font-weight: 500; + margin-bottom: 10px; +} + +button, input, select { + margin: 0; +} + +audio { + max-width: 100%; +} + +body, button, input, select, textarea { + font-family: "Dream Font", BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +code, pre { + -moz-osx-font-smoothing: auto; + font-family: monospace; +} + +section { + flex: 1; +} + +a { + color: var(--theme); + cursor: pointer; + text-decoration: none; + word-break: break-all; + + &:hover { + color: var(--dark-c); + } +} + +code { + background-color: #f5f5f5; + color: #ff3860; + font-size: .875em; + font-weight: 400; + padding: .25em .5em; +} + +hr { + background-color: var(--light-b); + border: none; + display: block; + height: 1px; + margin: 11.2px 0; +} + +input[type=checkbox], input[type=radio] { + vertical-align: baseline; +} + +small { + font-size: .875em; +} + +span { + font-style: inherit; + font-weight: inherit; +} + +strong { + font-weight: 700; +} + +fieldset { + border: none; +} + +pre { + -webkit-overflow-scrolling: touch; + background-color: #f5f5f5; + color: var(--main); + font-size: .875em; + overflow-x: auto; + white-space: pre; + word-wrap: normal; + padding: 1.25rem 1.5rem; + + code { + background-color: transparent; + color: currentColor; + font-size: 1em; + padding: 0; + } +} + +table td, table th { + vertical-align: top; +} + +.container { + flex-grow: 1; + margin: 0 auto; + position: relative; + width: auto; +} + +.canvas_effects { + position: fixed; + margin: 0; + padding: 0; + border: 0; + outline: 0; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + + &.universe { + background: radial-gradient(1600px at 70% 120%, #212750 10%, #020409 100%); + } + + &.night { + display: none; + } +} + +/** 通用样式 开始 */ +.tag { + align-items: center; + background-color: var(--bg-c); + border-radius: 4px; + color: var(--dark-c); + display: inline-flex; + font-size: .75em; + height: 2em; + justify-content: center; + line-height: 1.5; + padding-left: 0.75em; + padding-right: 0.75em; + white-space: nowrap; +} + +.button { + -moz-appearance: none; + -webkit-appearance: none; + align-items: center; + border: 1px solid transparent; + border-radius: 4px; + box-shadow: none; + display: inline-flex; + font-size: 1rem; + height: 2.25em; + justify-content: flex-start; + line-height: 1.5; + padding: calc(.375em - 1px) calc(.625em - 1px); + position: relative; + vertical-align: top; + + &.is-link { + border-color: transparent; + color: #fff; + background-color: var(--theme); + + &:hover { + opacity: 0.8; + } + } + + &.is-rounded { + border-radius: 290486px; + padding-left: 1em; + padding-right: 1em; + } + + &.is-transparent { + background: 0 0; + border-color: transparent; + color: var(--dark-c); + + &.is-hovered, &:hover { + background-color: var(--bg-c); + } + } + + &.is-large { + font-size: 1.5rem; + } +} + +.level { + align-items: center; + justify-content: space-between; + + &-item { + align-items: center; + display: flex; + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; + justify-content: center; + } +} + +.title { + color: var(--dark-c); + font-size: 1.6rem; + font-weight: 400; + line-height: 1.25; + + .top { + background-image: -webkit-linear-gradient(0deg, rgb(57 169 255 / 80%) 0, rgb(155 79 255 / 80%) 100%); + border-radius: 2px 6px; + color: #fff; + padding: 0 6px; + font-size: 12px; + line-height: 20px; + vertical-align: 3px; + margin-right: 5px; + display: inline-block; + user-select: none; + } +} + +.is-invisible { + visibility: hidden !important; +} + +.image { + display: block; + position: relative; +} + +.breadcrumb { + display: flex; + align-items: center; + justify-content: flex-start; + font-size: 0.8rem; + flex-shrink: 0; + + li { + + i { + margin-right: 3px; + } + + &:not(:first-child)::before { + content: "/"; + color: var(--light-d); + padding: 0 5px; + } + } +} + +.has-link-grey { + line-height: 1.85rem; + color: var(--theme); + background-image: linear-gradient(transparent calc(100% - 1px), var(--theme) 1px); + background-repeat: no-repeat; + background-size: 0 100%; + transition: all .35s ease-in-out; + + &:hover { + color: var(--theme) !important; + background-size: 100% 100%; + } +} + +.is-hidden-all { + display: none !important; +} + +.card:not(.is-hidden-all) ~ .card { + margin-top: 1.4rem !important; +} + +.indent { + text-indent: 2em; +} + +.dream-emoji { + width: 1.4em; + height: 1.4em; + margin: auto 1px; + vertical-align: text-bottom; +} + +.menu-list { + line-height: 1.25; + + a { + border-radius: 2px; + color: var(--main); + display: block; + padding: 0.5em 0.75em; + + &:hover { + background-color: var(--bg-c); + } + + &.level { + display: flex; + } + + &.is-active { + background-color: var(--bg-e); + color: var(--light-a); + } + } + + i { + margin-right: 0.5em; + } + + li ul { + margin: 0.5em 0.5em 0.75em 0.75em; + padding-left: 0.5em; + border-left: 1px solid var(--light-c); + } + + & > li > a:not(.is-active) + .menu-list { + display: none; + } +} + +.expand-done { + background: var(--bg-k); + position: absolute; + bottom: 0; + left: 0; + right: 0; + text-align: center; + height: 1.8rem; + cursor: pointer; + + i { + color: var(--dark-b); + font-size: 1.6rem; + animation: code-expand 2.4s infinite; + text-shadow: 0 -1px 5px var(--light-d); + transition: all 0.3s; + } +} + +.fold { + max-height: 320px; + + .expand-done { + background: linear-gradient(180deg, rgba(0, 0, 0, 0.0), rgb(77 77 77 / 40%)); + + i { + transform: rotatex(180deg); + } + } +} + +.loading::after { + content: ''; + display: block; + width: 70px; + height: 70px; + margin: 12px auto; + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTciIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCA1NyA1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM0MDllZmYiPg0KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiIHN0cm9rZS13aWR0aD0iMiI+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI1IiBjeT0iNTAiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IjUwOzU7NTA7NTAiDQogICAgICAgICAgICAgICAgICAgICBjYWxjTW9kZT0ibGluZWFyIg0KICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+DQogICAgICAgICAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giDQogICAgICAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMi4ycyINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTsyNzs0OTs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSIyNyIgY3k9IjUiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSI1IiB0bz0iNSINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTs1MDs1MDs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSIyNyIgdG89IjI3Ig0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIyNzs0OTs1OzI3Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI0OSIgY3k9IjUwIiByPSI1Ij4NCiAgICAgICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI1MDs1MDs1OzUwIg0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgZnJvbT0iNDkiIHRvPSI0OSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI0OTs1OzI3OzQ5Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=); + background-repeat: no-repeat; + background-size: 100% 100%; +} + +.bg-shadow:before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + background: linear-gradient(to top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.05)); +} + +/** 通用样式 结束 */ +#dprogress { + pointer-events: none; + user-select: none; + z-index: 2000; + position: fixed; + top: 0; + left: 0; + right: 0; + width: 100%; + height: 2px; + + .bar { + background: var(--theme); + box-shadow: 0 0 10px 1px var(--theme); + height: 100%; + } +} + +.logo-title { + font-size: 1.5em; + color: var(--theme) !important; + + img { + max-height: 2rem; + } +} + +.logo-img-dark { + display: none; +} + +.navbar { + + &-above { + position: fixed; + top: 0; + z-index: 6; + width: 100%; + background-color: var(--background); + transition: all 0.5s; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05), 0 0 1px rgba(0, 0, 0, 0.1); + + .container { + display: flex; + align-items: center; + } + + .navbar-item { + display: flex; + align-items: center; + padding-right: 0.75rem; + flex-grow: 0; + flex-shrink: 0; + color: #4a4a4a; + line-height: 1.5; + position: relative; + } + + .navbar-nav { + display: flex; + align-items: center; + + .item { + cursor: pointer; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + position: relative; + height: 3.5rem; + line-height: 3.5rem; + font-size: 15px; + padding: 0 8px; + margin-right: 10px; + user-select: none; + white-space: nowrap; + color: var(--main); + transition: color 0.35s; + + > i { + display: inline-block; + margin-right: 4px; + font-size: 18px; + transition: transform 0.5s; + } + + &:last-child { + margin-right: 0; + } + + &::after { + opacity: 0; + position: absolute; + bottom: 0; + left: 6px; + right: 6px; + content: ""; + height: 3px; + transform: scaleX(0.25); + background: var(--theme); + border-radius: 6px 6px 0 0; + transition: opacity 0.5s, transform 0.5s; + } + + &.current { + color: var(--theme); + + &::after { + opacity: 1; + transform: scaleX(1); + } + + &:hover::after { + opacity: 1; + transform: scaleX(1); + } + } + + &:hover { + color: var(--theme); + + &::after { + opacity: 0.3; + transform: scaleX(0.7); + } + + & + .joe-icon-arrow-down { + color: var(--theme) !important; + } + } + } + + &.active-shadow { + .item.current { + text-shadow: 0 4px 20px var(--theme); + } + } + + &.active-animate { + .item:hover .m-icon { + animation: dung 0.3s 0.12s ease; + } + } + + .item-dropdown { + margin-right: 15px; + + &-link { + a { + height: 50px; + line-height: 50px; + font-size: 15px; + padding-left: 8px; + padding-right: 3px; + transition: color 0.35s; + white-space: nowrap; + color: var(--main); + } + } + + &-menu { + min-width: 90px; + max-width: 200px; + text-align: center; + + a { + display: block; + height: 34px; + margin-right: 0; + line-height: 34px; + color: var(--main); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + padding: 0 15px; + transition: color 0.35s, background 0.35s; + + &::after { + display: none; + } + + &:hover, + &.current { + color: var(--theme); + background: var(--bg-a); + } + } + } + + .item:hover:after { + display: none; + } + + &.active { + .item-dropdown-link { + + a, + i { + color: var(--theme) !important; + + &::after { + display: none; + } + } + } + } + } + + .item-sub-li { + position: relative; + height: 34px; + + &:hover { + .item-sub { + visibility: visible; + opacity: 1; + transform: translateX(0) perspective(600px) rotateY(0); + } + } + } + + .item-sub { + visibility: hidden; + z-index: 10; + transform-origin: top; + opacity: 0; + position: relative; + left: 100%; + top: -34px; + padding-left: 7px; + box-shadow: 7px 3px 8px 0px rgba(0, 0, 0, 0.15); + border-radius: 0 var(--radius-inner) var(--radius-inner) 0; + transform: translateX(-20%) perspective(600px) rotateY(-45deg); + transition: opacity 0.35s, visibility 0.35s, transform 0.35s; + + &::before { + position: absolute; + top: 10px; + left: 0; + content: ""; + transform: translateX(-50%); + width: 0; + height: 0; + border: 7px solid transparent; + border-right-color: var(--theme); + } + + &::after { + position: absolute; + top: 0; + left: 7px; + content: ""; + width: 2px; + height: 100%; + background: var(--theme); + } + + li { + background: var(--light-a); + } + } + } + + &.solid { + backdrop-filter: unset; + box-shadow: unset; + border-bottom: 1px solid var(--light-b); + } + } + + + .navbar-search { + + .submit { + width: 50px; + } + + &-mobile .submit { + width: 80px; + } + + .result { + position: absolute; + z-index: 2; + top: 55px; + left: 0; + right: 0; + user-select: none; + visibility: hidden; + overflow: hidden; + opacity: 0; + background: var(--bg-d); + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); + border-radius: var(--radius-inner); + transition: visibility 0.35s, opacity 0.35s, transform 0.35s; + transform: translate3d(0, 15px, 0); + + &.active { + transform: translate3d(0, 0, 0); + opacity: 1; + visibility: visible; + } + + .item { + height: 40px; + line-height: 40px; + display: flex; + align-items: center; + overflow: hidden; + padding: 0 10px; + border-bottom: 1px solid var(--light-b); + transition: background 0.35s; + + &:last-child { + border-bottom: none; + } + + &:nth-child(1) .sort { + background: #fe2d46; + } + + &:nth-child(2) .sort { + background: #f60; + } + + &:nth-child(3) .sort { + background: #faa90e; + } + + &:hover { + background: var(--bg-a); + } + + .sort { + color: #fff; + background: #7f7f8c; + width: 18px; + height: 18px; + line-height: 18px; + border-radius: 2px; + text-align: center; + margin-right: 8px; + font-weight: 500; + } + + .text { + flex: 1; + min-width: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: var(--dark-a); + font-size: 12px; + } + + .views { + color: var(--seat); + font-size: 12px; + margin-left: 5px; + } + } + } + } + + + .navbar-search, + .navbar-search-mobile { + position: relative; + margin-left: auto; + display: flex; + align-items: center; + + .input { + background: var(--bg-a); + width: 170px; + height: 34px; + border: 1px solid transparent; + padding: 0 14px 0 16px; + color: var(--dark-a); + transition: width 0.35s, border-color 0.35s, padding-right 0.35s; + border-radius: 17px 0 0 17px; + + &:focus { + background: var(--light-a); + border-color: var(--theme); + padding-right: 28px; + width: 170px; + + ~ .icon { + transform: translate3d(0, -50%, 0) rotateY(180deg); + } + } + } + + @keyframes swag { + 0% { + transform: rotate(-10deg); + } + + 50% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(10deg); + } + } + + .submit { + position: relative; + z-index: 1; + height: 34px; + color: #fff; + border: none; + background: var(--theme); + border-radius: 0 17px 17px 0; + + i { + transform-origin: right bottom; + font-size: 18px; + } + + &:hover i { + animation: swag 0.3s ease infinite alternate; + } + } + + .icon { + position: absolute; + top: 50%; + right: 44px; + width: 28px; + height: 38px; + background: url(data:image/png;base64,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); + background-size: 100% 100%; + transition: transform 0.35s; + transform: translate3d(100%, -50%, 0) rotateY(180deg); + } + } + + .navbar-search-mobile { + input { + flex: 1; + width: 100%; + } + } + + &-slideicon { + display: none; + cursor: pointer; + font-size: 23px !important; + color: var(--main); + } + + &-searchicon { + display: none; + cursor: pointer; + font-size: 23px !important; + color: var(--main); + margin-left: auto; + } + + &-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 4; + background: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(5px); + opacity: 0; + visibility: hidden; + transition: visibility 0.35s, opacity 0.35s; + + &.active { + visibility: visible; + opacity: 1; + } + + &.slideout { + z-index: 6; + } + } + + &-slideout { + visibility: hidden; + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 120; + width: 78%; + max-width: 480px; + background: var(--bg-b); + transform: translate3d(-100%, 0, 0); + transition: transform 0.35s, visibility 0.35s; + + &-wrap { + position: relative; + padding: 35px 15px 15px; + height: 100%; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + overscroll-behavior: contain; + + &::-webkit-scrollbar { + display: none; + } + } + + &.active { + visibility: visible; + transform: translate3d(0, 0, 0); + } + + &-image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 150px; + object-fit: cover; + z-index: -1; + } + + &-author { + margin-bottom: 15px; + + .avatar { + width: 50px; + height: 50px; + margin: 10px auto; + display: block; + border-radius: var(--radius-inner); + } + + .info { + overflow: hidden; + line-height: 25px; + text-align: center; + display: block; + + .level { + height: 23px; + margin-left: 2px; + } + + .link, + .motto { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + } + + .link { + display: block; + font-size: 15px; + font-weight: 500; + color: var(--main); + } + + .motto { + font-size: 12px; + color: var(--main); + } + } + } + + &-menu { + background: var(--light-a); + padding: 10px 15px; + border-radius: var(--radius-wrap); + overflow: hidden; + box-shadow: var(--box-shadow); + + &:not(:last-child) { + margin-bottom: 15px; + } + + &.is-toc { + display: none; + } + + .menu-list > li > a:not(.is-active) + .menu-list { + display: block; + } + + .item { + display: flex; + align-items: center; + color: var(--main); + padding: 5px 0; + + .fa { + color: var(--main); + margin-right: 5px; + } + + strong { + font-weight: 500; + color: var(--theme); + } + } + + .link { + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px 0; + color: var(--main); + transition: color 0.15s; + + a { + transition: color 0.15s; + color: var(--main); + } + + .fa { + color: var(--dark-b); + transition: transform 0.15s, fill 0.15s; + } + + &.in { + color: var(--theme); + + a { + color: var(--theme); + } + + .fa { + color: var(--theme); + transform: rotate(90deg); + } + } + } + + .current { + a { + color: var(--theme); + font-weight: 500; + font-size: 15px; + } + } + + .slides { + display: none; + border-left: 1px solid var(--light-b); + padding-left: 15px; + + .link { + color: var(--main); + } + + .current { + color: var(--theme); + font-weight: 500; + font-size: 15px; + } + } + } + + &.slideout-toc { + .not-toc { + display: none; + } + + .is-toc { + display: block; + } + } + } + + &-searchout { + position: fixed; + top: 3.5rem; + left: 0; + right: 0; + z-index: 5; + background: var(--background); + transform: translate3d(0, -100%, 0); + transition: transform 0.35s, visibility 0.35s; + visibility: hidden; + + .search-container { + padding: 10px 15px !important; + flex-direction: row; + } + + &.active { + visibility: visible; + transform: translate3d(0, 0, 0); + } + + &-inner { + padding: 15px 0; + width: 100%; + + .search { + width: 100%; + display: flex; + align-items: center; + + input { + flex: 1; + height: 36px; + padding: 0 10px; + border: 1px solid var(--light-b); + border-right: none; + border-radius: 2px 0 0 2px; + color: var(--main); + background: var(--bg-a); + } + + button { + padding: 0 16px; + height: 36px; + border: none; + background: var(--theme); + color: #fff; + border-radius: 0 2px 2px 0; + } + } + + .tag-search { + color: var(--main); + padding: 14px 0 10px; + font-size: 14px; + display: flex; + align-items: center; + + i { + margin-right: 5px; + } + } + + .cloud { + display: flex; + flex-wrap: wrap; + margin: 0 -5px -5px; + max-height: 250px; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + overscroll-behavior: contain; + + .item { + padding: 4px; + + a { + display: block; + padding: 0 10px; + height: 24px; + line-height: 24px; + border-radius: 2px; + font-size: 12px; + color: #fff; + } + } + } + } + } +} + +.swiper { + border: none !important; + + &-initialized { + &:hover { + .swiper-button-next { + opacity: 1; + right: 10px; + } + + .swiper-button-prev { + opacity: 1; + left: 10px; + } + } + } +} + +.swiper-vertical > .swiper-wrapper { + flex-direction: column; +} + +.swiper-wrapper { + position: relative; + width: 100%; + height: 100%; + display: flex; + transition-property: transform; + box-sizing: content-box; +} + +.swiper-android .swiper-slide, +.swiper-wrapper { + transform: translate3d(0px, 0, 0); +} + +.swiper-pointer-events { + touch-action: pan-y; + + &.swiper-vertical { + touch-action: pan-x; + } +} + +.swiper-slide { + flex-shrink: 0; + position: relative; + padding-bottom: 40%; + overflow: hidden; + transition: none !important; + + &-details { + width: 100%; + position: absolute; + bottom: 15%; + padding: 0 50px; + color: #f5f5f5; + + &-title { + text-align: center; + font-size: 1.5rem; + font-weight: 600; + text-shadow: 0 0 5px rgba(0, 0, 0, 0.3); + line-height: 1.5; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + } + + .breadcrumb { + font-size: 1rem; + justify-content: center; + } + } +} + +.swiper-slide-invisible-blank { + visibility: hidden; +} + +/* Auto Height */ +.swiper-autoheight, +.swiper-autoheight .swiper-slide { + height: auto; +} + +.swiper-autoheight .swiper-wrapper { + align-items: flex-start; + transition-property: transform, height; +} + +.swiper-css-mode > .swiper-wrapper { + overflow: auto; + scrollbar-width: none; + -ms-overflow-style: none; + + &::-webkit-scrollbar { + display: none; + } + + & > .swiper-slide { + scroll-snap-align: start start; + } +} + +.swiper-horizontal.swiper-css-mode > .swiper-wrapper { + scroll-snap-type: x mandatory; +} + +.swiper-vertical.swiper-css-mode > .swiper-wrapper { + scroll-snap-type: y mandatory; +} + +.swiper-centered > .swiper-wrapper::before { + content: ''; + flex-shrink: 0; + order: 9999; +} + +.swiper-centered > .swiper-wrapper > .swiper-slide { + scroll-snap-align: center center; +} + +.swiper-virtual.swiper-css-mode .swiper-wrapper::after { + content: ''; + position: absolute; + left: 0; + top: 0; + pointer-events: none; +} + +.swiper-button-prev, +.swiper-button-next { + position: absolute; + top: 50%; + width: 27px; + height: 44px; + margin-top: -22px; + cursor: pointer; + text-align: center; + color: #fff; + background: rgba(0, 0, 0, .1); + border-radius: 2px; + opacity: 0; + transition: all 0.3s; + + &:after { + font-family: FontAwesome; + font-size: 44px; + letter-spacing: 0; + text-transform: none; + font-variant: initial; + line-height: 1; + } + + &:hover { + background: rgba(0, 0, 0, .3); + } + + &.swiper-button-disabled { + opacity: 0.35; + cursor: auto; + pointer-events: none; + } +} + +.swiper-button-prev, +.swiper-rtl .swiper-button-next { + left: -15px; + right: auto; + + &:after { + content: '\f104'; + } +} + +.swiper-button-next, +.swiper-rtl .swiper-button-prev { + right: -15px; + left: auto; + + &:after { + content: '\f105'; + } +} + +.swiper-button-lock { + display: none; +} + +.swiper-pagination { + position: absolute; + text-align: center; + transition: 300ms opacity; + transform: translate3d(0, 0, 0); + + &.swiper-pagination-hidden { + opacity: 0; + } +} + +/* Common Styles */ +.swiper-pagination-fraction, +.swiper-pagination-custom, +.swiper-horizontal > .swiper-pagination-bullets, +.swiper-pagination-bullets.swiper-pagination-horizontal { + bottom: 10px; + left: 0; + width: 100%; +} + +/* Bullets */ +.swiper-pagination-bullets-dynamic { + overflow: hidden; + font-size: 0; + + .swiper-pagination-bullet { + transform: scale(0.33); + position: relative; + } + + .swiper-pagination-bullet-active { + transform: scale(1); + } + + .swiper-pagination-bullet-active-main { + transform: scale(1); + } + + .swiper-pagination-bullet-active-prev { + transform: scale(0.66); + } + + .swiper-pagination-bullet-active-prev-prev { + transform: scale(0.33); + } + + .swiper-pagination-bullet-active-next { + transform: scale(0.66); + } + + .swiper-pagination-bullet-active-next-next { + transform: scale(0.33); + } +} + +.swiper-pagination-bullet { + width: 15px; + height: 6px; + display: inline-block; + border-radius: 8px; + background: #f6f6f6; + opacity: 0.2; + transition: all 0.3s; + + &:only-child { + display: none !important; + } + + &-active { + width: 30px; + opacity: 1; + background: #fff; + } +} + +button.swiper-pagination-bullet { + border: none; + margin: 0; + padding: 0; + box-shadow: none; + -webkit-appearance: none; + appearance: none; +} + +.swiper-pagination-clickable .swiper-pagination-bullet { + cursor: pointer; +} + +.swiper-vertical > .swiper-pagination-bullets, +.swiper-pagination-vertical.swiper-pagination-bullets { + right: 10px; + top: 50%; + transform: translate3d(0px, -50%, 0); +} + +.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet, +.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet { + margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0; + display: block; +} + +.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, +.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { + top: 50%; + transform: translateY(-50%); + width: 8px; +} + +.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, +.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + display: inline-block; + transition: 200ms transform, 200ms top; +} + +.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, +.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { + margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); +} + +.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, +.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { + left: 50%; + transform: translateX(-50%); + white-space: nowrap; +} + +.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, +.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + transition: 200ms transform, 200ms left; +} + +.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + transition: 200ms transform, 200ms right; +} + +/* Progress */ +.swiper-pagination-progressbar { + background: rgba(0, 0, 0, 0.25); + position: absolute; + + .swiper-pagination-progressbar-fill { + background: var(--theme); + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + transform: scale(0); + transform-origin: left top; + } +} + +.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { + transform-origin: right top; +} + +.swiper-horizontal > .swiper-pagination-progressbar, +.swiper-pagination-progressbar.swiper-pagination-horizontal, +.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, +.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite { + width: 100%; + height: 4px; + left: 0; + top: 0; +} + +.swiper-vertical > .swiper-pagination-progressbar, +.swiper-pagination-progressbar.swiper-pagination-vertical, +.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, +.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite { + width: 4px; + height: 100%; + left: 0; + top: 0; +} + +.swiper-pagination-lock { + display: none; +} + +/* Scrollbar */ +.swiper-scrollbar { + border-radius: 10px; + position: relative; + -ms-touch-action: none; + background: rgba(0, 0, 0, 0.1); +} + +.swiper-horizontal > .swiper-scrollbar { + position: absolute; + left: 1%; + bottom: 3px; + z-index: 50; + height: 5px; + width: 98%; +} + +.swiper-vertical > .swiper-scrollbar { + position: absolute; + right: 3px; + top: 1%; + z-index: 50; + width: 5px; + height: 98%; +} + +.swiper-scrollbar-drag { + height: 100%; + width: 100%; + position: relative; + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; + left: 0; + top: 0; +} + +.swiper-scrollbar-cursor-drag { + cursor: move; +} + +.swiper-scrollbar-lock { + display: none; +} + +.swiper-zoom-container { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + text-align: center; +} + +.swiper-zoom-container > img, +.swiper-zoom-container > svg, +.swiper-zoom-container > canvas { + max-width: 100%; + max-height: 100%; + object-fit: contain; +} + +.swiper-slide-zoomed { + cursor: move; +} + +.swiper-lazy-preloader { + width: 42px; + height: 42px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -21px; + margin-top: -21px; + z-index: 10; + transform-origin: 50%; + animation: swiper-preloader-spin 1s infinite linear; + box-sizing: border-box; + border: 4px solid var(--theme); + border-radius: 50%; + border-top-color: transparent; +} + +.swiper-lazy-preloader-white { + --swiper-preloader-color: #fff; +} + +.swiper-lazy-preloader-black { + --swiper-preloader-color: #000; +} + +@keyframes swiper-preloader-spin { + 100% { + transform: rotate(360deg); + } +} + +/* a11y */ +.swiper .swiper-notification { + position: absolute; + left: 0; + top: 0; + pointer-events: none; + opacity: 0; + z-index: -1000; +} + +.swiper-free-mode > .swiper-wrapper { + transition-timing-function: ease-out; + margin: 0 auto; +} + +.swiper-grid > .swiper-wrapper { + flex-wrap: wrap; +} + +.swiper-grid-column > .swiper-wrapper { + flex-wrap: wrap; + flex-direction: column; +} + +.swiper-fade.swiper-free-mode .swiper-slide { + transition-timing-function: ease-out; +} + +.swiper-fade .swiper-slide { + pointer-events: none; + transition-property: opacity; +} + +.swiper-fade .swiper-slide .swiper-slide { + pointer-events: none; +} + +.swiper-fade .swiper-slide-active, +.swiper-fade .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} + +.swiper-cube { + overflow: visible; +} + +.swiper-cube .swiper-slide { + pointer-events: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + z-index: 1; + visibility: hidden; + transform-origin: 0 0; + width: 100%; + height: 100%; +} + +.swiper-cube .swiper-slide .swiper-slide { + pointer-events: none; +} + +.swiper-cube.swiper-rtl .swiper-slide { + transform-origin: 100% 0; +} + +.swiper-cube .swiper-slide-active, +.swiper-cube .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} + +.swiper-cube .swiper-slide-active, +.swiper-cube .swiper-slide-next, +.swiper-cube .swiper-slide-prev, +.swiper-cube .swiper-slide-next + .swiper-slide { + pointer-events: auto; + visibility: visible; +} + +.swiper-cube .swiper-slide-shadow-top, +.swiper-cube .swiper-slide-shadow-bottom, +.swiper-cube .swiper-slide-shadow-left, +.swiper-cube .swiper-slide-shadow-right { + z-index: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.swiper-cube .swiper-cube-shadow { + position: absolute; + left: 0; + bottom: 0px; + width: 100%; + height: 100%; + opacity: 0.6; + z-index: 0; +} + +.swiper-cube .swiper-cube-shadow:before { + content: ''; + background: #000; + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + filter: blur(50px); +} + +.swiper-flip { + overflow: visible; +} + +.swiper-flip .swiper-slide { + pointer-events: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + z-index: 1; +} + +.swiper-flip .swiper-slide .swiper-slide { + pointer-events: none; +} + +.swiper-flip .swiper-slide-active, +.swiper-flip .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} + +.swiper-flip .swiper-slide-shadow-top, +.swiper-flip .swiper-slide-shadow-bottom, +.swiper-flip .swiper-slide-shadow-left, +.swiper-flip .swiper-slide-shadow-right { + z-index: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.swiper-creative .swiper-slide { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + overflow: hidden; + transition-property: transform, opacity, height; +} + +.swiper-cards { + overflow: visible; +} + +.swiper-cards .swiper-slide { + transform-origin: center bottom; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + overflow: hidden; +} + +.banner { + width: 100%; + height: 54vh; + position: relative; + margin-bottom: -4rem; + background-position: center; + background-size: cover; + display: flex; + justify-content: center; + align-items: center; + + &:before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAKUlEQVQImU3IMREAIAgAwJfNkQCEsH8cijjpMf6vnXlQaIiJFx+omEBfmqIEZLe2jzcAAAAASUVORK5CYII=); + } + + .banner-info { + position: absolute; + color: #fff; + text-align: center; + margin: 0 18px; + + &-title { + font-size: 2.4rem; + font-weight: bold; + line-height: 2; + letter-spacing: 0.6rem; + text-shadow: rgb(28 31 33) -3px 2px 6px; + } + + &-desc { + font-size: 1.4rem; + line-height: 1.4; + max-width: 600px; + + &:after { + content: '_'; + margin-left: 0.3rem; + animation: flicker 1s steps(2, jump-none) infinite; + } + } + } + + .banner-waves { + width: 100%; + height: 4rem; + position: absolute; + left: 0; + bottom: 0; + fill: var(--background); + + .parallax > use { + animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; + + &:first-child { + animation-delay: -2s; + animation-duration: 7s; + opacity: 0.9; + } + + &:nth-child(2) { + animation-delay: -3s; + animation-duration: 10s; + opacity: 0.8; + } + + &:nth-child(3) { + animation-delay: -4s; + animation-duration: 13s; + opacity: 0.9; + } + + &:nth-child(4) { + animation-delay: -5s; + animation-duration: 20s; + } + } + } +} + +.item-dropdown { + position: relative; + + &-link { + display: flex; + align-items: center; + + &-icon { + transition: transform 0.35s; + margin-left: -10px; + } + } + + &-menu { + position: absolute; + left: 50%; + visibility: hidden; + z-index: 5; + border-top: 3px solid var(--theme); + transform-origin: top; + background: var(--light-a); + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); + border-radius: 0 0 var(--radius-inner) var(--radius-inner); + padding: 10px 0; + opacity: 0; + transform: translateX(-50%) perspective(600px) rotateX(-45deg); + transition: opacity 0.35s, visibility 0.35s, transform 0.35s; + + &::before { + content: ""; + position: absolute; + top: -10px; + left: 50%; + transform: translateX(-50%); + width: 0; + height: 0; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid var(--theme); + } + } + + &.active { + .item-dropdown-link-icon { + transform: rotate(-180deg); + } + + .item-dropdown-menu { + visibility: visible; + opacity: 1; + transform: translateX(-50%) perspective(600px) rotateX(0); + } + } +} + +.model { + display: flex; + gap: 1rem; + + .card.widget { + flex-grow: 1; + min-height: 140px; + position: relative; + background-position: 50% 50% !important; + background-size: cover !important; + + & + .card.widget { + margin-top: 0 !important; + } + + &[style] { + border: 0; + } + + &:hover { + .tag { + transform: translateX(10px); + } + } + + .title { + width: 100%; + position: absolute; + bottom: 10px; + color: #f6f6f6; + font-size: 1.15rem; + font-weight: 600; + text-shadow: 0 0 5px rgba(0, 0, 0, 0.2); + padding: 0 5px; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + } + + .tag { + position: absolute; + top: 10px; + left: 0; + color: #f6f6f6; + font-size: 1rem; + padding: 2px 12px; + background: var(--theme); + transform: translateX(-105%); + transition: transform 0.2s; + height: unset; + line-height: normal; + } + } + + &-index { + display: flex; + max-width: 100%; + margin-bottom: 1rem; + + .swiper { + width: 70%; + + &-slide { + height: 100%; + } + } + + &-side { + width: 30%; + flex-direction: column; + } + } + + &-attach { + display: grid; + gap: 1rem; + margin-bottom: 1rem; + align-items: unset; + + &-2 { + grid-template-columns: repeat(2, 1fr); + } + + &-3 { + grid-template-columns: repeat(3, 1fr); + } + + &-4 { + grid-template-columns: repeat(4, 1fr); + } + } +} + +.section { + padding: 6rem 0.75rem 3rem 0.75rem; + + .container > .tips { + margin-bottom: 1rem; + } + + .card { + transition: background-color 0.5s ease, opacity 0.3s ease-out, transform 0.3s ease-out, backdrop-filter 0.3s ease-out; + color: var(--dark-c); + max-width: 100%; + position: relative; + word-wrap: break-word; + word-break: break-all; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05), 0 0 1px rgba(0, 0, 0, 0.1); + background-color: var(--background); + border-radius: var(--radius-wrap); + + &:hover { + background-color: var(--background-hover); + + .thumbnail-image, &.card-cover .cover-image, .small-image { + transform: scale(1.1); + filter: brightness(0.9); + } + } + + & + .column-right-shadow { + margin-top: 1.4rem; + } + + &[style="height: 0px;"] { + display: none; + } + + &.card-transparent { + box-shadow: none !important; + background: 0 0 !important; + backdrop-filter: none !important; + border: none !important; + } + + &-image { + border-radius: var(--radius-wrap) var(--radius-wrap) 0 0; + } + + &-tab { + height: 52px; + border-bottom: 1px solid var(--light-b); + margin-bottom: 15px; + + div { + position: absolute; + top: 15px; + left: -10px; + background: var(--theme); + color: #fff; + padding: 0 12px; + height: 30px; + line-height: 30px; + font-size: 1.1rem; + font-weight: 500; + border-radius: 2px 2px 2px 0; + box-shadow: 2px 5px 10px rgb(49 58 70 / 15%); + user-select: none; + + &::before { + content: ''; + position: absolute; + bottom: -10px; + left: -10px; + border-style: solid; + border-width: 10px; + border-color: var(--theme) transparent transparent; + transform: rotate(90deg); + } + } + } + + &-title { + font-size: 15.4px; + text-transform: uppercase; + font-weight: 500; + border-bottom: 1px solid var(--light-b); + align-items: center; + height: 45px; + line-height: 45px; + padding: 0 15px; + display: flex; + + .card-title-label { + margin-right: 5px; + font-size: 1.2em; + color: var(--theme); + } + + span { + flex: 1; + } + + .card-more { + font-size: 0.9em; + font-weight: 400; + color: var(--dark-b); + + i { + margin-left: 3px; + font-size: 1.1em; + } + + &:hover { + color: var(--theme); + + i { + color: var(--theme); + } + } + } + } + + &-content { + padding: 0.6rem 1rem 1rem 1rem; + + &.main-title { + padding: 0.75rem 1.2rem; + font-size: 1.1rem; + + .breadcrumb { + font-size: 1em; + } + } + } + + &-empty { + text-align: center; + font-size: 1.2em; + padding: 60px 0; + color: var(--dark-d); + + i { + display: block; + font-size: 7em; + } + } + + .thumbnail { + display: block; + overflow: hidden; + + &-image { + min-height: 280px; + width: 100%; + margin: auto; + display: block; + background-position: 50% 50%; + background-size: cover; + transition: all 0.5s; + } + } + + .cover-image { + min-height: 360px; + width: 100%; + margin: auto; + position: relative; + display: block; + background-position: 50% 50%; + background-size: cover; + transition: all 0.5s; + } + + &.card-cover, .cover-image { + .category { + position: absolute; + font-size: 0.85rem; + right: 0.7em; + top: 10px; + + a { + color: #fff; + background: rgba(0, 0, 0, 0.3); + padding: 4px 10px; + border-radius: var(--radius-inner); + + &:hover { + color: var(--theme); + } + } + } + + .details { + position: absolute; + width: 100%; + bottom: 0; + top: auto; + color: #fff; + background-image: linear-gradient(0deg, rgba(29, 41, 49, .5), rgba(255, 255, 255, 0)); + padding: 2em 15px 15px; + } + + .title { + color: inherit; + position: relative; + padding-bottom: 8px; + + &:hover:before { + width: 60px; + } + + &:before { + content: ''; + position: absolute; + width: 40px; + height: 3px; + top: auto; + left: 0; + bottom: 3px; + transition: 0.4s; + border-radius: 5px; + background: var(--theme); + box-shadow: 1px 1px 3px -1px var(--theme); + } + + } + } + + &-fold { + display: flex; + padding: 0.5em 0.75em; + justify-content: space-between; + margin-bottom: -0.7rem; + border: 1px solid var(--background); + + &:hover { + border: 1px solid var(--theme); + } + + .title { + margin: 0; + font-size: 1.2rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + + p { + display: inline; + } + } + + & > p { + color: var(--dark-b); + font-size: .8rem; + min-width: 60px; + text-align: end; + align-self: center; + flex-shrink: 0; + } + } + + &-small { + display: flex; + + & > a { + width: 34%; + overflow: hidden; + + &:first-child { + clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%) + } + + &:last-child { + clip-path: polygon(0 0, 100% 0, 100% 100%, 10% 100%); + } + } + + .small-image { + height: 100%; + width: 100%; + margin: auto; + background-position: 50% 50%; + background-size: cover; + transition: all 0.5s; + } + + .card-content { + width: 66%; + } + + .title { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-word; + } + + .main-content { + -webkit-line-clamp: 2 !important; + min-height: 2.5em; + max-height: 3.3em; + } + } + + .title a { + color: inherit; + } + + .meta { + display: flex; + align-items: center; + justify-content: space-between; + color: var(--dark-b); + font-size: .8rem; + overflow-x: auto; + + &::-webkit-scrollbar { + display: none; + } + + .level-item a { + color: inherit; + + &:hover { + color: var(--theme); + } + } + } + + .main { + padding-top: 1.5rem; + } + + .post-navigation { + padding-top: 1rem; + justify-content: space-around; + flex-wrap: wrap; + + a { + flex-shrink: 1; + color: var(--main); + + &:last-child { + text-align: right; + } + + &:hover { + color: var(--theme) + } + + i { + font-weight: 600; + font-size: 1.3em; + margin: 0 0.5rem; + } + } + } + + .comment-title { + margin-top: 6px; + font-size: 1.3em; + font-weight: 700; + + &:before { + content: "\f0e6"; + font-family: 'FontAwesome'; + margin-right: 4px; + color: var(--theme); + font-weight: 400; + font-size: 1.15em; + } + } + } + + .columns { + justify-content: center; + margin: -0.75rem; + + .column { + padding: 0.75rem; + display: block; + + &-left { + order: 1; + } + + &-main { + order: 2; + + &-grid { + margin: 1rem 0 1.4rem 0; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(min(100%, max(260px, 100%/4)), 1fr)); + gap: 1rem; + + &:first-child { + margin-top: 0; + } + + .breadcrumb { + margin: 15px 0 0 0; + color: var(--dark-b); + overflow-x: auto; + + &::-webkit-scrollbar { + display: none; + } + + li { + flex-shrink: 0; + } + } + + .card { + padding: 10px; + + &.widget + .card.widget { + margin-top: 0 !important; + } + } + + .thumbnail { + border-radius: var(--radius-img); + } + + .title { + margin: 8px 0 0 0; + font-size: 1.3rem; + line-height: 1.8rem; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + } + } + } + + &-right { + order: 3; + } + } + } +} + +.widget { + overflow: hidden !important; + + &.card { + .card-empty { + font-size: 1em; + font-style: italic; + user-select: none; + padding: 24px 0; + background-color: var(--bg-a); + } + + .main .main-content { + display: -webkit-box; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + text-indent: 1.5em; + line-height: 1.5em; + } + } + + .menu-list li ul { + margin-right: 0; + } + + &.profile { + figure { + width: 98px; + height: 98px; + padding: 4px; + border-radius: 50%; + background: var(--light-b); + margin: 2em auto 0.5em auto; + + .avatar { + transition: all 2s; + height: 100%; + width: 100%; + border-radius: 50%; + + &:hover { + transform: rotate(-360deg); + } + } + } + + .nickname { + font-size: 1.5rem; + margin-bottom: 5px; + } + + .motto { + font-size: 1rem; + line-height: 1.4; + } + + .address { + color: #7a7a7a; + display: flex; + justify-content: center; + font-size: 1rem; + align-items: center; + + i { + margin-right: 0.25em; + } + } + + .level { + display: flex; + + &-item { + flex-grow: 1; + flex-shrink: 1; + margin: 0 !important; + text-align: center !important; + + .heading { + display: block; + font-size: 11px; + letter-spacing: 1px; + margin-bottom: 5px; + text-transform: uppercase; + } + + .value { + color: var(--dark-c); + font-size: 2rem; + line-height: 1.125; + margin-bottom: 0; + font-weight: 400 !important; + } + } + + &:not(:first-child):not(:empty) { + margin-top: 1.5rem; + } + } + } + + .ad-tag { + position: absolute; + top: 6px; + right: 6px; + background: rgba(0, 0, 0, .25); + color: #ebebeb; + padding: 2px 5px; + border-radius: 2px; + font-size: 12px; + line-height: 16px; + user-select: none; + + .click-close { + height: 15px; + width: 15px; + stroke: #ebebeb; + fill: #ebebeb; + stroke-width: 1.25; + margin-right: -4px; + vertical-align: bottom; + cursor: pointer; + + &:hover { + stroke: var(--theme); + stroke-width: 1.5; + } + } + + } + + .aplayer { + background: #00000000; + box-shadow: none; + padding: 0.5rem 0; + margin: 5px 0 0 5px; + + .aplayer-list ol li { + border-top: 1px solid rgba(180, 180, 180, 0.2) !important; + + &.aplayer-list-light { + background: rgba(200, 200, 200, 0.2); + } + + &:hover { + background: rgba(200, 200, 200, 0.2); + } + + } + + &.aplayer-withlist .aplayer-info { + border-bottom: none; + } + + .aplayer-lrc { + &:before { + background: linear-gradient(180deg, #c5c5c52b 0, hsla(0, 0%, 100%, 0)) !important; + } + + &:after { + background: linear-gradient(180deg, hsl(0deg 0% 100% / 0%) 0, hsl(0deg 0% 100% / 23%)) !important; + } + } + } + + &.recent-comments { + li:not(:last-child) { + margin-bottom: 10px; + border-bottom: 1px dashed var(--light-b); + padding-bottom: 10px; + } + + .user { + display: flex; + margin-bottom: 8px; + + & > img { + width: 40px; + height: 40px; + min-width: 40px; + min-height: 40px; + margin-right: 8px; + border-radius: 50%; + border: 1px solid var(--light-d); + padding: 3px; + } + + .info { + display: flex; + flex-direction: column; + justify-content: space-between; + + .author { + max-width: 150px; + margin-bottom: 4px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-weight: 600; + color: var(--main); + } + + .date { + font-size: 12px; + color: var(--dark-b); + } + } + } + + .reply { + position: relative; + padding: 5px 10px; + background: var(--bg-a); + border-radius: 6px; + + &::before { + content: ""; + width: 0; + height: 0; + border-bottom: 6px solid var(--bg-a); + border-left: 6px solid transparent; + border-right: 6px solid transparent; + position: absolute; + left: 15px; + bottom: 100%; + } + + .link { + display: -webkit-box; + -webkit-line-clamp: 2; + /*! autoprefixer: ignore next */ + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-word; + color: var(--dark-b); + font-size: 13px; + font-weight: 500; + line-height: 24px; + transition: all 0.35s; + max-height: 48px; + + &:hover { + color: var(--theme); + } + } + } + } + + &.recent-posts .card-content { + + .list { + padding-top: 1px; + + .item { + margin-bottom: 15px; + display: flex; + align-items: center; + justify-content: space-between; + line-height: 20px; + + i.fa { + color: var(--main); + transition: transform 0.3s; + } + + &:hover { + .link { + color: var(--theme); + + &:after { + opacity: 1; + transform: scaleX(1); + } + } + + i.fa { + transform: rotate(+135deg); + color: var(--theme); + } + } + + &:last-child { + margin-bottom: 0; + } + + .link { + display: inline-block; + position: relative; + color: var(--main); + max-width: 85%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + + &:after { + content: ""; + position: absolute; + bottom: 2px; + left: 0; + width: 100%; + height: 1px; + background: var(--theme); + opacity: 0; + transform: scaleX(0.25); + transition: all 0.35s; + } + } + } + } + } + + &.tags .card-content { + font-size: 0; + + a { + width: unset; + margin: 4px; + line-height: 1.2; + overflow: unset; + text-overflow: unset; + white-space: unset; + text-align: left; + display: inline-block; + padding: 5px; + font-size: 13px; + color: var(--dark-b); + text-decoration: none; + background: var(--bg-d); + border: 1px solid var(--light-c); + border-radius: 3px; + + &:hover { + color: var(--theme) !important; + border-color: var(--theme) !important; + } + } + } + + &.tagcloud .card-content a:hover { + color: var(--dark-c) !important; + } + + &.love { + position: relative; + color: #fff; + background: none !important; + + &:before { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: -1; + transition: all 0.3s ease-out; + background-image: linear-gradient(to right, rgb(255 209 218 / 94%), rgb(255 162 178 / 94%)); + } + + &:after { + content: 'LOVE'; + position: absolute; + left: 0; + top: 0; + bottom: 0; + z-index: -1; + color: #ffe0e5; + font-size: 84px; + line-height: 84px; + text-align: center; + font-weight: 600; + white-space: nowrap; + transform: rotate(90deg) translateY(75%); + transition: all 0.3s ease-out; + } + + &:hover { + &:before { + background-image: linear-gradient(to right, #ffd1da, #ffa2b2); + } + + &:after { + transform: rotate(90deg) translateY(60%); + } + } + + .card-title { + border-bottom: 1px solid rgb(255 209 218 / 94%); + } + + .love-content { + display: flex; + margin: 16px 0; + justify-content: center; + } + + .level { + flex: auto; + display: flex; + max-width: 520px; + + &-item { + flex-grow: 1; + } + } + + svg { + width: 36px; + filter: none; + } + + .avatar { + width: 84px; + height: 84px; + padding: 4px; + display: block; + border-radius: 50%; + background: #ffd6de; + + &-image { + transition: all 2s; + height: 100%; + width: 100%; + border-radius: 50%; + + &:hover { + transform: rotate(-360deg); + } + } + } + + .love-time { + font-size: 1.1em; + text-align: center; + font-weight: 600; + height: 1.4em; + line-height: 1.4em; + } + } +} + +.main-content { + word-break: break-word; + color: var(--main); + font-size: 1.1rem; + font-weight: 300; + + &.article { + padding-bottom: 30px; + } + + *:not(pre) > code { + font-size: 0.9em; + color: var(--color-a); + margin: 0 3px; + padding: 3px 6px; + white-space: normal; + vertical-align: baseline; + word-break: break-word; + background: var(--bg-g); + border-radius: var(--radius-inner); + } + + h1, h2, h3, h4, h5, h6 { + color: var(--dark-c); + margin-bottom: 18px; + transition: all 0.2s ease-out; + } + + h1, h2 { + display: inline; + background: linear-gradient(to bottom, transparent 60%, var(--bg-g) 0); + + &:before, &:after { + content: ''; + display: block; + } + + &:before { + margin-top: 30px; + } + + &:after { + margin-bottom: 20px; + } + } + + h1 { + font-size: 1.45em; + font-weight: 700; + } + + h2 { + font-size: 1.25em; + font-weight: 600; + } + + h3, h4, h5 { + position: relative; + padding-left: 12px; + + &:before { + content: ''; + position: absolute; + top: 10%; + bottom: 10%; + left: 0; + width: 4px; + border-radius: 2px; + background: var(--theme); + } + + &:hover { + padding-left: 16px; + } + } + + h3 { + margin: 25px 0 18px 0; + font-size: 1.2em; + font-weight: 600; + } + + h4 { + font-size: 1.1em; + } + + h5, h6 { + font-size: 1em; + } + + h6 { + + &:before, &:after { + color: var(--theme); + font-weight: 600; + transition: all 0.2s ease-out; + } + + &:before { + content: '「'; + margin-right: 5px; + } + + &:after { + content: '」'; + margin-left: 5px; + } + + &:hover { + &:before { + margin-left: -3px; + margin-right: 8px; + } + + &:after { + margin-left: 8px; + } + } + } + + p { + line-height: 1.7em; + margin-bottom: 14px; + } + + .pwd { + color: var(--main); + border-radius: 2px; + transition: all .3s; + background: var(--main); + font-family: Ubuntu, sans-serif; + + &:hover { + color: #FFF; + } + } + + .note { + text-indent: 2em; + background: url(../img/wordline.webp); + background-size: auto 2.5rem; + line-height: 2.5rem; + } + + blockquote { + line-height: 1.7em; + margin-bottom: 14px; + padding: 8px 15px; + color: var(--dark-b); + background: var(--bg-h); + border-left: 5px solid var(--bg-i); + border-radius: var(--radius-inner); + + & > :not(:last-child) { + margin-bottom: 4px !important; + } + + & > :last-child { + margin: 0 !important; + } + } + + a:not([class]) { + line-height: 1.7em; + color: var(--theme); + background-image: linear-gradient(transparent calc(100% - 1px), var(--theme) 1px); + background-repeat: no-repeat; + background-size: 0 100%; + transition: all .35s ease-in-out; + + &:hover { + color: var(--theme); + background-size: 100% 100%; + } + } + + ol, + ul { + margin-bottom: 14px; + padding-left: 16px; + + li { + line-height: 1.6em; + margin-bottom: 4px; + + &.task-list-item { + list-style: none; + + input { + position: relative; + top: 1px; + } + } + } + } + + ol:not([class]):not([style]) { + + &[start] { + padding-left: 34px; + + & > li:not([class]):not([style]) { + list-style: decimal; + + &::marker { + font-weight: 400; + color: var(--theme); + transition: all .5s; + } + + &:hover::marker { + color: #e67700; + } + } + } + + &:not([start]) { + counter-reset: li; + + & > li:not([class]):not([style]) { + list-style: none; + position: relative; + padding-left: 1.2em; + + &:before { + position: absolute; + width: max-content; + right: calc(100% - 1em); + content: counter(li) '.'; + counter-increment: li; + text-align: center; + font-weight: 400; + color: var(--theme); + transition: all .5s; + } + + &:hover:before { + transform: rotate(360deg); + color: #e67700; + font-size: 1.1em; + } + } + } + } + + ul:not([class]):not([style]) > li:not([class]):not([style]) { + list-style: none; + position: relative; + padding-left: 1.2em; + + &:before { + content: ""; + width: 0.5em; + height: 0.5em; + left: 0; + top: 0.5em; + position: absolute; + border: 1px solid var(--theme); + background: 0 0; + transition: all .5s; + transform: rotateZ(45deg); + } + + &:hover:before { + transform: rotate(360deg); + border-color: #e67700; + } + } + + table { + width: 100%; + max-width: 100%; + table-layout: fixed; + border-collapse: unset; + background: var(--bg-d); + margin-bottom: 14px; + overflow: hidden; + font-size: 0.95em; + border: 1px solid var(--light-b); + border-radius: var(--radius-inner); + + td, + th { + padding: 8px; + border-right: 1px solid var(--light-b); + border-bottom: 1px solid var(--light-b); + } + + thead { + th { + font-weight: 500; + background: var(--bg-h); + + &:last-child { + border-right: none; + } + } + } + + tbody { + tr { + transition: background 0.35s; + + &:nth-child(2n) { + background: var(--bg-j); + } + + &:last-child td { + border-bottom: none; + } + + &:hover { + background: rgb(179 179 179 / 15%); + } + + td:last-child { + border-right: none; + } + } + } + } + + figure { + margin: 18px 0; + padding: 0; + border-radius: var(--radius-inner); + overflow: hidden; + position: relative; + + & > figcaption { + display: flex; + background: rgb(153 153 153 / 8%); + padding: 0; + height: 2.2em; + line-height: 2.2em; + user-select: none; + font-size: 0.9em; + + &:before { + content: ''; + display: inline-block; + margin: auto 44px auto 8px; + border-radius: 50%; + background: #ff0800 no-repeat 10px 10px; + width: 12px; + height: 12px; + box-shadow: 18px 0 #fdbc40, 36px 0 #35cd4b; + } + + div { + margin-left: auto; + display: inline-block; + cursor: pointer; + text-align: center; + + i { + transition: all 0.25s; + margin-right: 12px !important; + + &.fa-angle-down { + font-size: 1.2em; + } + + &:hover { + opacity: 0.5; + } + + &.close { + transform: rotate(90deg); + } + } + } + } + + pre { + margin: 0; + display: flex; + overflow-y: hidden; + overflow-x: auto; + padding: 0; + border: none; + color: inherit !important; + background: transparent !important; + font-size: 1em; + + & > ul { + margin: 0; + padding: 0 8px; + user-select: none; + background: rgb(153 153 153 / 8%); + + li { + list-style: none; + line-height: 1.5em; + padding: 0 !important; + margin: 0 !important; + + &:before { + content: none !important; + } + } + } + + li + li { + margin-top: 0; + } + + code { + padding: 0 0 7px 5px; + line-height: 1.5em; + overflow-y: hidden; + width: 100%; + + &:not(:last-child) { + margin-bottom: 1.8em; + } + } + } + + .expand-done i { + color: inherit !important; + } + + &:not(.fold) .expand-done { + background: rgb(153 153 153 / 8%); + } + } + + .gallery-item { + text-align: center; + + & > div { + position: relative; + overflow: hidden; + display: inline-block; + } + + & > p { + text-align: center; + color: var(--dark-d); + line-height: 1em; + font-size: 0.9em; + } + + .fold { + border-radius: var(--radius-img); + } + } + + :not(.jg-entry) > img { + max-width: 100%; + + &:not([class]) { + transition: all 0.35s; + margin: 5px 0; + border-radius: var(--radius-img); + cursor: zoom-in; + + &:hover { + transform: translateY(-5px); + box-shadow: 0 34px 20px -24px rgb(136 161 206 / 30%); + } + } + } + + .mermaid { + text-align: center; + margin-bottom: 12px; + + & > svg { + border-radius: var(--radius-inner); + background: #FFF; + transition: all .35s; + border: 1px solid var(--light-b); + + &:hover { + transform: translateY(-5px); + box-shadow: 0 34px 20px -24px rgb(136 161 206 / 30%); + } + } + } + + .katex { + line-height: 1.4; + display: inline-flex; + overflow-x: auto; + overflow-y: hidden; + max-width: 100%; + padding: 0 2px; + } + + &.literature-content { + font-size: 1.3em; + + .note { + line-height: 40px; + background-size: auto; + } + } +} + +.pagination { + font-size: 1rem; + margin: -.25rem; + + &, &-list { + align-items: center; + display: flex; + justify-content: center; + text-align: center; + } + + &-link.is-current { + background-color: var(--bg-e); + border: 0; + color: #fff; + } + + .pagination .pagination-list { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + flex-grow: 1; + flex-shrink: 1; + } + + &-link:not(.is-current), .pagination-previous, .pagination-next { + background: var(--background); + border: none; + } + + &-link, &-next, &-previous { + color: var(--dark-c); + min-width: 2.25em; + font-size: 1em; + justify-content: center; + margin: .25rem; + text-align: center; + padding: calc(.375em - 1px) .5em; + position: relative; + vertical-align: top; + align-items: center; + border-radius: 4px; + line-height: 1.5; + height: 2.25em; + box-shadow: 0 4px 10px rgb(0 0 0 / 5%); + display: inline-flex; + + a { + color: var(--dark-c); + } + } +} + +.actions { + position: fixed; + right: -48px; + bottom: 40px; + z-index: 200; + transition: all 0.5s; + opacity: 0.9; + + & > div { + display: block; + margin-bottom: 5px; + width: 35px; + height: 35px; + border-radius: 5px; + background-color: var(--theme); + color: #fff; + text-align: center; + font-size: 16px; + line-height: 35px; + border: none; + cursor: pointer; + } + + & > .bullet-screen span { + display: inline-block; + line-height: 1; + font-weight: 600; + font-family: ui-serif, serif !important; + } + + & > .stop-bullet-screen span { + background-image: linear-gradient(45deg, transparent 46%, #fff 46%, #fff 54%, transparent 54%); + } +} + +.footer { + background-color: transparent; + backdrop-filter: blur(10px); + padding: 1.5rem; + position: relative; + + &:before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background); + } + + &-container { + + .logo-title { + margin: 15px 15px 15px 0; + display: block; + } + + & > li { + display: inline-block; + vertical-align: middle; + padding: 0 5px; + color: var(--dark-b); + line-height: 1.6em; + + & > p:not(:first-child) { + font-size: 0.9em; + } + + &:last-child { + float: right; + } + } + + .icon-spot { + &:first-child > *:not(:first-child):before { + content: "·"; + margin: 0 0.3em; + display: inline-block; + } + + &:not(:first-child) > *:not(:first-child):before { + content: ""; + width: 4px; + height: 4px; + margin: 0 0.4em; + border-radius: 50%; + display: inline-block; + background: var(--dark-b); + opacity: .3; + vertical-align: 0.2em; + } + } + + a:not([class]) { + color: var(--dark-b); + + &:hover { + color: var(--theme); + } + } + + .stand { + color: var(--theme); + margin: 0 4px; + } + + .powered { + color: var(--theme); + font-weight: 600; + } + + .cloud-driven { + margin: 0 3px; + + img { + height: 16px; + vertical-align: text-bottom; + } + } + } +} + +@media (max-width: (@desktop-min-width - 1)) { + .navbar { + .navbar-search .input { + width: 100px; + } + } + + .container:not(.two-column) .column-right { + display: none !important; + } + + .is-hidden-not-desktop { + display: none !important; + } + + .card:not(.is-hidden-not-desktop):not(.is-hidden-all) ~ .card { + margin-top: 1.4rem !important; + } +} + +@media (max-width: (@laptop-min-width - 1)) { + .section .card { + .cover-image { + min-height: 24vw; + } + + .thumbnail-image { + min-height: 20vw; + } + } + + .model { + &-index { + flex-direction: column; + + .swiper { + width: 100%; + } + + &-side { + width: 100%; + flex-direction: row; + } + } + + &-attach-4 { + grid-template-columns: repeat(2, 1fr); + } + } + + .swiper-slide-details { + + &-title { + font-size: 1.3rem; + } + + .breadcrumb { + display: none; + } + } + + .swiper-pagination-bullet { + width: 8px; + height: 4px; + + &-active { + width: 20px; + } + } + + .navbar .container { + padding: 0 0.75rem; + + .navbar-searchicon { + display: block; + } + + .navbar-search { + display: none; + } + } +} + +@media (max-width: @mobile-max-width) { + + .title { + font-size: 1.3rem !important; + } + + .container { + .column-side, .column-main { + flex: none; + width: 100%; + } + } + + .model-attach-3 { + grid-template-columns: none; + } + + .navbar .container { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0 1.5rem; + min-height: 3.5rem; + + .navbar-slideicon { + display: block; + } + + .navbar-nav { + display: none; + } + + .navbar-searchicon { + margin-left: 0; + } + } + + .swiper-button-prev, + .swiper-button-next { + display: none !important; + } + + .is-hidden-mobile { + display: none !important; + } + + .card:not(.is-hidden-mobile):not(.is-hidden-all) ~ .card { + margin-top: 1.4rem !important; + } + + .pagination-next, .pagination-previous { + flex-grow: 1; + flex-shrink: 1; + } + + .section { + padding-top: 5rem; + + .container > .tips { + margin-left: -0.25rem; + margin-right: -0.25rem; + max-width: none; + } + + .columns .column { + padding: 0.5rem; + } + + .card { + .cover-image { + height: 40vw; + min-height: 130px; + } + + .thumbnail-image { + height: 32vw; + min-height: 95px; + } + } + } + + .footer-container { + text-align: center; + + & > li { + display: block; + + &:last-child { + float: none; + } + + .footer-truncation { + display: block; + + &:before { + content: none !important; + } + } + } + } + + html:not(.disable-scroll) .actions.show { + right: 8px; + } +} + +@media (max-width: 520px) { + .model { + &-index-side { + flex-direction: column; + } + + &-attach { + display: none; + } + } +} + +@media (min-width: @table-min-width) { + .container { + + .column { + + &-side { + flex: none; + width: 33%; + } + + &-main { + flex: none; + width: 67%; + } + } + + .columns, .level { + display: flex; + } + + .column-left, .column-right { + transition: all 0.5s; + + &.top-sticky { + align-self: flex-start; + position: sticky; + top: 5rem; + } + + &.bottom-sticky { + align-self: flex-end; + position: sticky; + bottom: 1rem; + } + } + + .pagination .pagination-previous { + order: 1; + } + + .pagination .pagination-list { + flex-grow: 1; + flex-shrink: 1; + justify-content: center; + order: 2; + } + + .pagination .pagination-next { + order: 3; + } + } + + body.move-up { + .container { + .column-left.top-sticky, .column-right.top-sticky { + top: 1rem; + } + } + } +} + +@media (min-width: @laptop-min-width) { + .section .card { + .cover-image { + min-height: 250px; + } + + .thumbnail-image { + min-height: 195px; + } + } + + .container { + max-width: 960px; + + .column { + + &-side { + flex: none; + width: 28%; + } + + &-main { + flex: none; + width: 72%; + } + } + } +} + +@media (min-width: @desktop-min-width) { + .section .card { + .cover-image { + min-height: 240px; + } + + .thumbnail-image { + min-height: 185px; + } + } + + .container { + max-width: 1152px; + + .column { + + &-side { + flex: none; + width: 25%; + } + + &-main { + flex: none; + width: 50%; + } + } + } + + &.two-column { + + .column { + + &-side { + flex: none; + width: 26%; + } + + &-main { + flex: none; + width: 74%; + } + } + } + + .is-hidden-desktop { + display: none !important; + } + + .card:not(.is-hidden-desktop):not(.is-hidden-all) ~ .card { + margin-top: 1.4rem !important; + } +} + +@media (min-width: 1408px) { + .section .card { + + &-small .main-content { + -webkit-line-clamp: 3 !important; + min-height: 4em; + max-height: 4.8em; + } + + .cover-image { + min-height: 260px; + } + + .thumbnail-image { + min-height: 210px; + } + } + + .container { + max-width: 1344px; + + .column { + + &-side { + flex: none; + width: 22%; + } + + &-main { + flex: none; + width: 56%; + } + } + + &.two-column { + + .column { + + &-side { + flex: none; + width: 25%; + } + + &-main { + flex: none; + width: 75%; + } + } + } + } +} + +@media (min-width: @display-min-width) { + .section .card { + .cover-image { + min-height: 320px; + } + + .thumbnail-image { + min-height: 240px; + } + } + + .container { + max-width: 1600px; + + .column { + + &-side { + flex: none; + width: 20%; + } + + &-main { + flex: none; + width: 60%; + } + } + + &.two-column { + max-width: 1400px; + + .column { + + &-side { + flex: none; + width: 24%; + } + + &-main { + flex: none; + width: 76%; + } + } + } + } +} + +@media (min-width: @widescreen-min-width) { + html { + font-size: 15px; + } + + .section .card { + .cover-image { + min-height: 340px; + } + + .thumbnail-image { + min-height: 260px; + } + } + + .container { + max-width: 1800px; + + .column { + + &-side { + flex: none; + width: 18%; + } + + &-main { + flex: none; + width: 64%; + } + } + + &.two-column { + max-width: 1500px; + + .column { + + &-side { + flex: none; + width: 22%; + } + + &-main { + flex: none; + width: 78%; + } + } + } + } +} + +@keyframes move-forever { + 0% { + transform: translate3d(-90px, 0, 0); + } + to { + transform: translate3d(85px, 0, 0); + } +} + +@keyframes flicker { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} + +@keyframes code-expand { + 0% { + opacity: 0.8; + } + 50% { + opacity: 0.1; + } + 100% { + opacity: 0.8; + } +} + +@keyframes dung { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 30% { + -webkit-transform: translateY(-2px); + transform: translateY(-2px); + } + + 60% { + -webkit-transform: translateY(2px); + transform: translateY(2px); + } + + 80% { + -webkit-transform: translateY(-1px); + transform: translateY(-1px); + } + + 90% { + -webkit-transform: translateY(1px); + transform: translateY(1px); + } + + 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +/* 时间戳界面 */ +.timeline { + margin-left: 16px; + padding-left: 24px; + padding-top: 16px; + border-left: 1px solid var(--light-b); + + &-title { + background: var(--bg-e); + color: var(--light-a); + display: inline-flex; + font-size: 0.75em; + height: 2em; + padding: 0 8px; + align-items: center; + white-space: nowrap; + border-radius: var(--radius-inner); + margin-bottom: 0; + } + + .media { + position: relative; + display: flex; + border: none; + + &:not(:last-child) { + margin-bottom: 21px; + } + + & + .media { + padding-top: 14px; + margin-top: 0; + } + + &-content { + time { + font-size: 0.85em; + display: block; + color: var(--dark-b); + } + + .title { + color: var(--dark-c); + font-size: 1.1em !important; + } + + p a { + font-size: 0.9em; + color: var(--dark-e); + } + } + + &-left { + margin-right: 14px; + + img { + height: 64px; + width: 64px; + object-fit: cover; + } + } + + &:before { + width: 9px; + height: 9px; + top: 18px; + background: var(--light-d); + border-radius: 50%; + } + + &:before, + &:last-child:after { + content: ''; + display: block; + position: absolute; + left: -29px; + } + + &:first-child:before { + top: 4px; + } + + &:first-child:last-child:after { + top: 11px; + } + + &:last-child:after { + top: 27px; + width: 9px; + bottom: 0; + background: var(--bg-b); + } + + } +} + +/* 日志界面 */ +.journal { + + em { + font-style: normal; + } + + &-date { + line-height: 34px; + color: var(--dark-c); + + i { + margin-right: 8px; + } + } + + &-content { + padding: 10px 12px; + overflow: hidden; + border-radius: 0 6px 6px 6px; + background-color: var(--bg-c); + position: relative; + + .main-content { + :last-child { + margin-bottom: 0; + } + } + + &.fold { + max-height: 240px; + } + + &.unfold { + padding: 10px 12px 40px 12px; + } + } + + &-operation { + padding: 12px 0 2px 0; + + &-item { + margin-left: 10px; + transition: all 0.2s; + user-select: none; + color: var(--main); + + a { + color: var(--main); + + i { + margin-right: 5px; + } + + &:hover { + color: var(--theme); + + i { + transform: scale(1.1); + } + } + + &:not(.like) .fa-heart-o { + color: #f55448; + transform: none; + + &:before { + content: '\f004'; + } + } + } + } + } + + &-comment { + padding: 12px 0 2px 0; + display: none; + } +} + +/* 友链界面 */ +.links:not(.widget) { + margin-bottom: 20px; + + .link-title { + margin-bottom: 10px; + } + + ul { + margin: 0; + list-style: none; + padding: 0; + width: 100%; + display: inline-block; + + li { + width: 32%; + float: left; + border: 1px solid var(--light-b); + padding: 10px 30px; + margin: 4px; + position: relative; + overflow: hidden; + transition: all .3s; + border-radius: 10px; + height: 100px; + box-sizing: border-box; + background: var(--bg-d); + + &:hover { + border: 1px solid var(--theme); + + &:before { + width: 180%; + } + + img { + transform: rotate(360deg); + } + + .link-name { + opacity: 0.9; + } + + .link-desc { + opacity: 0.6; + } + } + + &:before { + content: ""; + background-color: var(--theme); + transform: skew(45deg, 0); + width: 0; + height: 100%; + position: absolute; + top: 0; + left: -60px; + transition: all .5s; + opacity: 0.2; + } + + img { + float: right; + box-shadow: inset 0 0 10px var(--theme); + opacity: 1; + transform: rotate(0deg); + transition: all ease 1s; + margin-top: 5px; + width: 65px; + height: 65px; + padding: 2px; + border-radius: 100%; + } + } + } + + .link-name { + color: var(--theme); + padding-bottom: 6px; + display: block; + transition: all .3s; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap + } + + .link-desc { + color: #949494; + font-size: 13px; + border-top: 1px dashed var(--light-d); + line-height: 25px; + transition: all .5s; + text-indent: 1em; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + } +} + +@media (max-width: 630px) { + .links:not(.widget) ul li { + width: 100% !important + } +} + +@media (max-width: 768px) { + .links:not(.widget) ul li:before { + display: none + } +} + +@media (max-width: 1600px) { + .links:not(.widget) ul li { + width: 48% + } +} + +/* 相册界面 */ +.photos { + + &-teams { + display: grid; + gap: 15px; + grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); + + .item { + user-select: none; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + background: var(--bg-b); + height: 28px; + line-height: 28px; + border-radius: 14px; + cursor: pointer; + color: var(--main); + font-size: 12px; + padding: 0 15px; + text-align: center; + transition: color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s; + + &.active { + transform: translateY(-2px); + color: #fff; + background: var(--theme); + box-shadow: 0 5px 5px rgb(0 0 0 / 5%); + } + } + } + + &-gallery { + display: block; + width: 100%; + position: relative; + margin-top: 12px; + + &.loading { + margin-bottom: 80px; + + &:empty { + height: 0 !important; + } + + &:after { + width: 100%; + position: absolute; + bottom: -80px; + } + } + + & > div { + position: absolute; + display: inline-block; + overflow: hidden; + opacity: 0.1; + margin: 0; + padding: 0; + border-radius: 8px; + cursor: pointer; + + & > img { + position: absolute; + transition: transform 1s ease; + top: 50%; + left: 50%; + margin: 0; + padding: 0; + border: none; + opacity: 0; + } + + & > .jg-caption { + opacity: 0; + position: absolute; + bottom: 0; + padding: 5px; + background-color: #000000; + left: 0; + right: 0; + margin: 0; + color: white; + font-size: 0.85em; + font-weight: 300; + font-family: sans-serif; + transition: opacity 300ms ease-in; + + &.jg-caption-visible { + opacity: 0.7; + } + } + + .info { + position: absolute; + right: 0; + bottom: 0; + left: 0; + color: #fff; + padding: 20px; + max-height: 100%; + transform: translateY(calc(100% - 45px)); + transition: transform 0.35s ease-in; + background: linear-gradient(0deg, #151515cc, transparent 100%); + + svg { + width: 1.3em; + height: 1.3em; + fill: #fff; + vertical-align: text-bottom; + stroke-width: 40; + stroke: #fff; + margin-right: 6px; + float: left; + } + + & > :not(:first-child) { + margin-top: 5px; + } + + & > div:first-child { + margin-left: -16px; + transition: all 0.35s ease-in; + + svg { + width: 0; + transition: all 0.35s ease-in; + } + + p { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + } + + &:hover { + + img { + transform: scale(1.2); + } + + .info { + overflow-y: scroll; + transform: translateY(0); + + & > div:first-child { + margin-left: 0; + + svg { + width: 1.3em; + } + + p { + overflow: inherit; + white-space: inherit; + text-overflow: inherit; + } + } + } + } + } + + & > .jg-entry-visible { + opacity: 1; + background: none; + + & > img { + opacity: 1; + } + } + } +} + +/* 标签界面 */ +.tags-field { + display: flex; + flex-wrap: wrap; + justify-content: center; + font-size: 1.3em; + + .tags { + display: flex; + + &:not(:last-child) { + margin: 0 0.75rem 0.75rem 0; + } + + .tag { + &:not(.is-grey) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + &.is-grey { + background: var(--bg-e); + color: rgb(255 255 255 / 80%); + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + } + } +} \ No newline at end of file diff --git a/src/css/theme.less b/src/css/theme.less new file mode 100644 index 0000000..cc8d304 --- /dev/null +++ b/src/css/theme.less @@ -0,0 +1,107 @@ +@charset "utf-8"; +/* CSS Document */ +// 全局CSS变量 +html { + --theme: #50bfff; + --main: #606266; + --background: rgba(255, 255, 255, 0.94); + --background-hover: #fff; + --style-a: #fff; + --light-a: #ffffff; + --light-b: #ebeef5; + --light-c: #dcdcdc; + --light-d: #c0c4cc; + --dark-a: #4a4a4a; + --dark-b: #909399; + --dark-c: #333; + --dark-d: #9a9a9a; + --dark-e: #7a7a7a; + --color-a: #409eff; + --bg-a: rgb(242 246 252 / 80%); + --bg-b: #f2f6fc; + --bg-c: #f5f5f5; + --bg-d: rgba(255, 255, 255, 0.8); + --bg-e: var(--theme); + --bg-f: #f7f7f7; + --bg-g: #e8f3ff; + --bg-h: rgb(237 244 253 / 75%); + --bg-i: #50bfff; + --bg-j: rgb(243 244 245 / 25%); + --bg-k: rgb(250 250 250 / 80%); + --bg-l: rgb(243 243 243 / 80%); + + --radius-wrap: 8px; + --radius-inner: 4px; + --radius-img: 5px; + --box-shadow: 0 0px 10px -5px #949494; + + &.night { + --theme: #5d93db; + --main: #999; + --background: rgba(40, 44, 52, .6); + --background-hover: rgba(40, 44, 52, 0.8); + --style-a: #080c28; + --light-a: #232323; + --light-b: #414243; + --light-c: #303030; + --light-d: #666; + --dark-a: #888; + --dark-b: #777; + --dark-c: silver; + --dark-d: #aaa; + --dark-e: #c0c0c0; + --color-a: #cbba7d; + --bg-a: rgb(65 66 67 / 80%); + --bg-b: #303030; + --bg-c: #373d48; + --bg-d: rgba(40, 44, 52, .8); + --bg-e: #434a56; + --bg-f: #080c28; + --bg-g: rgba(210, 210, 210, 0.2); + --bg-h: rgb(65 68 74 / 60%);; + --bg-i: #276b92; + --bg-j: rgb(36 36 36 / 15%); + --bg-k: rgb(30 33 41 / 80%); + --bg-l: rgb(63 65 75 / 80%); + --box-shadow: 1px 1px 3px 1px #1b1b1b; + + body::before { + filter: brightness(.3); + } + + .logo-img { + display: none; + + &-dark { + display: inline-block; + } + } + + .waifu, iframe, img, video, svg, .thumbnail-image, .cover-image, .small-image, .aplayer-pic, .brightness { + filter: brightness(.8); + } + + .canvas_effects { + &.night { + display: block; + } + + &.day { + display: none; + } + } + + .main-content { + + figure { + color: var(--main); + background: var(--bg-k); + + pre code { + color: var(--color-a); + background: 0 0; + } + } + } + } +} \ No newline at end of file diff --git a/src/js/autoload.js b/src/js/autoload.js new file mode 100644 index 0000000..47e6814 --- /dev/null +++ b/src/js/autoload.js @@ -0,0 +1,36 @@ +try { + ($('').attr({href: '/themes/dream/source/lib/live2d@1.0.1/waifu.min.css', rel: 'stylesheet', type: 'text/css'}).appendTo('head'), + $('body').append('
    '), + $.ajax({url: '/themes/dream/source/lib/live2d@1.0.1/waifu-tips.min.js', dataType:'script', cache: true, success: function() { + $.ajax({url: '/themes/dream/source/lib/live2d@1.0.1/live2d.min.js', dataType:'script', cache: true, success: function() { + live2d_settings['hitokotoAPI'] = 'hitokoto.cn' // 一言 API + live2d_settings['modelId'] = DreamConfig['live2d_model_id'] // 默认模型 ID + live2d_settings['modelTexturesId'] = DreamConfig['live2d_model_textures_id'] // 默认材质 ID + live2d_settings['waifuSize'] = DreamConfig['live2d_waifu_size'], + live2d_settings['waifuTipsSize'] = '230x75', + live2d_settings['waifuFontSize'] = '16px', + live2d_settings['waifuToolFont'] = '16px', + live2d_settings['waifuToolLine'] = '26px', + live2d_settings['waifuEdgeSide'] = DreamConfig['live2d_edge_side'], + live2d_settings['homePageUrl'] = '/' + live2d_settings['modelCdnUrl'] = DreamConfig['live2d_model_url'] + live2d_settings['showToolMenu'] = DreamConfig['live2d_show_tool_menu'] + live2d_settings['canTurnToHomePage'] = DreamConfig['live2d_can_turn_to_home_page'] + live2d_settings['canSwitchHitokoto'] = DreamConfig['live2d_can_switch_hitokoto'] + live2d_settings['canSwitchModel'] = DreamConfig['live2d_can_switch_model'] + live2d_settings['canSwitchTextures'] = DreamConfig['live2d_can_switch_textures'] + live2d_settings['canTakeScreenshot'] = DreamConfig['live2d_can_take_screenshot'] + if (DreamConfig['live2d_about_page']) { + live2d_settings['canTurnToAboutPage'] = DreamConfig['live2d_can_turn_to_about_page'] + live2d_settings['aboutPageUrl'] = DreamConfig['live2d_about_page'] + } else { + live2d_settings['canTurnToAboutPage'] = false + } + live2d_settings['canCloseLive2d'] = DreamConfig['live2d_can_close_live2d'] + live2d_settings['modelRandMode'] = DreamConfig['live2d_model_rand_mode'] + live2d_settings['modelTexturesRandMode'] = DreamConfig['live2d_model_textures_rand_mode'] + /* 在 initModel 前添加 */ + initModel(DreamConfig['live2d_tips_url']) + }}) + }})) +} catch(err) { console.log('[Error] JQuery is not defined.') } diff --git a/src/js/btoc.js b/src/js/btoc.js new file mode 100644 index 0000000..74f11ef --- /dev/null +++ b/src/js/btoc.js @@ -0,0 +1,202 @@ +function Btoc(tocList, contentElement) { + this.tocList = tocList + this.elementList = getChild(contentElement, this.tocList) + // 当前解析到第几个标签 + this.eIndex = 0 + + /** + * 递归读取目标标签中所有的符合要求的标签 + * @param element + * @param tocList + * @returns {any[]|null} + */ + function getChild(element, tocList) { + if (element == null) { + return null + } + // 获取所有子元素 + var child = element.children + if (child.length === 0) { + return null + } + var childs = [] + for (var i = 0; i < child.length; i++) { + var elem = child[i] + if (tocList.indexOf(elem.tagName) !== -1) { + childs.push(elem) + } + childs.push.apply(childs, getChild(elem, tocList)) + } + return childs + } + + /** + * 生成目录 + */ + this.build = function () { + if (this.elementList == null || this.elementList.length === 0) { + return '' + } + // 解析获取到的标签元素为目录 + // 设置当前元素的最小度为-1表示当前元素为最外层目录元素,防止后续出现比当前元素序号更小的标签 + return this.analysis(-1, this.tocList.indexOf(this.elementList[this.eIndex].tagName)) + } + + /** + * 解析目录 + * @param last 最小的标签(即上级目录的标签) + * @param depth 当前标签 + * @returns {string} 解析的目录内容 + */ + this.analysis = function (last, depth) { + var tocStr = '
      ' + while (this.eIndex < this.elementList.length) { + var elem = this.elementList[this.eIndex] + // 取得当前元素在标签列表中所属的位置 + var n = this.tocList.indexOf(elem.tagName) + // 当级别大于最大级别,小于当前级别时,就当做当前级别来处理,并将新的级别设置为新级别 + if (n > last && n <= depth) { + depth = n + var id = elem.id + var text = elem.innerText + // 标签不存在id,设置id + if (id == null || id === '') { + id = text + '_' + this.eIndex + elem.setAttribute('id', id) + } + tocStr += `
    • ${text}` + this.eIndex++ + if (this.eIndex >= this.elementList.length) { + tocStr += '
    • ' + break + } + n = this.tocList.indexOf(this.elementList[this.eIndex].tagName) + // 如果下一个元素的序号大于当前元素的序号,那么元素为子元素,需要递归获取 + if (n > depth) { + tocStr += this.analysis(depth, n) + } + tocStr += '' + } else if (n <= last) { + // 如果这个元素的序号已经小于最小序号了,那说明这个元素已经外面一层的元素了 + break + } + } + return tocStr + '
    ' + } +} +const observers = [] +function register($toc) { + // toc滚动时间和偏移量 + const time = 20 + const headingsOffset = 50 + const currentInView = new Set() + const headingToMenu = new Map() + const $menus = Array.from($toc.querySelectorAll('.menu-list > li > a')) + + for (const $menu of $menus) { + const elementId = $menu.getAttribute('data-id').trim().slice(1) + const $heading = document.getElementById(elementId) + if ($heading) { + headingToMenu.set($heading, $menu) + } + } + + const $headings = Array.from(headingToMenu.keys()) + + const callback = (entries) => { + for (const entry of entries) { + if (entry.isIntersecting) { + currentInView.add(entry.target) + } else { + currentInView.delete(entry.target) + } + } + let $heading + if (currentInView.size) { + // heading is the first in-view heading + $heading = [...currentInView].sort(($el1, $el2) => $el1.offsetTop - $el2.offsetTop)[0] + } else if ($headings.length) { + // heading is the closest heading above the viewport top + $heading = $headings + .filter(($heading) => $heading.offsetTop < window.scrollY) + .sort(($el1, $el2) => $el2.offsetTop - $el1.offsetTop)[0] + } + if ($heading && headingToMenu.has($heading)) { + $menus.forEach(($menu) => $menu.classList.remove('is-active')) + + const $menu = headingToMenu.get($heading) + $menu.classList.add('is-active') + let $menuList = $menu.parentElement.parentElement + while ( + $menuList.classList.contains('menu-list') && + $menuList.parentElement.tagName.toLowerCase() === 'li' + ) { + $menuList.parentElement.children[0].classList.add('is-active') + $menuList = $menuList.parentElement.parentElement + } + } + } + const observer = new IntersectionObserver(callback, { threshold: 0 }) + + for (const $heading of $headings) { + observer.observe($heading) + // smooth scroll to the heading + if (headingToMenu.has($heading)) { + const $menu = headingToMenu.get($heading) + $menu.addEventListener('click', () => { + var element = document.getElementById($menu.getAttribute('data-id').substring(1)) + let rect = element.getBoundingClientRect() + let currentY = window.pageYOffset + let targetY = currentY + rect.top - headingsOffset + let speed = (targetY - currentY) / time + let offset = currentY > targetY ? -1 : 1 + let requestId + function step(timestamp) { + currentY+=speed + if(currentY * offset < targetY * offset){ + window.scrollTo(0,currentY) + requestId=window.requestAnimationFrame(step) + }else{ + window.scrollTo(0,targetY) + window.cancelAnimationFrame(requestId) + } + } + window.requestAnimationFrame(step) + }) + } + if (headingToMenu.has($heading)) { + $heading.style.scrollMargin = '1em' + } + } + observers.push(observer) +} +Btoc.init = function (params) { + const tocList = params['tocList'] + const contentElement = params['contentElement'] + const tocSelect = params['tocElement'] + if (tocList == null || tocList.length === 0 || contentElement == null) { + $(tocSelect).children().remove() + return false + } + for (var i = 0; i < tocList.length; i++) { + tocList[i] = tocList[i].toUpperCase() + } + let tocContent = new Btoc(tocList, contentElement).build() + $(tocSelect).html(tocContent) +} + +window.tocPjax = function () { + observers.forEach(observer => { + observer.disconnect() + }) + observers.splice(0) + Btoc.init({ + tocList: ['h1', 'h2', 'h3', 'h4', 'h5'], + contentElement: $('.main-content:not(.not-toc)')[0], + tocElement: '.toc-content' + }) + if (typeof window.IntersectionObserver === 'undefined') { + return + } + document.querySelectorAll('.toc-content').forEach(register) +} diff --git a/src/js/common.js b/src/js/common.js new file mode 100644 index 0000000..968030d --- /dev/null +++ b/src/js/common.js @@ -0,0 +1,519 @@ +window.encrypt = (str) => window.btoa(unescape(encodeURIComponent(str))) +window.decrypt = (str) => decodeURIComponent(escape(window.atob(str))) + +const commonContext = { + /* 初始化widget */ + initWidget() { + const $columnRight = $('.columns .column-right') + const $columnRightShadow = $('.columns .column-right-shadow') + $('.widget.recent-comments .reply .link').html((i, html) => Utils.renderedEmojiHtml(html)) + // 实现将右边widget拷贝的左边 + if ($columnRight.length && $columnRightShadow.length && !$columnRightShadow[0].children.length) { + for (const child of $columnRight[0].children) { + $columnRightShadow[0].append(child.cloneNode(true)) + } + } + }, + /* 初始化悬浮操作按钮 */ + initActions() { + const $bulletScreen = $('.actions>.bullet-screen') + if (localStorage.getItem('stop-bullet-screen') === 'true') { + $bulletScreen.addClass('stop-bullet-screen') + } + if ($('halo-comment[bullet-screen]').length !== 0) { + $bulletScreen.removeClass('is-hidden-all') + } + const applyStopBulletScreen = (stopBulletScreenValue) => { + $('halo-comment[bullet-screen]').each(function () { + const shadowDom = this.shadowRoot.getElementById('halo-comment') + if (stopBulletScreenValue) { + $(shadowDom).attr('stop-bullet-screen', 'true') + } else { + $(shadowDom).removeAttr('stop-bullet-screen') + } + }) + if (stopBulletScreenValue) { + $bulletScreen.addClass('stop-bullet-screen') + } else { + $bulletScreen.removeClass('stop-bullet-screen') + } + localStorage.setItem('stop-bullet-screen', stopBulletScreenValue) + } + $bulletScreen.on('click', () => { + let stopBulletScreen = localStorage.getItem('stop-bullet-screen') || false + applyStopBulletScreen(stopBulletScreen.toString() !== 'true') + }) + }, + /* 初始化目录和公告模块 */ + initTocAndNotice() { + const {pathname} = location + window.tocPjax && window.tocPjax() + let hideToc = $('.widget.toc .card-content ul').length === 0 + let hideNotice = (DreamConfig.notice_show_mode === 'toc' && !hideToc) + || (DreamConfig.notice_show_mode === 'index' && pathname !== '/') + if (hideToc) { + $('.widget.toc,.action-toc').addClass('is-hidden-all') + } else { + $('.widget.toc,.action-toc').removeClass('is-hidden-all') + } + if (hideNotice) { + $('.widget.notice').addClass('is-hidden-all') + } else { + $('.widget.notice').removeClass('is-hidden-all') + } + }, + /* 更新横幅大图的文字描述 */ + initBanner() { + const $bannerInfoDesc = $('.banner-info-desc') + if ($bannerInfoDesc.length === 0) return + const bannerDesc = $bannerInfoDesc.text() + $bannerInfoDesc.text('') + let currentBannerDesc = '' + let isWrite = true + let id + const updateDesc = function () { + let num = currentBannerDesc.length + if (isWrite && num < bannerDesc.length) { + currentBannerDesc += bannerDesc.charAt(num) + $bannerInfoDesc.text(currentBannerDesc) + } else if (!isWrite && num > 0) { + currentBannerDesc = currentBannerDesc.slice(0, num - 1) + $bannerInfoDesc.text(currentBannerDesc) + } else { + clearInterval(id) + isWrite = !isWrite + id = setInterval(updateDesc, isWrite ? 500 : 80) + } + } + id = setInterval(updateDesc, isWrite ? 500 : 80) + }, + /* 激活图片预览功能 */ + initGallery() { + // 用链接和标题包装图像 + $('.main-content img:not(.not-gallery)').each(function () { + if ($(this).parents('[data-fancybox],mew-photos').length === 0) { + $(this).wrap(``) + } + }) + }, + /* 初始化主题模式(仅用户模式) */ + initMode() { + let isNight = localStorage.getItem('night') || false + const applyNight = (isNightValue) => { + if (isNightValue) { + document.documentElement.classList.add('night') + } else { + document.documentElement.classList.remove('night') + } + $('halo-comment').each(function () { + const shadowDom = this.shadowRoot.getElementById('halo-comment') + $(shadowDom)[`${isNightValue ? 'add' : 'remove'}Class`]('night') + }) + localStorage.setItem('night', isNightValue) + isNight = isNightValue + } + $('#toggle-mode').on('click', () => applyNight(isNight.toString() !== 'true')) + if (DreamConfig.default_theme === 'system') { + window.matchMedia('(prefers-color-scheme: dark)') + .addListener((event) => applyNight(event.matches)) + } + }, + /* 导航条高亮 */ + initNavbar() { + const $nav_menus = $('.navbar-nav a') + const $nav_side_menus = $('.panel-side-menu .link') + let activeIndex = 0 + const {href, pathname} = location + + if (pathname && pathname !== '/') { + for (let i = 0; i < $nav_menus.length; i++) { + const cur_href = $nav_menus[i].getAttribute('href') + if (pathname.includes(cur_href) || href.includes(cur_href)) { + activeIndex = i + if (pathname === cur_href || href === cur_href) break + } + } + } + + // 高亮PC端 + const $curMenu = $nav_menus.eq(activeIndex) + $curMenu.addClass('current') + if ($curMenu.parents('.item-dropdown').length) { + $curMenu + .parents('.item-dropdown') + .find('.item-dropdown-link a') + .addClass('current') + } + + // 高亮移动端 + $nav_side_menus.eq(activeIndex).addClass('current') + }, + /* 激活导航栏全局下拉框功能 */ + initDropMenu() { + $('.item-dropdown').each(function (index, item) { + const menu = $(this).find('.item-dropdown-menu') + const trigger = $(item).attr('trigger') || 'click' + const placement = $(item).attr('placement') || $(this).height() || 0 + menu.css('top', placement) + if (trigger === 'hover') { + $(this).hover( + () => $(this).addClass('active'), + () => $(this).removeClass('active') + ) + } else { + $(this).on('click', function (e) { + e.stopPropagation() + $(this).toggleClass('active') + $(document).one('click', () => $(this).removeClass('active')) + e.stopPropagation() + }) + menu.on('click', (e) => e.stopPropagation()) + } + }) + }, + /* 处理滚动 */ + initScroll() { + let initTop = 0 + + // true:上划,false:下滑 + function scrollDirection(currentTop) { + const result = currentTop > initTop + initTop = currentTop + return result + } + + const handleScroll = () => { + const scrollTop = $(document).scrollTop() + const direction = scrollDirection(scrollTop) + const $body = $('body') + const $actions = $('.actions') + if (scrollTop > 50 && direction) { + $body.addClass('move-up') + } else { + $body.removeClass('move-up') + } + if (scrollTop > 100) { + $actions.addClass('show') + } else { + $actions.removeClass('show') + } + } + document.addEventListener('scroll', handleScroll) + }, + /* 搜索框弹窗 */ + searchDialog() { + const $result = $('.navbar-search .result') + $('.navbar-search .input').on('click', function (e) { + e.stopPropagation() + $result.addClass('active') + }) + $(document).on('click', function () { + $result.removeClass('active') + }) + }, + /* 小屏幕伸缩侧边栏,包含导航或者目录 */ + drawerMobile() { + $('.navbar-slideicon').on('click', function (e) { + e.stopPropagation() + /* 关闭搜索框 */ + $('.navbar-searchout').removeClass('active') + /* 处理开启关闭状态 */ + const $html = $('html') + const $mask = $('.navbar-mask') + const $slide_out = $('.navbar-slideout') + if ($slide_out.hasClass('active')) { + $html.removeClass('disable-scroll') + $mask.removeClass('active slideout') + $slide_out.removeClass('active') + } else { + $html.addClass('disable-scroll') + $mask.addClass('active slideout') + $slide_out.addClass('active') + } + }) + $('.action-toc').on('click', function (e) { + e.stopPropagation() + /* 关闭搜索框 */ + $('.navbar-searchout').removeClass('active') + /* 处理开启关闭状态 */ + const $html = $('html') + const $mask = $('.navbar-mask') + const $slide_out = $('.navbar-slideout') + if ($slide_out.hasClass('active')) { + $html.removeClass('disable-scroll') + $mask.removeClass('active slideout') + $slide_out.removeClass('active slideout-toc') + } else { + $html.addClass('disable-scroll') + $mask.addClass('active slideout') + $slide_out.addClass('active slideout-toc') + } + }) + }, + /* 激活全局返回顶部功能 */ + back2Top() { + $('#back-to-top').on('click', function () { + $('body, html').animate({scrollTop: 0}, 400) + }) + }, + /* 小屏幕搜索框 */ + searchMobile() { + $('.navbar-searchicon').on('click', function (e) { + e.stopPropagation() + /* 关闭侧边栏 */ + $('.navbar-slideout').removeClass('active') + /* 处理开启关闭状态 */ + const $html = $('html') + const $mask = $('.navbar-mask') + const $above = $('.navbar-above') + const $search_out = $('.navbar-searchout') + if ($search_out.hasClass('active')) { + $html.removeClass('disable-scroll') + $mask.removeClass('active slideout') + $search_out.removeClass('active') + $above.removeClass('solid') + } else { + $html.addClass('disable-scroll') + $mask.addClass('active') + $above.addClass('solid') + $search_out.addClass('active') + } + }) + }, + /* 点击遮罩层关闭 */ + maskClose() { + $('.navbar-mask') + .on('click', function (e) { + e.stopPropagation() + $('html').removeClass('disable-scroll') + $('.navbar-mask').removeClass('active slideout') + $('.navbar-searchout').removeClass('active') + $('.navbar-slideout').removeClass('active slideout-toc') + $('.navbar-above').removeClass('solid') + }) + .on('touchmove', (e) => e.preventDefault) + $('.navbar .toc-content') + .on('click', function (e) { + e.stopPropagation() + $('html').removeClass('disable-scroll') + $('.navbar-mask').removeClass('active slideout') + $('.navbar-slideout').removeClass('active slideout-toc') + }) + }, + /* 移动端侧边栏菜单手风琴 */ + sideMenuMobile() { + $('.navbar-slideout-menu .current') + .parents('.panel-body') + .show() + .siblings('.panel') + .addClass('in') + $('.navbar-slideout-menu .panel').on('click', function (e) { + e.stopPropagation() + const $this = $(this) + const panelBox = $this.parent().parent() + /* 清除全部内容 */ + panelBox.find('.panel').not($this).removeClass('in') + panelBox + .find('.panel-body') + .not($this.siblings('.panel-body')) + .stop() + .hide('fast') + /* 激活当前的内容 */ + $this.toggleClass('in').siblings('.panel-body').stop().toggle('fast') + }) + }, + /* 初始化事件 */ + initEvent() { + let $body = $('body') + + function closeSelect(elem) { + let $elem = $(elem) + const closeSelect = $elem.attr('data-close') + return closeSelect && closeSelect.trim() !== '' ? $elem.closest(closeSelect.trim()) : $elem + } + + $body.on('click', '.click-close', function (e) { + e.stopPropagation() + closeSelect(this).remove() + }) + $body.on('click', '.click-animation-close', function (e) { + e.stopPropagation() + let selectElem = closeSelect(this) + selectElem.addClass('close-animation') + setTimeout(() => selectElem.remove(), 300) + }) + }, + /* 离屏提示 */ + offscreenTip() { + if (Utils.isMobile() || (!DreamConfig.document_hidden_title && !DreamConfig.document_visible_title)) return + const originTitle = document.title + let timer = null + document.addEventListener('visibilitychange', function () { + if (document.hidden) { + DreamConfig.document_hidden_title && (document.title = DreamConfig.document_hidden_title) + clearTimeout(timer) + } else { + document.title = DreamConfig.document_visible_title || originTitle + DreamConfig.document_visible_title && (timer = setTimeout(function () { + document.title = originTitle + }, 2000)) + } + }) + }, + /** 初始化轮播 **/ + initCarousel() { + new Swiper('.swiper', { + loop: true, + parallax: true, + effect: 'slide', + spaceBetween: 10, + speed: 600, + autoplay: { + delay: 3000, + disableOnInteraction: false, + pauseOnMouseEnter: true, + }, + pagination: { + el: '.swiper-pagination', + clickable: true, + }, + navigation: { + nextEl: '.swiper-button-next', + prevEl: '.swiper-button-prev', + }, + }) + }, + /* 个人信息界面打印彩字 */ + sparkInput() { + const sparkInputContent = DreamConfig.spark_input_content && DreamConfig.spark_input_content.filter(s => s.length > 0) + if (sparkInputContent && sparkInputContent.length > 0) { + Utils.cachedScript(`${DreamConfig.theme_base}/source/js/spark-input.min.js?mew=${DreamConfig.theme_version}`, function () { + $('.spark-input').each((index, domEle) => sparkInput(domEle, sparkInputContent)) + }) + } + }, + /* 恋爱墙倒计时 */ + loveTime() { + let $elem = $('.love .love-time') + if ($elem.length === 0) return + let loveTime = $elem.attr('data-time') + if (!/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}$/.test(loveTime)) { + $elem.html(loveTime) + return + } + const now = new Date() + const grt = new Date(loveTime) + setInterval(function () { + now.setTime(now.getTime() + 1000) + let difference = parseInt((now - grt) / 1000) + let seconds = difference % 60 + difference = parseInt(difference / 60) + let minutes = difference % 60 + difference = parseInt(difference / 60) + let hours = difference % 24 + let days = parseInt(difference / 24) + let year = 0 + let grtYear = grt.getFullYear() + let nowYear = now.getFullYear() + while (grtYear < nowYear) { + if ((grtYear % 4 === 0 && grtYear % 100 !== 0) || grtYear % 400 === 0) { + // 闰年366天 + if (days < 366) break + days -= 366 + year += 1 + grtYear += 1 + } else { + // 平年365天 + if (days < 365) break + days -= 365 + year += 1 + grtYear += 1 + } + } + if (year !== 0) { + $elem.html(`${year} 年 ${days} 天 ${hours} 时 ${minutes} 分 ${seconds} 秒`) + } else { + $elem.html(`${days} 天 ${hours} 时 ${minutes} 分 ${seconds} 秒`) + } + }, 1000) + }, + /* 激活建站倒计时功能 */ + websiteTime() { + if (!DreamConfig.website_time) { + return + } + const websiteDate = document.getElementById('websiteDate') + if (!/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}$/.test(DreamConfig.website_time)) { + websiteDate.innerText = DreamConfig.website_time + return + } + const now = new Date() + const grt = new Date(DreamConfig.website_time) + setInterval(function () { + now.setTime(now.getTime() + 1000) + let difference = parseInt((now - grt) / 1000) + let seconds = difference % 60 + if (String(seconds).length === 1) { + seconds = '0' + seconds + } + difference = parseInt(difference / 60) + + let minutes = difference % 60 + if (String(minutes).length === 1) { + minutes = '0' + minutes + } + difference = parseInt(difference / 60) + + let hours = difference % 24 + if (String(hours).length === 1) { + hours = '0' + hours + } + let days = parseInt(difference / 24) + websiteDate.innerHTML = `建站${days}${hours}${minutes}${seconds}秒` + }, 1000) + }, + /* 初始化特效,只需要初始化一次,移动端设备不初始化 */ + initEffects() { + if (Utils.isMobile()) return + DreamConfig.cursor_move && Utils.cachedScript(`${DreamConfig.theme_base}/source/js/cursor/move/${DreamConfig.cursor_move}.min.js?mew=${DreamConfig.theme_version}`) + DreamConfig.cursor_click && Utils.cachedScript(`${DreamConfig.theme_base}/source/js/cursor/click/${DreamConfig.cursor_click}.min.js?mew=${DreamConfig.theme_version}`) + DreamConfig.enable_live2d && Utils.cachedScript(`${DreamConfig.theme_base}/source/js/autoload.min.js?mew=${DreamConfig.theme_version}`) + DreamConfig.effects_sakura_mode && Utils.cachedScript(`${DreamConfig.theme_base}/source/js/effects/sakura.min.js?mew=${DreamConfig.theme_version}`) + DreamConfig.effects_universe_mode && Utils.cachedScript(`${DreamConfig.theme_base}/source/js/effects/universe.min.js?mew=${DreamConfig.theme_version}`) + DreamConfig.effects_circle_magic_mode && Utils.cachedScript(`${DreamConfig.theme_base}/source/js/effects/circleMagic.min.js?mew=${DreamConfig.theme_version}`) + }, + /* 加载主动推送、统计脚本等参数 */ + loadMaintain() { + DreamConfig.enable_baidu_push && Utils.baiduPush() + DreamConfig.enable_toutiao_push && Utils.toutiaoPush() + }, + /* 显示主题版本信息 */ + showThemeVersion() { + window.logger(`%c页面加载耗时:${Math.round(performance.now())}ms | Theme By Dream ${DreamConfig.theme_version}`, + 'color:#fff; background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3); padding: 8px 15px; border-radius: 0 15px 0 15px') + } +} + +window.commonContext = commonContext + +!(function () { + const loads = ['initCarousel', 'sparkInput', 'websiteTime'] + const omits = ['initEffects', 'loadMaintain', 'showThemeVersion'] + + Object.keys(commonContext).forEach( + (c) => !loads.includes(c) && !omits.includes(c) && commonContext[c]() + ) + + // 当前html加载完执行 + document.addEventListener('DOMContentLoaded', function () { + $('html').addClass('loaded') + loads.forEach((c) => commonContext[c] && commonContext[c]()) + }) + + // 所有内容加载完执行 + window.addEventListener('load', function () { + omits.forEach((c) => commonContext[c] && commonContext[c]()) + $('html').addClass('ready') + }) +})() \ No newline at end of file diff --git a/src/js/cursor/click/firework.js b/src/js/cursor/click/firework.js new file mode 100644 index 0000000..e37620c --- /dev/null +++ b/src/js/cursor/click/firework.js @@ -0,0 +1,155 @@ +/**************** 光标渲染 *******************/ + +class Circle { + constructor({ origin, speed, color, angle, context }) { + this.origin = origin + this.position = { ...this.origin } + this.color = color + this.speed = speed + this.angle = angle + this.context = context + this.renderCount = 0 + } + + draw() { + this.context.fillStyle = this.color + this.context.beginPath() + this.context.arc(this.position.x, this.position.y, 2, 0, Math.PI * 2) + this.context.fill() + } + + move() { + this.position.x = (Math.sin(this.angle) * this.speed) + this.position.x + this.position.y = (Math.cos(this.angle) * this.speed) + this.position.y + (this.renderCount * 0.3) + this.renderCount++ + } +} + +class Boom { + constructor({ origin, context, circleCount = 10, area }) { + this.origin = origin + this.context = context + this.circleCount = circleCount + this.area = area + this.stop = false + this.circles = [] + } + + randomArray(range) { + const length = range.length + const randomIndex = Math.floor(length * Math.random()) + return range[randomIndex] + } + + randomColor() { + const range = ['8', '9', 'A', 'B', 'C', 'D', 'E', 'F'] + return '#' + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + } + + randomRange(start, end) { + return (end - start) * Math.random() + start + } + + init() { + for (let i = 0; i < this.circleCount; i++) { + const circle = new Circle({ + context: this.context, + origin: this.origin, + color: this.randomColor(), + angle: this.randomRange(Math.PI - 1, Math.PI + 1), + speed: this.randomRange(1, 6) + }) + this.circles.push(circle) + } + } + + move() { + this.circles.forEach((circle, index) => { + if (circle.position.x > this.area.width || circle.position.y > this.area.height) { + return this.circles.splice(index, 1) + } + circle.move() + }) + if (this.circles.length == 0) { + this.stop = true + } + } + + draw() { + this.circles.forEach(circle => circle.draw()) + } +} + +class CursorSpecialEffects { + constructor() { + this.computerCanvas = document.createElement('canvas') + this.renderCanvas = document.createElement('canvas') + + this.computerContext = this.computerCanvas.getContext('2d') + this.renderContext = this.renderCanvas.getContext('2d') + + this.globalWidth = window.innerWidth + this.globalHeight = window.innerHeight + + this.booms = [] + this.running = false + } + + handleMouseDown(e) { + const boom = new Boom({ + origin: { x: e.clientX, y: e.clientY }, + context: this.computerContext, + area: { + width: this.globalWidth, + height: this.globalHeight + } + }) + boom.init() + this.booms.push(boom) + this.running || this.run() + } + + handlePageHide() { + this.booms = [] + this.running = false + } + + init() { + const style = this.renderCanvas.style + style.position = 'fixed' + style.top = style.left = 0 + style.zIndex = '999999999999999999999999999999999999999999' + style.pointerEvents = 'none' + + style.width = this.renderCanvas.width = this.computerCanvas.width = this.globalWidth + style.height = this.renderCanvas.height = this.computerCanvas.height = this.globalHeight + + document.body.append(this.renderCanvas) + + window.addEventListener('mousedown', this.handleMouseDown.bind(this)) + window.addEventListener('pagehide', this.handlePageHide.bind(this)) + } + + run() { + this.running = true + if (this.booms.length == 0) { + return this.running = false + } + + requestAnimationFrame(this.run.bind(this)) + + this.computerContext.clearRect(0, 0, this.globalWidth, this.globalHeight) + this.renderContext.clearRect(0, 0, this.globalWidth, this.globalHeight) + + this.booms.forEach((boom, index) => { + if (boom.stop) { + return this.booms.splice(index, 1) + } + boom.move() + boom.draw() + }) + this.renderContext.drawImage(this.computerCanvas, 0, 0, this.globalWidth, this.globalHeight) + } +} +const cursorSpecialEffects = new CursorSpecialEffects() +cursorSpecialEffects.init() \ No newline at end of file diff --git a/src/js/cursor/click/granule.js b/src/js/cursor/click/granule.js new file mode 100644 index 0000000..dde6ce8 --- /dev/null +++ b/src/js/cursor/click/granule.js @@ -0,0 +1,344 @@ +$(function () { + let t = function () { + 'use strict' + function t(t) { + return '[object Array]' === Object.prototype.toString.call(t) + } + function e(t) { + return 'function' == typeof t + } + function n(t) { + return 'number' == typeof t + } + function i(t) { + return 'string' == typeof t + } + function o(t) { + return b[t] || String.fromCharCode(t) + } + function r(t, e, n) { + for (var i in e) + // eslint-disable-next-line no-prototype-builtins + (n || !t.hasOwnProperty(i)) && (t[i] = e[i]) + return t + } + function a(t, e) { + return function () { + t.apply(e, arguments) + } + } + function c(t) { + var n = {} + for (var i in t) + n[i] = e(t[i]) ? a(t[i], t) : t[i] + return n + } + function s(t) { + function n(n) { + e(n) && n.apply(t, [].splice.call(arguments, 1)) + } + function a(t) { + for (_ = 0; _ < $.length; _++) + D = $[_], i(D) ? O[(t ? 'add' : 'remove') + 'EventListener'].call(O, D, A, !1) : e(D) ? A = D : O = D + } + function s() { + S(N), + N = k(s), + U || (n(t.setup), U = e(t.setup), n(t.resize)), + t.running && !M && (t.dt = (B = +new Date) - t.now, t.millis += t.dt, t.now = B, n(t.update), t.autoclear && K && t.clear(), n(t.draw)), + M = ++M % t.interval + } + function u() { + O = j ? t.style : t.canvas, + W = j ? 'px' : '', + t.fullscreen && (t.height = w.innerHeight, t.width = w.innerWidth), + O.height = t.height + W, + O.width = t.width + W, + t.retina && K && Y && (O.height = t.height * Y, O.width = t.width * Y, O.style.height = t.height + 'px', O.style.width = t.width + 'px', t.scale(Y, Y)), + U && n(t.resize) + } + function l(t, e) { + return R = e.getBoundingClientRect(), + t.x = t.pageX - R.left - w.scrollX, + t.y = t.pageY - R.top - w.scrollY, + t + } + function h(e, n) { + return l(e, t.element), + n = n || {}, + n.ox = n.x || e.x, + n.oy = n.y || e.y, + n.x = e.x, + n.y = e.y, + n.dx = n.x - n.ox, + n.dy = n.y - n.oy, + n + } + function d(t) { + if (t.preventDefault(), F = c(t), F.originalEvent = t, F.touches) + for (Q.length = F.touches.length, _ = 0; _ < F.touches.length; _++) + Q[_] = h(F.touches[_], Q[_]) + else + Q.length = 0, Q[0] = h(F, V) + return r(V, Q[0], !0), + F + } + function f(e) { + for (e = d(e), X = (q = $.indexOf(G = e.type)) - 1, t.dragging = !!/down|start/.test(G) || !/up|end/.test(G) && t.dragging; X; ) + i($[X]) ? n(t[$[X--]], e) : i($[q]) ? n(t[$[q++]], e) : X = 0 + } + function p(e) { + z = e.keyCode, + H = 'keyup' == e.type, + J[z] = J[o(z)] = !H, + n(t[e.type], e) + } + function m(e) { + t.autopause && ('blur' == e.type ? C : E)(), + n(t[e.type], e) + } + function E() { + t.now = +new Date, + t.running = !0 + } + function C() { + t.running = !1 + } + function P() { + (t.running ? C : E)() + } + function T() { + K && t.clearRect(0, 0, t.width, t.height) + } + function I() { + L = t.element.parentNode, + _ = x.indexOf(t), + L && L.removeChild(t.element), + ~_ && x.splice(_, 1), + a(!1), + C() + } + var N, + A, + O, + L, + R, + _, + W, + B, + D, + F, + G, + z, + H, + X, + q, + M = 0, + Q = [], + U = !1, + Y = w.devicePixelRatio, + j = t.type == y, + K = t.type == g, + V = { + x: 0, + y: 0, + ox: 0, + oy: 0, + dx: 0, + dy: 0 + }, + $ = [t.element, f, 'mousedown', 'touchstart', f, 'mousemove', 'touchmove', f, 'mouseup', 'touchend', f, 'click', v, p, 'keydown', 'keyup', w, m, 'focus', 'blur', u, 'resize'], + J = {} + for (z in b) + J[b[z]] = !1 + return r(t, { + touches: Q, + mouse: V, + keys: J, + dragging: !1, + running: !1, + millis: 0, + now: NaN, + dt: NaN, + destroy: I, + toggle: P, + clear: T, + start: E, + stop: C + }), + x.push(t), + t.autostart && E(), + a(!0), + u(), + s(), + t + } + let u = document.createElement('div') + u.setAttribute('id', 'clickCanvas'), + u.style.cssText = 'position:fixed;left:0;top:0;z-index:1000;pointer-events:none;', + document.body.appendChild(u) + for (var l, h, d = 'E LN10 LN2 LOG2E LOG10E PI SQRT1_2 SQRT2 abs acos asin atan ceil cos exp floor log round sin sqrt tan atan2 pow max min'.split(' '), f = '__hasSketch', p = Math, g = 'canvas', m = 'webgl', y = 'dom', v = document, w = window, x = [], E = { + fullscreen: !0, + autostart: !0, + autoclear: !0, + autopause: !0, + container: v.body, + interval: 1, + globals: !0, + retina: !1, + type: g + }, b = { + 8: 'BACKSPACE', + 9: 'TAB', + 13: 'ENTER', + 16: 'SHIFT', + 27: 'ESCAPE', + 32: 'SPACE', + 37: 'LEFT', + 38: 'UP', + 39: 'RIGHT', + 40: 'DOWN' + }, C = { + CANVAS: g, + WEB_GL: m, + WEBGL: m, + DOM: y, + instances: x, + install: function (e) { + if (!e[f]) { + for (var i = 0; i < d.length; i++) + e[d[i]] = p[d[i]] + r(e, { + TWO_PI: 2 * p.PI, + HALF_PI: p.PI / 2, + QUATER_PI: p.PI / 4, + random: function (e, i) { + return t(e) ? e[~~(p.random() * e.length)] : (n(i) || (i = e || 1, e = 0), e + p.random() * (i - e)) + }, + lerp: function (t, e, n) { + return t + n * (e - t) + }, + map: function (t, e, n, i, o) { + return (t - e) / (n - e) * (o - i) + i + } + }), + e[f] = !0 + } + }, + create: function (t) { + return t = r(t || {}, E), + t.globals && C.install(self), + l = t.element = t.element || v.createElement(t.type === y ? 'div' : 'canvas'), + h = t.context = t.context || function () { + switch (t.type) { + case g: + return l.getContext('2d', t) + case m: + return l.getContext('webgl', t) || l.getContext('experimental-webgl', t) + case y: + return l.canvas = l + } + } + (), + t.container.appendChild(l), + C.augment(h, t) + }, + augment: function (t, e) { + return e = r(e || {}, E), + e.element = t.canvas || t, + e.element.className += ' sketch', + r(t, e, !0), + s(t) + } + }, P = ['ms', 'moz', 'webkit', 'o'], T = self, I = 0, N = 'AnimationFrame', A = 'request' + N, O = 'cancel' + N, k = T[A], S = T[O], L = 0; L < P.length && !k; L++) + k = T[P[L] + 'Request' + N], S = T[P[L] + 'Cancel' + A] + return T[A] = k = k || function (t) { + var e = +new Date, + n = p.max(0, 16 - (e - I)), + i = setTimeout(function () { + t(e + n) + }, n) + return I = e + n, + i + }, + T[O] = S = S || function (t) { + clearTimeout(t) + }, + C + }() + if (document.getElementById('clickCanvas')) { + function e(t, e, n) { + this.init(t, e, n) + } + e.prototype = { + init: function (t, e, n) { + this.alive = !0, + this.radius = n || 10, + this.wander = .15, + this.theta = random(TWO_PI), + this.drag = .92, + this.color = '#ffeb3b', + this.x = t || 0, + this.y = e || 0, + this.vx = 0, + this.vy = 0 + }, + move: function () { + this.x += this.vx, + this.y += this.vy, + this.vx *= this.drag, + this.vy *= this.drag, + this.theta += random( - .5, .5) * this.wander, + this.vx += .1 * sin(this.theta), + this.vy += .1 * cos(this.theta), + this.radius *= .96, + this.alive = this.radius > .5 + }, + draw: function (t) { + t.beginPath(), + t.arc(this.x, this.y, this.radius, 0, TWO_PI), + t.fillStyle = this.color, + t.fill() + } + } + var n = 50, + i = ['#5ee4ff', '#f44033', '#ffeb3b', '#F38630', '#FA6900', '#f403e8', '#F9D423'], + o = [], + r = [], + a = t.create({ + container: document.getElementById('clickCanvas') + }) + a.spawn = function (t, a) { + o.length >= n && r.push(o.shift()), + particle = r.length ? r.pop() : new e, + particle.init(t, a, random(5, 20)), + particle.wander = random(.5, 2), + particle.color = random(i), + particle.drag = random(.9, .99), + theta = random(TWO_PI), + force = random(1, 5), + particle.vx = sin(theta) * force, + particle.vy = cos(theta) * force, + o.push(particle) + }, + a.update = function () { + var t, + e + for (t = o.length - 1; t >= 0; t--) + e = o[t], e.alive ? e.move() : r.push(o.splice(t, 1)[0]) + }, + a.draw = function () { + a.globalCompositeOperation = 'lighter' + for (var t = o.length - 1; t >= 0; t--) + o[t].draw(a) + }, + document.addEventListener('mousedown', function (t) { + var e, n + 'TEXTAREA' !== t.target.nodeName && 'INPUT' !== t.target.nodeName && 'A' !== t.target.nodeName && 'I' !== t.target.nodeName && 'IMG' !== t.target.nodeName && function () { + for (e = random(15, 20), n = 0; n < e; n++) + a.spawn(t.clientX, t.clientY) + } + () + }) + } +}) diff --git a/src/js/cursor/move/bubbleCursor.js b/src/js/cursor/move/bubbleCursor.js new file mode 100644 index 0000000..060e26b --- /dev/null +++ b/src/js/cursor/move/bubbleCursor.js @@ -0,0 +1,151 @@ +function bubbleCursor(options) { + let hasWrapperEl = options && options.element + let element = hasWrapperEl || document.body + + let width = window.innerWidth + let height = window.innerHeight + let cursor = { x: width / 2, y: width / 2 } + let particles = [] + let canvas, context + + let canvImages = [] + + function init(wrapperEl) { + canvas = document.createElement('canvas') + context = canvas.getContext('2d') + + canvas.style.top = '0px' + canvas.style.left = '0px' + canvas.style.pointerEvents = 'none' + + if (hasWrapperEl) { + canvas.style.position = 'absolute' + element.appendChild(canvas) + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.style.position = 'fixed' + document.body.appendChild(canvas) + canvas.width = width + canvas.height = height + } + + bindEvents() + loop() + } + + // Bind events that are needed + function bindEvents() { + element.addEventListener('mousemove', onMouseMove) + element.addEventListener('touchmove', onTouchMove, { passive: true }) + element.addEventListener('touchstart', onTouchMove, { passive: true }) + window.addEventListener('resize', onWindowResize) + } + + function onWindowResize(e) { + width = window.innerWidth + height = window.innerHeight + + if (hasWrapperEl) { + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.width = width + canvas.height = height + } + } + + function onTouchMove(e) { + if (e.touches.length > 0) { + for (let i = 0; i < e.touches.length; i++) { + addParticle( + e.touches[i].clientX, + e.touches[i].clientY, + canvImages[Math.floor(Math.random() * canvImages.length)] + ) + } + } + } + + function onMouseMove(e) { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.clientX - boundingRect.left + cursor.y = e.clientY - boundingRect.top + } else { + cursor.x = e.clientX + cursor.y = e.clientY + } + + addParticle(cursor.x, cursor.y) + } + + function addParticle(x, y, img) { + particles.push(new Particle(x, y, img)) + } + + function updateParticles() { + context.clearRect(0, 0, width, height) + + // Update + for (let i = 0; i < particles.length; i++) { + particles[i].update(context) + } + + // Remove dead particles + for (let i = particles.length - 1; i >= 0; i--) { + if (particles[i].lifeSpan < 0) { + particles.splice(i, 1) + } + } + } + + function loop() { + updateParticles() + requestAnimationFrame(loop) + } + + function Particle(x, y, canvasItem) { + const lifeSpan = Math.floor(Math.random() * 60 + 60) + this.initialLifeSpan = lifeSpan // + this.lifeSpan = lifeSpan //ms + this.velocity = { + x: (Math.random() < 0.5 ? -1 : 1) * (Math.random() / 10), + y: -0.4 + Math.random() * -1, + } + this.position = { x: x, y: y } + this.canv = canvasItem + + this.baseDimension = 4 + + this.update = function(context) { + this.position.x += this.velocity.x + this.position.y += this.velocity.y + this.velocity.x += ((Math.random() < 0.5 ? -1 : 1) * 2) / 75 + this.velocity.y -= Math.random() / 600 + this.lifeSpan-- + + const scale = + 0.2 + (this.initialLifeSpan - this.lifeSpan) / this.initialLifeSpan + + context.fillStyle = '#e6f1f7' + context.strokeStyle = '#3a92c5' + context.beginPath() + context.arc( + this.position.x - (this.baseDimension / 2) * scale, + this.position.y - this.baseDimension / 2, + this.baseDimension * scale, + 0, + 2 * Math.PI + ) + + context.stroke() + context.fill() + + context.closePath() + } + } + + init() +} +new bubbleCursor() \ No newline at end of file diff --git a/src/js/cursor/move/emojiCursor.js b/src/js/cursor/move/emojiCursor.js new file mode 100644 index 0000000..368d9ff --- /dev/null +++ b/src/js/cursor/move/emojiCursor.js @@ -0,0 +1,192 @@ +function emojiCursor(options) { + const possibleEmoji = (options && options.emoji) || ['😀', '😂', '😆', '😊'] + let hasWrapperEl = options && options.element + let element = hasWrapperEl || document.body + + let width = window.innerWidth + let height = window.innerHeight + const cursor = { x: width / 2, y: width / 2 } + const lastPos = { x: width / 2, y: width / 2 } + let lastTimestamp = 0 + const particles = [] + const canvImages = [] + let canvas, context + + function init() { + canvas = document.createElement('canvas') + context = canvas.getContext('2d') + + canvas.style.top = '0px' + canvas.style.left = '0px' + canvas.style.pointerEvents = 'none' + + if (hasWrapperEl) { + canvas.style.position = 'absolute' + element.appendChild(canvas) + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.style.position = 'fixed' + document.body.appendChild(canvas) + canvas.width = width + canvas.height = height + } + + context.font = '21px serif' + context.textBaseline = 'middle' + context.textAlign = 'center' + + possibleEmoji.forEach((emoji) => { + let measurements = context.measureText(emoji) + let bgCanvas = document.createElement('canvas') + let bgContext = bgCanvas.getContext('2d') + + bgCanvas.width = measurements.width + bgCanvas.height = measurements.actualBoundingBoxAscent * 2 + + bgContext.textAlign = 'center' + bgContext.font = '21px serif' + bgContext.textBaseline = 'middle' + bgContext.fillText( + emoji, + bgCanvas.width / 2, + measurements.actualBoundingBoxAscent + ) + + canvImages.push(bgCanvas) + }) + + bindEvents() + loop() + } + + // Bind events that are needed + function bindEvents() { + element.addEventListener('mousemove', onMouseMove, { passive: true }) + element.addEventListener('touchmove', onTouchMove, { passive: true }) + element.addEventListener('touchstart', onTouchMove, { passive: true }) + window.addEventListener('resize', onWindowResize) + } + + function onWindowResize(e) { + width = window.innerWidth + height = window.innerHeight + + if (hasWrapperEl) { + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.width = width + canvas.height = height + } + } + + function onTouchMove(e) { + if (e.touches.length > 0) { + for (let i = 0; i < e.touches.length; i++) { + addParticle( + e.touches[i].clientX, + e.touches[i].clientY, + canvImages[Math.floor(Math.random() * canvImages.length)] + ) + } + } + } + + function onMouseMove(e) { + // Dont run too fast + if (e.timeStamp - lastTimestamp < 16) { + return + } + + window.requestAnimationFrame(() => { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.clientX - boundingRect.left + cursor.y = e.clientY - boundingRect.top + } else { + cursor.x = e.clientX + cursor.y = e.clientY + } + + const distBetweenPoints = Math.hypot( + cursor.x - lastPos.x, + cursor.y - lastPos.y + ) + + if (distBetweenPoints > 1) { + addParticle( + cursor.x, + cursor.y, + canvImages[Math.floor(Math.random() * possibleEmoji.length)] + ) + + lastPos.x = cursor.x + lastPos.y = cursor.y + lastTimestamp = e.timeStamp + } + }) + } + + function addParticle(x, y, img) { + particles.push(new Particle(x, y, img)) + } + + function updateParticles() { + context.clearRect(0, 0, width, height) + + // Update + for (let i = 0; i < particles.length; i++) { + particles[i].update(context) + } + + // Remove dead particles + for (let i = particles.length - 1; i >= 0; i--) { + if (particles[i].lifeSpan < 0) { + particles.splice(i, 1) + } + } + } + + function loop() { + updateParticles() + requestAnimationFrame(loop) + } + + /** + * Particles + */ + + function Particle(x, y, canvasItem) { + const lifeSpan = Math.floor(Math.random() * 60 + 80) + this.initialLifeSpan = lifeSpan // + this.lifeSpan = lifeSpan //ms + this.velocity = { + x: (Math.random() < 0.5 ? -1 : 1) * (Math.random() / 2), + y: Math.random() * 0.4 + 0.8, + } + this.position = { x: x, y: y } + this.canv = canvasItem + + this.update = function(context) { + this.position.x += this.velocity.x + this.position.y += this.velocity.y + this.lifeSpan-- + + this.velocity.y += 0.05 + + const scale = Math.max(this.lifeSpan / this.initialLifeSpan, 0) + + context.drawImage( + this.canv, + this.position.x - (this.canv.width / 2) * scale, + this.position.y - this.canv.height / 2, + this.canv.width * scale, + this.canv.height * scale + ) + } + } + + init() +} +new emojiCursor() \ No newline at end of file diff --git a/src/js/cursor/move/fairyDustCursor.js b/src/js/cursor/move/fairyDustCursor.js new file mode 100644 index 0000000..71b824c --- /dev/null +++ b/src/js/cursor/move/fairyDustCursor.js @@ -0,0 +1,189 @@ +function fairyDustCursor(options) { + let possibleColors = (options && options.colors) || [ + '#D61C59', + '#E7D84B', + '#1B8798', + ] + let hasWrapperEl = options && options.element + let element = hasWrapperEl || document.body + + let width = window.innerWidth + let height = window.innerHeight + const cursor = { x: width / 2, y: width / 2 } + const lastPos = { x: width / 2, y: width / 2 } + const particles = [] + const canvImages = [] + let canvas, context + + const char = '*' + + function init() { + canvas = document.createElement('canvas') + context = canvas.getContext('2d') + canvas.style.top = '0px' + canvas.style.left = '0px' + canvas.style.pointerEvents = 'none' + + if (hasWrapperEl) { + canvas.style.position = 'absolute' + element.appendChild(canvas) + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.style.position = 'fixed' + element.appendChild(canvas) + canvas.width = width + canvas.height = height + } + + context.font = '21px serif' + context.textBaseline = 'middle' + context.textAlign = 'center' + + possibleColors.forEach((color) => { + let measurements = context.measureText(char) + let bgCanvas = document.createElement('canvas') + let bgContext = bgCanvas.getContext('2d') + + bgCanvas.width = measurements.width + bgCanvas.height = + measurements.actualBoundingBoxAscent + + measurements.actualBoundingBoxDescent + + bgContext.fillStyle = color + bgContext.textAlign = 'center' + bgContext.font = '21px serif' + bgContext.textBaseline = 'middle' + bgContext.fillText( + char, + bgCanvas.width / 2, + measurements.actualBoundingBoxAscent + ) + + canvImages.push(bgCanvas) + }) + + bindEvents() + loop() + } + + // Bind events that are needed + function bindEvents() { + element.addEventListener('mousemove', onMouseMove) + element.addEventListener('touchmove', onTouchMove, { passive: true }) + element.addEventListener('touchstart', onTouchMove, { passive: true }) + window.addEventListener('resize', onWindowResize) + } + + function onWindowResize(e) { + width = window.innerWidth + height = window.innerHeight + + if (hasWrapperEl) { + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.width = width + canvas.height = height + } + } + + function onTouchMove(e) { + if (e.touches.length > 0) { + for (let i = 0; i < e.touches.length; i++) { + addParticle( + e.touches[i].clientX, + e.touches[i].clientY, + canvImages[Math.floor(Math.random() * canvImages.length)] + ) + } + } + } + + function onMouseMove(e) { + window.requestAnimationFrame(() => { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.clientX - boundingRect.left + cursor.y = e.clientY - boundingRect.top + } else { + cursor.x = e.clientX + cursor.y = e.clientY + } + + const distBetweenPoints = Math.hypot( + cursor.x - lastPos.x, + cursor.y - lastPos.y + ) + + if (distBetweenPoints > 1.5) { + addParticle( + cursor.x, + cursor.y, + canvImages[Math.floor(Math.random() * possibleColors.length)] + ) + + lastPos.x = cursor.x + lastPos.y = cursor.y + } + }) + } + + function addParticle(x, y, color) { + particles.push(new Particle(x, y, color)) + } + + function updateParticles() { + context.clearRect(0, 0, width, height) + + // Update + for (let i = 0; i < particles.length; i++) { + particles[i].update(context) + } + + // Remove dead particles + for (let i = particles.length - 1; i >= 0; i--) { + if (particles[i].lifeSpan < 0) { + particles.splice(i, 1) + } + } + } + + function loop() { + updateParticles() + requestAnimationFrame(loop) + } + + function Particle(x, y, canvasItem) { + const lifeSpan = Math.floor(Math.random() * 30 + 60) + this.initialLifeSpan = lifeSpan // + this.lifeSpan = lifeSpan //ms + this.velocity = { + x: (Math.random() < 0.5 ? -1 : 1) * (Math.random() / 2), + y: Math.random() * 0.7 + 0.9, + } + this.position = { x: x, y: y } + this.canv = canvasItem + + this.update = function (context) { + this.position.x += this.velocity.x + this.position.y += this.velocity.y + this.lifeSpan-- + + this.velocity.y += 0.02 + + const scale = Math.max(this.lifeSpan / this.initialLifeSpan, 0) + + context.drawImage( + this.canv, + this.position.x - (this.canv.width / 2) * scale, + this.position.y - this.canv.height / 2, + this.canv.width * scale, + this.canv.height * scale + ) + } + } + + init() +} +new fairyDustCursor() diff --git a/src/js/cursor/move/followingDotCursor.js b/src/js/cursor/move/followingDotCursor.js new file mode 100644 index 0000000..4e17168 --- /dev/null +++ b/src/js/cursor/move/followingDotCursor.js @@ -0,0 +1,94 @@ +function followingDotCursor(options) { + let hasWrapperEl = options && options.element + let element = hasWrapperEl || document.body + + let width = window.innerWidth + let height = window.innerHeight + let cursor = { x: width / 2, y: width / 2 } + let dot = new Dot(width / 2, height / 2, 10, 10) + let canvas, context + + function init() { + canvas = document.createElement('canvas') + context = canvas.getContext('2d') + canvas.style.top = '0px' + canvas.style.left = '0px' + canvas.style.pointerEvents = 'none' + + if (hasWrapperEl) { + canvas.style.position = 'absolute' + element.appendChild(canvas) + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.style.position = 'fixed' + document.body.appendChild(canvas) + canvas.width = width + canvas.height = height + } + + bindEvents() + loop() + } + + // Bind events that are needed + function bindEvents() { + element.addEventListener('mousemove', onMouseMove) + window.addEventListener('resize', onWindowResize) + } + + function onWindowResize(e) { + width = window.innerWidth + height = window.innerHeight + + if (hasWrapperEl) { + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.width = width + canvas.height = height + } + } + + function onMouseMove(e) { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.clientX - boundingRect.left + cursor.y = e.clientY - boundingRect.top + } else { + cursor.x = e.clientX + cursor.y = e.clientY + } + } + + function updateDot() { + context.clearRect(0, 0, width, height) + + dot.moveTowards(cursor.x, cursor.y, context) + } + + function loop() { + updateDot() + requestAnimationFrame(loop) + } + + function Dot(x, y, width, lag) { + this.position = { x: x, y: y } + this.width = width + this.lag = lag + + this.moveTowards = function (x, y, context) { + this.position.x += (x - this.position.x) / this.lag + this.position.y += (y - this.position.y) / this.lag + + context.fillStyle = 'rgba(50, 50, 50, 0.65)' + context.beginPath() + context.arc(this.position.x, this.position.y, this.width, 0, 2 * Math.PI) + context.fill() + context.closePath() + } + } + + init() +} +new followingDotCursor() \ No newline at end of file diff --git a/src/js/cursor/move/ghostCursor.js b/src/js/cursor/move/ghostCursor.js new file mode 100644 index 0000000..b00b256 --- /dev/null +++ b/src/js/cursor/move/ghostCursor.js @@ -0,0 +1,132 @@ +function ghostCursor(options) { + let hasWrapperEl = options && options.element + let element = hasWrapperEl || document.body + + let width = window.innerWidth + let height = window.innerHeight + let cursor = { x: width / 2, y: width / 2 } + let particles = [] + let canvas, context + + let baseImage = new Image() + baseImage.src = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg==' + + function init() { + canvas = document.createElement('canvas') + context = canvas.getContext('2d') + canvas.style.top = '0px' + canvas.style.left = '0px' + canvas.style.pointerEvents = 'none' + + if (hasWrapperEl) { + canvas.style.position = 'absolute' + element.appendChild(canvas) + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.style.position = 'fixed' + document.body.appendChild(canvas) + canvas.width = width + canvas.height = height + } + + bindEvents() + loop() + } + + // Bind events that are needed + function bindEvents() { + element.addEventListener('mousemove', onMouseMove) + element.addEventListener('touchmove', onTouchMove, { passive: true }) + element.addEventListener('touchstart', onTouchMove, { passive: true }) + window.addEventListener('resize', onWindowResize) + } + + function onWindowResize(e) { + width = window.innerWidth + height = window.innerHeight + + if (hasWrapperEl) { + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.width = width + canvas.height = height + } + } + + function onTouchMove(e) { + if (e.touches.length > 0) { + for (let i = 0; i < e.touches.length; i++) { + addParticle(e.touches[i].clientX, e.touches[i].clientY, baseImage) + } + } + } + + function onMouseMove(e) { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.clientX - boundingRect.left + cursor.y = e.clientY - boundingRect.top + } else { + cursor.x = e.clientX + cursor.y = e.clientY + } + + addParticle(cursor.x, cursor.y, baseImage) + } + + function addParticle(x, y, image) { + particles.push(new Particle(x, y, image)) + } + + function updateParticles() { + context.clearRect(0, 0, width, height) + + // Update + for (let i = 0; i < particles.length; i++) { + particles[i].update(context) + } + + // Remove dead particles + for (let i = particles.length - 1; i >= 0; i--) { + if (particles[i].lifeSpan < 0) { + particles.splice(i, 1) + } + } + } + + function loop() { + updateParticles() + requestAnimationFrame(loop) + } + + /** + * Particles + */ + + function Particle(x, y, image) { + const lifeSpan = 40 + this.initialLifeSpan = lifeSpan //ms + this.lifeSpan = lifeSpan //ms + this.position = { x: x, y: y } + + this.image = image + + this.update = function (context) { + this.lifeSpan-- + const opacity = Math.max(this.lifeSpan / this.initialLifeSpan, 0) + + context.globalAlpha = opacity + context.drawImage( + this.image, + this.position.x, // - (this.canv.width / 2) * scale, + this.position.y //- this.canv.height / 2, + ) + } + } + + init() +} +new ghostCursor() \ No newline at end of file diff --git a/src/js/cursor/move/snowflakeCursor.js b/src/js/cursor/move/snowflakeCursor.js new file mode 100644 index 0000000..666c17c --- /dev/null +++ b/src/js/cursor/move/snowflakeCursor.js @@ -0,0 +1,183 @@ +function snowflakeCursor(options) { + let hasWrapperEl = options && options.element + let element = hasWrapperEl || document.body + + let possibleEmoji = ['❄️'] + let width = window.innerWidth + let height = window.innerHeight + let cursor = { x: width / 2, y: width / 2 } + let particles = [] + let canvas, context + + let canvImages = [] + + function init() { + canvas = document.createElement('canvas') + context = canvas.getContext('2d') + + canvas.style.top = '0px' + canvas.style.left = '0px' + canvas.style.pointerEvents = 'none' + + if (hasWrapperEl) { + canvas.style.position = 'absolute' + element.appendChild(canvas) + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.style.position = 'fixed' + document.body.appendChild(canvas) + canvas.width = width + canvas.height = height + } + + context.font = '12px serif' + context.textBaseline = 'middle' + context.textAlign = 'center' + + possibleEmoji.forEach((emoji) => { + let measurements = context.measureText(emoji) + let bgCanvas = document.createElement('canvas') + let bgContext = bgCanvas.getContext('2d') + + bgCanvas.width = measurements.width + bgCanvas.height = measurements.actualBoundingBoxAscent * 2 + + bgContext.textAlign = 'center' + bgContext.font = '12px serif' + bgContext.textBaseline = 'middle' + bgContext.fillText( + emoji, + bgCanvas.width / 2, + measurements.actualBoundingBoxAscent + ) + + canvImages.push(bgCanvas) + }) + + bindEvents() + loop() + } + + // Bind events that are needed + function bindEvents() { + element.addEventListener('mousemove', onMouseMove) + element.addEventListener('touchmove', onTouchMove, { passive: true }) + element.addEventListener('touchstart', onTouchMove, { passive: true }) + window.addEventListener('resize', onWindowResize) + } + + function onWindowResize(e) { + width = window.innerWidth + height = window.innerHeight + + if (hasWrapperEl) { + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.width = width + canvas.height = height + } + } + + function onTouchMove(e) { + if (e.touches.length > 0) { + for (let i = 0; i < e.touches.length; i++) { + addParticle( + e.touches[i].clientX, + e.touches[i].clientY, + canvImages[Math.floor(Math.random() * canvImages.length)] + ) + } + } + } + + function onMouseMove(e) { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.clientX - boundingRect.left + cursor.y = e.clientY - boundingRect.top + } else { + cursor.x = e.clientX + cursor.y = e.clientY + } + + addParticle( + cursor.x, + cursor.y, + canvImages[Math.floor(Math.random() * possibleEmoji.length)] + ) + } + + function addParticle(x, y, img) { + particles.push(new Particle(x, y, img)) + } + + function updateParticles() { + context.clearRect(0, 0, width, height) + + // Update + for (let i = 0; i < particles.length; i++) { + particles[i].update(context) + } + + // Remove dead particles + for (let i = particles.length - 1; i >= 0; i--) { + if (particles[i].lifeSpan < 0) { + particles.splice(i, 1) + } + } + } + + function loop() { + updateParticles() + requestAnimationFrame(loop) + } + + /** + * Particles + */ + + function Particle(x, y, canvasItem) { + const lifeSpan = Math.floor(Math.random() * 60 + 80) + this.initialLifeSpan = lifeSpan // + this.lifeSpan = lifeSpan //ms + this.velocity = { + x: (Math.random() < 0.5 ? -1 : 1) * (Math.random() / 2), + y: 1 + Math.random(), + } + this.position = { x: x, y: y } + this.canv = canvasItem + + this.update = function(context) { + this.position.x += this.velocity.x + this.position.y += this.velocity.y + this.lifeSpan-- + + this.velocity.x += ((Math.random() < 0.5 ? -1 : 1) * 2) / 75 + this.velocity.y -= Math.random() / 300 + + const scale = Math.max(this.lifeSpan / this.initialLifeSpan, 0) + + const degrees = 2 * this.lifeSpan + const radians = degrees * 0.0174533 // not perfect but close enough + + context.translate(this.position.x, this.position.y) + context.rotate(radians) + + context.drawImage( + this.canv, + (-this.canv.width / 2) * scale, + -this.canv.height / 2, + this.canv.width * scale, + this.canv.height * scale + ) + + context.rotate(-radians) + context.translate(-this.position.x, -this.position.y) + } + } + + init() +} +new snowflakeCursor() \ No newline at end of file diff --git a/src/js/cursor/move/springyEmojiCursor.js b/src/js/cursor/move/springyEmojiCursor.js new file mode 100644 index 0000000..c11bb14 --- /dev/null +++ b/src/js/cursor/move/springyEmojiCursor.js @@ -0,0 +1,243 @@ +// The springy emoji effect has been translated over from this old +// code, to modern js & canvas +// - http://www.yaldex.com/FSMessages/ElasticBullets.htm +function springyEmojiCursor(options) { + let emoji = (options && options.emoji) || '🤪' + let hasWrapperEl = options && options.element + let element = hasWrapperEl || document.body + + let nDots = 7 + let DELTAT = 0.01 + let SEGLEN = 10 + let SPRINGK = 10 + let MASS = 1 + let GRAVITY = 50 + let RESISTANCE = 10 + let STOPVEL = 0.1 + let STOPACC = 0.1 + let DOTSIZE = 11 + let BOUNCE = 0.7 + + let width = window.innerWidth + let height = window.innerHeight + let cursor = { x: width / 2, y: width / 2 } + let particles = [] + let canvas, context + + let emojiAsImage + + function init() { + canvas = document.createElement('canvas') + context = canvas.getContext('2d') + canvas.style.top = '0px' + canvas.style.left = '0px' + canvas.style.pointerEvents = 'none' + + if (hasWrapperEl) { + canvas.style.position = 'absolute' + element.appendChild(canvas) + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.style.position = 'fixed' + document.body.appendChild(canvas) + canvas.width = width + canvas.height = height + } + + // Save emoji as an image for performance + context.font = '16px serif' + context.textBaseline = 'middle' + context.textAlign = 'center' + + let measurements = context.measureText(emoji) + let bgCanvas = document.createElement('canvas') + let bgContext = bgCanvas.getContext('2d') + + bgCanvas.width = measurements.width + bgCanvas.height = measurements.actualBoundingBoxAscent * 2 + + bgContext.textAlign = 'center' + bgContext.font = '16px serif' + bgContext.textBaseline = 'middle' + bgContext.fillText( + emoji, + bgCanvas.width / 2, + measurements.actualBoundingBoxAscent + ) + + emojiAsImage = bgCanvas + + let i = 0 + for (i = 0; i < nDots; i++) { + particles[i] = new Particle(emojiAsImage) + } + + bindEvents() + loop() + } + + // Bind events that are needed + function bindEvents() { + element.addEventListener('mousemove', onMouseMove) + element.addEventListener('touchmove', onTouchMove, { passive: true }) + element.addEventListener('touchstart', onTouchMove, { passive: true }) + window.addEventListener('resize', onWindowResize) + } + + function onWindowResize(e) { + width = window.innerWidth + height = window.innerHeight + + if (hasWrapperEl) { + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.width = width + canvas.height = height + } + } + + function onTouchMove(e) { + if (e.touches.length > 0) { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.touches[0].clientX - boundingRect.left + cursor.y = e.touches[0].clientY - boundingRect.top + } else { + cursor.x = e.touches[0].clientX + cursor.y = e.touches[0].clientY + } + } + } + + function onMouseMove(e) { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.clientX - boundingRect.left + cursor.y = e.clientY - boundingRect.top + } else { + cursor.x = e.clientX + cursor.y = e.clientY + } + } + + function updateParticles() { + // eslint-disable-next-line no-self-assign + canvas.width = canvas.width + + // follow mouse + particles[0].position.x = cursor.x + particles[0].position.y = cursor.y + + // Start from 2nd dot + for (i = 1; i < nDots; i++) { + let spring = new vec(0, 0) + + if (i > 0) { + springForce(i - 1, i, spring) + } + + if (i < nDots - 1) { + springForce(i + 1, i, spring) + } + + let resist = new vec( + -particles[i].velocity.x * RESISTANCE, + -particles[i].velocity.y * RESISTANCE + ) + + let accel = new vec( + (spring.X + resist.X) / MASS, + (spring.Y + resist.Y) / MASS + GRAVITY + ) + + particles[i].velocity.x += DELTAT * accel.X + particles[i].velocity.y += DELTAT * accel.Y + + if ( + Math.abs(particles[i].velocity.x) < STOPVEL && + Math.abs(particles[i].velocity.y) < STOPVEL && + Math.abs(accel.X) < STOPACC && + Math.abs(accel.Y) < STOPACC + ) { + particles[i].velocity.x = 0 + particles[i].velocity.y = 0 + } + + particles[i].position.x += particles[i].velocity.x + particles[i].position.y += particles[i].velocity.y + + let height, width + height = canvas.clientHeight + width = canvas.clientWidth + + if (particles[i].position.y >= height - DOTSIZE - 1) { + if (particles[i].velocity.y > 0) { + particles[i].velocity.y = BOUNCE * -particles[i].velocity.y + } + particles[i].position.y = height - DOTSIZE - 1 + } + + if (particles[i].position.x >= width - DOTSIZE) { + if (particles[i].velocity.x > 0) { + particles[i].velocity.x = BOUNCE * -particles[i].velocity.x + } + particles[i].position.x = width - DOTSIZE - 1 + } + + if (particles[i].position.x < 0) { + if (particles[i].velocity.x < 0) { + particles[i].velocity.x = BOUNCE * -particles[i].velocity.x + } + particles[i].position.x = 0 + } + + particles[i].draw(context) + } + } + + function loop() { + updateParticles() + requestAnimationFrame(loop) + } + + function vec(X, Y) { + this.X = X + this.Y = Y + } + + function springForce(i, j, spring) { + let dx = particles[i].position.x - particles[j].position.x + let dy = particles[i].position.y - particles[j].position.y + let len = Math.sqrt(dx * dx + dy * dy) + if (len > SEGLEN) { + let springF = SPRINGK * (len - SEGLEN) + spring.X += (dx / len) * springF + spring.Y += (dy / len) * springF + } + } + + function Particle(canvasItem) { + this.position = { x: cursor.x, y: cursor.y } + this.velocity = { + x: 0, + y: 0, + } + + this.canv = canvasItem + + this.draw = function(context) { + context.drawImage( + this.canv, + this.position.x - this.canv.width / 2, + this.position.y - this.canv.height / 2, + this.canv.width, + this.canv.height + ) + } + } + + init() +} +new springyEmojiCursor() \ No newline at end of file diff --git a/src/js/cursor/move/trailingCursor.js b/src/js/cursor/move/trailingCursor.js new file mode 100644 index 0000000..1f81689 --- /dev/null +++ b/src/js/cursor/move/trailingCursor.js @@ -0,0 +1,126 @@ +// The trailing cursor's easing has bene pulled from this demo +// - https://codepen.io/jakedeakin/full/MWKQVxX + +function trailingCursor(options) { + let hasWrapperEl = options && options.element + let element = hasWrapperEl || document.body + + let width = window.innerWidth + let height = window.innerHeight + let cursor = { x: width / 2, y: width / 2 } + let particles = [] + let canvas, context + + const totalParticles = options.particles || 15 + let cursorsInitted = false + + let baseImage = new Image() + baseImage.src = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg==' + + function init() { + canvas = document.createElement('canvas') + context = canvas.getContext('2d') + canvas.style.top = '0px' + canvas.style.left = '0px' + canvas.style.pointerEvents = 'none' + + if (hasWrapperEl) { + canvas.style.position = 'absolute' + element.appendChild(canvas) + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.style.position = 'fixed' + document.body.appendChild(canvas) + canvas.width = width + canvas.height = height + } + + bindEvents() + loop() + } + + // Bind events that are needed + function bindEvents() { + element.addEventListener('mousemove', onMouseMove) + window.addEventListener('resize', onWindowResize) + } + + function onWindowResize(e) { + width = window.innerWidth + height = window.innerHeight + + if (hasWrapperEl) { + canvas.width = element.clientWidth + canvas.height = element.clientHeight + } else { + canvas.width = width + canvas.height = height + } + } + + function onMouseMove(e) { + if (hasWrapperEl) { + const boundingRect = element.getBoundingClientRect() + cursor.x = e.clientX - boundingRect.left + cursor.y = e.clientY - boundingRect.top + } else { + cursor.x = e.clientX + cursor.y = e.clientY + } + + if (cursorsInitted === false) { + cursorsInitted = true + for (let i = 0; i < totalParticles; i++) { + addParticle(cursor.x, cursor.y, baseImage) + } + } + } + + function addParticle(x, y, image) { + particles.push(new Particle(x, y, image)) + } + + function updateParticles() { + context.clearRect(0, 0, width, height) + + let x = cursor.x + let y = cursor.y + + particles.forEach(function (particle, index, particles) { + let nextParticle = particles[index + 1] || particles[0] + + particle.position.x = x + particle.position.y = y + particle.move(context) + x += (nextParticle.position.x - particle.position.x) * 0.4 + y += (nextParticle.position.y - particle.position.y) * 0.4 + }) + } + + function loop() { + updateParticles() + requestAnimationFrame(loop) + } + + /** + * Particles + */ + + function Particle(x, y, image) { + this.position = { x: x, y: y } + this.image = image + + this.move = function (context) { + context.drawImage( + this.image, + this.position.x, // - (this.canv.width / 2) * scale, + this.position.y //- this.canv.height / 2, + ) + } + } + + init() +} +new trailingCursor() \ No newline at end of file diff --git a/src/js/dprogress.js b/src/js/dprogress.js new file mode 100644 index 0000000..28cd4c8 --- /dev/null +++ b/src/js/dprogress.js @@ -0,0 +1,160 @@ +(function() { + var DProgress = {} + + var Settings = DProgress.settings = { + minimum: 0.08, // 最小值 + easing: 'linear', // 动画规律 + speed: 400, // 动画速度 + trickle: true, // 开启自动增量 + trickleSpeed: 200, // 缓慢增量 + parent: 'body', + template: '
    ' + } + + /** + * Updates configuration. + * + * DProgress.configure({ + * minimum: 0.1 + * }); + */ + DProgress.configure = function(options) { + var key, value + for (key in options) { + value = options[key] + // eslint-disable-next-line no-prototype-builtins + if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value + } + + return this + } + + /** + * 进度状态,0-1 + */ + + DProgress.status = null + + function clamp(n, min, max) { + if (n < min) return min + if (n > max) return max + return n + } + + /** + * 开始进度条 + * + * DProgress.start(); + * + */ + DProgress.start = function() { + if (!DProgress.status) DProgress.set(0) + $('#dprogress').show() + + var work = function() { + setTimeout(function() { + if (!DProgress.status ||DProgress.status === 1) return + DProgress.trickle() + work() + }, Settings.trickleSpeed) + } + + if (Settings.trickle) work() + + return this + } + + /** + * 缓慢增量 + * @returns {undefined} + */ + DProgress.trickle = function() { + return DProgress.inc() + } + + /** + * 增量 + */ + DProgress.inc = function(amount) { + var n = DProgress.status + + if (!n) { + return DProgress.start() + // eslint-disable-next-line no-empty + } else if(n >= 1) { + + } else { + if (typeof amount !== 'number') { + if (n >= 0 && n < 0.2) { amount = 0.1 } + else if (n >= 0.2 && n < 0.5) { amount = 0.04 } + else if (n >= 0.5 && n < 0.8) { amount = 0.02 } + else if (n >= 0.8 && n < 0.98) { amount = 0.005 } + else { amount = 0 } + } + + n = clamp(n + amount, 0, 0.98) + return DProgress.set(n) + } + } + + /** + * 设置进度状态 `0.0` to `1.0`. + * + * DProgress.set(0.4); + * DProgress.set(1.0); + */ + DProgress.set = function(n) { + + DProgress.status = clamp(n, Settings.minimum, 1) + + var progress = document.getElementById('dprogress') + if (!progress) { + progress = document.createElement('div') + progress.id = 'dprogress' + progress.innerHTML = Settings.template + var bar = $(progress.querySelector('.bar')) + bar.css('transition', `all ${Settings.speed}ms ${Settings.easing}`) + if (DreamConfig.load_progress === 'center') { + bar.css('margin', 'auto') + } + $(Settings.parent).prepend(progress) + } + progress.querySelector('.bar').style.width = `${n * 100}%` + + return this + } + + /** + * 进度条是否已经开始 + * @returns {boolean} + */ + DProgress.isStarted = function() { + return typeof DProgress.status === 'number' + } + + /** + * 完成进度条 + * @param force + * @returns {DProgress|*} + */ + DProgress.done = function() { + DProgress.inc(0.3 + 0.5 * Math.random()).set(1) + + setTimeout(function() { + $('#dprogress').hide() + DProgress.status = undefined + }, Settings.speed) + return this + } + + /** + * 检查进度条是否显示 + */ + + DProgress.isRendered = function() { + return !!document.getElementById('dprogress') + } + + + window.DProgress = DProgress +})() \ No newline at end of file diff --git a/src/js/dshare.js b/src/js/dshare.js new file mode 100644 index 0000000..a453668 --- /dev/null +++ b/src/js/dshare.js @@ -0,0 +1,191 @@ +import QRCode from 'qrcode' +import html2canvas from 'html2canvas' + +const channels = { + qq: { + name: 'QQ', + template: 'http://connect.qq.com/widget/shareqq/index.html?url={{URL}}&title={{TITLE}}&source={{SOURCE}}&desc={{DESCRIPTION}}&pics={{IMAGE}}&summary={{SUMMARY}}' + }, + qzone: { + name: 'QQ空间', + template: 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={{URL}}&title={{TITLE}}&desc={{DESCRIPTION}}&summary={{SUMMARY}}&site={{SOURCE}}&pics={{IMAGE}}' + }, + wechat: { + name: '微信' + }, + weibo: { + name: '新浪微博', + template: 'https://service.weibo.com/share/share.php?url={{URL}}&title={{TITLE}}&pic={{IMAGE}}&appkey={{KEY}}' + }, + douban: { + name: '豆瓣', + template: 'http://shuo.douban.com/!service/share?href={{URL}}&name={{TITLE}}&text={{DESCRIPTION}}&image={{IMAGE}}&starid=0&aid=0&style=11' + }, + linkedin: { + name: 'Linkedin', + template: 'http://www.linkedin.com/shareArticle?mini=true&ro=true&title={{TITLE}}&url={{URL}}&summary={{SUMMARY}}&source={{SOURCE}}&armin=armin' + }, + facebook: { + name: 'FaceBook', + template: 'https://www.facebook.com/sharer/sharer.php?u={{URL}}' + }, + twitter: { + name: 'Twitter', + template: 'https://twitter.com/intent/tweet?text={{TITLE}}&url={{URL}}&via={{ORIGIN}}' + }, + google: { + name: 'Google', + template: 'https://plus.google.com/share?url={{URL}}' + }, + link: { + name: '复制链接' + }, + poster: { + name: '海报' + } +} + +function defaultConfig() { + return { + url: location.href, + origin: location.origin, + source: getMetaContentByName('site') || getMetaContentByName('Site') || document.title, + title: getMetaContentByName('title') || getMetaContentByName('Title') || document.title, + description: getMetaContentByName('description') || getMetaContentByName('Description') || '', + // 图片url + image: undefined, + // 图片或者图片所在的容器的选择器 + imageSelector: undefined, + weiboKey: '', + sites: ['qq', 'qzone', 'wechat', 'weibo', 'douban', 'linkedin', 'facebook', 'twitter', 'google', 'link', 'poster'] + } +} + +let linkCopy + +window.DShare = { + create(element, options) { + const $body = $('body') + $body.off('click', '.icon-poster') + linkCopy && linkCopy.destroy() + const config = buildConfig(options) + element = $(element) + element.addClass('dshare-container') + for (let site of config.sites) { + let clazz = 'icon-' + site + element.append(``) + } + config.sites.indexOf('wechat') !== -1 && createWechatShare(config, element) + if(config.sites.indexOf('link') !== -1){ + linkCopy = new ClipboardJS('.icon-link', {text: () => config.url}) + .on('error', () => Qmsg.error('您的浏览器不支持复制')) + .on('success', () => Qmsg.success('链接复制成功')) + } + config.sites.indexOf('poster') !== -1 && $body.on('click', '.icon-poster', () => triggerPosterShare(config)) + }, + /** + * 海报方式分享 + * @param options + */ + sharePoster(options) { + triggerPosterShare(buildConfig(options)) + } +} + +/** + * 创建微信分享 + * @param config 配置 + * @param element 实体 + */ +function createWechatShare(config, element) { + QRCode.toDataURL(config.url, { width: 140}) + .then(data => { + element.find('.icon-wechat').append(`

    微信扫一扫:分享

    微信分享
    `) + }) +} + +/** + * 触发海报方式分享 + */ +function triggerPosterShare(config) { + QRCode.toDataURL(config.url) + .then(data => { + $('body').append(`
    ${ + config.image ? `
    ${config.title}封面
    ` : '' + }${config.title !== '' ? `

    ${config.title}

    ` : '' + }

    ${config.description}

    `) + let $posterCrad = $('.dshare-poster-crad') + $posterCrad.click(e => e.stopPropagation()) + $('.dshare-poster-download').click(e => { + e.stopPropagation() + let divWidth = $posterCrad.outerWidth() + let divHeight =$posterCrad.outerHeight() + html2canvas($posterCrad[0], {height: divHeight, width: divWidth, useCORS: true, scale: 2, onclone(doc){ + doc.getElementsByClassName('dshare-poster-crad')[0].style['transform'] = 'none' + doc.getElementsByClassName('dshare-poster-crad')[0].style['border-radius'] = 0 + }}) + .then((canvas) => { + let a = document.createElement('a') + a.href= canvas.toDataURL('image/png') + a.download = `share-${new Date().getTime()}.png` + a.click() + $('.dshare-poster').click() + }) + }) + } + ) +} + +/** + * 创建配置 + * @param options + * @returns {*} + */ +function buildConfig(options) { + const config = Object.assign(defaultConfig(), options) + if (!config.summary) { + config.summary = config.description + } + if (!config.image && config.imageSelector) { + let selector = $(config.imageSelector) + config.image = selector.filter('img[src]').first().attr('src') || selector.find('img[src]').first().attr('src') + } + if (config.image) { + if (config.image.substring(0, 2) === '//') { + config.image = location.protocol + config.image + } else if (config.image.substring(0, 1) === '/') { + config.image = location.origin + config.image + } + } + return config +} + +/** + * 获取元元素内容值 + * + * @param {String} name + * + * @returns {String|*} + */ +function getMetaContentByName(name) { + return (document.getElementsByName(name)[0] || 0).content +} + +/** + * 创建网站的url + * + * @param {String} site + * @param {Object} config + * + * @returns {String} + */ +function makeUrl(site, config) { + let channel = channels[site] + return channel.template.replace(/\{\{(\w)(\w*)\}\}/g, function (m, fix, key) { + let nameKey = site + fix + key.toLowerCase() + key = (fix + key).toLowerCase() + + return encodeURIComponent((config[nameKey] === undefined ? config[key] : config[nameKey]) || '') + }) +} \ No newline at end of file diff --git a/src/js/effects/circleMagic.js b/src/js/effects/circleMagic.js new file mode 100644 index 0000000..9f1cb64 --- /dev/null +++ b/src/js/effects/circleMagic.js @@ -0,0 +1,138 @@ +(function ($) { + $.fn.circleMagic = function (options) { + + let width, height, canvas, ctx, animateHeader = true + const circles = [] + + const settings = $.extend({ + color: 'rgba(255,255,255,.5)', + radius: 10, + density: 0.3, + clearOffset: 0.2, + mode: 'all' + }, options) + + // Main + + var container = this['0'] + initContainer() + addListeners() + + function initContainer() { + width = window.innerWidth + height = window.innerHeight + + // create canvas element + + canvas = initCanvas() + canvas.width = width + canvas.height = height + ctx = canvas.getContext('2d') + + // create circles + for (let x = 0; x < width * settings.density; x++) { + const c = new Circle() + circles.push(c) + } + animate() + } + + //Init canvas element + function initCanvas() { + const canvasElement = document.createElement('canvas') + canvasElement.setAttribute('class', `canvas_effects ${settings.mode}`) + container.prepend(canvasElement) + return canvasElement + } + + // Event handling + function addListeners() { + window.addEventListener('scroll', scrollCheck, false) + window.addEventListener('resize', resize, false) + } + + function scrollCheck() { + if (document.body.scrollTop > height) { + animateHeader = false + } + else { + animateHeader = true + } + } + + function resize() { + width = window.innerWidth + height = window.innerHeight + canvas.width = width + canvas.height = height + } + + function animate() { + const isNight = document.documentElement.classList.contains('night') + if (settings.mode === 'all' || (settings.mode === 'day' && !isNight) || (settings.mode === 'night' && isNight)) { + if (animateHeader) { + ctx.clearRect(0, 0, width, height) + for (const i in circles) { + circles[i].draw() + } + } + } + requestAnimationFrame(animate) + } + + function randomColor() { + var r = Math.floor(Math.random() * 255) + var g = Math.floor(Math.random() * 255) + var b = Math.floor(Math.random() * 255) + var alpha = Math.random().toPrecision(2) + return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + alpha + ')' + } + + // Canvas manipulation + + function Circle() { + var that = this; + + // constructor + (function () { + that.pos = {} + init() + })() + + function init() { + that.pos.x = Math.random() * width + that.pos.y = height + Math.random() * 100 + that.alpha = 0.1 + Math.random() * settings.clearOffset + that.scale = 0.1 + Math.random() * 0.3 + that.speed = Math.random() + if (settings.color === 'random') { + that.color = randomColor() + } + else { + that.color = settings.color + } + } + + this.draw = function () { + if (that.alpha <= 0) { + init() + } + that.pos.y -= that.speed + that.alpha -= 0.0005 + ctx.beginPath() + ctx.arc(that.pos.x, that.pos.y, that.scale * settings.radius, 0, 2 * Math.PI, false) + ctx.fillStyle = that.color + ctx.fill() + ctx.closePath() + } + } + } + $('body').circleMagic({ + radius: 35, + density: 0.3, + color: 'rgba(255,255,255, .4)', + //color: 'random', + clearOffset: 0.3, + mode: DreamConfig.effects_circle_magic_mode + }) +})(jQuery) \ No newline at end of file diff --git a/src/js/effects/sakura.js b/src/js/effects/sakura.js new file mode 100644 index 0000000..59845d3 --- /dev/null +++ b/src/js/effects/sakura.js @@ -0,0 +1,153 @@ +(function () { + let stop, staticx + const mode = DreamConfig.effects_sakura_mode + const canvas = document.createElement('canvas') + const img = new Image() + img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUgAAAEwCAYAAADVZeifAAAACXBIWXMAAACYAAAAmAGiyIKYAAAHG2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBSaWdodHM9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9yaWdodHMvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcFJpZ2h0czpNYXJrZWQ9IkZhbHNlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NDFDMjQxQjYyNjIwNjgxMTgwODNEMjE2MDAzOTU1NDQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNDVjOWViOC04NDc4LTFkNDctOGRjMi0yZDkyOGNhYTYxZWQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YjAzN2ZiMGItNTU5Mi0xYjRkLWJjZGQtOWU4NGExMDJiMGM2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTA1LTA5VDE0OjQ5OjM3KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0wNS0wOVQxNDo1MToyNSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0wNS0wOVQxNDo1MToyNSswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyMjVlZWE3LTEyY2QtMTY0NC04ZDAzLWFjOTE2ZTAxZDQ1YyIgc3RSZWY6ZG9jdW1lbnRJRD0idXVpZDoxRDIwNUFGNjZCRDlFNTExOUM5REMwMzg2RjlEQjFGNyIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphYmMzNjIzMy1hOWNkLWNiNDQtODViYi0zZTgyMjEwYmIxMjYiIHN0RXZ0OndoZW49IjIwMTgtMDUtMDlUMTQ6NTE6MjUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjAzN2ZiMGItNTU5Mi0xYjRkLWJjZGQtOWU4NGExMDJiMGM2IiBzdEV2dDp3aGVuPSIyMDE4LTA1LTA5VDE0OjUxOjI1KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2Vx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' + + function Sakura(x, y, s, r, fn) { + this.x = x + this.y = y + this.s = s + this.r = r + this.fn = fn + } + + Sakura.prototype.draw = function (cxt) { + cxt.save() + var xc = 40 * this.s / 4 + cxt.translate(this.x, this.y) + cxt.rotate(this.r) + cxt.drawImage(img, 0, 0, 40 * this.s, 40 * this.s) + cxt.restore() + } + Sakura.prototype.update = function () { + this.x = this.fn.x(this.x, this.y) + this.y = this.fn.y(this.y, this.y) + this.r = this.fn.r(this.r) + if (this.x > window.innerWidth || this.x < 0 || this.y > window.innerHeight || this.y < 0) { + this.r = getRandom('fnr') + if (Math.random() > 0.4) { + this.x = getRandom('x') + this.y = 0 + this.s = getRandom('s') + this.r = getRandom('r') + } else { + this.x = window.innerWidth + this.y = getRandom('y') + this.s = getRandom('s') + this.r = getRandom('r') + } + } + } + SakuraList = function () { + this.list = [] + } + SakuraList.prototype.push = function (sakura) { + this.list.push(sakura) + } + SakuraList.prototype.update = function () { + for (var i = 0, len = this.list.length; i < len; i++) { + this.list[i].update() + } + } + SakuraList.prototype.draw = function (cxt) { + for (var i = 0, len = this.list.length; i < len; i++) { + this.list[i].draw(cxt) + } + } + SakuraList.prototype.get = function (i) { + return this.list[i] + } + SakuraList.prototype.size = function () { + return this.list.length + } + + function getRandom(option) { + var ret, random + switch (option) { + case 'x': + ret = Math.random() * window.innerWidth + break + case 'y': + ret = Math.random() * window.innerHeight + break + case 's': + ret = Math.random() + break + case 'r': + ret = Math.random() * 6 + break + case 'fnx': + random = -0.5 + Math.random() * 1 + ret = function (x, y) { + return x + 0.5 * random - 1.7 + } + break + case 'fny': + random = 1.5 + Math.random() * 0.7 + ret = function (x, y) { + return y + random + } + break + case 'fnr': + random = Math.random() * 0.03 + ret = function (r) { + return r + random + } + break + } + return ret + } + + function startSakura() { + let requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame + staticx = true + canvas.height = window.innerHeight + canvas.width = window.innerWidth + canvas.setAttribute('class', `canvas_effects ${mode}`) + document.getElementsByTagName('body')[0].appendChild(canvas) + const cxt = canvas.getContext('2d') + const sakuraList = new SakuraList() + for (var i = 0; i < 50; i++) { + var sakura, randomX, randomY, randomS, randomR, randomFnx, randomFny + randomX = getRandom('x') + randomY = getRandom('y') + randomR = getRandom('r') + randomS = getRandom('s') + randomFnx = getRandom('fnx') + randomFny = getRandom('fny') + randomFnR = getRandom('fnr') + sakura = new Sakura(randomX, randomY, randomS, randomR, {x: randomFnx, y: randomFny, r: randomFnR}) + sakura.draw(cxt) + sakuraList.push(sakura) + } + stop = requestAnimationFrame(function () { + const isNight = document.documentElement.classList.contains('night') + if (mode === 'all' || (mode === 'day' && !isNight) || (mode === 'night' && isNight)) { + cxt.clearRect(0, 0, canvas.width, canvas.height) + sakuraList.update() + sakuraList.draw(cxt) + } + stop = requestAnimationFrame(arguments.callee) + }) + } + + window.onresize = function () { + canvas.height = window.innerHeight + canvas.width = window.innerWidth + } + img.onload = function () { + startSakura() + } + + function stopp() { + if (staticx) { + canvas.parentNode.removeChild(canvas) + window.cancelAnimationFrame(stop) + staticx = false + } else { + startSakura() + } + } +}()) \ No newline at end of file diff --git a/src/js/effects/universe.js b/src/js/effects/universe.js new file mode 100644 index 0000000..27015c1 --- /dev/null +++ b/src/js/effects/universe.js @@ -0,0 +1,153 @@ +/** + * created by lvfan + * 2018-09-04 + */ +(function drawBg() { + window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || + window.webkitRequestAnimationFrame || window.msRequestAnimationFrame + // const + const starDensity = 0.216 + const speedCoeff = 0.05 + const mode = DreamConfig.effects_universe_mode + const canvas = document.createElement('canvas') + + // let + let width + let height + let starCount + /* no-unused-vars */ + // let circleRadius; + // let circleCenter; + let first = true + const giantColor = '180,184,240' + const starColor = '226,225,142' + const cometColor = '226,225,224' + const stars = [] + let universe + + windowResizeHandler() + window.addEventListener('resize', windowResizeHandler, false) + + function windowResizeHandler() { + width = window.innerWidth + height = window.innerHeight + starCount = width * starDensity + // circleRadius = (width > height ? height / 2 : width / 2); + // circleCenter = { + // x: width / 2, + // y: height / 2 + // }; + canvas.setAttribute('width', width) + canvas.setAttribute('height', height) + canvas.setAttribute('class', `canvas_effects ${mode}`) + document.body.insertBefore(canvas, document.body.firstChild) + } + + createUniverse() + + function createUniverse() { + universe = canvas.getContext('2d') + for (var i = 0; i < starCount; i++) { + stars[i] = new Star() + stars[i].reset() + } + draw() + } + + function draw() { + universe.clearRect(0, 0, width, height) + var starsLength = stars.length + for (var i = 0; i < starsLength; i++) { + var star = stars[i] + star.move() + star.fadeIn() + star.fadeOut() + star.draw() + } + } + + function Star() { + this.reset = function () { + this.giant = getProbability(3) + this.comet = this.giant || first ? false : getProbability(10) + this.x = getRandInterval(0, width - 10) + this.y = getRandInterval(0, height) + this.r = getRandInterval(1.1, 2.6) + this.dx = getRandInterval(speedCoeff, 6 * speedCoeff) + (this.comet + 1 - 1) * speedCoeff * getRandInterval(50, 120) + speedCoeff * 2 + this.dy = -getRandInterval(speedCoeff, 6 * speedCoeff) - (this.comet + 1 - 1) * speedCoeff * getRandInterval(50, 120) + this.fadingOut = null + this.fadingIn = true + this.opacity = 0 + this.opacityTresh = getRandInterval(0.2, 1 - (this.comet + 1 - 1) * 0.4) + this.do = getRandInterval(0.0005, 0.002) + (this.comet + 1 - 1) * 0.001 + } + this.fadeIn = function () { + if (this.fadingIn) { + this.fadingIn = !(this.opacity > this.opacityTresh) + this.opacity += this.do + } + } + this.fadeOut = function () { + if (this.fadingOut) { + this.fadingOut = !(this.opacity < 0) + this.opacity -= this.do / 2 + if (this.x > width || this.y < 0) { + this.fadingOut = false + this.reset() + } + } + } + this.draw = function () { + universe.beginPath() + if (this.giant) { + universe.fillStyle = 'rgba(' + giantColor + ',' + this.opacity + ')' + universe.arc(this.x, this.y, 2, 0, 2 * Math.PI, false) + } else if (this.comet) { + universe.fillStyle = 'rgba(' + cometColor + ',' + this.opacity + ')' + universe.arc(this.x, this.y, 1.5, 0, 2 * Math.PI, false) + // comet tail + for (var i = 0; i < 30; i++) { + universe.fillStyle = 'rgba(' + cometColor + ',' + (this.opacity - (this.opacity / 20) * i) + ')' + universe.rect(this.x - this.dx / 4 * i, this.y - this.dy / 4 * i - 2, 2, 2) + universe.fill() + } + } else { + universe.fillStyle = 'rgba(' + starColor + ',' + this.opacity + ')' + universe.rect(this.x, this.y, this.r, this.r) + } + universe.closePath() + universe.fill() + } + this.move = function () { + this.x += this.dx + this.y += this.dy + if (this.fadingOut === false) { + this.reset() + } + if (this.x > width - (width / 4) || this.y < 0) { + this.fadingOut = true + } + }; + (function () { + setTimeout(function () { + first = false + }, 50) + })() + } + + function getProbability(percents) { + return ((Math.floor(Math.random() * 1000) + 1) < percents * 10) + } + + function getRandInterval(min, max) { + return (Math.random() * (max - min) + min) + } + + (function drawIfNeeded() { + const isNight = document.documentElement.classList.contains('night') + if (canvas.classList.contains('all') || (canvas.classList.contains('day') && !isNight) || (canvas.classList.contains('night') && isNight)) { + draw() + } + window.requestAnimationFrame(drawIfNeeded) + })() +}()) \ No newline at end of file diff --git a/src/js/journals.js b/src/js/journals.js new file mode 100644 index 0000000..f60ddc3 --- /dev/null +++ b/src/js/journals.js @@ -0,0 +1,58 @@ +let journalContextInitial = false +const journalContext = { + /* 初始化事件 */ + initEvent() { + if (journalContextInitial) return + let $body = $('body') + // 展开和关闭评论区事件 + $body.on('click', '.journal .comment', function () { + $(this).parent().parent().siblings('.journal-comment').stop().slideToggle(200) + }) + // 折叠日志区域 + $body.on('click', '.journal-content>.expand-done', function () { + Utils.foldBlock($(this).parent()) + }) + $body.on('click', '.journal-operation-item>.share', function () { + let $journal = $(this).parents('.journal') + let title = '动态: ' + $journal.find('.journal-date>em').text() + let desc = $journal.children('.journal-content').children('.main-content').text() + DShare.sharePoster({ + image: DreamConfig.journals_share_image, + title: title, + description: desc.length > 220 ? desc.substring(0, 220) + '...' :desc + }) + }) + Utils.initLikeEvent('.journal .like', 'journals', ($elem) => $elem.next()) + journalContextInitial = true + }, + /* 点赞 */ + initLike() { + Utils.initLikeButton('.journal .like', 'journals') + }, + /* 折叠日志区域 */ + foldJournals() { + const $journals = $('.journal .journal-content') + $journals.each(function () { + const $this = $(this) + if (this.scrollHeight >= DreamConfig.journals_fold_height) { + $this.append('
    ') + } else { + $this.removeClass('fold') + } + }) + }, +} +window.journalPjax = function (serialNumber) { + if ($('.card.journal').length === 0) return + Object.keys(journalContext).forEach( + (c) => window.pjaxSerialNumber === serialNumber && journalContext[c]() + ) +} +!(function () { + !window.pjaxSerialNumber && journalContext.initEvent() + !window.pjaxSerialNumber && journalContext.initLike() + + document.addEventListener('DOMContentLoaded', function () { + !window.pjaxSerialNumber && journalContext.foldJournals() + }) +})() \ No newline at end of file diff --git a/src/js/mew-custom.js b/src/js/mew-custom.js new file mode 100644 index 0000000..ff96821 --- /dev/null +++ b/src/js/mew-custom.js @@ -0,0 +1,459 @@ +class MewElement extends HTMLElement { + constructor() { + super() + if (this.hasAttribute('draw')) return + this.init() + } + + drawComplete() { + this.setAttribute('draw', true) + } +} + +document.addEventListener('DOMContentLoaded', () => { + customElements.define( + 'mew-hide', + class MewHide extends MewElement { + init() { + let $this = $(this) + const $mainContent = $this.closest('.main-content') + this.options = { + target: $mainContent.attr('data-target'), + id: $mainContent.attr('data-id') + } + if (this.options.target && this.options.id) { + let commentIds = localStorage.getItem(window.encrypt('mew-hide-' + this.options.target)) + commentIds = commentIds ? JSON.parse(window.decrypt(commentIds)) : [] + if (commentIds.includes(this.options.id)) { + $this.before(this.innerHTML) + $this.remove() + } else { + let isToc = $this.find('h1,h2,h3,h4,h5').length !== 0 + this.setAttribute('hide', window.encrypt(this.innerHTML)) + this.innerHTML = '' + if(isToc) { + this.setAttribute('toc', true) + commonContext.initTocAndNotice() + } + this.onclick = function () { + let $haloComment = $(`halo-comment[id='${this.options.id}'][type='${this.options.target.substring(0, this.options.target.length - 1)}']`) + if ($haloComment.length === 0 || $haloComment.is(':hidden')) { + return + } + Utils.animateScroll($haloComment[0], 20, (window.innerHeight || document.documentElement.clientHeight) / 4) + } + } + } + this.drawComplete() + } + } + ) + + customElements.define( + 'mew-subtitle', + class MewSubtitle extends MewElement { + init() { + this.innerHTML = `${this.innerText || '默认标题'}` + this.drawComplete() + } + } + ) + + customElements.define( + 'mew-music', + class MewMusic extends HTMLElement { + + constructor() { + super() + this.innerHTML = '音乐播放器加载中...' + this.options = { + container: this, + theme: this.getAttribute('theme') || 'var(--theme)', + loop: this.getAttribute('loop') || 'all', + autoplay: this.hasAttribute('autoplay') && this.getAttribute('autoplay') !== 'false', + lrcType: 3, + } + if (!('APlayer' in window)) { + if (!MewMusic.prototype.load) { + MewMusic.prototype.load = true + MewMusic.prototype.await = [] + new Promise((resolve) => { + const $head = $('head') + $head.append('') + Utils.cachedScript('https://unpkg.com/aplayer@1.10.1/dist/APlayer.min.js') + .done(() => resolve()) + .fail(() => resolve()) + }).then(() => { + this.render() + MewMusic.prototype.await && MewMusic.prototype.await.forEach(n => n()) + }) + } else { + MewMusic.prototype.await.push(() => this.render()) + } + } else { + this.render() + } + } + + render() { + if (!('APlayer' in window)) { + this.innerHTML = '未开启音乐播放器!' + return + } + // eslint-disable-next-line no-async-promise-executor + new Promise(async (resolve) => { + if (this.hasAttribute('song')) { + this.options.audio = await fetch( + 'https://api.i-meto.com/meting/api?server=netease&type=song&id=' + + this.getAttribute('song') + ).then((response) => response.json()) + } else if (this.hasAttribute('playlist')) { + this.options.listFolded = this.getAttribute('fold') + this.options.order = this.getAttribute('order') + this.options.audio = await fetch( + 'https://api.i-meto.com/meting/api?server=netease&type=playlist&id=' + + this.getAttribute('playlist') + ).then((response) => response.json()) + } else if (this.hasAttribute('url')) { + this.options.audio = [{ + name: this.getAttribute('name') || '音乐', + url: this.getAttribute('url'), + artist: this.getAttribute('artist') || '未知歌手', + cover: this.getAttribute('cover'), + lrc: this.getAttribute('lrc') || (this.options.lrcType = undefined), + }] + } else { + this.innerHTML = '未指定播放的音乐!' + return resolve() + } + this.aplayer = new APlayer(this.options) + resolve() + }) + } + + disconnectedCallback() { + this.aplayer && this.aplayer.destroy() + } + } + ) + + customElements.define( + 'mew-bilibili', + class MewBilibili extends MewElement { + init() { + this.options = { + bvid: this.getAttribute('bvid'), + width: /^\d{1,3}%$/.test(this.getAttribute('width')) + ? this.getAttribute('width') + : '100%', + } + if (this.options.bvid) { + this.style.padding = `calc(${this.options.width} * 0.3) 0` + this.innerHTML = `` + } else this.innerHTML = 'bvid未填写!' + this.drawComplete() + } + } + ) + + customElements.define( + 'mew-tabs', + class MewTabs extends MewElement { + init() { + const $tabPage = $(this).children('mew-tab-page') + if ($tabPage.length === 0) { + this.innerHTML = '没有标签页!' + this.drawComplete() + return + } + let navs = '' + let contents = '' + let active = false + $tabPage.each((index, elem) => { + let title = elem.getAttribute('title') || '默认标签' + let id = `${index}-${new Date().getTime()}` + if (!active && elem.hasAttribute('active')) { + active = true + navs += `
    ${title}
    ` + contents += `
    ${elem.innerHTML}
    ` + } else { + navs += `
    ${title}
    ` + contents += `
    ${elem.innerHTML}
    ` + } + }) + this.innerHTML = `
    ${navs}
    ${contents}
    ` + !active && $(this).find('div>div:first-child').addClass('active') + this.drawComplete() + } + + connectedCallback() { + $(this).find('.tabs-head').on('click', 'div:not(.active)', function () { + const $container = $(this).parent().parent() + $container.find('.active').removeClass('active') + $(this).addClass('active') + $container.find($(this).attr('data-id')).addClass('active') + }) + } + } + ) + + customElements.define( + 'mew-cloud', + class MewCloud extends MewElement { + init() { + this.options = { + type: this.getAttribute('type') || 'default', + title: this.innerText || '资源文件分享', + url: this.getAttribute('url'), + password: this.getAttribute('password'), + } + const type = { + default: '网络来源', + 360: '360云盘', + bd: '百度网盘', + wy: '微云', + ali: '阿里云盘', + github: 'Github仓库', + gitee: 'Gitee仓库', + lz: '蓝奏云网盘', + } + this.innerHTML = ` + +
    +
    ${this.options.title}
    +
    来源:${type[this.options.type] || '网络来源'}${this.options.password ? ' | 提取码:' + this.options.password : ''}
    +
    + + + + ` + this.drawComplete() + } + } + ) + + customElements.define( + 'mew-progress', + class MewProgress extends MewElement { + init() { + this.options = { + value: /^\d{1,3}%$/.test(this.getAttribute('value')) + ? this.getAttribute('value') + : '50%', + color: this.getAttribute('color') || 'var(--theme)', + } + this.innerHTML = `
    +
    +
    +
    ${this.options.value}
    ` + this.drawComplete() + } + }) + + customElements.define( + 'mew-panel', + class MewPanel extends MewElement { + init() { + this.options = { + title: this.getAttribute('title') || '', + color: this.getAttribute('color') || 'var(--theme)', + } + this.innerHTML = ` +
    ${this.options.title}
    +
    ${this.innerHTML}
    ` + this.style.background = this.options.color + this.style.color = this.options.color + this.drawComplete() + } + }) + + customElements.define( + 'mew-message', + class MewMessage extends MewElement { + init() { + this.options = { + type: /^(success|info|warning|error)$/.test( + this.getAttribute('type') + ) + ? this.getAttribute('type') + : 'info', + content: this.innerHTML || '消息内容', + } + this.innerHTML = this.options.content + this.setAttribute('type', this.options.type) + this.drawComplete() + } + }) + + customElements.define( + 'mew-hr', + class MewHr extends MewElement { + init() { + this.startColor = this.getAttribute('startColor') || '#01d0ff' + this.endColor = this.getAttribute('endColor') || '#fc3e85' + this.style.backgroundImage = `repeating-linear-gradient(-45deg, ${this.startColor} 0,${this.startColor} 20%, transparent 0,transparent 35%, ${this.endColor} 0,${this.endColor} 65%, transparent 0,transparent 80%, ${this.startColor} 0,${this.startColor} 100%)` + this.drawComplete() + } + }) + + customElements.define( + 'mew-timeline', + class MewTimeline extends MewElement { + init() { + let content = '' + let child = this.firstChild + while (child) { + if (child.tagName === 'MEW-TIMELINE-TITLE') { + content += `
    ${child.innerHTML}
    ` + } else if (child.tagName === 'MEW-TIMELINE-ITEM') { + const type = child.getAttribute('type') || '' + const title = child.getAttribute('title') ? `${child.getAttribute('title')}` : '' + content += `
    ${title}
    ${child.innerHTML}
    ` + } + child = child.nextElementSibling + } + this.innerHTML = content + this.drawComplete() + } + } + ) + + customElements.define( + 'mew-btn', + class MewBtn extends MewElement { + init() { + this.options = { + color: this.getAttribute('color') || 'var(--theme)', + href: this.getAttribute('href'), + target: this.getAttribute('target') || '_blank', + icon: this.getAttribute('icon'), + } + this.innerHTML = `${this.options.icon ? `` : ''}${this.innerHTML}` + const btn = this.querySelector('a.mew-btn') + this.options.href && (btn.href = this.options.href, btn.target = this.options.target) + this.drawComplete() + } + }) + + customElements.define( + 'mew-quote', + class MewQuote extends MewElement { + init() { + this.options = { + avatar: this.getAttribute('avatar'), + href: this.getAttribute('href'), + name: this.getAttribute('name'), + } + const avatarElem = this.options.avatar ? `` : '' + const nameElem = this.options.name ? `${this.options.name}` : '' + this.innerHTML = `
    ${avatarElem}

    ${this.innerHTML}

    ${nameElem}
    ` + this.drawComplete() + } + }) + + customElements.define( + 'mew-link', + class MewLink extends MewElement { + async init() { + this.options = { + img: this.getAttribute('img'), + href: this.getAttribute('href') || '', + title: this.getAttribute('title'), + slug: this.getAttribute('slug'), + id: this.getAttribute('id'), + type: this.getAttribute('type') || 'post', + desc: this.innerHTML + } + if (this.options.id || this.options.slug) { + await Utils.request({ + url: this.options.id? `/api/content/${this.options.type}s/${this.options.id}` : `/api/content/${this.options.type}s/slug?slug=${this.options.slug}`, + method: 'GET', + }) + .then(res=>{ + this.options.img = this.options.img || res.thumbnail + this.options.href = this.options.title || res.fullPath + this.options.title = this.options.title || res.title + this.options.desc = this.options.desc || res.summary + }) + .catch(error => { + this.options.desc = `Error: ${error}` + }) + } + const imageElem = this.options.img ? `` : '' + const descElem = this.options.desc ? `${this.options.desc}` : `${this.options.href}` + this.innerHTML = `

    ${this.options.title || '我分享了一个网站'}

    ${descElem}
    ${imageElem}
    ` + this.drawComplete() + } + }) + + customElements.define( + 'mew-video', + class MewVideo extends MewElement { + init() { + this.options = { + src: this.getAttribute('src'), + type: this.getAttribute('type'), + autoplay: this.hasAttribute('autoplay') && this.getAttribute('autoplay') !== 'false', + controls: this.getAttribute('controls') !== 'false', + loop: this.hasAttribute('loop') && this.getAttribute('loop') !== 'false', + muted: this.hasAttribute('muted') && this.getAttribute('muted') !== 'false', // 静音播放 + preload: this.hasAttribute('preload') && this.getAttribute('preload') !== 'false', + poster: this.getAttribute('poster'), // 加载图片 + width: /^\d{1,3}%$/.test(this.getAttribute('width')) + ? this.getAttribute('width') + : '100%', + } + this.innerHTML = `` + this.drawComplete() + } + }) + + customElements.define( + 'mew-photos', + class MewPhotos extends MewElement { + init() { + if (!($.fn.justifiedGallery)) { + if (!MewPhotos.prototype.load) { + MewPhotos.prototype.load = true + MewPhotos.prototype.await = [] + new Promise((resolve) => { + Utils.cachedScript('https://unpkg.com/justifiedGallery@3.8.1/dist/js/jquery.justifiedGallery.min.js') + .done(() => resolve()) + .fail(() => resolve()) + }).then(() => { + this.render() + MewPhotos.prototype.await && MewPhotos.prototype.await.forEach(n => n()) + }) + } else { + MewPhotos.prototype.await.push(() => this.render()) + } + } else { + this.render() + } + } + render() { + this.options = { + captions: this.hasAttribute('captions') && this.getAttribute('captions') !== 'false', + margins: this.getAttribute('margins') || '4' + } + $(this).find('img').each((i, elem) => { + $(elem).wrap(`
    `) + }) + $(this).justifiedGallery({captions: this.options.captions, margins: this.options.margins}) + this.drawComplete() + } + }) + + customElements.define( + 'mew-raw', + class MewRaw extends MewElement { + init() { + let html = this.innerHTML + this.innerHTML = '' + const shadowRoot = this.attachShadow({ mode: 'closed' }) + shadowRoot.innerHTML = html + this.drawComplete() + } + } + ) +}) \ No newline at end of file diff --git a/src/js/photos.js b/src/js/photos.js new file mode 100644 index 0000000..ac62a03 --- /dev/null +++ b/src/js/photos.js @@ -0,0 +1,149 @@ +let photoContextInitial = false +let dataPromise = {} +let isLoading = false +let isEnd = false + +let queryParams = { + page: 0, + size: 15, + sort: 'createTime,desc', +} + +// 渲染与设置画廊 +const renderPhotos = ($photosGallery, data) => { + const photosHtml = data.reduce((result, item, index) => { + return `${result}
    ${item.name || ''
+    }

    ${item.name}

    ${ + item.location ? `

    ${item.location}

    ` : '' + }

    ${Utils.formatDate(item.takeTime) + }

    ${item.description ? `

    ${item.description}

    ` : ''}
    ` + }, '') + $photosGallery.append(photosHtml) + + $photosGallery + .justifiedGallery({ + rowHeight: 200, + maxRowHeight: false, + maxRowsCount: 0, + sizeRangeSuffixes: {}, + lastRow: 'nojustify', + captions: false, + waitThumbnailsLoad: true, //等待图片加载完,这样就可以根据图片比例展示,如果为false,则都是统一比例 + margins: 10, + extension: /\.(jpe?g|png|gif|bmp|webp)$/, + cssAnimation: false, + }) +} + +/* 获取相册数据 */ +const getData = ($photosGallery, param) => { + isLoading = true + $photosGallery.addClass('loading') + param && param.team && (param.team = param.team.substring(2)) + const params = {...queryParams, ...(param || {})} + dataPromise.promise = new Promise((resolve, reject) => { + dataPromise.abort = reject + Utils.request({ + url: '/api/content/photos', + method: 'GET', + data: params, + }) + .then((res) => resolve(res)) + .catch((err) => reject(err)) + }) + .then((res) => { + const photoContents = res.content || [] + if (photoContents.length !== 0) { + renderPhotos($photosGallery, photoContents) + isEnd = res.isLast + } else { + isEnd = true + } + }) + .catch((err) => console.log(err)) + .finally(() => { + $photosGallery.removeClass('loading') + dataPromise = {} + isLoading = false + }) +} + +// 重置列表 +const reset = async ($photosGallery, param) => { + if (dataPromise) { + dataPromise.abort && dataPromise.abort('abort') + await dataPromise.promise + } + $photosGallery.empty() + isEnd = false + isLoading = false + queryParams.page = 0 + location.hash = param.team + getData($photosGallery, param) +} + +const photoContext = { + /* 初始化事件 */ + initEvent() { + if (photoContextInitial) return + + // 分组过滤 + $('body').on('click', '.photos-teams .item', function (e) { + e.stopPropagation() + const $this = $(this) + if ($this.hasClass('active')) return + $this.addClass('active').siblings('li').removeClass('active') + reset($('.photos-gallery'), {team: $this.attr('data-team')}) + }) + + // 滚动加载 + window.addEventListener( + 'scroll', + function () { + let $photosGallery = $('.photos-gallery') + if ($photosGallery.length !== 0 && $(window).scrollTop() + $(window).height() >= $photosGallery.height()) { + if (isLoading || isEnd) return + queryParams.page++ + getData($photosGallery,{ + team: $('.photos-teams li.active').attr('data-team') + }) + } + } + ) + photoContextInitial = true + }, + /* 初始化相册列表 */ + initPhotos() { + const $photosGallery = $('.photos-gallery') + // 从新初始化参数 + dataPromise = {} + isLoading = false + isEnd = false + queryParams = { + page: 0, + size: 15, + sort: 'createTime,desc', + } + // 读取变量 + if (location.hash) { + let team = decodeURI(location.hash.substring(1)) + let teamElem = $('.photos-teams li[data-team=' + team + ']') + teamElem.length > 0 ? teamElem.click() : $('.photos-teams li:not([data-team])').addClass('active') && getData($photosGallery) + } else { + $('.photos-teams li:not([data-team])').addClass('active') + getData($photosGallery) + } + + }, +} +window.photoPjax = function (serialNumber) { + if ($('.photos-gallery').length === 0) return + Object.keys(photoContext).forEach( + (c) => window.pjaxSerialNumber === serialNumber && photoContext[c]() + ) +} +!(function () { + !window.pjaxSerialNumber && photoContext.initEvent() + !window.pjaxSerialNumber && photoContext.initPhotos() +})() \ No newline at end of file diff --git a/src/js/pjax.js b/src/js/pjax.js new file mode 100644 index 0000000..1f2d074 --- /dev/null +++ b/src/js/pjax.js @@ -0,0 +1,224 @@ +const cssLoadCompletes = new Set($('link[href*=".css"]').map((i, item) => $(item).attr('href')).get()) +const jsLoadCompletes = new Set($('script[src*=".js"]').map((i, item) => $(item).attr('src')).get()) + +// 为pjax请求创建一个序列号 +const createSerialNumber = () => { + const serialNumber = new Date().getTime() + window.pjaxSerialNumber = serialNumber + console.log(`sn = ${serialNumber}`) + return serialNumber +} + +const $bulletScreen = $('.actions>.bullet-screen') +// pjax请求时进行界面预处理 +const initPjax = () => { + /* 重新加载悬浮导航按钮 */ + if ($('halo-comment[bullet-screen]').length === 0) { + $bulletScreen.addClass('is-hidden-all') + } else { + $bulletScreen.removeClass('is-hidden-all') + } +} + +const computeScrollTop = (target) => { + // 当前为横幅大图模式,处理滚动 + if (target.pathname !== '/' && $('.banner').length !== 0) { + return window.innerHeight / 4 + } + return 0 +} + +const syncLoadScripts = ($scripts, i, resolve) => { + if (i >= $scripts.length) { + resolve && resolve() + return + } + let src = $($scripts[i]).attr('src') + if (jsLoadCompletes.has(src)) { + syncLoadScripts($scripts, i + 1, resolve) + return + } + console.log((resolve ? '同步' : '异步') + '顺序加载js ' + src) + Utils.cachedScript(src) + .done(function () { + console.log((resolve ? '同步' : '异步') + '顺序加载js完成 ' + src) + jsLoadCompletes.add(src) + window.DProgress && DProgress.inc() + syncLoadScripts($scripts, i + 1, resolve) + }) + .fail(function () { + console.log((resolve ? '同步' : '异步') + '顺序加载js失败 ' + src) + syncLoadScripts($scripts, i + 1, resolve) + }) +} + +/** + * 第二个参数是容器,即将被替换的内容 + * fragment:是加载的文本中被选中的目标内容 + */ +$(document).on('click', 'a[target!=_blank][href]:not(data-not-pjax)', (event) => { + $.pjax.click(event, '.column-main', { + scrollTo: computeScrollTop(event.currentTarget), + fragment: '.column-main', + serialNumber: createSerialNumber(), + timeout: 8000, + }) +}) + + +$(document).on('submit', 'form[data-pjax]', function (event) { + $.pjax.submit(event, '.column-main', { + scrollTo: 0, + fragment: '.column-main', + serialNumber: createSerialNumber(), + timeout: 8000, + }) +}) + +$(document).on('pjax:click', function (event, options) { + console.log('------------------------') + console.log(`pjax:click sn = ${options.serialNumber}`) +}) + +$(document).on('pjax:beforeSend', function (event, xhr, options) { + console.log(`pjax:beforeSend sn = ${options.serialNumber}`) + $('html').addClass('pjax-loading') +}) + +$(document).on('pjax:start', function (event, xhr, options) { + console.log(`pjax:start sn = ${options.serialNumber}`) + window.DProgress && DProgress.start() + $('.pjax-close').remove() +}) + +$(document).on('pjax:send', function (event, xhr, options) { + console.log(`pjax:send sn = ${options.serialNumber}`) +}) + +$(document).on('pjax:clicked', function (event, options) { + console.log(`pjax:clicked sn = ${options.serialNumber}`) +}) + +/** + * pjax加载和浏览器前进后退都会触发的事件 + * 在此处需要进行一些未进行pjax也需要执行的程序 + */ +$(document).on('pjax:beforeReplace', function (event, contents, options) { + console.log(`pjax:beforeReplace sn = ${options.serialNumber}`) + /* 重新初始化导航条高亮 */ + $('.navbar-nav .current,.panel-side-menu .current').removeClass('current') + commonContext.initNavbar() + /* 移动端关闭抽屉弹窗 */ + $('html.disable-scroll').length > 0 && $('.navbar-mask').trigger('click') +}) + +/** + * pjax 替换内容成功之后 + * 浏览器前进后退时不会执行 + */ +$(document).on('pjax:success', async function (event, data, status, xhr, options) { + const serialNumber = options.serialNumber + console.log(`pjax:success sn = ${serialNumber}`) + if (window.pjaxSerialNumber !== serialNumber) return + /* 重新激活图片预览功能 */ + commonContext.initGallery() + /* 重新加载目录和公告 */ + commonContext.initTocAndNotice() + /* 初始化pjax加载 */ + initPjax() + /* 已经完成页面渲染 */ + $('html').removeClass('pjax-loading') + + const $currentTarget = $($.parseHTML(data, document, true)) + const $head = $('head') + $head.find('meta').remove() + $head.append($currentTarget.filter('meta')) + $currentTarget.filter('link[data-pjax]').each(function () { + let href = $(this).attr('href') + if (!cssLoadCompletes.has(href)) { + $head.append($(this)) + console.log('加载css ' + $(this).attr('href')) + this.onload = function () { + cssLoadCompletes.add(href) + window.DProgress && DProgress.inc() + console.log('加载css完成 ' + $(this).attr('href')) + } + } + }) + let $scripts = $currentTarget.filter('script[data-pjax]') + if ($scripts.length > 0) { + $scripts.filter('[async]').each(function () { + let src = $(this).attr('src') + if (jsLoadCompletes.has(src)) { + return + } + console.log('异步无序加载js ' + src) + Utils.cachedScript(src) + .done(function () { + console.log('异步无序js完成 ' + src) + window.DProgress && DProgress.inc() + jsLoadCompletes.add(src) + }) + .fail(function () { + console.log('异步无序js失败 ' + src) + }) + }) + new Promise(() => { + syncLoadScripts($scripts.filter('[defer]'), 0) + }) + let $syncScripts = $scripts.filter(':not([async]):not([defer])') + $syncScripts.length > 0 && await new Promise((resolve) => { + syncLoadScripts($syncScripts, 0, resolve) + }) + } + console.log('全部处理完成') + if (window.pjaxSerialNumber !== serialNumber) return + /* 初始化日志界面 */ + window.journalPjax && window.journalPjax(serialNumber) + /* 初始化文章界面 */ + window.postPjax && window.postPjax(serialNumber) + /* 初始化相册界面 */ + window.photoPjax && window.photoPjax(serialNumber) + /* 初始化轮播 */ + commonContext.initCarousel() + /* 加载主动推送或统计脚本 */ + commonContext.loadMaintain() + window.DProgress && DProgress.done() +}) + +$(document).on('pjax:timeout', function (event, xhr, options) { + console.log(`pjax:timeout sn = ${options.serialNumber}`) +}) + +$(document).on('pjax:error', function (event, xhr, textStatus, error, options) { + console.log(`pjax:error sn = ${options.serialNumber} error ${error}`) +}) + +// pjax结束 +$(document).on('pjax:complete', function (event, xhr, textStatus, options) { + console.log(`pjax:complete sn = ${options.serialNumber}`) +}) + +/** + * pjax结束,无论是pjax加载还是浏览器前进后退都会被调用 + * 浏览器前进后退时,唯一一个在渲染后被调用的方法 + */ +$(document).on('pjax:end', function (event, xhr, options) { + console.log(`pjax:end sn = ${options.serialNumber}`) + // 如果是浏览器前进后退 + if (xhr == null) { + /* 重新加载目录和公告 */ + commonContext.initTocAndNotice() + /* 初始化pjax加载 */ + initPjax() + /* 初始化轮播 */ + commonContext.initCarousel() + window.DProgress && DProgress.done() + // 应该是由于浏览器缓存失效,有时候浏览器前后退还是会执行pjax:beforeSend + $('html').removeClass('pjax-loading') + } +}) + +$(document).on('pjax:popstate', function () { + console.log('pjax:popstate') +}) diff --git a/src/js/post.js b/src/js/post.js new file mode 100644 index 0000000..ec2ad5f --- /dev/null +++ b/src/js/post.js @@ -0,0 +1,190 @@ +let postContextInitial = false +const postContext = { + /* 初始化事件 */ + initEvent() { + if (postContextInitial) return + let $body = $('body') + // 代码块展开和关闭点击事件 + $body.on('click', 'figure>figcaption .fa-angle-down', function () { + let $this = $(this) + if ($this.is('.close')) { + $($this.attr('data-code')).parent().slideDown(200) + $this.removeClass('close') + } else { + $($this.attr('data-code')).parent().slideUp(200) + $this.addClass('close') + } + }) + // 代码内容块展开和折叠点击事件 + $body.on('click', 'figure > pre > .expand-done', function () { + Utils.foldBlock($(this).parent().parent()) + }) + // 图片的展开和折叠事件 + $body.on('click', '.gallery-item .expand-done', function (e) { + e.stopPropagation() + Utils.foldBlock($(this).parent()) + }) + // 喜欢 + Utils.initLikeEvent('.admire .agree.like', 'posts', ($elem) => $elem.find('span').find('span')) + // 隐藏内容 + window.onCommentSuccessEvent = (comment, target) => { + let name = encrypt('mew-hide-' + target) + let commentIds = localStorage.getItem(name) + commentIds = commentIds ? JSON.parse(decrypt(commentIds)) : [] + let id = String(comment.postId) + if (commentIds.includes(id)) { + return + } + commentIds.push(id) + $(`.main-content[data-target='${target}'][data-id='${id}'] mew-hide[hide]`) + .each(function () { + $(this).before(decrypt(this.getAttribute('hide'))) + $(this).remove() + commonContext.initGallery() + postContext.initCodeBlock() + postContext.initLiterature() + postContext.initHighlighting() + if (this.getAttribute('toc') === 'true') commonContext.initTocAndNotice() + }) + localStorage.setItem(name, encrypt(JSON.stringify(commentIds))) + } + postContextInitial = true + }, + /* 初始化代码块 */ + initCodeBlock() { + const $code = $('*:not(figure) > pre > code') + if ($code.length === 0) return + $code.each(function (index) { + const $pre = $(this).parent() + let clazz = $(this).attr('class') + // 通过class初始化代码块标题和是否默认关闭 + let title = '' + let isClose = false + if (clazz != null) { + let num = clazz.indexOf('|') + let closeNum = clazz.indexOf('<') + if (num !== -1 || closeNum !== -1) { + if (num === -1 || (closeNum !== -1 && closeNum < num)) { + isClose = true + num = closeNum + } + $(this).attr('class', clazz.substring(0, num)) + title = num === clazz.length - 1 ? clazz.substring(9, num) : clazz.substring(num + 1) + } else { + title = clazz.substring(9) + } + } + // 生成行号 + let nums = $(this).text().split('\n').length - 1 || 1 + let lineDigit = String(nums).length + if (lineDigit === 1) lineDigit = 2 + let lis = '' + for (var i = 0; i < nums; i++) { + lis += `
  • ${String(i + 1).padStart(lineDigit, 0)}
  • ` + } + // 代码块的id,用于代码块复制和折叠 + let id = `codeBlock${index}-${new Date().getTime()}` + let close = '' + if (isClose) { + close = ' close' + $(this).hide() + } + // 生成标题栏的按钮 + let titleButton = `
    ` + + // 组装代码块 + $(this).attr('id', id) + $pre.prepend(`
      ${lis}
    `) + if (nums > DreamConfig.code_fold_line) { + $pre.wrap('
    ').append('
    ') + } else { + $pre.wrap('
    ') + } + $pre.parent().prepend(`
    ${title}${titleButton}
    `) + }) + }, + /* 初始化文艺模式 */ + initLiterature() { + $('.literature-content>p:not([class]),.literature-content>mew-hide>p:not([class])').each(function () { + if ($(this).children(':not(code,a,strong,em,ins,b,s,br,span.pwd)').length === 0) { + $(this).addClass('note') + } + }) + }, + /* 初始化喜欢功能 */ + /* 点赞 */ + initLike() { + Utils.initLikeButton('.admire .agree.like', 'posts') + }, + /* 代码块高亮 */ + initHighlighting() { + // 初始化代码块高亮工具 + hljs.initHighlightingOnLoad() + }, + /** + * 初始化分享 + */ + initShare() { + if (!window.DShare) return + let imageUrl = $('.cover-image').css('background-image') + imageUrl && (imageUrl = imageUrl.substring(5, imageUrl.length - 2)) + DShare.create('.dshare', {image: imageUrl, imageSelector: '.main-content'}) + }, + /* 代码块复制 */ + initClipboard() { + if (window.clipboard) { + return + } + // 初始化代码块复制插件,一个界面仅需初始化一次 + window.clipboard = new ClipboardJS('.btn-clipboard') + clipboard.on('error', function (e) { + e.clearSelection() + Qmsg.error('您的浏览器不支持复制') + }) + clipboard.on('success', function () { + Qmsg.success('复制成功') + }) + }, + /* 初始化图片折叠 */ + foldImage() { + if (!DreamConfig.img_fold_height) return + const $galleryList = $('.article .gallery-item>[data-fancybox]>img') + $galleryList.parent().addClass('fold') + $galleryList.each(function () { + const $gallery = $(this).parent() + if (this.complete) { + if (this.scrollHeight >= DreamConfig.img_fold_height) { + $gallery.append('
    ') + } else { + $gallery.removeClass('fold') + } + } else { + this.onload = function () { + if (this.scrollHeight >= DreamConfig.img_fold_height) { + $gallery.append('
    ') + } else { + $gallery.removeClass('fold') + } + } + } + }) + } +} +window.postPjax = function (serialNumber) { + if ($('.main-content').length === 0) return + Object.keys(postContext).forEach( + (c) => window.pjaxSerialNumber === serialNumber && postContext[c]() + ) +} +!(function () { + const advances = ['initEvent', 'initCodeBlock', 'initLiterature', 'initLike', 'foldImage'] + Object.keys(postContext).forEach( + (c) => !window.pjaxSerialNumber && advances.includes(c) && postContext[c]() + ) + + document.addEventListener('DOMContentLoaded', function () { + Object.keys(postContext).forEach( + (c) => !window.pjaxSerialNumber && !advances.includes(c) && postContext[c]() + ) + }) +})() \ No newline at end of file diff --git a/src/js/settings.js b/src/js/settings.js new file mode 100644 index 0000000..74daad5 --- /dev/null +++ b/src/js/settings.js @@ -0,0 +1,109 @@ +(function () { + if (!window.initDreamSettings) { + const styleContent = ` +.dream-bg { + position: relative; +} +.dream-bg:before { + content: ''; + width: 100%; + height: 100%; + top: 0; + left: 0; + margin: 0; + display: block; + position: absolute; + opacity: 0.2; + background: url(/themes/dream/screenshot.png) no-repeat; + background-size: 100% auto; +} +.dream-customer { + display: block; + position: fixed; + width: 60px; + height: 60px; + z-index: 1000; + bottom: 80px; + right: 40px; + border-radius: 50%; + background: #50bfff; + padding: 10px; + overflow: hidden; +} +.dream-customer svg { + width: 40px; + height: 40px; + stroke-width: 10; + animation: zy 2.5s .15s linear infinite; + -moz-animation: zy 2.5s .15s linear infinite; /* Firefox */ + -webkit-animation: zy 2.5s .15s linear infinite; /* Safari and Chrome */ + -o-animation: zy 2.5s .15s linear infinite; /* Opera */ +} +.dream-customer path { + stroke-width: 30; + stroke: #fff; + fill: #fff; +} +.dream-customer:after { + content: ''; + transition: all 0.4s; +} +.dream-customer:hover:after { + text-align: center; + line-height: 1em; + display: flex; + align-items: center; + content: 'DREAM\\A交流'; + font-size: 15px; + color: #FFF; + font-weight: 600; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: rgb(29 98 156 / 30%); +} +@-webkit-keyframes zy{ + 10% { + transform: rotate(15deg); + } + 20% { + transform: rotate(-10deg); + } + 30% { + transform: rotate(5deg); + } + 40% { + transform: rotate(-5deg); + } + 50%,100% { + transform: rotate(0deg); + } +} +@media (min-width: 576px){.dream-bg .ant-form-item-control-wrapper { width: 100% !important;}} +@media (min-width: 992px){.dream-bg .ant-form-item-control-wrapper { width: 80% !important;}} +@media (min-width: 1200px){.dream-bg .ant-form-item-control-wrapper { width: 60% !important;max-width: 800px;}}` + const style = document.createElement('style') + style.appendChild(document.createTextNode(styleContent)) + document.getElementsByTagName('head')[0].appendChild(style) + window.initDreamSettings = true + } + + const customerSvg = '' + + const customerText = `${customerSvg}` + function parse2dom(str){ + const div = document.createElement('div') + div.innerHTML = str + return div.childNodes[0] + } + if (document.getElementsByClassName('dream-customer').length === 0) { + const contentElem = document.getElementsByClassName('content')[0] + let tabsElems = contentElem.getElementsByClassName('ant-tabs-content') + for(let elem of tabsElems) { + elem.classList.add('dream-bg') + } + contentElem.appendChild(parse2dom(customerText)) + } +})() diff --git a/src/js/spark-input.js b/src/js/spark-input.js new file mode 100644 index 0000000..f54ab2a --- /dev/null +++ b/src/js/spark-input.js @@ -0,0 +1,76 @@ +const sparkInput = function(element, list) { + function randomColor() { + return colors[Math.floor(Math.random() * colors.length)] + } + function randomCode() { + return String.fromCharCode(94 * Math.random() + 33) + } + function buildFragment(r) { + for (var fragment = document.createDocumentFragment(), i = 0; r > i; i++) { + var span = document.createElement('span') + span.textContent = randomCode(), + span.style.color = randomColor(), + fragment.appendChild(span) + } + return fragment + } + function start() { + var msg = messages[entry.skillI] + if(entry.step) { + entry.step-- + } else { + entry.step = step + if(entry.prefixP < message.length) { + (entry.prefixP >= 0 && (entry.text += message[entry.prefixP]), entry.prefixP++) + } else { + if('forward' === entry.direction) { + if(entry.skillP < msg.length) { + (entry.text += msg[entry.skillP], entry.skillP++) + } else { + if(entry.delay){ + entry.delay-- + } else { + entry.direction = 'backward' + entry.delay = delay + } + } + }else{ + if(entry.skillP > 0) { + entry.text = entry.text.slice(0, -1) + entry.skillP-- + } else { + entry.skillI = (entry.skillI + 1) % messages.length + entry.direction = 'forward' + } + } + } + } + element.textContent = entry.text, + element.appendChild(buildFragment(entry.prefixP < message.length ? Math.min(prefixP, prefixP + entry.prefixP) : Math.min(prefixP, msg.length - entry.skillP))), + setTimeout(start, sleep) + } + var message = '', + messages = list.map(function (s) { + return s + '' + }), + delay = 2, + // 彩字显示需要的步骤 + step = 1, + // 乱码最大长度 + prefixP = 5, + // 时间间隔 + sleep = 75, + colors = ['rgb(110,64,170)', 'rgb(150,61,179)', 'rgb(191,60,175)', 'rgb(228,65,157)', 'rgb(254,75,131)', 'rgb(255,94,99)', 'rgb(255,120,71)', 'rgb(251,150,51)', 'rgb(226,183,47)', 'rgb(198,214,60)', 'rgb(175,240,91)', 'rgb(127,246,88)', 'rgb(82,246,103)', 'rgb(48,239,130)', 'rgb(29,223,163)', 'rgb(26,199,194)', 'rgb(35,171,216)', 'rgb(54,140,225)', 'rgb(76,110,219)', 'rgb(96,84,200)'], + entry = { + text: '', + prefixP: -prefixP, + skillI: 0, + skillP: 0, + direction: 'forward', + delay: delay, + step: step + } + start() +} + +window.sparkInput = sparkInput \ No newline at end of file diff --git a/src/js/sw.js b/src/js/sw.js new file mode 100644 index 0000000..bbeec88 --- /dev/null +++ b/src/js/sw.js @@ -0,0 +1,317 @@ +(function () { + if (self.document) { + const currentScriptUrl = document.currentScript.src + const install = new URLSearchParams(currentScriptUrl.split('?')[1]).get('install') + if (install) { + navigator.serviceWorker.register(document.currentScript.src) + .catch(function (error) { + console.log('cache failed with ' + error) // registration failed + }) + } else { + console.log('uninstall service worker.') + navigator.serviceWorker.getRegistrations().then(function (registrations) { + for (let registration of registrations) { + registration.active && registration.active.scriptURL && registration.active.scriptURL.indexOf('/sw.min.js') !== -1 && registration.unregister() + } + }) + window.caches && caches.keys && caches.keys().then(function (keys) { + keys.forEach(function (key) { + console.log('delete cache', key) + caches.delete(key) + }) + }) + } + } else { + //可以进行版本修改,删除缓存 + const version = '1.0.0' + const cacheName = `Dream-${version}` + const offLine = new URLSearchParams(location.href.split('?')[1]).get('offLine') + + // 需要走cdn和缓存的请求(cdn优先于缓存) + const cdnAndCacheList = [ + new RegExp(`${location.origin}/themes`, 'i'), //主题目录 + /\/\/(unpkg\.com|npm\.elemecdn\.com|cdn\.jsdelivr\.net\/npm)\//i, //npm公共cdn网站 + ] + + //对这里面的请求只走缓存 + const onlyCacheList = [ + new RegExp(`${location.origin}/upload`, 'i'), //图片等附件目录 + /\/\/cdn.jsdelivr.net\//i, //gh目前没有可用cdn源 + ] + + // 不缓存,不走cdn(优先级别最高) + const notCacheList = [ + new RegExp(`${location.origin}/(admin|api)`, 'i'), //管理后台 + ] + + const cdn = { + theme: { + originUrl: `${location.origin}/themes/dream`, + handleRequest: url => { + if (url.indexOf(cdn.theme.originUrl) !== 0) return + const path = url.substring(cdn.theme.originUrl.length) + const version = new URLSearchParams(url.split('?')[1]).get('mew') || 'latest' + return [ + url, + ...cdn.npm.urlTemplates.map(value => `${value}/halo-theme-dream@${version}${path}`) + ] + }, + }, + npm: { + urlTemplates: [ + 'https://unpkg.com', + 'https://cdn.jsdelivr.net/npm', + 'https://npm.elemecdn.com', + ], + handleRequest: url => { + return handleUrls(cdn.npm.urlTemplates, url) + } + }, + } + + /** + * 使用模板替换url路径 + * + * @param urlTemplates + * @param url + * @returns {*} + */ + function handleUrls(urlTemplates, url) { + for (let index in urlTemplates) { + if (url.indexOf(urlTemplates[index]) === 0) { + const path = url.substring(urlTemplates[index].length) + return urlTemplates.map(value => value + path) + } + } + } + + //添加缓存 + self.addEventListener('install', function (event) { + console.log('install service worker.') + event.waitUntil(self.skipWaiting()) //这样会触发activate事件 + }) + + // 激活 + self.addEventListener('activate', function (event) { + console.log('service worker activate.') + const mainCache = [cacheName] + event.waitUntil( + caches.keys().then(function (cacheNames) { + return Promise.all( + cacheNames.map(function (cacheName) { + if (mainCache.indexOf(cacheName) === -1) {//没有找到该版本号下面的缓存 + // When it doesn't match any condition, delete it. + console.info('version changed, clean the cache, SW: deleting ' + cacheName) + return caches.delete(cacheName) + } + }) + ) + }) + ) + return self.clients.claim() + }) + + /** + * 判断ur是否符合list列表中的正则要求 + * + * @param list + * @param url + * @returns {boolean} + */ + function isExitInCacheList(list, url) { + return list.some(function (value) { + return value.test(url) + }) + } + + /** + * 判断两个url是否属于同一个请求,过滤掉部分参数 + * + * @param urla + * @param urlb + * @returns {boolean} + */ + function isSameRequest(urla, urlb) { + // 除了这这些参数,其它的查询参数必须要一致,才认为是同一个请求 + const white_query = new Set([ + 'mew', // 自定义的版本号 + 'v', + 'version', + 't', + 'time', + 'ts', + 'timestamp' + ]) + + const a_url = urla.split('?') + const b_url = urlb.split('?') + if (a_url[0] !== b_url[0]) { + return false + } + + const a_params = new URLSearchParams('?' + a_url[1]) + const b_params = new URLSearchParams('?' + b_url[1]) + + // 显示所有的键 + for (const key of a_params.keys()) { + if (white_query.has(key)) {//对于版本号的key 忽略 + continue + } + if (a_params.get(key) !== b_params.get(key)) {//其它key的值必须相等,比如type=POST 这种 + return false + } + } + + return true + } + + // 拦截请求使用缓存的内容 + self.addEventListener('fetch', function (event) { + if (event.request.method !== 'GET') { + return false + } + const isCdnAndCache = isExitInCacheList(cdnAndCacheList, event.request.url) + // 不符合缓存要求的 + if (!(isCdnAndCache || isExitInCacheList(onlyCacheList, event.request.url)) || isExitInCacheList(notCacheList, event.request.url)) { + if (!offLine) { // 不需要离线 + return false + } + // return false; + event.respondWith(caches.open(cacheName) + .then(cache => { + return fetch(event.request) + .then((response) => { + if (response.status === 200) cache.put(event.request, response.clone()) + return response + }) + .catch(() => cache.match(event.request)) + }) + ) + return true + } + // 劫持 HTTP Request + event.respondWith( + caches.open(cacheName).then(function (cache) { + // ignoreSearch 忽略请求参数进行查找,用于匹配不同版本 + return cache.match(event.request).then(function (cacheResponse) { + // 直接返回缓存 + if (cacheResponse) return cacheResponse + + return handleRequest(event.request, isCdnAndCache) + .then((response) => { + const responseClone = response.clone() + cache.matchAll(event.request, {'ignoreSearch': true}) + .then(function (cache_response_list) { + // 删除旧版本的缓存文件 + if (cache_response_list) { + for (const cache_response of cache_response_list) { + const responseUrl = cache_response.url || cache_response.headers.get('service-worker-origin') + if (isSameRequest(responseUrl, event.request.url)) { + cache.delete(responseUrl) + } + } + } + cache.put(event.request, responseClone) + }) + return response + }) + .catch(error => { + console.error(error) + return cache.matchAll(event.request, {'ignoreSearch': true}) + .then(function (cache_response_list) { + // 从缓存中取得历史版本的文件 + if (cache_response_list) { + for (const cache_response of cache_response_list) { + if (isSameRequest(cache_response.url || cache_response.headers.get('service-worker-origin'), event.request.url)) { + return cache_response + } + } + } + }) + }) + }) + }) + ) + }) + + /** + * 处理请求 + * @param req + * @param isCdnAndCache + * @returns {Promise|*} + */ + function handleRequest(req, isCdnAndCache) { + // 不是cdn缓存的话,直接进行查询并返回 + if (!isCdnAndCache) return fetch(req) + + + const reqUrl = req.url + // 匹配 cdn + for (const type in cdn) { + const urls = cdn[type].handleRequest(reqUrl) + if (urls) return fetchAny(reqUrl, urls) + } + // 没有匹配到url,直接发起请求 + return fetch(req) + } + + // Promise.any 的 polyfill + function createPromiseAny() { + Promise.any = function (promises) { + return new Promise((resolve, reject) => { + promises = Array.isArray(promises) ? promises : [] + let len = promises.length + let errs = [] + if (len === 0) + return reject(new AggregateError('All promises were rejected')) + promises.forEach((p) => { + if (!(p instanceof Promise)) return reject(p) + p.then( + (res) => resolve(res), + (err) => { + len-- + errs.push(err) + if (len === 0) reject(new AggregateError(errs)) + } + ) + }) + }) + } + } + + // 发送所有请求 + function fetchAny(originUrl, urls) { + // 中断一个或多个请求 + const controller = new AbortController() + const signal = controller.signal + + // 遍历将所有的请求地址转换为promise + const PromiseAll = urls.map((url) => { + // eslint-disable-next-line no-async-promise-executor + return new Promise(async (resolve, reject) => { + fetch(url, {signal}) + .then(async res => { // 重新封装响应 + const newHeaders = new Headers(res.headers) + newHeaders.set('service-worker-origin', originUrl) + return new Response(await res.arrayBuffer(), { + status: res.status, + headers: newHeaders, + }) + }) + .then((res) => { + if (res.status !== 200) reject(null) + controller.abort() // 中断 + resolve(res) + }) + .catch(() => reject(null)) // 去除中断的错误信息 + }) + }) + + // 判断浏览器是否支持 Promise.any + if (!Promise.any) createPromiseAny() + + // 谁先返回"成功状态"则返回谁的内容,如果都返回"失败状态"则返回null + return Promise.any(PromiseAll).catch(() => null) + } + } +})() diff --git a/src/js/utils.js b/src/js/utils.js new file mode 100644 index 0000000..f6cc62f --- /dev/null +++ b/src/js/utils.js @@ -0,0 +1,383 @@ +class Emoji { + constructor(name, fileName) { + this.name = name + this.fileName = fileName + } +} + +const emojiData = [ + new Emoji('呵呵', 'hehe'), + new Emoji('哈哈', 'haha'), + new Emoji('吐舌', 'tushe'), + new Emoji('啊', 'a'), + new Emoji('酷', 'ku'), + new Emoji('怒', 'nu'), + new Emoji('开心', 'kaixin'), + new Emoji('汗', 'han'), + new Emoji('泪', 'lei'), + new Emoji('黑线', 'heixian'), + new Emoji('鄙视', 'bishi'), + new Emoji('不高兴', 'bugaoxing'), + new Emoji('真棒', 'zhenbang'), + new Emoji('钱', 'qian'), + new Emoji('疑问', 'yiwen'), + new Emoji('阴险', 'yingxiang'), + new Emoji('吐', 'tu'), + new Emoji('咦', 'yi'), + new Emoji('委屈', 'weiqu'), + new Emoji('花心', 'huaxin'), + new Emoji('呼~', 'hu'), + new Emoji('笑眼', 'xiaoyan'), + new Emoji('冷', 'len'), + new Emoji('太开心', 'taikaixin'), + new Emoji('滑稽', 'huaji'), + new Emoji('勉强', 'mianqiang'), + new Emoji('狂汗', 'kuanhan'), + new Emoji('乖', 'guai'), + new Emoji('睡觉', 'shuijiao'), + new Emoji('惊哭', 'jingku'), + new Emoji('生气', 'shengqi'), + new Emoji('惊讶', 'jingya'), + new Emoji('喷', 'pen'), + new Emoji('突然兴奋', 'turanxingfen'), + new Emoji('挖鼻', 'wabi'), + new Emoji('摊手', 'tanshou'), + new Emoji('捂嘴笑', 'wuzuixiao'), + new Emoji('喝酒', 'hejiu'), + new Emoji('犀利', 'xili'), + new Emoji('懒得理', 'landeli'), + new Emoji('炸药', 'zhayao'), + new Emoji('吃瓜', 'chigua'), + new Emoji('小乖', 'xiaoguai'), + new Emoji('你懂的', 'nidongde'), + new Emoji('嘿嘿嘿', 'heiheihei'), + new Emoji('欢呼', 'huanhu'), + new Emoji('笑尿', 'xiaoniao'), + new Emoji('酸爽', 'suanshuang'), + new Emoji('紧张', 'jinzhang'), + new Emoji('暗中观察', 'anzhongguancha'), + new Emoji('小红脸', 'xiaohonglian'), + new Emoji('呀咩爹', 'yamiedie'), + new Emoji('微微一笑', 'weiweiyixiao'), + new Emoji('what', 'what'), + new Emoji('托腮', 'tuosai'), + new Emoji('噗', 'pu'), + new Emoji('困成狗', 'kunchenggou'), + new Emoji('柯基暗中观察', 'kejianzhongguancha'), + new Emoji('菜狗', 'caigou'), + new Emoji('老虎', 'laohu'), + new Emoji('嗷呜', 'aowu'), + new Emoji('奥特曼', 'aoteman'), + new Emoji('黑头高兴', 'heitougaoxing'), + new Emoji('黑头瞪眼', 'heitoudengyan'), + new Emoji('望远镜', 'wangyuanjing'), + new Emoji('不听', 'butin'), + new Emoji('干饭', 'ganfan'), + new Emoji('大拇指', 'damuzhi'), + new Emoji('胜利', 'shengli'), + new Emoji('haha', 'haha2'), + new Emoji('OK', 'ok'), + new Emoji('红领巾', 'honglingjin'), + new Emoji('爱心', 'aixin'), + new Emoji('心碎', 'xinsui'), + new Emoji('玫瑰', 'meigui'), + new Emoji('礼物', 'liwu'), + new Emoji('烟花', 'yanhua'), + new Emoji('彩虹', 'caihong'), + new Emoji('太阳', 'taiyang'), + new Emoji('星星月亮', 'xingxingyueliang'), + new Emoji('蛋糕', 'dangao'), + new Emoji('茶杯', 'chabei'), + new Emoji('香蕉', 'xiangjiao'), + new Emoji('便便', 'bianbian'), + new Emoji('药丸', 'yaowan'), + new Emoji('钱币', 'qianbi'), + new Emoji('蜡烛', 'lazhu'), + new Emoji('沙发', 'shafa'), + new Emoji('音乐', 'yinyue'), + new Emoji('灯泡', 'dengpao'), + new Emoji('手纸', 'shouzhi') +] +const Utils = { + /** + * 是否移动设备 + */ + isMobile() { + if ( + navigator.userAgent.match(/Android/i) || + navigator.userAgent.match(/webOS/i) || + navigator.userAgent.match(/iPhone/i) || + navigator.userAgent.match(/iPad/i) || + navigator.userAgent.match(/iPod/i) || + navigator.userAgent.match(/BlackBerry/i) || + navigator.userAgent.match(/Windows Phone/i) + ) + return true + return false + }, + /** + * 有缓存的方式加载js + */ + cachedScript(url, callback) { + return $.ajax(jQuery.extend({ + url: url, + type: 'get', + dataType: 'script', + cache: true, + success: callback + }, $.isPlainObject(url) && url)) + }, + /** + * 时间格式化 + * @param {*} time + */ + formatDate(date, fmt = 'yyyy-MM-dd') { + date = new Date(date) + if (/(y+)/.test(fmt)) { + fmt = fmt.replace( + RegExp.$1, + (date.getFullYear() + '').substr(4 - RegExp.$1.length) + ) + } + let o = { + 'M+': date.getMonth() + 1, + 'd+': date.getDate(), + 'h+': date.getHours(), + 'm+': date.getMinutes(), + 's+': date.getSeconds(), + } + for (let k in o) { + if (new RegExp(`(${k})`).test(fmt)) { + let str = o[k] + '' + fmt = fmt.replace( + RegExp.$1, + RegExp.$1.length === 1 ? str : str.padStart(2, '0') + ) + } + } + return fmt + }, + /* 获取URL中带的链接参数 + * @param search 链接后缀 + * @return {{}} 对象 + */ + getUrlParams() { + var search = location.search + + // 判断是否为字符串类型 + if (typeof search !== 'string') { + search = search.toString() + } + + var paramsSplit = search.replace(/^[^\?]*\?/i, '').split(/&/) + var params = {} + + // 数据为空 + if (paramsSplit.length < 1) { + return params + } + + if (Array.isArray(paramsSplit)) { + paramsSplit.forEach(function (item) { + // 数据为空, 退出方法 + if (!item) { + return false + } + var itemSplit = item.split(/=/) + + // 判断字符串中是否有多个= + if (itemSplit.length >= 2) { + // 是 + var key = itemSplit.splice(0, 1) + params[key] = itemSplit.join('=') + } + }) + } + return params + }, + /* 随机颜色 */ + randomColor(factor) { + const colors = ['#F8D800', '#0396FF', '#EA5455', '#7367F0', '#32CCBC', '#F6416C', '#28C76F', '#9F44D3', '#F55555', '#736EFE', '#E96D71', '#DE4313', '#D939CD', '#4C83FF', '#F072B6', '#C346C2', '#5961F9', '#FD6585', '#465EFB', '#FFC600', '#FA742B', '#5151E5', '#BB4E75', '#FF52E5', '#49C628', '#00EAFF', '#F067B4', '#F067B4', '#ff9a9e', '#00f2fe', '#4facfe', '#f093fb', '#6fa3ef', '#bc99c4', '#46c47c', '#f9bb3c', '#e8583d', '#f68e5f'] + return colors[factor % colors.length] + }, + /* 请求封装 */ + request({ + url = '', + method = 'GET', + data, + headers = {}, + timeout = 10000, + returnRaw = false, + }) { + return new Promise((resolve, reject) => { + method = method.toUpperCase() + $.ajax({ + url, + type: method, + headers: { + 'API-Authorization': DreamConfig.access_key || 'dream', + ...headers, + }, + async: true, + dataType: 'json', + timeout, + data, + success(res) { + if (returnRaw) { + resolve(res) + } else { + if (res.status === 200) { + resolve(res.data || '') + } else { + reject(res) + } + } + }, + error(err) { + const errMsg = err + ? err.responseJSON + ? err.responseJSON.message + : '请求失败' + : '请求失败' + Qmsg.error(errMsg) + reject(errMsg) + }, + }) + }) + }, + /** + * 初始化喜欢按钮 + * @param buttonSelect 喜欢按钮的选择器 + * @param type 喜欢的类型 + */ + initLikeButton(buttonSelect, type) { + const name = encrypt('agree-' + type) + let agrees = localStorage.getItem(name) + agrees = agrees ? JSON.parse(decrypt(agrees)) : [] + $(buttonSelect).each(function () { + let $this = $(this) + let id = $this.attr('data-id') + // 已经喜欢过了 + agrees.includes(id) && $this.removeClass('like') + }) + }, + /** + * 初始化喜欢按钮点击事件 + */ + initLikeEvent(buttonSelect, type, likeNumFunc) { + let name = encrypt('agree-' + type) + $('body').on('click', buttonSelect, function (e) { + e.stopPropagation() + let $this = $(this) + let id = $this.attr('data-id') + Utils.request({ + url: '/api/content/' + type + '/' + id + '/likes', + method: 'POST', + }) + .then((_res) => { + let agrees = localStorage.getItem(name) + agrees = agrees ? JSON.parse(decrypt(agrees)) : [] + let likes = +($this.attr('data-likes') || 0) + 1 + agrees.push(id) + $this.removeClass('like') + const val = encrypt(JSON.stringify(agrees)) + localStorage.setItem(name, val) + // $this.off('click'); + likeNumFunc($this).html(likes) + Qmsg.success('点赞成功') + }) + }) + }, + /* 百度自动推送 */ + baiduPush() { + let bp = document.createElement('script') + let curProtocol = window.location.protocol.split(':')[0] + if (curProtocol === 'https') { + bp.src = 'https://zz.bdstatic.com/linksubmit/push.js' + } else { + bp.src = 'http://push.zhanzhang.baidu.com/push.js' + } + $(`script[src="${bp.src}"]`).remove() + let s = document.getElementsByTagName('script')[0] + s.parentNode.insertBefore(bp, s) + }, + toutiaoPush() { + let el = document.createElement('script') + el.src = 'https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?0fbcfbb1ed642c21419d5be02d56ade7d6ee5372ca221d12ba35df110760b2a830632485602430134f60bc55ca391050b680e2741bf7233a8f1da9902314a3fa' + el.id = 'ttzz' + $(`script[src="${el.src}"]`).remove() + let s = document.getElementsByTagName('script')[0] + s.parentNode.insertBefore(el, s) + }, + /* sleep */ + sleep(ms = 250) { + return new Promise((resolve) => setTimeout(resolve, ms)) + }, + /* 折叠代码块或者日志块 */ + foldBlock($container) { + const oldHeight = $container.height() + if ($container.is('.fold')) { + $container.removeClass('fold').addClass('unfold') + } else { + const oldScrollTop = document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset + $container.addClass('fold').removeClass('unfold') + // 跳转位置,保证折叠后没有过大的位置偏移 + $('body,html').scrollTop(oldScrollTop - oldHeight + $container.height()) + } + }, + /** + * 删除元素的 class,可根据前缀来删除 + * @param {*} el 需要删除的 dom 元素 + * @param {*} prefix 需要删除的 class,可以仅为前缀 + */ + removeClassByPrefix(el, prefix) { + const classes = el.className.split(' ').filter(function (c) { + return c.lastIndexOf(prefix, 0) !== 0 + }) + + el.className = classes.join(' ').trim() + }, + + /** + * 滚动到指定控件 + * @param element 需要被跳转到的控件 + * @param time 跳转时间 + * @param headingsOffset 控件距离页面顶部的距离 + * @param callback 跳转完成后执行的函数 + */ + animateScroll(element, time, headingsOffset, callback) { + let rect = element.getBoundingClientRect() + let currentY = window.scrollY + let targetY = currentY + rect.top - headingsOffset + let speed = (targetY - currentY) / time + let offset = currentY > targetY ? -1 : 1 + let requestId + function step() { + currentY += speed + if (currentY * offset < targetY * offset) { + window.scrollTo(0, currentY) + requestId = window.requestAnimationFrame(step) + } else { + window.scrollTo(0, targetY) + window.cancelAnimationFrame(requestId) + callback && callback() + } + } + requestId = window.requestAnimationFrame(step) + }, + /** + * 表情替换 + * @param html + * @returns {*} + */ + renderedEmojiHtml(html) { + for (let emoji of emojiData) { + let name = emoji.name + let img = `${name}` + html = html.replace(new RegExp(`\\[/${name}\\]`, 'gm'), img) + } + return html + } +} + +window.Utils = Utils diff --git a/src/patch.js b/src/patch.js new file mode 100644 index 0000000..07ce6b9 --- /dev/null +++ b/src/patch.js @@ -0,0 +1,63 @@ +(function () { + if (compareVersion('2.1.0', '2.1.1')) { + addCss('.widget.profile .level-item {flex-shrink: 1;}') + } + if (compareVersion(undefined, '2.0.9')) { + addCss('.main-content .katex {line-height: 1.4;display: block;overflow-x: auto;overflow-y: hidden;}') + } + + /** + * 添加css + * @param cssContent + */ + function addCss(cssContent) { + let n = setInterval(function () { + if (!document.body) return + const style = document.createElement('style') + style.appendChild(document.createTextNode(cssContent)) + document.body.appendChild(style) + clearInterval(n) + }, 100) + } + + /** + * 判断是否在这个区间里 + * @param v1 + * @param v2 + */ + function compareVersion(v1, v2) { + let vCode1 = v1 ? versionCode(v1) : 0 + let vCode2 = v2 ? versionCode(v2) : 1 << 31 - 1 + let cvCode = versionCode(DreamConfig.theme_version) + return cvCode >= vCode1 && cvCode <= vCode2 + } + + /** + * 取得版本code + * v(6位).(6位).(6位)-(4位).(6位) + * @param version + * @returns {number} + */ + function versionCode(version) { + let code = 0 + let vSplit = version.split('-') + if (vSplit.length > 1) { + let vn = vSplit[1].split('.') + let n = vn[0] === 'alpha' ? 0 : vn[0] === 'fix' ? 2 : 1 + if (vn.length > 1) { + code = parseInt(vn[1]) + } + code |= n << 6 + } else { + code = 1 << 6 + } + let vs = vSplit[0].split('.') + for (let i = 3; i > 0; i--) { + if (i > vs.length) { + continue + } + code |= parseInt(vs[i - 1]) << (10 + ((3 - i) * 6)) + } + return code + } +})() \ No newline at end of file diff --git a/tag.ftl b/tag.ftl new file mode 100644 index 0000000..4f88486 --- /dev/null +++ b/tag.ftl @@ -0,0 +1,20 @@ +<#include "template/layout.ftl"> +<@layout title="标签:${tag.name!} - ${blog_title!}" canonical="${tag.fullPath!}"> + <#if (posts.content)?? && posts.content?size gt 0> +
    + +
    + <#include "template/main/article_list.ftl"> + <@article_list posts.content/> + <#include "template/main/pagination.ftl"> + <@pagination method="tagPosts" datas=posts slug="${tag.slug!}" display="${settings.page_number!5}" /> + <#else> +
    + + 该标签下没有文章,回主页看看吧 +
    + + \ No newline at end of file diff --git a/tags.ftl b/tags.ftl new file mode 100644 index 0000000..2f0a2ef --- /dev/null +++ b/tags.ftl @@ -0,0 +1,27 @@ +<#include "template/layout.ftl"> +<@layout title="标签 - ${blog_title!}" canonical="${tags_url!}"> + <@tagTag method="list"> + <#if tags?? && tags?size gt 0> + + <#else> +
    + + 还没有创建过标签,回主页看看吧 +
    + + + \ No newline at end of file diff --git a/template/common/actions.ftl b/template/common/actions.ftl new file mode 100644 index 0000000..eaea538 --- /dev/null +++ b/template/common/actions.ftl @@ -0,0 +1,16 @@ +
    +
    + +
    +
    + +
    + <#if settings.drawer_toc!true> +
    + +
    + +
    + +
    +
    \ No newline at end of file diff --git a/template/common/banner.ftl b/template/common/banner.ftl new file mode 100644 index 0000000..793bc97 --- /dev/null +++ b/template/common/banner.ftl @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/template/common/config.ftl b/template/common/config.ftl new file mode 100644 index 0000000..f6357d2 --- /dev/null +++ b/template/common/config.ftl @@ -0,0 +1,187 @@ + + \ No newline at end of file diff --git a/template/common/footer.ftl b/template/common/footer.ftl new file mode 100644 index 0000000..f489f23 --- /dev/null +++ b/template/common/footer.ftl @@ -0,0 +1,54 @@ +
    +
    + +
    +
    \ No newline at end of file diff --git a/template/common/head.ftl b/template/common/head.ftl new file mode 100644 index 0000000..9a09790 --- /dev/null +++ b/template/common/head.ftl @@ -0,0 +1,75 @@ +${title!}<#if settings.small_title?? && settings.small_title!=''>|${settings.small_title!}</#if> +<#if settings.enable_sw?? && settings.enable_sw != "false"> + + + +<#assign description=(post??)?then(post.summary!, meta_description!)!user.description!> + + + + + + + + + + + + + + + + + + + + +<@global.head /> + + + + + +<#if post?? || is_journals?? || is_error??> + + + <#assign enable_katex = (metas?? && metas.enable_katex?? && metas.enable_katex?trim!='')?then(metas.enable_katex?trim, (settings.enable_katex!false)?c)> + <#if enable_katex=='true'> + + + <#assign enable_share = (post?? && (metas?? && metas.enable_share?? && metas.enable_share?trim!='')?then(metas.enable_share?trim, (settings.enable_post_share!true)?c) == 'true') || (is_journals?? && settings.enable_journals_share!true)> + <#if enable_share> + + + + + +<#if is_post?? || is_sheet?? || is_photos?? || is_journals??> + + + + +<#if settings.cursor_style?? && settings.cursor_style!='none'> + + + +<#include "config.ftl"> + + + +<#if settings.enable_patch!true> + + +<#if settings.external_css?? && settings.external_css!=''> + + +<#if settings.inline_css?? && settings.inline_css!=''> + + +${settings.external_js_head!} +<#if settings.inline_js_head?? && settings.inline_js_head!=''> + + \ No newline at end of file diff --git a/template/common/navbar.ftl b/template/common/navbar.ftl new file mode 100644 index 0000000..e34eb59 --- /dev/null +++ b/template/common/navbar.ftl @@ -0,0 +1,210 @@ +<#macro navbar> + + \ No newline at end of file diff --git a/template/common/scripts.ftl b/template/common/scripts.ftl new file mode 100644 index 0000000..af4aa13 --- /dev/null +++ b/template/common/scripts.ftl @@ -0,0 +1,59 @@ + +<#if (settings.sidebar_toc?? && settings.sidebar_toc != 'none') || settings.drawer_toc!true> + + +<#if is_carousel??> + + + + +<#if post?? || is_journals?? || is_error??> + + + <#if enable_share> + + + + <#if is_journals??> + + + + +<#if is_photos??> + + + + + +<#if (post?? && (!post.disallowComment!false) && settings.enable_comment!true) || (is_journals?? && settings.enable_journals_comment!true) || (is_links?? && (settings.enable_comment!true) && settings.link_comment_id?? && settings.link_comment_id!='')> + + + + + +<#if settings.load_progress?? && settings.load_progress != 'none'> + + + + + +<#if post?? || is_photos?? || is_journals?? > + + + +<#if settings.sidebar_music?? && settings.sidebar_music != 'none'> + + + + + + +${settings.external_js_body!} +<#if settings.inline_js_body?? && settings.inline_js_body!=''> + + +<@global.statistics /> \ No newline at end of file diff --git a/template/common/widget.ftl b/template/common/widget.ftl new file mode 100644 index 0000000..08df56e --- /dev/null +++ b/template/common/widget.ftl @@ -0,0 +1,21 @@ +<#macro widget position> + + \ No newline at end of file diff --git a/template/errorpage.ftl b/template/errorpage.ftl new file mode 100644 index 0000000..67332f6 --- /dev/null +++ b/template/errorpage.ftl @@ -0,0 +1,29 @@ +<#include "layout.ftl"> +<#include "main/article_list.ftl"> +<#global is_error = true> +<#macro errorpage etitle,desc,status,content,message> + <@layout title="${status!}错误 - ${blog_title!}" canonical="${blog_url!}/${status!}"> +
    +
    ${status!}错误 - ${etitle!}
    +
    +
    +
    +
    +
    + ${status!} +

    ${desc!}

    +
    +
    ${content!}: ${message!}
    +
    +
    +
    + <@postTag method="latest" top="6"> + <#if posts?? && posts?size gt 0> +
    +
    最新文章推荐
    +
    + <@article_list posts /> + + + + \ No newline at end of file diff --git a/template/layout.ftl b/template/layout.ftl new file mode 100644 index 0000000..b354df7 --- /dev/null +++ b/template/layout.ftl @@ -0,0 +1,24 @@ +<#global theme_version="2.1.3"> +<#macro layout0 title,canonical> + <#if RequestParameters?? && RequestParameters._pjax?? > + <#global is_pjax=RequestParameters._pjax> + <#include "layout_pjax.ftl"> + <@layout_pjax title,canonical><#nested /> + <#else> + <#include "layout_default.ftl"> + <@layout_default title,canonical><#nested /> + + +<#macro layout title,canonical> + <#if post?? || is_journals?? || is_error?? || (settings.enable_compress!'none')=='none'> + <@layout0 title,canonical><#nested /> + <#elseif settings.enable_compress == 'format'> + <@compress> + <@layout0 title,canonical><#nested /> + + <#elseif settings.enable_compress == 'single'> + <@compress single_line=true> + <@layout0 title,canonical><#nested /> + + + \ No newline at end of file diff --git a/template/layout_default.ftl b/template/layout_default.ftl new file mode 100644 index 0000000..fe6dc07 --- /dev/null +++ b/template/layout_default.ftl @@ -0,0 +1,32 @@ +<#macro layout_default title,canonical> + <#include "common/widget.ftl"> + <#import "common/navbar.ftl" as nav> + + + + <#include "common/head.ftl"> + + + <@nav.navbar/> + <#if settings.enable_banner!false ><#include "common/banner.ftl"> +
    +
    +
    +
    + <#nested /> +
    + <#if !settings.sidebar_column?? || (settings.sidebar_column!='only-right' && settings.sidebar_column!='module-left')> + <@widget 'left' /> + + <#if !settings.sidebar_column?? || (settings.sidebar_column!='only-left' && settings.sidebar_column!='module-right')> + <@widget 'right' /> + +
    +
    +
    + <#include "common/actions.ftl"> + <#include "common/footer.ftl"> + <#include "common/scripts.ftl"> + + + \ No newline at end of file diff --git a/template/layout_pjax.ftl b/template/layout_pjax.ftl new file mode 100644 index 0000000..18a83a3 --- /dev/null +++ b/template/layout_pjax.ftl @@ -0,0 +1,14 @@ +<#macro layout_pjax title,canonical> + + + + <#include "common/head.ftl"> + + +
    + <#nested /> +
    + <#include "common/scripts.ftl"> + + + \ No newline at end of file diff --git a/template/main/admire.ftl b/template/main/admire.ftl new file mode 100644 index 0000000..2e9e3f9 --- /dev/null +++ b/template/main/admire.ftl @@ -0,0 +1,30 @@ +<#assign donate = (settings.donate_alipay?? && settings.donate_alipay!='') || (settings.donate_wechat?? && settings.donate_wechat!='') /> +<#if donate || !is_sheet??> +
    +
    + <#if donate> + + + <#if !is_sheet??> + + +
    + 如果觉得文章对你有用,请随意赞赏 +
    + \ No newline at end of file diff --git a/template/main/article.ftl b/template/main/article.ftl new file mode 100644 index 0000000..7fb1818 --- /dev/null +++ b/template/main/article.ftl @@ -0,0 +1,105 @@ +<#macro article post,commentType> + <#if post.thumbnail?? && post.thumbnail!=''> +
    +
    + <#if categories?? && categories?size gt 0> +
    + <#list categories as category> + ${category.name!} + +
    + +
    +

    ${post.title!}

    + +
    +
    +
    + + <#assign updateInterval = ((.now?long - post.updateTime?long)/86400000)?floor > + <#if updateInterval gt (settings.invalid_tips_day!'99999999')?number > +
    本文最后更新于 ${post.updateTime?string('yyyy-MM-dd')},距今已有 ${updateInterval} 天,若文章内容或图片链接失效,请留言反馈。
    + + <#if (metas?? && metas.tips?? && metas.tips!='')> +
    ${metas.tips}
    + +
    +
    + <#if !post.thumbnail?? || post.thumbnail==''> +

    ${post.title!}

    +
    + + <#if post.categories?? && post.categories?size gt 0> +
    + <#list post.categories as category> + ${category.name!}  + +
    + +
    +
    + +
    ${post.formatContent!}
    + + <#include "admire.ftl"> + + <#if tags?? && (tags?size gt 0)> +
    +
    + <#list tags as tag> + ${tag.name!}  + +
    +
    + + <#assign enable_copyright = (metas?? && metas.enable_copyright?? && metas.enable_copyright?trim!='')?then(metas.enable_copyright?trim, (settings.enable_copyright!true)?c)> + <#if enable_copyright == 'true' || enable_share> +
    + <#if enable_copyright == 'true'> + <#include "copyright.ftl"> + + <#if enable_share> +
    + + +
    +
    + + <#if nextPost?? || prevPost??> +
    +
    + <#if prevPost??> + + + ${prevPost.title!} + + + <#if nextPost??> + + ${nextPost.title!} + + + +
    +
    + + <#if (!post.disallowComment!false) && settings.enable_comment!true> +
    +

    评论

    + <#include "comment.ftl"> + <@comment post.id?c, commentType /> +
    + + \ No newline at end of file diff --git a/template/main/article_list.ftl b/template/main/article_list.ftl new file mode 100644 index 0000000..32eedd5 --- /dev/null +++ b/template/main/article_list.ftl @@ -0,0 +1,260 @@ +<#macro model_build content> + <#if content == ''> + <#return> + + <#local content_option=content?split('|')> + <#local tag=(content_option[0]!'')?trim> + <#local content=((content_option[1]!'')?trim != '')?then('
    ${content_option[1]?trim}
    ', '')> + <#local target=((content_option[2]!'false')?trim == 'true')?then('target="_blank"', '')> + <#local imageUrl=((content_option[3]!'')?trim != '')?then('style="background-image: url(${content_option[3]?trim})"', '')> + <#local targetUrl=((content_option[4]!'')?trim != '')?then('href="${content_option[4]?trim}"', '')> + ${content}
    ${tag}
    + +<#macro article_list posts> + <#if is_first_index!false> + <#local carousel_content> + <#list posts as post> + <#if post.topPriority!=1> + <#break> + + <#if !post.metas?? || (post.metas.index_carousel!'false')=='false'> + <#continue> + + <#local thumbnail = (post.thumbnail?? && post.thumbnail!='')?then(post.thumbnail!, (settings.default_thumbnail?? && settings.default_thumbnail!='')?then(settings.default_thumbnail + settings.default_thumbnail?contains('?')?then("&","?") + "postId=" + post.id?c, ''))> + <#if thumbnail != ''> + +
    +

    ${post.title!}

    + +
    +
    + + + + <#if settings.sidebar_column=='module-left' || settings.sidebar_column=='module-right'> + <#if settings.module_links?? && settings.module_links?trim != ''> + <#local module_links=settings.module_links?split('\n')> + <#else> + <#local module_links=[]> + <#list 0..1 as i> + <#local post=posts[i]> + <#local module_links=module_links+["推荐|${post.title!}|false|${post.thumbnail!}|${post.fullPath!}"]> + + +
    +
    +
    ${carousel_content}
    +
    +
    +
    +
    +
    + <#list 0..1 as i> + <#if i < module_links?size > + <@model_build module_links[i]/> + + +
    +
    + <#if module_links?size > 2 && module_links?size<=6> +
    + <#list 2..5 as i> + <#if i < module_links?size > + <@model_build module_links[i]/> + + +
    + + <#assign is_carousel=true /> + <#elseif carousel_content != ''> +
    +
    ${carousel_content}
    +
    +
    +
    +
    + <#assign is_carousel=true /> + + <#if settings.index_inform?? && settings.index_inform != ''> +
    ${settings.index_inform}
    + + + <#list posts as post> + <#local thumbnail = (post.thumbnail?? && post.thumbnail!='')?then(post.thumbnail!, (settings.default_thumbnail?? && settings.default_thumbnail!='')?then(settings.default_thumbnail + settings.default_thumbnail?contains('?')?then("&","?") + "postId=" + post.id?c, ''))> + <#if is_first_index?? && thumbnail != '' && !(post.topPriority!=1 || !post.metas?? || (post.metas.index_carousel!'false')=='false')> + <#continue> + + <#local thumbnail_mode = ((settings.top_thumbnail_mode!'default')=='grid' || (post.topPriority==0 && (settings.thumbnail_mode!'default')=='grid'))?then( + 'grid', (post.metas?? && (post.metas.thumbnail_mode!'')?trim!='')?then(post.metas.thumbnail_mode?trim, (post.topPriority==1)?then(settings.top_thumbnail_mode!'back', settings.thumbnail_mode!'default')))> + <#if thumbnail != '' && thumbnail_mode == "back"> + + <#elseif thumbnail != '' && (thumbnail_mode == "small" || (thumbnail_mode == "small-alter" && post_index%2 == 0))> +
    + +
    +
    +
    +

    + <#if post.topPriority==1>置顶${post.title!} +

    +
    ${post.summary!}
    +
    +
    + + <#if post.categories?? && post.categories?size gt 0> +
    + <#list post.categories as category> + ${category.name!}  + +
    + +
    +
    +
    + <#elseif thumbnail != '' && (thumbnail_mode == "small-right" || (thumbnail_mode == "small-alter" && post_index%2 == 1))> +
    +
    +

    + <#if post.topPriority==1>置顶${post.title!} +

    +
    ${post.summary!}
    +
    +
    + + <#if post.categories?? && post.categories?size gt 0> +
    + <#list post.categories as category> + ${category.name!}  + +
    + +
    +
    +
    +
    + <#elseif post.topPriority==1 && thumbnail_mode == "fold"> + +

    置顶

    ${post.title!}

    +

    <@global.timeline datetime=post.createTime/>

    +
    + <#elseif thumbnail_mode == "grid"> +
    + <#list post_index..(posts?size-1) as i> + <#local gradPost=posts[i]> + <#local thumbnail = (gradPost.thumbnail?? && gradPost.thumbnail!='')?then(gradPost.thumbnail!, (settings.default_thumbnail?? && settings.default_thumbnail!='')?then(settings.default_thumbnail + settings.default_thumbnail?contains('?')?then("&","?") + "postId=" + gradPost.id?c, ''))> + <#if is_first_index?? && thumbnail != '' && !(gradPost.topPriority!=1 || !gradPost.metas?? || (gradPost.metas.index_carousel!'false')=='false')> + <#continue> + +
    + +
    +
    +
    + +

    + <#if gradPost.topPriority==1>置顶${gradPost.title!} +

    +
    + +
    + <#break/> + <#else> +
    + <#if thumbnail?? && thumbnail!=''> + +
    +
    +
    + +
    +

    + <#if post.topPriority==1>置顶${post.title!} +

    +
    + + <#if post.categories?? && post.categories?size gt 0> +
    + <#list post.categories as category> + ${category.name!}  + +
    + +
    +
    +
    ${post.summary!}
    +
    +
    + + + \ No newline at end of file diff --git a/template/main/article_literature.ftl b/template/main/article_literature.ftl new file mode 100644 index 0000000..694fa4b --- /dev/null +++ b/template/main/article_literature.ftl @@ -0,0 +1,105 @@ +<#macro articleLiterature post,commentType> + <#if post.thumbnail?? && post.thumbnail!=''> +
    +
    + <#if categories?? && categories?size gt 0> +
    + <#list categories as category> + ${category.name!} + +
    + +
    +

    ${post.title!}

    + +
    +
    +
    + + <#assign updateInterval = ((.now?long - post.updateTime?long)/86400000)?floor > + <#if updateInterval gt (settings.invalid_tips_day!'99999999')?number > +
    本文最后更新于 ${post.updateTime?string('yyyy-MM-dd')},距今已有 ${updateInterval} 天,若文章内容或图片链接失效,请留言反馈。
    + + <#if (metas?? && metas.tips?? && metas.tips!='')> +
    ${metas.tips}
    + +
    +
    + <#if !post.thumbnail?? || post.thumbnail==''> +

    ${post.title!}

    +
    + + <#if post.categories?? && post.categories?size gt 0> +
    + <#list post.categories as category> + ${category.name!}  + +
    + +
    +
    + +
    ${post.formatContent!}
    + + <#include "admire.ftl"> + + <#if tags?? && (tags?size gt 0)> +
    +
    + <#list tags as tag> + ${tag.name!}  + +
    +
    + + <#assign enable_copyright = (metas?? && metas.enable_copyright?? && metas.enable_copyright?trim!='')?then(metas.enable_copyright?trim, (settings.enable_copyright!true)?c)> + <#if enable_copyright == 'true' || enable_share> +
    + <#if enable_copyright == 'true'> + <#include "copyright.ftl"> + + <#if enable_share> +
    + + +
    +
    + + <#if nextPost?? || prevPost??> +
    +
    + <#if prevPost??> + + + ${prevPost.title!} + + + <#if nextPost??> + + ${nextPost.title!} + + + +
    +
    + + <#if (!post.disallowComment!false) && settings.enable_comment!true> +
    +

    评论

    + <#include "comment.ftl"> + <@comment post.id?c, commentType /> +
    + + \ No newline at end of file diff --git a/template/main/comment.ftl b/template/main/comment.ftl new file mode 100644 index 0000000..1949c86 --- /dev/null +++ b/template/main/comment.ftl @@ -0,0 +1,24 @@ +<#macro comment id,type> + <#assign imageUploadApi = (settings.image_upload_api?? && settings.image_upload_api!='')?then(', "imageUploadApi": "${settings.image_upload_api!}"', '') > + <#assign avatarLoading = (settings.avatar_loading?? && settings.avatar_loading!='')?then(', "avatarLoading": "${settings.avatar_loading!}"', '') > + <#assign defaultAvatar = (settings.default_avatar?? && settings.default_avatar!='')?then(', "defaultAvatar": "${settings.default_avatar!}"', '') > + <#assign anonymousUserName = (settings.anonymous_user_name?? && settings.anonymous_user_name!='')?then(', "anonymousUserName": "${settings.anonymous_user_name!}"', '') > + <#assign enableBulletScreen = (is_journals??)?then("false", (metas?? && metas.enable_bullet_screen?? && metas.enable_bullet_screen?trim!="")?then(metas.enable_bullet_screen?trim, (settings.enable_bullet_screen!false)?c))> + <#assign configs= '{"autoLoad": ${(settings.autoload_comment!true)?c + }, "showUserAgent": ${(settings.show_comment_ua!true)?c + }, "priorityQQAvatar": ${(settings.priority_qq_avatar!false)?c + }, "getQQInfo": ${(settings.enable_qq_info!false)?c + }, "commentHtml": ${(settings.enable_comment_html!false)?c + }, "loadingStyle": "${settings.comment_loading_style!"default" + }", "unfoldReplyNum": ${settings.unfold_reply_num!6 + }, "replyDescSoft": ${(settings.reply_desc_soft!false)?c + }, "enableImageUpload": ${(settings.enable_image_upload!false)?c + }, "enableBulletScreen": ${enableBulletScreen + }${imageUploadApi! + }${anonymousUserName! + }, "enableBloggerOperation": ${(settings.enable_blogger_operation!true)?c + }${avatarLoading! + }${defaultAvatar! + }}'> + + \ No newline at end of file diff --git a/template/main/copyright.ftl b/template/main/copyright.ftl new file mode 100644 index 0000000..f104c59 --- /dev/null +++ b/template/main/copyright.ftl @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/template/main/pagination.ftl b/template/main/pagination.ftl new file mode 100644 index 0000000..b76aec5 --- /dev/null +++ b/template/main/pagination.ftl @@ -0,0 +1,21 @@ +<#macro pagination method,datas,slug="",keyword="",display="5"> + <#if datas.getTotalPages() gt 1> +
    + +
    + + \ No newline at end of file diff --git a/template/widget/ad_piece.ftl b/template/widget/ad_piece.ftl new file mode 100644 index 0000000..b14ec7f --- /dev/null +++ b/template/widget/ad_piece.ftl @@ -0,0 +1,19 @@ +<#assign ad_show=(settings.ad_mode!true)?then(settings.ad_image?? && settings.ad_image != '', settings.ad_custom_code?? && settings.ad_custom_code!='')> +<#if ad_show> +
    + <#if settings.ad_mode!true> + + 广告 + + <#else> + ${settings.ad_custom_code!} + + <#if settings.show_ad_tag!true> + 广告 + <#if settings.ad_tag_close!true> + + + + +
    + \ No newline at end of file diff --git a/template/widget/categories.ftl b/template/widget/categories.ftl new file mode 100644 index 0000000..f0b9e70 --- /dev/null +++ b/template/widget/categories.ftl @@ -0,0 +1,45 @@ +<#macro categoriesTree categories> + <#list categories as category> +
  • + + ${category.name} + ${postCounts[category.id?c]!} + + <#assign num=num?number-1/> + <#if num?number gt 0 && category.children?? && category.children?size gt 0> +
      + <@categoriesTree category.children/> +
    + +
  • + <#if num?number = 0> + <#break> + + + +<#assign num= settings.categories_num!10 /> +
    + <#assign postCounts = {}> + <@categoryTag method="list"> +
    + 分类 + <#if settings.categories_more?? && settings.categories_more== true && categories?size gt num?number> + 更多 + +
    + <#list categories as category> + <#assign postCounts += {category.id: category.postCount}> + + + <@categoryTag method="tree"> + <#if categories?? && categories?size gt 0> +
    + +
    + <#else> +
    暂无分类
    + + +
    \ No newline at end of file diff --git a/template/widget/links.ftl b/template/widget/links.ftl new file mode 100644 index 0000000..a642b6b --- /dev/null +++ b/template/widget/links.ftl @@ -0,0 +1,33 @@ +<#assign num= settings.links_num!10 /> + diff --git a/template/widget/love.ftl b/template/widget/love.ftl new file mode 100644 index 0000000..60cbffa --- /dev/null +++ b/template/widget/love.ftl @@ -0,0 +1,33 @@ +
    +
    + 恋爱墙 +
    +
    +
    +
    +
    + + 自己的头像 + +
    +
    + + + + +
    +
    + + 对方的头像 + +
    +
    +
    +

    +
    +
    \ No newline at end of file diff --git a/template/widget/music.ftl b/template/widget/music.ftl new file mode 100644 index 0000000..45b6aeb --- /dev/null +++ b/template/widget/music.ftl @@ -0,0 +1,15 @@ +<#if ((settings.music_mode!'playlist') == 'playlist' && settings.netease_playlist_id?? && settings.netease_playlist_id!='') +|| (settings.music_mode! == 'config' && settings.music_config?? && settings.music_config!='')> +
    +
    + 音乐 +
    +
    + <#if (settings.music_mode!'playlist') == 'playlist'> + + <#elseif settings.music_mode! == 'config'> + + +
    +
    + \ No newline at end of file diff --git a/template/widget/notice.ftl b/template/widget/notice.ftl new file mode 100644 index 0000000..17afa9c --- /dev/null +++ b/template/widget/notice.ftl @@ -0,0 +1,8 @@ +
    +
    + 公告 +
    +
    +
    ${settings.notice_content!'

      欢迎来访${blog_title!},博主还没有发布任何公告!

    '}
    +
    +
    \ No newline at end of file diff --git a/template/widget/profile.ftl b/template/widget/profile.ftl new file mode 100644 index 0000000..e13cbed --- /dev/null +++ b/template/widget/profile.ftl @@ -0,0 +1,99 @@ +
    +
    + + + <#if settings.profile_theme_button?? && settings.profile_theme_button!=''> + <#assign profile_theme_button=settings.profile_theme_button?split('|')> + + +
    <#if settings.social_github?? && settings.social_github!=''> + + + + + <#if settings.social_qq?? && settings.social_qq!=''> + + + + + <#if settings.social_weibo?? && settings.social_weibo!=''> + + + + + <#if settings.social_twitter?? && settings.social_twitter!=''> + + + + + <#if settings.social_facebook?? && settings.social_facebook!=''> + + + + + <#if settings.social_email?? && settings.social_email!=''> + + + + + <#if settings.social_telegram?? && settings.social_telegram!=''> + + + + + <#if settings.custom_social_options?? && settings.custom_social_options!=''> + <#assign custom_social_options=settings.custom_social_options?split('\n')> + <#list custom_social_options as custom_social_option> + <#assign social_option=custom_social_option?split('|')> + <#assign social_name=(social_option[0]?? && social_option[0]?trim!='')?then(social_option[0]?trim,'')> + <#assign social_logo=(social_option[1]?? && social_option[1]?trim!='')?then(social_option[1]?trim,'')> + <#assign social_link=(social_option[2]?? && social_option[2]?trim!='')?then(social_option[2]?trim,'')> + <#if social_name!='' || social_logo!='' || social_link!=''> + + + + + + + <#if settings.social_rss!true > + + + +
    +
    +
    \ No newline at end of file diff --git a/template/widget/recent_comments.ftl b/template/widget/recent_comments.ftl new file mode 100644 index 0000000..53a9b5c --- /dev/null +++ b/template/widget/recent_comments.ftl @@ -0,0 +1,30 @@ +
    +
    + 最新评论 +
    + <@commentTag method="latest" top="${settings.recent_comments_num!5}"> + <#if comments.content?size gt 0> +
    +
      + <#list comments.content as comment> +
    • +
      + ${comment.author!} +
      +
      ${comment.author!}
      + ${comment.createTime?string("yyyy-MM-dd")} +
      +
      + +
    • + +
    +
    + <#else> +
    暂无评论
    + + +
    \ No newline at end of file diff --git a/template/widget/recent_posts.ftl b/template/widget/recent_posts.ftl new file mode 100644 index 0000000..825d72c --- /dev/null +++ b/template/widget/recent_posts.ftl @@ -0,0 +1,21 @@ +
    +
    + 最新文章 +
    + <@postTag method="latest" top="${settings.recent_posts_num!5}"> + <#if posts?size gt 0> +
    + +
    + <#else> +
    暂无文章
    + + +
    \ No newline at end of file diff --git a/template/widget/tagcloud.ftl b/template/widget/tagcloud.ftl new file mode 100644 index 0000000..8c5b310 --- /dev/null +++ b/template/widget/tagcloud.ftl @@ -0,0 +1,24 @@ +<#assign num= settings.tagcloud_num!32 /> +
    + <@tagTag method="list"> +
    + 标签云 + <#if settings.tagcloud_more?? && settings.tagcloud_more== true && tags?size gt num?number> + 更多 + +
    + <#if tags?? && tags?size gt 0> +
    + <#assign size= (tags?size > num?number)?string(num, tags?size)?number - 1 /> + <#list 0..size as i> + <#assign tag= tags[i] /> + <#assign size= tag.name?length + tag.slug?length + tag.postCount /> + ${tag.name!} + +
    + <#else> +
    暂无标签
    + + +
    \ No newline at end of file diff --git a/template/widget/tags.ftl b/template/widget/tags.ftl new file mode 100644 index 0000000..0454d29 --- /dev/null +++ b/template/widget/tags.ftl @@ -0,0 +1,22 @@ +<#assign num= settings.tags_num!18 /> +
    + <@tagTag method="list"> +
    + 标签 + <#if settings.tags_more?? && settings.tags_more== true && tags?size gt num?number> + 更多 + +
    + <#if tags?? && tags?size gt 0> +
    + <#assign size= (tags?size > num?number)?string(num, tags?size)?number - 1 /> + <#list 0..size as i> + <#assign tag= tags[i] /> + style="color: ${tag.color}; border-color: ${tag.color}; background: ${tag.color!}20" >${tag.name!} + +
    + <#else> +
    暂无标签
    + + +
    \ No newline at end of file diff --git a/template/widget/toc.ftl b/template/widget/toc.ftl new file mode 100644 index 0000000..1f93d3d --- /dev/null +++ b/template/widget/toc.ftl @@ -0,0 +1,7 @@ +
    +
    + 目录 +
    +
    +
    +
    \ No newline at end of file diff --git a/theme.yaml b/theme.yaml new file mode 100644 index 0000000..835ce56 --- /dev/null +++ b/theme.yaml @@ -0,0 +1,37 @@ +# 主题id,唯一 +id: dream +# 主题名称 +name: Dream +author: + # 作者名称 + name: nineya + # 作者网址 + website: https://www.nineya.com +# 主题描述 +description: '梦之城,童话梦境' +# 主题logo地址 +logo: https://q1.qlogo.cn/g?b=qq&nk=361654768&s=640 +# 主题地址 +website: https://blog.nineya.com +# 主题github开源地址 +repo: https://github.com/nineya/halo-theme-dream +# 版本号 +version: 2.1.3 +# 最低支持的 Halo 版本 +require: 1.3.0 +# 文章页 meta 变量 +postMetaField: + - enable_copyright + - thumbnail_mode + - tips + - enable_katex + - enable_share + - enable_bullet_screen + - index_carousel +# 自定义页 meta 变量 +sheetMetaField: + - enable_copyright + - tips + - enable_katex + - enable_share + - enable_bullet_screen \ No newline at end of file

    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 h%mEph%mKxjAZ5KpX literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Main-Italic.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..08510d85a779a19c24b2514204ff9e204edbb3df GIT binary patch literal 22076 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%0DjK5ntrP1S!Fr{s-lgGXP4QfS5*|bBDT`8 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 Zj(WZPj*iS#Z&FWfoFALYu%~4Ie*o*0b$9>( literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Main-Regular.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..42b74ab13306c0c6c361740282b13a3b36c56065 GIT binary patch literal 37856 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 J00IC101uI2uebmJ literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Main-Regular.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..18647fa6afbc40c64b6cb0a5142c2ebae8a21212 GIT binary patch literal 32312 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≦e4Xlp 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 Jcf!)<{68y9_K^Sp literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Math-BoldItalic.woff b/source/lib/katex@0.12.0/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..5b4041aa87c634e4550920a48e033b4af133d7c8 GIT binary patch literal 23980 zcmY(JV~{3Il!f26ZQHgnZQHh{ZFf)Gwr$(?v~AlqcD~sCvp3?2%6sCR$oy4tBdgrx z#l!$WfPbZ11%UtWS0eg2=${Aj|3Eai z_AmngfJ6WQ`E&pvnmCg#5Y@ue&;$Tb-2LZa{|{`sls1ch;=g_W=>UR%kV0&O@LAY6 zyZ<{H=D)nuKiaS{5GAecjQ{x*|5*Ur|1tEO2WDgF{%>D}-G4pde*ne7%Gny)nEpHS z(7#+9003&D>*VcWZ|CF;0O+Xv(-i)3q!hT$X76bFFRS_bFBkrg8Aa2wiJY74vJ>|8tyiWcKgMSNTOr&(YsqS^ z^Q1T3A28)!J&GMW{cmQ#pe}${hX^1Lu#r}Y7(tRHu`(oT4xzVq3WmiCRIjhv^H(@* z9_Nc2$}j=AUu6Tqc626TNHuoe-7mM}!4b7d6!;qJ5(Qg2xaN}{H;Rs!Yn7QdaU7HN}j8-E_o zghvx~=M*2-CGKDrSV$ym!zD;Rb1yJN!pu%bGHZF!l1_J6T+XJ_q{;c#e(~e3r%t?y zi+#2)_RKO8Oac?)g7@_f=l&u0{?rDBJnb>V06+peOuywGOAN_@7>k{g@=&$9h0N~{=!dw)1fl|S+tY+d zS2`-1JdrLQ98*-hw?S}Mja#^+ZA}vJeaOdw>b-tY%pmo=VLjk`54h&F!XvYdzlvDUP#59VAWC}=iaYqmbC41Fu+1Ignod7$IDb5Ds9D6J;I}rdp_hFEXF21x+8w+5{V8d z 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 G{{Roxxs>z( literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Math-BoldItalic.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ba55276d03067f0c9f592d1d9e4faa43482b7454 GIT binary patch literal 21192 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Math-Italic.ttf b/source/lib/katex@0.12.0/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f148fceeb07b6482aeb5944dafd3749d62416327 GIT binary patch literal 44484 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 O)nJ$a0RRF2{{Rp8?Uzsh literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_Math-Italic.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9871ab6b83556fe1ebfe44fd44184d58432ff4ea GIT binary patch literal 21668 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 Zj7;W$;!FUjs5g250000100IC101w}UK;!@b literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Bold.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6dd10388adaf48c986009e84fe140d000dc0d8b3 GIT binary patch literal 15296 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 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Italic.woff b/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..f4fa252a2c1626909a43a41af1e57ca25ee0f176 GIT binary patch literal 17044 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 L00962|Nj6F18sz3 literal 0 HcmV?d00001 diff --git a/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Italic.woff2 b/source/lib/katex@0.12.0/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9f2501a3aacb36edb18aa674188250d43992ff2e GIT binary patch literal 14484 zcmV;FIBUmuPew8T0RR91063HY4gdfE0CgMy0601T0RR9100000000000000000000 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

    J-15D0t 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