From e50b2b8b98ac82eef0fafcf22552d6c045e5572b Mon Sep 17 00:00:00 2001 From: liaohengfeng <18982620158@163.com> Date: Sat, 9 Nov 2024 07:28:12 +0000 Subject: [PATCH] Update sw-rules.js UTC 2024-11-09 Saturday 07:28:12 --- 2023/07/923208f7/index.html | 449 + 2023/10/8078c4c0/index.html | 356 + 2023/12/d2f7f0f6/index.html | 379 + 2024/01/2d44b90/index.html | 394 + 2024/01/e6bedf51/index.html | 327 + 2024/01/f0bd1f8f/index.html | 390 + 2024/02/fc9b3a4f/index.html | 550 ++ 2024/03/8bd22dec/index.html | 351 + 2024/03/8f8a3f61/index.html | 327 + 2024/03/LHF's-good-problem/index.html | 364 + 2024/03/b4348eea/index.html | 385 + 2024/03/b92b47a1/1.jpg | Bin 0 -> 152555 bytes 2024/03/b92b47a1/2.jpg | Bin 0 -> 130886 bytes 2024/03/b92b47a1/exgcd.mark_down | 66 + 2024/03/b92b47a1/index.html | 316 + 2024/03/cb668142/index.html | 317 + 2024/04/22202685/index.html | 314 + 2024/04/526fd0f8/index.html | 312 + 2024/05/843f9dbe/index.html | 312 + 2024/05/b6caff18/index.html | 322 + 2024/07/110ef1a6/index.html | 304 + 2024/07/4bc964e1/index.html | 306 + 2024/07/8a8ea489/index.html | 335 + 2024/07/c8588323/index.html | 321 + 2024/08/d03db090/index.html | 309 + 2024/10/12f8a1c6/index.html | 307 + 2024/10/3aad02/index.html | 322 + 2024/10/5279cf75/index.html | 332 + 2024/10/72aa747b/index.html | 311 + 2024/10/7677242/index.html | 314 + 2024/10/a1c8a86f/index.html | 312 + 7b8zxy39.webp | Bin 0 -> 232 bytes CNAME | 1 + about/index.html | 317 + apps/cat/index.html | 29 + apps/cat/js/catch-the-cat.js | 19 + apps/cat/js/phaser.min.js | 1 + apps/clock/0/index.html | 488 ++ apps/clock/1/css/flipclock.css | 419 + apps/clock/1/css/style.css | 48 + apps/clock/1/index.html | 55 + apps/clock/1/js/flipclock.js | 2782 ++++++ apps/clock/1/js/jquery.min.js | 6 + apps/fireworks/assets/css/style.css | 329 + apps/fireworks/assets/image/demo.webp | Bin 0 -> 304722 bytes .../assets/image/firework-burst-icon-v2.png | Bin 0 -> 149968 bytes apps/fireworks/assets/js/MyMath.js | 72 + apps/fireworks/assets/js/Stage@0.1.4.js | 305 + apps/fireworks/assets/js/fscreen@1.0.1.js | 65 + apps/fireworks/assets/js/script.js | 2308 +++++ apps/fireworks/index.html | 139 + apps/game/css/demo.css | 148 + apps/game/css/game.css | 182 + apps/game/css/styles.css | 8 + apps/game/fonts/codropsicons/codropsicons.eot | Bin 0 -> 2244 bytes apps/game/fonts/codropsicons/codropsicons.svg | 24 + apps/game/fonts/codropsicons/codropsicons.ttf | Bin 0 -> 2060 bytes .../game/fonts/codropsicons/codropsicons.woff | Bin 0 -> 2072 bytes apps/game/fonts/codropsicons/license.txt | 6 + apps/game/index.html | 45 + apps/game/js/TweenMax.min.js | 17 + apps/game/js/game.js | 1005 +++ apps/game/js/main_step1.js | 277 + apps/game/js/main_step2.js | 489 ++ apps/game/js/three.min.js | 966 +++ apps/game/part1.html | 22 + apps/game/part2.html | 24 + apps/ten-years/html/jquery.min.js | 2 + apps/ten-years/html/wormhole.css | 87 + apps/ten-years/index.html | 230 + archives/2023/07/index.html | 228 + archives/2023/10/index.html | 228 + archives/2023/12/index.html | 228 + archives/2023/index.html | 228 + archives/2024/01/index.html | 228 + archives/2024/02/index.html | 228 + archives/2024/03/index.html | 228 + archives/2024/04/index.html | 228 + archives/2024/05/index.html | 228 + archives/2024/07/index.html | 228 + archives/2024/08/index.html | 228 + archives/2024/10/index.html | 228 + archives/2024/index.html | 228 + archives/2024/page/2/index.html | 228 + archives/index.html | 228 + archives/page/2/index.html | 228 + archives/page/3/index.html | 228 + assets/css/APlayer.min.css | 3 + assets/js/APlayer.min.js | 2 + assets/js/Meting.min.js | 1 + baidusitemap.xml | 107 + categories/CSP/index.html | 228 + categories/DP/index.html | 228 + categories/index.html | 299 + .../\344\271\261\350\256\260/index.html" | 228 + .../\345\233\276\350\256\272/index.html" | 228 + .../\346\200\273\347\273\223/index.html" | 228 + .../\346\225\260\345\255\246/index.html" | 228 + .../\346\232\221\345\201\207/index.html" | 228 + .../\346\232\221\346\234\237/index.html" | 228 + .../\351\233\206\350\256\255/index.html" | 228 + css/ForIOS.css | 5 + css/blacklist.json | 1 + css/copyright.css | 19 + css/font.css | 28 + css/hbe.style.css | 749 ++ css/icon.css | 9 + css/index.css | 7585 +++++++++++++++++ css/links.css | 39 + css/loading.css | 355 + css/mouse.css | 26 + css/music.css | 967 +++ css/my.css | 0 css/progress_bar.css | 79 + css/screen.css | 124 + css/snackbar.css | 205 + css/touming.css | 146 + css/twikoo.css | 116 + css/universe.css | 20 + css/var.css | 0 css/xxs.css | 566 ++ fonts/FiraCode-Regular.woff2 | Bin 0 -> 103240 bytes fonts/MapleMono-Regular.ttf | Bin 0 -> 93216 bytes fonts/iconfont.ttf | Bin 0 -> 1904 bytes fonts/iconfont.woff | Bin 0 -> 1592 bytes fonts/iconfont.woff2 | Bin 0 -> 1136 bytes img/404.jpg | Bin 0 -> 16393 bytes img/favicon.png | Bin 0 -> 323 bytes img/fireworks.svg | 1 + img/friend_404.gif | Bin 0 -> 275577 bytes img/logo.png | Bin 0 -> 2770 bytes img/nyancat.gif | Bin 0 -> 63005 bytes img/working.ani | Bin 0 -> 1517564 bytes index.html | 314 + js/ai-main.js | 20 + js/anzhiyu.js | 57 + js/bg.js | 135 + js/day.js | 193 + js/flower.js | 220 + js/inpack-music.js | 1 + js/ip.js | 289 + js/lunar.js | 1071 +++ js/main.js | 878 ++ js/mouse.js | 82 + js/music.css | 6 + js/my.js | 0 js/search/algolia.js | 177 + js/search/local-search.js | 364 + js/snackbar.js | 104 + js/snow.js | 106 + js/sun_moon.js | 119 + js/textWindow.js | 52 + js/tw_cn.js | 122 + js/universe.js | 2 + js/utils.js | 296 + lib/hbe.js | 297 + link/index.html | 299 + music/index.html | 264 + page/2/index.html | 393 + page/3/index.html | 330 + pwa/apple-touch-icon.png | Bin 0 -> 25110 bytes pwa/favicon-96x96.png | Bin 0 -> 8514 bytes pwa/favicon.ico | Bin 0 -> 15086 bytes pwa/favicon.svg | 1 + pwa/manifest.json | 1 + pwa/web-app-manifest-192x192.png | Bin 0 -> 27698 bytes pwa/web-app-manifest-512x512.png | Bin 0 -> 133327 bytes search.xml | 1442 ++++ sitemap.xml | 471 + sw-dom.js | 45 + sw.js | 417 + tags/CSP/index.html | 228 + tags/DP/index.html | 228 + tags/blog/index.html | 228 + tags/exgcd/index.html | 228 + tags/index.html | 299 + "tags/\344\271\261\350\256\260/index.html" | 228 + "tags/\345\233\276\350\256\272/index.html" | 228 + .../index.html" | 228 + "tags/\346\200\273\347\273\223/index.html" | 228 + .../index.html" | 228 + "tags/\346\225\260\345\255\246/index.html" | 228 + "tags/\346\232\221\345\201\207/index.html" | 228 + "tags/\346\232\221\346\234\237/index.html" | 228 + .../index.html" | 228 + "tags/\350\247\204\345\210\222/index.html" | 228 + "tags/\351\233\206\350\256\255/index.html" | 228 + 187 files changed, 50286 insertions(+) create mode 100644 2023/07/923208f7/index.html create mode 100644 2023/10/8078c4c0/index.html create mode 100644 2023/12/d2f7f0f6/index.html create mode 100644 2024/01/2d44b90/index.html create mode 100644 2024/01/e6bedf51/index.html create mode 100644 2024/01/f0bd1f8f/index.html create mode 100644 2024/02/fc9b3a4f/index.html create mode 100644 2024/03/8bd22dec/index.html create mode 100644 2024/03/8f8a3f61/index.html create mode 100644 2024/03/LHF's-good-problem/index.html create mode 100644 2024/03/b4348eea/index.html create mode 100644 2024/03/b92b47a1/1.jpg create mode 100644 2024/03/b92b47a1/2.jpg create mode 100644 2024/03/b92b47a1/exgcd.mark_down create mode 100644 2024/03/b92b47a1/index.html create mode 100644 2024/03/cb668142/index.html create mode 100644 2024/04/22202685/index.html create mode 100644 2024/04/526fd0f8/index.html create mode 100644 2024/05/843f9dbe/index.html create mode 100644 2024/05/b6caff18/index.html create mode 100644 2024/07/110ef1a6/index.html create mode 100644 2024/07/4bc964e1/index.html create mode 100644 2024/07/8a8ea489/index.html create mode 100644 2024/07/c8588323/index.html create mode 100644 2024/08/d03db090/index.html create mode 100644 2024/10/12f8a1c6/index.html create mode 100644 2024/10/3aad02/index.html create mode 100644 2024/10/5279cf75/index.html create mode 100644 2024/10/72aa747b/index.html create mode 100644 2024/10/7677242/index.html create mode 100644 2024/10/a1c8a86f/index.html create mode 100644 7b8zxy39.webp create mode 100644 CNAME create mode 100644 about/index.html create mode 100644 apps/cat/index.html create mode 100644 apps/cat/js/catch-the-cat.js create mode 100644 apps/cat/js/phaser.min.js create mode 100644 apps/clock/0/index.html create mode 100644 apps/clock/1/css/flipclock.css create mode 100644 apps/clock/1/css/style.css create mode 100644 apps/clock/1/index.html create mode 100644 apps/clock/1/js/flipclock.js create mode 100644 apps/clock/1/js/jquery.min.js create mode 100644 apps/fireworks/assets/css/style.css create mode 100644 apps/fireworks/assets/image/demo.webp create mode 100644 apps/fireworks/assets/image/firework-burst-icon-v2.png create mode 100644 apps/fireworks/assets/js/MyMath.js create mode 100644 apps/fireworks/assets/js/Stage@0.1.4.js create mode 100644 apps/fireworks/assets/js/fscreen@1.0.1.js create mode 100644 apps/fireworks/assets/js/script.js create mode 100644 apps/fireworks/index.html create mode 100644 apps/game/css/demo.css create mode 100644 apps/game/css/game.css create mode 100644 apps/game/css/styles.css create mode 100644 apps/game/fonts/codropsicons/codropsicons.eot create mode 100644 apps/game/fonts/codropsicons/codropsicons.svg create mode 100644 apps/game/fonts/codropsicons/codropsicons.ttf create mode 100644 apps/game/fonts/codropsicons/codropsicons.woff create mode 100644 apps/game/fonts/codropsicons/license.txt create mode 100644 apps/game/index.html create mode 100644 apps/game/js/TweenMax.min.js create mode 100644 apps/game/js/game.js create mode 100644 apps/game/js/main_step1.js create mode 100644 apps/game/js/main_step2.js create mode 100644 apps/game/js/three.min.js create mode 100644 apps/game/part1.html create mode 100644 apps/game/part2.html create mode 100644 apps/ten-years/html/jquery.min.js create mode 100644 apps/ten-years/html/wormhole.css create mode 100644 apps/ten-years/index.html create mode 100644 archives/2023/07/index.html create mode 100644 archives/2023/10/index.html create mode 100644 archives/2023/12/index.html create mode 100644 archives/2023/index.html create mode 100644 archives/2024/01/index.html create mode 100644 archives/2024/02/index.html create mode 100644 archives/2024/03/index.html create mode 100644 archives/2024/04/index.html create mode 100644 archives/2024/05/index.html create mode 100644 archives/2024/07/index.html create mode 100644 archives/2024/08/index.html create mode 100644 archives/2024/10/index.html create mode 100644 archives/2024/index.html create mode 100644 archives/2024/page/2/index.html create mode 100644 archives/index.html create mode 100644 archives/page/2/index.html create mode 100644 archives/page/3/index.html create mode 100644 assets/css/APlayer.min.css create mode 100644 assets/js/APlayer.min.js create mode 100644 assets/js/Meting.min.js create mode 100644 baidusitemap.xml create mode 100644 categories/CSP/index.html create mode 100644 categories/DP/index.html create mode 100644 categories/index.html create mode 100644 "categories/\344\271\261\350\256\260/index.html" create mode 100644 "categories/\345\233\276\350\256\272/index.html" create mode 100644 "categories/\346\200\273\347\273\223/index.html" create mode 100644 "categories/\346\225\260\345\255\246/index.html" create mode 100644 "categories/\346\232\221\345\201\207/index.html" create mode 100644 "categories/\346\232\221\346\234\237/index.html" create mode 100644 "categories/\351\233\206\350\256\255/index.html" create mode 100644 css/ForIOS.css create mode 100644 css/blacklist.json create mode 100644 css/copyright.css create mode 100644 css/font.css create mode 100644 css/hbe.style.css create mode 100644 css/icon.css create mode 100644 css/index.css create mode 100644 css/links.css create mode 100644 css/loading.css create mode 100644 css/mouse.css create mode 100644 css/music.css create mode 100644 css/my.css create mode 100644 css/progress_bar.css create mode 100644 css/screen.css create mode 100644 css/snackbar.css create mode 100644 css/touming.css create mode 100644 css/twikoo.css create mode 100644 css/universe.css create mode 100644 css/var.css create mode 100644 css/xxs.css create mode 100644 fonts/FiraCode-Regular.woff2 create mode 100644 fonts/MapleMono-Regular.ttf create mode 100644 fonts/iconfont.ttf create mode 100644 fonts/iconfont.woff create mode 100644 fonts/iconfont.woff2 create mode 100644 img/404.jpg create mode 100644 img/favicon.png create mode 100644 img/fireworks.svg create mode 100644 img/friend_404.gif create mode 100644 img/logo.png create mode 100644 img/nyancat.gif create mode 100644 img/working.ani create mode 100644 index.html create mode 100644 js/ai-main.js create mode 100644 js/anzhiyu.js create mode 100644 js/bg.js create mode 100644 js/day.js create mode 100644 js/flower.js create mode 100644 js/inpack-music.js create mode 100644 js/ip.js create mode 100644 js/lunar.js create mode 100644 js/main.js create mode 100644 js/mouse.js create mode 100644 js/music.css create mode 100644 js/my.js create mode 100644 js/search/algolia.js create mode 100644 js/search/local-search.js create mode 100644 js/snackbar.js create mode 100644 js/snow.js create mode 100644 js/sun_moon.js create mode 100644 js/textWindow.js create mode 100644 js/tw_cn.js create mode 100644 js/universe.js create mode 100644 js/utils.js create mode 100644 lib/hbe.js create mode 100644 link/index.html create mode 100644 music/index.html create mode 100644 page/2/index.html create mode 100644 page/3/index.html create mode 100644 pwa/apple-touch-icon.png create mode 100644 pwa/favicon-96x96.png create mode 100644 pwa/favicon.ico create mode 100644 pwa/favicon.svg create mode 100644 pwa/manifest.json create mode 100644 pwa/web-app-manifest-192x192.png create mode 100644 pwa/web-app-manifest-512x512.png create mode 100644 search.xml create mode 100644 sitemap.xml create mode 100644 sw-dom.js create mode 100644 sw.js create mode 100644 tags/CSP/index.html create mode 100644 tags/DP/index.html create mode 100644 tags/blog/index.html create mode 100644 tags/exgcd/index.html create mode 100644 tags/index.html create mode 100644 "tags/\344\271\261\350\256\260/index.html" create mode 100644 "tags/\345\233\276\350\256\272/index.html" create mode 100644 "tags/\345\245\275\351\242\230\345\210\206\344\272\253/index.html" create mode 100644 "tags/\346\200\273\347\273\223/index.html" create mode 100644 "tags/\346\216\250\345\274\217\345\255\220/index.html" create mode 100644 "tags/\346\225\260\345\255\246/index.html" create mode 100644 "tags/\346\232\221\345\201\207/index.html" create mode 100644 "tags/\346\232\221\346\234\237/index.html" create mode 100644 "tags/\346\234\210\345\272\246\346\200\273\347\273\223/index.html" create mode 100644 "tags/\350\247\204\345\210\222/index.html" create mode 100644 "tags/\351\233\206\350\256\255/index.html" diff --git a/2023/07/923208f7/index.html b/2023/07/923208f7/index.html new file mode 100644 index 000000000..56f5bab38 --- /dev/null +++ b/2023/07/923208f7/index.html @@ -0,0 +1,449 @@ +DP总结 | 廖桁锋的博客 + + + + + + + + + + + + +

DP总结

线性DP

+
    +
  • +

    定义:

    +
    +

    具有线性"阶段"划分的DPDP被称为线性DPDP

    +
    +
  • +
  • +

    经典模型

    +
    +

    LISLIS , LCSLCS , LCISLCIS(最长公共上升子序列) , 最长公共子序列最长公共子序列 , 数字三角形数字三角形

    +
    +
  • +
  • +

    例题:

    +
      +
    1. +

      LCS

      +
      题意:
      +
      +

      求两个字符串中字典序最小的LCSLCS

      +
      +
      方法:
      +
      +

      vectorvector 记录下每一个状态下的答案。

      +
      +
    2. +
    3. +

      最长上升子序列(LIS)

      +
      题意:
      +
      +
        +
      • 给定一个长为 n 的序列 aia_i,求这个序列的最长单调上升子序列长度。
      • +
      • 要求 O(nlogn)O(n log_n)
      • +
      +
      +
      方法:
      +
      +

      在长度一定的情况下,若结尾元素更小,那么最终答案也就更优。

      +

      所以我们维护一个数组表示当前的LISLIS,每一次插入当前元素。

      +
      +
      code :
      +
      #include<bits/stdc++.h>
      #define int long long
      #define rep(i,a,b) for(int i=(a);i<=(b);++i)
      using namespace std;

      const int N=1e6 +3;
      int n,m,a[N],f[N];

      signed main()
      {
      cin>>n; for(int i=1;i<=n;i++) cin>>a[i];
      memset(f,0x3f,sizeof f);
      for(int i=1;i<=n;i++) *upper_bound(f+1,f+n+1,a[i])=a[i];
      int res=1; while(f[res]!=f[0]) res++;
      cout<<res-1<<endl;
      return 0;
      }
      +
    4. +
    +
  • +
+

二维平面上的DP与 状态压缩DP

+
    +
  • +
    怎样判断?
    +
    +

    二维平面看题面。

    +

    状态压缩的n22n\le 22

    +
    +
  • +
  • +

    例题:

    +
      +
    1. +

      Grid 2

      +
      题目:
      +
      +

      给一个 H×W 的网格,每一步只能向右或向下走,给出 nn 个坐标,这些坐标对应的位置不能经过,求从左上角 (1,1)走到右下角 (H,W) 的方案数,答案对 109+710^9+7 取模。

      +
      +
      思路:
      +
      +

      首先对于 fi,j (1iH,1jW)f_{i,j}\ (1\le i\le H,1\le j\le W) 可行性显然,但空间不够。我们只能对着 nn 个坐标开数组。

      +

      我们设方程 fif_i 表示从 (1,1) 做到第i个坐标,且只经过第ii个坐标的方案总数。

      +

      那么,我们尝试使用容斥原理进行转移

      +
        +
      • 从 (1,1) 到 (xi,yix_i,y_i) 的方案数是 Cxi1+yi1xi1{C_{x_i-1+y_i-1}^{x_i -1}}
      • +
      • 从某一个坐标转移过来的方案数是 $\sum C_{x_i-x_j+y_i-y_j}^{x_i -x_j} $
      • +
      +
      +
    2. +
    3. +

      Matching

      +
      题目:
      +
      +

      给定 N,表示有 N 个男生和 N 个女生,再给你一个矩阵 a,如果ai,ja_{i,j} 等于 1,表示 i 这个男生和 j 这个女生可以匹配成一对,否则不能。 问要匹配 N 对的方案数。答案对 109+710^9+7 取模。

      +
      +
      思路:
      +
      +

      状压男生,枚举女生

      +
      +
    4. +
    +
  • +
+

区间_DP_

+

都离不开三重循环: 长度左端点转移的断点f...\sum\limits_{长度} \sum\limits_{左端点} \sum\limits_{转移的断点} f...

+
    +
  1. +

    石子合并

    +
    题目:
    +
    +

    在一个圆形操场的四周摆放 N 堆石子,现要将石子有次序地合并成一堆,规定每次只能选相邻的 2 堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。

    +

    试设计出一个算法,计算出将 N* 堆石子合并成 1 堆的最小得分和最大得分。

    +
    +
    思路:
    +
    +

    dp[i][j]表示区间[i,j]的最小价值。

    +

    不妨从终点考虑问题,即结果为两个子区间合并的最小值再加上合并需要的代价即可。

    +

    枚举两个子区间,即枚举这个区间的中间点k,使这个区间被分为[i,k][k+1,j]两个区间,取一遍最小值加上合并的即为当前区间所求。

    +

    至于合并的代价,用前缀和即可。

    +

    所以dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1])

    +
    +
  2. +
  3. +

    Deque

    +
    题目:
    +
    +

    给定 N 个数的序列 AA

    +

    A 和 B 轮流取数,每个人每次可以从序列头部或者尾部取走一个数(直到序列为空)。

    +

    A 和 B 都希望自己取得的数的总和尽可能大。

    +

    假设最优策略下,A 取得的数的总和是 X,B 取得的数的总和是 Y, 请输出 X-Y。

    +
    +
    思路:
    +
    +

    显然游戏过程中剩下的数必然是连续的一段。设 fi,jf_{i,j} 表示剩下下标为 [i,j][i,j] 的数时,先手(并非当前的先手而是开始时的先手,下同)能取得的最大分数差。

    +

    分两种情况讨论:

    +
      +
    • 已经取走的数为偶数个,此时先手取,fi,jf_{i,j}=maxmax⁡ (fi+1,j+aif_{i+1,j}+a_i,fi,j1f_{i,j-1},fi,j1+ajf_{i,j-1}+a_j)
    • +
    • 已经取走的数为奇数个,此时后手取,fi,jf_{i,j}=maxmax⁡ (fi+1,jaif_{i+1,j}-a_i,fi,j1f_{i,j-1},fi,j1ajf_{i,j-1}-a_j)
    • +
    +
    +
  4. +
+

换根_DP_

+

本质上只是把序列变成了树

+
    +
  1. +

    Subtree

    +
    题目:
    +
    +

    有一个 n 个节点的树,对一些节点染色,使得所有被染色的节点是一个连通块。求对于 1,2,3,...,n1,2,3,...,n每个节点,该节点被染色的方案个数。所有答案对 M 取模。

    +
    +
    思路:
    +
    +

    我们设pip_i表示以ii为跟的子树中的可行方案数,qiq_i表示ii的父节点中除了ii的方案数。

    +

    那么,有ansi=(qi+1)pians_i=(q_i+1)*p_i

    +
    +
  2. +
+

_DP_优化

+

根据方程运用相应的数据结构即可

+
DP总结
https://blog.lhf.us.kg/2023/07/923208f7/
作者
LHF123
发布于
2023-07-22
更新于
2024-11-09
许可协议
CC BY 4.0

评论
\ No newline at end of file diff --git a/2023/10/8078c4c0/index.html b/2023/10/8078c4c0/index.html new file mode 100644 index 000000000..54f7abe91 --- /dev/null +++ b/2023/10/8078c4c0/index.html @@ -0,0 +1,356 @@ +CSP总结 | 廖桁锋的博客 + + + + + + + + + + + + +

CSP总结

Day 0

+
+

晚上去了酒店,和另外几个人一起复习了 TarjanTarjan ,然后就睡了。

+

睡觉前想着 2.5h2.5h 写前两个题,后两个题打下暴力,应该能拿 一等

+
+

Day 1 + 上午

+
+

7 : 407\ :\ 40

+

早上起来的最早,但发现自己感冒了。喝了只 蒲地蓝蒲地蓝 ,还戴上了 开喉剑开喉剑

+

心里有种不祥的预感,感觉 T3T3 会是与式子有关的 大模拟。

+

8 : 308\ :\ 30

+

到一中集了合,拍了张照。果老师讲了些关于低级失误的事。

+

8 : 308\ :\ 30

+

进了考场,发现座位设计非常 反人类,腿稍稍往前放一点就会碰到膝盖。

+

题面与压缩包出现了分离,监考老师也搞了很久

+

8 : 558\ :\ 55

+

T1T1 感觉像约瑟夫,但 手搓样例 后发现每次会消掉 n13\lfloor \frac{n-1} {3} \rfloor 个,while(n)while(n) 即可。

+

对于第二个问,有一个显然的性质:

+
+

nn 消掉前,他一定在末尾。

+
+

所以while(n)while(n)时判断一下 (n1)%3==1(n-1)\%3==1 即可。

+

9 : 309\ :\ 30

+

T1T1 的对拍打了一下,然后发现 T2T2 是贪心水题,15min15min 切了。

+

9 : 509\ :\ 50

+

发现 T3T3 是二次函数求值,回想起了去年 T2T2sqrtsqrt 爆精度,就筛了 1e61e6 内的质数。

+

然后模拟即可。

+

11 : 0011\ :\ 00

+

把前三个题看了一遍,发现没问题,开冲 T4T4

+

12 : 0012\ :\ 00

+

考试结束,预估

+

$100\ +\ 100\ +\ 100\ +\ 10\ =\ 310 $ , 感觉一等没问题。

+
+

Day 1 + 下午

+
+

2 : 302\ :\ 30

+

进入了考场,pdfpdf 的密码老师没找到,延迟了 5min5min

+

3 : 003\ :\ 00

+

发现 T1T1 是水题,枚举所有状态再反过来判断即可。

+

3 : 353\ :\ 35

+

T2T2 先打了一个 O(n3)O(n^3) 的暴力,然后发现枚举右端点太费时间,优化成了 O(n2)O(n^2)

+

3 : 553\ :\ 55

+

看了一下 T4T4 ,感觉像 树上DP ,但没推出来,转去了 T3T3

+

6 : 006\ :\ 00

+

一直在调 T3T3 ,感觉灵魂出窍。

+

对其原则对其原则 很好做,但 44 操作难调得死,最后修修补补的过了大样例。

+

考完发现没有初始化

+

估分 100 + 50 + + ? + 0 = 150+100\ +\ 50\ +\ +\ ?\ +\ 0\ =\ 150^+

+
+

反思

+
+

比赛节奏感觉可以,SST4T4 没看出来感觉很可惜。

+

听说 JJ 组的 T4T4 是分层图最短路,考场上自己没去想。

+

SST3T3 能拿多少是多少,得一等的希望就在他身上了。

+
+
CSP总结
https://blog.lhf.us.kg/2023/10/8078c4c0/
作者
LHF123
发布于
2023-10-24
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2023/12/d2f7f0f6/index.html b/2023/12/d2f7f0f6/index.html new file mode 100644 index 000000000..ef117f2a8 --- /dev/null +++ b/2023/12/d2f7f0f6/index.html @@ -0,0 +1,379 @@ +23.12.9考试总结 | 廖桁锋的博客 + + + + + + + + + + + +

23.12.9考试总结

分数 : 606050+10+0+050+10+0+0)

+

A. stick

+
+

先是一个数字,然后一串00,最后一串88。贪就完了。

+

注意模数是 99824499824485353。挂分 50pts50pts

+

B. game

+
+

正解爆搜。少打 break90pts90pts

+

答案很多,所以 yesyes 跑得很快。

+

最坏情况5×65\times 6,此时O(14×214×316)O(1^4\times2^{14}\times3^{16})

+

注意到数据很小,考虑可行性剪枝即可。

+

来自 永远的7日之都 .

+

C. noip

+
+

万恶的 O2O2RE  0RE\ \ 0

+

字典序从大到小搜索,DPDP 预处理 每个后缀首字母确定的情况下所能得到的最大权值每个后缀首字母确定的情况下所能得到的最大权值 ,判断当前是否  x\geq\ x (可行性剪枝)(可行性剪枝)

+
+

学的是 DP作为部分DP作为部分 的思路。

+
+

D. remove

+
+

区间 DPDP。求

+

min{a×k+b×i=1k(maximini)}min +\left\{ +\begin{aligned} +a \times k + b\times\sum\limits_{i=1}^{k} \Big (max_i-min_i\Big) +\end{aligned} +\right\} +

+

设方程 fl,r,max,minf_{l,r,max,min} 表示 消除区间 [l,r][l,r] 使其剩下的最大值为 max ,最小值为 min 的最小代价。gl,rg_{l,r} 表示 区间[l,r][l,r]中全消的最小代价。

+

所以

+
+
    +
  1. +
    初始化 :
    +
  2. +
+

gl,r=ming_{l,r}=min{fl,r,max,min+a+b×(rl)2f_{l,r,max,min}+a+b\times (r-l)^2}

+
    +
  1. +
    转移
    +
  2. +
+

左边空或右边空 :

+
    +
  • fl,r,max,min=min{gl,k+fk+1,r,max,min}f_{l,r,max,min}=\min\{g_{l,k} + f_{k+1,r,max,min}\}
  • +
  • fl,r,max,min=min{gk+1,r+fl,k,max,min}f_{l,r,max,min}=\min\{g_{k+1,r} + f_{l,k,max,min}\}
  • +
+

两边都空

+
    +
  • fl,r,max,min=min{fl,r,max,min+fk+1,r,max,min}f_{l,r,max,min}=\min\{f_{l,r,max,min} + f_{k+1,r,max,min}\}
  • +
+

端点刷表

+
    +
  • fl,r+1,max(max,wl),min(min,wr)=fl,r,max,minf_{l,r+1,max(max,w_l),min(min,w_r)}=f_{l,r,max,min}
  • +
+
    +
  1. +
    g?
    +

    gl,r=ming_{l,r}=min{fl,r,max,min+a+b×(maxmin)2f_{l,r,max,min}+a+b\times(max-min)^2}

    +
  2. +
  3. +
    离散化后 O(n4)O(n^4)
    +
  4. +
+
+
+

问题:

+
    +
  1. +
    手抄斩手,使用CV大发。
    +
  2. +
  3. +
    O2 要看返回值。
    +
  4. +
  5. +
    对拍数据要把时间卡到满,不能放水。
    +
  6. +
+
23.12.9考试总结
https://blog.lhf.us.kg/2023/12/d2f7f0f6/
作者
LHF123
发布于
2023-12-09
更新于
2024-11-09
许可协议
CC BY 4.0

评论
\ No newline at end of file diff --git a/2024/01/2d44b90/index.html b/2024/01/2d44b90/index.html new file mode 100644 index 000000000..7e8793c73 --- /dev/null +++ b/2024/01/2d44b90/index.html @@ -0,0 +1,394 @@ +图论总结 | 廖桁锋的博客 + + + + + + + + + + + + +

图论总结

图论

+
+

0.有感而发

+
+

眼睛瞎了有利于打Dijkstra。 by NotDeep

+

如果这题我不会做,那么一定是图论。 by NotDeep

+
+
+

1. 基本算法

+

Case 1:Case\ 1: Dijkstra

+

        ~~~~~~~~本质是 贪心+DP贪心+DP

+

        ~~~~~~~~适用于非负权权图,保证当前取出的节点的最短路是确定的,是未确定最短路的节点中最小的

+

        ~~~~~~~~常见题型 : 补图,非负权图上用 ta ( SPFASPFA已死 )。

+

Case 2:Case\ 2: Floyd

+

        ~~~~~~~~通过 O(n3)O(n^3) 的时间求出任意两点的最短路。可以在负权图上使用。

+

        ~~~~~~~~可以求 最小环,传递闭包

+

        ~~~~~~~~下面对最小环进行说明:

+
//g[i][j]表示 i->j 的最短路,f[i][j]表示i->j的 边的长度
//把最短路拆成 (i-j) + (i>k,k->j)
//用 dji 可以做到 O(m(n+m)log m)
for(int k=1;k<=n;k++)
{
for(int i=1;i<=k-1;i++)
for(int j=i+1;j<=k-1;j++)
ans=min(ans,f[i][k]+f[k][j]+g[i][j]);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
g[i][j]=min(g[i][k]+g[k][j],g[i][j]);
}
+

Case 3:Case\ 3: Bellman–Ford

+

        ~~~~~~~~ 的角度考虑最短路:

+

            ~~~~~~~~~~~~最短路的边的个数 最多 是 n-1。

+

        ~~~~~~~~如果 边数 大于了 n-1 , 说明原图上有负环。

+

        ~~~~~~~~通过 for(i=1  n)   for([u,v]E)  松弛for(i=1\ \rightarrow\ n)\ \ \ for([u,v] \in E)\ \ 松弛 可以让每一条边都走过。

+

        ~~~~~~~~但实际上跑不满,所以有了 SPFASPFA

+

Case 4:Case\ 4: SPFA

+

        ~~~~~~~~Case 3Case\ 3的广搜优化,可以判负环。最坏 O(nm)O(nm)

+

        ~~~~~~~~优化点这儿

+
+

2. 常见思路

+

Case 1:Case\ 1: 分层图最短路.link.

+

Case 2:Case\ 2: Bellman–Ford 找负环

+

Case 3:Case\ 3: 跑完最短路后,在 最短路图(DAG) 上DPDP

+

Case 4:Case\ 4: 多维最短路

+

Case 5:Case\ 5: 拆贡献/拆来源/YY长啥样

+
+

3. 魔改

+

Case 1:Case\ 1: 贪心

+

        ~~~~~~~~摄像头问题2摄像头问题2为例:

+

           ~~~~~~~~~~~对于一段区间 [l,r][l,r] 我们连接一条 lr+1l \rightarrow r+1 的边,在连接 ii1 ,ini \rightarrow i-1\ ,i\in n

+

           ~~~~~~~~~~~distidist_i 表示覆盖区间 [1,i1][1,i-1] 的代价,再跑最短路即可。

+

Case 2:Case\ 2: DPDP

+

        ~~~~~~~~Wi-Fi 为例:

+

           ~~~~~~~~~~~我们把每种操作转换为 带权区间覆盖 , 就转回了 摄像头2摄像头2

+

      ~~~~~~猜想: 区间覆盖问题都能用图论

+
+
+

4. 题目详解

+

1. P4366P4366

+

​ 卡 O(mlogm)O(m\log m) 的 dji 的题目少的很,遇见就要珍惜。

+

​ 考虑异或性质:

+

xz=(xy)(yz)<=xy+yzx \oplus z=(x\oplus y) \oplus (y\oplus z)<=x\oplus y+y\oplus z +

+

​ 对于每个节点,拆成 32 个节点: {vv=x2k,kN,vn}\{v|v=x \oplus2^k,k\in N,v\leq n\},边数就会缩短成 nlogn+mn\log n+m

+

2. 神秘力量

+

​ 先对补图进行概念阐述:

+

        ~~~~~~~~完全图-现有图=现有图的补图

+

​ 因为dji的堆顶是所有未确定最短路里最小的,所以能用模法就用模法。

+

​ 维护时可以用堆乱搞或用链表维护。分别为 O(mlogm)O(m \log m)O(n)O(n)

+

3. 奇怪的最短路

+

​ 考虑答案长啥样:

+

+

ans=min{dis特殊点1u+w(u,v)+disv特殊点2    [u,v]G}ans=min\left\{ dis_{特殊点1\rightarrow u}+w(u,v)+dis_{v\rightarrow 特殊点2}~~ |~~[u,v] \in G \right\}.

+

​ 因为当前点可能存在多个前驱,所以要记录个数进行匹配。

+

​ 其实还有一种方法很妙:

+

        ~~~~~~~~若要将 nn 个数中每两个数都产生一次配对,可以在 lognlog_n 次内用二进制思想完成。

+

        ~~~~~~~~对每一位分组:

+

              ~~~~~~~~~~~~~~0 为一组, 1 又为一组

+

4. 果国的奇妙旅行

+

​ 首先说明最优策略是啥: 通过当前道路能使答案更优。

+

​ 然后说明一件事: 期望为什么要倒着求?

+

        ~~~~~~~~其实可以顺着求,但是情况不多。

+

        ~~~~~~~~主要原因是:

+

              ~~~~~~~~~~~~~~期望的递归出口是 终点\rightarrow终点 = 0 , 所以倒推。(或者把未知数砍了解方程)。

+

              ~~~~~~~~~~~~~~概率的起点是 起点。

+

        ~~~~~~~~fi : in的期望步数f_i~:~i到n的期望步数 , 则有

+

f[u]du[u]pt[u]du[u]×f[u]=uvf[v]du[u]+1进而   f[u]=du[u]+uvf[v]pt[u]f[u]-\frac{du[u]-pt[u]}{du[u]} \times f[u]= \sum_{u\rightarrow v} \frac {f[v]}{du[u]}+1 +\\ \\ +进而 ~~~f[u]=\frac{du[u]+\sum_{u\rightarrow v} {f[v]}} {pt[u]} +

+

5.红灯

+

​ 明显让你建图,但是你就是会建错。

+

​ 评价:代码力。

+

6.CF938D

+

​ 一到很像树形DPDP 的题。

+

​ 把 超级原点 到每一个节点的距离设为 点权 即可。

+
+

5. 总结

+
+

图论很神奇,但无非就是建图和模板。

+

最常见的建图是分层图,也有线段树优化建图等。

+

简单的图论一眼题,复杂的根本想不到。

+

最短路 + 拓扑 很常见。

+
+
图论总结
https://blog.lhf.us.kg/2024/01/2d44b90/
作者
LHF123
发布于
2024-01-10
更新于
2024-11-09
许可协议
CC BY 4.0

评论
\ No newline at end of file diff --git a/2024/01/e6bedf51/index.html b/2024/01/e6bedf51/index.html new file mode 100644 index 000000000..2cca3759d --- /dev/null +++ b/2024/01/e6bedf51/index.html @@ -0,0 +1,327 @@ +0113考试总结 | 廖桁锋的博客 + + + + + + + + + + + +

0113考试总结

A.

+
+

思维题,没想出来

+

答案长这样:

+

+
+
+

B.

+
+

式子很好推,有两种设法:

+

        ~~~~~~~~ i 到 i+1 的期望

+

        ~~~~~~~~ i 到 n 的期望

+

其中 第一种可以求通项,第二种要矩阵加速递推。

+
+
+

C.

+
+

枚举 j ,然后字典树分层计数。

+

使用 01trie.

+
+
+

D.

+
+

把所有危险区域按 mod d 划进一个 d*d 的正方形内。

+

然后就变成了找空位。

+

类 扫描线。

+
+
0113考试总结
https://blog.lhf.us.kg/2024/01/e6bedf51/
作者
LHF123
发布于
2024-01-13
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/01/f0bd1f8f/index.html b/2024/01/f0bd1f8f/index.html new file mode 100644 index 000000000..8b8a55f33 --- /dev/null +++ b/2024/01/f0bd1f8f/index.html @@ -0,0 +1,390 @@ +DP再次总结 | 廖桁锋的博客 + + + + + + + + + + + + +

DP再次总结

## 1. 状态
+​ 区间DPDP的状态一般 设 f[l][r] 表示区间 [l][r] ....。但有些时候可以直接设 fif_i 表示 [1,i][1,i]…。
+​
+​ 转移的时候会依靠断点,即 f[l][r]=min/maxf[l][r]=min/max{f[l][k]+f[k+1][r]f[l][k]+f[k+1][r]}。
+​
+​ 常见的优化有两种 :

+

​ 四边形不等式

+

​ 递推

+

2.例题

+
    +
  1. +
    表达式的亿种可能性
    +
    +

    直接算是不行的,我们要去乘上每一个数的代价。

    +

    原因是 加法和减法可以交换顺序。

    +

    eg. : (1+1)+2 = 1+(1+2)(1+1)+2\ =\ 1+(1+2)

    +

    乘法具有分配率。

    +
    +
  2. +
  3. +
    有味道的数字
    +
    +

    爆搜发现 max ans = 11max\ ans\ =\ 11 , 且 $当且仅当\ n=3\ 或\ n=7\ $ 时,ans=1ans=-1

    +

    f[i] (f:vector)f[i]\ (f:vector)ansn = ians_n\ =\ inn

    +
    +
  4. +
  5. +
    守卫
    +
    +

    题目具有迷惑性,容易想成单调栈。

    +

    但发现加入点后需要一段区间的信息。

    +

    所以直接区间 DPDP

    +

    枚举 rr , l = r  1l\ =\ r\ \rightarrow\ 1,递推。

    +
    +
  6. +
  7. +
    祖玛游戏 && 单调栈
    +
    +

    打不过 (二维状态表示不完全) 就加入 (把表示不完全的信息加入状态)

    +

    实在不行还能加辅助数组

    +

    如果循环有后效性,或者循环讨论复杂,用 dfsdfs

    +

    思想来源于二分 : 把原问题转换为可行性问题

    +
    +
  8. +
  9. +
    括号序列
    +
    +

    算重了怎么办? 学习 CatalanCatalan

    +

    我们知道

    +

    Cn+1=C0Cn+C1Cn1+C2Cn2+...+Cn1C1+CnC0 (注意这里没有重复)C_{n+1}=C_0C_n+C_1C_{n-1}+C_2C_{n-2}+...+C_{n-1}C_1+C_nC_0\ (注意这里没有重复) +

    +

    同理 ,

    +
    +
  10. +
+
+
+

3. 好题

+
    +
  1. +

    HDU - 2476

    +
    +

    (空 -> B) - (A -> B)

    +
    +
  2. +
  3. +

    CodeForces - 149D

    +
    +

    高维状态 :

    +

    fl,r,x,yf_{l,r,x,y} 表示 区间[l,r][l,r]中,左端点是xx,右端点是yy的方案数。(左右端点均hash过)。

    +
    +
  4. +
  5. +

    262144 P

    +
    +

    状态不同于普通区间DPDP,类倍增,设的是

    +

    fi,k 表示 从 i 开始直到合出 k 所需的最小长度。f_{i,k}\ 表示\ 从\ i\ 开始直到合出\ k\ 所需的最小长度。 +

    +
    +
  6. +
  7. +
+
+

4.总结

+
+

状态的根本问题是 : 如何用最简洁的信息使得答案能够被(不重复),不遗漏的算出来。

+

即使是 fl,rf_{l,r} 也是逃不过的。

+

区间 DPDP 一般满足 一些局部最优解能凑出全局最优解,不行的话就得加维度。

+
+
DP再次总结
https://blog.lhf.us.kg/2024/01/f0bd1f8f/
作者
LHF123
发布于
2024-01-10
更新于
2024-11-09
许可协议
CC BY 4.0

评论
\ No newline at end of file diff --git a/2024/02/fc9b3a4f/index.html b/2024/02/fc9b3a4f/index.html new file mode 100644 index 000000000..7225970e7 --- /dev/null +++ b/2024/02/fc9b3a4f/index.html @@ -0,0 +1,550 @@ +寒假集训总结 | 廖桁锋的博客 + + + + + + + + + + + +

寒假集训总结

最小生成树

+
    +
  1. +
    Prim
    +
    +

    把点分为已经加入 MSTMST 的 和未被加入的,每次把距离已加入的点最近的边加入 MSTMST 中。

    +
    +
  2. +
  3. +
    Kruskal
    +
    +

    把边从小到大排序,不会产生环就加入,否则跳过。

    +

    证明:

    +
    +

    考虑归纳法。

    +

    若当前只存在 最小边链接的节点,则答案为最小边。

    +

    若当前只存在 最小边链接的节点,则答案为最小边。

    +

    设当前 边集为 EE,点集为 VV,当前处理的边为 uvu \rightarrow v

    +
      +
    • +

      u,vVu,v \in V ,则 加入 会存在环,你需要替换环上的一条边。

      +

      但 环上的边的权值 均不大于 当前边的权值,所以当前的 MSTMST 不会更劣

      +
    • +
    • +

      否则,加入。

      +
    • +
    +
    +
    +

    KruskalKruskal 引出的一些问题:

    +
      +
    1. +
      重构树
      +
      +

      用于求解 两点之间的 最大路最小/最小路最大。

      +

      在求最小生成树中,我们把 加边的两个节点挂在一个虚拟节点下方,并把根设为这个虚拟节点。

      +
      void Kruskal()
      {
      sort(...);
      for(i: E)
      {
      int A=find(e[i].from),B=find(e[i].to);
      if(A!=B)
      {
      tot++;//tot是虚拟节点编号。
      fa[tot]=tot,w[tot]=e[i].w;//w[]为点权
      merge(A,tot),merge(B,tot);
      cost+=e[i].w;
      }
      }
      }
      +

      此时 两点的LCA 就是答案。

      +
      +
    2. +
    3. +
      判断一条边是否 一定/可能/不会 存在于 MSTMST 上。
      +
      +

      将边按照边权分类。

      +

      每一次加入 所有边权相等的边。

      +
        +
      • 若存在环,则环上的边是 可能存在。
      • +
      • 桥 是一定存在。
      • +
      +

      对于环,用并查集缩一下,把连通块看作点( 树上加边一定会形成环,转为自环 )。

      +
      +
    4. +
    +
  4. +
+
+

拓扑排序

+
    +
  • +
    字典序最小
    +
    +

    queuequeue 变成 queuequeue

    +

    要注意区别 字典序最大在倒过来(菜肴制作)。

    +
    +
  • +
  • +
    差分约束
    +
    +

    形如 xixjcix_i - x_j \le c_i

    +

    由三角不等式 disti,j+distj,kdisti,k dist_{i,j}+dist_{j,k} ≥ dist_{i,k}  ,上式等价于

    +

                            xi+cxj~~~~~~~~~~~~~~~~~~~~~~~~ x_i+c≥x_j

    +

    xix_ixjx_j 连边即可。

    +

    如果是 xixjc\frac{x_i}{x_j} ≥ c ,两边同取对数得:logxilogxjclog_{x_i}-log_{x_j}≥c

    +
    +
  • +
+
+

二分图

+
    +
  1. +
    判断
    +
    +

    染色法。

    +

    本质是没有奇环。

    +
    +
  2. +
  3. +
    最大匹配
    +
    int dfs(int u)
    {
    for(int i:g[u])
    {
    if(i未被访问)
    {
    vis[i]=true;
    if(!book[i] || dfs(book[i]))
    {
    book[i]=u;
    return true;
    }
    }
    }
    return false;
    }
    +
  4. +
+
+

欧拉路

+
    +
  • +
    判定
    +
      +
    1. +
      无向
      +
      +

      +

      环上和链上的入度 %2==0。

      +

      所以

      +

      ​ 存在欧拉路: 两个点的度为奇,其他为偶

      +

      ​ 存在欧拉回路:度全为偶

      +
      +
    2. +
    3. +
      有向
      +
      +

      存在欧拉回路:每个顶点的入度和出度相等

      +
      +
    4. +
    +
  • +
  • +
    Hierholzer
    +
    void Hierholzer(int u)
    {
    for(int i:g[u])
    {
    删边 ( i->u);
    Hierholzer(i);
    }
    cout<<u<<" "
    }
    +
  • +
+
+

并查集

+
+

需要撤销时可以考虑

+
    +
  1. 倒加边
  2. +
  3. 一次回退一步
  4. +
  5. 可持久化并查集
  6. +
+
+
+

线段树

+

代码力。

+

注意 lazy 的顺序。

+

奇技淫巧:

+
+

「学习笔记」线段树标记永久化

+

zkw 线段树

+
+

算法学习笔记(76): zhw线段树

+

算法学习——zhw线段树

+

zhw线段树 模板整理与例题

+
+
+

P3369 【模板】普通平衡树

+
#include<bits/stdc++.h>
#define int long long
using namespace std;

const int N=1e6+3;
int n,m;
struct node{
int opt,data;
}q[N];
vector<int> pos;

struct Tree{
int idx=2;
struct node{
#define ls a[u].l_idx
#define rs a[u].r_idx
#define mid ((a[u].l+a[u].r)>>1)
int l,r,l_idx,r_idx;
int data;
}a[N];

void push_up(int u)
{
a[u].data=a[ls].data+a[rs].data;
}
void build(int u,int l,int r)
{
a[u].l=l,a[u].r=r;
if(l==r) { return ; }

ls=idx++,rs=idx++;
build(ls,l,mid); build(rs,mid+1,r);
}

void insert(int u,int d)
{
if(a[u].l==a[u].r)
{
a[u].data++;
return ;
}

if(d<=mid) insert(ls,d);
else insert(rs,d);
push_up(u);
}
void del(int u,int d)
{
if(a[u].l==a[u].r)
{
a[u].data--;
return ;
}
if(d<=mid) del(ls,d);
else del(rs,d);
push_up(u);
}

//最大数的排名
int rank(int u,int d)
{
if(a[u].r<=d) return a[u].data;
if(d<=mid) return rank(ls,d);
else return rank(rs,d)+rank(ls,d);
}

int kth(int u,int d)
{
if(a[u].l==a[u].r && d) return a[u].l;
if(d<=a[ls].data) return kth(ls,d);
else return kth(rs,d-a[ls].data);
}
}t;

signed main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>q[i].opt>>q[i].data;
pos.push_back(q[i].data);
}
pos.push_back(INT_MIN); pos.push_back(INT_MAX);
sort(pos.begin(),pos.end()); pos.erase(unique(pos.begin(),pos.end()),pos.end());
t.build(1,0,n+2);
for(int i=1;i<=n;i++)
{
int tmp=upper_bound(pos.begin(),pos.end(),q[i].data)-pos.begin()-1;
if(q[i].opt==1) t.insert(1,tmp);
else if(q[i].opt==2) t.del(1,tmp);
else if(q[i].opt==3) printf("%lld\n",t.rank(1,tmp-1)+1);
else if(q[i].opt==4) printf("%lld\n",pos[t.kth(1,q[i].data)]);
else
{
if(q[i].opt==5)
{
int rk=t.rank(1,tmp-1);
printf("%lld\n",pos[t.kth(1,rk)]);
}
if(q[i].opt==6)
{
int rk=t.rank(1,tmp)+1;
printf("%lld\n",pos[t.kth(1,rk)]);
}
}
}

return 0;
}

+
+

Tarjan

+ + + + + + + + + + + + + +
dfn[]时间戳
low[]能访问到的最小的 dfn[]
+
    +
  1. +
    缩点
    +
    +

    不如 Kosaraju

    +
    +
  2. +
  3. +
    割点 和 割边
    +

    以下的边 uiu \rightarrow i 均为 树边。

    +
      +
    • +
      割点
      +
      +

      若 u 为根且含有 两个及以上的 儿子,则 u 为割点。

      +

      若 u 非根且存在儿子 i, 使得low[i]≥dfn[u] ,则 u 为割点。

      +
      +
    • +
    • +
      割边
      +
      +

      节点 u 存在儿子 i , 使得 low[i]>dfn[u] , 则边 uiu \rightarrow i 为割边。

      +
      +
    • +
    +
  4. +
  5. +
    点双 和 边双
    +

    以下的边 uiu \rightarrow i 均为 树边。

    +

    点双和边双 缩完后均为树。

    +
      +
    • +
      点双
      +
      +

      若 u 存在儿子 i , 使得 low[i]>=dfn[u],则 当前栈里在 i 之上的节点均在 u 所在的点双里。

      +

      注意,割点存在于多个点双中。

      +
      void tarjan(int u)
      {
      ...
      sta.push(u);
      for(int i:g[u])
      {
      ...
      if(!dfn[i])
      {
      tarjan(i),low[u]=min(low[u],low[i]);
      if(low[i]>=dfn[u])
      {
      ++col; int v; do {
      v=sta.top(); sta.pop();
      dcc[col].push_back(v);
      } while(v!=i);
      dcc[col].push_back(u);
      }
      }
      ...
      }
      }
      +
      +
    • +
    • +
      边双
      +
      +

      先求割边。

      +

      然后在不走桥的前提下 dfsdfs 遍历整张图,每个连通块均为边双。

      +

      注意,每条边仅属于一个点双。

      +
      void ECC(int u)
      {
      vis[u]=1,p[u]=col;
      for(int j(h[u]);j;j=ne[j])
      {
      int i=e[j];
      // cnr[j]是判断 u->i 是否为割边
      if(!cnt[j] && !vis[i]) ECC(i);
      }
      }
      +
      +
    • +
    +
  6. +
+

例题

+
    +
  1. +

    PUS

    +
    +

    线段树优化建图 + 差分约束 板子题

    +
    +
  2. +
  3. +

    最小公倍树

    +
    +

    i 向 i的倍数 联边。

    +

    边数为 $\frac{len}{1} + \frac{len}{2} + \frac{len}{3} + …+ \frac{len}{len-1} + \frac{len}{len} = len ~ \times ~log_{len} $ 。

    +
    +
  4. +
  5. +

    宝石装箱

    +
    +

    首先考虑去除颜色限制。

    +

    ii4ni+1 (1in2)4n-i+1~(1\leq i\leq \frac{n}{2} ) 配对一定可行,并将这些宝石所对应的颜色相连。

    +

    又因为每颗宝石对度的贡献仅为1,所以总度为4,必定存在欧拉回路。

    +
    +
  6. +
  7. +

    狼人游戏

    +
    +

    首先一句话概括题意:

    +

    算出何老板死的概率。 by myq

    +

    进行缩点后,每一次询问的节点一定是没有前驱的节点。

    +

    需要注意的是:

    +
      +
    • 每一轮选中的是入度为0的,最后一人可能可以使用排除法
    • +
    • 每一个人作为狼人的概率均为 1n\frac{1}{n},因为 nsiz1n×1nsiz1=1n\frac{n-siz1}{n}\times \frac{1}{n-siz1}=\frac{1}{n}
    • +
    +
    +
  8. +
+
寒假集训总结
https://blog.lhf.us.kg/2024/02/fc9b3a4f/
作者
LHF123
发布于
2024-02-04
更新于
2024-11-09
许可协议
CC BY 4.0

评论
\ No newline at end of file diff --git a/2024/03/8bd22dec/index.html b/2024/03/8bd22dec/index.html new file mode 100644 index 000000000..aacc54efc --- /dev/null +++ b/2024/03/8bd22dec/index.html @@ -0,0 +1,351 @@ +神奇错误在哪里 | 廖桁锋的博客 + + + + + + + + + + + + +

神奇错误在哪里

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
错误解决方法
多测不 换行/清空留意endl
不删调试信息测样例
数组开小测试极限数据
25个英文字母静态查错
错误做法判断条件未删除复盘代码逻辑
扩欧调用时 a,ba,b 为负且为判断想清楚系数是否可能为负
乘爆 longlonglong long算边界
冗余条件理清思路
不打暴力 / 不会乱搞。。。
读题读错。。。
+
神奇错误在哪里
https://blog.lhf.us.kg/2024/03/8bd22dec/
作者
LHF123
发布于
2024-03-16
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/03/8f8a3f61/index.html b/2024/03/8f8a3f61/index.html new file mode 100644 index 000000000..2d974ff3c --- /dev/null +++ b/2024/03/8f8a3f61/index.html @@ -0,0 +1,327 @@ +【伪语法基础】for循环练习2 | 廖桁锋的博客 + + + + + + + + + + + + + +

【伪语法基础】for循环练习2

+

  00=1  ,  fx=i=0nix×yi令 \;0^0=1 \; ,\; f_x=\sum\limits^n_{i=0}i^x\times y^i

+

则有:则有 \text{:}

+

\begin{align} +f_x+(n+1)^x\times y^{n+1}\;&=\;\sum_{i=0}\limits^n(i+1)^n\times y^{i+1}+0\\ +&=\sum_{i=0}\limits^n \bigg[\;y^{i+1}\big( \sum_{j=0}\limits^xC^j_x\times i^j \big) \bigg]\\ +&=\sum_{i=0}\limits^n\sum_{j=0}\limits^xy^{i+1}i^jC^j_x\\ +&=y\times\; \sum_{j=0}\limits^x \bigg(\; \sum_{i=0}\limits^ni^j\times y^i \; \bigg)\\ +&=y\times\; \sum_{j=0}\limits^x C^j_xf_j +\end{align} +

+

fj=  (    (n+1)x×yn+1y×j=0xCxjfj    )  ×  (y1)1      [y1]\therefore f_j=\; \bigg(\;\; (n+1)^x\times y^{n+1}-y\times \sum_{j=0}\limits^x C^j_xf_j \;\;\bigg)\;\times \;(y-1)^{-1}\;\;\;[y\not =1] +

+

此时,若  y==1  ,则有:此时,若\;y==1\;,则有 \text :

+

\begin{align} +(n+x)^x\times y^{n+1}\;&=\;y\times \sum_{j=0}\limits^{x-2} C^j_xf_j\,+\,y\times C^{x-1}_x\times f_{x-1}\\ +&令\;x=x+1\;,得\text:\\ +(n+x)^{x+1}\times y^{n+1}\;&=\;y\times \sum_{j=0}\limits^{x-1} C^j_xf_j\,+\,y\times C^{x}_{x+1}\times f_x\\ +&进而得\text :\\ +f_x\;&=\;\bigg[\;\; (n+x)^{x+1}\times y^{n+1}\,-\,\sum_{j=0}\limits^{x-1} y\,C^j_xf_j \;\;\bigg]\,\times [\, y\times C^x_{x+1} \,]^{-1} +\end{align} +

+
+
【伪语法基础】for循环练习2
https://blog.lhf.us.kg/2024/03/8f8a3f61/
作者
LHF123
发布于
2024-03-26
更新于
2024-11-09
许可协议
CC BY 4.0

评论
\ No newline at end of file diff --git a/2024/03/LHF's-good-problem/index.html b/2024/03/LHF's-good-problem/index.html new file mode 100644 index 000000000..b5b889088 --- /dev/null +++ b/2024/03/LHF's-good-problem/index.html @@ -0,0 +1,364 @@ +好题分享 | 廖桁锋的博客 + + + + + + + + + + + + +

好题分享

Almost Sorted

+

注意到 d5d\leq 5 ,考虑装态压缩。

+

由于 第 i 个数 只与[id,i+d][i-d,i+d] 有关,所以只用记录 211 个状态,剩下的一定不会改变。

+
+
+

すぬけ君の地下鉄旅行

+

考虑如何优化建图。

+

首先,对于颜色相同的连通块可以建立一个虚点,让 (i,col)(i,col),即 icol 颜色 连向虚点,可以保证点数的数量级为 n+m

+

建图时可能要 建立多个虚点,用并查集维护。

+
rep(k,1,1000000)
{
vector<int> use; mp=CT;
for(auto [i,j]:same[k])
{
fa[find(i)]=find(j);
use.emplace_back(i),use.emplace_back(j);
} sort(use.begin(),use.end()),use.erase(unique(use.begin(),use.end()),use.end());
for(int i:use) if(i==find(i)) mp[i]=++idx;
for(auto [i,j]:same[k])
{
g[mp[find(i)]].emplace_back((pair<int,int>){i,1});
g[i].emplace_back((pair<int,int>){mp[find(i)],1});
g[mp[find(j)]].emplace_back((pair<int,int>){j,1});
g[j].emplace_back((pair<int,int>){mp[find(j)],1});
}
for(int i:use) fa[i]=i;
}
+
+
+

Finding a MEX

+

如果想到了分块,这题就做完了。

+

度数n度数\geq \sqrt n 的点用树状数组维护,剩下的直接遍历查找中位数。

+

时间复杂度为 qnlognq \sqrt n log_n,但可以过 (  5×108  )(\; 5 \times {10}^{8} \; )

+
+
+

Binomial coefficients

+

首先有 C6030  =  1182645815648614241015C_{60}^{30} \; = \; 118264581564861424 \geq 10^{15}

+

所以答案里的 minmin{ k,n-k } 30\leq 30

+

枚举 k,nkk,n-k , 此时的答案具有单调性。

+

二分即可。

+
+
+

Showstopper

+

这题是二分。

+

我们先把 偶数看作0,奇数看作1。

+

首先,我们要找的这个数并不能二分。因为它大概长这样:

+

                              010\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \dots\dots 010 \dots \dots

+

但如果我们做一个前缀和,就变成了这样:

+

                          0000111111\;\;\;\;\;\;\;\;\;\;\;\;\; \dots\dots 0000111111 \dots \dots

+

此时就具备了单调性。

+

二分 checkcheck 当前 x\leq x 的数量奇偶性即可。

+
+
+

最后

+

提交地址:

+
https://vjudge.net.cn/contest/615804
+

密码:

+
lhf's-goot-problem
+
好题分享
https://blog.lhf.us.kg/2024/03/LHF's-good-problem/
作者
LHF123
发布于
2024-03-27
更新于
2024-11-09
许可协议
CC BY 4.0

评论
\ No newline at end of file diff --git a/2024/03/b4348eea/index.html b/2024/03/b4348eea/index.html new file mode 100644 index 000000000..74c7bb73b --- /dev/null +++ b/2024/03/b4348eea/index.html @@ -0,0 +1,385 @@ +排列组合脑子寄存处 | 廖桁锋的博客 + + + + + + + + + + + + +

排列组合脑子寄存处

球与盒子

+
    +
  • +

    下面记 abcabc 表示 球是否相同 (a)球是否相同~(a)盒子是否相同 (b)盒子是否相同~(b)盒子可否为空 (c)盒子可否为空~(c)

    +
  • +
  • +

    球有 nn 个,盒子有 mm 个。

    + + + + + + + + + + + + + + + + + + + + +
    球同盒子相同盒子不同
    不能为空自然数拆分Cn1m1C_{n-1}^{m-1}
    可以为空自然数拆分Cn+m1m1C_{n+m-1}^{m-1}
    + + + + + + + + + + + + + + + + + + + + +
    球不同盒子相同盒子不同
    不能为空S2n,mS2_{n,m}m!×S2n,mm! \times S2_{n,m}
    可以为空i=1nS2n,i\sum^{n}\limits_{i=1} S2_{n,i}mnm^n
    +
  • +
+

注:

+
+

S2S2 表示第二类斯特林数。

+

通项公式为

+
+
+

S2n,m  =  1m!  (i=0m(1)k×Cmk×(mk)n  )S2_{n,m}\;=\;\frac{1}{m!}\;\bigg( \sum\limits_{i=0}^m\,(-1)^k\times C_m^k\times(m-k)^n\; \bigg) +

+
+
+
int sign(int x) { return (x&1) ? -1 : 1; }
int C(int n,int m) { return fac[n]*inv[n-m]%M*inv[m]%M; }
int second_Stirling(int n,int m)
{
int res=0; rep(i,0,m) res=(res+ sign(i)*C(m,i)*qmi(m-i,n,M)%M +M ) %M;
return inv[m] * res %M;
}
+
+
+

排列组合恒等式

+
    +
  • 基础:二项式定理
  • +
+
+$$ +\begin{align} +\sum\limits_{i=0}^n (-1)^i \times C_n^i &=0 \\ +\sum\limits_{i=0}^n i \times C_n^i &= n\times 2^{n-1} \\ +\sum\limits_{i=m}^n C_i^m &= C_{n+1}^{m+1} \\ +\sum\limits_{i=0}^m C_n^iC_m^{r-i}&= C_{n+m}^{r} \\ +C_n^r\times C_r^k &= C_n^k\times C_{n-k}^{r-k} \\ +\sum\limits_{i=0}^n (C_i^n)^2 &= C_{n}^{2n} \\ +\end{align} +$$ +
+
+

扩展卢卡斯 (屎山) | exlucas

+
int cache_ret,cache_x,cache_y,cache_d,difference,fac[1000007];
int PrimeCount(int n,int p) { cache_ret=0;for(int i=p;i<=n;i*=p) cache_ret+=n/i;return cache_ret; }
int qmi(int a,int b,int mod) { int res=1; while(b) { if(b&1) res=res*a%mod; b>>=1; a=a*a%mod; } return res; }
void init(int p,int mod) { fac[2]=2; fac[1]=fac[0]=1;rep(i,2,mod) if(i%p==0) fac[i]=fac[i-1]; else fac[i]=fac[i-1]*i%mod; }
__int128 exgcd(int a,int b,__int128 &x,__int128 &y) { if(!b) { x=1,y=0; return a; } __int128 d=exgcd(b,a%b,y,x); y-=a/b*x; return d; }
void GetPrime(int x,vector<pair<int,int> > &ans) { rep(i,2,x) if(x%i==0) { ans.emplace_back((pair<int,int>){i,1}); while(x%i==0) ans.back().second*=i,x/=i; } }
int clac(int n,int p,int mod) {if(n==0) return 1; int cache_res=fac[mod-1];cache_res=qmi(cache_res,n/mod,mod);cache_res=(cache_res*fac[n%mod])%mod;cache_res=(cache_res*clac(n/p,p,mod))%mod;return cache_res;}
int exgcd(int a,int b,int &x,int &y) { if(!b) { x=1,y=0; return a; } cache_d=exgcd(b,a%b,y,x); y-=a/b*x; return cache_d; }int Inverse(int x,int p) { exgcd(x,p,cache_x,cache_y); while(cache_x<0) cache_x+=p; return cache_x; }
long long excrt(int len,int *r,int *m) { __int128 now=r[1],mod=m[1],tp,d,g,x,y; rep(i,2,len) { d=(__int128)exgcd((int)mod,m[i],x,y),g=m[i]/d; x*=(__int128)((__int128)r[i]-now)/d,x=(x%g+g)%g; tp=mod/(__int128)__gcd(mod,(__int128)m[i])*m[i]; now=((now+(__int128)mod*x)%tp+tp)%tp; mod=tp; } return (long long)now;}
int __exlucas(int n,int m,int p,int mod){if(m<0 || n<m) return 0;int numerator=clac(n,p,mod),denominator_first=clac(m,p,mod),denominator_second=clac(n-m,p,mod);if((difference=PrimeCount(n,p)-(PrimeCount(m,p)+PrimeCount(n-m,p)))>0) numerator=(numerator*qmi(p,difference,mod))%mod;return (numerator*Inverse(denominator_first,mod)%mod*Inverse(denominator_second,mod))%mod;}
int exlucas(int n,int m,int p) { vector<pair<int,int> > pos;static int idx,rr[64],mm[64]; idx=0; GetPrime(p,pos); for(auto i:pos) init(i.first,i.second),rr[++idx]=__exlucas(n,m,i.first,i.second),mm[idx]=i.second; return excrt(idx,rr,mm); }
+
+
排列组合脑子寄存处
https://blog.lhf.us.kg/2024/03/b4348eea/
作者
LHF123
发布于
2024-03-19
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/03/b92b47a1/1.jpg b/2024/03/b92b47a1/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5199fc5c6f6731ce58886e297c6f8c5526607ae3 GIT binary patch literal 152555 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%0Ax>1_lM%6akIY?7PdTwo8SUu6+q8%5-Skt z@yf;9*DGefy(#2u@>a^qlJryd)43$)K6^6^&}b|E7uhKQJ*kw4b96=tZF@Xp;x;{L zVg{sciK@SKZ$+EfTvN`sutEXtXsZ8t3N0FgMIcNznOdF!n9!<~ zJV;ETgbF3!u?w{pvZ~pn& zwP$tsiuJWml{?J!r>_}gHu=`m--mD|YgJ=mfrly{z4St22XaN=_VB3e&dwCW&_i{> z?}A^98!5p>Blf8>Q_ICV)`GM|eBtEdi?p(uzcEo(zf-fS=p`(ZYUDGTtqm!=9}H_NJ*u{_RIhH=FxtJx5!~FGTgz zJ0ft6YZcKa#KZ$Q6Bw5dCHXp(+3bUD=nY(p3PbEEmfBUWj$j4T{1zfsA)D{uw(`6< z&YHJln5*|h?|ld3Yu~1uoE=otc4(_dbRK-CseF`x%`p#L5NW8s+>s?3 z+P9^Uej)mFcX{^5z>Rm!57fQUmQ;s9LLW@#Y_o7zVe_JP-OcJM)sZ18a+%ZdnG^Ha z#Y5Jzo!a1{IlY;K)+gvo;6_gk&{nhnwy9P7kxEXbE|#5RlAv>8a?Ztx%6tFGH@F#C-nDYt!;9mCw@jqfKxgrD;tR+!Vrg&tcI8 zD1XF^Y^+kC5&EiMX3p?A9QGEJ^aDnhD`e%@!j`|nnqZ_+j%9#Q-gej=@M*ZFT{6~S7n`?TGq>9F6BUp z!5b{@FV1)s$<1z&0$)%b%hpGe+=SpK>|#eAXW!8>$Sm9MVZO5c*~*Mt?Kzt{@nRCY znPumOCm3WYhY_nmx?q@XxI3eJQyOw%dXn=#XN4$wxtkL!3~Nfzp(Hj^>!sr*s?iN( z-&cYEMaqRB2=4ARbFM5+p3TDG!)tz~zLa^=CC91Nw@sLwlSb&@a&x*1=q>2Xi(D-= zcd0|FDinOp`>k^>x4Z8NoI5tTL?oJt49(H7t5}$J!Z;J#-Wz*WyH@MF{a%NXiFbmS^|W;Qg)c)RgRw z9RsnuKFUQ1H;S`dFeXm2VCG>X;nm4Spcl)eoLTOLmC|{Q&8O8WQrh`}o`Qm}bNvme zLP2$ot?Z-*_7=5y`!Y971&%r&R$T;^*29WF%;8btrcvv(Mg-Ok2#F=P39T=~JBrrY zA9&p1kJLGSq|Fkg*fDjL-=5$z)vLLzeJ-x<2!4jkW>`;)n(yQ=$vReE z(a%$UXcx-OC)PW+RmawbwqQ{*@>Y=hxN~4jjhnx9mXqLVrrkYjjc%9%mvRT&-88zl z5HIL5cug}d=^`OOpg1?WDxp(bMn7Jn=WX>G2NbVY zjLre!qpxG2+ji)7|88U}g+I70vK;Gl zJ`1Vy5cyszH~+&=F5~|4G~*16!K4qu-*;V>dK}lgiLjir(?8aKTY53)e+l1dR+Q7f zIfcx&8X=10;_;!-1UtMNOm}b3yZU=|ffd=+tgKBi z^YE?4%qCsH760Z}p`grTV(WWfJ-Lch{8ol#ICaW<8bf7tW zv$q&%Zb>h|{lM@-2a066R$A96Bd=oi zQRS5;1kf9b4V7yV{k2Q(*t2XQRo7C zA1VY6_1=71Sa^w2KtiCOgoO(*GR@?x_g{oAnfIwNj@_b&2!5vsS_vh!W;&Jvpf)UI z*bs=$QwfO$oYDdbNi20y*I6w@lO1qTnZoKz}(U zv#}9R-LqYM&6o=V|4eyvfxw_52q1*2yY4NXDG!N8Xa#jIbajk{uSuAe7J+<&d_FI; zN(~DS@#DRkTGqLumeM6A_f=uykwvYqB+xI10(sdC10UN`_YTn^V$4*1ZM%6)2*}na zXqgkGvN=37iaafh60GfZS>u-UyVha6$VE#L{;TQ z&QRS0{ZPQu#SB<~Y=6tn{yI#Ie&o77bKuA0<9(dO0&+3@kAPukCh&Nn!vy$ZZSoUo zeqV%a)WiI-GJ??}(-DQX>qt;znZx(98wY1=?l_G*qa>@h#9WcXKWM83N)u~;4p27J z7_UfD`9ZZFDk5(ASw**3ww!TIme>FO41KeMC~t}=g$Wt|$L&2<6qR z)XF4Iy{?*dwE@3&Mw;cy3$__hJ~vRbyB96&A%ST%*WF8!s1x_< z1T{%%8e65TnLfqZe}P#!E9ZPpVjST{?Pk8IXEx+<9Zm zhVainK$Qi31$9{Z8aV~d`|c&N-MtpLVOa6_rg5T2uj@ZdF1OxMj@7F*!klcR zx?E9d4Zdzdj9W-k=W1sSu?;^`WVzv@SKf%EH+IB3+GgMq4?V?z;ge$$rYq;e3UW?D zdFz1F_@+fJ%mm%6_e!e3BGNp7ppA7-eZr9E3sw_bF6Hb#CfuiMzv`&(W5Udd8k(yv z5%NVA1Um})g*N)v%%syNW26$LveS2r2>=k!`t8!nt}q<-llMfw*mH_Qp*~f@$VRgk)WI}YR%WO3+qu1Rp-)tMR327&? z4}3u1S&~N{Gr;stGc69b9;dd6LMk%pVOn9l=MUko22%lQ(aDL6z3Z@E(g<|Yuwx)m z(lCY+I8DwQ&TkSV9zWY25~$mkSCgU)xkj9R%T-b#Yi2^_Cnx8rDf86dqvY6Mi#%k= zN|)F9Y1+=M4tRDdHw}OHM+C+X?ycs%#`Nk#j!j)0+gGdtbtMRS2D2V1DT@+=c8Q_x zuGYOF{>)OjI0t~e(DX!yHNv@8`&)+JVhyM(pG}Wcy(d}7vQ^gxo zQc-!g~W#cZJyD6x`_U?y1TqAGfCnQOgR}?E934aXBs( z)&3~Lh$F6->#Xgvxk>`q)?_#MMKQM!oj7XfCTGOD&S9O?#*vR?IhUP@PtUez6`@V|ShhWT3$4wq&JzQ%Z?<@Nng# z^4FXc8t21JD>{r1pL={7qTK4`xW~WM%W2=|vNbSnB~8a0ZJ{Eq6dQ*r@8 zX4bV)BYcT3+m1ukhZNLs{HRMUu83YphJi$%zCfLN{&~f4wLaG)_=__t^qnKp+eKmM zkMXdJ>T<tXP)$3%%cQw9dw4!Vz>oe8{noQlkx`=Wl#VpWmjjtJoiwfn9T8- zzVOi}PPZf@UJIr9Q**Og>cFS+yGb7GQYSG6QsYTA48&+OpA9jl+xSVu@Gv6Az*+HR zI|Co7DLsr2&DcyZI#vlP`^$D zeFsoNqWE0u7|eT<8c#4)d9DHhR4kSb$0h|i7dOZS1%f^SXc@DSG_ibkL@BFVKH*j` zc;m!riv{22yu-3LMfDr-h+6Q!B#);jJ`f7i9_JrZ!eW|33Dth(y`}T3cnyULBXRc^ z1ju_BtN(y|!r-1xb+5f_k;}^$Mjv22Ya%Hqzpc#k!m~i22Ml{K?*m1pjP2?`v~p6E zwAnUWqt6b$J$f71;?1ES6hp#Z$Qs-DrW8yI<6_18+QYe^;7OZ&0sxmJl--V*tx8P`O$<>W(fmV6}b0<9=jdu6|c zm?NDRms&YB2l;`qU?p>%EOPw&-poZNUr7d$#9z{#6y)96VMGj$wq3+-&{;$*Eb|Gx zRlrvAtRk}sVSdABfLC6`(a*xRO9@~iL_LaWYRgd|H9)eR6S;Pvu9)rG+GjL`^4OpH z7p1Ibt&I^yLTw_9x5-=80;QNX6ZWfXMMC1A_mO|!QT}la#0_MJBycj^sNWBp`|;tJ zbzy#xN5C?`cYw#`UGT=e{(8@3(sNDIDQ3<5EfBhpd1wJ#`(5A=F{HVCBj2p{h~oW) z>fYqy;12++LwYIFz*qV2ag;CsPm(7?RMo7-7b+w2!J^Ns3~o@oDx_Ose{OcD9eCyZZzK3r)| zZZpn=KCU^GsHITP2HPzf}EcyBS(YB4&D#<1d9oo8I1HCm>v z-o=WbmUyNf;x>iYDnBEjTq46200qqP;$I?+s+BNvMcfN z0%O09eqmspGK(53M*mc`9)J}v&{(g%P>+VqhsP*wTVG=JwN0mOrW^U#K$w3^7eRsT zJxjWypy$V26kqMVqm6$DL%QSTH;3Qc)E^Bv`=-C~;s5?&n>!mtNg zq*_Z#6z_&E=xISAB>I<@+WRZejjwC!LpmqLu)gCJ-q2Ss5H}tyjmf9#+x=@x7_co*9eIEUoqu*e!A6hFH~YH0cD0lC7r+t zg=|KuG1cL)L7ed#!t~d+((mYYug-Tp-nZyV!!W9@~_IH!q>Fzu}`em|H8yS04zd2O!l zs+L@~vzMOlW+QO2a;1+z8Pb_!M&8ZGlP>=Bl(n39C{|XWgmMniH9;q5GS1dC=TwKo z2BQ%qOB;Wq^G$8@J3Mn``T>+BKCVJYf807g(ByeWkIJeWDH%FCf&oKLv^Wj|A@L>l zR%4jt!kR2MRcSe~k#=s46f*Dqvd_gevzvU5@&R0etf425=D8A6Ci2jQ3}BM7t@k>k zaS%35a&C1n=sVlwCeIZ-W-3cLD2{iU8bNI4Z&`U0#nd7lw|>;heX`+eo}ssP+HJty ziZhyb?BS}yWaDhVPrmp9P(fvaYJQv9i2Um}@E?cGe=EcN&kyO`5#2l%Tk#}gWSGev2~!VYT4GSKTL{qlv-_>~Vctd^u6|79K2nmY%UrjKPlg<4zTG{@jXXfRYm< zKqO2AHU~s=&yt5`RM?-=02Z-)z)bi*k^2QuP%!%l7xEiR`;0D2JYGl^UQ38K(kUMF ztAF~ZK;$3W2K>L@_9x;T_NPi7G*b9mv99%}>CFZ_;FPQO@m>QoQ}G+!{x>bX^q*P) zEpL)*vQq}^4S2mkJ2)>7fSPz-v0Wl2MtmZcP#XpFAAl}uQH_M~ll{1kmvsO0*YJ}n z?;q>1-y3k#V~oZ)y;#yZq)Bu`FT6y*6sSAn=b1_8+oalg)oK=Whe{UQg?-Ol^@tcx zGw;(xqaU~xs{}`?sk?1EtGO->h(R7@o~p~lOeuI-uS=i8GKZj0$*gk~;eFxK&}ha? zB?pq@*6YGVF$kmz*p2`GUWOduwl2{FKMeSmoG&1u92AMp7cKPoKM8;e?0>xp0}BU; z(=9~-y|*Id3!tqGmJqJ?JBYx?SN3?Kgnb5tV&W{$EY0!EHda}z$LA_4Y^0$UHT;DQ z1$^HiT6HVp7#Gnsia(a=>EeI+Sa|RR>5qt#J$ZKXsxMpHvkskl(1QeaZBtjHGejsi z1Lh2F&|v?O7gOWt&JoNpU;gxkWIGyU@6hDddB!E7FN?^iZ_C%LPkcVq z?NH^!Dd%MysBgw*-bo(6M|x@;Gi(#lR<74=OVXiWAku&dx?`=;$eJ(hx@?T*2tG&& zi5$>i0&{XPs4yxGsQEU@KF4&Ar0wfHVX`$6DWjs-@Rqsor|<;vMcR-r=J;4!k+dJ7 z68ub#BF*gh^;5vKs1#Yiw6u)W5zMlSb$&OZb(t8kfc+RQBvj*%Lmw)EXESePrO;! z$*))WK{QJ#p3DJWpVju{(fNk2B&i~4@cyPqs09@=|2isF;M@Kt`q%jYD`0@<8=3@{ zIb?@BsAu+UKx%f1 zvs<w&wfdYF4#Dd1c!3ur9J=v9`-9t=CJ8e2HtNx(7VjfE8|{t0BoMfDgqX zTw;}1WAe18x5$gQv#4jInEDPLrAoWn_555On{eW20yMz1SH7Ff=YB>v!vSIm^cJFQ46-;eLe=vFm_Yz9lZkNE_c(@+;|&aCq|Pb=Qe z(v#o_CSBJN9N9{pl>MqxKd`^=F}0~SXO#ZvF8sXboM}cjfMzwR+RLdbvqGASRiHvf zT%5uxmDQ$4n8B~yPTiivX=5hHy*J6sG>mFZ>lP`u$8wEb1SDXv#L=R9*6sA|MEGY+pynIPKc7Sv_L5tDPWf9@N|}rUv8Y7_OK!xl$4Zb1!d0#Ce_|;Z<;XuB&4`tsi*RT zQk&M=uykAZsRz>F zaj=&(cjuPC@_D7sE2*0^bX-x1J-b@18a;^12W$_=$Wvl6KuCi|W8T9~jYxx|AZKab z1+yaT|F~9t*CVs`3V@xLn&tr@*x)6rWwV=eBIPD&4wrO-F@bo6pw(CKv8>O%R1K>m z8Dr%@M6j&9FPxLupbe>ZesFK{hxuEOB9}r1I>j;8vdh8SJfo|Nm$`gO>O*{EO+?SS z^X_pzPZ81v!75%Eo#HIwWLhPSk34J89;(?SU|Otf)hKuKc6k{#(i8q+rkc~4YBYo{ zHz&S=%?!)#qCPwL371~mbK3(itfQcv=ZDg?Wmmcbw4l3|n6qOua- zcLbiKX)IPL%B+wvc)TQ*LATm))a0q+U1p)VYA}6%-dxN)_nxFiVE6OtO^u_tL$~AL zxTy4&Pk>2xrl_RrAVthbuTcH-JZ}vyz%;jE7?w*e(%CFW_nRCpAY2MzAT~NV#!ZP z(R48@PqcEaKX-PIfJe`?6&ejlileN5*k4`DI$J%RXeb&;%*=6lO{3p?Sd>kXnZ_4n z_eEyO#UuiQT$69@9Zx=@x^}cxzCR)Ir9i zpSL)G{CJ?Rki1Cu;uP0i4YqWL)Bn-ShU|05>a>hLor%pGL&nV7c79O&juMCSJNwA3 zFm>*&$Z_XvH3TooQPoSTJkEStt4Z z=;j$|uOQRzy%r^}<15-SmnOGO+nqn)?xM!Zgl{C(Yu!82+nfdc$K*eUU2WJ--g~Ux zX!At{A*$DUh`KfbWWGP(Hp>&&w%6}kZ-9YQZJ=4HW_+$LryD4t;raB@l;@u!$A60< z|4%1U{wazD2#1J636kW&Xkqk>K^MQuVQ93b5hfICeP>GR1WqbsFkmu|a*1B177`+e z3j~Hg_VQs~z|#O6a3p{_EcxGyjsI~-|GV1u5({T)AU$elcxH6D%5@a$@xt;!>BT|6 zDt|?M#(!~7;O>8pkHT{9W0ym{kpHp+swcxdV|WEb$&{T-{jg)tk{jmaXa6JdEZv7) zXTXWE#J|^13#5RQsKqpa7gr8cV3Jie-0Oss9xTIno;)%!769~n0|KJ0`Pn_(?`ya+mm-Wu9@9b(NT(*#SPflQCcmHt?*$)a-mas zye1at+ClLQfjiq1PC0e-zHOdv&T?y7XZ%s@In#NfzC_!ntTDbm$N(y2j~SwwpR2sOd^$G*qOvr|_tcoF-w#wn>n4nuS4QHH$s zUt(6ORiz^7c8#4O1(9rPTT(N1WjqgMar32lP^}TK(i*0!b@bW|dY6g-s*UHuh=$>s z?>>AgZxKIcar5juXQ8&t6`4<~yb3yWq&p0Axp}h}lA9ta&p7uohFwC*_hY%2vcvZ~ zU%ZfjhiAYHGwzv!kTFT$2^Tj8t*!GRzvXbM1wQN7Dv%WQgxC1HnaG!M1(oQ`*gI?6 zucozO+3rgAhK>iT(-FbSwbncA1;$bWZ|HS|!)+msbipXIDJQCu*?P4$h;|R=c|#t= zo0UJveM*F{BLv;TSci_C3)O%^G0K-12CHKvO5q17xZ zV_(`yw*ej@2L7GUyK+YXxfDkP6sHzBmRKKz)_CKw-DVRuxv`go2*-T)UqY6skW#lG zdzd;!KpC#yjlVhlg|1a6v?EcTV;ZrmQYg!i&o_;2(|l1V^F#d;YqmJdj(JTAXGSOE zKj1vl-E+S5z&S%Dh&`b;W|?kHX6ZO2w!QPzNAgp2TGTdPbtT1Cfj7P?G-O}wWF#LB zpA!Z?w+4D8b`ec;ug1GF77t=s-V+)I(Z--e#nlVI3FeWm-+3~=Rq2rfhCztmvL`aX z?SA#_YQ|O1nXzoG4rArQvBrD6kzuG#kfGyLqMnj43a|g%d906k#@X7m#Cp(6!LWJe z8S*R_2_F;ogg|*>levJ_S)(e40xO^V>)9zz4V_5yeyKXiq*L9~@zyi>=ULe!YNy$zC?rN}$;dS&Wp_I{_dp+hTL#R1+7(nWrs zLrHY%;YvN*)I?!prrtVO@(R}h8SA3Pk1wRL1Ly9FVFp-+3>_hk3oANC&l>uMdHt+{ z^~Fy$Re7-85p4a3)=JJ!=8=w57asg=FZH>CTjUBkk;r$ZYQZyHDt(-stj4&dr}6^d zb7`8#6RXx2=uw z@=tzdXGbbfbuSsl#9or7SwS#=ksJ`2q;VZbniKh;-OxQ@eNz}wUOz-afX|D_wZ~L6^&SWz z*UP{u(%DV!*~hllPNM~M*R#5Rz%hO*J|GE@!@OpZF!73myG%DNrqQQ@JM`OWs-N~M zSX(S?q3~c@L;ifFCN7T@wc;N4?4@#^-dkxkBV+8(6MLzZNJqf|n9NW4?uzYVPX}~7 z!u06a`MAU0Y9@MATXN;T?fc1;!{X`A*&rTSUx68t?B|P-u2#;6mC9+WRAumFSo=ED zW_)l}2VptfWajiaPucec>X;(K!cWDKU^y!?7e8cvS2TTR%T}Z|0Yj%PHZyCN0E~`b zRl@kz)p+OOpTiU0{hC`UCC8RlSgN!_ud{a~CPS!;oxhdTIE8jV79FO( z{ff)`dEbRDq~kpb0o6l!M+V&T3H`Mv&r0$Dv!dBvYVyZ&U0U26)AuByhVhJPX}JVw z)yKW_)%%qBl$pn^`@A-kwpu^!ZavyhFcJh)dP?W=q!X=9O*G@hfBf=r=}=%m=T9@T zi7;W_oZ|XU8|N9n7pXmvgaH~*eaS+0!Mb1dZWD{mEUv%k9 zqM^k^5F!ZM^w8FZboenfISBCRVu4e^&{tXIgv0_i+&@*dwe=)(+Bj~aM%46tOG6h! zsNl|Q2{_VO(^^wTmodD05*>lF)Gd3>`#}z#TpSg>JlrpJktFJUnVzd{G??g~&oC-e z!NCnnblP&I7-U7wfbRq^*shkvFrfabKrL!gOK&>{3+F$NUxohX72dx!=-yBf5fv6$ zQHaod-)TL?izuGdcra2vOVa6^7Wy4I%W}Ng)tv<)gYw-G*P}u!1xI4{m4Ko!z}5!L z7!`nNCec45+1Ed>tykN3}| zUr~&`9H9CO__hC|ru`pZL+buTf9bS_3hPA-5yk^r;B+OTe^z|e@PCKHe?`58zu_jz zXOw@0DH6<~H{@=jnw7?wS*OX2P$%H`VKj7T*^@txJkaDw>3#=E| z=-)wEud(oF|BLq>{;`8k0fU6`+DbIw)@D$PG1dS*+M=}3^#u&rvxw$M*%-z+V7hV!*1Ix6w!LaAGvNEGsf{PC-7>WyD0R?4)A}=*+J4{n?gg@Xg)#zX~A88Jl zuQDlQv+ z>lJHHEg(TpjE;$}Zh{l&y9|w{bZ;^mq+GnhGgDo3<_fZAH=qAF%(hjGI=_jWP@YUj zqQLxGe6v9Xr$~3c`QWhA>xOv+-5A_Iko8+xvVsKkuv|;n7r*sdsnDqzhH?R}a)lM|U)74cf16E@$^c>2n*fsA3eP zmTav8+;EJ$2hwb#9JE?H5IVVSc#u>Vq#R3nQ(D8;2wieE78W57Nyc}zW9=Xv_?Q+O z#>j+>U@ihK_MR+0=X-rz!UOg8CX36}L{2ioJTsrt!5J!`bZ1+x#$^!67dtIB?d&CY zY9Y#0R~~+s_h62m2vpEu?ML74gjHB`^02s`e(8JKfJwVR9yd>{Yio* z1PH<1A$V|yBzSPA(BKf`-!g1bZEPN5;VyHmKkJN)L5E7RR``}Ti&)*4>a3yOsl zr@rTry+4~1WPJZq3Ayr|)0K?5k{_PzK+1X?Dv9FhR;$8bSwx+7=vZo}CbriTP}Y8V zt$3pYKzo)%5UdCg;sc$gDxhebp#uVKfU;3&elekyQ$@<-U+fsHexfU4o}x4ei9e} z9Yp#+8QEV;Q2uOMA_<*{yeqEbCXX_0|X2c3a3h7H~KJH3rJsRg^yA3p zLtM*i{>6ory!0K(G-um-BYIpJKsiz&N&_W%Mq^|Fw-ltxs_wj@dhicTC;G0rWl>Sn zM>HPMRsn*a2J1^65Ql%e4N-X@OEeAXPj{FMiYZ8xYPv=&sV^$-K_4f2dV~ zu-B-%b9>PjnoFhPV{I5E%1m=TPAUL$guKDHVF*%Byv`E%$kV^$_(Jt4%n*I?8R$j# z=b#2A3(qR4E^~BrOfxe90Pc06qK(@E9L}|u=;&g=^Z_tY{P&lKihX2u)mta23h`>5sR$fNtZH%f)NLCBee!v&&Cp>wp)1IV8J6 zPvDL;ma1hu6DPe(IHhMw+UWNc=jW23kiL2rbnJQs zKr00qT-O#K*SQI3# z(!LqVGK7)ZbLuW76Zv@@&9Hx@@czrQ0pV3eBd1uTa=khA_!dv=iG1l+;LA}#Frl@x z$4_lCOvJz#t6YKyAvY=j{=M}eRA=9ud`IYPr)fXnT8z;_&XCznr{{q+_S?PVI+2Jl zpJE@+R_}(%HMj9oUL#u6heP@?ZN7H9e2w2^=z6oLF9Ld`q+qS>ySabiP{wEqvyY#Pp4n6=I2 zGZl^g!_Y~oo;taq&k4xfk;y+oRb$6gG-SD&WTsT}mfw?;&%peDX5%~qa zYL&2WgmR<|rrWyURC$(*efa@}BPUN;(MmwJ73jLBV*ua@x42A3;ri}nXBByy7`uqPgyp=pSHEGTf8){~ z{*hqNww*Nr!=eLFUbX+Nz?7HzweAfVnI1>L*~7QlV|OJH54xfeLMlcUv*@;lFMC5m z-hPrVxreI!Q{;w@ZC9!f7-6IUkNvZ-0=gSI8x)EX3WVe^>a%2%PbB`^e|{zz0DlW{ z1GKx0z(i63vk&4#UaTcqNjE@8yMOF42?z>vQoQI6DMwd(HTD!fk-}p#Kw2iFZ4E^* z?OpCNU5S9qc9)2!!r$;m3Y=BEVi0*qr^cTD#??-FWx?Jp>eF{UTidJT{TF9P`8XeJ zT`NgocWO04scwb_VCNm%M3Xz{2d!dX7QwMauQ5z#beLc7dx1C7>f*0$owJ)HDMGbp zCbFlQubkI0FkV=#uzy}}ONytLc({XU!{#Z_VY_5Mt%|g}V?@MTXY-t(pFH>Q2>if5 z-GE#lb?DVHbrD?jSXUvisD-=VpqW@(dU+{lbjTP4$ys^XB4X{{%ffM3!N9odeywfY zL}WB_@4Vn-G0jLZnrg0SFNpTBJ-&(wW_&Ldpy?X;;vT(V2oh9n1u?jY^fY!)gL*=A zFAjLflYo*iU3B0Rq`teOs{gBN807R`7kc?P&?_)^V`b3fak4cf^e*jo-^#qF{u3&~ zLl=VeFSb%g4q~}3B8JbQ$iItL;wtLWaT>XgG>*jMA_%jm)yHo(w-8c@ z)5IH#Nd#dBeOkqy#=B>3ys0{znHx&!=ev_eig{ZSi6jF<_P!Ac#;1M1^0kj$M;&8jzOWx4 zTkm+-!EP~YSX889rpn*A--y`hu0ZaBJ_2U_C#hUc?=_{Wv`1sYvG}^Ul33%$k_>ou zh<^{0K08A$7V+1>`Qm~g{-*xe94m1Qcc!E0GMXQCjLyyCA%WebW|!Xt+{WkN^n75=`9CYy=1tn)6#KK7dz-aKu# zcTQejQHR4_NI6a(C1h+3D|1E_c7HrSU*Q%$Q`dYz^#iW}-e_92LG6eWQBp0wM^8kT zB%ViiC~7{stvSJDLSsX~6=BMmb};ykY^`ODAS>}`t9sv7E8KrI$xVD`dZwmF1p$kb zhkmyMq!hXS^EkXp@EFaAK&v;I!rYM2Hma$hY#n<~;G-ku8Ykp5T{~4=Geb12L(vME zC+dh(ukC5o)w2N7(+T9HmbW9z)IBOi+ha3A4vtfd`;#~$OcxTpt6!F56h_CzO|kHr zYNK$xWku}0t}Jtq@tp1XJ}F4yh8)F@U90x-5=W1ML&XYK&GG#TD22TVPmTinrKq5&r5!FDA`*;pP632+pA=6d@|775(vLO zHZP|=tN($z&3U>WUO8tOWhzZ;k>x3BD109+^c5-`8;|_v18Pu@XQL7>`qUo`Ph z9I`SiW|I}4oq^chT;9^LIVlC3LKZx1bSolPCHEP}WB@~sCUP44lBS;IQb~{re1FK& z6x&3eYlT?V7-N}{P0qOF0;dQRVe+34y6mlx{#YaDa^{fo7Teza7jJp* z{JmL_{q)>^)3z`G3VN(f;FF?E)&!16Oj*Y2NdHpP^?z{R2foC2gop`TcCKd~l8yX- z7qxWijE=)HArL@~OAnw%PpgWdeTyZfO#mB}8%{*yk3#w-Io*Gu&H+=1zi+|*pHe#n z5fQBiZ&j!6h{v4Ppy;R3QXL)5WNjO(kaoKl#4~%Sv z;=H%$={)~7u6XyXS3tl2es#dbRjZ_H#!u&(al3EP!T?s^JyTEdU4-=ts2S-8&otJIAT# z!e3qrXx(G`pt{QSm zfYRY#FmMK%%bCp)lwO9Vxz0GfnxxfoswsK%N0h#6?Z#32AZlfE3eLzii_>8eT>Ju$ z+)*ur<#qrDhZWFdCiuRpc5LFN%~c=jvV)4G{b2MYWtPGscwTyPlqtO;Y11;@W`9S* zM!O1%h3m)FK~ApLJY5vaKnq}y!jFmIHBlX$KJ{2q7XIO}h}=-0*%Bx^2v5x;lIbIF{z33oAHN#>D>K9x>L3dmZ? zIEMGBkyDcUX;Yvo$gNAI`?Fh$@a*G&Z{jiYv~g&C$c6*{ax6bjGwaD9j(lw( zyCf_Np%|j)He4_FTT_SGIEQFrrnrjBkccRV`*)oKH= zQ9Q_=8YOTOEMaD=){Ep0*0<2BPJlHSB#wXGNK&u;VnIxmhu&I)C7x9W+mJaugK?!o z@s$?v@fQqZX0PNW7rkO%*f&rC0o1FzhQ{?$!&|eYV(nZqA2Of7Zj=+KFNXbk2d&E3 zm<$3r(&KX-zwC$P}GJlMiA0tiZRacBol7y3zoJl zd7?+3aE+KQ$eg{yB5IBYWI3BS0StoW1jp9n=Mj_y)JV3?>tDTRaWv@LYB*99t}56K zbqEpRuB<#A1Ll+yjLF-_Zv_PU@r^18OIHrlE->W2*-zss6}i=Fr_Dv^>iH zDX8nzE+r+db1Z+rT#V?_XRKp-!$=cmJNrQXg3^*b|4bMo{4W^HXD4sOGobe)TG7*M z#13w53sS13B;Qcnbbb8@h_!E_?=p|)i8H&5gfyVL%~_-F&yaTK=k zH_qaw=K*T%w#}fSj=emKpWRAdsGRpHBgALAdl#Hj;(aV&F3V|5hhsNnM26;TV_31V z0=A@Y1qkPQ@bmLg3cD%u3NR;!lOCa)BHZk5FFhr7GXzah{q|(t+Arx9YU~--8=iE+ z2it8+bm0TC^ZoM{OEH$l)p^{t`G|{a`tNp@`I{f0%MrvoSGKDi*-bUW_riId=lO*O zSSZ~#Jmz#Zdkpx2mlGeiAqUZ8a*Q7e7!A{4!+tDHYcnHhWz;My%e(v*pdX zleX~~9dv1a2nZ;HjH#%`%#j%5h?$wHKh>jR>$H8NPBCQE>`RPD*^`y;uswjq%Xj3Y z@z7W!R?8;JvVYApq53!B!O|Pf5Y^rFUA|@ED8fp4)Z4h458aA{U z7^g2|%_U)w84@w|*Cc!9yD}pTa3hf5Bz*GSTx6x=*B?A;TB{s7^bTJGi;wa;3v-yFDN;gwduu>Zil50Dg zUl_+&BetM}A?Dvcyq=o}cmOwP27YdCFm8-ZiM?BA-Qm6-d8*_hv{qbT#qB@Y+GKF8U0g=a88?u%Yhb%)<8<1s8-X~8O(zWw zRRBnb9tGlCRyg89U&ItD7!*|ZcU)@~c^?2z6?wibV?>FF0*aYg@)WN7<@V1lFKOW- zx;{}}(^>(VayV7zwL7|^CeynyJRzRq?OJ~aW(dkn zev4<|Ui43q8C*krI>jh)@w@)jUdS@@rFy(0AT$d$?gCaiRpm)%sv2<2re-KyjS_^C zDC*O8&!$gsAzTVf*_fVTr^@i=j(_I`l~h;w6J60?Fr+~tOW%R&k*?U)n;m1|DfT|@ z73E^F!0#)wJ8;nX`AAcL3x+jtbj)-<=r6H7Z_@-xM+#`Hl=nPEu0fy{dZNH! zQgx@s3#|2f)pmC$%-pAK=!?$R!0+7vSWVQGP}}{EFFSj1zli{yn&8x4@^99#6UKIxv>8Fo`KxC$xinDi}iJQ~mPDR~Q9?HDT z(1A+Os!3CU)WSyftwY@*Qm~CXRva)o2B3_=k_es7FJKw>$|*en9U73L%!#lkTW9CP zxThkJk4k13H)vLSr1}96T|tl1i;cniv>weaoS)%Ku<4^`i)^CHHsqA_5j#Cp5_9;L zxCvOH44zCCeZQ~1-WA4(CA?cp)xG(70l-*mfLwuJ7&YWPI1l$e%t8o0nBp$>ZR$p5aGJBSJSVEW{K|FHQ(-dATM? z#+@qpE%G}rTBvYFS68##luq>fOo5T>NF%yu@3QMZ3-f=pZ~y)D{<*`G1&&MiY|UeM zR=4+GA#LrT-)sFJDPaoBR&9+$u%Bbbi|M##&eVX7`msxnz)GYu4Gs(dO4oxpz5S%v zjkuVgu}m2|MsX?0nM8KDa>Ui>|NL&913G{|lhOZILQ!;JqYhel;|1=oyeno3B0anm zA!;rB?`FsUxl8*qg#5cvO6r*ma6_4bh!!L?r2jXc6dew~@w7~3Hu>%;HlR%~P&IqG znZF7jN4&(e?&yf>!b}MuoI+}wTU7cg8Vfz!kQ8U^9$G$I>#OK?KVrpcb?C2NN{xca z8D7D}l=;9gpgUkvZ)60^SCPk<8mOUA0DFokhG6O+H5^O(ZN53VsMv4nrzAp-7&jL- z$`;Z$4V=y^{n4>}R{&%}wXXTaQ)A)FWr%X!cH>k^GLWV6=}+Sb7^h4+n5p3;(l`IpC}Gr{zKeDEc;zz{a5o=3`woV<{n-0t~>3QbWD z3JOOG86lnZH+f~evyE`^x-i&kQbZ&{dIQ*59{`$+|1n|Y&n5E@Ycya@r%D-6htmCl zb%EH8oPi(Lh6k|I$3By9?Yzg{uu$f|tP=Aq6T&i@5G-b}b_{Opy?$rqMMwAx@MHn& zj-Ljpvkxo7hIi$pmuyT1OI%A_F{S}tKc^4xEzvwxY2&F9s}k_LaMy8o1JLFhzr;g) zh{Jv3rq_0L2WHVRAPMZcg){}FN6l#`l!f*lGW7uzX7FhXi zVrbttOYk$``)>rO;Nb}w1L7k>lA=Wk2u2ZDd^j>aV5+99(Zkd*@)wyV-+y?}$xp^_ zaWq*xra$iampL-Jm`*iLu32FEX#_}8y)+*;h zYy07sl#%MMBVpTlikg;pg9O2g2rf?}n{OI=^SUaH_0Feo2`C4H<3kVx#ba)97dY}~ zAUm%#@^Xm<7ep41?i_NA-L>0UnrCE+)K%F)Oio3)DR1&SWKak%$;o6?kd0HDKT$}P zbaNgsvTC=d3=n{kp>M*iaR{nt+&n$iVwu737WH zW56I_en@LEDhUk@g*cPI`}>~R-q3>Mg{cPGki=f1M1r?}e$y@m;^awDyZ0p8^aa0b z0{5Zd<^)Xxc|+4nkWPV;Br0(|KBla4 z`=&68J-(u^Yw?8*Y+QKxoa;yp38vgzOPf=-&Srj&auN1xMm-1t{meSgo^+*xf;Oo^ zPS9w8a;q$9tP)BOYU|9WF*hZQtO%M(-R3sx z8|uUwBX^~O81a?7-Hnn&0pqgQtVrskhDm3FZW0s$AGZ4_$->OTeJ7!^=`Ek+utXO= zU|$etmI}^4(U&wth8=BJlw77(en~C%Gg}hDV}?(L9OdSOxX`~j6UDlzJuVE;*Mgy$ z%#h`%(Zy?Q>9gJ|H%w|X<|&rlN{?_P0~k#<-SXmianhutN-iTtq4`Wa2w zXcqtNt$1kb>H-;p$$44b?Javf=kxV~{*1K~0mJVYHlWO)%%&GNUCQPRgMZ z4l%IG%(|};9^g}W`nWLt^z;aIE zP4Ec9%Wa>#LJ8A7DK9Ald$kZI5WXMKMOQ*+Uqoq|6c)?tj)t;bX1=-$!`?`1=1o|~oi5=>`>Yd;~Sf(vd~6BBq{JU5H91-^l33D{lV zGV}5a!UhzSR7edd3`7Tl9eqrRB&i2<*_S)_Ej0duf%MB%SsFLJoxE%CSBCWP8urVz z7!6hvvcya)>vO%8 zIzw$6o>+C9ALo`*W8612)X<7wfVzkZs~Elw*-``1R`^|HCp}A2+)rcEkIXJ6XG!<)M@$-M%FtquP01>=-27Y?^dHw;CRIUQB8q+b}RF{TKsH|09C>P#uT^!#^5@X7967vlw%^b&2vTz`fD7V|<4)PH37Z4_PR;DS-|c>nt$Sdr zmaVjA!|ZOBx|CvBYw%JS9%RSIDX@+nYY#AT*}P)mE&N^+S9|<5H34?>^KA0OWLd!J z@6(T`%s>*kvP*Z+j%v!}?iHV=u-~RuPk5hz6GgBAhR7~e-hGKu&!!LV%FJ8qrKiv_ zOY#XVM3D=7x}7D(JPTYM`GFd4K_X;$KhnGcLk5z&668T^Y$C<+G_%vR1?*|IOCm3p z@4F=&uKW1yHmQOdeZ{Ae1b@N6N^Nw%vZam-n6AeQ??t73ur%49Bn)Hw-iJ#%a#1t3 zUhpcPd;PtZG)l=?$~Mxi;|k>lft^fAt6v7LH4@aBeeST{aWskEt0vY8k@-;9PJY~C4{%Y zR$V7v2WKV-dXNhBmRA7sI@eG_D=nA#{)NIx>)7ms1T?{6v%MoO)LRA_R!3%Qwx6*A&A(nv}g|;42XqKmg1-b-6_?C zzq;oh?)(LFp?+JtMZ4u1@14j9sCJ$*_8RHEbV%LwDoO>~ZNvKFZTVNz?7M{!bSDJ3 z2mCW~?ZueclBbnAbq_iSTx-W=&%44Ymh2OIoO9KFde!DH2axi)U0>=*94oQvH;!Bt zUFBuDTrtg^ya|mpKka{wPV@uU@8m$SOg!b9={^rf_YQH$F>H30kfv+h!A-ajq!Za0 z`THDeRQh`gOK-(DA{j5R-dupMZ>x>hA(6cqxp|R6^bq5@Az8RBOnR}w^=0j#w@VYK z=R%6?+Y)WGJ(YP;C1FmQ&6fmLEoRKzv^dOa9aiKV<}i-K2Wj^NDbMUTkqPHBe({Z~ zi5uj?!U;vEyj(o>EOPLc{9!hN0oOP;++_wUZKZRuHeOh~6kyk~sxM)(7O~hQAQiS- zK{He8c>i(k^t|EwdU8)mIuPfGT=*(ktECilD{9M=eQ^tv+s;uS&c*-{S3T*+!zV8+ z{h`4ih8^jIACGDfS=}oXS>0vnK9K7i-?Mlvz{kvHYDd_lcdw{4v!W8KwCWzX@Gu+a ziD|{?f742MN-z{C&Mho4v)r=n-Q{LNp-#1NJ*$~>ILEnWZgIN}}`}>c`${1;?QZ|GGr5>=b7A;<9TYm<5X=6=+ zmUl`?Z7Df)eIuVIJYx6lpMiPC5QM$@c?_aw3GIK3(>fCUtlTTOOM)r&Y!1`tiUvkL zqF#V5;(xQt3V+ZQkr!BNB&WPkrS6r9A|L?TB%lZQKb2G?F|F?|l57=L(ecB$x%sC6 z3KYOQ_DsHw{g~JC={35{j-jO7FECDXC=Mo*y?<~^?EH?_vp9*tw4@39Tu|~^%mEKb zS$l~EKK~9WX*9Zmcuc-GFT>2HCqs25`{?*x+*v+18J_X-;V1nEhel-0Ii?%BBxZZ7 z!s{3bIM*C##I43Z(gTUMCET@x|ie(qkv|)3jI|TQ&>;|z`#KE!9m#5 ziGY8HTq{9(^}b@KyA02|Q+d(jb39M>qkMA_AP!nOl36!WYwW%{@?UYglVET8n7-flIElk{=wKPZ z6=`&b7t}xCBy{2$+}4(T;qK7jv{5(AU@9}30%=`u8Ucf&Onrq>OFA@jGopR(#+S-ps2C1*auy7>)x^hBwHh!4-bfCt36TaC{ z9gnp}R5*vh-jdkDR>jE@y@Nt;l*ht7JeS2_ruWVk1!7BnEs)?D-{&ka{KnnebU9>L zJFejN-lUaz&QDN3aY^JfKXae~MTd+bQ59yW;p-H203v_92OXSL19Z2R3&v&@-M4qWdVOTvrqM^wLv*|J3ax+ZKZ(EEnQAA)HR(%XBmO-Wi=8zKXq z=A0dqxNuTDKJp7+tiS2Un=XdS@4M5^pA{1v{E|SmdD9@Ndde=#!kgV#R1$q`xkwSf znE)e2Fz7&Wna;QnQ7hqCGeX8O)G{E!-4w)mI0me5mq3fvX2xa7U0`lyg2H>nB%Jrg zbYjY1=i#$Z2T}6CWP`@EY7Ak9L*|WkrX>Y7HU~Sn-mlknzu9xH&#faaSdFvq+ zZmZ1&=|%lo=)!RsI)Df8T{BPQx*3X~(J#O#@m;{OI|Uc44<>bXyhA zvP`w7@~kHlTOd$!^K+bt@)!+>n`=9;Cqc_E0Tevh;7-9? z)n445Y3$Q;;?Wnb#6P0lJ*KTqZ)1p8F72v8n9^@h&Jstt+20d}GLzN>R$Cu4IVTSg zsSq(y$WfC7DRijF@f-836b1>zu>9^SGcO}V+SSJn1&r;!N2cS1kHJ7r?hl0R{km=7 zOtK&3k*SgCta382mt~+(hOkzEaL+jC(V6SN23E>=&d=Mhb6K zKC~uFBwq1j_Yo{OH4v}(Exv8!BX{w%R1wrKAEJGgA8?3o03jR zGz?X})5xX)J}tsk`DspF%WHSPAl0MT_ebOwOkhN2#e5sMyxeqMRJsx-)F$P+FEN&P zMageUTpb&)H2hXEFmn5N8xZB8mffpF?g)wEPfP>WWtI>$GcM=vEIFw!)$~K5IM&eKAVT*&JHnZL z!{X%={VMDlC|5JQ>)Jl6X{KKzu<*7AD1uE+7okNBls_H0`I$YO(*t&m<7 zp*P_hyu@5^5yeRd#(3FtTWM8!i|LC65+JJkNCvEF{J^?5aaHB7v^2lnS+h^M7;E?1 zj}Gaoub6Zeq<_8xL*(=*Cx+O|h`vXC9|buDbmv7rjWL4JaaQm3Tr0BK{nfAjBC@!`|`PAjsi#|;tb^d>6fsybX)vE`U_4j zIf7X_uTvR0h3g@_rV|ANVL3atZcD-3fq{BWpg zkflj3s&J#j=I6%m56-_zBS6B5piUy{{|%k49CJ}T%5dfh;9p&vY3V=M^%Z<)G@3^4 zsjAa=ZNr~c994e(s&qR%}#Ppjn>9|dCLZY%ZuD|IUAyFkYj3K&1Q83cWL=3 znh?!b(tj`!S=(NhCfgMWtyo;nck!p9(#jv}0}*3|DY@!D^0>=~I$tfE>NGYWKq8qc zT=}2OmHA~oxWCn>KXT1zQw~kKx~tbnadaitOyG9bXazBfg^~Nj zaWu6lT)s8k?5tLdZq|^C9RKbPyfdOJOn6AK>NwT7S+D!94Qny(Y0rIVAzfwkkuCuz zr;{z6_Pa^%X^G~Cs`O8!nYo5C=o4L(-}5G=tt9?G!#+Yz zuY@?5KOKcW#Odl=y>4zT#@myW;(>ow2EHB?U?>E1_f;g$cQ;t!l28m_5{nd)TGru6 zsjc$E&pM=%6Gu@2 zH!4B*xc)F@5bJ-Zv$vJ~7mSbBWvC@?G`f~Z#$3k8qcT-X%&{*m(|5pO@yAKE?E(l3 z(6fN(=gt&#bONkDN>IfaNbBzB6W{0EKRKiR)-zo^#P`3GMtZ=Bs5dhJ8U$NrK)?ya zn*4F?DIKC2eX;o=qHazG2p51jS@0*@N`biGipCPJ;&&G6BI1=~>!T??a_FZ!HBZcV zhp)k3@5_GdJ$}@)H;iHAEOz+lXB7!sZtc4O-UXYU>^086#`{(f5_cvlj9F>`ri6*_ zCf?`B>&fe@XwwN*DsnDfYhvc)Yu9M~FmaF^{(FV80g&Q320&pR_mz-cLRl|MSY3K{ z{P1@Xeta7UZ<#im(i3{1yLD{k)<6yzAmU#zpN>%cGL85bj2>lpW`ep_%Mk4PX@!=5 z)A*@|K{=NnVW)?|A_9V&_XWpoCFAi;IcI8LpbNtk&w6Ew?ul5yLofO}@p4h?&^~5P z@9n=}=#RMutPH=pysIp;*Bafb2_+zjY}YqYn;Y3%AJd30Krii}-LnmG8k>^((xW`y z^**{%(%S4hlt(>92Wsi90#e_Cq11D{Uo0B$F2AX}2{nrhY@N1EHNYBD&XKnl!&3;{ z&DRQkGSZ<4k{EuI6jgV`BC^eKP>!(vPRj*IMJecf>tw;B8yZD#;q7*xCBhX%1uls;f&CndM^Yu0JVE);xODcPk<`_WBRwUkAl>s`dXRqoyiti{2>CPLIR-S$pMij_>qv3+ggU&AeE8Siy4I9wuEEIyDlA=ERBsoG#kHM3UbefxgGQM0O#Mw)ap<|A3-j}iueYft*8|@UnC79nJc>o zf?e_}r$`m5@?lUd{fFM|7)c0Ixqy}G{-ynon2+LYV+qISjcwR5W5Y)j^LDK>YlnGl zx6Q4n&CLyU2}%Tn|pk znaGKx9M|67x7_fV2(|ioK;gsik-~H{{Fux~D?Q^&6ZV2N7rBWR+YhWPj(-;xs{dC=pooRl_jt+d`tZIqj$mmE{?dxKU z-}CgVg;+Kc@cCxJM<|E|RTiR+rQs}yIJE^iK5z?-`z_5@Y;w*he(SZ3UVF3Mun}_p zY9Tw^@iG`el574q?ttR(km6O`;Qh zz*qE7LGq2N%@h61PVdG))tmcSg+_l{%KNGzkgvX!yEUyWg!;==TTNqL0y5BE*M_~Q zb$L^AXP$2NRIs7NtYGIUQZ;J89#+&*kc@#B!-edtew1@Y|NfrQnOXEbd^AC*c+%`8Ct!`*;rGMpYPpM`TfbiGNm0iyR2=S?jqvbC~&@|4$svo!kd?{k^Of1RU z?JMubj6zfcLTq(84&Pj&IcEE4ADP`(->PpQ;Ohj8ky zX??`GEfuM^y?f*1{Yc{@1@~tmqJ92>)#@d z8K`<^FI~iF&g-%*F9OiBK7h=Y+dH-gej;6t;sW(sq5@F$9iska5jf)hmEP_6034Da zP^_i3cC0cl>saT#ao4XaZON9w+eTpX+{zYeQ7vl5Hk~sgg@UT}`;Bn(H2D7bugotbHT0W}qyb0E>o&ue}V4}30n;6G;IeY7_6P<-h&(~Ot2rIGp z6NkjG0wmSg8IrSkoqEZ_?Cga%&1{KM>}Tnl+(E7jKU~}nXxU9Z^5KlkZz+(+mQPAJ}zmf zze##L$U#_OB@5k3hUXFeMO&80!GE;<{2SevC^Jlzlgd{(CPR288rK>f-G50J@AzNt&tNI8nOHv%-1{&FI#=i*px zrP&T4^lhF22>UA?zpopudrPdrC|xnY0F>utn0ys~Q>RnCd ztl2hl<~PsfOMb~5SQHp7s$l+cV6^~Yc>quF-zxAzIf1Ah`DfWHM%v5g)c1S{oQTXz zAd>qzp`_Z~N`{suTYRr1q`zOBhMV|GX$xZ!EgMXg!Uf{r&d^=UlsYolN; z#>r+>TMvrRQEY26v-v16x##Ei<(ioN7)u4S$_B9_I_k5VL({8E9S9^GWyAA|CogBO zIs4>87+)8T>r?=1k6d~h`;W$lTYV1bUocEHM9uE0^Xh_)LyB^L!AMbSZJQs`Sb~Rmm}u za?mWj@WNNm^={HIHtavdV%_6%=tJdM7X~tgd-{r@DI8PclEcvM0e@MMMYvf|ZD#`{Q@232{&26dkHRlh zeZ8+Blf28-dUd&$1k)4a)S!!ns9lKN_@EpCC1@axqYY;yPAI23x+DPaz1i*u6UmKn ze31H1bAv&RjCt8TPwJzXha!eCKYwV%M|Z#5lDYl9;uo|Y#-@iKh~{}g6z^~l5`1U8 zfW4BfbVpeu)lW82Rkgvp_IR6S4gawFDHJa*I5w^n*m-Gd8)wxh@vSzT`+m!b{w9tl z+7nY?U4Mwek@6QzTZyD*f|bj%d6dDyr=5LoDz&ym{z&S(52(durzlI7QpkoT7>m=w z1#JARoKnd}!l`E#_=tQll0-O$95KFzJC+7Es%5+>oU19m9gZ_NV`1JX3&fTKiA)|b z(QR{!a-6F%Dyt`7h{x9%6nM&Q7*I_scO*DDE6?aVy>U*dCrWn?HLaV9mP_!8nf8o} zSI5^ta%4u<2Zxj>Ic3@QIUdpcBPs;V6M7Uk(E9aJtV5|6?(HUu%=(Cq8$_*O} zb!iBGzfU9~gMLTf`+6U0iivfL>_S)U`hvC;c;alC|=bzxKTH<$G=U8inkn94K^YTiZNwozuQ?{n0+R&&vf^C2Wz5&F0f4(w*0Ff!JS~?$8!#tYazY?Oe0+YMkL)ykf+;Dyw!$ zm;k2b`Sh{%LwW9vlZ5uflLAT|723*qBUn+>qXsoP!kbJ1(Unzn%uIC7mA)|JusvS& z38@ZCnr_t;zZ}CnQiX5@un5HuQZ0y}%kX}vU8a@N9+ycNbw ztv?$f-hXQRMn45LS&JDy;T@($S)uu>2prk11`*r|Art?r?x zGxM!tQ#6*bCP|uvi}@9kIO1~A7pdZE;^J(QW*oC|LmZTrHss=VQC$W@rMlK8^9pOw zRL8~)`;^N?W0n7lxVMg~D&W`rK}11XDQONRE!`;H&7r#+=>`D>q`SL0bT>$McXxL; z&c=7{yzk7q_s*U5TkCiK5aApJ4tulrH=gJ7^vA=Pnt?j5FLLX+9njGY&tiMXJgMmq zAjXDmc6#J=dPhX>r&b!(7kH-~+p;e?KA1G9$5fQa$70GzE*3~&8=8>JC0ta+Db{zC zCf@K269$yDe@kd;%8f%7K54bitc*9`53?rHp4jDrv<17wnJa6GmH!5DYiLgG7 zn7A$0@5)~gW_8h0N9S&BI8aq#%n32y`VoZtT{-n3c)5GaDP$e*1cB$rKK(VxyMAWt z&Z`dPPp0enB^|4}`uP63?OJj@9PVS?hISeP14TF>C%TXoUXB)PB$}HXT(||9fH!tS zQ@CN1iFkx$dLQqx3(K2+3BZE6sCO(?w{B*0Fyy>q|rTv_5749?BlJ@Ehla-`D*XoUQ2sUOKW$wHp zTY7rA_$D%;u==ZVS8iTK&equEndh{T!pwn7G4~;^N%<{>eIy_IE)?BJ%GX`#ywA9o zyVXx0<}f{%khw?q2j9MqNYIM;eOB0&_l8q6q!m88dKjS9gz^TpCaY)}Fu8gCI6K5j z^fJSbGX5MC2Yo&TX)n0~Xk1m`M z$zx_nDyNP5LXka(59N0O+~Ku&z=0aS*QO_2D&#v2C+}o3Z-#vmKPrunGhzew*pSz!ouW=)tvu{ zjuv?X4f#vG%TSS8OoBVrBcEeW?P5k<@Ls(Aftn4XIpS~~Yx;UfH)&vbaGoWZ2lsKX zgybC+6_mRL=)-RJ74=v`a=U22_la5PmF@EAF;{GWt;>=-%-Z<;MabNNWR(j!`&nSh z;d#?ZrdBG&)IqrX*iHF!Q&Q|&z9AO_jWoaHMZ=?xANgA#tp~bO1Xp7nN2=)EqVu_s8!*2%Jk?oU#C!grGI%cJGOehXIL0 zwVhg(ueHmYO2w-Kg>Q&SvH2fe2d$a(%H{b!@+1w5KxtU&j5)DiLdDEHa4kP4Tj#y) zxq8dT7;5+t_ibsYKlF&oHtIbN&G<9kb{ew5qETWjqdMU-K{u<&1tK!yrt1em?zgND zLMdxABd9#;L+Tlm(}NV)%LR((ZQt(b=Y!suhp=$#=fnfzQs%|lki%N<=(2G>WPCme zJmxb&5}!{hINjBmznPK0BTwVM(gOAStm#v;$D-KNLY)OHEmzB0v00~LFBp%oBp4IS zEDm4qaF6(Mv%POS-+b+{HCb}7B|&Og08-b?e5+niw{l&*xcFd;g0Hrsbn@9Irnmcyku!j^fk0`0qu(ef>C)tuo}Xg74<-xhEsABQqe`Wd zrDDa3HW)y<%S%<81eUU~-cpkqyK!)|928%DwceG(i1YwJ58nSr$Mf%gh~A9g?_+65 zjZ;VTBTfgf1qs=HefNt`6W~MTR}fLLe0$419c#fNsc47>hmcGge46rJy6NV?Ruf&uhw z{}1LUa8%u6OtjR=6MD0S9Gb*eI;ck_lZ1Z|(tu=oKBM}YT0 z?Q~4{_XnnZ^E88;*M>AeXa>65&h|H^RKmQ7VtGf{sLId9$S_8U#G*EUnvTzBmse`I{(SRdFdeoZA@PJ zNg(s-%0@Qm{azz02-MQI4+04TK)Or$m+t`*#})>Ot69frRe}UsDm|%!g&ct_tC?yE z)=Zj+2dt}xqF_WG6o+9$T3tmUT3shY%kZykjhqBoK_gZN{a!Hf1_TsIJ)moj`W8dB z0;fHyhR&!6j$ zYlhP6;s~|111Cq&jOvclOgfQ6rW5_^Rz`L0fPznw;?ruYDatpxv9xy@d*5}Zo~6n1 zt1su|gM|;cdpMZD_9yyMuLoHHD z<|x6sf-N=Int6pc!_1EQmD+jP(T+NkdBV-rH?_9o`=K?});q-Z#l~z|qZGs8Q)zYN z58B{%Zq`stf80J?evSY>fkaS}YK$JpJ&NJ4YP*hlS)v-75^G027Uw=LTdMJUq)Xt4G`4W-Fbg2PZP zG=7Q@*)r7JDr;S>zL3j$V9uXGuSK?tK|`#f{^HK2=F`31I(vCB7L=nl4n6z|vIzUx zJhH5QJZBjnOYxmckPhB-6IYabx7UE-QP07C5zcE*F*bs{hkmzBrDia|@wQrj#bG$l ztBm3&M=JeeQdn&}oDa|N_Pb}0o+eW=4NaRlSHPZipGeI?S*T2H^`}2jLfU{+^vpj> z>;TQ7H874U_UP`+z0Jqa0<)0GDA+0tq2rUT{Z#dBhyt-6T#r-p330K>ZRD$Sh3*~9 z-%NRd)16Gn%0stcL&Sv1rWpl22HuqNO4Q7V@sBV;0s?eaGFoJ=DMdJ6avr`<(AWu8 z7gCIG;}yr}Yl?)fPUWm~#^dqPl7%AU`^)kX1gTQ;j-2@ZWT9UwaAf;#qf3@^yZvd0 z@#%0wxfi9kSl59KXN4BhmvBLBTu-%kE^OC!R=ajyLnEk*oeh2yEAmQ!6s_)*^=(GQ z3~e(@@tNhK$0yS*g802tQsk^ZP(Ap(9&tK=I}La}&fNzYB1;MF2Q9_w3xYHf zp3-v(Po_K(`AYhUCrFWWs|rKi9(OUM`-wH|eI>2}NnuuKPB_Q%LkI8e`t(v)i*c6t zIxlS;7kw!>PvtQBBtxNsF(nvFV z;9cPDvrkPDa;(e-tRMrUVBUgBd+SJ5Dk=gf_lqIw6q<8XDEf$DR`ah!P#8;BYb8tm za9**9!TK5^N@e!%;OiR(C{T~-SSt#MGq?0K?T5;tn+T7fetTH7yeZy&j}=x0%WM2Lr!CW%0Yh6r)@b|*q;N|p5hWz!ZTUscLDa zNt4)&yZC9D&Qv;}x3hzo;BEYYVrAnFvscY7>6?=YI9_+aQqP!w13W5{Q01ja+OY#^ zFAwHf$v)3D2t{+z6w&_pE%YnRA1LC@@RcqvLxbEiy2T7*4sJ>o3tP6bl593Yb;8y9 z*p-{964$<>Tcx-iB=3C!q4onx2w57_Hb*A&DJOgKb(J4mV*nDqhWqO{j6gSCM5&`e(TCO#`4mv+RI$bjDzYPsN z>JTI=DI5~O_7i{C#Mgt0mFet+lQ}aje13cP%Jh44T`6C!+#1W;RI`Uv##z7SVHQcy?jCihK_-OB7x0p^zkHbed1j%y0zIVd66nSZ!!8B)mT$sZyuTQ$5{M_ z(a~{>Bw3R^N?o5sZpdwVPF?^*Q7|SmL%Jh$I)Y=xQxf5KuLjmMPPbpk8a~48o~UbX zo(GgJ$wiLwc+cK1tX2c_;>n;i`2vc}ZS`zhH@MXU;Qw7D9r4O0SC(7yENW8zf%-K* zL!nPMp_iC#>PMi}PzJE9isw zQGOOZZ!l9Au7(HB4%(cRX4ih>wV05gWzjES6{>m~i+gVRYG)gcy8jOp>|ZWz-uJOjC6ksKd3kf!`qqQ?EzW=Dpza>bZ$8xn`?^+SKaz9CKAtZjm4Wuh2>!Q)nX*1BqmN@RT>4PHR>T7Y`Z?YY5LlcdfhZM z+O#BiQ<6f0If_g-!I;kQ9#d{Lp6-MAtZ4y}wGl(eE-&eg4QZrU!$T1giLYzbmB*8k z?LO0jx0SJ(o87W-(if3hp6qxntAXQWMFEL`@*#Vs>JoD!Ka~Lkzpr?!1U+w|*6H=C zCeY{70@?fw$ykZk9E#D*c_Y^t`-m2DOV`nY1yJ%F7IoSgW|+lsmO}#H-^6sD zUy{YXjvU9a>>gHC<%)+Qa=*Q#l2)GYPPBCEp)ge&3S|<$VKlF~DjXBr(!ByDb z^0v(SIAouoz@n@$HM;4p&nOe1Tkk2FWk-q*${2}c?bpCt-KkqdK!tjBzho!B)sphq zhcgpbh22Kb5vET6sY%J!le#92fHvXw$5amnE4aso&9wVVkYeKxW``KbB0pm4AzzLz zjq`C)%sj7j>Zvgd4v$i!(2mtQrB%m`46d?qcNu|N;+%MCoBsGx7=%a1&T>Iyg=43tf7C za@goLYRQ@6Fy|Cs^v_JSM-CeqaJE~wxb+oi2-qq3j_FA8!*6+1E70#EB2xI^J^TeP z0$b+5)h~b{L-HG$?Ms_PSJyMV)r|NHQ9Q#{;)Oy0P-#?ofZ8}_c|slhe@hbhU$mA{ z>gpyBFs2Yu2If;grV``Hj%R-b=LiT`0*x81Y<_w{3s0hoLd$7B?-##BWS3kv@PjCv zOq#R~S^^bOoD0O5J^psIifq>_@;S!Ps$5}xU{zpinEu}4{b`}tV?U(wL46xiO&+d_ z$r8c&BKrFOi|_NlIokx6f!8GdtN9O9X51No5vRe7yZ#A&v0tgOFavTxO5OboOeYB4 zSK_bS)((2-xNes`v5aDDR145(n9yigz$&q8(LGC~3AT7}=K!WKkw{x3F)|1xDWoQSbZU@1Crd{*@O%0!)OA zIhS5RYJXIU*_G~Q7@WVg@@mty3t)Zs02-$EDkF3Ys+%)I37Gk5$a;G9mclCRtAo_N zX^EP{Ck}nCn&1&wDfZ2idS!k%#@}M!>h{N|y8>9%-P@0KOTHnIT-l^)CkAX1sh(`E zd$hz7k|jH|NbQZfVb2`x?oZAYN;{QS^5wetlRXVnS@ijA3+p)}TUlgUGeW!{aY?1D zqkFJ(8t2JP$X83OixTC*hl0@k^Xs1dpmj>W*6%KWGFh4yImE z1UNVV)BFVr1wMZ^>1s4INKU*XILEQn!&2Ymftbc7TP1z5>Y(PWGV&1n4QyPQTq^y) zZm$)`0I1j+*pfAREC;sL74KF(wj_^mk2Igkw7$orSub?b**pBn`};f!wHa{uqSn%6 zmM-f)7|+V8B)vMXPOU4bJy)bkgA0-$NH<;4i}O||S^ZQDjiH9s6C-Mvm1NNAga?yZ znO_so(`M-4FFj&Ji++o|fg&MvLc`y8Y+A2pI4b*C}OZ7zzJWF#apDQZ|_+d`N*<;pm$rPqxZUDv(>D9Og+^jokn%o?d|QY3!(;T9xn5K-vP3fHPCkgKs!@9>Xh1wS= zy_B5+h9uLToM99eNdi?XPA-M6oKAe2ag|2yzcV^6CYf3Cj~&TS3GHF~XXpD`8O%yAl1 zMLZ!*zt~6%3!n(Ld&g1hsWMgM=3m!*#eqgPy%xO!UanVCr!bG@lu(>ZL~eseguR#4 zDJ}JcWR^(W`L;%TMn@S9A&QO#bJf^qM)r7K=;Bv91;?&2*P_I$Fy?OU{W$n|T_JcX zB3iZUMbj$*n_{)9#m~CxjxFsro3!>$6&Be+P@YuG-9jNTBeLIpXY;?2+J7}M_t^1* zrOGMc5sw&{EF82G2hskATHSxW>`=PGMl6MGmKXh^>rz|5%>%A)Z}vj~6}KQwUX(2^moEMtZ89EO0tp zx|Cg6@DPs)Hd@VT(B94v!z6Wo_tThv1gzu=`TvqxuM04clmP7e*lU2W^j`tS{bx56 z!5TimI}6TXbD|G~yaG{MrGr32zN7?@(3eLB{y;J4s?1Phy1RRT!AtbSR$sd0tZ}RU zp-XY#GemY_1qUrTjfqP=qW*!h+s`k$L9n@l6fL&_b5MO%qASUJSY-2LPFGh-p+dGd z%z}y%Y8tDfB^kg7Iy;GyJoenbD)#)Ail)TIwli_Fl0S|sF7qdy6Se&zO{EhW0?Eg*vp#Wt_0HNGu9O(Ixcv47Ip_8f!+<2GaRJhI-xbQwsovaBXwm#G^TiAO3Pe_^ z13MI5yDVpI(6}0uHnI9L;QWte+y8nh5P?A5n$;XH2^ue`Wf5Se2`BjG`6tE;gb7f_ zR6C2Y0$3%HBm{RQ5nk3%zSU<5+&=ukAxkak+tN|k={HbP)57ze9JTOtKe(c@=o6-i z9%9+Puqg42^F;J7uwSjpH1Hal`E@WXNp#n4G|n-F=IW``XmwN$YjvELXct4=!&i%~ zQ0Hsjeoiw9jg`MnREdNp$|Q7(%M9{Ig+30nxq!Vr zH@QhVQ*v5HP}?J+g<9HdXv^A$;Oy`ox#01ANfXL#H8JNkmLfkjoj$zD``Cf@yFC6| z6V*F+Wdw*j3mU71kqXhj^*+gm7u8wFt zU|O#W6EmgVFVesYg&+Zs9OrxMkP;4E!G^{gB6-7Il z!~I<^khkx`@dSdbDuJo?OgZpofIk&bAOaBMWFHU-Z#(cnm5+#C#xM^(umxy}I{-2l zg5-||fl6uMo1h?&rZsp+O_y*8h~R)CL}GrR8mzHgTc;$1E=ZKx-AnI=&XVzWO#?g& zR^JQy9k@~imO5hpFDmy0VPl3ikBN#TKq&xufa=1|+NS~#p7p-#oa=mil?9xFevzwu zRI25Qf?|&JD5Y1siuwLC_m@j16Gr->qJS9zeH^55w6US$57g&; zfD-N9ia=wg@6`KJpVtE6Z~qqI`)^@p|D^?v_4+-?`vhYQjUuz0mEQv3&HXcu;@=AR zmxJ&hQNPh&_BQ!REBBOMXo7+Y#Q(fHdAt@>I)@90^5$+40CIPP1iz!$88{KPhawRi z0C(6*4gjGB;4UvEU;+J}0|1>42Op8fRcU-!0&8swO-w>)r0Kl>UY0QWt-mX{F^2_! zZ7RhJ7rGX$61@1)G>2=y=2z7Meh^zejO5j|1qh__?^Oc`>S3u4%mlTf;)}i;VN*b; zTgl6r`X@s)(gY}&EnNcwsy_n961Zx#YPIj9NwEEWng4{b|5KF-ko*4r0MMI81%*;r z4qr&7UF8y$U~_oOVCFtYHtWRJ+n&-Y712no?OaSv~!&53Uf=9_+9 zzN9p-Tg|wR%|k~*hf7PcPni`nIf1H;X2(b4(C{9QTf90&2qsqUHz0NTz5G z8kXQDj>^F&Sj;v3YgU9Q%7#%c!Tun z0ZFhk^PFE0v7Ej>YG`C2rx)cIIDFPOwf+2haq<3|R@lX2BHaxTTW>8wn-^n0NWM~b z#y#*=KVlzWB?3D4ZA2FL5ons70-U7is|h&=f5o$+rG%WRyRssY4_yZm^Fm0Z=xbxb zH2sbo&-y=Xs*7JOanjdb#~^@Czs_JvACnwAquM;4Ju*{M@KlGSURW+Cghu)#&#zXu zZniR*njdmrX_weeubmQf1c^Qkob!}A1bY#ru_W0$PHE2Hb{~0}a}JPCoR_E%%~uwW zH>6V0l1&uBUx70&I_EN3J~T0=CVru97im5ri&%OTMJPBcZg8Hv4OIe<9kZ#GJ!PAM z6@$$IX`HwXd%4Dny39 zTsVVFSYW-|&Ka`vsp&yY7J=k-4HwQCn=<@3>j8zKwIdr-e0(qP1Q+)i!CdHb#m3oD z=|L`5Je8^Hz=r`l+nlblnb1%}A-s&r&%UFn+}5)(i*~p}w;au$G$TK_ zfbd9o7PpGs05;W_Wx>7?N^LNLjGa;b{;+;;kJn@~zdE~~Srq5LOdhjSX0G|G zsxHkQIURPt1tmatb{mB+{U9&jHJiP z+q>a)QW8`(`vb)fYSKHhxkb5Bt2h0LhNkNH&ZTiZ1A_xiLQQjFzmlV=S&4MP_Q)Gk z!gsdF)aaKZ2)NZ3T=0tDr;bDZ=4xPCzby+07;FHXfJ?yIyn!PipwjrdarA{HL%H8F z1{aW>M23cD3go1!VbW973SoYEm4SYxIVQvAt_X@XS;BY;izHq1hy^}t{x300G;}Pq zu^i#Zz~rSfc@-Ha5IEu`LW=t)v`f`MdK|XZ6+~-o10X(E|HFIZ|Mmo62<3BgkOvYq zDD}=u3Z`;2VYN6l1vCNmI)fp-!#ylGxE}aa8bWJV&&}^*Q1AahY5f$J$qc(0*)H|` z?*2FRLIssS-kunkd+8l}wPyf->)ecN=1QCyGcGnfWBf9pTSt*z2lP~hja2{^*694% zY%#kDxD}56_t;R$Z=M4cUkZfQfJ_i&csL#W?I%GsK*SC$%6j<@MV9{)Y0^C`T=5Hj z8ggKk2^y*R%T@x?vI;-w0yTlWj39=fAnZ53cY$Lo#f|Ea*j-id@tf((D2~a|==bw0 z-_NP3&3M6v9InDObT*>y*w#w7_oHE!C&Kb*DE<|dM5C^A-jnZi`~X!xVJO9(f_FDOA9(-~Y~B>>pWem4N!E?tiLbRPW)6PacaPN#>J+ zLNP%c#jkEE^0DOk-th_d6%xYGdd|_+o#7b!P^tCm!@Rxna>L_QB`WS6g2Bd`m$!1yUq-|GkYLJdgy-^rO zcn#Qxm!zB_ju~0CcKS*?h#0F?Mwb_x%@^u)F_k14aRvsOsTFa(w=>B5KFvtcBcXUL zLY)X_vq6Hl`u4qBp*|;ky(amJ-;o2G(jHL|sTrpAKwWAwHbmuuiMTz4M}0v3=<`za zVP)~ukIbasPlZk#DmjLSs{f)xKX)hiY&^ zuuz>#&oX36TPf6|bUs}OxgqhhTJcC_c(7eSZrW-p^wUYS0~0`uETUp;aDru5(d2oC zvOGz&ZZiWj#RL7yivV>c5^MQ&vWJB}acFuIf`8MSAPwX!$js6ALtGjQJF;!6B4sdx zhv=lmUGQ`Cq@~=@=PEswCkYYktTIwQ83el7bW_@3j!p*~iZUnYEbQTGL-vYg*y4mr z5=Dh6m%R7=4h$m9#SF3WOWO>;tCpW)>u%$0nXwKxwu3E;^T zu9)NFAcGE{qa<8 z>pHECNE>=gqF}?LGxhW_zv}{%e#_&&_CY=HH>rh9!0c<;DMnVPY45`-?S>7SQ|;5i zyjS8LmGQ}MtFDbTEHIyh^cLx5rkbqbXk$+h*o2DXk7Y}G=QI4J@P+Xq_cj4sa6Ni% zNPnPInKh|Y)Ezl0S$2E_Oijyi@kRV5*6J*IamD0l27OY314bw#&Y@_X*stswoOr~i z3z~4a+06Bsr;=O~os+GuM^YK;*%tSvTqOV4N#1%?h zNNt9KDQz>l-z#V~YZ3OEIBbNdqTo(Q9*Eo|Q!}hisc2Ck9rdSXQV0<}-Zqu;)<{*A zVx%D~5f3CGjdF+O;{1$RNj59Yo0e<~6BGPQ!AwE~;=gk6^)rlHFlh}%@PYy7l z9=mShxuI=je;$8sMW8gLvm?0uxiE{;`QESx@kEB)fw29H7l*m#4M|2K81wC~y^=Eq z2D+3d8vjMueA1_4ly0f>XndyLCj5KO7{fD4h7trpPW)8aOHb)#|RmuP{12bH& z1yxj8LACo+%FIh zO{3mYZ9sZZfnbyoKZsT<9bim6jwr9 zFZ4&8JK$9~?hUf@pSC4_Dom zz!LSIWC-#=@BX(%=QDW%2fS8+^z0YE3=Ok4^@Sph5bOxSAz~is)LqAoyZJ@!e6?L_ zG#)DltBMR6xjUt8;uJ-|W-uUJGxjbENb@3~Lyt0K>3!+q3+Op9%-wxi)#JqG;kX`o;4M9H~4o{|In9mbaiiuv6aIG6s^O*+CRW)TrxVVwO@G^5Kz~`!+0gHDm zq&wlp526dz1AY2i{8;^Syy^a0R*SEEKgVdv2Sn`(Wkr{r6xtFIK&H)tF94q zMyia~K|^A@7C9~FmGLOmp1x=5nR#DmuFN#7#`j?<3|9cIqY{uu7K#7y~x&2b2XN`_g2UVAsQ$|%08N=7H&w-)zL1B3M3(oOJvVv6N8 zk?e|(ps$n~HF_8y>D<2OWCb9b9+zKOcS+O%BF{2Ft0fh!*|Ef`cqLeHxQ-=#*RxK_bsssxNu8;MwJ`@7Io#5Uym;xu^~Ar;_CP z)sBg-0Pgij`>xX%uZnKkg5kTE=b}$2NbXb^If^kxM#F#eLZK8Hb z$4S&l4FY&MO};KRrU%x6HC7f8!i`~>K@p7?3yud;R5PwInmI}(R&4jES3yj_@@7QA^qoB{qMaO_x*2BVou4%-W^#3 zmY|TJm?!8Tdq^Jw(L*psDyJqGNE(XbKXWU&rv$C{gKji0<+JZU0UM=xF*cZU+3oWy zVL-n;TG$o%)A;6|s%XpwcJ^(r7mJW_uNJL2Rndn1yTjMW5R$Nz`}zI>+kyW!yYoLp z0!1l3n>h#k`2m#xbw+viWk-VnB>$wG5@*9q0>6Zw;-WD5Z13I=`2YjnLZcso3W+`- z^16>uP%5CeaR_L0?=^puLfe)XMe%NgG|Nd^0ht>`;jTqygRHHav2Ndj{(@#-`EbB~ z5*igqIE>S-h!$e$4bs{#0n)?mU&Qf>`Y*AGLS)&WYdf9!v#TON^Gcof|LQVh+3JvOJNN)kdkCZ<5oX;SgK zKTrc;)t7B`+=WaK7?`%-K~z_kpWlgP_Mrn`ixOC12WD2zs;*2S(9kS-$ivTNFJ2!&`~j#8iP_%{gk9i80P<7BO6mmC^Tlo}eEw!!54o>d^m#Y~@m zN^AMJp`!5QY&YUQU$x54sS9Y4GuYVP@s+h|FDK`O!Za)mnJNw0fB1YXqG^MZh*%Iy z>?f&I5g9Sj_rWkf@J(#@K>hP#F($s-oSl0?i0)nKtMnlicn2W>!iiysJ`yta5foGG zhTpcz@uT{8Y~3p^G>2TSh!wvuy~gVxlZ5s()-N9>k~!0G+iX(^;BGon&gL7GpQhpR zXc!o(Y#K-2D6^!x%|BlrQLLTJh&2halv-i8D0ebTCHDC4m^EPPB~r&;Q6+u)LMO+M zOI@%Mg0{VGD@O8hJ6uPnF>$&cVi>c0S)<7ciLynPJ+3IVs2`zbgZ5B@C7_5nOH9^E zRWkCcSZ~12FmLK5%dtzRv-s{3oXiu47!_u$_*;bHJ)fP+n|qA4CN0dEs!MWb-oA-0 z!PhuW11;f(TeHojEXu~)G_Ij3SlP=s3rM{WV!sQofW~Zlu{f3K80jmMmVA$ccrAcWJPflWw>+x=&R`hjeQ=9&E#{8kzS z6Ap9psoN5@PTPbYhGIESgFqY$j@pEf0C^W__s%}tkDeCgkxv3*nj1z**pi9V@d z!#wn3>?y}7A}As|%&HQzYu)FajrkeUd!FMm#99hAGsmkGmJZn}bJ*bpztIK{&S92t zp4%GnoFUYWFIjk`b}AjJh!%l*+kTC+nAX%9^9L&5O3{|?47uNwg3Nk;3`xV}vs9Hc zNite}D5?`Oq_c`;a_vn}nVp>{Z2XP5Dc%79ie#Y=-4VRlx1%h!YaO0R5@CZ)V9Emj zKvCcT8*tB$W#ipBpMvlH{_=)l1~q%>W+;?ouqt?5Y0tx zcEE~T++)gdOhy=BG@sIUoqNfzt0p=hI6|SS+n*3L;C5S-&T2(MEk#HT7bjvav2Z78 z1Q>RbztD~AV8beYo@AJkv6JGnuQAn!s>dJdk);zZF_2PPVEg6Akzaq(CgK@9fiD+X zh?oXul0uG>P(>!j4m2@MQWpqngTYtm3N@$F2T6a9y>~OCufxBb8_YQ)iYJd@a#dw-)o;)2($k6`ik?Jhr9tF3x zS?_wZml|{;V!jYLHF%RTPYe01&rvCHK)F}BjC9WkNx9Xiyi1j(PbFuRJt3Ddqu@s7 zxevNlY#GcJZ{J}XRdrd5aD-iNPO!^`F6Hp*DMjfqftc>?6DRsx%~C9$xneyf04@h=xV5wa5qbQWW+!G6 zMo9OK+4`kwl?Y+t**5NXq?M6a#|yR@909C zTK?(-nW?aN4~q<#Nr(VGj&T}aE-_UOY<(BY;~kC56Knq=`{n4TbegP!q~h@-62P69 zZ0ne0?nkEVXUdvylq{bLZ!@1S6FbxR4#|FURDuDm`;LHM^>$eW<|%dcOet1BPt6)t z=k>uGLA21GIn#O6vL%mq^5_qg!JPv3qEZ3N6+?1b9%CCm8O$m-sfQz( z((PVBrg?MZc7yV(ud8k)EPfWsof2Ljbb+k#5j*;croi#VW0P zh(Qc?@SszSXz#ql;!I<_x!5`pMF9T92}$2NO=PNEVmncrXRU zRuRvLJ-Z{u$0ze;G53nz^F8v2o`Ogbj-8wlp~2;YtF^uo-UYssQ`LULU@dmvTzvxQ zYyWT6)a^DC>x4%IS1gQNf1pCUj0tS9RL-z=#j5YMrh(L$q%hX{k~&h1{AF}x^enaH zw|s>x#b3T=FV>0;s6QHWD*(h#u3F_N`xW7;QnB*GBnU>8vsGFvdWX4Dmr=1r^clE~ zEe?#Uw!XK47CugM<`&L>g?30wpbEXcgun%}-{f!>IF)~~6Gk_4xdSyG>?KEa>H7*Y z^ldY_9G4KR9@u{~B!fkXH@l9Nl^ZeMD}cRX+TCWg?CYF0wLLVl^%P@OYvz(AR4u{2 z)n8;yxjNge(^2lqEgzfQIB4Mz&B&4Z&79OGIB3qlV9(6}$WnjOnGWWMpnObu*P&mM zZ^+%Cn-CnGDNhpq@S0<&`B$TiSLA|gBYXf%R^Y^tg;&CcTzav+--g5mU-Lt3z3(3= z)Te=O5Ih0ky(TVdg9_S)BE6%^>~PE^pObSn@O222l1XpsJJ+QIMn8k1_HsBY1`exMiGc)a`Tqs_Aqe6(E0K1I`{XdEZX@4VbAeHq2)IXtJBpZRqW8j zxl3QFuyw!GY3k!!T29L~jd9+x;AIkHJ8;44Jo5JLJ%T})4y9c`)QDGV9on6EfNbBn z(8cnQ-h*id9!#zNS$BExJ9fk?7ADbcAtV|!1eZz)>N(txDefbin=nK%O?qN@xhKQ9pPJCj3234`z?Gf9}mdJ zhrjl}Pz%Ze$FMB3;LMRpc}Qe+Fgwx6O(^ghyIAhfMAo;(m61kFuV9SSlC8t%Jy;k?FB-8%#?Yxw>MFDt1rnGKbfkgC+5&j_S&g_64-84`;8g0~?lE)&4*s;2Wh7 z^+kObX(6OF2NsIIzpG6kHM-S5SEzISs{gXAWS%NQDH3~wTpn8UF4Bf}UG$r29kIKm z*ktpUv1Xob7JVhV6lCbwGCV*RZjIZSi`FLcTJPBH*E5s@>33*S*aS9Asg_%s^IPqF z{CBsBNf0&d%#X;eiVk^l-y{oS%X+y7CGZDTlI`s$JId%H<#FJ7pql%L5F)GiQfYDX zSB`|4A|J78atGbuGdjDmwCi}(lGjv?QIdi*N%r!?9*u~$%MXd(RCN8W4>iSWxlVIN z+3U{T$troK#JNjg<474C%+JjjvSQ{?eiM#j8}!EeSweNvhm;-}UxLr>*8!*I*+5y1 z&H6<8!qXz1-neD1>9WJ1DjT&2+cfo5vykp4#j3DQTy{D`&@j}E8}+<-=l zjjE%-)bvy+4esT&mINV>5vkg!cy2o^;g@5C8 zd(SdMVH!n}q6v?J@aJW$fl#-|?5*M!2F3boYeaw{C2=KRNwyI^_X<*hH^4`|kr<1O zk2fJaBP`$@iz$ZG_S&Vn{Un4T-5+kesagpAgkfT9|I=V({W#C+*EZXY$*6s)J~rxH zZZ%Tp)A{M#hR-K#GUi!Gx7CkoUf!B(c@gSFhC2x~n%?6oDgZvcTvH}@rDf>+w#zYM zf4$_3^3)Oz9MSVt0cX~Fp#ZqfqOa;G>`0mQ7>0Y(sC@2hP93MCtO*y&ZBb+?uhTr& zLbym}ImLSzw&YD$3C!LuMbPp*%YoC%F`4gX)0OYO2POScAm7tFxYp^f9n#n{QV!SSYA;4q30YPbD`@^$iD^*ToXfJQfp5;)F z`xUt=V*Vek^#B97qVNH5)&o+@Axt-RT&*Vza5f$5=D}sF0WddTrvgM+*-&mtpI$xj z$i0sBUR+qsz?faN9$FHuKCGmF1+eX|l-w42f~1b~fl+lN-yuy@1l*5ED{=C#IjN_z zz#mChU|y4<%5$>vY^bWF#kx78wX&};ct@iy%;!&D3b zjrE!QA^*$I4cN9$6U9-~3o5(5Cv|f}-#!WaA>UU{c5{sW!3oP9{IbedtycR2*86&_ z#KOAgl~}Wf^@h=caAqQteeQ?5cz4C%LT$_gjk+uL9oIUr;g=0ckK7^H!dsW}-px>B zzgsCTs%(LkLt}uY^+KEDC)3HFPXbB>R2fCkt>00P7?a~5HH&_iJ~f*v10r1}mZ9b6 z2@RR|ZJ$WHAZd8$vs!rbYO#tliW1cGBb-i+;hWc82m*;*|D&_>4u`94^tCrcibRbP zJwwQ=M(=$@4-#$kDADWaL$qM@PKfBek2=u>GePv;%OHs8jQ;NB{l2r$KG(j!@0_#$ zFxULyx>z%7J!?JB^Skd~o~tp#na)uyA$PJ6U)A{##c0cG;o!PNoD>c+qAv%*Ruj4- z0-r+OdJ`Xz6k8akk8X&5TX3mUzwf{^SLk=MWU4pF7rNs8#uiy8^h_;U%Z&di(NOrX z_Nw%F>yl4ZDPi2#LqnM-p;WPT=L|g9p&k}Pfm8}5I^2je+usT=Y)%bljTFL;5f&{| z@{-m=KI}oZl1y;3*TwmM>~fHZUY!}{1frHB{)5-w^PL}W_;6#RNI88g?`#31Xzg9$N85UhTLud+9DesQS6_ZcRr-f8oU^CpE_!`96Ol;X&R zqrbT&EX8`CQ>^b~`jy5wZ9N?IG_zfCe5}vPgRXb4%S5$LkY@*)L4VFQs!u5~@;GLl zvw3$&7b{T&*{)2yuGM%)W}ar)A-SR!r76$BYo=LEjF*Vo^zGmr7@;IpY0W$mw+dBt za^j-;DgM>4=t``{4Bc%W9oQ8ehyc*^iv3X?O|J^Rfg+cpENL@n9!rPn{Cg97Uqy#7 zbm?;Wj8IhYB6jj@{Y{KT3U8ME84cKMEr46Y$y5P$YC>xAIQB`2JD%;hq#%hDFW=p3 zG75ICS!dAcsCS!9Y-|>~>|(Lg`^p$#JxfmKOiI$MF8utve4ZtwEB4bl_upAn64Kii zQ57bpbBt#8JoD7I@Q}j@&P*%BR0unfp`JB7!krb|^Ovv>UF81@$GOQQFA1XSEPAe9 z`n4~@HoOc9t*Mv9n_b?b-OPPbw|>yolL7fo2BReT5IM58;ej+SEVA)Q0NE@#b9Nqd?HDKU-Y?rO{qJa5__iVMV}Hjs#ooS>B{0?&q? z{4}&;4L&z~+mTZ~!b)`{-GvsN&Q|?x1uvOQ36+^HBvJ7^>DXoT4L|aZyfE{80`l~> z3tGE2#j+c#{g2Z7jX-I(b)>_ttRD6*y!f2Kb~%reR)CAZ{9j8C`>0)rpU>su_bg;pFX|jWi#*;X_DNel*(*ld2_FO_(yvrDYm`Rr!%~jjek~c3`57s%;)6>wvM6e<+WwhWd!Jzi*SGLni(fm8BI?2=nKS&tCWonf&<1Z(5yFL{Rc zELw3BvaWp}DV%L_?mg}32vuE*dDH_539<)>^jC8CgaooviRX}krd$o}`Zbd6Rtp5( zHG(O>76`xmj8aY!-h!eSlJdG&yVi(ok`G44dr>O2pA81k;m+>S<+VxukEGU}(T`j) z4Q*%6UQHI7-f@My$F)q?8UG+CHScgoL}s@~ANFDn!>Piiub@RXGE;EoxHtQ?Jpck19zP$q)B9Xy*Wy|=oZJdUaH0X=d0v0j~lFIkSkzs=clQOkYf?=6l0P)%&J&T>5P0 zn`h=K!yUUE^>&v$i6Z({5~1X3xGoq%mOmejbVBZG1oXiK6=Wxc2@5KnDR%43f0J1G zwr4TUnS{1!lRS*JnJmA*>O2xagMU~4Edx9L<+DO1v&VE5WNifRuZ+aSs@usPmx?(Z zT9xo_uqs5$L@n#3*)6GKkq{;tI^rKK}>}wCBZCO>v*Y?()+2CkWI>Z{abIU zS2?yUk*1-EuX!hhf_e!b6WcVKXO>h75Mkj*!iJF6E}iu$9^s0rdC7$<0c%f_oQuY) zCeOfVt%4qlPJU$@TRWyWEqStS`stDtuOjaVK~WjzAL7D|k-^B2195!|o;5$dqE&sP zGNdNyQa1h6!N~=8PvZcfz7pNl<=U(5wljK3J5>Bsj<7O+Y(Vn6Fm&s1P}RYlx-Ts+ z!3CQkTXDeua$IG-K4+2RK#0Y8U6C9Tn0gF-iOK_&k)Rml>#grJJpC3Vk+QI;hHoe z?PALN@kAqmo9kKN;iI^i{HCmr4tLfES-M87?Y3y=8k)G{$N>EVJKy^tEIG%$WqJ;6 zY-;G&n1WeHY{Qo}BT0`u2Ty(Hs4@A+pTkGq{xGllwjp$_X33mkRgkb8!;8qrQc|$j zZ0GsYH{j49Iy}xQlct6UTR+=PR+<{b|CoiU2XDXDuZSpmG;Wv^-W!bJTUnf=0gg*?8zV9 z^Y85|iYK5e2uluyq(OJ^o3R>`wzpX#z>S+TAQYbF&ndwF_V z3L#OX8HD8pYmr-m*g!;r(ufXv_C@Z!mZJ&-K zet<;aREb}K4quZuWl=cHpQVmtP)&(k@6k3M(w?ao2o;6(2JcyQXY-&h6-+rt7OW#a zPQ^YIg|kcrCl|G4X+IzJdpmKjF!-W)TFfe{-;T&mMz-#G%1m|;uEpUn2l!6U493~& zhQ=%%y)WGhLL@v-3-f^d;5~NhSFPg_43uS5+Uwa6_%Ca z^H~=YlNSGaqI4)ZUzT=C!$AJ;ZR%uu}#OuA8$zc0Gi#}w|PEj$(ZepODwLmf88t~xx%FmCiZ3FgTHeYxKWeS zlgC&jYH6hq=?H`&2%6m#8-VZL$0=o3LD4lF&rKY68|SLE>}GAVq8)0o7K+3d&Wyph zADpnN9^%*9Eb`>1Hzzn>^`y95P>z^;aj~n;n3e{v4w}!x<~<}j5qKo-r_#=_b7YN> zL8AJbu7iv67(NA>0`F6UMTNLw{}E^^cy6e?YdJXMv>ZQvn-!|edO9XXS4Y{V`r51y zq-wxqPTE)`C6TewbxwLe#^hyvs|8O?*>Ev?NrAPw9iw}>SDHTN>WS`{=^2VfkTM*t zq^tC%i%v~I(IWnP*B*aeq%h5FkE2nQdTJ81O=&!%AoOR2*r4!xiD2_5xkV3A)yikv zo4=kpH(NwlN2W2|-=-avAvhJTQAiaj=)j&=W{hwKI!M{;w?^9*&hj#xQuuZ$8^o-) zltd1w1nGV^o(dnNnxfWwPa&A{0^>sD{Jf*`C$xW|Kb1R{WX9}Nr^&04g0D-(z|t*4 zyj8psHZOl61gvCXfN&qXqb>W75{4Tie;L4dLcuMfyYXmr(dnOr#<28e3EG zS%1MVIkgJ?MZ$|unViNF?<_PaRn+_M%>E90IA;>VB8#>wUXSJ74k#W>Di5$^-~PZ& zA2U;e8HCgcG;+a$<%i@Kn#d9DR8eJx!jh=k#eM$mSjCz){o>A*@r?T5aoVNm5m9cI zgrrVJVht+u&8;-%1YvyqIB#KhmcTPs$4iA@$13I`&AgVh1`g@|pUa@AY>cp_McrAb z6N=`IRo7I6)i*|+NnyGy27bmkp6bxPluxqI2CxgeiIL6;{SuTy+9^-P~s zrA3+dMkyN-(9XHyaeic^`oc)Z{afsEX|q0+$sXqJt>CUrog94@qK(m)6SOWzZMpgQ zv46v4iWD7L+Otx>yX?w~DU^A6iaSr!xyzW~;i|y1dum>*kLix-;r%qvk{S^CVf}$C zEXi;VSUkE#5RIr>0EnRh2(Sf#o;LyT9C^78_C`k=teD?h^ureWBKBI7$%{cC z8L!qUzb8QWuDlrZjPk#(eo=m2)Y1ihQ~^XAkm^?fqQd`4>vGI>UK{-OB~teg4)kB; zEF@L@i`BA!v5W?+dXXoaENvES0=fz7RC;L|pBG?V60T>cWr!@OmEh$`&39?&j_kL9 z`00XLebSAC6OBrGPS@f>13Y<;m+otG$7kioE%M}feANUCYBf?>QRBgy=N_Ro^5zi`rxyQ_&sOPC2$e{E*pxm%foshA9jBVYr7 zfB+-49V5A>NQm+sBD3Q1nAXpZeWgPbLT9BVEP>>!PV6VIO}MpLLP#utTvVIMfVG@K z{{%H!YJo1f14ob9s$Xa~h|1|Q8JHy*Ua%$5ay%@dQ28<3!qSOeCa2vsju>!a(6aNo zDF5O1A`qj4Vhsl0yYy(!P55<6Q3Gh! z^6R^hYMU)3FKUrjCUR}=wsR-? zuf`DEMOrExx`2mm?*J8k!l!}2hx6t)KMxGj6jK}#ZQiuMmU1&43At=Q*E`xsq2&yk zeZACX(!G4~;OV>!3Gx(qiy4+-G+(d#CH7%dQhh$oJ=9{cd>-!Fn`b?hF4uj#{o9jb zi%Ie8==dER3b{XFU&;IvLJ|*E+drxSVrYvHs%Wi5W&rkET=)*UUetf2VzxP-_EdO>?jx zr9C2c*f`vCeu~1LSLh#P&o0*QDRf=(J7Ao=I3=H@BUE9y#YKgsJxqC4$?D-_Lwwye z#KQ)(j_y@ZJHiG7HJS=Wm_#bWtW@g_9VzLd!qZ1G3*jd^i%RwuRnAa#$}nOd-=H3{ zAC7B}o7fc%Oy@2{3 zEV8l7g{m#ik$%(n_u8fqFoFJbo1LTPjPy%$x=Z`MMpd@iTKj`VO`DR6JJU;;BQ!EY z?N_UkRBG;3@J{y`1Aq8T?QHc2rZ-RkwD9CS7N6OxJ2@-CzgDmmmM8?c~>bQv4QDfew|bN9Ad)ea2Pns}rrzXt)?I)~HCWm*a8MuwAD zpXu%4A_MqqS)SKAt!eM!cYtk5;>Q;*EFGNI`)3 zuD+PZ>Hnvc4yJ?QeaFlaF-316O*-{uD6U5&R?gAP3OzMe3WK}ND>*T&=F}K*LQX}U43{ZF5C>OpvcBRm;J)M3J(!zwY;eN;=BeYc z)mR?0)0yFdbPjvx^+embV>?GZN>f{TvQ1YY0Gu@mYf`4YTK28hJIw24_~X%PZUt zzt+uv8gvK}&W9|1rE3crd#0F$%Rum){$}9NN%}#$ZG(Z&R&g3=2u%CN}udaKn^Z94>IfZyW zmJCxW9ity61%Ivyhp2Ja^Qk`ePNC>iONfR7sKK7Fp{h!UqG`)M|tvmd{lv* z<80b56_>M%KXeox<}S(O`Xp0vU;W9%70m3cD$OO<`%Sdm6ml zyi!uVpzql9+s@IcKdt_g{WxdO`+@0tPik+k^JtO@Z6zvJ_%@Ay`m7LA-iyZ7&@TnJ zJ>__Eslpt;-Tgd^#<+6}CdEHr6q|;%Z>J_T%x-d%(^1b;toTX@NXdCrVc%s!CGYfc zkRwCnK!F|OvR3AqH__`j$=O-DcjwQ!A9Yt}gahsty!?^CsN^20{O2{SjyecGh7MJA2X&1WuLKsU3C?SguLUVsD4Y6 zF(>?_VRWJXGmOS}zOrmj#rC42;7OA9Q`Xne1_8J&zkmQjo*kkY(v+TH-PKwm{Pi$s z^5ojI{dL~^Qn_?v3u|k_(`fWBF4$EZ@9(;Dq)oF~yHizZ2`7%kwXq+H)1Zwy+)iH< z=@ZjK^r6(Cr(Dkz7&H%=-wPzfJMDyHsR07HXmG2-> znnx{ygpBkQ1hTUZus@V!Q(~S^rr1`ll~}HsmwmRW3<5+1%+S9TE&oom@PELh|L_r5 zq=*S6UlMRwet2ZNhgHsPz8eBh1Iz!0sg2n5)}YEAgHCtGedK z2_vOrnfL)go0??V2kyz=n{sPz#S(Qu8o9KFTd1YD=Jleuy$^{qqAaEkh^N=E|4-Et zf4jkNU-a9Pz`)ie;Z6ZSZ~T88Be}({)N@N+?8Tq*S^(Um#jdbj?CmdLX3rHdcxN3w zHnv$s+xbm+VEq;#A>D8vo*q!~lm*LHI&x9U0SA;jc#VnSkKHQ{^}g3M z>X*)19m2J501O7ns_Zz zL@ozfcE}6B6ux&G^S7WiLaog}w0~A4?6biu0o)XlXl8UN^N9bD;s96OM6LN_&&)7k=}C!1WY;Tj?V<8X|#UY zNu)S38V;99pzkRuIRSwa%An8TJ3!oDITIX74*0jqfl&TtvDBglJWKZH>PNEa8I?#} zAM*RgV6e;|0iN5X^3f?8{gDe=ku*Rn`Gn!!UG;q(oS2PmMO;MF!=TPxVDLzg-qpO{ zz6Y)~1I0bqA;a)G+=oXm-en}!Vgy*NulyUCOcR}uc-QtiauU@h0)AL_Y-#g57i<$7 zU~nm)@w#DHt+hORQ90vvL3W<3D>CQ;jROjms{g3RjSXp9+#cjG#Q{v=+L}xi-6sTOnIT$Xkb;KY?CH#)@5P`LSf}iKv*ay% ztc3gZ?Z9OHIEN@Zpq0Ays>dCQoyced5L&UkXxT9*0875=w&rA(C0T|Zo+*4K>MFG$bX+*J|&y{o(u3% z+C%6QtA|YO)_b|2iK|?oDj*m5%>Q));=j-7fax3wkYXsiCA;8-vYI5;+EY$ur9Pza zp#94}c;qJ#XdVE|f#Up}_4q|3E-8q!ll9c<2>4R( zM^Yl)(bYvTp_ZweZACzVp9uN~1J3^Z%Ya(G=3%Nxc~c%mM`@?{8Fql7xaS(k15`TM`PoyH4lU zaFUB+;E$1TE8hB%C>41A^DO*dXJ`cK1w34rgyacujsoLtPXq`w`j3$aC>{9E^vu6` z$Igg_rC5Q_ulXGJpcTbaps)aXP>>!+OyAU?=|N?&gXzzAXRl$;KBs} zxIq2`&L;t7;Npcp^k;kV4_&_WXM5%Ho=}bQ2rtE z-pw17H~$>`xyV0VFJ8HH=?dkwtJnT@%KxX$`8R;}`sIt)yDwef04~yAxI}y5ycJ+0 zGkNLH>kr5O(1nYa{_t}73MIMS?G~B)i&cOR5AG3g9%F}uG-4b5{sT)A|GEai)|x9^KQzNF0|O84sWlRKPlOsbnGPD+aKJy}nex1zet0eR=6qokDK> z{q?75BB`%Wqq_%wGo_>)3u;xHm;X)@rXc|r-*+_5Jr>zKyk(UNOhnec%$}Z(@m~2G zc;g$OE&StqIPUgo^r}*BH{d~!{@v;bVOum=#gn;t3SVrzt?YgF(i)(C4ImRf0e3&Y zz7Y2b;QH&o@@K#8cJx}WurlaxKm)i?Hrl5bU;3=fsbccveem6#ckYGXf!m+{)!}0D zOJ46QrzTre6GE`RxPMm%Urhd%mA$zQS|ggzrFh1CyWkvAc)dL+;L~#_oq>i7QQU(X zQ_P`g&@YTShX`>4`eIpIzY?oxZkE%T)3%^4tPb0u1S^JGu)zpgTUJ++9nX3egq+)W z6*cyFnUjwZej?1L86zV3_>JTh!-`W-HTN3(aHyWTVJ#fHU3sra+e~BJr8_Udlv8JH z#eRgau*>PglH*M1%+G0fpTM(oz?YLzto*<-^%;QsXlh`_Kh1x6Xz!I8LIa!Rl;nKR z*y*c2{y6F3>W#;`;GN_Z-4FQG60Ram;G(9?$Iva(b3LD(FGF4ZcZ>sdUFKl{w*7(+#2Ap_U zUG!k2V7z9cDw`fNrHOG6lSXRr`itsrq*i8v)9`ur+3VeqN>sYiqwEY6uk<-^Bj}>0 zf9>nE?1|?ia&n&_B1;=u*fV^%!?-9Hzfh=7SvAPy*1S(Z9Pw10kk0pZ1~!ZZ+1e;q z+XuDD1}3is#1VuwF4kqxeLTI6#c!SQ7~ZV{zWp=pmvJr`JAVPdHRz<{KcD<>+wOk) z7?UTnbjjVoGXUrZyuVxD(Dba&s|Aq@{Ri#JKDmgre_-&~FO;cR`)~|TSEo)nA zTQEn$fha{r^(W0eqYU>py8{7}E#T_w|81!MY#U!;WFI8Dls_QfqiN<0Ic?a ztN(e*|GX32e(9H(&AUezzS{zFvw-@904lt~uc(t;Zq#%?m#JH7I zum=KUsbvmoYLagbv~jQp(0!uE{wOg@`_Mr7`a0vkR@a9=3#~WdIQrW)kw*s{OIC?v zp1N7zE*6$k_KocbOqdm9qkDef{ciyh{QzCOJ8+5a79c7LT+aTlZ1SI`n6s3*5ZQO7 z#xozZ%TISFG+M*bjFz_b@4zurx|lxaiV~P`Lj8t_i0xA}{zUNXIyY~C#c{mVe)0&X zk??eXwNV@-s?np#M`JPlZLicngo6xRj+ES3V3Gk*kGTX zKJbM-HQVk-8k9KocMIIF>@k^>uLdS%6uFQ593M&ZY3sBtLgbcLZ>vn^2>$berK6UY6(wb^xtM4czpmB$MGM zjp9=z+A=lhHh(NnuZcrueTH$WN(;QLA&K8;z*(pdZd#F&&P}I5l}vE!dYjL82d%AR zDpQbJi3wnJFH1^xn{w*m=}}P~sDy1Zjl5s&gy@uW`SiHh98K+wg~J$*D%p@6cENmQ zL0_<$^La^pIhXDirt5TD9oQQn%I(H>SDPvFA~R%7uxNg-{otiSO}?ba+KiA4w-+yl=&F|7MQ@wB3E!NYZ!cF9rX64~13U5# zhoL~wLj3lFb$-+11Cp25Q{*}m`r&jzOp2swmP^X65Fx%&>a;{8o4BUbU(WmFcB2$( zuM*auW>P2kaGr4qEVZa_3fkF~dU!e=YqqV^R!J>?XI)h|pb9m^ic+;J5PMhv9sPWn zPF0bUS!MNhCp2g$%G)hu$v-*v*};63{=NUd|j$fMsmVE!PMAkuVmeOEoTWG@O!#m z72@AI5bu$kEZ5FoP~gCX2J7XG5FKA2&&29? zVH_3gbTA6D+I$#aBE2ks_B3y2Ta|iON7CWz?eK*gajW&hWdX`12u5eGm=%(&zmMuz zvwg@KwUz83TK03a3Fo2?Iy^HRMFGVcWk1NgGG6Z3VJH=(7}*YT28TZDX%CEFj1RfJ z4~yh*rlz(xWyh%czk6+Vz2f(4YUUj&D`Q;P5l6-ubOLm<#|>+W@r}wy`q+}(ooMnC0M9|p*+ps zw`(|0x0q=-(}#kqi&XpMS*JQ4zp37oI#pQ2U|MPa?DZq}qTq${yvRiMR`;$vJqT^O+! zu}=}wL#;};SAEA1gI+B_T)NvgoK}xMs-SaL_w9dqJ1I7DdbNv!^``ez(;iOliFnlD zVh5tYdaQJ%rD7Orb@!PAnVF&#p~PsvfTZZ^0EP@)qJ)D? zNZA}NM(w~i^EYPuBg;Uec4t-=Y-USw?=998TcJ6G9=k)#pTuAxC zFJTjsG9Sn>mo@vHB>QKS&2*^?GWCYEwL;pbT9L^ zO9&{K-Fa#`SCrW!KGx)Nh+J>uet!;xV;F1W4>lvIqA+Qsn~H`vB^)=58YS=}@)FWr zUE0lrRUHr?qz+ME4^z&n`_2zStGlaA=eBR|kpj=Q-Mf7IW`e?|BW06i!-jvR$9;E@ zde>RDUQTGPZs~ehqF_{ zs1^Ck6{vKK!vjfjYM&O|?m8uXTdECD*Yyjd_A)gA`_YIotUZb0s~=?(LneOxVK0$| zVkU{4rN7yVozsXGG%l``ikyz_#X)oNxL>d0Iv#abUXn#W$+>nN+d{FZo%u1Ex9Qb1 zPh;4IHZs*mVW`#SeRy~!<8ke^D*4B*3(9gmu6|xO*=QJ*wU>Oa548-w4VAS|qM-vJ zv?JApU{7Q8=K7lCnxg_2YT*(gR}=0`elfKj|T3H>mWa=_CZo|T8y*7Qu8!%RDqPQhe9Zl7V( zK_+PF9MDML-iFL?2Kl1q#Eczb)Y1i|VO71`Od3OnC$qO#UTxtX9aYfK^9{wnpU$MD zOG`9Ph*bAdxc7SN9N6xUp%T!V05Uz@gfjQ?J~#0eg0Szj{5%&RQjV1Z;4wXUgyS6`tn zqoHnDK6bn2EN7Juw`*%9Ys4yRDf8ad6@ysd1#7qI=aDqQ z+1%RP>pI$|w`I?P7MoBunJSm*!o}eehi%4$jU{gA$ak}pu|t8F7@df=SFTlonlk;Z zbC0%kzwV&<;>zA<=j3@vrjZ@k6Q>wM(_d@SNABg!(9O|v0E@&9Ct3&#%H+>v!Q)M1 zO}3p{+b3O3Taro%vEJMC^O!xTmj0uT!R7%t2$x;Rtov71MjNC6JES?m+an{M;LvpP zsA{T5UQJqT$ON_&z!lj~JA4@J=!yuTLl%TcP~Jr(a+=YPFq`yaiPgeyjPvT?*+&Z^ zC!c>dcJLewr;S(K^LX689;6NWdg#)99N5FtPD{#wJ|8YD3#yh1U^WwFVMehP+u`iB zmVZCzl<$i@lfk;`q4turv%G6*t5P$njuGh@lbY4vtY0)kd);D$(Dr48Je@C^=U1@0 z`KE2{H{#?xa(uzNT?HrB-U@ubVviq=6sjfX2Rl=RwEnufHs^a2Uv)T9uY7VjVW}MO;9u4;yxB{ zH2ddAbKZ?k+UJj=bSTpL9<^AD^AMnHjdGs6b@KBN&%$6UZA~2BLDBz5_piX0LHUK9 zBZqa(z9$JUy?gx>pHEfi&Wnhm!ZXb%{CSU#!lXz?><3zzsT4vKU*)x2*us9?Q^IVe zqLK(ZfzG@7T|0i-?cfF}3ck#ag3!9{dtUF)M?m_v4H4`&W41&Vq*1m{_J zuuX5PgVBECCBoX->mDn*LrAdWTvKF5r5mf3a|R4Vm7d(hv**nkyIbdnocyT2U0rYv z449d3`i%X;7!I!~;V}evXzs^43r~=C<(Xwl)ap4f)?13@k}~eA2uh)*1-ccE);#q@vLWh-{R96*os)$#+F<&*c4c?X>NU_e@s+AfL~DDT?@exItKrGI(L-9RjZO5JZm>o=X%$ zob)~*Xnb3?l1QJ^C9uCST^wN*bxv*5VAR)kLYtXj#0rLLJ1jTcnhAGO>yUag(m}vfW zSGzD2>s$wa#blhPDVJLRM8EvYymfN1$Iw(T7)Eld7E)?Ki-?}7i%sU4#Jkm}Dkygl z&HR44izAjR;uo%-oTuP2X4U+aLNo6N?Ci(yH~@-&K0+(b`$+;D?{e}Hrvpz+LJ9j4tO=ULyGe_vcfX0xbiKA|l3>;Gh8Q@qzhQH$ zo8V{2Ok0$r&}T{_pjc||hQG6?zkSrym%1Hs;!U(ZTHd>y+X#H-j0LU4i_nXsn6iexa#W2V3 zMTTrkc2*moAz8l7u^s=gGQZ&N5JSK@W!-r#l z8OPN%czC%_3!!gFL)*LJ3l&S;GOvge?S_K67X0208CSQvTsFHW^GionE+}70vB)QP zZ=X3BO2Z!3m84i@z9OX^m-iQ>)yQ(h4_S8bU1m zmHz=w=~sd1UM1u<7dZ8RoKv0YZwI~NS2y(}1(t1ZObZ%Tn+ck5Y+)*Et)j-f#Gy{7 zA>DgW(}+-BYxvnVJ{&EZaA>>Ja?Q-yWA(1C)66f0qtEL(DRcTAN)D@Ao1f-AHat*Z&aAGV3m1S zc?GOKB}q!K|2Xyjl&oJ~i}hW9k=(7SF3}e4MGr6D_S+a<3@>^t-|Rkt^NCjbTFYoQ zZ?(Glfr4b?Z{zH9U@BFCg0P8}sAOo6mA|)DmbC>7YPMx648X3bx5chfY87G@qBEoVrEiR$G9VolH3r4H0-NKiM(Bf z_CrCayH6l4i?PqQvIAJ*g<9G>8@J%**_ksjA1@ z*Oi+%hh}NYkEq)~2`t2{&8EYKTL)c|0wdJQRuAcS#{7ccn-xWb*eAa&ZS3xH)=n0d zS}{s9oGqN4i=Olo2blZmcg|4w<2Me0VA!JzJ>A-on#RM~R`?&)tZ_&5{MJVMe=%UD zQYPu0<)`vY)dIxCo|JZc04OfP7uRh@iQkcaD7?qZLf$U@C9AF%QQGcD$&CF#grZ)L ziQN1ymi}a^1=T`H~d1hiKiMD_pjJ{^Wxd#{L`YJCe7r|++K>6h~S_l zMn+jyTDkAsN!8r@E5&G|T}>wTex`j;R}yBbbESmtSLw4196a!Pfc69Bi3qx;l+2XO z&(Yuh?|Q=j#KvR%Oq;X_C*R5WCWA=D1-F`aFD|&-{-3D2%<@Y2=~e5{h2+10JD2|? zulNVDRZX?8*sK^t90yy@UI8xOc)a&D^`{DxnS90GLySd^&I?_@1Gr$2PrI)&SSRp; zoD-YP0Ra!z{r(&0SOA*g-h2oHE?oa3{R=6Xh8C^BCy_J_{KQ*OH*9vrb;hk66zJhkjtEBtaPM}lb@^rR z4sPV<(?PQj>AZveYupSvoy0ob`rxo6=fKSoe|VvgTEKDY-Z@Yjxs@z1gn4ipkaRK0F6ws!dlFL&L!rJ*_5=tn8(*qf5x)_TCwiI% zQpds)FqJ3Y6H(H61F*7sveK>JJ)si8A4%hVs(7~(##rD8l4kjKF@8@qqiw-Phi}Nh znYA>qW#bNuvv}Z%Drb5=2%iqxT#PkaZw$4G78;a4ps6%dNZitTLAt5xhs;BYSW2Wh zdUGcC6#7?1Nc42Fhl;~%430V0lv7j@HI-^1Hb;qhg)Dkt-G!0-@y- zuIE4p`1|niIk1K%&}#*mS$=IC`Jp{gQ2V?9uH3Vm`Wv}?5U!6%t}fEzM<1otAK1#e zm4f*cI0MTsM7`d;%_iXGT=2c3 zug&;IMZl{(cYS#Mh4_H19SKF%H zJH0~TN5L5oMP@H9O)Z2N>`pK&#W=Yg?>UMJjDe`{)s*ckF?>PAc34XPWYgn1i2Tg_ z^$Yo786&8?U#YXFyX1NDy>~U}h7L3hJ4`wYzlrW$nOQ<^&x?GO%Ws|yPoMh9cCcDw zsG2wQE7Cppmg(yxoUh$JN>3Opmnx=;U$4LEe19Y9b(?J+ zn~jE<)$V&;(PP{;75x(rc~1traVZcA7}B8xwuDIxJ~y6=bQp`suKI`G-x zOgf{~fthdi&kP15B^}EjRM)=jsiL}YVU!IVAwk_XF&O%Aj4I+?tbqLx8Uk@Q!yBdv z%0{BSpu+Q@A;j739GItBhD^oeH&k$y!L+Gz11p1XI_V>Kfdr9T$3ra5qB6xg7;5H;f9doSVflAgW#?XgDt^tOJQ>!&SlY2d?P7I#iO!~^7-i-s*Cn~FU}H1 zmFp<#!%i_04EFG8{4syZszsSd2hV$)PPBM zt#9h1W@WMaIi$WdUWpU`Wr(z}i0}P*IT;Lnd_dTS=he8qh&Io>iW=%~D6lHl zw8wET(4%y4qeIrW$@W2bug2-YnVSB@SuFefEw(R{`Abg@UxR?@ORPR1Ug z!kb@Vs|g~$h`cmu75~nPpYca!?MkC8ujaX!TvXxU;5h$xRDvLOG=TSAXF8z4C=N=idsnBBd0(nnHDRkdm!Kcl6#y)Lwe$2pW zBf9xTF=E+J@VU^%n1?lJFvMB7VD{Ob)^GrLrfwc(SFU>O>uA>lpBBiG2}>Uda1%(7 z{f0H}Ylfm^={YjC8q@}g)vW!E&FeU-vVPQ4VWcewgZYmq(mPgbbeiY)%x)+Xe>~r) zFd>1nU2pf+BW&V>eWj>=G8gW`0De*5orw z2+i^#R^_-IijCPqE@KDFIjsVkW@m@?N?2BhHfANtxyL)YJi#6c$o!6n*j{PJ4u^yM z-P4Gky>yW*Z3qHnfQk8-Hq-nLLrSVr@ z>B~V~=`3oNpQlu0?}pTm=2L3W>h)@yncnTyBeGc%nZdj{8v&BqNCIjp5Vo82>rAy2 zi4n3yKv%c@W3_7irCJW&MmN5tipFM^1-X0}WnR{^xtpd|BNrYU{*YV8=0_6xLmNmT zutvMwb}+j}2MxMWP>mMWKg{0}t6_b-MwPg5DXie#l{9A`nu#5zB~5f0>x4A3Y^*>& zpIe93IpB+M%{0=+fIaiH=D?!S-kot)$E=Fi&n7!Cc5zHs z`MghOshTFR#~dAgIDEZcal`5BgqVuCXH4JvRXWIgS>Cv(TLN0XL%NMXj@<9Asiw(_ ze3bfKH31T$_2O?ZyA!bfX`8#as&Q*>0VOeBXi+`TTpyHZeXK)~VVP3sPwN`SC(hr# z$M0V0!)7^^R_(kw)jNoq>-fF4lRQ^?iF8>=WuiSTJuh3+J+es1WB|Uo$HhgXPtxlE?Hh<^ zK!{xAG#hr@|BAqMa_;T+WmWn5&VOynNRG#!F7N_?5#`1?aG$5mr^Erb(qiXdx-TvU z6esULR1adf64;1+Wl2tleIpye(lW=Ag*z{AuK0)pI$6p6RaYm!0(bwI$NxQD9{Bai zD8qwnkptwMQ~SdaIeJm6_K$QB{im9eHP=(kuLd8%E5U*E^D{ISWsL&-mmLAqM?wW3oRhO7ih8p#$3k zazCc@J^;MW$UTyC3WJMx`7Q()LF~pEz$D`Rji*x9$=$8nKY`dtO%=7m&IHE<+uY?l zQ~o#-Yt6K#*Isof>ljb_^4)^i3u*Iw3$C9+pF2~g`O21aichi52ix-Ubmk1!r`1!r zTwwy!*2GpUYmmmg{;D^8CZ#PQ)z9bd?zX(XBm9JS7{+h7S0DX(BkPlsN+YkT)?x8p z4YPxM^OAwEs3$z|p6|#ztV;Qm4UVt{?cW=wB*4Fy#IPa{x=tzV0L8hIR$&A8~K%oV5c0M0#ccjIJWpmcY zjSVTquN>M-8_#$LXd`1Y|02s4;cyT`UNWT3sY?QtYXTEGm6m^BCSmlfKzu^{1IJkn zrS4|2{p2a5EFImxj;yxmF@H<}Eq=BeSWBrlYi2%nhzwSZz^rto(tFxfOqyjmZ_ILR z40t=DpY7m>VON~TP#j>5NtRQW5r$xh{_*9BJ!@YI^5S%}pK8R$6{iXxH4Zn(9(%vt zg6bcAmV;$UKb6!Xrw7J)dk|ywEq~Ue zg4{rEQMinC7=BT2*qNu0o8`f=lHM*ybZY(VE(dZj*(~iwE|+*}BTU0TMPyY8^wl#9 z!|V(?2k09gKV0Qz3LrWt#f9GdeZOPbw_YiE`7@~Mgi6+<`;qQiyPoTIZuV-;C-Byi zc7i_Wq^Nx$QoTvNGlWixw+4I5Ry!xfT~rj3Xkx`vI(OY%1q5q3{ukyTRcNIC^{oc3 z5lZ9SPZy{inoZ7ua$G9!b#*K+c(pN(Ho@I38Cv_9Y#KUJQ4qF2lMMVH#fpN@Y z6!k5;7@U1XaS7PTB@y3~s|>oCAKM2|OCvk0M>t(S^f>=u>*+%q74}1e*>)FfUB>XhW^8fi@=oP4V_i(Xo)Oy1`h)aWm_ z>iH3tCt;2g{y3POLtfRQ_6KWSuW{vn@X#soDBo&Wzs9r`NuTXeo3rmpCx>0*Q&vKK z(UKFiFJdj^3EzmezHLTf7cNALAPH8lFGW_Pdo1?nCmZ>KvMGYcvaW*+H_RbOHXNKBgF?QMu$q6Av1qD-h_-wc>UpADa zp;(~lpmtDA=6bG2Rrb*)#3M!}vb-^|@QBTgphB=HXS+8c2Ci4hDZ6J=?6u@^Gs9VO zS*wfxUWNrm`mvCWmuj??G_S7RcrTwwf;V?Psm96*U%a5&f9|`oUeL{@S*_QDvz$Upam$ecN2V)B8Y)g==H4PRQl#)UD{j}u zOPV?^%(dZu7)ewoia8l%tvhFo295|1&UUZ=P*;V5H?&GpG=$(GI9ub{y%HVOpGD6e zjOADDxI8R&`Lrt|XGTl|2~UshaNbW{`kArxof!Y~FDxJa1o6 zk)SbK(x}kDHL;S>-41^PfL{4eqSa9{Mtc7+E_FR=HG9G(Gf`h08T@ylDq3y1dnXZT=$D#2JG0n7O1sWxyW(sA8H zx~N!*MvmKoMH>fp{tSn97+%pmPOl!OgCqLbUserOTCHldoeP@tyDAWO7xAf%4exVc z+4{y%t$yR+tWIr--ffc-#L~}NC-KyE;*G+D@J1q>Ih;(v-5))vU()-(e8#`-U z8^OrabAX?{D2>01&aG^}WLH>zTV)&h?Pp-sZsvT(m(uBUeCbWFPm1mHT{njpqx7O5 zhIU6S&w=q1q`cigRBG00Z+2p8X{im^7jhVG)4*LPIYJ1bZ>bP-5%ovBZ7}`xqQm~W z_3a)z?f3L1x?GgHM|OFGSe1uGL{+W9_Ric?r&#U75ZzsQ59w2_d;`G(u(Q6MKopZ@ z&7NtHVz>`9m#C?zTXf2}mQ7PPu2U5 z^LNexm$Oh%(XV$W-_(Vl-W*MNh8d*UE2fHS)tLf`n2Hv&oaU6KA$&(MCKKlboHnK z?@~A=?T+9`uiP1;4)8y}yk)u83ndWbtH_8I<}gA*E!Lr1-j)E6p>5Ex$W>|7AO z5WeWqyYKsTo3ox(&mMfe?t!o8Q0hnQ-o@wxVONPI51lJH?#$^H@0xgDoaS)TaWkn7 zIK;KXZVo?O@Y}R+o1su?!;Od^p-va#*k~Jh!q_sZ-0UG|OAr zPK(-ho~`#I@MfQgR7$;L71Al1&)k+x_VPGMHEv;nuTDL%?VQJi6Hz@8AMHzZWc6zEAKs4M7P&Mhj_mPhUA6p|&*W~iq6@qvE9%Ih4TI{rf7$&1 zZdh`XqO4zBOk9dK{hvp0oI4!2WJG3? z+W93=K=wJ9n1KI8f>Ou4zUQ(6MT0dw>pSZ)9N8yTyGDdGaKIk!J$IjXGPpaO>#kv= zj>Mp`T*aVwiJ6sV?Y?7bJElT~PyGqTxVBMcYAq&*Mb{`YwKQ5Lbsv7L6lYekl&=PF z8G!ZI+4bc1s7@<#_pF=)m&RlrA`9P*v8s|9X!p|VljLA4(I|=(5;7)TFQNh#-li(r z(&a_e)J{NJBBHr@xdPA@Qof$}`ucE*9w^x!jLA#RE72gB1m;DGB-FleCyn*(@q;%s zrB)q0#qRloC;8F@nP=}HmJqR+#Sab(wV3bdnFBJgjI+(B&vjpDz_B-H>hvBirJ}m0 zR3NKJ>_&DeXn2*dYuMz$CvF89Shkac5eK9!kHlKm+BV&!CkeCAEfm(5smJ?(B}>%5 zsz(#C;8o8WvKM3pO_Mb+N<@X{jDTX?D+SP2AfG*<`G!e>{mCBVqvXt~$oTi10fDgA z2DD6`2TvDUG0HTeqsGMztp`fo@lvjBZ-)h&J5z!3YVm{I&+HuYdwQvg@VYIq4V? zuSxYX7V5Xq!)cG7e4Mgk*E_s(*1udR77H43&m-E&NY+eyitD^5sWRAgon}CiHv1Qp=stEYu+z3-Zk}+trnb2pbDRU9s%g_x%i;1pRpWF$xO^EOIvRCdyQ8UH z$~ntfNSL5G&9C@lVUla8jN4c9Nn)WQxtPjc(V?}?gWCn$SNCXZxuarm!*T!GZ8I(! zZ_hP69|V)L=6I$P*SAU45nt9iw?wp^fL#;Jkb*t+lwjcj8(bU;K;?In6&)<6dxQU5<9adE6xxl=Xg>_L`JlC_Q1|Q@WJ5wXI8P z7e1U36I+Iue*L=Eze;^&pUM&6J{wCV1*wG#Jk-af>nhdEsC{%_+h0;k+2)#ur*2%M z^PQ2Xf)WyB$JZx&JaJS~8OuL{q~7)VHXXhPSJhZIguRcy|4kX!S%zqtWS7a1uhV10&WAE;}>Tcgn$vz#-Ix|&_ za#Y=R44YF>t6&k%C(qa^llArx(;4hd{SMNURe@JP9A1FH$hx4%jQw+B?oTU~oddCB zlL>^7HT%X_+2PpG`#Z4bs%~P1x`e5rY5Aqd;90r z!s@x3a|T-ew)8954IE?oSe&{>r4!NoB!*wxMmomOyo`A}Tm_Py2r>1$PwA?e%dw6a z63YMF(94NdZYp*lsuq~1+vEky&HNfp$!c8jF1KKgw@2#gZ490XVQ5YfNT0prw+$l} zM4B0Eqdcg?Iq-BGlQ}UFdn0XO@60aQ&SWFq7(sA99xg2y%%PT8c-IO_{V3a;h|s%Z zxxjsOOiHkL81EAxnl^Dd{7RUs%Y9k>Y+z!{G$N0XuhNduZD5)lS_)iWz$^RKxT2aG z7Ppnu+DLb6Cg`3mc+@bdGQJcQ5D~re=EQ%Yh zK}n+{dprdBlg-OmEp2%^Xw7n%ktAL1NbN}X1aEaNcWZeacibX!pb=Y+VruJDQrQs= z7hEJ1u1?L|Ni-+w%pcW`)2D6LCH+-tw2&N2c%go8``FTst*ZDdnQD!Amuw@DVC{nmWJ$f& zkPBnUWVuO$ss#P4sA@_1%2A{sFaN%(gnvFqZN;cXwGZ9kyA!U#n zZg0Kk{$>&!X!^bYjclhAe4a?7pscCTQR-^fdH_5p(M{xSBt*aV*-``3VZ@AP*S0hv zAiT#E%d0<->J)D)i%{anyg`EvWXF>(-Gedl>P734WV+HGCN2)^>I)Y2rf9ZmSQRBA zQEZFk{C;jB_gJ-oZs?{v6!9s@^c19n?F>$?F0e$eK**zrmi81@8iu~2e(b( z$jRtCi*;2+d77|<<-;jujG^)`?>gCIF?dx8q1fNMxQ#KCjb7Z^h9QgdKf|WRtIi(3he)t<>W6)^4NH%TJRI9 zC)hJI*xEDQd3J?MCqBEz>=);==Ui;1`7A2?;B(+hvcPcOh<9{-r+*2UPhI6Pxttg_ zw)4}2CdzDk^Q_mAEfUoN{x$Ett8ITe^Ig0f2jvF8+BJCf=m!bMs~h6e$_>_<Y1jG1JDL5GJ!+Xd2!v{+cWq4fd?sbE(h=xbd1KoHWM+)-b5%AzF|F)jTMfpo z#-p)ag*5_wM5ZzswlzVQ(IEg{&22mN?BO~G?gUJJOusB1!gy5iZftgyPGkUa4mfy_ zsz;|Cp66durqdB@8_rtQ`v{^Z%zwy~-r0qC*GBq4S=J%;-g`b1;O$ZFGKYyUOhz#9_FcUfH0E#-X1QTsBXh^F+Gxu7{D)JF0w(M_({O0z^&vD{a+wP{20Avy=bOEJ9Lo|jpeX1Y zBmpOg45eQZYIZ$JAXtT>c@>Sog@MW*L`@+ZmRggcX8s_lb0DzFXGA)ktI|EDa+ulJ zTSDmbS;^q{t#O}O*Ku!&d8}rCi%zIC$Rq{|`h{rBlwvQasEOwG9{Zkx>m4-Dkdm*~ zJB|y{tkif7KNf~Gz=l&KQzZ4=wU?p`T{0u`-`CO##o&v(u|uAtLdc@}u2DOBP&SG< z(x~N*+c2Yk^xl#r6d$?fyw15SOwA+}*}<}3$?q#J9QBapZ@cb%KM6C$kiX8Ql5t5J zRyIb#9=E$7kS}6Gf=|7fHpuy`vWCyXYe+7L5ew4RRLLgpDulEtr74H4`%$W6HPkJJ z;)CiUGK#~gZq&0_lvXQ764(Prm)8VX3QxrfL-Gv*)2ykzNZ_=upB;v>GC{hl6N0<$ zGK!_8CrG{aP(_ygsfD2g^#vkXQrTKqQTwvBH1Ud~Wmd66X6@N&rT4x_XT&(K#m)%h zfO%jT76d)J+v}Ft5ErCnc8Z{iEUai?+pmlj!$W#~ER3yX-`$JND~47u&?~MfBebSc zQASzEV+k9cHW!%1G@SLrf@hs(8auxprK_bo^~l#sej`};`ywTb+|jb`Fz##48Db;y za)&QmI&KVarSg`uaT!fsDDiXVraPspkl4$C={#zB>NxhVm8` zf=bM_`pBcQ-)cI}U(~&whF$t8G&#~T43_XI(`=@DS7Wb-IT=zAO9(>Nb0%2Ll9q)e za7nLPRJo1n^^iYRmHuk-u=d^X)ze+G-a8TzYdIR8m%7HteV3~*B>I3mx{%MaD!AX* zU%L`sJAOI$v1jBWa>}uhh0ggW6w_fkoXDw#&|ZqFG(M)|l~CfHO!0!k7L8E47z*gS zD6Oe_CK8yxA|y)ihu;+;M&Itta*ay@Ps>OdD+^aLhI=@rTe_ly47>nAM8_oA5;k!ZWo_0n{hQX!l&qkK9 z>$o#?w_Wfy3vJLpW$pjQCBE51E|oK5tfzW?Ws!Q6WI;UDOe-AjjxKE9yYk<;?_`kW z{q-l#U9%#Kcf>(m?bc!Dyuu!TrTk90Jo_Kv_dWoy{Wrt@(@d5AhK$3kitg$-h(C#< z|5IFe^Z)M;fc#VO*C98Dy%W?*PFPwiYUcv0isauf5L5eUZD~WsQC{I>b0+>jq`e1J zQ|q_x9k(63G?BKICSB>BEec40Afb1qhd_YPyIT>YDOHYBS6+5WQDcf_0D(BXZ{{?o6ukScmrfZ=0GB2g{atXmd1;? zzeW+OZ*DNXIiK;@z`&cEjzJATX)?kSl+c!3Y1oFTh;xdAtH_O$T7j}MP_0z^4Emkg z1O&0a8xTR~IsOEJf#<)sbG^NS<;&k)f=^HXz6;TY$(kK+L<=f((FKq&+= zw9|Ydxc?oj#B`+49?L2OKRW4fklofxF>FzmR_h$*tP4`wteK`%i@kpYN#h(?Ulukj z(=;Hz@UHfLy2{8{;$>oY0)a1SU>%H3wBUz75SO^;KW@{&|7b!W<7NLU?x0EGqGRK@VKj8G9{PWG{S*zuqI;Xn5A(tv-5;96J^7(}D3Ar{>6Rz`&v#|?( z>+x_x9Fz2 zLig#IK(U}=Vy*|9@|Ti2c;2q9jFe+B7dh8zTR?ZR0sQ_xk^n^>J!+}{elWWibw!)$ zheVu}uE>!{X~!zuac!2Y28bLK50(E&DKhZ+vg?TB5F~6kWp-rkp+qrNflKM^0h(}~o!_IV#tjn;0oDDtV(Di=so5F1h61CbV)zQrjxoSe^z zSn+lG8`a%g`C@zTgtMl$##O`caqyo7w=SH~hoe#iNZL_#GO13!eN}V#-n18+h9^Qs zZ-|Mu-Xuduh5K;?i#s2(ztFgZ*8psUST*zYFHP0MvvI|Tbye}-4xAnLKF>rT8RcB> znUxn@ft{o}EQ@rA5`fMXA@u`REl9p#TXJSfdG+kD|NVn9mrt!KxafZBk8$O4lN7BR ze8V9WMA=h=hy8RM%-a<&n~kLsT06^?JfxvDr~pQAXBMierQNr5<&a&*;C&F20_Qc( zA#;)HU!b@il1NP-Q?yQztRzOeaq2NWp*t1pnpkVt-!j7)3)aq%afO_e-gi<=-y+a! z@K%7wEJ4mRBju#zd(>BA=P#RDqpU zq*UEZP-~hK5LQU_0{Vg1OMLfC=mGt_*?&dbSAM#aF3@q-3 zqmPE&Vht0vZ{9l)9UK3+DKX;}QS%EV*1iG@_(>Mip_F|65gywz&2PgL;LpaL;ti(Z zRqLXC7m0HpUq#dkL&doy_0)39-D^4hH-CZ5ZyAsSm@Wy& zopCH=aYRj)7(s$l6fdmO>gzlI0+H*Wu_rZW_}3eL#EP`B33j9ztW}|n>IW}yMZ4aT z>>XAK&=SSH35NH-XWvVLyi86Jr-?zAvIQCphzSfMW(O3+cW^Nq$&-0iA_mP)XF_q* z7;_`iouCZ6DsLx)>CvZVCKzR^%ZXEPX1;H7t1wNDx5+v=ZskUKhuy_()So!^0gh3u z#Iv;%`9=6{SqxcGaSv>{FVSw*ks{R>gQgpqSM84e)BD2otr%xo)~>!2+ohVotcIlk zVxM8HG|FI%h0Ndd>UDSlmO?a6VG(*5i^6^_oKM!|$BiA)O1V8teWE#u>)jsxkaiPs zUGA?F-Q9fV2qNxF&XfD9cJA1nJwT4f^acx?ajpCXN*Za>$IFDN-@2K+=$ek!;nJ4hn8jkp${DeS3|xS-_|`_4~-Uw z_!nxMAx6)*M-(NQbg2!Uc)l>@`$`6pAFmZ|sJw#p)kn?=?#Z3D%T1FzB z>QgUb04C$QksBF}m+Z<|9w7E_p0OJjg-lrOlr7G~o!qXs3s5e2I{8H@ExH zq)V9B#)u*#9ok#A8${c^j*XqoONMWt4EXDvNCajz7d3hy8MZ?v@fmL z+kH(z4q%XWG7G-=o;2#Vjya{+L@M#FKQ4YIN88#zA)b`cy!z8s+eNY#{6rKj zx8mS+{>oN>db~k+&0_aOGraN3Gv1eIL*)`|zFu(voBU|;F>gtY^lGb7$tYvlp+sEY zp*WAa@b@B?3y%+cT@SZfgkX|`I$o$`r?T;Gt{5&O^E>mALE-Zi3A$T{U!)qf@Z$L$ zc>1fnEmDsxFvLTktLPVqHYGW)tWvR!LvyZ*(qv%(GgEy}umEa+QM~VnG)O9d*HDj# z?ymMZA94_L8%Wx^)MND%cFsCH-$9QiW#g=y=MgZ!TDa?Ig2#i1(t7nK>}jpD(L}rH z&FTG|{c^|0AANJ#p{dVsn;tMi)48Z-O3rM!OW;13Zb7QC6YOv`E17RU%gbD~a)STl zqT~G00#MZxXK$XV9d3X1NmTou~47*EX)Q|)e^u>y4Hl1n|VsN$806Ehe#PHr=H zYDK1lSJ(R|UJIeZe~EHnoR^_(RzP~Og zX%7@kB(J56jxz=Wphi+(q|uq6;Bu8c32VeE& zKT1uVmGnBm4?E>HIZWKCkT;pmhTDGp65f|KG{%;?^|%W=x5@6^()bdMyVv%~<6wOl z+oIJh*`|nAKWoeBE3QtX8wo%bklxkLSudG*jb%e&+d>7siqpS9B4~TfiOza#VnYP* z0xmVTfV7K42UacIX-kKvlV|1fo8Jm8q!7p~;De472Lg+-lR3!@Q&2(r^_Ak>WH- z$WnE3v}RG%nXCg9BF2v23u9PM`enWN=_$!JEX;5Lt)w=kyT zaQdc1U9ZL$A8$VUY|W#V^(@^!uK+~h^+m;7;{XP1!dRwN;Q zU%R2PN)F`{J~iQ`a(KR+G^aYmzU-MIi9JT+=||E7`afse zUc44H6U7%_j`&v7WH^fi-*eas<&n#oE)=87ui}yzYQM9@cDS|j)FWm&B6IpQ)AwXV z!CLs-da(r*rs`BeG?~nloRv)LF6uN{)9}As*XeFUme1+iP#^U0Dwl~2O70X8VmLA1 zJF?>|sT|<7{1bONAntYOo0c*Gr5eniaZVDNOdlS+^k&#-YM#JMMBmxziu<;vqFWd= zfd6~qdZ3lrVTD5peCsv8)pBF`PY1o)X(0<_aX7phSSHAPid;a{cFx)jA~j(CV2B0J zqN~>5Ha20?JVvu~>C}kHPS=QJGpd1ffpj1-r8E?Yj799(-SocHf82J#XpLKICb#;i zEcX|vs*{g=#-rAsJ%kv`|MI<0AL%tOXAmHU@TfEq&2hh!l0xHsvaL0Y^)>K(Sre2bQHwf<>AT9)2v4^Qt*n2XS^EO+KNr#6Nf8_xX(&w zw{-Hr$ELhDd-tOI#}wzD_C_gJR1)_|M1G5$x`%r~p>Ei5A_memwF2`9Y1t_LyccAq z3q->juufUkiwWwNwYy>o%;PGWLe^FM`|@!#&Rq*;57B+lKz!E-)-@o5kseb1_GU!v zN}%Q$N$(eEeU36~vC626#h%VuttZK3F;TMS5*{`@0K%Yxfm`%OhTkc)2CfwZ< zJPn3CdH41NF*)UO>HRGGDvg6#K-`=$xnUouCPdIDyYT9kt}CZ*gj zLXExdSSf=-J-abQ({zH&twoELZaz;@PoH>Ok5I7fxD zFA|=l1J$AwTD>RyzmQ*l1MOHUqCl55{vH|EAa{?DShlJ^|C<0?#8*JSU~Sm4G{}=w zKN$AAnFEj@tC<;&JKw?l?2PQZ+B&+JnKJsPq?h|u20#=Bz<(L#K<7UHlOO$8UnG1l zh1iD7i2eha6Zi)W{e%I;6aYH+=3l)O1Y$1)u+PI&9U$a=(9QjC{5pk}rLrvRZ!@*` z?<%vqCLF4KKA(AT>qkc?&|m*4ExrFZ9zercZk&C-c!b+N|0n1!fEN(Z$G;k0{tPO6 z|Ig1>BAcBr&z+;c_X~7u`P}1hgA(UMG{4PIHi+))?;|?@BxXyC`^_IdEN{+%f#(+- zGIT*VbaX-YzI^~P#{g(B)-=g9>34owEU8#Lr@?G;P7fHGqDm&!mGMjQOE1PH`COgI z140Y4{r65L`6x#5uvlyMzRGCY^ZNPM_@ep5%=t=Qjmz+5p52pff3&R-k+lBhIBCJO z7{iHM5g+5uU~HFd@jOh#xXexc0v#&JIT6&Jowbz}>jz@Bms-Y8vK2AQjwgTBAnCuW zjasrJ{&50hc|*5%Lo5m&8|R={10<8C^zIKlrh_&-tuaU#S3%XFh78j*Y^0@g;?(2E zxt5MZ;!@Pqq)NGQ-s8UXDK8+Jq>P9&&aV16>G&sQPMvi^*!vD=3jXrtw?YCcJBm(j z61u)tn5v`}BcXl6U zyiC%i#U!$oGM5XJhx!*t#vMVULs$+MVsQ<_#yD#ns(QxYtfb3%2qX$4BKzriEf?~=bO9lcTuVR(QGR7?d5rK8MDqR&9VWk z#e)G8)~~W$O$y_$%Hm#0lt1jPf(tuMZE4D5nyx9U)fG8hn@tX|kv4}0m^kiu?z#xK zs4O@O`BnOgHgCJS+iE9uC4YlmPv&eGXtennCDj&x6L*M8a&yXD=NU+Sd?GE?O3)Oa zS+Amhi20dJk-8PSusA?Yg~KYH@m38|N`g8r`aw790y?r#4;OenH3!PI=3KLErgK~K zpY-Np4w@0@D?J5QyW%K6^m9~1pst?TDM=8;cRO}A1JGAV4 z>;44>5!!qgQ>suv`0nr6h;wF$zRKU1g}Y)|P7hu$Fq75Hs{b@pQV+M^O$ta}uJ54M z3GM+|!euSmuG=2-seRHRq8yaCq3)OSKODty&jh!(WOTEADC+TS)|6nMr0T_pwn3RR zdhWC)AtD#$OB|t-O&1tp8m14a8+GHp?5Wz+HKgvcWJDw(yJFj-@7h4BY?WU@Y4V-V zZt~+3@~!P9WeM#YYx%EJ77h+xyZo^C_1EJQ%O8(5CzixIWd;Q@LJ#=(+ecQ9*m-KK zcOmo3icHbBJ=f_Q=iMre`5!jxbr6=84UM$UM|C_&2zw2;Ty|5^b^bd8d=EW8%(>u2 zw`MLG82@7p!RoJ7qgYWqL{~-*%@-;O$?cb_(sOvVg{`N5WROP?f*raNuJ}Z$&cMvJ zvQBC3>K&BycuypQM{3ios5~QbQw8=r42?_q(w?HKHpY?`i)OI5F*|4R4Lamasc?Ed zh#JYAjyV@x0t3@CHpj)*CQj6`nT!@leVTHHd$qZ}hWMOi_1!bIb<&Sg6cXnbo8`^U z|1?jXhq>2OxicW#P4i3kSseNUe9*@`V)$>3$AQOLU$}<&NZYKWckvUgGs{W<)Fw zDLDuW3F_sN-BXN43wjcxet|eiv`4VTf?N3@iGrp$$L-UPKLqu%U42E_bDl`gKl`}M zV*2Fn_i_gmqru)b|s0JiDzs&hvvVgt{7D2V(KSkJXMZ zNibnqc2$XQb_pzZv4!YCVVcTEQZEsR6m|8S-KD^7G}!;lJ;x&^6Mc4TyYfaC&b|vQ zf|8fvA+6dDk@jWGwnw`U6&Z!w3L^9~$R6$9*_nj=P>}iG8XmrJF#^0wa+sJ^<990*`pvs~Xg;@t*}-vK zk4$XtF_Vs`>p@14Gnqh^b0Im@-ZN(c@5WqV;dcB5x=K|l0EqCEuc)~Q7TKj~Y$#vgd8oK3XBo61 z3%x-w8(FE1mYJ#suUyY<8Hx(fPJ!ilGV*rWJLR^E${eUQhDbxdZ@wf_bzv%a&T$-R zk{_n1gWGU}tT|z#*xC+i5yJGx&Lx$DE3g|+@piFJ2(?rHjCbF+I^+mFm}AZRXs3{^ z6-tVlI(a^4?$E}Ia^MegvIwhxhj`atBkZ&uVp?7xJLsF_o8vIXnjp8Hy!9dDqv5v5MKpU8Mo_1F`Io&0RliDSiazfalI=ti4L z%+V7geM#D2to^Ky2#c01P6FkCY#%WtZk5Fq)5NP;RpqvKC&`tee7hv~KKDgp$55|g z4-!o^W&DdWr)H}C4V>q_FVo8ERg4amFoldbsT|t+IVV}=_8W|fZs#x(oU(NLzmQYbs6j;~=`%k}?ivJ_z3l1!k;uYnq_&y?{|D6};Jp|^$KLB7=zh3rKFmc11iSzWp{;k7Aw1NoJHHiYvM6G z^Qm8MNp@v~cT6idlGBo+fZnqt-GAgJozc8z)hnVSJ zd2NT5*L;J2N>za722V|Zxejvg}=t@=e^fiSuEdfrMg5=4CHPsK8bHinAKlfmmo`FO}z?*&< zM6~M%cb9}32m@5>mVUZctT?Z3HY%wIBlt6aXj7rbGi*pUW}3fJM%1YUVUxBX9b$zi zOd)IVS7i>ui3=6iDkyJ}F#fXDUZ6-@IbxWg*TH7n$jGD#UmfpH@ zFZ$e8?WZpUF{)#(9wJ21{jpEfeQ%#WSE9NwfHKL6MZ2ePNo&QU902gU!ER_s+T|ML z%wsISOK-hD-~93GFBLEXc41_QF}gni{6o_q4V+?ZWH+wQP_v-_m>AY<#lsh-tfnIG zYq31`;2s_#)Dw_q5_cbi0Aq}NTk2}r3D~T?agUr?gy1fl8tS0a#Up-}U&_kOOtzvz zLtLVu+p+knS@jtmpkC!D;_q`w8L8o#oa5}l_qbE+;z>8tr#T!PsLgX9f+UdXxv|MbwTWW`8T1}Juzv8SS>*R+?@X?HzB`qE1J$lc zE88j;XVsGr>YttlK$g!uAmfT6V_T(_LtBc9pUxC}dZLXbai+<+c8Z}jb*eO{pN%S9 z{>Ckn3eZ>922*P$P0q%Dfl`1YteQjNguExPwaa^@wKq97rzuGprW*sFcWggUD&t{T zTiI@W-NHLEa-WAz_~@3 z3`Maq+=;%$1N3C%;81!p;aK`ep~!W={@_kb>#MDw7yZes5g}{!r zp_#c9^0*_Xjm({9J!(yTn6}Ff>Qk|xuUXYKCGW}u$2G)U|HzGNt!2Tj3!5zgBk>le z+)FA%2*TXh!=Y7dx$H- zIhBLgo-d>EJE?9_2=AO9U_)bZ*88Oaa6Uwy6%%Qzym6GOJe*IFI1=reNs1A+_+nCL zQdiIYTG-@NU8UVfG<7Y7vycdm*5kM;JOf_A6WZ9WCF&vr5{3?KnB3HFRUOXpNUY7* z91G8Rf@8OZg~C})&NSvGFXxrjDzJ;2=SAPF72po2N(yC;m(yg@L4!q_w+JI@vgU$; z8ufdL?#l;UBy4~z$B>-HMpTm*Qx(V6ayji)Pg(=(N>A&;AEwpp9}2)&R~p)^oWRyh zW(U!v<&kASwwpr!rL5GzxWl-4t<)X|{atAU$-)#s6Fra&c5uq4DOr^`)fF{ujD|qlydCIeQ8h`%+y{&Uj7>GH`@{X^6mM2Fp=l2NAOCTpf%+7!$`KM&JiB6z7 z(Z^*IKy@Ad#M4wcYb@u5>*3G~OjZT=QDzRJU-U|rrMi<+)Kq66LraU%Z-C;=r&d0f zI48AFyaQD!GVyVXQ$y9;Kk4W!xESqjfm6%sd&ns{)KLc(5+pO_kk~hFpc8p=t0Q9bhh{B+^R0Adz~H@ksKuu~4~ce(6*RPO9^l@jsGPkZW}L3~;4!<>Ys6}# zgIK@r*km&W$Wf*y&cwxZT|0QvLOrygV}ZZ~>7zO=sc#$R58oHke@>}s0VkpQg()d5 zDyKqz26D~w-q(|vVo1ogm=*x6&G%}9CMRpt!-`>64Q$5I$*-EYV>@h9!F$R!%{z|@_8o$OZq;1O#0cn)s1}<33Q9~RKSA1Qr??Z5$*eNT7B3h%k1uW zcupquvU_(Ky)72~LbfGvk1Z{MoKe!3%bgTw0SR4_BCClmTd@TJXE; zZjpa})_mUN9bd1D!bC_hYXn96A1l3%)@`3Rl>nf6cfMP))dObNah2*^nAv6%go8Y{tYm|liuQR zwi^EsyxcM=c6;v&k99Mj^(kSb6TG!C~+r7PXITM=Ot-5 zv_+bqw9V>YjyeHteh;C}y|)KaB1=;~rl^~1ZE@?RLEy&wMdmoZv(-;vB>FJ1Xn53s zARJYpkQHd5=x3M+oj(&=Jz`{*K;LU0S$cLHGq3VcZ$O-8^19>LvYUIk-}_qr0ow(KfCq7wJW=1QcTK{-QFl)WO7VO(bcclu zX`il%Vdt>Ev(d?|BWLCJE90v+Yi7>h`nG@lhs?&0l(In-zSgf6QWQDhd<6Qi{Ec-YI<2~Rss4iu zvdmVvRFl4)K;~{4);H&D`KD|qZb|QW3%igMbx?jW$6_6@{|10ml2DA zE`GY;0Nlc zemjDFxm9tyyLU}HbC3Ar(A}&e?S46o+Vils!yf};r%afXm5rm*=SgJ8`gVkKlEo+1 zK&#GGsiXJ>JllLnVO*vua%9{Gg(BK5ZHst^m3ujVQ;}G+@3SYPM}C2F6<(Z#{p0wj zLKz;f7OLmer-wC~_6B`sS!uC(RBYy|_4?AXHl$No z_D8u`owX$W8ak}fxHAPX>a(>MY105*2&ZhzY@exo)q5ZW<0LNGSiW8L6}6Go_+np| zrP-p^3N5V**?1fCyjLWA-4-!g)%64#hcJlSulA({3$2;kQ1-d_kr67`L*CZ*<2w9< z1JXg%ygB=cWFB|l+(FHxXX%bB6JpdRK`u65LM*r8S$CU$FfD}cfwtz;U4rD5Okl}i z$~*2m)Cvz51n8kaiT)1M_?@?;s_@pX^@exE>zxoRDz@3Ou+%E(fv$cQ3L_d!wWb0K zum{r(4H5|(N7JRIo5yyAj;fm$}?3X%J<=t8z!P z{&{-rXsxHw7^OUihe@hDh#*Ek8uW12Hb=QVL*_|MWx*n{glen|VQU{btGzOh9fe}> z?FxxL&fnGGwytXp8n$IyqRYpOxaEq4jh$~yC zo?iUCQb!DLbqusNpS74goI0PJ@c%Ub|Irh-BLMx4t9wZ824>>_PrT6#Imzz;+@0(o za~CMj(QlVrCHe|w7j=6&dODQ3)~sn2-Tq8o{GU=45+{w;X0O4-m2SD1N`u_ns?s2}8>b`Ef3&Dawa5#7=F4G=%Cf+`blQ4+|a)&J5CD> zMjkv8p!?OK+h3l;MuRIP)~H8UD5waM>3C##Tak_Bghjtk5EQTqn@g-1Z@KH-OA9c| z&l_hh`3r9QdKS{jCS6z?Ib`zJOw$G2JWox;`0cqVUU%2Z%(D7c73bhIaqeR*X*1R% z^Dn~sw^k`b%aS$_6Lcy5#KYtlsMPZp$Q8!VnUXda=x{f#7U*$J#7%Z4){oM;V^@cI z29)@R2udZ#VPnHP^KMQ``sIFCbbt_Oa?yccaqtnSL?(z(od-C<`nv&Y07I?(d8;_b zSYAfw*hj2InE~@@a$gSP8K+!5;guHWmN}9dBOXbWY8&gkJEwVs;(A~xG3q7o9GGgd z^E^MA15~i)Ff4ton)+klXx6OIXjf^?+KuHH^eDGV^-x0D+*Y zeCHK{R_eHuC5I~JU~wZsYn5kRiyeo=k*w#@^@FFvZt73EIPXL61--389I zcd9`mYdg~T()NR(S?{S*Z$NKA|1aA)0LyacLf^95Z!XJ+tUe6inkJ;xKW&E9xzOi0 zA++-L_;`E7DPH({S~~TgWlZ3pxq%DN;T70>xhGLA+lXl+&}|1WkR^ZoUC{@~`pqo= zziut(K7y_u{p&-&0D$hA!+aILO`>c;IQqc)Mz=Vt|LeWwWmq-8KZ%ytP2@_sJ8*#p z*5$O~9;_*MC71;K!NrD{dw0pEru)lFw}}t{N7!H}E9*~Y6q*9Xndi@y4CRPDH9BH= z7?_rbY540LNIwOlzEey7qmcZeM_O6d6u`&nCfknu34;H-{()y1$>+&;PO{`bpM&#@ zr?Q_x=LXM${f2AHB8TZzYANKOZU!-n#&J+L8=91)1DDIX|cjm0P4K>D1fWW{5MmIa9ts>+E`b z(w-7DmEY>GeTQoGNaL3J2Mc(27fEH4*_Y*4JG80c%jW<-7cx&T?InooAA7(DVq;kY zwO93+gYFbtnE2|_(pAR&Nf67Xbh&yu%pEQr72oo;O@7wTo ziKt@;-m?{)cZ~T2#cH41F{x$mt=SrGDinlnQK;L({NrZ6*h(OESUXCoXL)F~8*^JW zd{^J+@39nhRFi}^jiFEXjo^-)o(v`>lofO9aV`bp+JOS{nKjP<=`kE_Zm{k)Fs8rx1xOa2 zKcc->!SZsg>l)-$;X _6_(g1N!LBLP3eI2c|-7v;`jktz9+b=Fp0@?>na&=NifV z%k)^-*pQDK>n#HEdf>IoN%q8sz8_<0Qt$n3UQikv?-}o)R%Bwacef5#yRelym3NJ6 zm*sL>ioGTGLw|v8vW`sz-h1*Xq?~dD==w}`GHB8~B3prTNx_MQ;l^61ea+6F8HEm|z#p43uL{jm8KcmIq@mipE(tZ6;j zHR09RR8?DNBut#L(BVfx;O3pW(&kMIeYkH_p89`a-0VEXJ?esJTPG&5Alo#rcU~u* z1OYvs?8O3CDowmD_TSxIW})3#e0k#=h^bc6_v&xpkvY&#>6mOKJRA?|99;zPx(_50 z(>0Gc#4nFkR#kd_?ZGXKZ0`M-bv$F})8*(c~F#p13PKbz>{fLJfLSiN^tRIyU2EIoiM)JfU7_N)@x ze;oFooj{(W2Z90F((sdwmo;X+N*j9_Pj+5{Ui?qvrvDL*>YT9Z!S4sN925F9S>UEg zal>cO>i;&)2Kre41H60fKYbcab{G;|N`Ny`W+9{YJdCAJ|ZL4jFP3~>bIJ)r-(6=fV z_ive+|7c|W@BiiJdV4_Ul-cYn#*z>(O*<#&B0QYR8W_^|sBJ*x}*|z!nQKBdHW|)Toi%$H0wV|X9vdb&n)dojX$~%!1=RE&CG?{%E ze6@76!|Y0W?fxAbGh2|vdu9p zs$oVVO?}R&Oi{<6wWY7EzheoU_lN?dfpq^wFLbO6+1McJ_Hx0y#_%NV750t%U!V_U zo#q{}N^IONs0i`emG|TF?*>_(JKubkf&59n|J5f@SfMrNc7X+& zOnw)*gv|O`rvi6uU*J>2Kk_(RIYcLWIf%?3ne^;h(D*xV5L(x?vPHY-y>c%SU6SBp z(PpVL$P>1QXgLY)mkTc;rBb{TLMOfRG5vdJpDpt{u_#Ox<9=X3b(G<-4O~yTG_aYe zv2+~Q>v_ZsefQQYFv|!@sQZ2AZmmybiA^fuvO8eZH9IOAfGdSVb7t?A!#hU_roQ@G z-BMfR__@kf_8ORf-g}Qn{pg_#?%4O>a3PF{Gp?H6cI_ir2%(NidQ#pLq`*;~fgQ9O<(n6x9)3OOkTg%VcD^5b zN^w$IQVejBuV;a;XQ^hpve<9jFB5%CcGZ3G=`{>tYeBHW_F-+8b#)pV6`p0y(v!tE zeZmS<#79aiM<>Me7VNY7TvraU&Qq^18~mNuNY9y99%1}c_Q*t`rR{X_XA66@ejGew z6!nT4CCHx61<6g@jnet^C0RK(IxMv>h!YCCG{b^e^*r9c;5EBCsqS5Y-j)_ys_ znsnY87tP!axu)1Smk>}JY$IGVeYPG&?39zckB8Df;DzL7VPmnGDYG7){+_oYI(?BF zgA>@MTjt^%p}nQ}c@+mWDZQ+b6RdF%zvx7=&9UHDN@1il*Xj9pH3fcwjjYvJujchD zBaDA{gF2lW1IK3zr8= zDBVzNSzP78I&>62%q2W#K19t&Ts2@04`IXNp4|w+rWqY6=#FDVYWp>ip}^JsETIo7?Ufmd=dTn`!Pll}{ISNZRM_kMZX8lD8lxr9A3)C{(D_5EK}vu9PE-B&6T^SE_Z&=3+*qFHBObz5BIpOQ}q z-bV~rtV4lyv=nuKDOqPt7npKQE43|oR;@oN!WqAXmfocVMmPU&pRREAvG3f0^G_vv z|AR954Rrs%d%yo<-+8;w_O|v24w2uG$cHUf$L)d7?z}pO>G>}if&b%W|F+`~^O%j_ z4+(Ek5KG9L^JM@x!V)O|JUrk7w8Wg+`%Ez?2ar%Wcz^k+=)MSAmSt|dr!NiJ>Mona z>YB881x4(=`y5zZN7T~%u6ghtKQmMaffpM3eR7$GO-v1oi6Yi!LR|pwfG6qS{`lMh zxORaUHFE-J?)x%f=s#Q>-F-E{F*%T~hR*+KZH@he7y(^*^?y0of8TwM)=4!(MuwB# zbYI~2E;l!*NV(;Gt$~8h`=xg90^%_C0hwX6Dlj{LZd`w&Y9=EX!FI4P9BFZ@Mr)BV zdna0!QI$4=1e-soxkk{BtR#>-8})E{#%7K%+Dw}vV-%=Pf&DZrcn}FN6G}@{B z@?lmQMY=5LLki2R>nfmg&Vy10Cn=P(jp8*G}hOnZP_I{y)4{HRea(H#su|piaRniEX~i05Q8(`eH$Pb z>TaD}Vna(&@DTBn#D0{6W@V+D!XB{bXee)De=ASQXufsD@4S}QGK;>RoDicto+#?r zh}}S^V{0lb3q4@sT%ZL|)B`(hqGd+Z7YNUYY52UYUiEpj3IuhPuy<8yBY*@Vh}Y$GiqmKtD9g{Gk!1Ve7@`9qGwVn+< z1Pr|+9qAByl@faIy@PkM_CDWt_PyWPd*3_mI45HSl!O@P%>0-4eV*U5>*1Q1*YnF0 ze$9~fQv=?vw-a?tGo5;*{c?Fx0lCuK8+871|Gec{YNdLq|Gi~T0!4AT3i<4h6L?ab zT3pWgi3cxGh>HPeV+mni=5qIcgZ6dbFIyoP9E0*P8C=3C1K|rs1-@?`M+*2PHPulG zg+>8mTXDNPGZvBW)9KxGzlF?ncs6oNiILqCqPU+P`nG33bGjxgqdy@bv~MoZ4{WaM zvTa$jaEz7Fqe)Ti92?wQMpsus-gOIGPY>sCx8iQBuERQpQmknZhps}kr}96vrkxtd zf;@7k?6f{qdS3QpD!duc<@8a6;E?*5E<`^zLp$Zq*2+p5o#{aatWIyXdRmJ5AY=ZT}#fpe8P|CMv9Jjn{neW}OY z5{@2K!&Xo6TjJ$$pMapK4QGTxj;MCJf}nHzeL$PBBSCX4|0qlP>M5((LA{vA51)R$ zah+G0&&`=8NIv$^^W9pe_cN#`|A-Gn^R{Kp&>ivhH5?%mlvVLNtSQ%)r&#x-lU}l> z-{gdZ{p46AmZ>f(Xf3oP$t30CLV0E?nkL?e%VIr*QXMBW&Cm3oi>AkTDQMIVwQW*n zETj6pJR8(!zt31J3uLyBz?90s10fQe@|}k7b7p8Kwiek%1?T#L4y`}Y9L{fv1*aT9xj7`*a0 zn8(Tnl9D$HneUs zpWD_6uV5P=g`nYtN4w`J8x+pXdEGyR_l=U&a!}nF+bE){%PGq)FUlV)_xhaehA}Qq z3~TOpU_moUrC(R%#u!B6AULvKl{l5#-y$nbRykTxsm^UU3S zfJ}?(vhTE3yziTh7>drOS0>L@$hGfU8<;O%V5!H8?hX^7n%Z~mXXkbjOjA#v+v+PO zJ3|KD_9{j=IJzF6IN^4r4|sK}Z)4RsXm8QzJbS&M7L7u^R@EPK%efPxRNkAK!ZGY9 zYv%F&{z?}LOey*s^pSYqNJV5K`xn8!f2r4R6L0cg+^$ zOcMOt>)*IP+6VBZNprUKrU@T|+C@HDBe?~CgDe`9-j-E+tw!Zd_$QCsp_KZf80I~= z!PWj9YIoFbc~T#0Z%z%JEcx`8r<0WFky)W%McO?suMwz!w`jb%i|_qehb9%7d4^#c zkW^2@pS;hR<7wUF_q%?#d?;w*wk3XA$Of;>5cGN}(O^0?0a?vKZj^I7?P1rsqmB~{ zaLchosIJKv5y@2A98&SJX0D|>a*^eXxg}DMl5IzmDo6domsG`~)pvw=chpUy@|+EX z-6RGwIh({hXeOY&itFvhaRiPg^_G0<$HO1%ffJ>`9)yRWVYCE^r^;YkjY3-u)zpE3 zb$2mhC(A*~yThV}4cZajUxvmFqGNCEXajmHD!y$UW;H9CA#EY*C;M?f`##pIE4e!` zy-%oopD%sdme*TcP5d+C)bgMr$WSGIP0^?Hnr_L~5W(DIl(sUygTUS+PFkgfBONf5 z{BaK1Oj~MG0_Y-qVynzdr~IWWuQx>Frkfj9g2yJD9QLC!d5t1_%B{)I$Ww}%*li2( ziq}=5otN`r!RFJ3BOYc%`5eC~{y?ic&S@hC?3t58jz!TKy}zWTAMe^6L#o7^!GX{a zhFGl>=|}3tcr9O6AbfK_cuj7cgSvbo7XMZ_Fy9W117pv>k?wulSPWiKZ9PuVfPGKu zZrzJEt78HUWdk?}j)2?Ds6*L}Vj+LH+G+0e&?zNR8RcNiZL?cmVS3Ysoab<1>x}j{ zXj32XCQjbcB^Jd<6d`D=yXN*AWNG$}(=rWHH~qaWMA_x`ZRtX&ZA3CzT2hKya#n6VQyhfR3grdLYk@%9nhdA+ei(o%xcRf(o} zD}xR|(`nN@a_@B#$zKHg1CvV zK{thka(@MC%+);G@!)+1bL8NyCR6A%WWlom?VR?HJHU2PhtUlL`uLcn9RyO2H1Y*O zxf?*#U#}1RO+n`UPY>+{?C%AXN?|3p&`lY`>43zRu*D;i8` z7c(b^vDZI`7z;Q+^$M7BdKLiQ+mGBzX;|&r;2KZi(xt$tTs=|s^$Eat2|rBa`0B`G z;#i}zOspL}D`^vK-!YiqYTq-l{Pa^E)*&E(BYlk3J;5RErz5Ijpy<)+8TNgE2tr`^ zxJG&?_D--ozuDGKky2jMDx1r4-bF*uD0Erpwl>kBKzj727fbYlEbXZJ_ia-@`<>ui z#yG`wt(hBk?}V7NO|qFkr;8?~Ypus5_m%nGx@YQ#|Fiim=k(*fr62D&VW~LMFUU?o zwG_y?|K>iy+;P;zUX;wT1b|SLTSMlQQ&Fo)9Cb~hEade4Xe9;Aqh78~l%pZ7*z+Di zjPNM0vm7JcZH8r=VSMIRP}t9@{p}D2x{xPZ&hbSl`mMQ;Vg_3+c!CBX>`qNq#x6kJ z^Mc>cM($k;8#UrtmN9PX>@cgWxSr*(ulr}TVX;11S;yr!Nd668{LSWot+V4o^bGQu zLxvIx>L)QR!7cy8j^A~?>y{L4)d@D)$;)w9*e-a((vC^N_*)`Bqwdu9DFW$fkPmm# z+(r%t!+uJBiNZ_$5HA^CrEj~Ngyl@_cda;4<2`jeH*&M@;(nKUk@@|hQ4kdOne&WrOc~(v$p|=Ry79R)LlPk*f$(R9lwPdQ8$vW zldbGwES=`B)LXGAjwX|C%d`v))hfJIUXc0BV7qznqlQs-o!RIBhv}k26MKBa+tavb zBKQswajim)AgEdTav14|6=Mm%u?Tzmz{%5M7jRtjigaC~nC7$~Mi6&!swyu24A@4| zd?@YZ;%Tjcj!qE#kGy7IZ8Wu~$@xs3xLP+1xy+fa?N13>KePHu% zwT;EA3Fvr@XrW)pFof6DVYuy-s}yM&)oEZv*mCml=u)h_Ev`B`|Tr(@=aWuz5& zmv>6R*^xTjP+{YHup9NMf_bu zH=Py#bEA#51p;GqO&Mn*B_k(Kc;& z+|DS({Wl2m#@^+~@1DDy)pnSz#KLkaDDF3`8nQ()b2;o>Vy|Cx zLAbN9jm|?1y?iQzq-!->1$3T|dy`ed`x}*dlm85hQ4qpdG9wr>4@~_^DKSvnpzw7T znuLKbd?KX`g-}T;s#Jj^HDV#JXj0uy&&j!fa9V~jH^0O))oleH^bcje-Q9w$H0M~8 z*vhLnhj3mGiAUPuc}`z3v=$++?qCRwwnHMCR12>sW(xnNXoa6D2LA< zO^H&F{D$FB{hlSF{3Y?8pjJ#(nZvGPcj&!RDNiT3Ies~jRs2KK8sz)QnKE4nU*Lc^ z)0B&?`dscU2q`4NcYTf43=DH1=2u`#I$qA7GiWQ$ST_tP^{9UwCBMDYuQpbhrDjFc zu6b1Sh+d34W_DrEs6^b&&rmgdAyL{L_MYB~Zy-0y@{>>f%y*Fwb(zV58QG)5dU0dO zR1N^pUs5iWt0}Z6*&P!dl_AgR+Qy$t!dbng9US^`H_#(sXT zbnzNcv_xOLEkT&~PGehNoWHpF-X>_Q4+UtSJ(a~*ywbD@fZq#p*GT+TM z_m7%$I{p0b;)pQ|89nsr+9M5}HJSKMm?u<6kCQljt3$gC8Jhi zUiUQ(O^!VEHK|nCPP)eKQBfK`<7*ay9rR_~uI?jSp+sKm01@e!xnzr#7j&zi?K0 zn?a6-#~gdtA1%Uz*giV?H^PGnKM}j`3+hvwbUNxEBb`vln>;0>RaLqtM6D^V@vT$( zdwVHq=HWFDy9nmE7_WwbI>DfH&K<6%4kbg8qjQeg=9w)WgB1EOLP19CDTIYwqPtcD zPp3jDa&Jae*-~CY7(J>4&&+SsK3v~QbyzrKnN*@+=i64KY^Y8Oo{jW?^Rc6kr5yG| zbtYIU0%}MgR}O;gY%woZtI0H1O;+Afj?9@>>+s4ChEI3b0b9SPa=-x z4!`u)=vHt^@pug-}PV^m58s@yR5 zr%qrSMiS!>MBXIvF^LZJ0t@BL!}N1gXKfg^rhFKax(AQgVC8n!-RVEc<^kvh@fBy+ z$2P+a9}9a?aCvzWg znTTo6&qkwtOMZPJA-0|>@V9s?wZ5gpLcde5hxtqomgq!Qsu+ym1Ue_aYFhsA1|yj$ zd^NT3eQq@0!bVQ?*WaM)0SN$UjUU;3A{BWT&o zMji1D9`JHH@lfDj$da9!c~bHz3|SpKykp*ze)t$&6I;r+JlI-P*D7|yGtCxyxN*eb z0vTL5ZIg^BmG5pf5nYWKSW=AE2swYTJr3>~D&sTM$%If$#pHI6x;P^bH6xtdOHP{` z=JvR_WVPZ&)Qd3HCan_;6U$%!sA#N7V4ZUXnKTxDbb@ zJ6)Mv{q=qO&%+53qDzAUs-v0G8QKL*pBe{42Wvc+wZJHh`OQ`%|{U#Wjy+2 z@{AL?$sgEr?FC9LRx?FY+GD=@@^18PL#Z60NB+W9l4t@n>_(5Y>}u24hQg2O%TGVt zVuxpmJ*0mxQvEeuF9n~#TkX5}=4gsbT(J!&@e|b~rk1_xg4TE} ziD9a~nJJsNFuKV#*Vc*47R|~S**^`g$_!E>MDYD8W>h%s5IuGvsye(2-8QGS1l7gLG;c4IVkVJcK!EdD~i_W6#XE;c; zCNHSvzSIWsP+5d?jHN>5R@j!^=s4ZJ7zvZr=<4l{o(yIXV^(yVHR z*mOm5KOBR=VG372svxNJg>$-ds-=}T@s!0M>N6em%CZF4Pj_R8h#lxCzRh^^epL&y zG5x>^>Xc|37&Ke25g7R`Ly=0IlT*T(-F#YU>T|8v)gPWr?rf!_mc{peG$EO4xVp=& zFJqeyDI zrhhM!OG(xXwj8m`nPMgZ?=N(6;!&0!TDGeonDnTXnI!Bw@@(ESt5Gxt8dJV|lwtfR zdCyveFkBlaCPf5)j7~pYSk$2}5d>(b3FvkCzYIPMouszNbHBSvx-?QDk>;xQWz^|h z@VMxBE78w){Mj~m#^8(*wU_Sx)1m1f9{k&&e=i=;=;(e0(Fud@7tohF*^}RzQ0Rmr z|9osFn|fKA;acu#t>g_Lq5kfL2t4vZJJ7fXB9>q6{&$Bs{+|bavg$woHt;9>HSnWx zCk>AiqAWmSu9RH*rTAw9Qq;kZ#NK}{|J6_8iFfa;1+n);eVbjMRf@yio}CM+?xFT* zOdW|Vq=aI9&)O55e&HZZUpy?Hg-IJ&zrkXgj(sLCeR^~G!o)$^sN;Pp3Usqo;@_QI zfp|yIWi$Jl$rnIava&R>Rk^KJGkm-;1uzSEgFsi^Yw!rG)g<4JdRsOAWmOztEsn8j zCvUO>U6v5~aw&=>wM2%XQ5B&OCVtS!D4@tP+yh$jQQ2T2r* zN>Zv7M(QXh)Y*;g^HdH;@(l{&Sk=vZjeH{rOe4J|B^Ip~`NmDQ0;_EKUUNe?Tj%Ve_mMHXix(Fq4quGoUM(hm*7 zxRrt9qTm!D^CLrHPZI2>Wi6|ZStG*Xw16}8jCZ&;UW_-qBrj7XhM| zSX0jmN@rhQl9<_HC8>ba0%!Z*y2C7LT zDNqk$-NLDQY)HB_Jm()Ae?E!3IXo7Y@`Pjzbp0{t{#B0k_Y61}6dEh{c~AV;V__j= zuk8_SU?rdDoTu8guOK00XKm2{_8b9m`pUCJg9kg10%9A+azn1IUfYeGhZfZsX>(Wic4AJ;z8hyG8wymGZM2Nd+0ik_E7-Kpu zubn(gRI6AQv-nX?+6+&_!KWlrX{h<<^R#8AW^%kk6U^`XWZ^Ag^JzBD{<*!^^>4PI zMlso5TG{JzMHA(*mfo9h21gz#%zpV<1rKZ8b(Ht5?G2H1c6AWA^L^?D4;xFx6tXW^ zW68n#c~O(0rBL}wC@IjeT9^7^(tE14#+=l-T_u+JC$E_LeF7IW3&5OM`k@ zE7%2lUAQb^E}|;w`G{>iCVj3eAsb^c#D9coo$@KMej{!@T0`+F9X7dazE(715J{gc zOyp@Rxs=8oBcfc)V35BfAm?mmw8k?+ghSN*`EK+qvE~w3t0sgJJ$JJ%Mm4cA&A}R7@gIj>TU-D?|DhfMki^`yYuzkE#m_7UjYKI3)dK6{XvI6Q?kYP2W>`hOILiVI zfF^TJmzevN?(Bbiv1xK)_OOff2HpE_1#YqdI$+Snm&>Lf1pyg4z&fDwdi#c?_v})! z)P*UJ_NT_1UJvC{xnx#y5=wLrhlLw8z-q2reQz#j$3rne6|x@kVhg%u*>{tR;DJVU}qx zv}nDzWW(1xnXqjA759ro?!_*E;QTKSH1NQsn&GeniV?u{LTUCJZ52UPpR65?1upD6K_4-)X$WY3U)J)Ia7US;aEuO;CB?$aD7SM^Zwm=D z%|pT-W=yG&DW?QNa3USDI;FyqR`bIpfXKZ33b4^>G$4Q628WE6$s;c}WjAhi} zsWW^*>MGXyT(yR-Qh`j(*zC=Ys&LUDIMG9)SaDMxQ3!;mghWPS9&svgl_{~h5k9Vq zIlq~iF<)7qAg##t8_;E^W!}^|s=o>+3n1hxW01;zt~67mQ40j|>inX}N_|7sA4}4S z{UJ(*6*=jP_1k4>DW>3>mO4Rv`xr4|4=L-vSg)ka{Tn2=BlN0Fg(>7`E)C;E#W}Y$ ze3O{#0DyzTMgkV)lTjJE4h+`(E}_~0NJ=83jvHqx`Ng+dLM3`IBz(~BwN6-tUGlar)~e{p#d9R zW*bf!%@7PE)%J=z(a)sdfFgs@jH78?rk{*?gX7ma&7|=?D^h`$T~D~WeU zD_gRS=}|fL+|_Kw-6TZoHz>>bG>NmxOYtpE0)Wpo^`|h&xF|J2L%1Uy zVY|zA?1`Ih(^4TFYBB3WAx>1*hP`#~m>==}0zlhvo*oxF)O@flc&ot#6%wNt%9GCH z@W}1JWW*BuYc({a*0Q?Oa$X*1zYkN3B>7_2o)Jnx_DrUXOC#8rB^Q!Ld^zzORJym^ zXPcnJ-Yi2%HqIHHBFPLPT)K5o=mJ>M{h_p)w7h71bm}x&2$B5L zAcOVmw>!kECFOPyZCvX1sWvI5M<)yMQiV1!!Ea_k8U1Z6`&xqR*Yj=MvP!D!IFVJa z7c0Uw0t>2yshs0h-nX^Q0oJZ_(u0q09gJpd)fzoZTZO8o#?5B82L*bIIBun|*CS$; z-sU;qV$7%<$@k^Zu*(#omFO7Zk{9bMh&o+hC@47JIPf}REj#ao_(qm5@yAi&TD7@t z3%n|U;9Gjb=no*KznRT1b}A&{|7N}FuR-r0z5ou=HehWyyojgPQyu%l)(;}_L9BSi zvnQdx`J*-yDj4o!D;|>cYXEC8nHFV(_NM^e*yb4gw;2in|6dc72DBm%@S8$oHYj5| zwRHaHj8^}+(gocF3{-DO+5sQ=#YC!-NUAp0f};qEllAQyBLEt2zPOttyB7Czy+M!e zfbLyIKm?&5@+5-KNCfx1K3^Abc2j2sl2=hm=Zwa z0IbKF*C2Ax6}Y+w=#s126O!P6IKqGb3kjTmS!a|L&}jfa;G!2<=`R8ng*n{Q;R7Y3 zS4{@8#4*qc%XFU6MN&vEZyB)FlTnS`Rt6mBc~?fQzy94VclBM?6A~@}w3EkJ_>(e8 zXcl!CW26>wGzNM6I)*hW=6#KC=m*V@kc?o<-j(hd7U~)XEM_xn?0(_sTIY!LZ;(cI z9X>EypFZ*(zVAG!t~=8o$DKn%yEeZN08OW*{UBRvCi_D*v}owW?yD1A!59$Np^8kj z@hF2{flz*~P8;=xw_Dso!MzxEj3JJ$6<(>i>gA|4qu|TggnS&Vp*5WqzZ$U`G*B$k z3V|%SsW0D_60hjR+}KRWb}k(}R(lLA{AmA7F>-6gayi}fAeTA&Q9 z@8aqtN@yqRQ|M`But{1rrAmBT6EQ!HRAt_(myrCNHgkT>L^k7xn>R+9B?QhA8-Sx% zwKQO?fkr1Z0513a4o}6BU4Q?1>`&*w6*)@s#vu_Ag|F>J(fVmXcxe+tz)yxES|b=2 z9LkV_XVb{xF2ZSOOZ*|Opy^{J!WyP#a}x^Ro^ba5*;?^>1T$5f}eCyz@Qp4w$ou_mPxrXCE=jx>{aB3*u3I0PlL=@lWYuv+A zQ6_qLP#2`V=|v6gnb1$%rAZ%g z3N}cv@N%0{#j`aD$03r_hm$|Vel32uWrPE200svVjmzYAN!pFtc&2*s#{L~!uumrY z(%Z?AbmjPBd~e7G2bW~2bJGD6Uy1vh!(iLtx}4H2(MkP~tct5qOQ%K-0kt-JnI)z- zd4a|4wA(9xO=m!J{r$MB-Pu~w17?+P-&J4dzYP{Ix*iaALr*hMwVJSuSdpm9 zkeF8wNb4^c>x?pHg5KMhpwlW3{tXHQ^W#>lmYa z?rxuXrdul%`i^Nau`%a}Rc(yV!|4%WDq9t`PUO{pFup7?{%j}{JA+ykeYD|X^fqdK zz$O+`aWC?9gNBWJ1jgDvqbZfexww0-N+!kK+Fh)WRz>NZ{RHjFbKh?>pIT0{n4<>c zWT=n1!FP0|U48kT+Xj$rT=JSV@Z@ki2Z?0GXf9%_7kvd*bi=;gBR?_eEpJ6ua%X*`qbm?ivyCKD?{LT+gruUP9MF-APe*NI6)# zb#G~_xEEN(_DdUVUaw=hU#`Ib3senmEmkB(xN`JTCif+Ctq+_+v!7QUvlkmkjRu2DTe*INRL$C@-6uqW-d>2JG$BqoLK9E- zD)COmr&Y@6oDeVb8fpw^q*aA*}$x)E=d0U zq+4eh`=`eq8vNE-g^9Y<SeC5D;1@09w%%_}PG7dmml7#*H~C<(qS@Ub`MCA_ zJQDrtMcJ5kvsPYI3g07_gpQgTl{WD-&sre!TsxY$%^cX>)0M8?a*xs{gQK{Ci0(i|tBA@X) zYD*5D<9JSx^vpBBNQTZlDY0)u-UJkVKsH4rhfhQ?G0?LeD8D}mneYZ(`g`!hf;UL` zU;pdCGp=<#0XCdt3Wy5}nS9_yUh$`gwU_z-W8VFzFLI@dW%A-~u?e&h$wAjGyg@J9 zf!+Ki44?4&i$MT`(ukBQcuRBR*B7mL(9QW{N6x3fvdhQzUQ+UF@@f$1PbJry1|P&S zup4-2+x%rD3DszJzWz6Z)v-0(_!}g}Ch&2UoA^fZlXE_bM`m`)Yf|IQV#3>}(xrEtphtJ10!39Gw?l(K zx2@g)@9UzF{gtNG;4g3nG%H3bcyf;O_^B7=v{XWU=uc|}xAbC#HH)06{-fx~#x8o? z)^X6o=Ct&wN!E4~S0bfm2IrjVt=d3p|}Goe(wGL0x0U z0`c0GRLQ-T_%335j!`vdrT?6{yvLQtt|(g0`hZFa5x4(5zS~}iH%aVgJ=Ld%KC9DW zt`6~5LyiG^Guh@noJ2<*TEZRbj@H{diqYwBfXx-rI91tjE)fEK--6w|)7%F{^r>Nj z8Cerk>mK}B4=VlIQgK(?5kKSbZ;;6Oc2xfYPsgv=e&FPCbR5NnS(K)?t7`7MJ4Xx- z=h!7IchM59c^y;QZRu7Ab@*tRq-|-Cgm{DHXj!lsuqUnH{K*;tm2&d-q)Mr6z9}i@ z7tB1VJ;3v_o)(hh5kQE(?Ysb|hf~ikDcHR(%q3Wv_R3bNS(o1A;I`G~mNOdUW40Ex z3xTnX@YfvC5N5#8AF%oz>%GC4t*|{a5bA5}9S^5%=tKx498SJ-t4Y*xs zSj&**s3Oz03Ep@}2X=sst7|%jXU}gQ_RmaqE3b9ya-XW z*~PVumRHx*T2>O#OeEh8sVwfpZ(NC@iuar_Kk|y>OFQkdkNI|#&{CptS_**&A(+4$ zsECAh!VZsNY$?IIXt?48T^e`0c5VOqI}zqN%W>QoFZ7YEy(l(XFrnYeKHcA$DXrLm z7r|LqthdL}GLX(I33XhWl@+gMb{8`byV;>xR<7@#&GFU2XnYC7{IwzgA9{gGLBD{w|5Xif&til!w%<~N&wea8V$Rh~u9nPGj6cAO zj7XKV-sBR}QJ9rL6WWSg81{3~&W!7+AM#X%Nl3LeVWyN?_fV;$6&9;C4ynXQsO=GR z<>bjH)$+-qPeitQg?@EBZ-T;{ZEbG@RHeN^y8>$=ui|xIxd5vK?sPP~D-(E5%cU}C zl%!!7pIY%039pa`dYkf_t%6}Bv z_C93pXI+g;x(d1ijFx~VK3jG!C=n=%{#$R2QRebr=&%j8qkDe^Ezt#mZdH4O zYX9}`-`(}{2JU|r{)`39UNnk9j0I&d(KAU(3m>-icg(Yj&{2!nni16L=VLI47omrQ z5K2+*fIG%BRaqA1HWq26$8ed2f7v2FqMTdT{Zh51+=i!LaQdA7q*rom&{4S2deXz@ z1-YkBs4C27Np~trI-!d%s^HU4FLvBl$kO6jv+iT75kWCFCIi?%1*?cH54aqKm4T@a z3vN7$5##du5GnLrNIS3_a1XvB~tnc_FyHrX0( z1OX@Fb0JLWKlbRe;)dh%TQF)LHh`l>0D7@aoi9NF&CzEbhONq_&i^VT%)#sI4f+Bi5sZu|SlWB=Olf@UOr>miq|tnzXci`%>-NRGi$Bh^ z9eq^u+;RM+GIbRk4~97vvO{)WwX60iMHzU!OjjHFt`W2jizj~RX|!KE4FLIi1E-f0 zznuvnSA#Xp*~7@H9no!+q`Yhhv;)}Ymvu1OV?t1i)L7ZneA9LD1h;$IeSUZ=R?aQLNj_nJeRKtleHkr?etf7uRmW1h*S zq4td4bXDadW6qzN_4U!x`A{VEFto}H=Ug-eUOG|2>a-y>vSvC~%gcFa2&SzB*{!M` z3B$pknY2+eH&Lw-FDBCf(-XUVpP&kmd>8J6{x)N+Y4g7P*-wp>Gd?unM=-&a(R{G;(D_M zifvWAN_Th59QTrea)o1C$38o_r%YjeU9}2y@hSSBq9y>vFrlq8maicDn{7)K)avs= zA%uvktc55d{XKsan|TG5S{YT(8Ax~4m#FKvFKui0eHNh$ALDCm<}6*6rMPCXDsN714-C?biLcZ=Umyz($Sh zx$o~5TF-+h0d(7io`<*BqW4`2%hcJEYuoQju9^7wqiR?NfonV>tR?K1*We6K$T9oY z`NpzZ+^!JNRur>=ojj|p66bO~5IP|(b+UV;_UP0rSrB-s-=MEJ**WirM54Elu-IQ? z#36!>vu*kQIl`cSLPj=1d1aAv`{=Vcaj#%)5tSS4_+gSbe)!AqN|CT+eXd@21s zDe2DBH7f7UKaw=l75Bwiw``J#3*2L0f@kO@l)tGuN!hNbhNi2HrK`mYKn*S55cS)D zj-AS{xrwW1Gt>S7HMb2(8YpN-<`ca#9C8?{E%Ni*Y<}_cUzY3*y>~mB0mC)X7Hr!7 zEqC67vOj+w&usO+*Xv5ZCCXxYxVIL^Wd~2T!!AAe>!6cDKPEL)DfvXeB9_loa8B=} z!?w=-X27pO7oUMUi$%E|$7H@qFMPPtHr}gUR^&r{omqpLty@<0GFDjzuKQQkGIo=-XDURX15ntXs}R+LMsjH4sf zgchZ{k~P@C@G0v}MVbC23jXehnh}Z-#s-~eKwE2zFAc5{v3tPPeE~5`IGZ_@YoB>?(fH1iX)$pA1^!Ek>wgBHh9}Ai`T}j=j_9Dcc>3rp zJr1vVhVp#Mjl&4jd|txS(&c8LRUe_;(h6>Ra|wIVq+rqNF82(UGHUe({ok+s%g+Vh zC8!#d31vDlItAbU1|gd^s(O{S@k`7c5Qw$WF436O`&b>2tBYcL zzB$1FPpJxLM;8DArz+S@O&cj#l$Q%V%Q6yOxv3R2tE5bfd+vaA5xxqP1{A3RNaf{E zaMmpaT1lDt@EO3-*sElgtMvlGfL!T`6c@*dupt=PhbHBkdr~_+^MjVP{H3IHqWX4C z0KfLl;4-&6Dt;CFLV6;&sM(47?&#GV#I@;2!!z1;4Lp;gG>uN{&+o1B6VcELwWFA( z6*K)rxX?q5nnwO-vl}7Z*~*ycB{wv?dk#cB!f9=rUsZyOXK$&$(smjYNQgElfk*J@ z-9?wFcg}qMc$h0;cv@}R!C#ChKk7`{9IV}3OU?9}jb686)=pngzF8hwrsq5|{l23hZC zHb={h6O~)6AgU!7GR)VGmiLq)j#Wt=3E7&|7o4F-JMeIUbTMW#*%13hQ>s9Qct=Qs z!kS?LPg}2t%nenXy;ZTj?b4NWSHlWrc_*nE+$ zwoIgj4bk0N#elm|uG z?fEZ1Tk^D;T`^*FX>BEbIc9I~Eh-CPM2{ISwd2?)zU`Ii%#`OYe^!af|3idZIm0Y1 zC#(H*V$1WBZpp8{Ov{q1Jp9^6W6vU0(|&`lfn^?0{02oH(i+kV$15Fsyu|+^gjP{U zmFKvL%OQ`^X|vN2L8uLyMIV@Z?~3*Fx*t(vw+=oW+6O>-;b$cjwomohzKdFcQc38bE z986dFE(MlADf@naPGNZ^(<#{9oO8=znv8Gj{wPpJ9+-r26C4r?`ZW6`_HD!0Bii#^ z*tKas1Chn0yB-|6rJv$wt!{7oRLs9RzdoEYQVC`8Ztn{sf2(V}XLPW#I;w6;KhNIR zF#Wx^p^FS6!Uj|m%@irs!Q*cEi$-^yeMV$#XEvJP0nsZf24KySlk26w3@OOvW7U$# z|BT}9`Sj2xN+O}k;5Hu{W1Epjgq6~L-uMd0#GCv(2DvA40=X&%-_q$iUl(VHY!c=@ zRVBU`c))Q5XQt_y9t*r3o7A?klAX72+arHMFl*q9tq4ctO4*5}qv`wz&!D0;F=+2zI;;gI%sgago%-CmJ@xmEhkvX;^PGpWR4dYp zDWob58vuGK#A{%d%uJ?0vIA5vs*YQKfOYM320DL(>VPhgi4pLDLl9zoKv(`JH`KJt zG3|G;HQ|eNim4c&(p)oMb9_o*DvWOd-W5Pfo9&YKzIe_`Kx0Q{)7jZG*kS6c8dm_| zrbOV$39T1;E^v4rlHthBvwzK0>R0X>rK$+h6x>jJUD*VVSYl9S_-V>24~0pj_^3idhQgt{IOk=HxOt`bjl z15%C4*hhafy}5j!ic9IlFo19F>}8aTTR6h*$^WB*Koe1*;eavegMs6bi=Th0>Yl#} z{Ob%0WwU+Au^%`i>r*Y+7;vpPj@#LBFz+rN-IvWEl9k8j!&nUb8e#(Y8IJWmcFxd~ z>2;$bq1+;2WYXMf&LaHBu)cmyGcI#?_NTPZ^o;p;%(ILH z0s0;XbDr`BR=)=`)p+m7ImF78kx6cSyl7Lk*(+6s+`s>@gE95-Da>q{+D^Rl(_OUd zfTes!pbv(FhBccDQ^TxtuGUr0jX);_*{S{AKAhohr^$ ze2kxJm|bAXrvDFaG`FO)JDYMu(Zh*)+P+Px1NjBXnAeMyNpgdF%Jg8F zuFA8v%B3dFz{d_5rSNbvDA{3imMBk97hqkuT zP3ocwj56!nrnz;WPRqYu1GU3%{*!GWWpUd!nq8PEhD1(;O}e2@?N}P+Ml8=YVE)LC z-4WGlA~{b%`GnC_L5FJ2AO9C|ZvoWS+V*?Xy=zpUl;XBqid%7l?$S*tp@b47Xee$) zf;$zYcnb-dz(zs{5GYR2;>9Jnmf%jX;`^k}JMWz5J>NUud~?1tbJk3BAhQCq*1GTO z{$IaeR1%_x>}ki4(sQ4=zf#bPJ+Mh!)wDZ30hPldmzN{tzZkvq?C93L>AJFMKu#4c zQ?aDh{FwAUNV0W7N>-b_ z67yzqtK|AntQ=l7wIQFZ+#{t+Qg{W5Q)VvW5H2=EeuAuESz$rrN_>8L8VYR-CkGwN z9d$M*wsKY(mqA8_VTdbf9`IZhg|Oo%#a{?eHK?fVn1@B&B-N`bx;zHCU?;cJL%BMG z1uM4F%oWsWc2CXFBHtn&)*eK=Fjizf2#74_T04*(L5NGkjb)6cdNa&feQQS^2flKE z#KL?b`t+|s#AF((u1=)nDTC<|^SebZ^0!XV~2|YACt@)ONMmK&O4Z?cKZYiKA?;J5i0i*>QX<_F9)yTnwbe zQ5=8g($5$Jf?d~CRLmm|Lm}AbeF8I|SdZ34R!;?^ z@8y8r z(lc|Y_2GeVb^}Nhtq$_3w`1BySz}n#@fgP1=-4lH<>RUCxo2Ml1n@f>PlL6v8-$# zT(`uWPHa=uHhURREnqC5W_GBfImA&&t$q9jzRp;}wR;I>IhSH)dcUVJ#m*_1Y3$nv z$!#puwZ(c6G~7?O1$frJq-sejdDLna3Od392@aF)U0!viH0Apn>q@}l#Y-cxEuzH~9(1WfFw!T!M9~5i<*y@dN)TZwU zj>uv4UOgyh0{=Yq;0ftoE%R3S)DTWG*MyGMEANb{7nb!ZiyAtf6eY420?~SjaAa-! zBzDw`py5{**e_+n*CP<9L<3x8@;Dkpk?nuXJC!L}#5XVb$2y%&?&w6cbu$O{?3_O0 zdC~X5J2M#o=uA}r$i!8LrX{B&E>|1Wu@|=UCVj8G6)k(mXwHgSv6Y9I9v0IhBJ_05 zJb7U?B(pU#%F0Ll+5S6tHKhj^YmAe>+XvT`DI(Q>=r?63D|aj^yxn`6m|iHS~@` zd2R@S%-Ra%+JT6`iE1*=GbC~?j!E%_w``0uuWWUMQhKW`bHO=Fy3HiGpubR6=x%H$ zN%^>7sMQz@+2;#I1G+)7=u?*jM8g5|sDoZQG`U36Q)00IKQ)Htv>VVddp^ejWx$=LWKmmf&i`CJbIEz>DGR7iVPmJl3g zJ}|ftU;gD|i}f76yqI8%MPL+jkVTPzPTqXkU5G7M=+tnNOmFP{50&tnqQw<{f3M1D zN)D5c8n}K|cplQf{1hWJjzl@{Ra|O=;W?d@Riru2bHA_|QT}S~GuAi<1I&FD#E-A~ zaKCUb*aHZXU6d1HBcEV8RJYE2(3z&w(C;xj%>4Db=?5RjG^honZ1PWzJ$;11M}MrhS?{^X!OVYF6spKA&Sii6Mo$-riyNH5)CR z=Lkq!t!t{Q37xa6t1FE2E2f}k+*$;avG20e9i=Fhtd6d31Nn^?#sPL=Fab|KW)sJs zy3g&MZ4zx5#C0(r<0^>^WhkJic=-Wt2=ADoS4^;ZnqIyZ!24(eBr@t#(C~$_KxREF zvsCaj_pGY~u5ve7k>ZYVJS^>>W-d?GD+x&ll*EeBG$^zitk`q%crW@%Hhi6JD93%m z=2nhre$0vueU_3^WBJUmo|F67uz-OZa3Rv(-c>0illig(Z?0akaNputKb`4o zl5kJd#-kD_nK+<$G*+jNXKy%hqtB6;j|mQmIIof{CMG6JW4N403BWD8w|XcF3}kxc z701$S5x^#(%l|5O)IIN9rJWvGsLou4ppm4*+5&CnJ06A7{6w!<9lu z2rGLo$0l)Y%Ol>4uAaxd^&5+89vzrFDQAd*}!g>-050uMzy z4p;7aBjeK)Mcmd&4ulHnv9-MelEatnxyUw`osyPi<2&psHb&98ds82|!cdM@f(BTK z4-Tx=)!qdAsm|UcoSDq-I_?nnm0%wCuK&XDxGr1^O+1e#eaSYb@f*YT!VTZ1Yc3wB z<1z%L{LH1q0a~nI-Qg&D=R#ZGm^)G9@kC;sZaqe}|Nu z{WWM9yW0KiGf{7u|FRq2DesPrF-!}#d07Kg%+N#Bna^Jde@)z($t&xGk58={ug^9N zO=dKV8^t_hvDHc%?XY8B26+iAyX>6&`L$ zyd9^ns_6y86FZsMU%4?O-=mEy80;~uji!j4{shQ!ZJAx<-e@VCUE4tT&4|gM8KRUV zhiu_7QS|)yrU((i4W$KF$|F{9VnBHLIO)d_5fH;;7PY)Y<&Ym2lULe(8C-bDefQ3Y zjfUM~FH=v^u>PaY!(UZj_ZXl&^BsLXyHB1tFg7Xoj8D{r_l$SI$Tt|Sj+Yx>VA3E< zm&iC>axEU2-2?JwATzwnnZmNz)j*!sn;l3V6$uo#?nF^uvbk=jjJcECyM^g@G2_lB znWWzo5(^~mtDrrcn39VW3*T7W*>6!Tx!5**{W@kt3YDAg^HZgL;o6tgTDw*g8+S9! z2;@EE>5KcupFNsnQ)$IDv34wKB{>RLG|+uJu|9{Ti}_@+&eN}*%X70lHY}&*SVzsN z-2nFIgkavlV9RQv*>=Ru4BFF-%_aZebu}ONRfY=%l$nMzz~QY!ZPMEJBSTjfmq`Lr z(+!wWu@}`_XdB*n;nis@#T}mBO1y8Nu-)$Ick1xslQ&LH3pSu-?GdDGN_6mEyLwgc zHcN56fdLvNu&j39Sl{`Db&v6L#Y*h$t7E;B?C(#9o9v5(T=(nbGo1x|xCjLTIu4o{gG1?JY?8YYeqM;>pTxPoH;D>YB)X z5(h~-$+3vhrhPtC&l~Gvqu;4KUV}gVeqg?q0+P_PQ{-h;_JaBMBZXAA<#9*lia8y8 zPsgVU!)Ix8jtf16?D5(t*T%@^CHagv=snN64Y`Sv~3b9b+6ST8*$t$fL}f2Z?>n^0REevvI~ zTcr(HGjRc%TlBhNYAw#H!jg7*Tt&ZgQafS2Y|@=u!l%(a6V+8*v~n^3-jxky3ysoK z^nW&lLXfgJnac!0v=#bl`dxv9gxVvGjLE&A-g48eSEUf-rwd&&6AEHDFAm&dC1%vtmgy%rhgiW$ZX?Qo;s-0#Z-dA1c z++qGPVEWa--O&D0V_A2{op7Uk?xbmIeoJmGi+tc~eO!%hg6vT_asj=fV>FPhL zqjW}@>#nA3wSJ_%?SGE{8<#)aUD>Ba?%Fr@%Xo4(kpY~+*&quMjC&&Ow&OhIo+F^X zP%d8{G3!+y5MOTWY6!nyS~?wTmpX(v=%dqw4D~bWOB=vrRT^K%IE=4^S}3$XC7cH7 z98|w+V%xpDbGOF!+ul%{*h9JAkI?n|8u?!dJHOLqAH+a%4E%PK3o1>OA9}7b7Vr|R zx7UZqlo8tRTh>8)t5ssot}mB%AS-dxYR$X?GX-FAvOi}V(BT8gaXU?QFfU9+L_ zc=kZ^)sB#a%}ym>&sFA&X&<@RZjXE3yp`;XWJ?3aaBc?qf&@>?vBy|Abwmy zC0qKf)C$?vKs_ppy-srlg1@8U**ciHEeS$kFEnk-%_^pa`x>CaYL$>6C{N*%RZHM($zdUFDgZ4Lz+P#n% zs8P2@eh0+4BG^Zd|1oWjR_uNT-a2??%B_wU8{`;o_+U7lVi_Ix+~ia*UkEbSy?q? z)qRa(Mfl&rTUAnu2qcWDc8= zsjs^Lj`1$q8e&?MmaajyOSlM@&o=mzfbb2Wl1PY|3ip0XrXpI@NqJruy;Ei;6}q&{ z#B82)yt(mqaiyK8vjT~oNvv#={8H0Oj#+35+g^#FHl|l|?3@c!RK@)A$bVK%+J0 zxcA?*rGG*8JxD!PO(gJZpW2_CnED z=?9@vLIAX$`R1~*pb3n1}zy!M{L(DYMR<8(BmtC zcNJzhiaV`+U%_ORGgv(x1t0c5U4%WtLP9C969s_KoK_RI+9@YW5@ErJWofion}<{s zLpvle>i1PM=bcc=^3>A?gwXN9i*(qHFv zO(a;8F3V~FmlWy3|JUsm!|avXK!5PZDvG%B8pSSk+ebvsZ0ah^;iud`R1=02r0G-b zslLWrRZl@sGivikpl-#6-nzk$l7EW#d@9)*dP6GB3{tWqe^hL{ zWACmpMO0+@2E6VZdVHQtq5xvP$&)0Kcg;x}4=*<_GyuzcRM(^RopTebRkNGkz&yS_ zQh5J@&=kK$Q9gaU^^CI2OmS+ZD=|_rQUn>_lG2X;VwLu?vYuc`leO`X7>(MaM0@GI z8(3b>9lxq;5-OMQMe5;&WQ=#lUKN;bH>qaJXubR0V0isZqLS5pO^?oH=G(P*|Ng(Y zX1>+g7k$^WCWwvFY&+YZT&+0;QUH>{D_yZU7a}mC zUo`aGoewo}8>ZlHQa!l3nxWIB%Sm`#jW}(Z=O=bQAcFdILh*ne;>DM?Qu&PjgCVMf zPHw>sF)wB2Z|Hc0(@@3Vi62KnPZZz>9mQw6;an1nXKb3~wLkTLNZzY{>ENt%$^B`d z9)-Q}5eF4V6$~!tE{DeiZ(-%Mbiq!!I$QVRTX#E>`C5j%pJgb0Jx^i`b$G*1TnGWT z6GQb8=G*?c37UJ%V3yv-D#r!e`EHU}l$mpzYq&NYn?nN|+#KXmJhO%ZLkTPl^3oY* zP=+q*B5xyDc0*ueJ-1**?tCh9Pm%*jc=u!!k&9KxJvFA}gyYj^ASdvXB`18uXqo~q zIbgW%qvAL>KCC3?h_hwch=-jNgC9^eym(rm*V?TE7EkyHbv%Y9oJk^jBr{O0D}XB< zW-HiD2Do1^BQ_<=`Z$O)@IlOzWdWH4jjDdpg++&-oiP`@oA7N+b%5M7`#)5k z&rV*&TS|5lgvHCcJY8;9I9ik*e6!TE5LofLxG>ET(y-WA&?hZEy+{;T7>FuXEcf?M zZj7+J=kr{4Z@Am7xoaF17bx#7QyundeNb$Jd|V*A5)Lr;DJ#mN2gIYly75u zak0npL~VX1CweB4ucOCBCRwhpqT^)UAMy3j>o1%Qa#l^#In)h9P%Mm@^MBdPXu|yA?fg#9C5DeY)14ELBSA|^~zn`@2%Aha{ z?TsmBT!qI!4Mxwann(d69TsIpwnE@;Yv`fZ14+HpUupb3yCWu1iW*SykF?6w9R2E zau=vOA}!GF1@(`R@Hsl0>pb!a(c04fs1nY(x5L?D1IZCl`m#EePM2ycJsN21kxzDU zVIU)m(8h`F23dET-g4ho70XTYl<^i}AT4BJ-Et4f?l|PC-1`H2 z6Frh#;8W|s{u3KK0K^gl6e50bY3z7>moX79WMA|@YPdICCG^@Q&QANm=9|4H4;+)a zNRC=ZI?hVum zK#GfNvK0ioo38%!th*6|XyV!wwV&Vc-j;)5MvIFQ9arxJrQOpjZKR&oG z(cYACu&Nd4_MCD!I}=A=Y4vbSk(8wZpVw2LIFnRlr;DY_@zm<@tIhBdly1Lw2}k-k z5}*_Rc@-A-TLs(x2*mWKh6y%nGYux*Wb2>sy4BISF3NF3>i8}t;usDI;=zTtjF%Ti zU;$!KIle1$7sH-jmKJFK*0oe`AA?{>@suZ)FrFZkpYsW zW!@uZ-naX9Q~_F}SvO&s5*8m)`DPLmV?C24B#-NceYqm{%xLuEX&K`fH&g{jD}W?O z@{k{kV&E)^^w16T#Fq?@5xkstG%rjzx7M)57{7$#!VFUBzaL=VNvr zm8b@xO4isZI(^HT1-_ebXcXg5-y#Y-<6as{aF?;)9?g-qapzQY#=(C5-sNga!%!zQ zA&1}Q5a&)YwCvk=<6lC-TAE*^M-|d*HXgc;BQ7%<#One83$6`Uf5_W8kc~Gzd`zIL zXF1%&2}g3+tJ5E&FD=}PJr?1C@G<>uWgZzhvVXL_f((l+X=X`8)!9F60Z zd&zS7t+#5^qQ$^?u>Z`4${;gKK1knui>z;X%DzD33qD^%*B#jYr2W0_oWgN45ojK1 zrJy`gzpctSGU#JK%xRA{fwUWlVF1(CwwOu_R(&Mew8zkKKGHj6jJ;(Q?3URu?a+p$ zHGUCP74my@%Q}bF7f6Rgk+P)VIU?x>Ov*O@A1WJaRXW6zT6ejNew}k^!=GsaV$oomPRmB4^2Vb5N9lXgWVE4k7JwdU4)K5(&G4S zB=EYAJ6~{oYFU)%uC!wAFXn9IbVCCIp9RojGb6bRV~X4^?EZnXs2cDrMU?fKAm5PicMREg==R}dQ5yVK zkFO8w#4HT{yhS@FWXiXj)EL*fanY(Ug&&B4qASmz#k2uH7&L~|+so+$9W8nZ={=lE(;vemwb4U(9S`(TvEbeVIF;@)ryZ+l))%h_zsuE%CZ=uTHKzfw#Ahxy<1jb%r8h?|b1A zSqKZB@WRNB6$U*&6u(7&hnJHS-iNuSV>7idCzrikl(TUtra(SqKk{vk+t1Sgx6wve z4bNt0fMpniHx*jM42O3Ae8X6L#hH|}k2NgM3J`Vqg(NU{rTK6pR z^mDx(EECKc=(;0S6<}RWhK%C&7b^O(-EbC|5FO8jR3n+Wqo}Ew1>hMZFNt@Qg>gb9 zRx-2AK3D%7j09%C#t16*Ym>^?nNCuPC=MvlV`IFu#C)LoN|KoI$AyH83bQHuW(NCl zx-Z!zD8CZ+TR78=g0G+RS3kaP8^S|mDH}?QU5uDfaEOFlv+`w9m;)!TirwfZ&=G{=I!8jS~c2R6EyDn`w z-EIfHvcR4kSfqy68JAei^M%BAwoe>iM%XS}entf;l@Cq7uaR$69yaEBHn~*?2)}hd zY6K8w*t4s@RDdzw!DnX*;s?*z+LF+-c&l>4&c})RRa(TxtDo2Rx0L;&kvRxr@u+;w zM4_xa0!QdaiP%ZA9TH9}Wz_Re;0p;EF$)UzUsI2*Fo(xX0z<6YbZMD=h4J>E1B3jf_mIX{o`2*>Q(kI5&%ZoaN;s97gogXllYoa0G7POVR=q3 zdSnStcrSOK4Y34!Iq)OEDk3(jq|E;}BXHKpkryX!KvFQZziN~LC+N{fS)LWd>)#kg zGOIpX)5$GaeofIdEcf(YFxknt`by1nOm{ZO=LoheRJdS?XCA*}#UHd2(WW-09IV|H zs3$WxesEF3O0}%?c-Hp7!D=$}sO0LLV$Jd^ZMhPD+qu~-*VL>nz2F1?$}E*B^PxX` z5nxjIZ4C5tdt`C$zVFgZu;2-3+J!4nU@zqrks-l;tAuAfV7BmZPEg(z2+jJCb7#W; zQC@zJLT`d*GOcQ`nzFxpiGe`A_8O;8f(>hgQ2Wy4)o&TH)X^=YSuxEcdDweefc6g0 zsUTK(qM5(cWUGlYfm5(no9@E`eW>|uv!;o@-xEQ3cc0AMw;8Uo<}(hw>#4gVlNAuIdK!Q z+O3SAd*uB3IfcLu_0jjg=rlt^aisl?6!~XaioAlzzp(1`8m&nf`ADz?c(Xv!HEizp zvLNJGO~xP91Ku9avvc*t-+u}dJ)~tGW^nEJika8g7~auZ*e~MP>hNe<{$&NTx_L^7Do?GjrHQ=CrHVO--!wTiM z7f)F6Efaz#Pu(bGT=^ZPahbuTGOi_|Q zEHa7LiYhZC>9y}By(y1bVP>bH8}Uw(WRN*s1}4|)t@A;GCnoDkmi8)JGSpf#jL;kR zR&_|y;2)bYUWx>h{M)kuoFK4OXWUtRRxN#b-D3a?+ik z<#6y1RSeg4uIn@mZUE)_nSZEgdp9YW$4R}c!fL+9Gn9@XIt~^C7rLCN_J!40#Mna! z0#W)pW-$UDQ_vzcjidd0hWRZJx!@XxXZdPO4_lN5Qk0g8Zj+*a_Xow^bG(A8+p-CD8R&pL($Eb=$Bm)&P|(ObIVYKP5Wkr8!Kj zP% zLogLBlm=+kGqwLiB{a`LjQh4nZslBm@s|r{-uyjf72eTG_X5Kc>xoy@0=;nGBI~b} zy5W!c^L6!>2&RP{+x{8v$y5vU?eVH^VR&hS9p4cpozDwyQXv@6ZBh0zVZjbn!`cT? zv5sDPe=iCE&6ND!p2_&QXqTUTG$4DWkgpNWH1C7Lgmg9`qz&&V?g)6~lbqB*T~8A=6nI=3XeT?o$9zRyVX z+C{wDUk2`@x8{n76^wUvEsebk@67@YQ8!-Vgxp))5J?a*#2t$BVeuD1gMT3!Ag zl?&XI9F}(vzxAxoEyV{E>p!H`M~tc6hiUPiRU|sd+Dx;l>?L#jbfu^w6BbUzE@IqI zDLAjm4VNdid zXWNL1Stp*_EV{({U@}<}}&7UY;%T|A`cZP05|D;v40ulJ~ISnh4CWsYDOQXbyCV1m)o{TKsCbkPDRz&ZoBVSbvh&wJm|UbXeFba5IW z$+;OVfA^r7uZQF26!h5Y$l?GajN!QC<@(&i`a359*tl;FN}Y3RsEsrI(&0AJYQlok zSf`bZv3mtpu(Fh41J`r%l??k*I&sCCXc#+5lB5GWf=medqv*>6&*IrSBe_D(s6{rl zH`Vj)d{0R~Tbta99>5N;bV%M9^Q!f3os)l$b;1;R%I0kXBpCRvj#Jbq|mZ3uMGz&n_9_YCnHD`s}d&QFVcDB###HJGai% zar6klF?roXtbE}^`|BTK&wRt=`U4sY3r0R1C1yAnKrfAwr)-z7Ki)SSIo8R&{%*@A!u?@Xgbvj`vAKy9bp}TLOjX>v* zLh9%8pX*JB6Ps{f15Hn+eSH;e%_&23W@VnLO#w&q^^evLgUzcwG_$j&Fx9C8JBDDJ z@K|{_%~|C#<pC(z)py*?IY4IW%3Z zAFq74EZ=O4qrHc^JkY>)E+4VVc zT>(Rgn04(1y_I2PVzM?E%R<&Do0Bsx|J3jT=L=cXbgYP*w#*7MwgTIoDeU^r2*t6Y z;53!ywS8UvwK%y8XZ|iBA&ywuhG8%UB%pR~<>eo;8ZtNpavaGgf?el>=eglM$7tt+ zQ@7pYSR07vGD)lq?jRcN!k%_PVL#!p62gfLDWtu_Rd1~R>(CtFx(5$L$60FFq43oFhB9|Ovv24+ z$`-r875J4EY2%^OCvleIIAQAY@bbxq#byV?Ba^kfY|@m2a)j2buZ>-2@rl+{6Z0%X zBf-V0{U>9(O|d6s0I#n|6eOO#*pZvC^i#2r)6>h@!<}I_>NqTD!(i|eSBJcYyZsUn zw6b>em>2!g#i!)$Gz4~_CnS7~(5X;6n!~_g{Zc3WD1L+H&pQVp@rRt|BgGQ_!vC{X z_}>>a{_FF5J;A*dkE!QoqdSG)P~D~jDh}6eIYJVmnuJSEnUttN(49}zMuyi6HIWHZ zFS9!4IzlO3e@}wPocHJ}L=7M-2Bj*KNZvuJl+JX*hikt&M5+FF`Ozs`zwYLL_v(L&{=VIMoF!m>`oKuYd{60j0ocwGozQ9V5=waRU+sRhj?8CIsl3`O zYo{o1x%Q9>VUO=rznZC?05W(c%X@t{b^o*v_BiAa@BEZ|+55q^cIG4U@IQJTNR&UL zFa??Op3;us`!A^n1qrYfAdMWypr0J$kg4B0daP{+I?sgIcsyB4_F} z&a#`znF46k4+M?+HwSUa=2XA9LI1Y>2f&^GK*Njk-LHFzzOugKNG+mimp|RTzfkE; z`@%$UFH4;1>!?H>TyNIYRW{l|&$*(wp-EL!PPx~GSVq4ZFO(^vmZc-zb8ATK3;l5! z_oLBCgZb;cGc(f$+k+lYXD$ZJvp}AwyJKTw{QEyyG(R;pUkEV9f>7md8j~`OMeUT% zzGvEn(dE^+L`D04y>r_mSV*RgQE<>lU;oqaYnlk~ABqS#? zdt@C%Hq$+fc1qJfh2$&E5)@!unGRrcxU(;80KUAvk##?xrIIdT&b=MMulm2Sor_k-GldKjWB|QOY0io4{MNS$4 zwTVl=j%)Q33fcECKLaupVb$IsXR|CKgGWVtEDfNsmHgD#u_8+g27&05LEtbphV2bj5Xf2 ziO_N@98BKsq#KBFQK}j3AYZE?z_fLR2UB8f<6Er>wh39VdH=!>%@(Wj@U}6XSb*ij zn2SpOS)7#DetgOr zxrTR12WyxM^cPzD6g@VUbzAue_cpVf^3lo(XPUIxiwxJf7groLb0>uv zD6n8hVELG1FkUS!>Hs zr_uG@p1fKxuRT9r^@yIY9w>`jf_e@>1d}i~b4RyOwuac3p5WgVMRv_^!dO`OBKn_5 z<+_{cC#(W4U)h@foYKE2FpQaJ`jk7fF3Z#h&gHS5CDcyNiq>Np|6XrVjP-8Vg2Vvq zYYG_MeU>Pbt;qCPQdvHRzrc0oQu{U8>>HHY6h8J{Jn*%11~;S=RHWIJk5^B5<1pwO zrls#9_ezaNrxL`t+JGM(SE|#|(!+HDcMMk0+XJWGr4D^Ux)@RWF5^e@rhm; zZ{1*-d7+(p(#TN%r_}0{W;@v~uL`qRm8i3Z;?;^81BCO&f{YAIG_Qg5-72^R<1nlV z6#0qpW3pdAcr)e9f`1szqFU5sJ5{M3(De^hEAFBXj+g46wZ9mE9~}pU_DH;n7sJQ( z9lYwKtoOdX$%^0rRc`eETJPl+0BPkWI7cSu9_>qRyKK{h4F^b9UKp>(0B`Y+pBmH~ z*|Kp_vdKwS@i~ytO=7UK6joNXm{pYK*A#hsb9|$k#;B3x7{_%8&Y4q80t6RzI=rf* z!`?v+zFAa{nk%PmmBdrZYl!jyLmz z#bAv6Rs@kwilWdPnrWPtF@?{8=J(jtiD-@jsj<3YBiq{H)Hx>U?()Fea0TJMXAD-5 zaM3VFI1XG1P|sc9@6wR=BuWb7JDtb18AHtHdw>xEun9=7&vBj>=zB3?%#IxJT54A58=)?rJch8F% zo?9nEOM3_dA0pV!g*r2q;1&yuB&!#1B}CQ+3T>x$c?Z1D;(Va@BT-oWTDmqpPp1-j zywUSM2$FvU-k>&kW{S+*TFQ~B?HE@RRDD>F>lhAcycxzl1Bz^YrKPG3*O7@7|YgPip@1?cq@t)F$ZFyJ- zhUpQO$D6oDq`>ZE<8R$(8}FbEli74zZ|#W6$QonW?^;f@J|rXTH5v2mu~p(_~dgwMpRR!?HCyV;azAwWUwN?Dv(vrM*d0#d4x}TTrBFFUHydz~X6h+6hjG4SjZ$|Z0y{194Dj|}B-VG^7}EJ9Ej^#dj`*+lJP>G^^~ABEpA zFIxmfjx@6gh;+?d*F%EX&)DNFwVphTW)fINxGK&316i+hSQ9Nn~nReG7wgNy6{`hV~3wbqT4fgPTv zr720bB}I4cbsZ;FFa*=N*O%JXZVL94`d4e&Jd3?Umu0N)U`takFeTo|`JrtVOYQ=X zD`Vh=9pD}}p3<7j<2lq=k=w}T@HcCMjJeu)ug6w*gR1kxgd`gSUR}w z`I&NuL^h5q&2lz=0*NF17G%Z+%aaSGkcRF16laGOYLHGTurfnW`MW-qRUSWEB3aEbj^WR3;|LxNhsZ0pf9u?JJi=Oy> zf|NockDV(*=aB+hg`;+G@FDWM{4b^8z7MIjYkA4+tr!#AX?z%$4R<~{Lbvypzg#FizA*%EVMvTH6qJt#wUFG#u^;WM@ zN&iiCr#7|_Wbh#9?W9rj{7A~-N#ma|FG8Xa1-TOAR~JdaOQpq(P#{E?njiycq9kai zeRbRF^~hh=)8#f%K#+1i0nbWcU?6Gy(%8MH$>jh9nrG4B`z~nrA7w8FBx)1nwHY-1 zGF89LIvY<_0=9iszC%2GR-1@fZ)_9W|Ff~51gE-=$#yuC;9)!B2c^RrKy#PZx6)2O z&o-L(G9D;9;XYKy3x z`Z&_iR99c1+xL!sTFlq=5*Z9zSIvIgS1uN<;%2xb55h zx!xReJMBBiPxNt=r``~K#h5sJaxaGl;Y?YV*vrmb+~b6FON(x|^LH9)jOk8Zv-YgPe=;&_WPvts|l8aIsT-tOBxl!xEx2aB{7v1;Q) z$1BW#=vOot$!{C;7)Th{SV8F0W1GlH0$s|%!7G}`vpy+g$zY*pW_IZxU7qb%)I!y3 zFOUHL#`ZraOc^MqnR@+p^Reeqnh;e&ep19 z)7Z!Ic~i8yW>;$RRnt}_mgKJBMiG}{(#haX39D1g*3T9bO6@RBK8a6kawZXC`?>J_ z@FP3k0;`4aSo@$w@e&5+0eZeY)uFtc?$oWmy50-3z(0MnCh@mABd#N)lxNmv+b~7t zri(Yi5swwYzu$^VdWZxEY5_@`BY6p$g+5zBrp_JM6imk;^$udYe{y!z|)&a2D$FTYN4Ttk0Tt=)7mn;0w-@yG~nenUkk?G^Hc!pb%9IZd=1 zdi{&L^Y9O<8@Qjs6qIiJ02P(}e}2^e>*M{5UnP>7nC@R(;%J6nSjT&6?{1p^`M(rB z{@V|s_E-7#>o)nLm&%=$iuTW6Wf;31YtDc*dW!ukN_o-xOqxgNAF3z6d3#sm#_7PLT&Qvk@j?+$33U!7_#YOg?deTdI zf-+4KDY&=aT*-15?`~?dC{q1)VosF~i}~$A_yV7IkB8=p(Q`2v#)cC{nQn?@UwfDk zRrgp;MI$(z3}tx#Oa0K#_khY$_1E%E#pCWh)L!OM_4o{gx@W~+M*sPGq&Lts@eYu*6_BjkVYMjw~YEr-QRDck;-tNyT z(65PHK-YPhAF0dwQc6o}CHGt&NcQu3fuZd4Qu^!5X`0|uRJ?RwAh6`ST;eyj zsA37WkZ-&-HaoSH0^UTuxFnq@waB`LBJL|u16>CUxmcl2gzeoZ-I{_j%I|Asir4!)O3a5sD3@?Hws>P|WPSy|Uo z+g6Bj5rV}oDVKk4f#9R7r^q13nbHBVcT`VdG#m3z%702wJ7xPE$p*Y<@Ht@;(k58t zao*9&J9}`gXYi2%#Z8Tj9asJKFH zB7Uww58GZa{14*ZJFJOq-2)CPx&;)GCPmm5ItHaT!3Ic>APIyH3etP;L6IU|AtAJY z2r+b|ccN73kkES#y@S&IhP}`E?m726_wIAgKi_(u%p{XZGFi#2dDr{?3J4e-0I#pZ z$ABK72HSVgS=XwMAiKnmpr+I9+<-2S*&NSOTl7cVl13KhM{vgx`0E+ipBiVV2umS% z_;b5SPao{MgJxgZhRQw@WASC#9$#f3Ncm&Xd1nvV_k(?9sYx6J940BdnEx0a0Qa$2 zfx}0yMv1K3wblwBG;8g0T7^|enPOJXjbcnh)#9+Y)ly4FqdSDNPk{-1FlKj2_i84u zvH(HtiAMc#Vs@*3O@L{~(H$gj5LRB};HZaT7`5-Kf;KoC^~eyO z^ms~8J3ad8>lJ@*%rsi$Eea_x#0>nEK6oli*oBeuGeyD-qmL=q))D{-%Wt=j4Z=Os zwk5*C)7qE^Ht4DK8tE`XFZrC^_@~spNXKWxamy50j=JFXGEsZ$kVp5l7LVHRY*hG! z##zQ%7N;i^-ijTcH{sfLS1GbMR+(Pp-8m2epS@}VHf&Ipzn4*qt@Mh8u9EiMc|y`v z((~Th9u)8?iqsq+&jG4|%p4;PBBEPk2`atPm%Jdrg;#q?M0v~jf!$dAWk1HaRhVTO z7MsIP+*#6;a?|o1;u|LwEpLUHXz8ixX=dM5h4gx|6Ya)w8kLZRHMJRukzt~mNhWq? zhA5w=69E}F`TMi8`!%Wy_1IoCVE=Jn{yakRhYmj2264E`OfO^bcHAJWzu5WsUPR-} z-9h&GOOSNSfy}^$zB(;+&08$GVheqNtL7~(!$q=Xw9q2`uCepEYKJLuHJ!qTGJSI) z8~!6yi@cukpR*DSvxvPzIfQ99ELx|+X(x1#%TEuTe1D;~_POup`<2NHcE3QBx|~|g zbV?7*4);|A`=!zs+t$i?Lh~^_pO&Gc#rv6EjEsDuIrF>sgMS3eK6Mi?E@v4{W-Ja` zG4&W59;kFapcf=cLBWjo%4wK{(=CkeX~!v)1>-gpcrs{6iTQ0>= zlhVVObf>Y$@5y^QFN>a~NPT-u7t~0^ErQnDTha4FQ#h}g>_Mwe_9Z_&ML&~#9n#8Z#ensWRCY4qx6!ZYTr zoz<=PU01xS0_865!6)4nX2gGi0s;4r9Xq`^^3^62lQ*scTFqL%vaNfeL@Y2U?3r{) z@iwR1RC08?pauk2TaQgSg7m9i#TdxCd%8#2N%{^~Z+p2%X~Mr3Hzj;iVZoBo4!Z(M zv($7qrqRRIlH~o+IsYq)!SQ`Tw?%G$RH4Va3 zr40YqfZ%jsLL~?YxhYP|6rwjo0gpwyrWg4|%TCP#qM{(CbEj^@pg$b!|Nm4r1BF1o zucEtgwLC&`py_ix%N*&z@H{98k_q=ay^aB9A)pti#GNP1s-g%)RYB=*s(2R*GYg{` z7Jsvx_3hv1Cz;+Z8mBku=M1?je5DKpjJkx{Hl6iza*+Yr!sh`Jp7gVWK_cFmwNQ=x z*vZNEi}SxHX@1(@XLFA!NZu~vUxC~N_I-FoKB;FgDJHroo05-LX%m23w^h_73sehw zd|K~3wrR?oWPazP_>L5RUgFBGE5viA4p!fXwt{JA?OgREUU4yjMW=FcA!8xw=~b0i zt&}^dqXnj-7oKRa8;B{ZBogICOh52t%rJK@9my4hA*6nR8gE%irj4(ib*Hu|=kN1K z3Ud}=KhJznlJL^m{dERb){G<9>Ujfqb*4rtRdH_~dcF_W`*UaC>?r=>xIoU$d{Tk- zBmG(*Qb3~JaS!6@SPkb?NpX^<4TiE(#!iwrR+%v1_$5w9MY?0De;cm=g=%aNa}K7t zAeSEY`I?d3k@(n6J%YyxbGglc_b(9IcHBDK(d)75v@^~5xR$%5?9dL!=MfoGsn--? z`nz1`X481Cl?ljb|B#8`{}3G^=e|WQX}DcI!KbXOtP7b)O|;jMQ+L>IY!0)lcdV+9 zqN#r2_z>^Tj98D?gQ zRJSG`aZC%3->B_%zgm?Yr|4>F3+SARHl^ToCf2r5cO7$ic@`?>!ghXvu$cA}@~)W< zEnA8un{}xke>+0r<`l-ZAR+&LDs3oMaH&Kaj;B80Q|SNJa)jlsa#?kC2_r2U)(+@$ zT8rkH#5LrXkMt z8Cp11E~Snw-{|P7z=QFhOD+?^;vAAtkefaAThzWg+Ye)K(~PL32!{okgF#|7RR(eAI8__TiJmi7;Kmk}cQ z_0ai$UQ|hBxwwB~E~a3S9~_fk!Ez^ieEdU`NAV{9H@{i;H>D>U*h>EWNFAtrVuX%- zPf8>q%#XA9M*GplpV-m^rzKei%)FIt{wz{zFJx~9njU?4Uo1Lo*9ZRUx?e1N_U7fy zR)2lKkR!P`@noLS^9V+j{b!nY;F;S= z;9Ina!lYa5!gxxS?G^}3l^b)bCNB~do<55iODFCI{sK)q(_T2z+C$kJuHENpG!ML_ z8b|yE>T%8X)5F(FK~rmQf@R}e1M7$pYN6{hJBTG$R!EDoOyjO$kY0WS>AjDdN9Tk= z*+7-iSFLlJUnEtxCiLqWFUe<$RG(>>t5o6oO4{CLAFk$NX5GD^DyjbQgr!rp<>($B z9^(!V0~r3`3m&~B4)zLW=E_?kzRhD}H@B}#yzBFJ3?gpyu%r2#JeD@vKKJtnbFpq~ zr1y@b_27uU+tr4*eD1Gwv9lR{MSP4EU<8!Ugqlshi1A7bTtdIhfMxQw(MxqGLy8w6 zSV=`;Cr9@Z^q$b$#-Qo8RTcaG!~J`Wv)=d1x=Hce_rxS&jr$(@cb+Qbb;8?gBuA6c`4(Qti%fK)Vc3TfT%x%}wR}iLdS&n0KDN~6@ zC9V*O33#wFucCh0-1gPQJ=Xl2%KOey{ltpz)tVmc9{QU_)%*A>qiP$=A$_dPlJ(uG zQ5}Zmof}pf3q*~~Cebg0tu7x?w-`4X4F`PH^o0N=kx5S`JjdmGS7LU951#hQ?`(m8 zj8&cFeAx_h&ZZ_6o>*Nwxw$lr=GmYM_DUzv_6Ig4GLJCYw+ za|>#8`ov7gpz|a|G{ZME#VhZmy-2B9>otu{mc+BU{>Kh697@8`iR(SKQhZ zn2|3_=FpB}#QHTL<3|$8*@b(Bf|F*fEHu-O8THtxv}Ml=T$j#fQDc@Cw$wg021a~}aXr|NIZWB#LrP4sfb7e)d`&_wTq6;J(^u9TOE&c7G%U*h- zCHFw5Jlo|vJIvRsuiDUF_Erk-DAa0LBhMCO2lN)F`8Sy!xCOex>5b?)+*xV6Jaiq& zG2ux#vlWDNtS#2pYapDKQHa@~ynbV~vG(;SP1=Rm)3o>N{NNrItv^nZO%Qo{7asO* zZ!5#MafoW`o&<-j3Z@%Q_!e&8>;}aMN$I_;f^fdEidOwBfu*j8j*g9=QIkf`R^576 zn_8z`k@$histal2%MTWhd}(gaKt*|^2ZN<+c&8l7t-zW*W@(3#Rea7ufL!L=%dC3? zBq_V_X>U8OOa~UlJJSvxoQv&tS5X4WycMmIR=s_O$)TU3jlel0X6?45Lp}KhMBOGu zyw$UOQ+F+%K26ae`(u_2T=aCG#S6!zP{U{QoIx<<-8sAQ$oB07xmTW(!`6vuN*!HA zYQf*8JS@k&q|B(Wk}us;M87#HaJ8{s!9nO2xBQiex|h{b5{bw1@B340%41fRq4=Yy zM8n>LoHh+E?i#yM?0G;;=DEaOEFnN>g0#9GrVA>_oqX~*Tv3E#MG zSw-8+p9XFFgG}F%hEu@F7bJ0LvgQ}fxkt!_rjm<_=|XmScU%@1gbOwGvbH7R&dQb6 zB(lY#QRRtJr{5t{7bOn1IjE}Meo*lXl%BJ+o)2gmygz9Zddo1IB+jX+cv3o=G(*~M zxE$k@|EUP?7o;pnaGiY#-9lMEvi<- zaTZ7+TaAsib`9%f%P^*tV4XLfgPhL1IC#&Or-R#;V5tQBiJD%tchAJiJ^(%aWCWR`udo(pUpJVGESn*mn)f-?7=Su>ow-2Rlwht z^zFwD{HjedUrtexwmEe%2{B}3Ek0QzoYfgh#NZw*$+?iKb@wvmN=?TQtD-X(#o9PL z1$K5SW)5r0E1k{7gEj0qGH@Xcrj;tt8Rwj)$g3%0Iz4sWSkI=5UM)?RgfeIE=`X=h zQdvsl`F5s*#e7rzFqfn9PR5%vys8Gu?$DFZ%H>L}fDm3aonw7H`ST`rEU8|7BQ2s| zN|6WLA5VTe<^gM%mr`U>k6;eVrjganS0{zvpknCf)-O;;<)3XqcKHRb`o8azsc25w zb(SU_*n4dA!iFR6XJ_~2W1kay0X|Z2lSx*8je-`#JXLGbNP>Sr`UpnN#genAadP6* z&kNKQQnZvT@a7jHl#$;ii!P}o0`myQ-U?JKRV~=VnrHEX+6OP*!IgvJRDk%lZ=!gw zaCQMR>)P5OzB?0gX$@+`H)s|u@T^rA*~tbTIXUy7xPe4r42((d3z$fBXJ32m*pa)LE zHaEZJJZE@oc$sT-?f2qZ`{3RoFvqoLavw=7XV^>Vp0)SRD6IiK-89~D&8 zOy7pYb#ymWXyEm3*Bjs6;gaRnq`a)J>5>L#Axn#zvg+^h``QG~vA~cuQtSP*O|JY8 zAGd|un)16Ogc5`eR4 z(M0nSp4L{U7-bT5KCgDlP)}LbM|Q0JNSQX*wo)~%7|H$YSRLGAD}sS6pw1 zqp|>R76oyPk)oPd7SzEyL4C(JtU_f*4hTrd{l7qD30tsKwi5HZ-nh6bfG^gb4v0za z6pV=7ayK79`*4&k`D{#$)JZhN1lT6E0(w@>O|f2nk7gO~!CHh9j_$wOYaM*5)zH__ z39j*ZHV^-S{(LYp@JS_g%v%}vlUl(x_95h%o1 zuzx=Y-7l@glHAj7Wm*w*RXsvs9v03pIT9V7WP((7S@SM(+)}m87XNvl^0%|B)hId*(axHO0SsK;mBK zgUogFt_Xk9q7X0v~Sn3Uo$cYW2wnTC3X?lYrQm_wEC=Vlr60UEGZQg+02GGb?h2~{hL`_i5C7v6e?X}o z_K-e;oShLkId9jJkN|y?*0Gke#xb}Ku$_H()Tuq&M+p~-(=xse&l^5J#>$`k^RCuR z{EJ3=@zt2`{&qjyxWTK14`w?bp6H~4mSr7^+ zzq6ntWjND1Dwo>7M<*G?RG6PfuL*vl>7Y7kH$gS`;G{H`fqp3wTUdLJmLeFw_1>*~ zve>FV$Gg$t)wUywHRrV0zM<~amg*z6Q^N;M;W`+f3jvCe?Ae#Il<|v$afkpR%e)N# z$Y@)G#B6eUp%k?Ye+B8Tq$yx#|7-0%!a*2O(d+u?ZXdhH1IVnprGkve z2WK_v%XiD{jkog7{+x)+l8gu-?E%2-kmO_%I5M|CUW`LY4cuO^ow4}xB_))>9DYf) zi|*VgR)QP*^Oo45*V&a%w&X=KFSd7bcgm=F8eeWCmH|>wLkR9_eI_{^iwXa9HmP!% zR)Vdiy;4Foe@d=Q`olIj8iEWz0gu?``41V?wuAQac-Cs^fMYo)%b7 z(k}>r9e{IpZA(Y&=65F=j!ITn4&yPd(YA!RU!d9=nKUjLH^E2#hBe9<+eW}q(CHS@ zHrh<_sd{lz{?gO`)CK+YZ+YIV0D!6#Ha`NLdlR2(G=z?Xb1E#1jn&Sr_X)*A)aMAW zc^&t`mL^zOINs^;9}a5lwq-r0e8og#SoEqfV5StzCpY7J@uWS|ex)@O_|JjPzdrl% zAOG|J%l*GWjqpPM*UhbR_Zd4IUyL={LP;H@0lD zbP*n9n*uD^0Dk|bXayl`hd*0ykMO8>sm`!)aWu1h>=y7s(UdIVZIiC{8dikctHkj` z$-Iv-H7z2xLI};S!V8RVs2oxHuU4HbPd4KndS4}8weA~z*V0njB9bX36g2&#YFH!M zF_*vUlx>2^7KWoVc>0D13vpXDZ6;ZD6hVM!(yWX*7UJErPm?1>M7S=tzbg0lsuqHEd z!0@xai|=oCo&772nCL2FxPIpTf=4i3hcJn?^Cb zKJx(hS^k4ojqVGr8(1T2(xNC1U|b$au78 zKV(vExRp7j1SKM*@F$qD`I+pQXm^`pYz(jB1JLa!@;(vIG7cl4m>nRs0_&4uym@dY z*jWT}y|a9#!4TR1y!tpNwM%}5aylnRU7(7U<`kA#afv&k$l*EY!QZ>+%JKL2he*nq z>G{`}cFy%0J@{w+(7*5Yk83t%@v-m@sy2?Bf97IhsJ{5oTW{FpWJ<|YocLofY$v3h z>lTJ@;W1j(DSq+GhBqY%Q>1{F+2XQwLp84CRM%giPnJC`n{h(}TRsHgo;qSCm%TX0 zY(5fGbRQFpQOq4~#_csvC%W%hH7`oq+MiEYcbiJ?ZEO~a4ap4-FGNE`N3Uxdr1wER zGmg}iN$$StBZPp(8Rt#AjiVw|S(-?w(fyh(FQohmx8tV$#y+xYJ>2NWFujb?`nO~* zqlWCTR@CU$#D(K&`(nrVQX`eqx?fk*5oB*xogDl&kF4w$tnpHQ=z9!X2g81M>mVA7Bgqi$1cvEV*YRJV?>~AidK0#99@qA50~P5& zq_9WqL_}Ner=QOCReGyPJ(^0KmsgB@=f+^T?2#+3v7wGZ6+mK0t6q1%%>RVk^ zV_j7yjDc4p{PU6z_<7}`Iagoew>(+tV*I;O;;c+Z!rc11YSJ?^58J#nS-F>bbToON zGB#~J?*Y21=5u|anMQy!Leh(|^vJ7I`OjbMO&@BG;Hz}(Y-O8OH;&81ihlrPT`?+_ z@Rv##-}$ekXU~W*`f1I{xF}3<9|}%H`FN=BW!sg}C+XVd2j|m?75XaWxDn28mh6&0 zkoJ-Y6yc8f&`2I?I4uJ1;YrNZicSK`W42UI=osknVPxZrFNIr0G_F)`5OutCK^SJ+ zPcAr1+z%<~-tPllE2AATcu&OTmaZi$gp9Vkaq{9HYGua1wC?-1JrJr!uMYb-imLnu z;gn%-D?VY_k34ehYAoH@d%Mwx->%^)kB`N+iZ|28kwqN~W0l@~>%+lZ82R>xe3js> znS97jJKL?&wDysv-XX``apjhg_P1eHTiBY6IMxy$DFY%im_%11OpV>Iqb3Aotu92{I!WBFvU&pkDhTg(S!X|Z91v4$XytVC7 zuS@S2X#r)j)Ea*xx?(DzUL$X6uPwU8XK2Iv^&0)ppIRQ8%}un*YfYS#<%fD%Voh_i zEOz#IJ`)F)IS;5ki>#Jx8V|xM&;p);T}WqpLysf#c^thnp zo6b(feDa}Aiyf<~X=CfO)tE5VscxD3S;d{4Za36~I^AQFuVO6*3=vGC4t@7Dahw9l z*N~cXP5M1ycIsNT>(2eqB&F9uGPq;;weK#_v01i|k^?8trpdK64xk49;ng7j z-3T3NPgiA6bOB?<6y(abZusXpOI}gelmPj6nrigOD-KDIjd#3SM4l1k8eg&WQPCyV zYc;-HB%-pX=Hv=-Vu(B7JYn)%``Gn(WG6YcZu4xs3#;9K)e`rydVM>9LlY?VJ6!j5&CFP0wOlJ8-Mc$R`whuH10*2-j&=3;@FyDs-oPVETcK>oho+Eqo@X}lKNP`|*})UQ_cy>|KD(dU}T1x(c+I9Z6j5-mNZ_a2VlBg_ixH32w{ea?k zkhs^-0*IM-kd880!z?f=cMWk&2opo2i|E3Qa~W*gkOjY=#!FZJT?6}b#RFNw5(#@? zgXTv7!nwU*8g%9X=+8zWBa;BwMN{5dQy8u+&<_8ewg!}4K13f~0Rg~Vh-%>^GxwWA z7EC=blTEa`4PP@|TX+We+`gweD?VLAEJ#g6xbggcdL%$`=Wp-%mn)l{OEevq8l^n` zDQBSq`j17_KemJZ(2ZwF03mdo0J@i{K(_YlQ&L)PpZo`1-?r-x8&thZYudTch6&0C z=YC6D6XOGn=na1khLjFyEj=%u&|~C25Ln!2N*!${20IrgFeet4wWnHPLz9Y5z5=+n zdmxI(;%jSf0Nxa!AHl7@RW(l5Kll2#Kfml5&I%@fD_;n~NvIRcqf8;=Z;jpg>yi{D zQ2BacQ|fWa5G*euf10>R)%ER2>@G_=q3z}0S|h{&vye9CSg%UU7P3OqmeG&;_@Ch^ z$34JIlV8sVfO^7CBz9HfTdKzNwx7IB5kMorH)rPS*qkIwW{ea!C+hLnS(@6d4TL@} zEy^kiP=3lVznc3x`DTfok4)}6Jo_E{AE6u04w39*9AYGfPm~d&Dju$?8YD zd41&llM5}QNfXZ(^$BpzzH5=5swU|La{707d$Tkwo51qSWw?o+YptS_%TBu|l1G>$ zpun_?mjWlpoNQ{(HB=aJq)lD$uX#U-x8F>Vu)Z5NinPxVVNS4)Fi)AT{h72>-Je#Y zU(Xp5P0mF)Ir(JuE^bSb!f$m?(b7jT`=*Wywq5#WPFoF|a^ZO2<>F7ipKmI;MEw>2mo%R#Uf71rFJy3lA&mDq(|2D9#+8y?mHx2}AqK zoQk_h(v6}E#lOoA$z|1i$(llw*#yf)>`0%(cw4 zYM&`J=9Y}wv3+DfCtKaewJEl^&^9vdv>))^Mn#JB*;*ghw zH*MB@TdSHo~)wL<_j?UF2MO6uJ?VJ8_z1Ba!HoOqO($r$ zYFnxtSPzZ#3&|MGE;q5t)T)E$j5r6%5!icqC~v2Y(ZS~SQUv|{qj!zMZqm-6%so{~ zuzC7l#zy8l)h12Ky_7B_IP`p!RdD^BIOQkPZl%@krov0w^U^+u)9sHH5YSnV+k9SU z%+p2AXw<+;7k!@Jl){oqs?I$~Su=jEIjt&$IDE4Uvum@}mEb>)lo5jZ|?Rfv!5Hu_ksaZGe?zMh;>H7?21 zddwE9J}_AA##$;(=YrOcjpT?Dv7bVb=dR)V_4Ar7`!XSg+6jy|_-%DX-c}m54a_=@ z=N-x;uXv5X&7=u1hc`-$31)){C7b1h<63C92)(8MZ>}dWvgo(k}Fe*tn0c z8anOSJiq92n#=loJ0;Qe_4z9c{H~9ssdqG7)czx#b3O#WP-l4{vRz^+c@zfs$?O~t z))PBly}AEB9h2?{GX*FL2FgSEy`h3*=vE&X_)^ge7?P}XIzGm(t%)RD0sVeT%ai{5 z=ls=rXn~a_fi2W&6Hr+CNQngKX75=*{~ylozj&9cJASW$+nb_qaiCctE?48A$R7)4 zhzAsL%^Z*IfkgkOPb)abE}{7I|1Ter!pgVpl$AL^3(AEyhW4(gZUAX@;Ogr1{^!j( zlSyEsipGjY+rl3iFhcW=p*nd@{WCT`Ri~=TC%n_`PcbE&smZ;ok1cOPlx23s$EZC0 z)DMNfCdO(l04Z}b3xqb{eeyd*gPc_)s7%*YS*4o`uaC?T1@!K1s)X5)dO!uPbwtc3vsUj(xZ5aoPvc zgDDmvibSVHLa8P>|!5& zDx^7yOl_9x`PQ7+kx*CJ=^wzC(O6DGpcTZ|DvwQi65wj9Cn2pn;J9G0&Ii*t9|ENk zwuO|Yh~gtf91hb(<-_w}UIuDL011fMvTf&PP9kFESY01d^t6;oD=ebsvbe!Lt~785 z`n(4>lKfEQr!eIXP|q;arcL-4UH+Gw&cN(@uILJ@;35+KBtfxiL<#z;#u(pNeT3}) zW1;o!!Jphpqp_>E1eDSWUaj{r{(eO62{-Bu>4w^7A_G$|D_Djys1gljgO%BlztZ4BckWcUXMCW-=Q8YpbHHxyuBDH`{2)WM&b0F zslH_gRO$qFUSY&il|N%gelJlRtweJJIVuNUccIN=R)(0W3d<@1pZ1y*z3{3^CLv}Q zli#GOggO#|Hv*l1aW;+~;K2S~Jq&4T>Hhc!Ul`!!gD81H^o_s{rzH6Fzy5yb9&&lh zMC&K$Cs3*4#Ru9el*RbOKX?>z9p8V3KjoGPsg-A{C6C#fB$tof)?{C7Df9MXubC!H z3j}SfP0dqgh;k>TW=p{J=3PX`NejVz@{2w*bYj0rhh9?ojzfA5H7E4=qx4DAk^H+T z*+vfRVG3AQY3G%g+AzoDFk4zA-k-=&DBE`T`{uQ!RtB!b$(Iog{LjgSng&Y#zS1S% ztFFs)lno76LpP46>A&L7R+cru4LwqphesOmE=k*~)*p^X&b}jhv;yAVnt^RgJzE<) zi>+2k{NJ1*sx2eQ&H8&!){L$mj!n&%9}7*U~iKt3e+chrwrRt9OeT zWo2(Lw<**?5mnB<1~HO{tME-z+}$H4Q(4ez^5opL+=lUESJdo8H-qEO+`Ia@f`+D? z?EX;n0x9-pGE+1vnmmuqZxe7$p-h4-yt6+^+h`k(sBYByUhX_%a0g?iJ02u1T<5!1 zOB)+xn2B>$f0_9xE!u9t64z6;q+l(Sm#9v*-7)&$guWh@WJ|Iou337y@=}Pe{&dORJxwB4{EJMhx2V~JHaG**-5RpDqe z3qLGZ7t0^<$l1e2k?LYw&$dsFx7It`$>8)VlKH==1#KN#BJ(awK8SbxpxV<$?A0*M*ie)5eWv{PJs_$FH!lKX z!Ws3swTB|;gPWKB-~v$q(i@~7g{RsXYLuXJuYs3Q0o+WB;=~GW^JliL>Lpqh+dkn( zz${5kK$a1Rd^3-j*Bvg%zNr{rG6Dt<-~|)_iyv71JMFCbM_?vr$Jf?mdYYYA2t6g} z2k~ozOm{%%|BW~Juko!7zNS$kH!rnNR8z??x96Fs&uG>NOy(}>3|0W>$D{V5kND9d zgeabXPfyMYBv)NH~qD3s2StPAwVV-&okwM|3wTRs%0C9x@k zaV{ze6?LxMbaCvTO2MBZikX_6iobzE6m^)TEV_Nj>E({|u0tg)h4 zIhbiFa61&|ZoFL*0Dv`L0DbVM5+jHPV}p4C()%=aQ=NSKG`eH5X#t(N^1pQwO9CB> zvmdolC{T3^?NlztSl%Q<^oiuM&0ESUn1WbpsIVj1zZkcsV8VUED{lmQ$-^INoqfV} zOzKH8-+WVE&4VDS*q1*T&?~s3Y{bUydY|@jN3s^{-Sp`tr4JMB+pM9L%NKepZkdwC z)tyv71D?QcD~@Pd#x<^cMpYZg2^8VLP5a}(cJPs^=`^mPomsT{cM0MI@8rjclTG_x z!Y0YCB{53SO0LGM`M8c2>-2C79+d@nv>pj;W>-}|UgHo_vOb}3e{6GC)Tw3K((2Mn zz&5iF&!XVT_i&p}jGI)pL3ljzC27<%TXcHjDVLqKuQz?O!My|i13<#DY})zl3F{tl zBx6;JflVZ4nI<}!%lK}w^EHT=gX@5T9<5;|)nQ_vK!>?hBEvAsFc@0(3ROQ~ehxi~W`t(m1+itcwH- zC+@w%Outwt@g_XJoi#oY44>2Kcm7G?FxN1q%L z!r#zY#_jgGMu99Yu}4qVSDN|F}-MjhR| z(a$4vqw!E*$Fb5|ca$p+=_SjJrBHfFm?q3&8*g1lhVw`t7~d92D><|&*&*v(baHMl zV7%jgZt&gZFL5O zx=TIVaND6rLstWEo;^kOeG|PS74$VFSCqnJ#f9ApI{{Pe{=x`lJMjz2&qv>O+ z8F}Le=U$&ae@Cqx(3N%VZ+rj@$rO^VNc*q;y`!Fg^{on|qB4x)! z+5?L3r=RwpOdaD-F;*XpPs_YFLSsQJzNd8GzieC!zd)eV#aZ*W!hk9Q;MdrBs;K(} z*EX1DTUGR^=xO4a6sOLCLQ_jX=_J$O(h@c5N81J%5Y%mCjuNX3xjmo`sG4wPXR~dn zXUkj#uw?H?kU3J~Ie;-W5acr)evs%*@NI2A3^T&L=DrVnQieZwqQS)r@`^wJ9A}i6 z>h%8fYVj{-o)+dteaQ1cuE$!FTE{`JDFA$a4!wI(K{No;f9$e0yw4I-E0W4rve1C* z81yF$#cyc;)72v8SV@{{pQbv&5^wd^@XzJ@&PHF`=^P|h{Ep`>fzqb?)i}MF9r;|#Gm*7m$1=y_y}F&8GUTz*Tra5@ zB;v+up!*A?d@W3AzdrL|Vklsv1!eFID&lHRxmr6r4KvbgV>I*hi&6^Zww{XlMi$br zrTKC#qO+IrRxq*L#*Re`|0ex&^@^*Ndr^SN#zU3#ET}+Mc=U3|$KIj5qG45m?4oxQ zj0u)G=Ovh?sJRe%9E{w=m3*G=s$`g#bv|e3RF|=66wSyDyg2nk@=&J;4{?z4ZCe4$ ziMgN|SOb+lLq?=DsvjY$R-#ut)6M$KDcd%6R~gl#8ZSa7#!T0_MAxmoBi;EHX0Q8A zicM)&46jR$+Pc@v30+TKqN&T15pPm)a9-f+&y<2XX-q|EOeV(cnJ}PNa{R@70a|(HG_~J~Y@Gnr&%+#&e znT`EY`oLn(9g#KY! z7_C2$LGT!;=X_r=JXSu_ypH?@>ShiE@+XqAO&&e~D};`?uZ1CMTA7eD`qU3{I)X* zyS;y6J$+y@Ej9Hm_2}u={R^pOGA_>5VK;h)J7fK#S_^INv*av3N(>&u^M~v^I-&-I zRdG^!{mVnuS{v9xb{mJ?bump4W5i&c6s{(tr#*wM&w1FH*i`QXk8#?F4#q@BnNNF=*5V+O$bQ|hr^dT-sX=FQrMig~wzOcZblkqP zAuXL@Hcs)PgajnLl6UMNCfxoU^iuisgkT%8toiv`Kv8(x#o+pCZk2M6YVHfPtPFjU z``Q+USIEjzZuYr(W5@V9p|di+b;(5oBNb`}OP9>cWfG(6wE9^G;K$>V2|IUPu(&64<%sX}xb8Cyk*wzX!H=4wI%A_D+Ao$h2pcwXM-R?EdC7y}^om;KVs8#FDA^%Z%id z0hzFD3F=GHa~dKZj}vMy2a4nLt}O0^WnSCb=F^)h#vPXPZer{0C73)@f`793$jy`* zd4B;I8t*kbUnZDVv>p~U5UPw98x>T0py?*y7=JrqyG^huD!lhtw#|Ryd>;KCXk1Wn zV`DS3?82qUb|rnaYltd$Pi zLmJ489$yQXOo%X4%htL#>$1-^=iI8LECFcX(5_O0JeMu)L)yq^$tR2s*UtRF{3JZI z^z+`4c=Y-#h%s{zzNW?K$PeG<>hMNB97cgLsS@NLZ9AuzowRos0o>}9(^=O)H%jAG zW}y!pHb@&l!lTU|e)FJp1^F6*8bv4U2r9k)=bb?yUA!?a%T3&a|Fp&kJfzJHm@uJ# zw3TG`8uS1J0y4DBubU4aeWkZM1z~9&-rF|ri4LtcderHTD1cc)qH8|e5DGq&$jw5; zm!5E4%l^SXS1BaEK9JkWmafTH`qAHx6e_-{lwIOd~*5fN=K$0TJGRC6pB) zM)e18)9?>`;SWF{_R+8ZdpDr8O2t7G>>u{8QVgT@K4Y7+A^H-If8(IY*M2^ zK|s12fn(5dq$aR|#28}?q?<`gcXy2LZr^Kq&V4_5-}mQzpXc*lAK1pmb?w@J+dqEa zf^2C_$0pcJsL8qThbb_=zz(+v-DNZEYV6Uh%%;`Iz|Z4Cj7e2oY#B8rg+<zA}ayLC+_IbYA)bg36$8Hu>B{vF`$N?WT zte#uuApdDS0ud>BE>uoi@RgsqQDUcBL6=j^%rA7>BGS?paMn;7UB$gS&kf>k#sR{3t1V)frm+?1Cb=I#DYXC>Jc64-PqO05MNYgsFZMk~LSVoVi`XgH*|G!%Q+iC(_BI-?QH{4nUXU*7iWZ3e+5IRBPcl0ll{kO>!KvY6lNVyR=l@ z74_o+SOW}NacxnyBXd11maHQRpD;8o;fY5E^_5Jm4EoV_@lkS%L##%*TLMhX1a~pk zJ(vI3b6(brl(an!R#h^*8=1CZl83d}0x~jYb3QKh&f)aOz7ovNAgP4!+kdlIB0K_o z;p5Ol!&8|*%i0&xv@K5oGoIEMz+&yQKVhw=-*!xK$%}9l5Qw~)?~}A~UoLoR;sar} z4XhV{4-f>%bFcb-@%BR1$a84i`j$GdhF(%BX_J1Y&RQar`CFh@sM zd>tE<{SvQ|_*JR+Spp(BBtK8fT5#B9J;$Z#M0l4R@VEN?auaUK#e~p(k{(0?b{dbI zDUm0IIzirQY!L6ib)kSAUp#>2SgRI!3plPw5pe*$GBt-&J>FTWNry&5pAkbeAApAxc}j zUnD)>*_BB;RAc84nxFrtjZ8d~b06d=no8hQ*K5McwNHb2$ETeis$KDpd-3H-Vhx+&s!t<9?H`b% zp{D7@E6Qtb4A>hPcP)ehVtrhdcekj^E5nuD@gZ>J_o!!!9hde6B2+)rE*tVRUZWZI z-Nt8$(t0rppwigq4p&)-9niF`RJ35_!nsq7YKyv0zSHvYiMPC6M*q5kr4}WmBAmYe0BA7#xE@#AF{cJW**`h~cQgNbDV@&Kna4Yk+}F6p79` z3)(oJ@G_Sb2^Yo4-U-#j#`PO+(bp;xOuX`QXmvg>C3x;L=zhp-8rOOibJ}!e!k}33 z0Mnd_oM%qPM*ICP((i?<8Qwo5dK`vjgvjY}fcJer80ebE#f(A?uX9mdS>c-xEqa~Y zX2y+{we{j>MzOg{_{t+yA-%{T4^KamG6R`W`zJh;_(Pxb4``*s%(1;?r&3&{iQc6G4NXt%uBs$SR*)a~`0YwtD^eU-4d7rJtnt1Gs7^bB7^cbM9<5^aG z+f<5Li)xG?^Qkw!Zu^j(t-8i_rre^;+luBHAA9{;AK=OO6FvJ6-=m8K?-NRdLP4Nh z*dF)IIKaX8B?v@-5qc`VT6HwGTD<#@b^i-wAIw)ju>iu8;i^!AOC^VlGuLB+_T&Or z1yzEri$LJUCyW*6>eA!IpB`?1JtLq7`+CXk7$meMX50t-_x}wl@$y25KgCJK`ELN; z`rBUz{_n2=-W~|}z1n%z41K_7@2J8ChT+`2o$)2FSKR~Efzwsi0? z-GEU9+x-Yo0VcN>nV2pQcD*xQp6pt#2i-CS>>i95`jl?(r>Z0o1MZzg;0C4Y;Fz+C z>wqUVpdN69XLe&S)F;vbA;*$Mn1ssZ#{IcY@t82xO_O%+=LqhpvT#)xWRDt!Jt^_dV~uZ6>Wwilu$R_6x<9;J`(p~uuZ2~?FOak>&OAW7(3kvC3(^(psG4~9T8_Z)9-t4Qx)wMVq&=T9d zICRUoNab%PqOUizC)zt}OtiQSRcW-@S{bE~+)z_>YHFw41dl*oL~2XpvTf2J{o9!F z%x;&>doLViifA8-JIhR#ZI09lE=0Eet=pP<~XL(&;poWb9UN9;Fl9a!cpCkWsAY z044~EWEY;v<#JXqn%?|0YwzpsS1%FjOYHvMlWRp)qQDD7q-gJaqm{d^r|H$E6E+kX zRHuzqfHSc4z&SK_IE|bfViJAE`J`5~KJC&p@?>)OFiw`7l4vONwSBN;3wf?NeciD}l8~ zG`^HMuL5G&NK7cKqSAb}Os!0`Qdg0ZP|NJ3(KWqmVO1rYo4w-t5n*-?MX~pKAL($XsSUX9+)L()c<8cO z`dr~b3j}y4?!YZLl#X0En&P)pOnl2H2naL($JmXd+fIZyhHo4+PGeRrNC0Y3m?cpGxxjj!D3H>Tsoad?$bXD;BEXQ=sLUS<}ma3#(dm zfluyXv|_pG^`m@8u)3v~>k{LqI>t8#K^!))j|%18x|C*|H0R5vkG#m4=T_ReeSUyO z>|olAWp#HDImf9B*y^eW`?8`=nBwYtVjH)0#!%}+*ulZlN?%ePZPSj7fNm^g>TY4*iex&|wq0F=qnsShEr$kV)h5X|)FW$T;i&j-s zjU%El@_NFhkC3a_gVz1gSHe5WSe{IgjDn9h7PQSho=b8J*5N-}5Sj2FdM>ATqPMCAu?1W2ED}((fDO{lvX($Q=f5_g)jXBeQZo`=Y>OsZqQJoi+vd zRt!?I(E+2U0iTRl4pD6`q8V8jIIjHagFRJue||*2?_PR+LaK3dRX-7TPuXgW6*ew8 zNR`QtWz2X?!h@Bg-Qw41=bT0Blc}dK_b!C9uqbzjrDr)iHBBa6_VHQq<#oBbVau?& zp?ECUS0PX?ij_KZ*L~_>E!vt0cZeOcL=vf1NkAE(_ z;$iQ8rYgR7C<-+moX2Xc`r*fu4`s$_;Sse_fG+1#2@-DB}pyMNZf{(jj1 z8&rxwXaw2qSldUg#IIww`8pua*6!G@G^2VKyVX^D;!Rhs%@Y5In3vK2XI7W}| zHKhDy5AY}HF>&$FBo<(*M98ZI{|4f}@$K6Ei?`?9aD`Z9pSTro*rTDZAb;SL>7@Sc zw4hQeHasarI{51aVCfXP%=f1;_B8o zEhwp!aiIBRt{%bW>E6jxYf>413Ly%xMifmvPGSXwDAatPcGr1@)x)GVvJ`)}yG9I` zSTEjvv;Lrj$}0bKP;YHd@~MljYZw};-V*C-m5)+YX>qn1fT!Xa+UZ!A?IEAfS;nMZ z`S2XhOwWdNT-xCl?#AmQN~u-L$Jqk2(>@K>^&yC+F*6SR_R9P&mNR8pJ~9;S;AJqt zjGee8U2rb74~v{&5GG;yX6p1dW5frnfh_V>jfmqqc7D|O`Y5zP{oT8wrM|i&M+c|* zd3B@AH869j*7R&>6%JM8qp~Kfm0fstuQ5r6G|s#$I-FZewBVZYtKGB)BGA zQSjD(IxTR5vQTq>CGc%hZ@C0B#<;T{AAd`q_;#)?k_wupl8`;3B-Y+s;RTB=wsabr znY_g-Bq}{s^3C~8$tZNaLsjm6Z-sV1gSpGANF=v{fLK)Qb0cE--CRkzM&&{=9*+`F zU9Kd7eTT#66SnkU4j}b>!IBx(y4i=({XKnZt&epqH83ArC0A9w_+wt@Qt4&zX7~Bc zPb(dWo03g+PP+z8(pJiwin4e2yQ=!&=X>jCIG{;4O~+#JArV)#814ue^du&v!jYa5 z6$KfTckX2+f{ou7g_rquyGoidr%|bV55v-lc4k@6b?Qx(vP@q^FjlC1#8x>jIQzPV z)hM;77USKO*T#>>_Ft#a#vHM5?NvkxI>BwQc9BiMuyNvg10n`^?xMI%g}C9T;H;l!Gq0QqbS!>=dPaZWoOykJ?-nr zHpGTUui;x#vaU*6(?V@V@s04~iaZS(MZG1Ps}P7%EBlLxOY2=IDviz^y3F(`d}}j< zwn%@{zRQUFJAC4<9G59~pMHE=dNH zh-ZgfVEZc$jhfjM8U>0n%_u}nvJxBPmzn0*RaM&4M0Jvf@|$hLZzJoc7E~U$?wT_) zA~Y~P){mN$byn5iu47C%6*{|_E9m)XJCF-Y0|Wfw)M_7Ir(&s*)D14@^3hSY{eE|2 zvw5M=Lsit`cUv43S~$(6Cy(aUKPVHSk;?v!Ez0=eS5>3MVBulm!n=s0^yE2>*5kM< z;8@n!qG!Tm%Y(li%9 z+AG|=Tcqu$vC=k&E)tc?#s!`4wsaBgivJ{VK*R`%)+uYOm5JpLEQ#f$+x~yHb z@7pWZ&3H<0Nxnp=a}vF1H`0(-sjTsFVHVq|t;+B{FUKdPNz4qy22eY2%UTX^aZpHu zS)x|rOLSin7Zk5^LxIe+K&K~s>`g0~A|tJGi+Y;8QaawWOcXnn_K{b#P?+5IFl(4Q zSqJawE3gsoD(S;UJfu99!;hftLlPIlQ;%M!F(aug4H>*k^xePg`#mv}Ff1yUxLQ?qcP`ewO^)2_nCYn^*Z0Uc9c zD=ZXm28SyTH@=e0* zgSK_hKAg<#Y0?joz|PSc**pbR=D#Q}h8po^Aa#e(D{rfSYJM>5@AS z2Wv>}z0IOkshbrrS-@CFH={o~4_G~eKi9jfH?_n6EMqWVJnNxuwuh~R7B^QU_YH%3Pggth%Lk}7HUUa2n z-A&m)Hvm@kaAmsEGpE=6ypX=X zTHf?55>1#mTqKIb7|Uf6W)C2-&_;vt;D?X#>q-s)jt1a{oT|I#zJQA2D6*H-Ng@bn z1>-E^N1#ie0TCcMmANXo(XUW2y8Jmt2vGX@0}m6n3vb*B6%vcoFCu0R`YG&wo}la1 zsT(hUg^B?F6WRY(75QtQKQCz#DB>h#`JF;wWisH&Eh*iGTU(B7g|7Ux2I3CRpY7Uq zI0nz-;^_48M}qvBHFB*^agQf3i7`P z-)iXb>x~~Euk?sfJ52N8+sO$55dlZerKX)F1CT3UNI8NnyQXf)V+vh=OUu%jJXvbB?5+6j0d3g0LcdB*CoD~D!TTW_RFGZS)r?vrJeQ+2mbXeAhsH`8 z-9esKYKckjCrDlk;icX;4QmhSD7Bj*1VECe51K_dSF{E?K za~7go(_`1noq1#mFjE_{xiE&iT;o8R`O%k!Ns4N}wFXta@u4*o^BHHaA6IMNM|G}o zql8oD2v*qe=%x=0MJx(<9pJ<-VXCheLL0W}!WP$cr;65)Bs39ovOgTpV& z%wEN1@CZ0(BYyfpJB}XvIME=PD0O*675Ve&gMBwi26!2a*yH1_eqgd+Z>Y-Zs)tm& z{+UJ|y#!##EBOO-4hL^ZxUHpdl%X-WXayZu0Px_;(Uy~^-O1k7rS;1B2<>%qH5_ki8Nv0>h=w2^#lh&XZko%mcnSmmXh_x|5 zcg876DD%9%x^>twZY_GsX>|&OmGUgZP)3cVZwA8j6Y-JO`yA?b$LKUSxFnkQB^CXO z$t@4lhO-x5xz~ZA?YlXC$_U9xo|FU=2Yd4CTH!iP9d(*0CR8J=}7hnfVa0p*P(bNfPta^pq#_i87-n~&TVTpF(I}%_v0s>K#x$< zWIWX|ULvHHK9hF79p!3D(g)`m2R`33qS&{9>+*Fkm3<$cncgET;e%VRc_NW?dk+Q1 zf~oWJV>!DpV2DG(Kp&9f`U50=+QZ*wv+L&57lZHYKEJHy7KYpws^88iA8Ab$Kp5#d zZJ(oV;8dHPaF-TCFN#~y|rXT`lr&%eL3F!*?34o$u-SNkFlyn*4XO98*z0waGr!52+G`hm#Ugd2NvmQcP zWv{9M+z!A*O>r|c5V-U zg3tiqYpVC1BuY_&D1SZlPcQ!$5tY7ANNdK1ax@?!xL*lyUxI}j2&fCd zKcX_3u;|JZaRdECuK$bnTyg+i&81?Dx8!gtVsp`?;|;LShF6?Ef2`|rX4`H-IEgxZaL} z`-kJS1^ZBuP-xk7WawGwlzTw9R&;OQ$cpjY&|B}Y20Vsx8=gxZmZmJoJ;`ki{jjXu zITOZ2q|4DzT|8?aT18%CR5vSPt%i?v_F140ONm-kWqO~W)2@;E*lGJK4V2#14rw(I z8l@^r?8>rP`}~M*#<4B{IUN{`yHzexklfWr7mq2~VaybPsJ}up7ual&e}3I>Rm-z? zQbfuxY9J}j{-Ul|`SG$#Ttc$36Birp=~#d|!;#C@^*? zm5xi>eGeGf3*n$?G#XH9wE-}H%IHE}c*asgGdYJ+WAo5>&`q{w+za!^O{N|#XQ4;Q za_j(3!{B!)qn@|=W<;rYRU5&lf~)UHcB;qQqyp~@kZn3uGXFw&5OwmQLer^)@%&*$ za9z^2?cnu$T$=}SE+R1J&G-O```?}ERa7`y^G|VCNCq2CwkXJbs^}=hm(-Y zTKhc1{qq}Q#`O1W)*!UIrSMKcFrUrWLr(J6{CjDMOJPZ@^!7U3d)Rx&zP~?%(wP z>n;!hawITBBvMK0Mnb3pi|8U#Io&t`c3tZ6!!S>z`%qsHhKn-N@7o%01M3Ks^Lef> z(#v4hJN37#H;LO_%1qdn&bK#yzt$D?$6J*|{}uCDH_GMY?;x{s&;=#{d*pBvwMbKma zf81yUoBEap^(7sEM$dfg`sVjfu^>SdWDuRdI@d;-P=IR-YK48Bv|w&|>&1^oE!G(6 zD)#2KHM^PQJytpfs9)q2)^mCsMJr=SkE7v+xQMNXZIaMU$!D*n=?mQxZ2{Y_rfUVe zOy$E+MHM2%EJv+wgrm49x<#WtbCO84h4|42gXt}$?|4QU)ty-t$I`~BPz`&LK%Tb` zGM%Ir>P=jd66)+SbQAmfbUsR!r`2*6no_?q77|xUN-Jq_UFP^_b30L?Xrd*rggO!g7{NTqj1R7D zP_N86zdMdy?i5K-&z!Xn#2rEmH`7Xdp4%D?@z6K0km8nTGDPLFUal~u0_MvVS6b9Fo zrF2|DMy!TZ6X8V+dk7m!QU$NG2phj&3+XHkoVlc{_I{z%MXqUCTn`jcW9_2p&B$sqE`6gS9pm$3|l0tTb|-+qZ8Wn~tt!yrEHSWZytC zSS(w~C&(v&u0Hz5-?YCTG^y&<6ybia$wRJ&Zyb7N1AGro#Ki2qmBd>0XOf1CY*NXZ}yF|K}WHe@%el3#s2OeglEB0rOU~ zps4b^I6ER$83lFiiZWl#=#X{uBUoBq%yaI!9^a1$C62M&V)^Kb+gcSB(bO3^-(h^4 zfH+IxE!Ce=+6#lXK{xzCkZuB#`ADokoLFuw6vk5kFjxqrMzlybV9>0WT;qEHP&X)F zC{5s>=coR51sE)WAHa!Yo|R$FAe|8To2Wz~d6z(X`dK(5*js>*pi7CL^^%>C=mTLd zR=`_BD+8v!G+6*xTmno#Dh@qK#Y+Y9DV3Oks?&>JI?dotwCh2~6QUjhT50{n$>q}pUjU;>y zBy?Yo&^@#A63Xgr$ZXMo$E49@4j5_DGoxs9`@^$c$HLafrL)$c^J|TVYmJZ!eR<4R z@zCcML)0_dKC`@-PB}USRirw+qG34Ey1i)>fo)Do8$)$XSQA{1He1&xfu`>BSMvH+Ve(l_`GiOR927qCS$AZ1yuTWd_M^qZZO0 z6ShsnG`WF|)sqbD`!L>q&Ej5_d7A2&0CCrcoAFpZQqn;9Jr;(1ta^;sxa+RDDO%U? zW`U2a4TMb0=oNfbVS5Q{>fhqndF}H|VTZj6opJ!vCrAr?NeRiT%Vr<_e7oASw4o2R zZhRTccp?F3FqdRLe7TqnE~*h1M>#S{S)e6{w!tx5dGBj`tOq1NKYKOPy9*Pya2zN= z(?~E;qNM*a!0HlAXM-Mo#LXA?xokt>e5nex%jU{1Lm*-IyvH^%qu< zl+=%-+Pe<`L*|Ny8Njzg{hhvjf9y|pWU$@Kf6|Nm{oxz!GwX!8CcT)`pOejWW7$CG zr>krB8shZrJb>TY7=i!##Bg%%X|B7|%W{KhDKZ)7`|&67SB(`u5|oN8g54AnR6b;+ zPJC`>y3f2nxe??erB4#H-T3T76Y#Ir<(r#o5P$C?2VC}ho>WOk$8E_~>AKw-Ci#!XzK(^0UpCUlt{Y8KefYHxr&47DDMJo(ljRgiy zl^m_>I zOICki&z;bWwGm>uUZJ>;EsnAndd4oot95r$*QIE9TcUR7`63@#E@g+nVgC4A#@J;; zrdaJ-+l<7z1#0%0M|+QA*z{uUvXGt)9Ju+H+(Yz_){H|VByCd&#s6%jvdq7RoswLVA!M@%5t~}9KX7*L$ z7GvQ#na^Vn$Mp&Hd6C`x!g3WKa?hBRr|%r*!6~=^g=3_P5*yBH?_?jh?9a1HskR=xDnubXlh+J@I>OsJy|ZRl$K>cQSuwGg_K-(u$oHL^nU zeH3Hp-%{;9jwYEgo$fA|)SmbBWh4pcFNj$kCxCsDqW{7g23m-CUc zdlb@p*hk7Q;s(1d!^$=o>WyK`Ws1fG#sz5|?vxmGW`RZBz|i{UG3C>%+UB9EjMS5xD|e zUM;wksNK$g${-g%dzXPtv~kAtM48&M*7(XB5ervu35m3F52r1fsisg{+u+e^hLRk; zXpx$iW}ywQESKO-q_mo*EL3b7WC0(jbOE=E>S9BhMO=X+$BYl9TLe;4RhwhRRVt4< z052YFWzfwbe2n|Za>!yAw9cXh)($K>!SAeU&rP>98g5q@YG!4Y$#y_1nHVAr*9NarLMi$ z4Xm{gTIRF%Bdy)7a~5-_iO-k0uZNuT#j}x+W*z->Z8ONn{RVn@!7o^Go^MO^)E}sV z{;XyHtC@j-CMEW+L~Pg)FqppaR?{V1zDNrCrTW7unC(87`d$_zt_2m^a67vNsErBs ztgjoP&^%rJw#AJdX1uw7Zu~B{_KBS1V0SrS%oPMo#0kbcPpcTG40q)voVe}~mMZ{^ z`>e71>FT<{={zA|k0$4#|E13$(49o1FxJ5|?lSZ6KVHb*Myw4{1s1BVGBFt8&3oUH zC=>Yja`r#V=YacNOSIyM%^48j_xI_;KfLw7Q!64oB}IZSGNi*0NDx%td`nDD_D#?QF%am>g~BQwvEL(C+e4HG-PpJ+-f`6Sg7FJ$ zoCri~VnxiVIZ;$W-etfwEGR8H`jFm@${makzkaxrN~fE=-T)T$!9Hzj4V>@!68F~R4_83z(Py)T;4wSuQ;u~{ZQsXnI! zwGY0GJjKUpxu43tJ6jX?1?+h-`xS6f?RxFT^AC8&69yZ3#fcX)$q+!Z{%th~5V1@` z-$PcnOqjOSXVSpA=d1#LNZW}$4yYd~zp?gMJMQ+`%}yO-{U5HY8^8d!@{ zh5(#B%MaM4K*}F(Lw|r4Dy{&o|H5|AWq@#4DIp5r*zCJavbP%+j-&o#ethX)y2 zr)k~Yg3u|g@Vyox%~on>JL$J8tK{N0uu5utvUPjreZVk>eh|-13p{fL zk_^_JZ4l|-$a3;5MAAqYVlW1quJxTa9S^pyrA!|#6V7poE94d})w3kp8X_3J)QyplRXgvNFItl15hGNWg2=7v(XD^8uH7b%VhUxHel@{*FGUFmOd>a+m? zowumHTsgf;HNq0q7IEZT8Z*{`?8>*ik5Z{Hp>et2a?fcMk6RrEIXIJ7E~Tsw{s8q4 z@tty1WY10{dAjw*ma}!Aw)MievpRC0Vnw%;?jFWZ=aV^O>Uo30{BTl+?@G?kWb#T* z3W_8$^P)%EyL-J5FIlL~?|c`ilonX;iL&EFMT z7|6Exn1%K1HV}yj^zQezk0L(&Lps!d=z%V7?x%j7UQ?J|1fW=)!Y=@Vu}WbJ@Jl@c z#O#cz(vh1IXN-v5tX49<30!@2gfT$50Yq6MBy4FWtgF}^=3p)i-5+uz!Gw{g-q(4T zy7dspWNJIq266%sMe-c~4uq?r??vnbCzrU8+O6spFgKnylq*?nnq(~CeiMz21&HnL4B#MprFZuw5nx_&rFZ$a%lajc z{*Jo;SM5cC(ug|abIJ&WEb^uwdFHkZV)jb4!P(_-Hr^| zbHLCq342GMIKaG*V!>G7?TK`hIx^Pyca*FBj0ks5;QK9(I-^F%(0s9`TX2QNH&&|j znXwd!bJ0!Ob=->4dK63Ny`<`hXWM-!u<;F8A)YwdyrhOxeS3M6=Y7ohnd`itr>~!{ zMEt4xj;ANm?{}ktw+#}|uoOL%j8HX~ZtM0cL|oKK#ys)c(cTY`8l3dJn!q*kv_GLW zzH~C|AoBYX&@m)u19Xlgcg94%BV3<&!J4YC88Bj)222j8ZvIyF1Jq}K?Z~?Q2{4E} zI7?u>OvEL9^{f5XV8VM~Cjl(mS=6nesBfcR6 z*=^br2prDdltZ(D4Q{>iOj}Z2X_xEWIXOBKeK$KBc6L0w1NE>zba+kYj@oIj0)pdu z9ZI;IQTh}rLy4cX;GDx@u+KeD&@>aflsi%W9EN~+D|rqls9ID|a?@|9@9?3_ z574V@wsV~8MPRzL?YC;>Lng5)@a_j_a2;qPh(vUf-&nA*z$w|ef=cXhd#USLLgZy4 zLzUm*Isa|_7_55*SFzQ?zm5BCPL>|6Vg zIV>6fzRJh<17u(RdoCVe@}W0)iB1I%SvFVC3*_Ech14xZuEcze>f;RXj%+;Jny$pl z{QyY~Vw#&5`j>9$@9g1JylXkLWh_*;TU2I}bNTRNRZmBtsCK%E!4l(mZ7wFa1bFU@ zs&Q2a$f3mDY!&eI24Kok0H^vx5_F>l@UH&t4WhrLV{p+d;dVbF2o2uC>9A+*BE;=4a(H7{>>F-cIeq zd4vz<&b?AO2pab~SA?Wp8^E@L97|qaAnk?*b8BTqg3`0}|Te zI3YtI;(z6&fBw&Zw+OlDu6@;*&}IJ9jmS&p8{v0&strh>09;m_lS2QhLy|Q!e!5RM z0!5I1mfwBQchKcCn&@kNz>4Aa!9%vx-u+LIGJ*YkjsubN+D45?!Njt3Af(H-rSq!) z#cj}q`@pV%>$f@hiM)un1TDoc3PHo@$^dVE}fqSUDp1p#a^!lI8Y*by!G( zBGe+w|5*5U70~4wI8fpPj&M!npW|W|C&^)LAW+=K&N(3iQ_{aH`?O+2N;);!X$N7W zbBX_P(;r%FhYtR6vLiAyThl{sOBE6bUc))9vwb=8s3zzTH2&?$h~SFxnKR0tU#s zGSh2ZX1kH~}A^I*rL#t7HCt4}h72hH}6 zlZqw`+uJRoZH)r4!P^ddTWY9I<3~-J#uVH*BFKJG7GLnG;7o5q)NW(^G)lokX>+TL z;bCHHVAAf!x-+rP+S?q*TS=7Frbbm(q8?^tPL5GEFFC|&A0a6`6{w>9ZoC>WgGtBs zxeL?X*!)aPtuufy<_)`#fsCz2&HHID{{Y>Yutix#rb3;czA_6#$4pz#3sT&8`W4Xm z6T82N4w(->86G!YeEx7&tvliHbva+Wm|Fx4l&)!94m}NOVvxl%i7AdW10>akV+uZ^ z`#t1)cqm&uPCe!%j)@Cco&r+$wyul$t$$p4q<#1UG}J|@rJ-$AtFEd`_WIoy8D8Fr zWHdkioZL>_F6J!$uW;04zEh`jbMG~iZ$NCVQr^pd#kddz`YCVYqRV;ri+^pls|Ua9 zHB`QL8Uk>$L-~xquSC8FdI;cn3X2utPsl@dQ4XPDp1OOcz z8`|HYmE zM@PA66uC+G1)?wiJ+S$=o$T&|sJcKjSG8-Y1oCVpYpZqS7l8P0DA`#sgNlECi5*TXXkD`;GQ0uDdORZujH$ z*6YcnUIXg*V*j?wTNf-LxeA(zpT2|c5HRF_zX3@J4Lbe=(_R*KAe5MiNM$7Sh~5r= zOyw}x9iNgC4_(vA73un7TjKT{;NdTLqkrQ%OL=AffzZWo%QPKd9&wj1n{1|tP$wn? z+)%u5Mb2f8E^rw&jAu<4!8`Yz&-a2*Vmm%}a1coRw9hj~vVwc8HpQOxie$9waq#YP zD+Fg*hpRRTw9sJ-qlX~&D@Y^i0Bc#*5-IRy!%VZ+MIfT8tchkB$2yH6T8niQ@-FDR zGb1I6OI?u);JNniC}VWA+MODGOd$wAha`o z5fIyc3l75*WBc=uiz&p|(MsboDy|PYVR>{~6+WFa2dlG|N&KQI{io`75C)0(8%^pa zv^99gS~U!Wr6yxs@)j-Fvi1X=tpcZr-TL|(z@FhcVI6%8GuiySu{S^Fwa0FXp0VbP zH)o6{YZYRnEF0A>(8hTmC+p8b3pcJ#=o{Qt(2vwcg0mdeRdc;_+o#t_6LmU$pVOzy&E2E&S zX7o{-dBpMbvZjWiP2zHJQ|0Ffuo4HGcjMM^GzF(EibP~F$HT6Aay((wwzsR|LC#(k zH)ZBnwt~#flx=s}^el6YnpZ|#chlG#8aWXZ9b+Sg>e@CtilnSYPnmp^4u&fFZOxC_ z7-2_ol!x%@m$Tj#FU{Y;jf=Ifn8N$lLFi#1_BEiMIw((6!Z(1Ns z^u@ZJK;9QN*s01<5P(JcT?XBHN!TBn-bXc~la3f~+$9m$cV`DyphQW;z3Z$M zK`yrB!ckv;fHJ@QOo4blsi6e0Z9aLlCVqwGv6=^%{p##4vSlavUmO6Ack352%>zXB z)@8y_#>rDQ@4m#Rm*>pUOc9>%*LF4c)F1GxyVw)yqM3Y$;^2&1r*pB&`{8CH9l(L> z6USB*su$YwS|5L+_33fMp}KOY_Jty~{NiN|^zMJo)&NqK^6_*PrGU9%YkG#Qpr!_D zrO%Ub_Uz`sHxfX(bpIK^Cy9>y9;+&&tG~?^27?A)VNR{e$IYoq&yNWSvpzmcb5}L= zy2rAg$m!&9&)!K5yvxrHbR~=Lc_nJYqZ}2lpJkNu`d&*M1xtTQ`$PB#=>OFA9$-yn z?cR6Lv7jQOh={aNdRJ=b3IZlHA@mmMz4vZGP^tnULI?;UgwP_=yHcfh5D2}OAiaa{ z#+m0l^PFeibLPC?clLFKY?2kScEa9kt^2NTl?Y=lNtqe zM$%bm1Cj4;D;>04w|E5bbVV0&dqd3A{J#(lY?3eyXCqXl*wfrpTylghC)J0IqPoRh z$)|;-42u&tCsp12-`fi@htz5l!n39oB854PHK5mtt`&W9DazpnZt4 zx1y02@l|ZJvM+ryRpakoY=>OtsbNa7tt##Il@4p(phr*U!!q!59{2L=wa~ZU;uxKz z{d=I-=jQTD7=}cz9oYq>Mlux;`RB{d>qSi-TFs-B)NTFGHckqS*(J1SH|B7~1#W7= z;xEU?x~OCqBids!^hyQ{L)lw|;*&ow+9N4vCN_wyJbYKfU1MKyIX`((u|&FoY)1`1 zRX3ySzqdkvfYznm%#Y+<_9r)|?tDsOU(atGK#eopsVOWlys4K^XYZV7#e{R?VX{6r1^YK#)Cdq4Oopj!18&b|v`UjF)W^VDeZsdSY?VtO zidtwVxo;SyXj&k7GazeCj6QHaJeW%Z{|4Vop4qMskehT=2lGkB&{fw^WDu$b-*_VY z?MhE^6N%S8EmF@^Wt&DZ@c6+ z1zoQgtf`QypIdsmOQTHEPEC!qpnG!+J$XThXhZw1<%UFF)WDJV26J$VHn-DgFx|j_ z3%(J_Cd(wBf=P`X#GXb{6?cPg<89w;l@mAQhNywIsO}8ON22E7s2Qkvu(0D6wIoeH5eMI>UIC{ympTsF^8rS_g+c|qCACZR%bGlrWwvH6 z*Xo;PU(tw6q(XI6ud5|w*L>d-b6IZMr6L+SgvHYz?_S`UuF7`U+u)w~MQ;ULUH-s}IUKpL0tRk@B1d$`T# zUb}h)uAdtZOlSe(2|(pIReiFjHQ0Lc05z6`7bZVB6l_5i$O*^0?*JRFJAbM*dZ!OC z{Tej`8gWjApkJQ-*S-47XaAQ3w|{!CzZ#m|V@-=#+xcZ1ye)0xpE z_xvf11)w0m0YQTU5o-;AM#+AM+~`|(Az}!qyRtb5H1#;|KD#bv&{qhQu@eBBPZopn zpXJQF7kV0hav|$AU<>-6mR&iU5{)yCZ~h*)rUL>D0DpIC$UPJIka@kZ4?q%U`~uCd z1<3!EZ(QMRDCq!UI9|U>v1UDNoRf}i`)lXrv zsTWw;IVFfah^5B$5-v{#AyO-kT!m{DkTgu8HguHX9U+wykaM?^c=b^j1Wr=quI5Ns ztfzmjk^8ag`%xwa6=`obw!~lYZRIF4u{)RDjd;6hHPSGCGF`3xJ^Q>D%WaAuxYa;p zzP7fy#i$w+W-P`ajwf7Us@irr@YXqPMhocDljxOMA2HFT+^#Av^%O|2frb@ND1Hl z^+TVSE%(MDGqsmn<8HLSh*u~>b<=9&@oI=XMrgo@dbjPn`dr+{QeTHdvrhH&nPcX2 zK9DWQr@h_6%47oT%6u#12J~q33UTzYLb~RMiPbFs8oqff_}=uO6L>v0OW3l`+6Zu&M|nd)8kxe>;XC`H8yEPPGmNbZniqd+Hhi{fLY+O5SMo9<-hN`;~!`lb!^aiGYw?y zOL+3#TBl6>Uwooky~%8TfPSq)5s%eMM!w)a(uT}wce+M+Kq`A)LBGA`kzB0E zY|OaUgDQbkWQD0ajvIluCORMOg{=8yc|RsH=p>l?NatgoM~MnIPhWV0y>zSm7U8+3 zs%R{xwO@kMxT7g{s?=k+%(>g(Re%(3VOCsPpD_>dWrE|OW)u})JoO~A3Kw#IHlt^c z;O9~G4b|i4OBbs4D@pJDis;2XhyI?+(nLmP0eWHIjb@w@MQE);vidP=L{rE0z^}dP zmA_SO^W^rh-}7d*u5v-`)w'G2;O2;Vfy`?T`%Dpq}?@*MQrQlXgB5tCQlq?ok& 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 literal 0 HcmV?d00001 diff --git a/2024/03/b92b47a1/exgcd.mark_down b/2024/03/b92b47a1/exgcd.mark_down new file mode 100644 index 000000000..fb6dce94a --- /dev/null +++ b/2024/03/b92b47a1/exgcd.mark_down @@ -0,0 +1,66 @@ +--- +title: 扩展欧几里得 +tags: + - OI + - 扩欧 +cover: 'https://pic.imgdb.cn/item/65eebd469f345e8d030d49d1.th.jpg' +abbrlink: b92b47a1 +date: 2024-03-11 16:06:10 +--- + + +#### 在 $ax+by=gcd(a,b)$ 中: + +1. 求解过程中始终有 **$|x| \leq |b|$** , **$|y| \leq |a|$**。 + + 证明如下: + $$ + 由对称性设 a\geq b,a=kb+r \\ + 当b=0时,满足条件。且此时~|x|,|y|~满足最小值最小。\\ + 则有 + \begin{cases} + ~~~x_1a+y_1b~~~~~~~~=gcd(a,b) \\ + ~~~x_2b+y_2(a\%b)=gcd(b,a\%b) + \end{cases}\\ + 其中, + \begin{cases} + x_1=y_2\\ + y_1=x_2-x_1\lfloor \frac{a}{b} \rfloor\\ + x_2 \leq a\%b~~,~~y_2 \leq |b| ~~~ (数学归纳法) + \end{cases}\\ + \therefore |x_1|=|y_2|\leq |b| \\ + \begin{align} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\because y_1 &=x_2-x_1\lfloor \frac{a}{b} \rfloor \\ + &=x_2-kx_1\\ + &= + \begin{cases} + |1-k|b~\leq~|a| ~~~ (b>0)\\ + |k-1|b~\leq~|a| ~~~ (b<0) + \end{cases} \\ + \end{align}\\\ + \therefore |y_1|\leq a \\\ + 综上所述, |x|\leq|b|,|y|\leq|a|。 + $$ + +2. 设 $|a| \geq |b|$ , 则求出的 *x* 满足 $|x|$ 最小。 + + 证明如下: + $$ + 在~1中,|x_1|\leq|a\%b|。\\ + 当~b\geq \lceil\frac{|a|}{2} \rceil~时,|x_1|\leq |a|-\lceil\frac{|a|}{2} \rceil=\lceil\frac{|a|}{2} \rceil \\ + 否则,|x_1|\leq b \leq \lceil\frac{|a|}{2} \rceil\\ + \therefore |x_2|\leq\frac{a}{2} \\ + 因为|x_1|=|y_2|\leq\frac{b}{2},所以只用证 |y_1|\leq \frac{a}{2}\\ + \begin{align} + \because y_1 &=x_2-x_1\lfloor \frac{a}{b} \rfloor \\ + &=x_2-kx_1\\ + &=\frac{a}{4} -k\frac{b}{2}\\ + &=\frac{kb+r}{4}-\frac{kb}{2}\\ + &=\frac{-kb+r}{2}\\ + \therefore |y_1| &\leq\frac{|kb+r|}{2} + =\frac{|a|}{2} + \end{align}\\ + 综上,得证。 + $$ + + ​ \ No newline at end of file diff --git a/2024/03/b92b47a1/index.html b/2024/03/b92b47a1/index.html new file mode 100644 index 000000000..764b02914 --- /dev/null +++ b/2024/03/b92b47a1/index.html @@ -0,0 +1,316 @@ +扩展欧几里得 | exgcd | 廖桁锋的博客 + + + + + + + + + + + + + +

扩展欧几里得 | exgcd

ax+by=gcd(a,b)ax+by=gcd(a,b) 中:

+
    +
  1. +

    求解过程中始终有 xb|x| \leq |b| , ya|y| \leq |a|

    +

    证明如下:

    +

    +
  2. +
  3. +

    ab|a| \geq |b| , 则求出的 x 满足 x|x| 最小。

    +

    证明如下:

    +

    +
  4. +
+

其实代自己码中的exgcd 不满足上述条件(小心被 *** 诈骗)。

+
扩展欧几里得 | exgcd
https://blog.lhf.us.kg/2024/03/b92b47a1/
作者
LHF123
发布于
2024-03-11
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/03/cb668142/index.html b/2024/03/cb668142/index.html new file mode 100644 index 000000000..7165cc27b --- /dev/null +++ b/2024/03/cb668142/index.html @@ -0,0 +1,317 @@ +基科版month1总结 | 廖桁锋的博客 + + + + + + + + + + + + +

基科版month1总结

        \;\;\;\;感觉最近的 离线 比赛打得不是很好。总会出一些奇奇怪怪的错误,很多还是以前没犯过的。

+

        \;\;\;\;构造还是一如既往的弱,但代码力还行。

+

        \;\;\;\;神奇错误已经单独开了篇文章。

+

        \;\;\;\;列一个目标:

+

        \;\;\;\;

+
+

预留 30min 用于检查代码,把损失降至

+
+
+

把代码常数降低,达到 fzx 的速度

+
+
+

不再出现神奇错误

+
+

        \;\;\;\;

+

        \;\;\;\;我觉得以我神奇的常数和经常考虑漏的习惯,在一周内可能很难,但我想试一下。

+
基科版month1总结
https://blog.lhf.us.kg/2024/03/cb668142/
作者
LHF123
发布于
2024-03-17
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/04/22202685/index.html b/2024/04/22202685/index.html new file mode 100644 index 000000000..912bd2c32 --- /dev/null +++ b/2024/04/22202685/index.html @@ -0,0 +1,314 @@ +2024规划 | 廖桁锋的博客 + + + + + + + + + + + + +

2024规划

2024未来目标与规划

+

短期目标:

+
    +
  • 做题能一发AC
  • +
  • atcoderatcoder 做出第6题。
  • +
  • 学会乱搞
  • +
  • 不读题错误,误判不可做题
  • +
+

长期目标

+
    +
  • THUPCTHUPC 中获得1等奖。
  • +
  • 进省队。
  • +
+
2024规划
https://blog.lhf.us.kg/2024/04/22202685/
作者
LHF123
发布于
2024-04-25
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/04/526fd0f8/index.html b/2024/04/526fd0f8/index.html new file mode 100644 index 000000000..680af1710 --- /dev/null +++ b/2024/04/526fd0f8/index.html @@ -0,0 +1,312 @@ +基科版month2总结 | 廖桁锋的博客 + + + + + + + + + + + + +

基科版month2总结

+ +
+
+ + +
+
+
+
基科版month2总结
https://blog.lhf.us.kg/2024/04/526fd0f8/
作者
LHF123
发布于
2024-04-19
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
目录
\ No newline at end of file diff --git a/2024/05/843f9dbe/index.html b/2024/05/843f9dbe/index.html new file mode 100644 index 000000000..906123c49 --- /dev/null +++ b/2024/05/843f9dbe/index.html @@ -0,0 +1,312 @@ +month3 | 廖桁锋的博客 + + + + + + + + + + + + +

month3

+ +
+
+ + +
+
+
+
month3
https://blog.lhf.us.kg/2024/05/843f9dbe/
作者
LHF123
发布于
2024-05-20
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/05/b6caff18/index.html b/2024/05/b6caff18/index.html new file mode 100644 index 000000000..85471c25b --- /dev/null +++ b/2024/05/b6caff18/index.html @@ -0,0 +1,322 @@ +五月总结 | 廖桁锋的博客 + + + + + + + + + + + + +

五月总结

感觉自己期望并没有学好,DP还行。

+

考试里期望一分没拿。

+

线段树分治想出了一种常数小但空间乘log的方法,考试时被这种想法坑了。

+

根号分治感觉很擅长。

+

在线比赛有一道DSU没跳出来,离线比赛得了200(100+0+0+100)。期望题0分。

+

感觉跟期望沾边的非简单题 题意都模模糊糊的,不给样例解释就基本看不懂。或者我理解能力不行。

+

感觉是数据结构学傻了。

+
+

云程发轫小队的唤夏赛

+

很炸裂的开局,A题连错2发,一度认为做法假了,跑去做C。后面发现自己没把颜色取反,导致在1:11:29+20*2才过。

+

后面D题因为空间叫了3发。

+
+

CF

+

A 题看漏了条件,但猜过去了。

+

B 题完全没思路,但手玩样例发现了奇偶规律,过了。

+

C 一眼二分,但二分范围开爆了,丢了50

+

D1 来回记错了许多条件,导致最后很晚才做出来。

+

感觉这场比赛直觉占了很大部分。

+
+

最后

+

觉得自己应该远离数据结构,苦练期望。因为数据结构好像开过的都能拿高分,但一些简单题却上了大型数据结构。

+
五月总结
https://blog.lhf.us.kg/2024/05/b6caff18/
作者
LHF123
发布于
2024-05-27
更新于
2024-11-09
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/07/110ef1a6/index.html b/2024/07/110ef1a6/index.html new file mode 100644 index 000000000..f6ee24448 --- /dev/null +++ b/2024/07/110ef1a6/index.html @@ -0,0 +1,304 @@ +暑期总结3 | 廖桁锋的博客 + + + + + + + + + + + + +

暑期总结3

这周学了 cdq

+

其实这个东西有一种梦回初一某一天和chx在ny谈论一道线段树题的感觉。

+

关于DP,它死了。

+
暑期总结3
https://blog.lhf.us.kg/2024/07/110ef1a6/
作者
LHF123
发布于
2024-07-24
更新于
2024-07-24
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/07/4bc964e1/index.html b/2024/07/4bc964e1/index.html new file mode 100644 index 000000000..3f4fd112e --- /dev/null +++ b/2024/07/4bc964e1/index.html @@ -0,0 +1,306 @@ +弱智行为鉴赏 | 廖桁锋的博客 + + + + + + + + + + + +

弱智行为鉴赏

void 函数写成 int 返回值。

+
+

代价:虚空调试一个下午。

+

数组不清空 + sumi,jsum_{i,j} 写成 sumj,isum_{j,i} 但是 CF 的样例还过了

+
+

代价:自我怀疑到疯。

+
弱智行为鉴赏
https://blog.lhf.us.kg/2024/07/4bc964e1/
作者
LHF123
发布于
2024-07-19
更新于
2024-07-19
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/07/8a8ea489/index.html b/2024/07/8a8ea489/index.html new file mode 100644 index 000000000..da36fd591 --- /dev/null +++ b/2024/07/8a8ea489/index.html @@ -0,0 +1,335 @@ +暑期总结2 | 廖桁锋的博客 + + + + + + + + + + + + +

暑期总结2

感觉暑假里要把四大离线算法学完(先猜一个flag)。

+

最开始的两天讲的是整体二分

+

就是把询问离线,去二分答案的值域,并把当前可行的答案带着走。

+

大概长这样:

+
// 当前 qry[L~R] 的答案的值域在 [l,r]
void slove(int l,int r,int L,int R)
{
if(l>r || L>R) return ;
// 递归到边界,更新答案。
if(l==r) { for(int i=L;i<=R;i++) ans[qry[i].id]=l; return ; }

int mid((l+r)>>1),t1(0),t2(0);
for(int i=L;i<=mid;i++)
{
// ck(i)=true 表示qry[i]的答案在左半部分
if(ck(i)) q1[++t1]=qry[i];
else q2[++t2]=qry[i];
}

// 划分询问数组
for(int i=L;i<=L+t1-1;++i) qry[i]=q1[i-L+1];
for(int i=L+t;i<=R;++i) qry[i]=q2[i-L-t1+1];
// 递归
slove(l,mid,L,L+t1-1),slove(mid+1,r,L+t1,R);
}
+

然后,它能够优化 DPDP 。。。

+

如果 f[i]f[i] 的最优决策点 p[i]p[i] 存在单调性,那么就能在 Θ(nlogn)\Theta(nlogn) 求出 ff[1[1~n]n]

+

长这样:

+
// 要求出 f[l~r], 决策点在 [L,r] 间。
void slove(int l,int r,int L,int R)
{
if(l>r || L>R) return ;

// 以求最小值为例:
// mi 表示最优值,p表示最优决策点
int mid=(l+r)/2,p=0,mi=INF;
for(int i=L;i<=R && i<=mid;++i)
{
// ask(i,mid): mid由i转移而来的代价
if(ask(i,mid)<mi)
mi=ask(i,mid),p=i;
}

//计算 f
f[mid]=min(f[mid],mi);
//划分区间
slove(l,mid-1,L,p),slove(mid+1,r,p,R);
}
+
+
+
+

然后讲了斜率优化。

+

斜率优化不只是优化DP,例如 机器学习题

+
+

本质是把式子化成

+

b = min/max{ ykx }b~=~min / max\{~ y-kx ~\} +

+

的形式,然后利用凸包去切截距。

+

放一张图:

+

+
+

下面是自学内容:李超树

+
+

李超树结局的是一类 动态线段问题

+
+

给你若干操作,要求在线。

+

1 k b : 插入一条 y=kx+by=kx+b 的线段

+

2 x0 : 询问当 x=x0x=x_0 时,最小的 y。

+
+

新来的区间一定会与老区间产生焦点,从而划分为两部分(一部分答案为老区间,另一部分为新区间)。

+

我们递归新区间的部分即可。

+
int tot,indx,rt;
struct node{ int k,b; }a[N];
struct seg{
#define ls tr[u].lson
#define rs tr[u].rson
int lson,rson,id;
}tr[N<<2];

inline int f(int id,int x) { return a[id].k*x+a[id].b; }
inline bool cmp(int i,int j,int x) { return f(i,x)<f(j,x); }
//插入编号为id的线段。
void add(int &u,int l,int r,int id)
{
int &p=tr[u].id;
if(!u) return (tr[u=++tot].id=id),void();
if(l==r) return (cmp(id,p,l) ? p=id : 0),void();

int mid((l+r)>>1);
if(cmp(id,p,mid)) swap(id,tr[u].id);
if(cmp(id,p,l)) add(ls,l,mid,id);
else add(rs,mid+1,r,id);
} void insert(int k,int b) { a[++indx]={k,b}; add(rt,0,INF,indx); }

//询问x=t时的最小y
int ask(int u,int l,int r,int t)
{
int p=tr[u].id;
if(!u) return INF;
if(l==r) return f(p,t);
int mid((l+r)>>1);
return min(f(p,t) , t<=mid ? ask(ls,l,mid,t) : ask(rs,mid+1,r,t));
} int query(int x) { return ask(rt,0,INF,x); }
+

这玩意的logn1log_n \approx 1,空间也小得可怜。

+
暑期总结2
https://blog.lhf.us.kg/2024/07/8a8ea489/
作者
LHF123
发布于
2024-07-18
更新于
2024-07-22
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/07/c8588323/index.html b/2024/07/c8588323/index.html new file mode 100644 index 000000000..d44d67181 --- /dev/null +++ b/2024/07/c8588323/index.html @@ -0,0 +1,321 @@ +暑期总结1 | 廖桁锋的博客 + + + + + + + + + + + + +

暑期总结1

第一周学了笛卡尔树和基环树。

+

笛卡尔树就是 Treap青春版(?),满足以下性质:

+
    +
  • 是一颗 BST
  • +
  • 中序遍历 存在单调性。
  • +
+

建树可以 Θ(n)\Theta(n) 完成,方法是用单调栈维护当前节点的有儿子链。

+

放一张图 (来自 oi wiki ):

+

+

然后就是各种 DPDP。。。

+
+
+
+

基环树就是在一颗树上加一条边。

+

不难发现,这东西有一个环。

+

所以题目大概可以拆成 树+环 的形式。

+

树上要 DPDP ,环上要数据结构,找环要 tarjan,代码可能 3000+。

+

评价:

+

                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~口胡一时爽,代码火葬场。

+

后记:int函数没返回值导致了

+
暑期总结1
https://blog.lhf.us.kg/2024/07/c8588323/
作者
LHF123
发布于
2024-07-09
更新于
2024-07-18
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/08/d03db090/index.html b/2024/08/d03db090/index.html new file mode 100644 index 000000000..cfbed8fc7 --- /dev/null +++ b/2024/08/d03db090/index.html @@ -0,0 +1,309 @@ +2024-treval-summer | 廖桁锋的博客 + + + + + + + + + + + +

2024-treval-summer

2024-treval-summer
https://blog.lhf.us.kg/2024/08/d03db090/
作者
LHF123
发布于
2024-08-08
更新于
2024-08-08
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/10/12f8a1c6/index.html b/2024/10/12f8a1c6/index.html new file mode 100644 index 000000000..a654fe367 --- /dev/null +++ b/2024/10/12f8a1c6/index.html @@ -0,0 +1,307 @@ +CSP eve eve乱记 | 廖桁锋的博客 + + + + + + + + + + + + +

CSP eve eve乱记

感觉处于失乐园中。

+

预言一下,100+100+60+[30,60]。

+
+

最后的一线希望,是否意味着什么。

+
+

直觉。

+
CSP eve eve乱记
https://blog.lhf.us.kg/2024/10/12f8a1c6/
作者
LHF123
发布于
2024-10-24
更新于
2024-10-26
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/10/3aad02/index.html b/2024/10/3aad02/index.html new file mode 100644 index 000000000..cb2b32b19 --- /dev/null +++ b/2024/10/3aad02/index.html @@ -0,0 +1,322 @@ +搭建免费 AI 总结 | 廖桁锋的博客 + + + + + + + + + + + + +

搭建免费 AI 总结

写一点搭建 AI总结 的方法。

+

如果你有钱,推荐去 TianliGPT。

+

(因为这个人曾经没钱,所以去翻了很久的文档,故此记)。

+

你需要的:一个 CF 账号

+

当初发现 CF 提供了许多 AI 服务,然后就觉得能拿来用。参考了 Mayx

+

创建 worker

+

然后选择 LLM App 。复制 jswoker 的代码里面。

+

然后可以自己先玩一下,食用方法为 {$YOUR_URL}/?q={$YOUR_POST}

+

接入文章

+

由于这玩意是输出流,所以我们给他转一下。

+

复制 js 并引入主题。

+

我使用的 butterfly 主题的文章的 Idarticle-container ,其他请自行更改。

+

输出的 Idai-output ,请自行更改主题源码。

+

或者直接引入 TianliGPTjscss 然后把输出的内容给顶替掉。

+

样式可参考 TianliGPT

+

记得引入 js

+

反代(无域名)

+

由于 worker 被墙,所以你得通过 cloudflare pages 反代出来。

+

fork cf-pages-proxy(可以给个 star \kk),然后按照提示更改 _worker.js

+

然后在 cloudflare 里的 Workers 和 Pages 点击 创建 -> Pages -> 连接到git 选择你自己的仓库。

+

然后就获得了一个形如 xxx.pages.dev 的可以使用的域名。

+
搭建免费 AI 总结
https://blog.lhf.us.kg/2024/10/3aad02/
作者
LHF123
发布于
2024-10-21
更新于
2024-10-26
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/10/5279cf75/index.html b/2024/10/5279cf75/index.html new file mode 100644 index 000000000..b55affcdf --- /dev/null +++ b/2024/10/5279cf75/index.html @@ -0,0 +1,332 @@ +CSP eve乱记 | 廖桁锋的博客 + + + + + + + + + + +

CSP eve乱记

感觉心里有点压抑,也没有什么心情复习,所以来保持一下队形。

+

今天上午对着考纲看了很久,基本都要背下来了,但是去试机时又想起了 bitset

+

今天压一下 bitset 吧。

+

第一次觉得考前的宁静太可怕了。

+
+

Run away run away yeah

+

Take your time to say a prayer

+

Recognize me when you sneak in

+

Don’t be cruel open up your heart and say

+

Ho-ho-ho-hold on there will be better days

+

It’ll be a better day

+

God oh God please help me

+

I need someone that can guide me

+

The right way the right way

+

I don’t need you to judge me

+

I just need someone to love me

+

The right way

+

We dream we hope we pray for better days

+

We dream we hope we pray for better days

+
+
+

一瞬三更五载,品粗茶,食淡饭。

+

六界八荒四海,无人与我来叫板。

+

人间荒唐古怪,竹林外,有书斋。

+

匿于此地畅快,偏来者不善善者不来。

+

是我装模作样在瞎猜,还是他们本就心怀鬼胎。

+

有人不知悔改,迷雾中混淆黑白。

+

在情怀里市侩,旁人不敢来拆穿。

+

看似时来运转,实则在顶风作案。

+

待曲终又人散,这一出还有谁在围观。

+
+

Someday we’ll be all that we need.

+
+
CSP eve乱记
https://blog.lhf.us.kg/2024/10/5279cf75/
作者
LHF123
发布于
2024-10-25
更新于
2024-10-25
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/10/72aa747b/index.html b/2024/10/72aa747b/index.html new file mode 100644 index 000000000..d7ef70e91 --- /dev/null +++ b/2024/10/72aa747b/index.html @@ -0,0 +1,311 @@ +CSP 乱记 | 廖桁锋的博客 + + + + + + + + + + + + +

CSP 乱记

乱记/寄/集/基/急。

+

J  T4J~~T4 卡常卡两个小时,出题人真善良, 但凡 vector / unordered_set / cin/cout 用一个就会跑上 30s。

+

人美心善的渔女啊。

+

下午 S  T3S~~T3 不加 inline 极限稳定 1.027 也是服了。

+

我的线段树常数就有那么大吗,,

+

T4T4 有现实意义,题目也需要一些思考,有一定细节,能很好地考场选手的考场应变能力和心理素质,很感谢出题人能出这么一道美妙的题目,想要见见这位出题人好好感谢一下。

+

困了累了,随他去吧。

+
+

Good night, dear.

+
+
CSP 乱记
https://blog.lhf.us.kg/2024/10/72aa747b/
作者
LHF123
发布于
2024-10-26
更新于
2024-10-26
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/10/7677242/index.html b/2024/10/7677242/index.html new file mode 100644 index 000000000..7f34a312c --- /dev/null +++ b/2024/10/7677242/index.html @@ -0,0 +1,314 @@ +集训总结1 | 廖桁锋的博客 + + + + + + + + + + + + +

集训总结1

闲话:

+

      ~~~~~~上午修了很久的js, woker, 还调整了CDN。

+

      ~~~~~~github.io 感觉又要似了,cloudflare 现在也很慢,所以切回了 vercel

+

好吧。。

+

不得不说丢掉综合后还是专一一些。

+

最开始的两场非常神奇,一个 O(nlogn2)O(nlog^2_n) 过不去 5e55e5 (有一个 loglog 是树状数组的 loglog)。另外一个全场 DPDP,直接把我祭天。

+

不得不说,唐诗玩意。

+

然后调整了三天,练了很多 DPDP,发现思维题我不大怕,但 DPDP 就是个寄。每次都会唐 30min30min~2.5h2.5h 不等。

+

然后后面就好一点了,至少策略没多大问题。

+

继续 DPDP

+

还有,代码力可能还要练一练,ARC 的 C 想到了 hash 的做法,写挂了。

+

自己找模拟赛打。

+

Futrue: 拿3x巧克力

+
集训总结1
https://blog.lhf.us.kg/2024/10/7677242/
作者
LHF123
发布于
2024-10-11
更新于
2024-10-11
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/2024/10/a1c8a86f/index.html b/2024/10/a1c8a86f/index.html new file mode 100644 index 000000000..5d1be07f2 --- /dev/null +++ b/2024/10/a1c8a86f/index.html @@ -0,0 +1,312 @@ +ssct1 | 廖桁锋的博客 + + + + + + + + + + + + +

ssct1

+ +
+
+ + +
+
+
+
ssct1
https://blog.lhf.us.kg/2024/10/a1c8a86f/
作者
LHF123
发布于
2024-10-18
更新于
2024-10-18
许可协议
CC BY 4.0

评论
avatar
LHF123
别再骂以前的自己了,他在火和烟雾中也很迷茫。
\ No newline at end of file diff --git a/7b8zxy39.webp b/7b8zxy39.webp new file mode 100644 index 0000000000000000000000000000000000000000..8e2017cd469b3d803199023264b18248d32ebffe GIT binary patch literal 232 zcmV^cT~CiN1c_wHKmh*hRmjJ|`J3UpZQ6@UskwFk{}zY#^ZpG$ z{)E9F<$-j|h$oLV2jq2}IkvWLny0u93D*v82hdwSI+r>!&(G`3rU%=w4e;pK)P4WF z{olq-=MWw2N_I9?nTo(VEql_{YrRHB8?M+ur02Mvd~K4$KfrHGskWE>&!JuB8FVM} iX)888C2fVspWu~ctyL5+V_*g?I&V@8Uk$o&AOHXj^lStG literal 0 HcmV?d00001 diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..43999ef84 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +blog.lhf.us.kg diff --git a/about/index.html b/about/index.html new file mode 100644 index 000000000..e642214a7 --- /dev/null +++ b/about/index.html @@ -0,0 +1,317 @@ +about | 关于 | 廖桁锋的博客 + + + + + + + + + + + +

about | 关于

鸣谢

+
+

谢谢 @常文轩 对于本人搭建博客时的种种帮助。

+

谢谢 @李子晗 的提议

+
+

关于

+
+

以后 blog 就在这里了,弃用 luogu

+

upd on 24/10/25:再次修缮博客,不知道下一次修缮时多久。

+
+

music

+
+

自己听的歌。

+

下载:one drive

+
+

更新于 2024/10/25,CSP-S’s eve。

+

评论
\ No newline at end of file diff --git a/apps/cat/index.html b/apps/cat/index.html new file mode 100644 index 000000000..0a4a99e89 --- /dev/null +++ b/apps/cat/index.html @@ -0,0 +1,29 @@ + + + + + 圈小猫小游戏 + + + + + +
+ + + diff --git a/apps/cat/js/catch-the-cat.js b/apps/cat/js/catch-the-cat.js new file mode 100644 index 000000000..883869b0b --- /dev/null +++ b/apps/cat/js/catch-the-cat.js @@ -0,0 +1,19 @@ +!function(t){var e={};function n(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}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 r in t)n.d(o,r,function(e){return t[e]}.bind(null,r));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=3)}([function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i,s=n(1),a=n(20),l=n(22),d=n(23),h=n(24),u=n(25),f=n(2),p=n(26),c=n(27);!function(t){t.PLAYING="playing",t.WIN="win",t.LOSE="lose"}(i||(i={}));var k=function(t){function e(e,n,o){var r=t.call(this,{key:"MainScene"})||this;return r.w=e,r.h=n,r.r=o,r.dx=2*r.r,r.dy=r.r*Math.sqrt(3),r}return r(e,t),Object.defineProperty(e.prototype,"blocks",{get:function(){return this.data.get("blocks")},set:function(t){this.data.set("blocks",t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"blocksData",{get:function(){var t=[];return this.blocks.forEach(function(e,n){t[n]=[],e.forEach(function(e,o){t[n][o]=e.isWall})}),t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cat",{get:function(){return this.data.get("cat")},set:function(t){this.data.set("cat",t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"statusBar",{get:function(){return this.data.get("status_bar")},set:function(t){this.data.set("status_bar",t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"creditText",{get:function(){return this.data.get("credit_text")},set:function(t){this.data.set("credit_text",t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this.data.get("state")},set:function(t){switch(t){case i.PLAYING:break;case i.LOSE:this.setStatusText(f.default("猫已经跑到地图边缘了,你输了"));break;case i.WIN:this.setStatusText(f.default("猫已经无路可走,你赢了"));break;default:return}this.data.set("state",t)},enumerable:!0,configurable:!0}),e.getNeighbours=function(t,e){var n,o,r,i,s={i:t-1,j:e},a={i:t+1,j:e};0==(1&e)?(n={i:t-1,j:e-1},o={i:t,j:e-1},r={i:t-1,j:e+1},i={i:t,j:e+1}):(n={i:t,j:e-1},o={i:t+1,j:e-1},r={i:t,j:e+1},i={i:t+1,j:e+1});var l=[];return l[0]=s,l[1]=n,l[2]=o,l[3]=a,l[4]=i,l[5]=r,l},e.prototype.preload=function(){var t=this.r/s.default.catStepLength;for(var e in s.default.textures)this.load.addFile(new c.default(this.load,e,s.default.textures[e],{scale:t}))},e.prototype.create=function(){this.createAnimations(),this.createBlocks(),this.createCat(),this.createStatusText(),this.createResetButton(),this.createCreditText(),this.reset(),this.game.solver&&(this.cat.solver=this.game.solver)},e.prototype.getPosition=function(t,e){return{x:3*this.r+(0==(1&e)?this.r:this.dx)+t*this.dx,y:3*this.r+this.r+e*this.dy}},e.prototype.getBlock=function(t,e){return t>=0&&t=0&&e\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e){t.exports='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),s=n(1),a=n(21),l=function(t){function e(e){var n=t.call(this,e,0,0,"__DEFAULT")||this;return n.on("animationrepeat",function(){n.moveForward()}),n.solver=a.default,n.direction=s.default.catDefaultDirection,n.reset(),n}return r(e,t),Object.defineProperty(e.prototype,"i",{get:function(){return this.getData("i")},set:function(t){this.setData("i",t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"j",{get:function(){return this.getData("j")},set:function(t){this.setData("j",t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"direction",{get:function(){return this.getData("direction")},set:function(t){this.setData("direction",t),this.resetTextureToStop(),this.resetOriginAndScale()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"solver",{get:function(){return this.getData("solver")},set:function(t){this.setData("solver",t)},enumerable:!0,configurable:!0}),e.prototype.reset=function(){this.anims.stop(),this.direction=s.default.catDefaultDirection,this.resetIJ()},e.prototype.step=function(){var t=this.solver.call(this,this.scene.blocksData,this.i,this.j);return t<0||t>6?(this.caught(),!1):!!this.stepDirection(t)||(this.caught(),!1)},e.prototype.isCaught=function(){var t=this;return!this.getCurrentNeighbours().some(function(e,n){var o=t.scene.getBlock(e.i,e.j);return null!==o&&!o.isWall})},e.prototype.caught=function(){this.setTexture(s.default.cannotEscapeTextures[s.default.directions[this.direction].name])},e.prototype.escape=function(){0===this.j||this.j===this.scene.h-1?this.runForward():0===this.i?this.runDirection(0):this.i===this.scene.w-1&&this.runDirection(3)},e.prototype.setIJ=function(t,e){this.i=t,this.j=e;var n=this.scene.getPosition(t,e);return this.setPosition(n.x,n.y)},e.prototype.resetIJ=function(){this.setIJ(Math.floor(this.scene.w/2),Math.floor(this.scene.h/2))},e.prototype.isEscaped=function(){return this.i<=0||this.i>=this.scene.w-1||this.j<=0||this.j>=this.scene.h-1},e.prototype.checkState=function(){this.isEscaped()?(this.escape(),this.emit("escaped")):this.isCaught()&&(this.caught(),this.emit("win"))},e.prototype.getCurrentNeighbours=function(){return i.default.getNeighbours(this.i,this.j)},e.prototype.resetTextureToStop=function(){this.setTexture(s.default.stopTextures[s.default.directions[this.direction].name])},e.prototype.resetOriginAndScale=function(){var t=s.default.directions[this.direction],e=s.default.origins[t.name];this.setOrigin(e.x,e.y),this.scaleX=t.scaleX},e.prototype.moveForward=function(){var t=this.getCurrentNeighbours()[this.direction];this.setIJ(t.i,t.j),this.checkState()},e.prototype.stepForward=function(){var t=this,e=this.getCurrentNeighbours()[this.direction],n=this.scene.getBlock(e.i,e.j);return null!==n&&(!n.isWall&&(this.play(s.default.directions[this.direction].name+"_step"),this.once("animationcomplete",function(){t.moveForward(),t.resetTextureToStop()}),!0))},e.prototype.stepDirection=function(t){return this.direction=t,this.stepForward()},e.prototype.runForward=function(){this.play(s.default.directions[this.direction].name+"_run")},e.prototype.runDirection=function(t){this.direction=t,this.runForward()},e}(Phaser.GameObjects.Sprite);e.default=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=n(0);e.default=function(t,e,n){var r=-1;return o.default.getNeighbours(e,n).forEach(function(e,n){-1===r&&(void 0===t[e.i]||void 0===t[e.i][e.j]||t[e.i][e.j]||(r=n))}),r}},function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){function e(e,n,o,r){var i=this,s=e.getPosition(n,o);(i=t.call(this,e,s.x,s.y,r,0,360,!1,0,1)||this).i=n,i.j=o,i.r=r,i.isWall=!1;var a=new Phaser.Geom.Circle(i.r/2,i.r/2,i.r);return i.setInteractive(a,Phaser.Geom.Circle.Contains),i.on("pointerdown",function(){i.emit("player_click",i.i,i.j)}),i}return r(e,t),Object.defineProperty(e.prototype,"isWall",{get:function(){return this._isWall},set:function(t){this._isWall=t,this.fillColor=t?13158:11786751},enumerable:!0,configurable:!0}),e}(Phaser.GameObjects.Arc);e.default=i},function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),s=function(t){function e(e){var n=t.call(this,e,0,0,i.default("重置"),{})||this;n.setColor("#000000");var o=e.r;n.setFontSize(o),n.setPadding(o,o,o,o),n.setPosition(0,e.game.canvas.height),n.setOrigin(0,1);var r=new Phaser.Geom.Rectangle(0,0,n.width,n.height);return n.setInteractive(r,Phaser.Geom.Rectangle.Contains),n}return r(e,t),e}(Phaser.GameObjects.Text);e.default=s},function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){function e(e){var n=t.call(this,e,0,0,"",{})||this;n.setColor("#000000");var o=e.r;return n.setFontSize(o),"center"===e.game.myConfig.statusBarAlign&&(n.setX(e.game.canvas.width/2),n.setOrigin(.5,0)),n.setPadding(o,o,o,o),n}return r(e,t),e}(Phaser.GameObjects.Text);e.default=i},function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){function e(e){var n=t.call(this,e,0,0,"",{})||this;n.setColor("#000000"),n.setPosition(e.game.canvas.width,e.game.canvas.height),n.setOrigin(1,1);var o=e.r;return n.setFontSize(.8*o),n.setPadding(o,o,o,o),n.setText(e.game.myConfig.credit),n}return r(e,t),e}(Phaser.GameObjects.Text);e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=n(0),r=function(){function t(t,e,n,o){this.i=e,this.j=n,this.isWall=o,this.distance=1/0,this.parent=t,this.isEdge=this.i<=0||this.i>=this.parent.w-1||this.j<=0||this.j>=this.parent.h-1}return Object.defineProperty(t.prototype,"routesCount",{get:function(){var t=this;if(void 0===this._routesCount)if(this.isEdge)this._routesCount=1;else{var e=0;this.neighbours.forEach(function(n){null===n||n.isWall||n.distancee&&(e=r.routesCount,n=o)}),n},enumerable:!0,configurable:!0}),t}(),i=function(){function t(t){var e=this;if(this.w=t.length,this.w<=0)throw new Error("empty blocks");this.h=t[0].length,this.blocks=t.map(function(n,o){return n.map(function(n,i){return new r(e,o,i,t[o][i])})})}return t.prototype.getBlock=function(t,e){return t>=0&&t=0&&ee.distance+1&&(n.distance=e.distance+1,t.indexOf(n)<0&&t.push(n))})};t.length>0;)e()},t.prototype.toString=function(){for(var t=[],e=0;e0?r[0]:-1},e.default=function(t,e,n){var o=new i(t);return o.calcAllDistances(),o.getBlock(e,n).direction}},function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i=n(28),s=function(t){function e(e,n,o,r){var i=t.call(this,e,n,void 0,r)||this;return i.rawData=o,i}return r(e,t),e.prototype.load=function(){this.state===Phaser.Loader.FILE_POPULATED?this.loader.nextFile(this,!0):this.xhrLoader=i.default(this,this.loader.xhr)},e}(Phaser.Loader.FileTypes.SVGFile);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=n(29);e.default=function(t,e){var n=new o.default;return n.open("GET",t.src,e.async,e.user,e.password),n.responseType=t.xhrSettings.responseType,n.timeout=e.timeout,e.header&&e.headerValue&&n.setRequestHeader(e.header,e.headerValue),e.requestedWith&&n.setRequestHeader("X-Requested-With",e.requestedWith),e.overrideMimeType&&n.overrideMimeType(e.overrideMimeType),n.onload=t.onLoad.bind(t,n),n.onerror=t.onError.bind(t),n.onprogress=t.onProgress.bind(t),n.send(),setTimeout(function(){n.respond(200,{"Content-Type":"application/octet-stream"},t.rawData)},1),n}},function(t,e,n){"use strict";n.r(e); +/** + * Minimal Event interface implementation + * + * Original implementation by Sven Fuchs: https://gist.github.com/995028 + * Modifications and tests by Christian Johansen. + * + * @author Sven Fuchs (svenfuchs@artweb-design.de) + * @author Christian Johansen (christian@cjohansen.no) + * @license BSD + * + * Copyright (c) 2011 Sven Fuchs, Christian Johansen + */ +var o=function(t,e,n,o){this.type=t,this.bubbles=e,this.cancelable=n,this.target=o};o.prototype={stopPropagation:function(){},preventDefault:function(){this.defaultPrevented=!0}};var r={100:"Continue",101:"Switching Protocols",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",300:"Multiple Choice",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",422:"Unprocessable Entity",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported"};var i={"Accept-Charset":!0,"Accept-Encoding":!0,Connection:!0,"Content-Length":!0,Cookie:!0,Cookie2:!0,"Content-Transfer-Encoding":!0,Date:!0,Expect:!0,Host:!0,"Keep-Alive":!0,Referer:!0,TE:!0,Trailer:!0,"Transfer-Encoding":!0,Upgrade:!0,"User-Agent":!0,Via:!0};function s(t,e){e.addEventListener(t,function(n){var o=e["on"+t];o&&"function"==typeof o&&o.call(n.target,n)})}function a(){this._eventListeners={};for(var t=["loadstart","progress","load","abort","loadend"],e=t.length-1;e>=0;e--)s(t[e],this)}function l(){a.call(this),this.readyState=l.UNSENT,this.requestHeaders={},this.requestBody=null,this.status=0,this.statusText="",this.upload=new a}a.prototype={addEventListener:function(t,e){this._eventListeners[t]=this._eventListeners[t]||[],this._eventListeners[t].push(e)},removeEventListener:function(t,e){for(var n=this._eventListeners[t]||[],o=0,r=n.length;ol.UNSENT&&this.sendFlag&&(this._readyStateChange(l.UNSENT),this.sendFlag=!1),"function"==typeof this.onerror&&this.onerror()},getResponseHeader:function(t){if(this.readyState0&&(i=1/Math.sqrt(i),this.x=t*i,this.y=e*i),this},normalizeRightHand:function(){var t=this.x;return this.x=-1*this.y,this.y=t,this},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,n=this.y;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this},transformMat3:function(t){var e=this.x,i=this.y,n=t.val;return this.x=n[0]*e+n[3]*i+n[6],this.y=n[1]*e+n[4]*i+n[7],this},transformMat4:function(t){var e=this.x,i=this.y,n=t.val;return this.x=n[0]*e+n[4]*i+n[12],this.y=n[1]*e+n[5]*i+n[13],this},reset:function(){return this.x=0,this.y=0,this}});n.ZERO=new n,n.RIGHT=new n(1,0),n.LEFT=new n(-1,0),n.UP=new n(0,-1),n.DOWN=new n(0,1),n.ONE=new n(1,1),t.exports=n},function(t,e){t.exports=function(t,e,i){if(t&&"number"!=typeof t){if(t.hasOwnProperty(e))return t[e];if(-1!==e.indexOf(".")){for(var n=e.split("."),s=t,r=i,o=0;o>>0},getTintAppendFloatAlpha:function(t,e){return((255&(255*e|0))<<24|t)>>>0},getTintAppendFloatAlphaAndSwap:function(t,e){return((255&(255*e|0))<<24|(255&(0|t))<<16|(255&(t>>8|0))<<8|255&(t>>16|0))>>>0},getFloatsFromUintRGB:function(t){return[(255&(t>>16|0))/255,(255&(t>>8|0))/255,(255&(0|t))/255]},getComponentCount:function(t,e){for(var i=0,n=0;n=this.right?this.width=0:this.width=this.right-t,this.x=t}},right:{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}},top:{get:function(){return this.y},set:function(t){t>=this.bottom?this.height=0:this.height=this.bottom-t,this.y=t}},bottom:{get:function(){return this.y+this.height},set:function(t){t<=this.y?this.height=0:this.height=t-this.y}},centerX:{get:function(){return this.x+this.width/2},set:function(t){this.x=t-this.width/2}},centerY:{get:function(){return this.y+this.height/2},set:function(t){this.y=t-this.height/2}}});t.exports=l},function(t,e,i){"use strict";var n=Object.prototype.hasOwnProperty,s="~";function r(){}function o(t,e,i,n,r){if("function"!=typeof i)throw new TypeError("The listener must be a function");var o=new function(t,e,i){this.fn=t,this.context=e,this.once=i||!1}(i,n||t,r),a=s?s+e:e;return t._events[a]?t._events[a].fn?t._events[a]=[t._events[a],o]:t._events[a].push(o):(t._events[a]=o,t._eventsCount++),t}function a(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function h(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(s=!1)),h.prototype.eventNames=function(){var t,e,i=[];if(0===this._eventsCount)return i;for(e in t=this._events)n.call(t,e)&&i.push(s?e.slice(1):e);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},h.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,r=i.length,o=new Array(r);no.width&&(i=Math.max(o.width-t,0)),e+s>o.height&&(s=Math.max(o.height-e,0));for(var u=[],c=e;c=400&&t.status<=599&&(n=!1),this.resetXHR(),this.loader.nextFile(this,n)},onError:function(){this.resetXHR(),this.loader.nextFile(this,!1)},onProgress:function(t){t.lengthComputable&&(this.bytesLoaded=t.loaded,this.bytesTotal=t.total,this.percentComplete=Math.min(this.bytesLoaded/this.bytesTotal,1),this.loader.emit(r.FILE_PROGRESS,this,this.percentComplete))},onProcess:function(){this.state=s.FILE_PROCESSING,this.onProcessComplete()},onProcessComplete:function(){this.state=s.FILE_COMPLETE,this.multiFile&&this.multiFile.onFileComplete(this),this.loader.fileProcessComplete(this)},onProcessError:function(){this.state=s.FILE_ERRORED,this.multiFile&&this.multiFile.onFileFailed(this),this.loader.fileProcessComplete(this)},hasCacheConflict:function(){return this.cache&&this.cache.exists(this.key)},addToCache:function(){this.cache&&this.cache.add(this.key,this.data),this.pendingDestroy()},pendingDestroy:function(t){void 0===t&&(t=this.data);var e=this.key,i=this.type;this.loader.emit(r.FILE_COMPLETE,e,i,t),this.loader.emit(r.FILE_KEY_COMPLETE+i+"-"+e,e,i,t),this.loader.flagForRemoval(this)},destroy:function(){this.loader=null,this.cache=null,this.xhrSettings=null,this.multiFile=null,this.linkFile=null,this.data=null}});c.createObjectURL=function(t,e,i){if("function"==typeof URL)t.src=URL.createObjectURL(e);else{var n=new FileReader;n.onload=function(){t.removeAttribute("crossOrigin"),t.src="data:"+(e.type||i)+";base64,"+n.result.split(",")[1]},n.onerror=t.onerror,n.readAsDataURL(e)}},c.revokeObjectURL=function(t){"function"==typeof URL&&URL.revokeObjectURL(t.src)},t.exports=c},function(t,e){t.exports=function(t,e,i){return Math.max(e,Math.min(i,t))}},function(t,e,i){var n,s,r,o=i(28),a=i(130),h=[],l=!1;t.exports={create2D:function(t,e,i){return n(t,e,i,o.CANVAS)},create:n=function(t,e,i,n,r){var u;void 0===e&&(e=1),void 0===i&&(i=1),void 0===n&&(n=o.CANVAS),void 0===r&&(r=!1);var c=s(n);return null===c?(c={parent:t,canvas:document.createElement("canvas"),type:n},n===o.CANVAS&&h.push(c),u=c.canvas):(c.parent=t,u=c.canvas),r&&(c.parent=u),u.width=e,u.height=i,l&&n===o.CANVAS&&a.disable(u.getContext("2d")),u},createWebGL:function(t,e,i){return n(t,e,i,o.WEBGL)},disableSmoothing:function(){l=!0},enableSmoothing:function(){l=!1},first:s=function(t){if(void 0===t&&(t=o.CANVAS),t===o.WEBGL)return null;for(var e=0;e=0;o--)t[o][e]=i+a*n,a++;return t}},function(t,e,i){var n={VERSION:"3.16.1",BlendModes:i(60),ScaleModes:i(101),AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,FOREVER:-1,NONE:4,UP:5,DOWN:6,LEFT:7,RIGHT:8};t.exports=n},function(t,e,i){var n=i(0),s=i(13),r=i(18),o=i(59),a=new n({Extends:r,Mixins:[s.Alpha,s.BlendMode,s.ComputedSize,s.Depth,s.GetBounds,s.Mask,s.Origin,s.Pipeline,s.ScaleMode,s.ScrollFactor,s.Transform,s.Visible],initialize:function(t,e,i){void 0===e&&(e="Shape"),r.call(this,t,e),this.geom=i,this.pathData=[],this.pathIndexes=[],this.fillColor=16777215,this.fillAlpha=1,this.strokeColor=16777215,this.strokeAlpha=1,this.lineWidth=1,this.isFilled=!1,this.isStroked=!1,this.closePath=!0,this._tempLine=new o,this.initPipeline()},setFillStyle:function(t,e){return void 0===e&&(e=1),void 0===t?this.isFilled=!1:(this.fillColor=t,this.fillAlpha=e,this.isFilled=!0),this},setStrokeStyle:function(t,e,i){return void 0===i&&(i=1),void 0===t?this.isStroked=!1:(this.lineWidth=t,this.strokeColor=e,this.strokeAlpha=i,this.isStroked=!0),this},setClosePath:function(t){return this.closePath=t,this},preDestroy:function(){this.geom=null,this._tempLine=null,this.pathData=[],this.pathIndexes=[]}});t.exports=a},function(t,e,i){var n=i(60),s=i(12),r=i(101);t.exports=function(t,e,i){e.x=s(i,"x",0),e.y=s(i,"y",0),e.depth=s(i,"depth",0),e.flipX=s(i,"flipX",!1),e.flipY=s(i,"flipY",!1);var o=s(i,"scale",null);"number"==typeof o?e.setScale(o):null!==o&&(e.scaleX=s(o,"x",1),e.scaleY=s(o,"y",1));var a=s(i,"scrollFactor",null);"number"==typeof a?e.setScrollFactor(a):null!==a&&(e.scrollFactorX=s(a,"x",1),e.scrollFactorY=s(a,"y",1)),e.rotation=s(i,"rotation",0);var h=s(i,"angle",null);null!==h&&(e.angle=h),e.alpha=s(i,"alpha",1);var l=s(i,"origin",null);if("number"==typeof l)e.setOrigin(l);else if(null!==l){var u=s(l,"x",.5),c=s(l,"y",.5);e.setOrigin(u,c)}return e.scaleMode=s(i,"scaleMode",r.DEFAULT),e.blendMode=s(i,"blendMode",n.NORMAL),e.visible=s(i,"visible",!0),s(i,"add",!0)&&t.sys.displayList.add(e),e.preUpdate&&t.sys.updateList.add(e),e}},function(t,e){t.exports={CSV:0,TILED_JSON:1,ARRAY_2D:2,WELTMEISTER:3}},function(t,e,i){var n=i(0),s=i(191),r=i(409),o=i(190),a=i(408),h=new n({initialize:function(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=255),this.r=0,this.g=0,this.b=0,this.a=255,this._h=0,this._s=0,this._v=0,this._locked=!1,this.gl=[0,0,0,1],this._color=0,this._color32=0,this._rgba="",this.setTo(t,e,i,n)},transparent:function(){return this._locked=!0,this.red=0,this.green=0,this.blue=0,this.alpha=0,this._locked=!1,this.update(!0)},setTo:function(t,e,i,n,s){return void 0===n&&(n=255),void 0===s&&(s=!0),this._locked=!0,this.red=t,this.green=e,this.blue=i,this.alpha=n,this._locked=!1,this.update(s)},setGLTo:function(t,e,i,n){return void 0===n&&(n=1),this._locked=!0,this.redGL=t,this.greenGL=e,this.blueGL=i,this.alphaGL=n,this._locked=!1,this.update(!0)},setFromRGB:function(t){return this._locked=!0,this.red=t.r,this.green=t.g,this.blue=t.b,t.hasOwnProperty("a")&&(this.alpha=t.a),this._locked=!1,this.update(!0)},setFromHSV:function(t,e,i){return o(t,e,i,this)},update:function(t){if(void 0===t&&(t=!1),this._locked)return this;var e=this.r,i=this.g,n=this.b,o=this.a;return this._color=s(e,i,n),this._color32=r(e,i,n,o),this._rgba="rgba("+e+","+i+","+n+","+o/255+")",t&&a(e,i,n,this),this},updateHSV:function(){var t=this.r,e=this.g,i=this.b;return a(t,e,i,this),this},clone:function(){return new h(this.r,this.g,this.b,this.a)},gray:function(t){return this.setTo(t,t,t)},random:function(t,e){void 0===t&&(t=0),void 0===e&&(e=255);var i=Math.floor(t+Math.random()*(e-t)),n=Math.floor(t+Math.random()*(e-t)),s=Math.floor(t+Math.random()*(e-t));return this.setTo(i,n,s)},randomGray:function(t,e){void 0===t&&(t=0),void 0===e&&(e=255);var i=Math.floor(t+Math.random()*(e-t));return this.setTo(i,i,i)},saturate:function(t){return this.s+=t/100,this},desaturate:function(t){return this.s-=t/100,this},lighten:function(t){return this.v+=t/100,this},darken:function(t){return this.v-=t/100,this},brighten:function(t){var e=this.r,i=this.g,n=this.b;return e=Math.max(0,Math.min(255,e-Math.round(-t/100*255))),i=Math.max(0,Math.min(255,i-Math.round(-t/100*255))),n=Math.max(0,Math.min(255,n-Math.round(-t/100*255))),this.setTo(e,i,n)},color:{get:function(){return this._color}},color32:{get:function(){return this._color32}},rgba:{get:function(){return this._rgba}},redGL:{get:function(){return this.gl[0]},set:function(t){this.gl[0]=Math.min(Math.abs(t),1),this.r=Math.floor(255*this.gl[0]),this.update(!0)}},greenGL:{get:function(){return this.gl[1]},set:function(t){this.gl[1]=Math.min(Math.abs(t),1),this.g=Math.floor(255*this.gl[1]),this.update(!0)}},blueGL:{get:function(){return this.gl[2]},set:function(t){this.gl[2]=Math.min(Math.abs(t),1),this.b=Math.floor(255*this.gl[2]),this.update(!0)}},alphaGL:{get:function(){return this.gl[3]},set:function(t){this.gl[3]=Math.min(Math.abs(t),1),this.a=Math.floor(255*this.gl[3]),this.update()}},red:{get:function(){return this.r},set:function(t){t=Math.floor(Math.abs(t)),this.r=Math.min(t,255),this.gl[0]=t/255,this.update(!0)}},green:{get:function(){return this.g},set:function(t){t=Math.floor(Math.abs(t)),this.g=Math.min(t,255),this.gl[1]=t/255,this.update(!0)}},blue:{get:function(){return this.b},set:function(t){t=Math.floor(Math.abs(t)),this.b=Math.min(t,255),this.gl[2]=t/255,this.update(!0)}},alpha:{get:function(){return this.a},set:function(t){t=Math.floor(Math.abs(t)),this.a=Math.min(t,255),this.gl[3]=t/255,this.update()}},h:{get:function(){return this._h},set:function(t){this._h=t,o(t,this._s,this._v,this)}},s:{get:function(){return this._s},set:function(t){this._s=t,o(this._h,t,this._v,this)}},v:{get:function(){return this._v},set:function(t){this._v=t,o(this._h,this._s,t,this)}}});t.exports=h},function(t,e){t.exports=function(t,e,i){var n=i||e.fillColor,s=e.fillAlpha,r=(16711680&n)>>>16,o=(65280&n)>>>8,a=255&n;t.fillStyle="rgba("+r+","+o+","+a+","+s+")"}},function(t,e,i){var n=i(20);t.exports=function(t){return t*n.DEG_TO_RAD}},function(t,e){t.exports=function(t,e,i,n,s,r){var o;void 0===n&&(n=0),void 0===s&&(s=0),void 0===r&&(r=1);var a=0,h=t.length;if(1===r)for(o=s;o=0;o--)t[o][e]+=i+a*n,a++;return t}},function(t,e,i){(function(e){var i={};t.exports=i,function(){i._nextId=0,i._seed=0,i._nowStartTime=+new Date,i.extend=function(t,e){var n,s;"boolean"==typeof e?(n=2,s=e):(n=1,s=!0);for(var r=n;r0;e--){var n=Math.floor(i.random()*(e+1)),s=t[e];t[e]=t[n],t[n]=s}return t},i.choose=function(t){return t[Math.floor(i.random()*t.length)]},i.isElement=function(t){return"undefined"!=typeof HTMLElement?t instanceof HTMLElement:!!(t&&t.nodeType&&t.nodeName)},i.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)},i.isFunction=function(t){return"function"==typeof t},i.isPlainObject=function(t){return"object"==typeof t&&t.constructor===Object},i.isString=function(t){return"[object String]"===toString.call(t)},i.clamp=function(t,e,i){return ti?i:t},i.sign=function(t){return t<0?-1:1},i.now=function(){if(window.performance){if(window.performance.now)return window.performance.now();if(window.performance.webkitNow)return window.performance.webkitNow()}return new Date-i._nowStartTime},i.random=function(e,i){return e=void 0!==e?e:0,i=void 0!==i?i:1,e+t()*(i-e)};var t=function(){return i._seed=(9301*i._seed+49297)%233280,i._seed/233280};i.colorToNumber=function(t){return 3==(t=t.replace("#","")).length&&(t=t.charAt(0)+t.charAt(0)+t.charAt(1)+t.charAt(1)+t.charAt(2)+t.charAt(2)),parseInt(t,16)},i.logLevel=1,i.log=function(){console&&i.logLevel>0&&i.logLevel<=3&&console.log.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.info=function(){console&&i.logLevel>0&&i.logLevel<=2&&console.info.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.warn=function(){console&&i.logLevel>0&&i.logLevel<=3&&console.warn.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.nextId=function(){return i._nextId++},i.indexOf=function(t,e){if(t.indexOf)return t.indexOf(e);for(var i=0;i>>16,r=(65280&i)>>>8,o=255&i;t.strokeStyle="rgba("+s+","+r+","+o+","+n+")",t.lineWidth=e.lineWidth}},function(t,e,i){t.exports={DESTROY:i(1168),FADE_IN_COMPLETE:i(1167),FADE_IN_START:i(1166),FADE_OUT_COMPLETE:i(1165),FADE_OUT_START:i(1164),FLASH_COMPLETE:i(1163),FLASH_START:i(1162),PAN_COMPLETE:i(1161),PAN_START:i(1160),POST_RENDER:i(1159),PRE_RENDER:i(1158),SHAKE_COMPLETE:i(1157),SHAKE_START:i(1156),ZOOM_COMPLETE:i(1155),ZOOM_START:i(1154)}},function(t,e,i){var n=i(0),s=i(3),r=new n({initialize:function(t,e,i,n,s,r){void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===s&&(s=0),void 0===r&&(r=0),this.matrix=new Float32Array([t,e,i,n,s,r,0,0,1]),this.decomposedMatrix={translateX:0,translateY:0,scaleX:1,scaleY:1,rotation:0}},a:{get:function(){return this.matrix[0]},set:function(t){this.matrix[0]=t}},b:{get:function(){return this.matrix[1]},set:function(t){this.matrix[1]=t}},c:{get:function(){return this.matrix[2]},set:function(t){this.matrix[2]=t}},d:{get:function(){return this.matrix[3]},set:function(t){this.matrix[3]=t}},e:{get:function(){return this.matrix[4]},set:function(t){this.matrix[4]=t}},f:{get:function(){return this.matrix[5]},set:function(t){this.matrix[5]=t}},tx:{get:function(){return this.matrix[4]},set:function(t){this.matrix[4]=t}},ty:{get:function(){return this.matrix[5]},set:function(t){this.matrix[5]=t}},rotation:{get:function(){return Math.acos(this.a/this.scaleX)*(Math.atan(-this.c/this.a)<0?-1:1)}},scaleX:{get:function(){return Math.sqrt(this.a*this.a+this.c*this.c)}},scaleY:{get:function(){return Math.sqrt(this.b*this.b+this.d*this.d)}},loadIdentity:function(){var t=this.matrix;return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,this},translate:function(t,e){var i=this.matrix;return i[4]=i[0]*t+i[2]*e+i[4],i[5]=i[1]*t+i[3]*e+i[5],this},scale:function(t,e){var i=this.matrix;return i[0]*=t,i[1]*=t,i[2]*=e,i[3]*=e,this},rotate:function(t){var e=Math.sin(t),i=Math.cos(t),n=this.matrix,s=n[0],r=n[1],o=n[2],a=n[3];return n[0]=s*i+o*e,n[1]=r*i+a*e,n[2]=s*-e+o*i,n[3]=r*-e+a*i,this},multiply:function(t,e){var i=this.matrix,n=t.matrix,s=i[0],r=i[1],o=i[2],a=i[3],h=i[4],l=i[5],u=n[0],c=n[1],d=n[2],f=n[3],p=n[4],g=n[5],v=void 0===e?this:e;return v.a=u*s+c*o,v.b=u*r+c*a,v.c=d*s+f*o,v.d=d*r+f*a,v.e=p*s+g*o+h,v.f=p*r+g*a+l,v},multiplyWithOffset:function(t,e,i){var n=this.matrix,s=t.matrix,r=n[0],o=n[1],a=n[2],h=n[3],l=e*r+i*a+n[4],u=e*o+i*h+n[5],c=s[0],d=s[1],f=s[2],p=s[3],g=s[4],v=s[5];return n[0]=c*r+d*a,n[1]=c*o+d*h,n[2]=f*r+p*a,n[3]=f*o+p*h,n[4]=g*r+v*a+l,n[5]=g*o+v*h+u,this},transform:function(t,e,i,n,s,r){var o=this.matrix,a=o[0],h=o[1],l=o[2],u=o[3],c=o[4],d=o[5];return o[0]=t*a+e*l,o[1]=t*h+e*u,o[2]=i*a+n*l,o[3]=i*h+n*u,o[4]=s*a+r*l+c,o[5]=s*h+r*u+d,this},transformPoint:function(t,e,i){void 0===i&&(i={x:0,y:0});var n=this.matrix,s=n[0],r=n[1],o=n[2],a=n[3],h=n[4],l=n[5];return i.x=t*s+e*o+h,i.y=t*r+e*a+l,i},invert:function(){var t=this.matrix,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=e*s-i*n;return t[0]=s/a,t[1]=-i/a,t[2]=-n/a,t[3]=e/a,t[4]=(n*o-s*r)/a,t[5]=-(e*o-i*r)/a,this},copyFrom:function(t){var e=this.matrix;return e[0]=t.a,e[1]=t.b,e[2]=t.c,e[3]=t.d,e[4]=t.e,e[5]=t.f,this},copyFromArray:function(t){var e=this.matrix;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],this},copyToContext:function(t){var e=this.matrix;return t.transform(e[0],e[1],e[2],e[3],e[4],e[5]),t},setToContext:function(t){var e=this.matrix;return t.setTransform(e[0],e[1],e[2],e[3],e[4],e[5]),t},copyToArray:function(t){var e=this.matrix;return void 0===t?t=[e[0],e[1],e[2],e[3],e[4],e[5]]:(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5]),t},setTransform:function(t,e,i,n,s,r){var o=this.matrix;return o[0]=t,o[1]=e,o[2]=i,o[3]=n,o[4]=s,o[5]=r,this},decomposeMatrix:function(){var t=this.decomposedMatrix,e=this.matrix,i=e[0],n=e[1],s=e[2],r=e[3],o=i*r-n*s;if(t.translateX=e[4],t.translateY=e[5],i||n){var a=Math.sqrt(i*i+n*n);t.rotation=n>0?Math.acos(i/a):-Math.acos(i/a),t.scaleX=a,t.scaleY=o/a}else if(s||r){var h=Math.sqrt(s*s+r*r);t.rotation=.5*Math.PI-(r>0?Math.acos(-s/h):-Math.acos(s/h)),t.scaleX=o/h,t.scaleY=h}else t.rotation=0,t.scaleX=0,t.scaleY=0;return t},applyITRS:function(t,e,i,n,s){var r=this.matrix,o=Math.sin(i),a=Math.cos(i);return r[4]=t,r[5]=e,r[0]=a*n,r[1]=o*n,r[2]=-o*s,r[3]=a*s,this},applyInverse:function(t,e,i){void 0===i&&(i=new s);var n=this.matrix,r=n[0],o=n[1],a=n[2],h=n[3],l=n[4],u=n[5],c=1/(r*h+a*-o);return i.x=h*c*t+-a*c*e+(u*a-l*h)*c,i.y=r*c*e+-o*c*t+(-u*r+l*o)*c,i},getX:function(t,e){return t*this.a+e*this.c+this.e},getY:function(t,e){return t*this.b+e*this.d+this.f},getCSSMatrix:function(){var t=this.matrix;return"matrix("+t[0]+","+t[1]+","+t[2]+","+t[3]+","+t[4]+","+t[5]+")"},destroy:function(){this.matrix=null,this.decomposedMatrix=null}});t.exports=r},function(t,e){t.exports=function(t,e,i){return!(t.width<=0||t.height<=0)&&t.x<=e&&t.x+t.width>=e&&t.y<=i&&t.y+t.height>=i}},function(t,e){t.exports=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius}},function(t,e){t.exports=function(t,e){return t.y=e+t.height*t.originY,t}},function(t,e){t.exports=function(t){return t.y-t.height*t.originY}},function(t,e){t.exports=function(t,e){return t.x=e-t.width+t.width*t.originX,t}},function(t,e){t.exports=function(t){return t.x+t.width-t.width*t.originX}},function(t,e){t.exports=function(t,e){return t.x=e+t.width*t.originX,t}},function(t,e){t.exports=function(t){return t.x-t.width*t.originX}},function(t,e){t.exports=function(t,e){return t.y=e-t.height+t.height*t.originY,t}},function(t,e){t.exports=function(t){return t.y+t.height-t.height*t.originY}},function(t,e,i){t.exports={BOOT:i(994),DESTROY:i(993),DRAG_END:i(992),DRAG_ENTER:i(991),DRAG:i(990),DRAG_LEAVE:i(989),DRAG_OVER:i(988),DRAG_START:i(987),DROP:i(986),GAME_OUT:i(985),GAME_OVER:i(984),GAMEOBJECT_DOWN:i(983),GAMEOBJECT_DRAG_END:i(982),GAMEOBJECT_DRAG_ENTER:i(981),GAMEOBJECT_DRAG:i(980),GAMEOBJECT_DRAG_LEAVE:i(979),GAMEOBJECT_DRAG_OVER:i(978),GAMEOBJECT_DRAG_START:i(977),GAMEOBJECT_DROP:i(976),GAMEOBJECT_MOVE:i(975),GAMEOBJECT_OUT:i(974),GAMEOBJECT_OVER:i(973),GAMEOBJECT_POINTER_DOWN:i(972),GAMEOBJECT_POINTER_MOVE:i(971),GAMEOBJECT_POINTER_OUT:i(970),GAMEOBJECT_POINTER_OVER:i(969),GAMEOBJECT_POINTER_UP:i(968),GAMEOBJECT_UP:i(967),MANAGER_BOOT:i(966),MANAGER_PROCESS:i(965),MANAGER_UPDATE:i(964),POINTER_DOWN:i(963),POINTER_DOWN_OUTSIDE:i(962),POINTER_MOVE:i(961),POINTER_OUT:i(960),POINTER_OVER:i(959),POINTER_UP:i(958),POINTER_UP_OUTSIDE:i(957),POINTERLOCK_CHANGE:i(956),PRE_UPDATE:i(955),SHUTDOWN:i(954),START:i(953),UPDATE:i(952)}},function(t,e){t.exports=function(t,e,i,n){void 0===e&&(e=!0);var s=n.baseTileHeight,r=n.tilemapLayer;return r&&(void 0===i&&(i=r.scene.cameras.main),t-=r.y+i.scrollY*(1-r.scrollFactorY),s*=r.scaleY),e?Math.floor(t/s):t/s}},function(t,e){t.exports=function(t,e,i,n){void 0===e&&(e=!0);var s=n.baseTileWidth,r=n.tilemapLayer;return r&&(void 0===i&&(i=r.scene.cameras.main),t-=r.x+i.scrollX*(1-r.scrollFactorX),s*=r.scaleX),e?Math.floor(t/s):t/s}},function(t,e,i){var n=i(0),s=i(15),r=i(22),o=i(7),a=i(2),h=i(4),l=i(8),u=new n({Extends:r,initialize:function(t,e,i,n,o){var u="json";if(l(e)){var c=e;e=a(c,"key"),i=a(c,"url"),n=a(c,"xhrSettings"),u=a(c,"extension",u),o=a(c,"dataKey",o)}var d={type:"json",cache:t.cacheManager.json,extension:u,responseType:"text",key:e,url:i,xhrSettings:n,config:o};r.call(this,t,d),l(i)&&(this.data=o?h(i,o):i,this.state=s.FILE_POPULATED)},onProcess:function(){if(this.state!==s.FILE_POPULATED){this.state=s.FILE_PROCESSING;var t=JSON.parse(this.xhrLoader.responseText),e=this.config;this.data="string"==typeof e?h(t,e,t):t}this.onProcessComplete()}});o.register("json",function(t,e,i,n){if(Array.isArray(t))for(var s=0;sthis.x2?this.x1=t:this.x2=t}},top:{get:function(){return Math.min(this.y1,this.y2)},set:function(t){this.y1<=this.y2?this.y1=t:this.y2=t}},bottom:{get:function(){return Math.max(this.y1,this.y2)},set:function(t){this.y1>this.y2?this.y1=t:this.y2=t}}});t.exports=h},function(t,e){t.exports={SKIP_CHECK:-1,NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16,ERASE:17,SOURCE_IN:18,SOURCE_OUT:19,SOURCE_ATOP:20,DESTINATION_OVER:21,DESTINATION_IN:22,DESTINATION_OUT:23,DESTINATION_ATOP:24,LIGHTER:25,COPY:26,XOR:27}},function(t,e,i){var n=i(0),s=i(13),r=i(270),o=new n({Mixins:[s.Alpha,s.Flip,s.Visible],initialize:function(t,e,i,n,s,r,o,a){this.layer=t,this.index=e,this.x=i,this.y=n,this.width=s,this.height=r,this.baseWidth=void 0!==o?o:s,this.baseHeight=void 0!==a?a:r,this.pixelX=0,this.pixelY=0,this.updatePixelXY(),this.properties={},this.rotation=0,this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceLeft=!1,this.faceRight=!1,this.faceTop=!1,this.faceBottom=!1,this.collisionCallback=null,this.collisionCallbackContext=this,this.tint=16777215,this.physics={}},containsPoint:function(t,e){return!(tthis.right||e>this.bottom)},copy:function(t){return this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.visible=t.visible,this.setFlip(t.flipX,t.flipY),this.tint=t.tint,this.rotation=t.rotation,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext,this},getCollisionGroup:function(){return this.tileset?this.tileset.getTileCollisionGroup(this.index):null},getTileData:function(){return this.tileset?this.tileset.getTileData(this.index):null},getLeft:function(t){var e=this.tilemapLayer;return e?e.tileToWorldX(this.x,t):this.x*this.baseWidth},getRight:function(t){var e=this.tilemapLayer;return e?this.getLeft(t)+this.width*e.scaleX:this.getLeft(t)+this.width},getTop:function(t){var e=this.tilemapLayer;return e?e.tileToWorldY(this.y,t)-(this.height-this.baseHeight)*e.scaleY:this.y*this.baseHeight-(this.height-this.baseHeight)},getBottom:function(t){var e=this.tilemapLayer;return e?this.getTop(t)+this.height*e.scaleY:this.getTop(t)+this.height},getBounds:function(t,e){return void 0===e&&(e=new r),e.x=this.getLeft(),e.y=this.getTop(),e.width=this.getRight()-e.x,e.height=this.getBottom()-e.y,e},getCenterX:function(t){return this.getLeft(t)+this.width/2},getCenterY:function(t){return this.getTop(t)+this.height/2},destroy:function(){this.collisionCallback=void 0,this.collisionCallbackContext=void 0,this.properties=void 0},intersects:function(t,e,i,n){return!(i<=this.pixelX||n<=this.pixelY||t>=this.right||e>=this.bottom)},isInteresting:function(t,e){return t&&e?this.canCollide||this.hasInterestingFace:t?this.collides:!!e&&this.hasInterestingFace},resetCollision:function(t){(void 0===t&&(t=!0),this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,t)&&(this.tilemapLayer&&this.tilemapLayer.calculateFacesAt(this.x,this.y));return this},resetFaces:function(){return this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,this},setCollision:function(t,e,i,n,s){(void 0===e&&(e=t),void 0===i&&(i=t),void 0===n&&(n=t),void 0===s&&(s=!0),this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=n,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=n,s)&&(this.tilemapLayer&&this.tilemapLayer.calculateFacesAt(this.x,this.y));return this},setCollisionCallback:function(t,e){return null===t?(this.collisionCallback=void 0,this.collisionCallbackContext=void 0):(this.collisionCallback=t,this.collisionCallbackContext=e),this},setSize:function(t,e,i,n){return void 0!==t&&(this.width=t),void 0!==e&&(this.height=e),void 0!==i&&(this.baseWidth=i),void 0!==n&&(this.baseHeight=n),this.updatePixelXY(),this},updatePixelXY:function(){return this.pixelX=this.x*this.baseWidth,this.pixelY=this.y*this.baseHeight,this},canCollide:{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}},collides:{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}},hasInterestingFace:{get:function(){return this.faceTop||this.faceBottom||this.faceLeft||this.faceRight}},tileset:{get:function(){var t=this.layer.tilemapLayer;if(t){var e=t.gidMap[this.index];if(e)return e}return null}},tilemapLayer:{get:function(){return this.layer.tilemapLayer}},tilemap:{get:function(){var t=this.tilemapLayer;return t?t.tilemap:null}}});t.exports=o},function(t,e){t.exports=function(t,e){e?t.setCollision(!0,!0,!0,!0,!1):t.resetCollision(!1)}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n){this.loader=t,this.type=e,this.key=i,this.files=n,this.complete=!1,this.pending=n.length,this.failed=0,this.config={};for(var s=0;s=this.x2&&this.x1>=this.x3?this.x1-t:this.x2>=this.x1&&this.x2>=this.x3?this.x2-t:this.x3-t,this.x1-=e,this.x2-=e,this.x3-=e}},top:{get:function(){return Math.min(this.y1,this.y2,this.y3)},set:function(t){var e=0;e=this.y1<=this.y2&&this.y1<=this.y3?this.y1-t:this.y2<=this.y1&&this.y2<=this.y3?this.y2-t:this.y3-t,this.y1-=e,this.y2-=e,this.y3-=e}},bottom:{get:function(){return Math.max(this.y1,this.y2,this.y3)},set:function(t){var e=0;e=this.y1>=this.y2&&this.y1>=this.y3?this.y1-t:this.y2>=this.y1&&this.y2>=this.y3?this.y2-t:this.y3-t,this.y1-=e,this.y2-=e,this.y3-=e}}});t.exports=l},function(t,e,i){var n=i(9);t.exports=function(t,e,i,s,r){var o=t.strokeTint,a=n.getTintAppendFloatAlphaAndSwap(e.strokeColor,e.strokeAlpha*i);o.TL=a,o.TR=a,o.BL=a,o.BR=a;var h=e.pathData,l=h.length-1,u=e.lineWidth,c=u/2,d=h[0]-s,f=h[1]-r;e.closePath||(l-=2);for(var p=2;ps||e>=i||i>s||e+i>s){if(n)throw new Error("Range Error: Values outside acceptable range");return!1}return!0}},function(t,e,i){t.exports={COMPLETE:i(932),DESTROY:i(931),DETUNE:i(930),GLOBAL_DETUNE:i(929),GLOBAL_MUTE:i(928),GLOBAL_RATE:i(927),GLOBAL_VOLUME:i(926),LOOP:i(925),LOOPED:i(924),MUTE:i(923),PAUSE_ALL:i(922),PAUSE:i(921),PLAY:i(920),RATE:i(919),RESUME_ALL:i(918),RESUME:i(917),SEEK:i(916),STOP_ALL:i(915),STOP:i(914),UNLOCKED:i(913),VOLUME:i(912)}},function(t,e){t.exports=function(t){var e={};for(var i in t)Array.isArray(t[i])?e[i]=t[i].slice(0):e[i]=t[i];return e}},function(t,e,i){"use strict";function n(t,e,i){i=i||2;var n,a,h,l,u,f,g,v=e&&e.length,y=v?e[0]*i:t.length,m=s(t,0,y,i,!0),x=[];if(!m||m.next===m.prev)return x;if(v&&(m=function(t,e,i,n){var o,a,h,l,u,f=[];for(o=0,a=e.length;o80*i){n=h=t[0],a=l=t[1];for(var T=i;Th&&(h=u),f>l&&(l=f);g=0!==(g=Math.max(h-n,l-a))?1/g:0}return o(m,x,i,n,a,g),x}function s(t,e,i,n,s){var r,o;if(s===A(t,e,i,n)>0)for(r=e;r=e;r-=n)o=b(r,t[r],t[r+1],o);return o&&m(o,o.next)&&(S(o),o=o.next),o}function r(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!m(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(S(n),(n=e=n.prev)===n.next)break;i=!0}}while(i||n!==e);return e}function o(t,e,i,n,s,c,d){if(t){!d&&c&&function(t,e,i,n){var s=t;do{null===s.z&&(s.z=f(s.x,s.y,e,i,n)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next}while(s!==t);s.prevZ.nextZ=null,s.prevZ=null,function(t){var e,i,n,s,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,n=i,a=0,e=0;e0||h>0&&n;)0!==a&&(0===h||!n||i.z<=n.z)?(s=i,i=i.nextZ,a--):(s=n,n=n.nextZ,h--),r?r.nextZ=s:t=s,s.prevZ=r,r=s;i=n}r.nextZ=null,l*=2}while(o>1)}(s)}(t,n,s,c);for(var p,g,v=t;t.prev!==t.next;)if(p=t.prev,g=t.next,c?h(t,n,s,c):a(t))e.push(p.i/i),e.push(t.i/i),e.push(g.i/i),S(t),t=g.next,v=g.next;else if((t=g)===v){d?1===d?o(t=l(t,e,i),e,i,n,s,c,2):2===d&&u(t,e,i,n,s,c):o(r(t),e,i,n,s,c,1);break}}}function a(t){var e=t.prev,i=t,n=t.next;if(y(e,i,n)>=0)return!1;for(var s=t.next.next;s!==t.prev;){if(g(e.x,e.y,i.x,i.y,n.x,n.y,s.x,s.y)&&y(s.prev,s,s.next)>=0)return!1;s=s.next}return!0}function h(t,e,i,n){var s=t.prev,r=t,o=t.next;if(y(s,r,o)>=0)return!1;for(var a=s.xr.x?s.x>o.x?s.x:o.x:r.x>o.x?r.x:o.x,u=s.y>r.y?s.y>o.y?s.y:o.y:r.y>o.y?r.y:o.y,c=f(a,h,e,i,n),d=f(l,u,e,i,n),p=t.prevZ,v=t.nextZ;p&&p.z>=c&&v&&v.z<=d;){if(p!==t.prev&&p!==t.next&&g(s.x,s.y,r.x,r.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,v!==t.prev&&v!==t.next&&g(s.x,s.y,r.x,r.y,o.x,o.y,v.x,v.y)&&y(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;p&&p.z>=c;){if(p!==t.prev&&p!==t.next&&g(s.x,s.y,r.x,r.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;v&&v.z<=d;){if(v!==t.prev&&v!==t.next&&g(s.x,s.y,r.x,r.y,o.x,o.y,v.x,v.y)&&y(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function l(t,e,i){var n=t;do{var s=n.prev,r=n.next.next;!m(s,r)&&x(s,n,n.next,r)&&T(s,r)&&T(r,s)&&(e.push(s.i/i),e.push(n.i/i),e.push(r.i/i),S(n),S(n.next),n=t=r),n=n.next}while(n!==t);return n}function u(t,e,i,n,s,a){var h=t;do{for(var l=h.next.next;l!==h.prev;){if(h.i!==l.i&&v(h,l)){var u=w(h,l);return h=r(h,h.next),u=r(u,u.next),o(h,e,i,n,s,a),void o(u,e,i,n,s,a)}l=l.next}h=h.next}while(h!==t)}function c(t,e){return t.x-e.x}function d(t,e){if(e=function(t,e){var i,n=e,s=t.x,r=t.y,o=-1/0;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){var a=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=s&&a>o){if(o=a,a===s){if(r===n.y)return n;if(r===n.next.y)return n.next}i=n.x=n.x&&n.x>=u&&s!==n.x&&g(ri.x)&&T(n,t)&&(i=n,d=h),n=n.next;return i}(t,e)){var i=w(e,t);r(i,i.next)}}function f(t,e,i,n,s){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)*s)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*s)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,i=t;do{e.x=0&&(t-o)*(n-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(s-o)*(n-a)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&x(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&T(t,e)&&T(e,t)&&function(t,e){var i=t,n=!1,s=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&i.next.y!==i.y&&s<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)}function y(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function m(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,i,n){return!!(m(t,e)&&m(i,n)||m(t,n)&&m(i,e))||y(t,e,i)>0!=y(t,e,n)>0&&y(i,n,t)>0!=y(i,n,e)>0}function T(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function w(t,e){var i=new _(t.i,t.x,t.y),n=new _(e.i,e.x,e.y),s=t.next,r=e.prev;return t.next=e,e.prev=t,i.next=s,s.prev=i,n.next=i,i.prev=n,r.next=n,n.prev=r,n}function b(t,e,i,n){var s=new _(t,e,i);return n?(s.next=n.next,s.prev=n,n.next.prev=s,n.next=s):(s.prev=s,s.next=s),s}function S(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function _(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,i,n){for(var s=0,r=e,o=i-n;r0&&(n+=t[s-1].length,i.holes.push(n))}return i}},function(t,e,i){var n={};t.exports=n;var s=i(82),r=i(87),o=i(238),a=i(36),h=i(86),l=i(546);!function(){n._inertiaScale=4,n._nextCollidingGroupId=1,n._nextNonCollidingGroupId=-1,n._nextCategory=1,n.create=function(e){var i={id:a.nextId(),type:"body",label:"Body",gameObject:null,parts:[],plugin:{},angle:0,vertices:s.fromPath("L 0 0 L 40 0 L 40 40 L 0 40"),position:{x:0,y:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},previousPositionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:!1,isStatic:!1,isSleeping:!1,ignoreGravity:!1,ignorePointer:!1,motion:0,sleepThreshold:60,density:.001,restitution:0,friction:.1,frictionStatic:.5,frictionAir:.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:.05,timeScale:1,render:{visible:!0,opacity:1,sprite:{xScale:1,yScale:1,xOffset:0,yOffset:0},lineWidth:0},events:null,bounds:null,chamfer:null,circleRadius:0,positionPrev:null,anglePrev:0,parent:null,axes:null,area:0,mass:0,inertia:0,_original:null},n=a.extend(i,e);return t(n,e),n},n.nextGroup=function(t){return t?n._nextNonCollidingGroupId--:n._nextCollidingGroupId++},n.nextCategory=function(){return n._nextCategory=n._nextCategory<<1,n._nextCategory};var t=function(t,e){e=e||{},n.set(t,{bounds:t.bounds||h.create(t.vertices),positionPrev:t.positionPrev||r.clone(t.position),anglePrev:t.anglePrev||t.angle,vertices:t.vertices,parts:t.parts||[t],isStatic:t.isStatic,isSleeping:t.isSleeping,parent:t.parent||t}),s.rotate(t.vertices,t.angle,t.position),l.rotate(t.axes,t.angle),h.update(t.bounds,t.vertices,t.velocity),n.set(t,{axes:e.axes||t.axes,area:e.area||t.area,mass:e.mass||t.mass,inertia:e.inertia||t.inertia});var i=t.isStatic?"#2e2b44":a.choose(["#006BA6","#0496FF","#FFBC42","#D81159","#8F2D56"]);t.render.fillStyle=t.render.fillStyle||i,t.render.strokeStyle=t.render.strokeStyle||"#000",t.render.sprite.xOffset+=-(t.bounds.min.x-t.position.x)/(t.bounds.max.x-t.bounds.min.x),t.render.sprite.yOffset+=-(t.bounds.min.y-t.position.y)/(t.bounds.max.y-t.bounds.min.y)};n.set=function(t,e,i){var s;for(s in"string"==typeof e&&(s=e,(e={})[s]=i),e)if(e.hasOwnProperty(s))switch(i=e[s],s){case"isStatic":n.setStatic(t,i);break;case"isSleeping":o.set(t,i);break;case"mass":n.setMass(t,i);break;case"density":n.setDensity(t,i);break;case"inertia":n.setInertia(t,i);break;case"vertices":n.setVertices(t,i);break;case"position":n.setPosition(t,i);break;case"angle":n.setAngle(t,i);break;case"velocity":n.setVelocity(t,i);break;case"angularVelocity":n.setAngularVelocity(t,i);break;case"parts":n.setParts(t,i);break;default:t[s]=i}},n.setStatic=function(t,e){for(var i=0;i0&&r.rotateAbout(o.position,i,t.position,o.position)}},n.setVelocity=function(t,e){t.positionPrev.x=t.position.x-e.x,t.positionPrev.y=t.position.y-e.y,t.velocity.x=e.x,t.velocity.y=e.y,t.speed=r.magnitude(t.velocity)},n.setAngularVelocity=function(t,e){t.anglePrev=t.angle-e,t.angularVelocity=e,t.angularSpeed=Math.abs(t.angularVelocity)},n.translate=function(t,e){n.setPosition(t,r.add(t.position,e))},n.rotate=function(t,e,i){if(i){var s=Math.cos(e),r=Math.sin(e),o=t.position.x-i.x,a=t.position.y-i.y;n.setPosition(t,{x:i.x+(o*s-a*r),y:i.y+(o*r+a*s)}),n.setAngle(t,t.angle+e)}else n.setAngle(t,t.angle+e)},n.scale=function(t,e,i,r){var o=0,a=0;r=r||t.position;for(var u=0;u0&&(o+=c.area,a+=c.inertia),c.position.x=r.x+(c.position.x-r.x)*e,c.position.y=r.y+(c.position.y-r.y)*i,h.update(c.bounds,c.vertices,t.velocity)}t.parts.length>1&&(t.area=o,t.isStatic||(n.setMass(t,t.density*o),n.setInertia(t,a))),t.circleRadius&&(e===i?t.circleRadius*=e:t.circleRadius=null)},n.update=function(t,e,i,n){var o=Math.pow(e*i*t.timeScale,2),a=1-t.frictionAir*i*t.timeScale,u=t.position.x-t.positionPrev.x,c=t.position.y-t.positionPrev.y;t.velocity.x=u*a*n+t.force.x/t.mass*o,t.velocity.y=c*a*n+t.force.y/t.mass*o,t.positionPrev.x=t.position.x,t.positionPrev.y=t.position.y,t.position.x+=t.velocity.x,t.position.y+=t.velocity.y,t.angularVelocity=(t.angle-t.anglePrev)*a*n+t.torque/t.inertia*o,t.anglePrev=t.angle,t.angle+=t.angularVelocity,t.speed=r.magnitude(t.velocity),t.angularSpeed=Math.abs(t.angularVelocity);for(var d=0;d0&&(f.position.x+=t.velocity.x,f.position.y+=t.velocity.y),0!==t.angularVelocity&&(s.rotate(f.vertices,t.angularVelocity,t.position),l.rotate(f.axes,t.angularVelocity),d>0&&r.rotateAbout(f.position,t.angularVelocity,t.position,f.position)),h.update(f.bounds,f.vertices,t.velocity)}},n.applyForce=function(t,e,i){t.force.x+=i.x,t.force.y+=i.y;var n=e.x-t.position.x,s=e.y-t.position.y;t.torque+=n*i.y-s*i.x},n._totalProperties=function(t){for(var e={mass:0,area:0,inertia:0,centre:{x:0,y:0}},i=1===t.parts.length?0:1;i=0&&y>=0&&v+y<1}},function(t,e,i){t.exports={ADD:i(945),COMPLETE:i(944),FILE_COMPLETE:i(943),FILE_KEY_COMPLETE:i(942),FILE_LOAD_ERROR:i(941),FILE_LOAD:i(940),FILE_PROGRESS:i(939),POST_PROCESS:i(938),PROGRESS:i(937),START:i(936)}},function(t,e,i){var n=i(0),s=i(180),r=i(10),o=i(3),a=new n({initialize:function(t){this.type=t,this.defaultDivisions=5,this.arcLengthDivisions=100,this.cacheArcLengths=[],this.needsUpdate=!0,this.active=!0,this._tmpVec2A=new o,this._tmpVec2B=new o},draw:function(t,e){return void 0===e&&(e=32),t.strokePoints(this.getPoints(e))},getBounds:function(t,e){t||(t=new r),void 0===e&&(e=16);var i=this.getLength();e>i&&(e=i/2);var n=Math.max(1,Math.round(i/e));return s(this.getSpacedPoints(n),t)},getDistancePoints:function(t){var e=this.getLength(),i=Math.max(1,e/t);return this.getSpacedPoints(i)},getEndPoint:function(t){return void 0===t&&(t=new o),this.getPointAt(1,t)},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e,i=[],n=this.getPoint(0,this._tmpVec2A),s=0;i.push(0);for(var r=1;r<=t;r++)s+=(e=this.getPoint(r/t,this._tmpVec2B)).distance(n),i.push(s),n.copy(e);return this.cacheArcLengths=i,i},getPointAt:function(t,e){var i=this.getUtoTmapping(t);return this.getPoint(i,e)},getPoints:function(t){void 0===t&&(t=this.defaultDivisions);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return e},getRandomPoint:function(t){return void 0===t&&(t=new o),this.getPoint(Math.random(),t)},getSpacedPoints:function(t){void 0===t&&(t=this.defaultDivisions);for(var e=[],i=0;i<=t;i++){var n=this.getUtoTmapping(i/t,null,t);e.push(this.getPoint(n))}return e},getStartPoint:function(t){return void 0===t&&(t=new o),this.getPointAt(0,t)},getTangent:function(t,e){void 0===e&&(e=new o);var i=t-1e-4,n=t+1e-4;return i<0&&(i=0),n>1&&(n=1),this.getPoint(i,this._tmpVec2A),this.getPoint(n,e),e.subtract(this._tmpVec2A).normalize()},getTangentAt:function(t,e){var i=this.getUtoTmapping(t);return this.getTangent(i,e)},getTFromDistance:function(t,e){return t<=0?0:this.getUtoTmapping(0,t,e)},getUtoTmapping:function(t,e,i){var n,s=this.getLengths(i),r=0,o=s.length;n=e?Math.min(e,s[o-1]):t*s[o-1];for(var a,h=0,l=o-1;h<=l;)if((a=s[r=Math.floor(h+(l-h)/2)]-n)<0)h=r+1;else{if(!(a>0)){l=r;break}l=r-1}if(s[r=l]===n)return r/(o-1);var u=s[r];return(r+(n-u)/(s[r+1]-u))/(o-1)},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()}});t.exports=a},function(t,e,i){var n=i(0),s=i(43),r=i(438),o=i(437),a=i(206),h=new n({initialize:function(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=t,this.y=e,this._radius=i,this._diameter=2*i},contains:function(t,e){return s(this,t,e)},getPoint:function(t,e){return r(this,t,e)},getPoints:function(t,e,i){return o(this,t,e,i)},getRandomPoint:function(t){return a(this,t)},setTo:function(t,e,i){return this.x=t,this.y=e,this._radius=i,this._diameter=2*i,this},setEmpty:function(){return this._radius=0,this._diameter=0,this},setPosition:function(t,e){return void 0===e&&(e=t),this.x=t,this.y=e,this},isEmpty:function(){return this._radius<=0},radius:{get:function(){return this._radius},set:function(t){this._radius=t,this._diameter=2*t}},diameter:{get:function(){return this._diameter},set:function(t){this._diameter=t,this._radius=.5*t}},left:{get:function(){return this.x-this._radius},set:function(t){this.x=t+this._radius}},right:{get:function(){return this.x+this._radius},set:function(t){this.x=t-this._radius}},top:{get:function(){return this.y-this._radius},set:function(t){this.y=t+this._radius}},bottom:{get:function(){return this.y+this._radius},set:function(t){this.y=t-this._radius}}});t.exports=h},function(t,e){t.exports=function(t){return t.y-t.height*t.originY+.5*t.height}},function(t,e){t.exports=function(t,e){var i=t.height*t.originY;return t.y=e+i-.5*t.height,t}},function(t,e){t.exports=function(t,e){var i=t.width*t.originX;return t.x=e+i-.5*t.width,t}},function(t,e){t.exports=function(t){return t.x-t.width*t.originX+.5*t.width}},function(t,e,i){var n={};t.exports=n;var s=i(87),r=i(36);n.create=function(t,e){for(var i=[],n=0;n0)return!1}return!0},n.scale=function(t,e,i,r){if(1===e&&1===i)return t;var o,a;r=r||n.centre(t);for(var h=0;h=0?h-1:t.length-1],u=t[h],c=t[(h+1)%t.length],d=e[h0&&(r|=2),3===r)return!1;return 0!==r||null},n.hull=function(t){var e,i,n=[],r=[];for((t=t.slice(0)).sort(function(t,e){var i=t.x-e.x;return 0!==i?i:t.y-e.y}),i=0;i=2&&s.cross3(r[r.length-2],r[r.length-1],e)<=0;)r.pop();r.push(e)}for(i=t.length-1;i>=0;i-=1){for(e=t[i];n.length>=2&&s.cross3(n[n.length-2],n[n.length-1],e)<=0;)n.pop();n.push(e)}return n.pop(),r.pop(),n.concat(r)}},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t){void 0===t&&(t={}),this.name=s(t,"name","map"),this.width=s(t,"width",0),this.height=s(t,"height",0),this.tileWidth=s(t,"tileWidth",0),this.tileHeight=s(t,"tileHeight",0),this.widthInPixels=s(t,"widthInPixels",this.width*this.tileWidth),this.heightInPixels=s(t,"heightInPixels",this.height*this.tileHeight),this.format=s(t,"format",null),this.orientation=s(t,"orientation","orthogonal"),this.renderOrder=s(t,"renderOrder","right-down"),this.version=s(t,"version","1"),this.properties=s(t,"properties",{}),this.layers=s(t,"layers",[]),this.images=s(t,"images",[]),this.objects=s(t,"objects",{}),this.collision=s(t,"collision",{}),this.tilesets=s(t,"tilesets",[]),this.imageCollections=s(t,"imageCollections",[]),this.tiles=s(t,"tiles",[])}});t.exports=r},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t){void 0===t&&(t={}),this.name=s(t,"name","layer"),this.x=s(t,"x",0),this.y=s(t,"y",0),this.width=s(t,"width",0),this.height=s(t,"height",0),this.tileWidth=s(t,"tileWidth",0),this.tileHeight=s(t,"tileHeight",0),this.baseTileWidth=s(t,"baseTileWidth",this.tileWidth),this.baseTileHeight=s(t,"baseTileHeight",this.tileHeight),this.widthInPixels=s(t,"widthInPixels",this.width*this.baseTileWidth),this.heightInPixels=s(t,"heightInPixels",this.height*this.baseTileHeight),this.alpha=s(t,"alpha",1),this.visible=s(t,"visible",!0),this.properties=s(t,"properties",{}),this.indexes=s(t,"indexes",[]),this.collideIndexes=s(t,"collideIndexes",[]),this.callbacks=s(t,"callbacks",[]),this.bodies=s(t,"bodies",[]),this.data=s(t,"data",[]),this.tilemapLayer=s(t,"tilemapLayer",null)}});t.exports=r},function(t,e){t.exports=function(t,e,i){return t>=0&&t=0&&et.max.x&&(t.max.x=s.x),s.xt.max.y&&(t.max.y=s.y),s.y0?t.max.x+=i.x:t.min.x+=i.x,i.y>0?t.max.y+=i.y:t.min.y+=i.y)},i.contains=function(t,e){return e.x>=t.min.x&&e.x<=t.max.x&&e.y>=t.min.y&&e.y<=t.max.y},i.overlaps=function(t,e){return t.min.x<=e.max.x&&t.max.x>=e.min.x&&t.max.y>=e.min.y&&t.min.y<=e.max.y},i.translate=function(t,e){t.min.x+=e.x,t.max.x+=e.x,t.min.y+=e.y,t.max.y+=e.y},i.shift=function(t,e){var i=t.max.x-t.min.x,n=t.max.y-t.min.y;t.min.x=e.x,t.max.x=e.x+i,t.min.y=e.y,t.max.y=e.y+n}},function(t,e){var i={};t.exports=i,i.create=function(t,e){return{x:t||0,y:e||0}},i.clone=function(t){return{x:t.x,y:t.y}},i.magnitude=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},i.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y},i.rotate=function(t,e,i){var n=Math.cos(e),s=Math.sin(e);i||(i={});var r=t.x*n-t.y*s;return i.y=t.x*s+t.y*n,i.x=r,i},i.rotateAbout=function(t,e,i,n){var s=Math.cos(e),r=Math.sin(e);n||(n={});var o=i.x+((t.x-i.x)*s-(t.y-i.y)*r);return n.y=i.y+((t.x-i.x)*r+(t.y-i.y)*s),n.x=o,n},i.normalise=function(t){var e=i.magnitude(t);return 0===e?{x:0,y:0}:{x:t.x/e,y:t.y/e}},i.dot=function(t,e){return t.x*e.x+t.y*e.y},i.cross=function(t,e){return t.x*e.y-t.y*e.x},i.cross3=function(t,e,i){return(e.x-t.x)*(i.y-t.y)-(e.y-t.y)*(i.x-t.x)},i.add=function(t,e,i){return i||(i={}),i.x=t.x+e.x,i.y=t.y+e.y,i},i.sub=function(t,e,i){return i||(i={}),i.x=t.x-e.x,i.y=t.y-e.y,i},i.mult=function(t,e){return{x:t.x*e,y:t.y*e}},i.div=function(t,e){return{x:t.x/e,y:t.y/e}},i.perp=function(t,e){return{x:(e=!0===e?-1:1)*-t.y,y:e*t.x}},i.neg=function(t){return{x:-t.x,y:-t.y}},i.angle=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)},i._temp=[i.create(),i.create(),i.create(),i.create(),i.create(),i.create()]},function(t,e,i){var n=i(9);t.exports=function(t,e,i,s,r,o){for(var a=n.getTintAppendFloatAlphaAndSwap(i.fillColor,i.fillAlpha*s),h=i.pathData,l=i.pathIndexes,u=0;u=0;u--)if((l=d[u]).active===i){if(++c===e)break}else l=null;return l?("number"==typeof s&&(l.x=s),"number"==typeof r&&(l.y=r),l):n?this.create(s,r,o,a,h):null},get:function(t,e,i,n,s){return this.getFirst(!1,!0,t,e,i,n,s)},getFirstAlive:function(t,e,i,n,s,r){return this.getFirst(!0,t,e,i,n,s,r)},getFirstDead:function(t,e,i,n,s,r){return this.getFirst(!1,t,e,i,n,s,r)},playAnimation:function(t,e){return n.PlayAnimation(this.children.entries,t,e),this},isFull:function(){return-1!==this.maxSize&&this.children.size>=this.maxSize},countActive:function(t){void 0===t&&(t=!0);for(var e=0,i=0;i=t.length)){for(var i=t.length-1,n=t[e],s=e;s-1&&this.entries.splice(e,1),this},dump:function(){console.group("Set");for(var t=0;t-1},union:function(t){var e=new n;return t.entries.forEach(function(t){e.set(t)}),this.entries.forEach(function(t){e.set(t)}),e},intersect:function(t){var e=new n;return this.entries.forEach(function(i){t.contains(i)&&e.set(i)}),e},difference:function(t){var e=new n;return this.entries.forEach(function(i){t.contains(i)||e.set(i)}),e},size:{get:function(){return this.entries.length},set:function(t){return t=this.firstgid&&t=0&&g<=1&&v>=0&&v<=1&&(i.x=s+g*(o-s),i.y=r+g*(a-r),!0)}},function(t,e,i){var n=i(0),s=i(13),r=i(18),o=i(753),a=new n({Extends:r,Mixins:[s.BlendMode,s.Depth,s.GetBounds,s.Mask,s.Pipeline,s.ScaleMode,s.Size,s.Texture,s.Transform,s.Visible,s.ScrollFactor,o],initialize:function(t,e,i,n,s,o,a,h,l){if(r.call(this,t,"Mesh"),n.length!==s.length)throw new Error("Mesh Vertex count must match UV count");var u,c=n.length/2|0;if(o.length>0&&o.length0&&a.lengthl&&(r=l),o>l&&(o=l),a=s,h=r;;)if(a-1},setAll:function(t,e,i,s){return n.SetAll(this.list,t,e,i,s),this},each:function(t,e){for(var i=[null],n=2;n0?this.list[0]:null}},last:{get:function(){return this.list.length>0?(this.position=this.list.length-1,this.list[this.position]):null}},next:{get:function(){return this.position0?(this.position--,this.list[this.position]):null}}});t.exports=a},function(t,e,i){var n=i(0),s=i(23),r=i(19),o=new n({initialize:function(t,e,i,n,s,r,o){this.texture=t,this.name=e,this.source=t.source[i],this.sourceIndex=i,this.glTexture=this.source.glTexture,this.cutX,this.cutY,this.cutWidth,this.cutHeight,this.x=0,this.y=0,this.width,this.height,this.halfWidth,this.halfHeight,this.centerX,this.centerY,this.pivotX=0,this.pivotY=0,this.customPivot=!1,this.rotated=!1,this.autoRound=-1,this.customData={},this.u0=0,this.v0=0,this.u1=0,this.v1=0,this.data={cut:{x:0,y:0,w:0,h:0,r:0,b:0},trim:!1,sourceSize:{w:0,h:0},spriteSourceSize:{x:0,y:0,w:0,h:0,r:0,b:0},radius:0,drawImage:{x:0,y:0,width:0,height:0}},this.setSize(r,o,n,s)},setSize:function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=0),this.cutX=i,this.cutY=n,this.cutWidth=t,this.cutHeight=e,this.width=t,this.height=e,this.halfWidth=Math.floor(.5*t),this.halfHeight=Math.floor(.5*e),this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2);var s=this.data,r=s.cut;r.x=i,r.y=n,r.w=t,r.h=e,r.r=i+t,r.b=n+e,s.sourceSize.w=t,s.sourceSize.h=e,s.spriteSourceSize.w=t,s.spriteSourceSize.h=e,s.radius=.5*Math.sqrt(t*t+e*e);var o=s.drawImage;return o.x=i,o.y=n,o.width=t,o.height=e,this.updateUVs()},setTrim:function(t,e,i,n,s,r){var o=this.data,a=o.spriteSourceSize;return o.trim=!0,o.sourceSize.w=t,o.sourceSize.h=e,a.x=i,a.y=n,a.w=s,a.h=r,a.r=i+s,a.b=n+r,this.x=i,this.y=n,this.width=s,this.height=r,this.halfWidth=.5*s,this.halfHeight=.5*r,this.centerX=Math.floor(s/2),this.centerY=Math.floor(r/2),this.updateUVs()},setCropUVs:function(t,e,i,n,r,o,a){var h=this.cutX,l=this.cutY,u=this.cutWidth,c=this.cutHeight,d=this.realWidth,f=this.realHeight,p=h+(e=s(e,0,d)),g=l+(i=s(i,0,f)),v=n=s(n,0,d-e),y=r=s(r,0,f-i),m=this.data;if(m.trim){var x=m.spriteSourceSize,T=e+(n=s(n,0,u-e)),w=i+(r=s(r,0,c-i));if(!(x.rT||x.y>w)){var b=Math.max(x.x,e),S=Math.max(x.y,i),_=Math.min(x.r,T)-b,A=Math.min(x.b,w)-S;v=_,y=A,p=o?h+(u-(b-x.x)-_):h+(b-x.x),g=a?l+(c-(S-x.y)-A):l+(S-x.y),e=b,i=S,n=_,r=A}else p=0,g=0,v=0,y=0}else o&&(p=h+(u-e-n)),a&&(g=l+(c-i-r));var E=this.source.width,C=this.source.height;return t.u0=Math.max(0,p/E),t.v0=Math.max(0,g/C),t.u1=Math.min(1,(p+v)/E),t.v1=Math.min(1,(g+y)/C),t.x=e,t.y=i,t.cx=p,t.cy=g,t.cw=v,t.ch=y,t.width=n,t.height=r,t.flipX=o,t.flipY=a,t},updateCropUVs:function(t,e,i){return this.setCropUVs(t,t.x,t.y,t.width,t.height,e,i)},updateUVs:function(){var t=this.cutX,e=this.cutY,i=this.cutWidth,n=this.cutHeight,s=this.data.drawImage;s.width=i,s.height=n;var r=this.source.width,o=this.source.height;return this.u0=t/r,this.v0=e/o,this.u1=(t+i)/r,this.v1=(e+n)/o,this},updateUVsInverted:function(){var t=this.source.width,e=this.source.height;return this.u0=(this.cutX+this.cutHeight)/t,this.v0=this.cutY/e,this.u1=this.cutX/t,this.v1=(this.cutY+this.cutWidth)/e,this},clone:function(){var t=new o(this.texture,this.name,this.sourceIndex);return t.cutX=this.cutX,t.cutY=this.cutY,t.cutWidth=this.cutWidth,t.cutHeight=this.cutHeight,t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t.halfWidth=this.halfWidth,t.halfHeight=this.halfHeight,t.centerX=this.centerX,t.centerY=this.centerY,t.rotated=this.rotated,t.data=r(!0,t.data,this.data),t.updateUVs(),t},destroy:function(){this.texture=null,this.source=null},realWidth:{get:function(){return this.data.sourceSize.w}},realHeight:{get:function(){return this.data.sourceSize.h}},radius:{get:function(){return this.data.radius}},trimmed:{get:function(){return this.data.trim}},canvasData:{get:function(){return this.data.drawImage}}});t.exports=o},function(t,e,i){var n=i(0),s=i(11),r=i(69),o=i(19),a=i(1),h=new n({Extends:s,initialize:function(t,e,i){s.call(this),this.manager=t,this.key=e,this.isPlaying=!1,this.isPaused=!1,this.totalRate=1,this.duration=this.duration||0,this.totalDuration=this.totalDuration||0,this.config={mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0},this.currentConfig=this.config,this.config=o(this.config,i),this.markers={},this.currentMarker=null,this.pendingRemove=!1},addMarker:function(t){return!(!t||!t.name||"string"!=typeof t.name)&&(this.markers[t.name]?(console.error("addMarker "+t.name+" already exists in Sound"),!1):(t=o(!0,{name:"",start:0,duration:this.totalDuration-(t.start||0),config:{mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0}},t),this.markers[t.name]=t,!0))},updateMarker:function(t){return!(!t||!t.name||"string"!=typeof t.name)&&(this.markers[t.name]?(this.markers[t.name]=o(!0,this.markers[t.name],t),!0):(console.warn("Audio Marker: "+t.name+" missing in Sound: "+this.key),!1))},removeMarker:function(t){var e=this.markers[t];return e?(this.markers[t]=null,e):null},play:function(t,e){if(void 0===t&&(t=""),"object"==typeof t&&(e=t,t=""),"string"!=typeof t)return!1;if(t){if(!this.markers[t])return console.warn("Marker: "+t+" missing in Sound: "+this.key),!1;this.currentMarker=this.markers[t],this.currentConfig=this.currentMarker.config,this.duration=this.currentMarker.duration}else this.currentMarker=null,this.currentConfig=this.config,this.duration=this.totalDuration;return this.resetConfig(),this.currentConfig=o(this.currentConfig,e),this.isPlaying=!0,this.isPaused=!1,!0},pause:function(){return!(this.isPaused||!this.isPlaying)&&(this.isPlaying=!1,this.isPaused=!0,!0)},resume:function(){return!(!this.isPaused||this.isPlaying)&&(this.isPlaying=!0,this.isPaused=!1,!0)},stop:function(){return!(!this.isPaused&&!this.isPlaying)&&(this.isPlaying=!1,this.isPaused=!1,this.resetConfig(),!0)},applyConfig:function(){this.mute=this.currentConfig.mute,this.volume=this.currentConfig.volume,this.rate=this.currentConfig.rate,this.detune=this.currentConfig.detune,this.loop=this.currentConfig.loop},resetConfig:function(){this.currentConfig.seek=0,this.currentConfig.delay=0},update:a,calculateRate:function(){var t=this.currentConfig.detune+this.manager.detune,e=Math.pow(1.0005777895065548,t);this.totalRate=this.currentConfig.rate*this.manager.rate*e},destroy:function(){this.pendingRemove||(this.emit(r.DESTROY,this),this.pendingRemove=!0,this.manager=null,this.key="",this.removeAllListeners(),this.isPlaying=!1,this.isPaused=!1,this.config=null,this.currentConfig=null,this.markers=null,this.currentMarker=null)}});t.exports=h},function(t,e,i){var n=i(0),s=i(70),r=i(11),o=i(69),a=i(26),h=i(1),l=new n({Extends:r,initialize:function(t){r.call(this),this.game=t,this.jsonCache=t.cache.json,this.sounds=[],this.mute=!1,this.volume=1,this.pauseOnBlur=!0,this._rate=1,this._detune=0,this.locked=this.locked||!1,this.unlocked=!1,t.events.on(a.BLUR,function(){this.pauseOnBlur&&this.onBlur()},this),t.events.on(a.FOCUS,function(){this.pauseOnBlur&&this.onFocus()},this),t.events.on(a.PRE_STEP,this.update,this),t.events.once(a.DESTROY,this.destroy,this)},add:h,addAudioSprite:function(t,e){void 0===e&&(e={});var i=this.add(t,e);for(var n in i.spritemap=this.jsonCache.get(t).spritemap,i.spritemap)if(i.spritemap.hasOwnProperty(n)){var r=s(e),o=i.spritemap[n];r.loop=!!o.hasOwnProperty("loop")&&o.loop,i.addMarker({name:n,start:o.start,duration:o.end-o.start,config:r})}return i},play:function(t,e){var i=this.add(t);return i.once(o.COMPLETE,i.destroy,i),e?e.name?(i.addMarker(e),i.play(e.name)):i.play(e):i.play()},playAudioSprite:function(t,e,i){var n=this.addAudioSprite(t);return n.once(o.COMPLETE,n.destroy,n),n.play(e,i)},remove:function(t){var e=this.sounds.indexOf(t);return-1!==e&&(t.destroy(),this.sounds.splice(e,1),!0)},removeByKey:function(t){for(var e=0,i=this.sounds.length-1;i>=0;i--){var n=this.sounds[i];n.key===t&&(n.destroy(),this.sounds.splice(i,1),e++)}return e},pauseAll:function(){this.forEachActiveSound(function(t){t.pause()}),this.emit(o.PAUSE_ALL,this)},resumeAll:function(){this.forEachActiveSound(function(t){t.resume()}),this.emit(o.RESUME_ALL,this)},stopAll:function(){this.forEachActiveSound(function(t){t.stop()}),this.emit(o.STOP_ALL,this)},unlock:h,onBlur:h,onFocus:h,update:function(t,e){this.unlocked&&(this.unlocked=!1,this.locked=!1,this.emit(o.UNLOCKED,this));for(var i=this.sounds.length-1;i>=0;i--)this.sounds[i].pendingRemove&&this.sounds.splice(i,1);this.sounds.forEach(function(i){i.update(t,e)})},destroy:function(){this.removeAllListeners(),this.forEachActiveSound(function(t){t.destroy()}),this.sounds.length=0,this.sounds=null,this.game=null},forEachActiveSound:function(t,e){var i=this;this.sounds.forEach(function(n,s){n.pendingRemove||t.call(e||i,n,s,i.sounds)})},setRate:function(t){return this.rate=t,this},rate:{get:function(){return this._rate},set:function(t){this._rate=t,this.forEachActiveSound(function(t){t.calculateRate()}),this.emit(o.GLOBAL_RATE,this,t)}},setDetune:function(t){return this.detune=t,this},detune:{get:function(){return this._detune},set:function(t){this._detune=t,this.forEachActiveSound(function(t){t.calculateRate()}),this.emit(o.GLOBAL_DETUNE,this,t)}}});t.exports=l},function(t,e){t.exports={PENDING:0,INIT:1,START:2,LOADING:3,CREATING:4,RUNNING:5,PAUSED:6,SLEEPING:7,SHUTDOWN:8,DESTROYED:9}},function(t,e){t.exports={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:42,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,NUMPAD_ZERO:96,NUMPAD_ONE:97,NUMPAD_TWO:98,NUMPAD_THREE:99,NUMPAD_FOUR:100,NUMPAD_FIVE:101,NUMPAD_SIX:102,NUMPAD_SEVEN:103,NUMPAD_EIGHT:104,NUMPAD_NINE:105,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,SEMICOLON:186,PLUS:187,COMMA:188,MINUS:189,PERIOD:190,FORWARD_SLASH:191,BACK_SLASH:220,QUOTES:222,BACKTICK:192,OPEN_BRACKET:219,CLOSED_BRACKET:221,SEMICOLON_FIREFOX:59,COLON:58,COMMA_FIREFOX_WINDOWS:60,COMMA_FIREFOX:62,BRACKET_RIGHT_FIREFOX:174,BRACKET_LEFT_FIREFOX:175}},function(t,e,i){t.exports={ADD:i(1049),ERROR:i(1048),LOAD:i(1047),READY:i(1046),REMOVE:i(1045)}},function(t,e){t.exports=function(t,e){return t>0&&0==(t&t-1)&&e>0&&0==(e&e-1)}},function(t,e,i){var n,s=i(99),r={chrome:!1,chromeVersion:0,edge:!1,firefox:!1,firefoxVersion:0,ie:!1,ieVersion:0,mobileSafari:!1,opera:!1,safari:!1,safariVersion:0,silk:!1,trident:!1,tridentVersion:0};t.exports=(n=navigator.userAgent,/Edge\/\d+/.test(n)?r.edge=!0:/Chrome\/(\d+)/.test(n)&&!s.windowsPhone?(r.chrome=!0,r.chromeVersion=parseInt(RegExp.$1,10)):/Firefox\D+(\d+)/.test(n)?(r.firefox=!0,r.firefoxVersion=parseInt(RegExp.$1,10)):/AppleWebKit/.test(n)&&s.iOS?r.mobileSafari=!0:/MSIE (\d+\.\d+);/.test(n)?(r.ie=!0,r.ieVersion=parseInt(RegExp.$1,10)):/Opera/.test(n)?r.opera=!0:/Safari/.test(n)&&!s.windowsPhone?r.safari=!0:/Trident\/(\d+\.\d+)(.*)rv:(\d+\.\d+)/.test(n)&&(r.ie=!0,r.trident=!0,r.tridentVersion=parseInt(RegExp.$1,10),r.ieVersion=parseInt(RegExp.$3,10)),/Silk/.test(n)&&(r.silk=!0),r)},function(t,e){t.exports=function(t,e,i){return(e-t)*i+t}},function(t,e){var i,n="";t.exports={disable:function(t){return""===n&&(n=i(t)),n&&(t[n]=!1),t},enable:function(t){return""===n&&(n=i(t)),n&&(t[n]=!0),t},getPrefix:i=function(t){for(var e=["i","webkitI","msI","mozI","oI"],i=0;iC&&wA&&bs&&(t=s),t},clampY:function(t){var e=this._bounds,i=this.displayHeight,n=e.y+(i-this.height)/2,s=Math.max(n,n+e.height-i);return ts&&(t=s),t},removeBounds:function(){return this.useBounds=!1,this.dirty=!0,this._bounds.setEmpty(),this},setAngle:function(t){return void 0===t&&(t=0),this.rotation=r(t),this},setBackgroundColor:function(t){return void 0===t&&(t="rgba(0,0,0,0)"),this.backgroundColor=u(t),this.transparent=0===this.backgroundColor.alpha,this},setBounds:function(t,e,i,n,s){return void 0===s&&(s=!1),this._bounds.setTo(t,e,i,n),this.dirty=!0,this.useBounds=!0,s?this.centerToBounds():(this.scrollX=this.clampX(this.scrollX),this.scrollY=this.clampY(this.scrollY)),this},getBounds:function(t){void 0===t&&(t=new h);var e=this._bounds;return t.setTo(e.x,e.y,e.width,e.height),t},setName:function(t){return void 0===t&&(t=""),this.name=t,this},setPosition:function(t,e){return void 0===e&&(e=t),this.x=t,this.y=e,this},setRotation:function(t){return void 0===t&&(t=0),this.rotation=t,this},setRoundPixels:function(t){return this.roundPixels=t,this},setScene:function(t){this.scene&&this._customViewport&&this.sceneManager.customViewports--,this.scene=t,this.sceneManager=t.sys.game.scene,this.scaleManager=t.sys.scale;var e=this.scaleManager.resolution;return this.resolution=e,this._cx=this._x*e,this._cy=this._y*e,this._cw=this._width*e,this._ch=this._height*e,this.updateSystem(),this},setScroll:function(t,e){return void 0===e&&(e=t),this.scrollX=t,this.scrollY=e,this},setSize:function(t,e){return void 0===e&&(e=t),this.width=t,this.height=e,this},setViewport:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},setZoom:function(t){return void 0===t&&(t=1),0===t&&(t=.001),this.zoom=t,this},toJSON:function(){var t={name:this.name,x:this.x,y:this.y,width:this.width,height:this.height,zoom:this.zoom,rotation:this.rotation,roundPixels:this.roundPixels,scrollX:this.scrollX,scrollY:this.scrollY,backgroundColor:this.backgroundColor.rgba};return this.useBounds&&(t.bounds={x:this._bounds.x,y:this._bounds.y,width:this._bounds.width,height:this._bounds.height}),t},update:function(){},updateSystem:function(){if(this.scaleManager){var t=0!==this._x||0!==this._y||this.scaleManager.width!==this._width||this.scaleManager.height!==this._height,e=this.sceneManager;t&&!this._customViewport?e.customViewports++:!t&&this._customViewport&&e.customViewports--,this.dirty=!0,this._customViewport=t}},destroy:function(){this.emit(a.DESTROY,this),this.removeAllListeners(),this.matrix.destroy(),this.culledObjects=[],this._customViewport&&this.sceneManager.customViewports--,this._bounds=null,this.scene=null,this.scaleManager=null,this.sceneManager=null},x:{get:function(){return this._x},set:function(t){this._x=t,this._cx=t*this.resolution,this.updateSystem()}},y:{get:function(){return this._y},set:function(t){this._y=t,this._cy=t*this.resolution,this.updateSystem()}},width:{get:function(){return this._width},set:function(t){this._width=t,this._cw=t*this.resolution,this.updateSystem()}},height:{get:function(){return this._height},set:function(t){this._height=t,this._ch=t*this.resolution,this.updateSystem()}},scrollX:{get:function(){return this._scrollX},set:function(t){this._scrollX=t,this.dirty=!0}},scrollY:{get:function(){return this._scrollY},set:function(t){this._scrollY=t,this.dirty=!0}},zoom:{get:function(){return this._zoom},set:function(t){this._zoom=t,this.dirty=!0}},rotation:{get:function(){return this._rotation},set:function(t){this._rotation=t,this.dirty=!0}},centerX:{get:function(){return this.x+.5*this.width}},centerY:{get:function(){return this.y+.5*this.height}},displayWidth:{get:function(){return this.width/this.zoom}},displayHeight:{get:function(){return this.height/this.zoom}}});t.exports=d},function(t,e){t.exports=function(t){for(var e=t.length-1;e>0;e--){var i=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[i],t[i]=n}return t}},function(t,e,i){t.exports={DESTROY:i(1234)}},function(t,e,i){var n=i(0),s=i(420),r=new n({initialize:function(t,e){this.parent=t,this.events=e,e||(this.events=t.events?t.events:t),this.list={},this.values={},this._frozen=!1,!t.hasOwnProperty("sys")&&this.events&&this.events.once("destroy",this.destroy,this)},get:function(t){var e=this.list;if(Array.isArray(t)){for(var i=[],n=0;n0&&s.area(_)1?(f=o.create(r.extend({parts:p.slice(0)},n)),o.setPosition(f,{x:t,y:e}),f):p[0]}},function(t,e){t.exports=function(t,e,i,n,s,r,o,a,h,l,u,c,d){return{target:t,key:e,getEndValue:i,getStartValue:n,ease:s,duration:0,totalDuration:0,delay:0,yoyo:a,hold:0,repeat:0,repeatDelay:0,flipX:c,flipY:d,progress:0,elapsed:0,repeatCounter:0,start:0,current:0,end:0,t1:0,t2:0,gen:{delay:r,duration:o,hold:h,repeat:l,repeatDelay:u},state:0}}},function(t,e,i){var n=i(0),s=i(14),r=i(5),o=i(89),a=new n({initialize:function(t,e,i){this.parent=t,this.parentIsTimeline=t.hasOwnProperty("isTimeline"),this.data=e,this.totalData=e.length,this.targets=i,this.totalTargets=i.length,this.useFrames=!1,this.timeScale=1,this.loop=0,this.loopDelay=0,this.loopCounter=0,this.completeDelay=0,this.countdown=0,this.offset=0,this.calculatedOffset=0,this.state=o.PENDING_ADD,this._pausedState=o.PENDING_ADD,this.paused=!1,this.elapsed=0,this.totalElapsed=0,this.duration=0,this.progress=0,this.totalDuration=0,this.totalProgress=0,this.callbacks={onComplete:null,onLoop:null,onRepeat:null,onStart:null,onUpdate:null,onYoyo:null},this.callbackScope},getValue:function(){return this.data[0].current},setTimeScale:function(t){return this.timeScale=t,this},getTimeScale:function(){return this.timeScale},isPlaying:function(){return this.state===o.ACTIVE},isPaused:function(){return this.state===o.PAUSED},hasTarget:function(t){return-1!==this.targets.indexOf(t)},updateTo:function(t,e,i){void 0===i&&(i=!1);for(var n=0;n0&&(n.totalDuration+=n.t2*n.repeat),n.totalDuration>t&&(t=n.totalDuration)}this.duration=t,this.loopCounter=-1===this.loop?999999999999:this.loop,this.loopCounter>0?this.totalDuration=this.duration+this.completeDelay+(this.duration+this.loopDelay)*this.loopCounter:this.totalDuration=this.duration+this.completeDelay},init:function(){for(var t=this.data,e=this.totalTargets,i=0;i0){this.elapsed=0,this.progress=0,this.loopCounter--;var t=this.callbacks.onLoop;t&&(t.params[1]=this.targets,t.func.apply(t.scope,t.params)),this.resetTweenData(!0),this.loopDelay>0?(this.countdown=this.loopDelay,this.state=o.LOOP_DELAY):this.state=o.ACTIVE}else if(this.completeDelay>0)this.countdown=this.completeDelay,this.state=o.COMPLETE_DELAY;else{var e=this.callbacks.onComplete;e&&(e.params[1]=this.targets,e.func.apply(e.scope,e.params)),this.state=o.PENDING_REMOVE}},pause:function(){if(this.state!==o.PAUSED)return this.paused=!0,this._pausedState=this.state,this.state=o.PAUSED,this},play:function(t){if(this.state===o.ACTIVE)return this;this.state!==o.PENDING_REMOVE&&this.state!==o.REMOVED||(this.init(),this.parent.makeActive(this),t=!0);var e=this.callbacks.onStart;return this.parentIsTimeline?(this.resetTweenData(t),0===this.calculatedOffset?(e&&(e.params[1]=this.targets,e.func.apply(e.scope,e.params)),this.state=o.ACTIVE):(this.countdown=this.calculatedOffset,this.state=o.OFFSET_DELAY)):this.paused?(this.paused=!1,this.parent.makeActive(this)):(this.resetTweenData(t),this.state=o.ACTIVE,e&&(e.params[1]=this.targets,e.func.apply(e.scope,e.params)),this.parent.makeActive(this)),this},resetTweenData:function(t){for(var e=this.data,i=0;i0?(n.elapsed=n.delay,n.state=o.DELAY):n.state=o.PENDING_RENDER}},resume:function(){return this.state===o.PAUSED?(this.paused=!1,this.state=this._pausedState):this.play(),this},seek:function(t){for(var e=this.data,i=0;i=s.totalDuration?(r=1,o=s.duration):n>s.delay&&n<=s.t1?(r=(n=Math.max(0,n-s.delay))/s.t1,o=s.duration*r):n>s.t1&&ns.repeatDelay&&(r=n/s.t1,o=s.duration*r)),s.progress=r,s.elapsed=o;var a=s.ease(s.progress);s.current=s.start+(s.end-s.start)*a,s.target[s.key]=s.current}return this},setCallback:function(t,e,i,n){return this.callbacks[t]={func:e,scope:n,params:i},this},complete:function(t){if(void 0===t&&(t=0),t)this.countdown=t,this.state=o.COMPLETE_DELAY;else{var e=this.callbacks.onComplete;e&&(e.params[1]=this.targets,e.func.apply(e.scope,e.params)),this.state=o.PENDING_REMOVE}return this},stop:function(t){return this.state===o.ACTIVE&&void 0!==t&&this.seek(t),this.state!==o.REMOVED&&(this.state!==o.PAUSED&&this.state!==o.PENDING_ADD||(this.parent._destroy.push(this),this.parent._toProcess++),this.state=o.PENDING_REMOVE),this},update:function(t,e){if(this.state===o.PAUSED)return!1;switch(this.useFrames&&(e=1*this.parent.timeScale),e*=this.timeScale,this.elapsed+=e,this.progress=Math.min(this.elapsed/this.duration,1),this.totalElapsed+=e,this.totalProgress=Math.min(this.totalElapsed/this.totalDuration,1),this.state){case o.ACTIVE:for(var i=!1,n=0;n0){e.repeatCounter--,e.elapsed=i,e.progress=i/e.duration,e.flipX&&e.target.toggleFlipX(),e.flipY&&e.target.toggleFlipY();var s=t.callbacks.onRepeat;return s&&(s.params[1]=e.target,s.func.apply(s.scope,s.params)),e.start=e.getStartValue(e.target,e.key,e.start),e.end=e.getEndValue(e.target,e.key,e.start),e.repeatDelay>0?(e.elapsed=e.repeatDelay-i,e.current=e.start,e.target[e.key]=e.current,o.REPEAT_DELAY):o.PLAYING_FORWARD}return o.COMPLETE},setStateFromStart:function(t,e,i){if(e.repeatCounter>0){e.repeatCounter--,e.elapsed=i,e.progress=i/e.duration,e.flipX&&e.target.toggleFlipX(),e.flipY&&e.target.toggleFlipY();var n=t.callbacks.onRepeat;return n&&(n.params[1]=e.target,n.func.apply(n.scope,n.params)),e.end=e.getEndValue(e.target,e.key,e.start),e.repeatDelay>0?(e.elapsed=e.repeatDelay-i,e.current=e.start,e.target[e.key]=e.current,o.REPEAT_DELAY):o.PLAYING_FORWARD}return o.COMPLETE},updateTweenData:function(t,e,i){switch(e.state){case o.PLAYING_FORWARD:case o.PLAYING_BACKWARD:if(!e.target){e.state=o.COMPLETE;break}var n=e.elapsed,s=e.duration,r=0;(n+=i)>s&&(r=n-s,n=s);var a,h=e.state===o.PLAYING_FORWARD,l=n/s;a=h?e.ease(l):e.ease(1-l),e.current=e.start+(e.end-e.start)*a,e.target[e.key]=e.current,e.elapsed=n,e.progress=l;var u=t.callbacks.onUpdate;u&&(u.params[1]=e.target,u.func.apply(u.scope,u.params)),1===l&&(h?e.hold>0?(e.elapsed=e.hold-r,e.state=o.HOLD_DELAY):e.state=this.setStateFromEnd(t,e,r):e.state=this.setStateFromStart(t,e,r));break;case o.DELAY:e.elapsed-=i,e.elapsed<=0&&(e.elapsed=Math.abs(e.elapsed),e.state=o.PENDING_RENDER);break;case o.REPEAT_DELAY:e.elapsed-=i,e.elapsed<=0&&(e.elapsed=Math.abs(e.elapsed),e.state=o.PLAYING_FORWARD);break;case o.HOLD_DELAY:e.elapsed-=i,e.elapsed<=0&&(e.state=this.setStateFromEnd(t,e,Math.abs(e.elapsed)));break;case o.PENDING_RENDER:e.target?(e.start=e.getStartValue(e.target,e.key,e.target[e.key]),e.end=e.getEndValue(e.target,e.key,e.start),e.current=e.start,e.target[e.key]=e.start,e.state=o.PLAYING_FORWARD):e.state=o.COMPLETE}return e.state!==o.COMPLETE}});a.TYPES=["onComplete","onLoop","onRepeat","onStart","onUpdate","onYoyo"],r.register("tween",function(t){return this.scene.sys.tweens.add(t)}),s.register("tween",function(t){return this.scene.sys.tweens.create(t)}),t.exports=a},function(t,e){t.exports={targets:null,delay:0,duration:1e3,ease:"Power0",easeParams:null,hold:0,repeat:0,repeatDelay:0,yoyo:!1,flipX:!1,flipY:!1}},function(t,e){function i(t){return!!t.getStart&&"function"==typeof t.getStart}function n(t){return!!t.getEnd&&"function"==typeof t.getEnd}var s=function(t,e){var r,o,a=function(t,e,i){return i},h=function(t,e,i){return i},l=typeof e;if("number"===l)a=function(){return e};else if("string"===l){var u=e[0],c=parseFloat(e.substr(2));switch(u){case"+":a=function(t,e,i){return i+c};break;case"-":a=function(t,e,i){return i-c};break;case"*":a=function(t,e,i){return i*c};break;case"/":a=function(t,e,i){return i/c};break;default:a=function(){return parseFloat(e)}}}else"function"===l?a=e:"object"===l&&(i(o=e)||n(o))?(n(e)&&(a=e.getEnd),i(e)&&(h=e.getStart)):e.hasOwnProperty("value")&&(r=s(t,e.value));return r||(r={getEnd:a,getStart:h}),r};t.exports=s},function(t,e,i){var n=i(4);t.exports=function(t){var e=n(t,"targets",null);return null===e?e:("function"==typeof e&&(e=e.call()),Array.isArray(e)||(e=[e]),e)}},function(t,e,i){var n=i(31),s=i(83),r=i(233),o=i(225);t.exports=function(t,e,i,a,h,l,u,c){void 0===i&&(i=32),void 0===a&&(a=32),void 0===h&&(h=10),void 0===l&&(l=10),void 0===c&&(c=!1);var d=null;if(Array.isArray(u))d=r(void 0!==e?e:"map",n.ARRAY_2D,u,i,a,c);else if(void 0!==e){var f=t.cache.tilemap.get(e);f?d=r(e,f.format,f.data,i,a,c):console.warn("No map data found for key "+e)}return null===d&&(d=new s({tileWidth:i,tileHeight:a,width:h,height:l})),new o(t,d)}},function(t,e,i){var n=i(31),s=i(84),r=i(83),o=i(61);t.exports=function(t,e,i,a,h){for(var l=new s({tileWidth:i,tileHeight:a}),u=new r({name:t,tileWidth:i,tileHeight:a,format:n.ARRAY_2D,layers:[l]}),c=[],d=e.length,f=0,p=0;p=0&&r>=0&&s+r<1&&(n.push({x:e[w].x,y:e[w].y}),i)));w++);return n}},function(t,e){t.exports=function(t,e){return!(t.width<=0||t.height<=0||e.width<=0||e.height<=0||t.righte.right||t.y>e.bottom)}},function(t,e,i){var n=i(0),s=i(116),r=new n({Extends:s,initialize:function(t,e,i,n,r){s.call(this,t,e,i,[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,0,0,1,1,1,0],[16777215,16777215,16777215,16777215,16777215,16777215],[1,1,1,1,1,1],n,r),this.resetPosition()},setFrame:function(t){return this.frame=this.texture.get(t),this.frame.cutWidth&&this.frame.cutHeight?this.renderFlags|=8:this.renderFlags&=-9,t=this.frame,this.uv[0]=t.u0,this.uv[1]=t.v0,this.uv[2]=t.u0,this.uv[3]=t.v1,this.uv[4]=t.u1,this.uv[5]=t.v1,this.uv[6]=t.u0,this.uv[7]=t.v0,this.uv[8]=t.u1,this.uv[9]=t.v1,this.uv[10]=t.u1,this.uv[11]=t.v0,this},topLeftX:{get:function(){return this.x+this.vertices[0]},set:function(t){this.vertices[0]=t-this.x,this.vertices[6]=t-this.x}},topLeftY:{get:function(){return this.y+this.vertices[1]},set:function(t){this.vertices[1]=t-this.y,this.vertices[7]=t-this.y}},topRightX:{get:function(){return this.x+this.vertices[10]},set:function(t){this.vertices[10]=t-this.x}},topRightY:{get:function(){return this.y+this.vertices[11]},set:function(t){this.vertices[11]=t-this.y}},bottomLeftX:{get:function(){return this.x+this.vertices[2]},set:function(t){this.vertices[2]=t-this.x}},bottomLeftY:{get:function(){return this.y+this.vertices[3]},set:function(t){this.vertices[3]=t-this.y}},bottomRightX:{get:function(){return this.x+this.vertices[4]},set:function(t){this.vertices[4]=t-this.x,this.vertices[8]=t-this.x}},bottomRightY:{get:function(){return this.y+this.vertices[5]},set:function(t){this.vertices[5]=t-this.y,this.vertices[9]=t-this.y}},topLeftAlpha:{get:function(){return this.alphas[0]},set:function(t){this.alphas[0]=t,this.alphas[3]=t}},topRightAlpha:{get:function(){return this.alphas[5]},set:function(t){this.alphas[5]=t}},bottomLeftAlpha:{get:function(){return this.alphas[1]},set:function(t){this.alphas[1]=t}},bottomRightAlpha:{get:function(){return this.alphas[2]},set:function(t){this.alphas[2]=t,this.alphas[4]=t}},topLeftColor:{get:function(){return this.colors[0]},set:function(t){this.colors[0]=t,this.colors[3]=t}},topRightColor:{get:function(){return this.colors[5]},set:function(t){this.colors[5]=t}},bottomLeftColor:{get:function(){return this.colors[1]},set:function(t){this.colors[1]=t}},bottomRightColor:{get:function(){return this.colors[2]},set:function(t){this.colors[2]=t,this.colors[4]=t}},setTopLeft:function(t,e){return this.topLeftX=t,this.topLeftY=e,this},setTopRight:function(t,e){return this.topRightX=t,this.topRightY=e,this},setBottomLeft:function(t,e){return this.bottomLeftX=t,this.bottomLeftY=e,this},setBottomRight:function(t,e){return this.bottomRightX=t,this.bottomRightY=e,this},resetPosition:function(){var t=this.x,e=this.y,i=Math.floor(this.width/2),n=Math.floor(this.height/2);return this.setTopLeft(t-i,e-n),this.setTopRight(t+i,e-n),this.setBottomLeft(t-i,e+n),this.setBottomRight(t+i,e+n),this},resetAlpha:function(){var t=this.alphas;return t[0]=1,t[1]=1,t[2]=1,t[3]=1,t[4]=1,t[5]=1,this},resetColors:function(){var t=this.colors;return t[0]=16777215,t[1]=16777215,t[2]=16777215,t[3]=16777215,t[4]=16777215,t[5]=16777215,this},reset:function(){return this.resetPosition(),this.resetAlpha(),this.resetColors()}});t.exports=r},function(t,e){t.exports=function(t,e,i){for(var n=!1,s=-1,r=t.points.length-1;++sl){if(0===c){for(var g=f;g.length&&(g=g.slice(0,-1),!((p=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var v=d.substr(g.length);u[c]=v,h+=g}var y=u[c].length?c:c+1,m=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");s[o+1]=m+" "+(s[o+1]||""),r=s.length;break}h+=f,l-=p}n+=h.replace(/[ \n]*$/gi,"")+"\n"}}return n=n.replace(/[\s|\n]*$/gi,"")},basicWordWrap:function(t,e,i){for(var n="",s=t.split(this.splitRegExp),r=0;ro?(h>0&&(n+="\n"),n+=a[h]+" ",o=i-l):(o-=u,n+=a[h],h0&&(a+=u.lineSpacing*p),i.rtl?o=d-o:"right"===i.align?o+=u.width-u.lineWidths[p]:"center"===i.align&&(o+=(u.width-u.lineWidths[p])/2),this.autoRound&&(o=Math.round(o),a=Math.round(a)),i.strokeThickness&&(this.style.syncShadow(e,i.shadowStroke),e.strokeText(h[p],o,a)),i.color&&(this.style.syncShadow(e,i.shadowFill),e.fillText(h[p],o,a));return e.restore(),this.renderer.gl&&(this.frame.source.glTexture=this.renderer.canvasToTexture(t,this.frame.source.glTexture,!0),this.frame.glTexture=this.frame.source.glTexture),this.dirty=!0,this},getTextMetrics:function(){return this.style.getTextMetrics()},text:{get:function(){return this._text},set:function(t){this.setText(t)}},toJSON:function(){var t=o.ToJSON(this),e={autoRound:this.autoRound,text:this._text,style:this.style.toJSON(),padding:{left:this.padding.left,right:this.padding.right,top:this.padding.top,bottom:this.padding.bottom}};return t.data=e,t},preDestroy:function(){this.style.rtl&&c(this.canvas),s.remove(this.canvas),this.texture.destroy()}});t.exports=p},function(t,e,i){var n=i(60),s=i(131),r=i(24),o=i(0),a=i(13),h=i(28),l=i(121),u=i(18),c=i(840),d=i(9),f=i(299),p=new o({Extends:u,Mixins:[a.Alpha,a.BlendMode,a.ComputedSize,a.Crop,a.Depth,a.Flip,a.GetBounds,a.Mask,a.Origin,a.Pipeline,a.ScaleMode,a.ScrollFactor,a.Tint,a.Transform,a.Visible,c],initialize:function(t,e,i,n,o){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=32),void 0===o&&(o=32),u.call(this,t,"RenderTexture"),this.renderer=t.sys.game.renderer,this.textureManager=t.sys.textures,this.globalTint=16777215,this.globalAlpha=1,this.canvas=r.create2D(this,n,o),this.context=this.canvas.getContext("2d"),this.framebuffer=null,this._crop=this.resetCropObject(),this.texture=t.sys.textures.addCanvas(f(),this.canvas),this.frame=this.texture.get(),this._saved=!1,this._eraseMode=!1,this.camera=new s(0,0,n,o),this.dirty=!1,this.gl=null;var a=this.renderer;if(a.type===h.WEBGL){var l=a.gl;this.gl=l,this.drawGameObject=this.batchGameObjectWebGL,this.framebuffer=a.createFramebuffer(n,o,this.frame.source.glTexture,!1)}else a.type===h.CANVAS&&(this.drawGameObject=this.batchGameObjectCanvas);this.camera.setScene(t),this.setPosition(e,i),this.setSize(n,o),this.setOrigin(0,0),this.initPipeline()},setSize:function(t,e){return this.resize(t,e)},resize:function(t,e){if(void 0===e&&(e=t),t!==this.width||e!==this.height){if(this.canvas.width=t,this.canvas.height=e,this.gl){var i=this.gl;this.renderer.deleteTexture(this.frame.source.glTexture),this.renderer.deleteFramebuffer(this.framebuffer),this.frame.source.glTexture=this.renderer.createTexture2D(0,i.NEAREST,i.NEAREST,i.CLAMP_TO_EDGE,i.CLAMP_TO_EDGE,i.RGBA,null,t,e,!1),this.framebuffer=this.renderer.createFramebuffer(t,e,this.frame.source.glTexture,!1),this.frame.glTexture=this.frame.source.glTexture}this.frame.source.width=t,this.frame.source.height=e,this.camera.setSize(t,e),this.frame.setSize(t,e),this.width=t,this.height=e}return this},setGlobalTint:function(t){return this.globalTint=t,this},setGlobalAlpha:function(t){return this.globalAlpha=t,this},saveTexture:function(t){return this.textureManager.renameTexture(this.texture.key,t),this._saved=!0,this.texture},fill:function(t,e){void 0===e&&(e=1);var i=255&(t>>16|0),n=255&(t>>8|0),s=255&(0|t);if(this.gl){var r=this.renderer,o=this.getBounds();r.setFramebuffer(this.framebuffer,!0),this.pipeline.drawFillRect(o.x,o.y,o.right,o.bottom,d.getTintFromFloats(i/255,n/255,s/255,1),e),r.setFramebuffer(null,!0)}else this.context.fillStyle="rgba("+i+","+n+","+s+","+e+")",this.context.fillRect(0,0,this.canvas.width,this.canvas.height);return this},clear:function(){if(this.dirty){var t=this.gl;if(t){var e=this.renderer;e.setFramebuffer(this.framebuffer,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e.setFramebuffer(null,!0)}else{var i=this.context;i.save(),i.setTransform(1,0,0,1,0,0),i.clearRect(0,0,this.canvas.width,this.canvas.height),i.restore()}this.dirty=!1}return this},erase:function(t,e,i){this._eraseMode=!0;var s=this.renderer.currentBlendMode;return this.renderer.setBlendMode(n.ERASE),this.draw(t,e,i,1,16777215),this.renderer.setBlendMode(s),this._eraseMode=!1,this},draw:function(t,e,i,n,s){void 0===n&&(n=this.globalAlpha),s=void 0===s?(this.globalTint>>16)+(65280&this.globalTint)+((255&this.globalTint)<<16):(s>>16)+(65280&s)+((255&s)<<16),Array.isArray(t)||(t=[t]);var r=this.gl;if(this.camera.preRender(1,1),r){var o=this.camera._cx,a=this.camera._cy,h=this.camera._cw,l=this.camera._ch;this.renderer.setFramebuffer(this.framebuffer,!1),this.renderer.pushScissor(o,a,h,l,l);var u=this.pipeline;u.projOrtho(0,this.width,0,this.height,-1e3,1e3),this.batchList(t,e,i,n,s),u.flush(),this.renderer.setFramebuffer(null,!1),this.renderer.popScissor(),u.projOrtho(0,u.width,u.height,0,-1e3,1e3)}else this.renderer.setContext(this.context),this.batchList(t,e,i,n,s),this.renderer.setContext();return this.dirty=!0,this},drawFrame:function(t,e,i,n,s,r){void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=this.globalAlpha),r=void 0===r?(this.globalTint>>16)+(65280&this.globalTint)+((255&this.globalTint)<<16):(r>>16)+(65280&r)+((255&r)<<16);var o=this.gl,a=this.textureManager.getFrame(t,e);if(a){if(this.camera.preRender(1,1),o){var h=this.camera._cx,l=this.camera._cy,u=this.camera._cw,c=this.camera._ch;this.renderer.setFramebuffer(this.framebuffer,!1),this.renderer.pushScissor(h,l,u,c,c);var d=this.pipeline;d.projOrtho(0,this.width,0,this.height,-1e3,1e3),d.batchTextureFrame(a,i,n,r,s,this.camera.matrix,null),d.flush(),this.renderer.setFramebuffer(null,!1),this.renderer.popScissor(),d.projOrtho(0,d.width,d.height,0,-1e3,1e3)}else this.batchTextureFrame(a,i,n,s,r);this.dirty=!0}return this},batchList:function(t,e,i,n,s){for(var r=0;r0?e.defaultFrame=i[0]:e.defaultFrame=this.defaultFrame,this},addEmitter:function(t){return this.emitters.add(t)},createEmitter:function(t){return this.addEmitter(new h(this,t))},addGravityWell:function(t){return this.wells.add(t)},createGravityWell:function(t){return this.addGravityWell(new o(t))},emitParticle:function(t,e,i){for(var n=this.emitters.list,s=0;s-1&&this.fillStyle(this.defaultFillColor,this.defaultFillAlpha),this.defaultStrokeColor>-1&&this.lineStyle(this.defaultStrokeWidth,this.defaultStrokeColor,this.defaultStrokeAlpha),this},generateTexture:function(t,e,i){var n,s,r=this.scene.sys,o=r.game.renderer;if(void 0===e&&(e=r.scale.width),void 0===i&&(i=r.scale.height),T.TargetCamera.setScene(this.scene),T.TargetCamera.setViewport(0,0,e,i),T.TargetCamera.scrollX=this.x,T.TargetCamera.scrollY=this.y,"string"==typeof t)if(r.textures.exists(t)){var a=(n=r.textures.get(t)).getSourceImage();a instanceof HTMLCanvasElement&&(s=a.getContext("2d"))}else s=(n=r.textures.createCanvas(t,e,i)).getSourceImage().getContext("2d");else t instanceof HTMLCanvasElement&&(s=t.getContext("2d"));return s&&(this.renderCanvas(o,this,0,T.TargetCamera,null,s,!1),n&&n.refresh()),this},preDestroy:function(){this.commandBuffer=[]}});T.TargetCamera=new n,t.exports=T},function(t,e,i){var n=i(117),s=i(0),r=i(860),o=new s({Extends:n,Mixins:[r],initialize:function(t,e,i,s,r,o,a){n.call(this,t,e,i,s,r,o,a),this.type="DynamicBitmapText",this.scrollX=0,this.scrollY=0,this.cropWidth=0,this.cropHeight=0,this.displayCallback,this.callbackData={parent:this,color:0,tint:{topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},index:0,charCode:0,x:0,y:0,scale:0,rotation:0,data:0}},setSize:function(t,e){return this.cropWidth=t,this.cropHeight=e,this},setDisplayCallback:function(t){return this.displayCallback=t,this},setScrollX:function(t){return this.scrollX=t,this},setScrollY:function(t){return this.scrollY=t,this}});t.exports=o},function(t,e,i){var n=i(174),s=i(60),r=i(0),o=i(13),a=i(133),h=i(18),l=i(10),u=i(863),c=i(313),d=i(3),f=new r({Extends:h,Mixins:[o.Alpha,o.BlendMode,o.ComputedSize,o.Depth,o.Mask,o.ScrollFactor,o.Transform,o.Visible,u],initialize:function(t,e,i,n){h.call(this,t,"Container"),this.list=[],this.exclusive=!0,this.maxSize=-1,this.position=0,this.localTransform=new o.TransformMatrix,this.tempTransformMatrix=new o.TransformMatrix,this._displayList=t.sys.displayList,this._sortKey="",this._sysEvents=t.sys.events,this.setPosition(e,i),this.clearAlpha(),this.setBlendMode(s.SKIP_CHECK),n&&this.add(n)},originX:{get:function(){return.5}},originY:{get:function(){return.5}},displayOriginX:{get:function(){return.5*this.width}},displayOriginY:{get:function(){return.5*this.height}},setExclusive:function(t){return void 0===t&&(t=!0),this.exclusive=t,this},getBounds:function(t){if(void 0===t&&(t=new l),t.setTo(this.x,this.y,0,0),this.list.length>0)for(var e=this.list,i=new l,n=0;n-1},setAll:function(t,e,i,s){return n.SetAll(this.list,t,e,i,s),this},each:function(t,e){var i,n=[null],s=this.list.slice(),r=s.length;for(i=2;i0?this.list[0]:null}},last:{get:function(){return this.list.length>0?(this.position=this.list.length-1,this.list[this.position]):null}},next:{get:function(){return this.position0?(this.position--,this.list[this.position]):null}},preDestroy:function(){this.removeAll(!!this.exclusive),this.localTransform.destroy(),this.tempTransformMatrix.destroy(),this.list=[],this._displayList=null}});t.exports=f},function(t,e,i){var n=i(867),s=i(864),r=i(0),o=i(13),a=i(121),h=i(18),l=i(120),u=new r({Extends:h,Mixins:[o.Alpha,o.BlendMode,o.Depth,o.Mask,o.Pipeline,o.ScaleMode,o.ScrollFactor,o.Size,o.Texture,o.Transform,o.Visible,n],initialize:function(t,e,i,n,s){h.call(this,t,"Blitter"),this.setTexture(n,s),this.setPosition(e,i),this.initPipeline(),this.children=new l,this.renderList=[],this.dirty=!1},create:function(t,e,i,n,r){void 0===n&&(n=!0),void 0===r&&(r=this.children.length),void 0===i?i=this.frame:i instanceof a||(i=this.texture.get(i));var o=new s(this,t,e,i,n);return this.children.addAt(o,r,!1),this.dirty=!0,o},createFromCallback:function(t,e,i,n){for(var s=this.createMultiple(e,i,n),r=0;r0},getRenderList:function(){return this.dirty&&(this.renderList=this.children.list.filter(this.childCanRender,this),this.dirty=!1),this.renderList},clear:function(){this.children.removeAll(),this.dirty=!0},preDestroy:function(){this.children.destroy(),this.renderList=[]}});t.exports=u},function(t,e){t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=t.length);var n=e+Math.floor(Math.random()*i);return void 0===t[n]?null:t[n]}},function(t,e){t.exports=function(t){if(!Array.isArray(t)||t.length<2||!Array.isArray(t[0]))return!1;for(var e=t[0].length,i=1;i0},isTransitionIn:function(){return this.settings.isTransition},isVisible:function(){return this.settings.visible},setVisible:function(t){return this.settings.visible=t,this},setActive:function(t,e){return t?this.resume(e):this.pause(e)},start:function(t){t&&(this.settings.data=t),this.settings.status=s.START,this.settings.active=!0,this.settings.visible=!0,this.events.emit(o.START,this),this.events.emit(o.READY,this,t)},shutdown:function(t){this.events.off(o.TRANSITION_INIT),this.events.off(o.TRANSITION_START),this.events.off(o.TRANSITION_COMPLETE),this.events.off(o.TRANSITION_OUT),this.settings.status=s.SHUTDOWN,this.settings.active=!1,this.settings.visible=!1,this.events.emit(o.SHUTDOWN,this,t)},destroy:function(){this.settings.status=s.DESTROYED,this.settings.active=!1,this.settings.visible=!1,this.events.emit(o.DESTROY,this),this.events.removeAllListeners();for(var t=["scene","game","anims","cache","plugins","registry","sound","textures","add","camera","displayList","events","make","scenePlugin","updateList"],e=0;e=0;){var a=e[o];-1!==(r=t.indexOf(a))?(n(t,r),i&&i.call(s,a)):e.pop(),o--}return e}},function(t,e,i){var n={CENTER:i(349),ORIENTATION:i(348),SCALE_MODE:i(347),ZOOM:i(346)};t.exports=n},function(t,e){t.exports=function(t,e){var i;if(e)"string"==typeof e?i=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(i=e);else if(t.parentElement)return t;return i||(i=document.body),i.appendChild(t),t}},function(t,e,i){var n=i(10);t.exports=function(t,e){if(void 0===e&&(e=new n),0===t.length)return e;for(var i,s,r,o=Number.MAX_VALUE,a=Number.MAX_VALUE,h=Number.MIN_SAFE_INTEGER,l=Number.MIN_SAFE_INTEGER,u=0;u0&&(n=1/Math.sqrt(n),this.x=t*n,this.y=e*n,this.z=i*n),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},cross:function(t){var e=this.x,i=this.y,n=this.z,s=t.x,r=t.y,o=t.z;return this.x=i*o-n*r,this.y=n*s-e*o,this.z=e*r-i*s,this},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,n=this.y,s=this.z;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this.z=s+e*(t.z-s),this},transformMat3:function(t){var e=this.x,i=this.y,n=this.z,s=t.val;return this.x=e*s[0]+i*s[3]+n*s[6],this.y=e*s[1]+i*s[4]+n*s[7],this.z=e*s[2]+i*s[5]+n*s[8],this},transformMat4:function(t){var e=this.x,i=this.y,n=this.z,s=t.val;return this.x=s[0]*e+s[4]*i+s[8]*n+s[12],this.y=s[1]*e+s[5]*i+s[9]*n+s[13],this.z=s[2]*e+s[6]*i+s[10]*n+s[14],this},transformCoordinates:function(t){var e=this.x,i=this.y,n=this.z,s=t.val,r=e*s[0]+i*s[4]+n*s[8]+s[12],o=e*s[1]+i*s[5]+n*s[9]+s[13],a=e*s[2]+i*s[6]+n*s[10]+s[14],h=e*s[3]+i*s[7]+n*s[11]+s[15];return this.x=r/h,this.y=o/h,this.z=a/h,this},transformQuat:function(t){var e=this.x,i=this.y,n=this.z,s=t.x,r=t.y,o=t.z,a=t.w,h=a*e+r*n-o*i,l=a*i+o*e-s*n,u=a*n+s*i-r*e,c=-s*e-r*i-o*n;return this.x=h*a+c*-s+l*-o-u*-r,this.y=l*a+c*-r+u*-s-h*-o,this.z=u*a+c*-o+h*-r-l*-s,this},project:function(t){var e=this.x,i=this.y,n=this.z,s=t.val,r=s[0],o=s[1],a=s[2],h=s[3],l=s[4],u=s[5],c=s[6],d=s[7],f=s[8],p=s[9],g=s[10],v=s[11],y=s[12],m=s[13],x=s[14],T=1/(e*h+i*d+n*v+s[15]);return this.x=(e*r+i*l+n*f+y)*T,this.y=(e*o+i*u+n*p+m)*T,this.z=(e*a+i*c+n*g+x)*T,this},unproject:function(t,e){var i=t.x,n=t.y,s=t.z,r=t.w,o=this.x-i,a=r-this.y-1-n,h=this.z;return this.x=2*o/s-1,this.y=2*a/r-1,this.z=2*h-1,this.project(e)},reset:function(){return this.x=0,this.y=0,this.z=0,this}});n.ZERO=new n,n.RIGHT=new n(1,0,0),n.LEFT=new n(-1,0,0),n.UP=new n(0,-1,0),n.DOWN=new n(0,1,0),n.FORWARD=new n(0,0,1),n.BACK=new n(0,0,-1),n.ONE=new n(1,1,1),t.exports=n},function(t,e,i){var n=i(20);t.exports=function(t){return t*n.RAD_TO_DEG}},function(t,e){t.exports=function(t,e){return Math.floor(Math.random()*(e-t+1)+t)}},function(t,e){t.exports=function(t,e,i,n,s){var r=.5*(n-e),o=.5*(s-i),a=t*t;return(2*i-2*n+r+o)*(t*a)+(-3*i+3*n-2*r-o)*a+r*t+i}},function(t,e){t.exports=function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)=(t=t.toString()).length)switch(n){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((s=e-t.length)/2);t=new Array(s-r+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t}},function(t,e,i){var n=new(i(0))({initialize:function(t){if(this.entries={},this.size=0,Array.isArray(t))for(var e=0;e=i?1:(t=(t-e)/(i-e))*t*(3-2*t)}},function(t,e){t.exports=function(t,e,i){return(t=Math.max(0,Math.min(1,(t-e)/(i-e))))*t*t*(t*(6*t-15)+10)}},function(t,e){t.exports=function(t,e,i,n,s){var r=n+Math.atan2(t.y-i,t.x-e);return t.x=e+s*Math.cos(r),t.y=i+s*Math.sin(r),t}},function(t,e,i){var n=i(6);t.exports=function(t,e){void 0===e&&(e=new n);var i=t.x2-t.x1,s=t.y2-t.y1,r=t.x3-t.x1,o=t.y3-t.y1,a=Math.random(),h=Math.random();return a+h>=1&&(a=1-a,h=1-h),e.x=t.x1+(i*a+r*h),e.y=t.y1+(s*a+o*h),e}},function(t,e,i){var n=i(6);t.exports=function(t,e){void 0===e&&(e=new n);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return e.x=t.x+s*Math.cos(i)*t.width/2,e.y=t.y+s*Math.sin(i)*t.height/2,e}},function(t,e){var i={defaultPipeline:null,pipeline:null,initPipeline:function(t){void 0===t&&(t="TextureTintPipeline");var e=this.scene.sys.game.renderer;return!!(e&&e.gl&&e.hasPipeline(t))&&(this.defaultPipeline=e.getPipeline(t),this.pipeline=this.defaultPipeline,!0)},setPipeline:function(t){var e=this.scene.sys.game.renderer;return e&&e.gl&&e.hasPipeline(t)&&(this.pipeline=e.getPipeline(t)),this},resetPipeline:function(){return this.pipeline=this.defaultPipeline,null!==this.pipeline},getPipelineName:function(){return this.pipeline.name}};t.exports=i},function(t,e,i){var n=i(6);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=t.x+Math.random()*t.width,e.y=t.y+Math.random()*t.height,e}},function(t,e,i){var n=i(6);t.exports=function(t,e){void 0===e&&(e=new n);var i=Math.random();return e.x=t.x1+i*(t.x2-t.x1),e.y=t.y1+i*(t.y2-t.y1),e}},function(t,e,i){var n=i(58),s=i(6);t.exports=function(t,e,i,r){void 0===r&&(r=[]),e||(e=n(t)/i);for(var o=t.x1,a=t.y1,h=t.x2,l=t.y2,u=0;u=1)return i.x=t.x,i.y=t.y,i;var r=n(t)*e;return e>.5?(r-=t.width+t.height)<=t.width?(i.x=t.right-r,i.y=t.bottom):(i.x=t.x,i.y=t.bottom-(r-t.width)):r<=t.width?(i.x=t.x+r,i.y=t.y):(i.x=t.right,i.y=t.y+(r-t.width)),i}},function(t,e,i){var n=i(23),s=i(0),r=i(11),o=i(136),a=i(434),h=i(433),l=i(4),u=new s({Extends:r,initialize:function(t,e,i){r.call(this),this.manager=t,this.key=e,this.type="frame",this.frames=this.getFrames(t.textureManager,l(i,"frames",[]),l(i,"defaultTextureKey",null)),this.frameRate=l(i,"frameRate",null),this.duration=l(i,"duration",null),null===this.duration&&null===this.frameRate?(this.frameRate=24,this.duration=this.frameRate/this.frames.length*1e3):this.duration&&null===this.frameRate?this.frameRate=this.frames.length/(this.duration/1e3):this.duration=this.frames.length/this.frameRate*1e3,this.msPerFrame=1e3/this.frameRate,this.skipMissedFrames=l(i,"skipMissedFrames",!0),this.delay=l(i,"delay",0),this.repeat=l(i,"repeat",0),this.repeatDelay=l(i,"repeatDelay",0),this.yoyo=l(i,"yoyo",!1),this.showOnStart=l(i,"showOnStart",!1),this.hideOnComplete=l(i,"hideOnComplete",!1),this.paused=!1,this.manager.on(o.PAUSE_ALL,this.pause,this),this.manager.on(o.RESUME_ALL,this.resume,this)},addFrame:function(t){return this.addFrameAt(this.frames.length,t)},addFrameAt:function(t,e){var i=this.getFrames(this.manager.textureManager,e);if(i.length>0){if(0===t)this.frames=i.concat(this.frames);else if(t===this.frames.length)this.frames=this.frames.concat(i);else{var n=this.frames.slice(0,t),s=this.frames.slice(t);this.frames=n.concat(i,s)}this.updateFrameSequence()}return this},checkFrame:function(t){return t>=0&&t0){s.isLast=!0,s.nextFrame=a[0],a[0].prevFrame=s;var v=1/(a.length-1);for(r=0;r=this.frames.length&&(e=0),t.currentAnim!==this&&(t.currentAnim=this,t.frameRate=this.frameRate,t.duration=this.duration,t.msPerFrame=this.msPerFrame,t.skipMissedFrames=this.skipMissedFrames,t._delay=this.delay,t._repeat=this.repeat,t._repeatDelay=this.repeatDelay,t._yoyo=this.yoyo);var i=this.frames[e];0!==e||t.forward||(i=this.getLastFrame()),t.updateFrame(i)},getFrameByProgress:function(t){return t=n(t,0,1),a(t,this.frames,"progress")},nextFrame:function(t){var e=t.currentFrame;e.isLast?t._yoyo?this.handleYoyoFrame(t,!1):t.repeatCounter>0?t._reverse&&t.forward?t.forward=!1:this.repeatAnimation(t):this.completeAnimation(t):this.updateAndGetNextTick(t,e.nextFrame)},handleYoyoFrame:function(t,e){if(e||(e=!1),t._reverse===!e&&t.repeatCounter>0)return t.forward=e,void this.repeatAnimation(t);if(t._reverse===e||0!==t.repeatCounter){t.forward=e;var i=e?t.currentFrame.nextFrame:t.currentFrame.prevFrame;this.updateAndGetNextTick(t,i)}else this.completeAnimation(t)},getLastFrame:function(){return this.frames[this.frames.length-1]},previousFrame:function(t){var e=t.currentFrame;e.isFirst?t._yoyo?this.handleYoyoFrame(t,!0):t.repeatCounter>0?t._reverse&&!t.forward?(t.currentFrame=this.getLastFrame(),this.repeatAnimation(t)):(t.forward=!0,this.repeatAnimation(t)):this.completeAnimation(t):this.updateAndGetNextTick(t,e.prevFrame)},updateAndGetNextTick:function(t,e){t.updateFrame(e),this.getNextTick(t)},removeFrame:function(t){var e=this.frames.indexOf(t);return-1!==e&&this.removeFrameAt(e),this},removeFrameAt:function(t){return this.frames.splice(t,1),this.updateFrameSequence(),this},repeatAnimation:function(t){if(2===t._pendingStop)return this.completeAnimation(t);if(t._repeatDelay>0&&!1===t.pendingRepeat)t.pendingRepeat=!0,t.accumulator-=t.nextTick,t.nextTick+=t._repeatDelay;else if(t.repeatCounter--,t.updateFrame(t.currentFrame[t.forward?"nextFrame":"prevFrame"]),t.isPlaying){this.getNextTick(t),t.pendingRepeat=!1;var e=t.currentFrame,i=t.parent;this.emit(o.ANIMATION_REPEAT,this,e),i.emit(o.SPRITE_ANIMATION_KEY_REPEAT+this.key,this,e,t.repeatCounter,i),i.emit(o.SPRITE_ANIMATION_REPEAT,this,e,t.repeatCounter,i)}},setFrame:function(t){t.forward?this.nextFrame(t):this.previousFrame(t)},toJSON:function(){var t={key:this.key,type:this.type,frames:[],frameRate:this.frameRate,duration:this.duration,skipMissedFrames:this.skipMissedFrames,delay:this.delay,repeat:this.repeat,repeatDelay:this.repeatDelay,yoyo:this.yoyo,showOnStart:this.showOnStart,hideOnComplete:this.hideOnComplete};return this.frames.forEach(function(e){t.frames.push(e.toJSON())}),t},updateFrameSequence:function(){for(var t=this.frames.length,e=1/(t-1),i=0;i1&&(n.prevFrame=this.frames[i-1],n.nextFrame=this.frames[i+1])}return this},pause:function(){return this.paused=!0,this},resume:function(){return this.paused=!1,this},destroy:function(){this.removeAllListeners(),this.manager.off(o.PAUSE_ALL,this.pause,this),this.manager.off(o.RESUME_ALL,this.resume,this),this.manager.remove(this.key);for(var t=0;t1?2-s:s,o=r*Math.cos(i),a=r*Math.sin(i);return e.x=t.x+o*t.radius,e.y=t.y+a*t.radius,e}},function(t,e,i){var n=i(6);t.exports=function(t,e,i){return void 0===i&&(i=new n),i.x=t.x+t.radius*Math.cos(e),i.y=t.y+t.radius*Math.sin(e),i}},function(t,e){t.exports={TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12}},function(t,e,i){var n={};t.exports=n;var s=i(82),r=i(87),o=i(238),a=i(86),h=i(546),l=i(36);n._warming=.4,n._torqueDampen=1,n._minLength=1e-6,n.create=function(t){var e=t;e.bodyA&&!e.pointA&&(e.pointA={x:0,y:0}),e.bodyB&&!e.pointB&&(e.pointB={x:0,y:0});var i=e.bodyA?r.add(e.bodyA.position,e.pointA):e.pointA,n=e.bodyB?r.add(e.bodyB.position,e.pointB):e.pointB,s=r.magnitude(r.sub(i,n));e.length=void 0!==e.length?e.length:s,e.id=e.id||l.nextId(),e.label=e.label||"Constraint",e.type="constraint",e.stiffness=e.stiffness||(e.length>0?1:.7),e.damping=e.damping||0,e.angularStiffness=e.angularStiffness||0,e.angleA=e.bodyA?e.bodyA.angle:e.angleA,e.angleB=e.bodyB?e.bodyB.angle:e.angleB,e.plugin={};var o={visible:!0,lineWidth:2,strokeStyle:"#ffffff",type:"line",anchors:!0};return 0===e.length&&e.stiffness>.1?(o.type="pin",o.anchors=!1):e.stiffness<.9&&(o.type="spring"),e.render=l.extend(o,e.render),e},n.preSolveAll=function(t){for(var e=0;e0&&(c.position.x+=l.x,c.position.y+=l.y),0!==l.angle&&(s.rotate(c.vertices,l.angle,i.position),h.rotate(c.axes,l.angle),u>0&&r.rotateAbout(c.position,l.angle,i.position,c.position)),a.update(c.bounds,c.vertices,i.velocity)}l.angle*=n._warming,l.x*=n._warming,l.y*=n._warming}}}},function(t,e,i){var n={};t.exports=n;var s=i(36);n.on=function(t,e,i){for(var n,s=e.split(" "),r=0;r0){i||(i={}),n=e.split(" ");for(var l=0;l0)||!((e>0?i[n-1].textures[e-1]:i[n-1].texture)===t)},pushBatch:function(t,e){if(0===e)this.batches.push({first:this.vertexCount,texture:t,textures:[]});else{var i=[];i[e-1]=t,this.batches.push({first:this.vertexCount,texture:null,textures:i})}},flush:function(){if(this.flushLocked)return this;this.flushLocked=!0;var t,e,i,n=this.gl,s=this.vertexCount,r=this.topology,o=this.vertexSize,a=this.renderer,h=this.batches,l=h.length,u=0,c=null;if(0===l||0===s)return this.flushLocked=!1,this;n.bufferSubData(n.ARRAY_BUFFER,0,this.bytes.subarray(0,s*o));for(var d=0;d0){for(e=0;e0){for(e=0;e0&&(a.setTexture2D(c.texture,0,!1),n.drawArrays(r,c.first,u)),this.vertexCount=0,h.length=0,this.flushLocked=!1,this},batchSprite:function(t,e,i){this.renderer.setPipeline(this);var n=this._tempMatrix1,s=this._tempMatrix2,r=this._tempMatrix3,o=t.frame,a=o.glTexture,h=o.u0,l=o.v0,c=o.u1,d=o.v1,f=o.x,p=o.y,g=o.cutWidth,v=o.cutHeight,y=-t.displayOriginX+f,m=-t.displayOriginY+p;if(t.isCropped){var x=t._crop;x.flipX===t.flipX&&x.flipY===t.flipY||o.updateCropUVs(x,t.flipX,t.flipY),h=x.u0,l=x.v0,c=x.u1,d=x.v1,g=x.width,v=x.height,f=x.x,p=x.y,y=-t.displayOriginX+f,m=-t.displayOriginY+p}t.flipX&&(y+=g,g*=-1),t.flipY&&(m+=v,v*=-1);var T=y+g,w=m+v;s.applyITRS(t.x,t.y,t.rotation,t.scaleX,t.scaleY),n.copyFrom(e.matrix),i?(n.multiplyWithOffset(i,-e.scrollX*t.scrollFactorX,-e.scrollY*t.scrollFactorY),s.e=t.x,s.f=t.y,n.multiply(s,r)):(s.e-=e.scrollX*t.scrollFactorX,s.f-=e.scrollY*t.scrollFactorY,n.multiply(s,r));var b=r.getX(y,m),S=r.getY(y,m),_=r.getX(y,w),A=r.getY(y,w),E=r.getX(T,w),C=r.getY(T,w),M=r.getX(T,m),P=r.getY(T,m),O=u.getTintAppendFloatAlpha(t._tintTL,e.alpha*t._alphaTL),R=u.getTintAppendFloatAlpha(t._tintTR,e.alpha*t._alphaTR),L=u.getTintAppendFloatAlpha(t._tintBL,e.alpha*t._alphaBL),D=u.getTintAppendFloatAlpha(t._tintBR,e.alpha*t._alphaBR);e.roundPixels&&(b=Math.round(b),S=Math.round(S),_=Math.round(_),A=Math.round(A),E=Math.round(E),C=Math.round(C),M=Math.round(M),P=Math.round(P)),this.setTexture2D(a,0);var F=t._isTinted&&t.tintFill;this.batchQuad(b,S,_,A,E,C,M,P,h,l,c,d,O,R,L,D,F,a,0)},batchQuad:function(t,e,i,n,s,r,o,a,h,l,u,c,d,f,p,g,v,y,m){var x=!1;this.vertexCount+6>this.vertexCapacity&&(this.flush(),x=!0,this.setTexture2D(y,m));var T=this.vertexViewF32,w=this.vertexViewU32,b=this.vertexCount*this.vertexComponentCount-1;return T[++b]=t,T[++b]=e,T[++b]=h,T[++b]=l,T[++b]=v,w[++b]=d,T[++b]=i,T[++b]=n,T[++b]=h,T[++b]=c,T[++b]=v,w[++b]=p,T[++b]=s,T[++b]=r,T[++b]=u,T[++b]=c,T[++b]=v,w[++b]=g,T[++b]=t,T[++b]=e,T[++b]=h,T[++b]=l,T[++b]=v,w[++b]=d,T[++b]=s,T[++b]=r,T[++b]=u,T[++b]=c,T[++b]=v,w[++b]=g,T[++b]=o,T[++b]=a,T[++b]=u,T[++b]=l,T[++b]=v,w[++b]=f,this.vertexCount+=6,x},batchTri:function(t,e,i,n,s,r,o,a,h,l,u,c,d,f,p,g){var v=!1;this.vertexCount+3>this.vertexCapacity&&(this.flush(),this.setTexture2D(p,g),v=!0);var y=this.vertexViewF32,m=this.vertexViewU32,x=this.vertexCount*this.vertexComponentCount-1;return y[++x]=t,y[++x]=e,y[++x]=o,y[++x]=a,y[++x]=f,m[++x]=u,y[++x]=i,y[++x]=n,y[++x]=o,y[++x]=l,y[++x]=f,m[++x]=c,y[++x]=s,y[++x]=r,y[++x]=h,y[++x]=l,y[++x]=f,m[++x]=d,this.vertexCount+=3,v},batchTexture:function(t,e,i,n,s,r,o,a,h,l,u,c,d,f,p,g,v,y,m,x,T,w,b,S,_,A,E,C,M,P,O){this.renderer.setPipeline(this,t);var R=this._tempMatrix1,L=this._tempMatrix2,D=this._tempMatrix3,F=y/i+E,k=m/n+C,I=(y+x)/i+E,B=(m+T)/n+C,Y=o,N=a,X=-g,z=-v;if(t.isCropped){var U=t._crop;Y=U.width,N=U.height,o=U.width,a=U.height;var G=y=U.x,W=m=U.y;c&&(G=x-U.x-U.width),d&&!e.isRenderTexture&&(W=T-U.y-U.height),F=G/i+E,k=W/n+C,I=(G+U.width)/i+E,B=(W+U.height)/n+C,X=-g+y,z=-v+m}d^=!O&&e.isRenderTexture?1:0,c&&(Y*=-1,X+=o),d&&(N*=-1,z+=a);var V=X+Y,H=z+N;L.applyITRS(s,r,u,h,l),R.copyFrom(M.matrix),P?(R.multiplyWithOffset(P,-M.scrollX*f,-M.scrollY*p),L.e=s,L.f=r,R.multiply(L,D)):(L.e-=M.scrollX*f,L.f-=M.scrollY*p,R.multiply(L,D));var j=D.getX(X,z),q=D.getY(X,z),K=D.getX(X,H),J=D.getY(X,H),Z=D.getX(V,H),Q=D.getY(V,H),$=D.getX(V,z),tt=D.getY(V,z);M.roundPixels&&(j=Math.round(j),q=Math.round(q),K=Math.round(K),J=Math.round(J),Z=Math.round(Z),Q=Math.round(Q),$=Math.round($),tt=Math.round(tt)),this.setTexture2D(e,0),this.batchQuad(j,q,K,J,Z,Q,$,tt,F,k,I,B,w,b,S,_,A,e,0)},batchTextureFrame:function(t,e,i,n,s,r,o){this.renderer.setPipeline(this);var a=this._tempMatrix1.copyFrom(r),h=this._tempMatrix2,l=e+t.width,c=i+t.height;o?a.multiply(o,h):h=a;var d=h.getX(e,i),f=h.getY(e,i),p=h.getX(e,c),g=h.getY(e,c),v=h.getX(l,c),y=h.getY(l,c),m=h.getX(l,i),x=h.getY(l,i);this.setTexture2D(t.glTexture,0),n=u.getTintAppendFloatAlpha(n,s),this.batchQuad(d,f,p,g,v,y,m,x,t.u0,t.v0,t.u1,t.v1,n,n,n,n,0,t.glTexture,0)},drawFillRect:function(t,e,i,n,s,r){var o=t+i,a=e+n;this.setTexture2D();var h=u.getTintAppendFloatAlphaAndSwap(s,r);this.batchQuad(t,e,t,a,o,a,o,e,0,0,1,1,h,h,h,h,2)},batchFillRect:function(t,e,i,n,s,r){this.renderer.setPipeline(this);var o=this._tempMatrix3;r&&r.multiply(s,o);var a=t+i,h=e+n,l=o.getX(t,e),u=o.getY(t,e),c=o.getX(t,h),d=o.getY(t,h),f=o.getX(a,h),p=o.getY(a,h),g=o.getX(a,e),v=o.getY(a,e),y=this.currentFrame,m=y.u0,x=y.v0,T=y.u1,w=y.v1;this.batchQuad(l,u,c,d,f,p,g,v,m,x,T,w,this.fillTint.TL,this.fillTint.TR,this.fillTint.BL,this.fillTint.BR,this.tintEffect)},batchFillTriangle:function(t,e,i,n,s,r,o,a){this.renderer.setPipeline(this);var h=this._tempMatrix3;a&&a.multiply(o,h);var l=h.getX(t,e),u=h.getY(t,e),c=h.getX(i,n),d=h.getY(i,n),f=h.getX(s,r),p=h.getY(s,r),g=this.currentFrame,v=g.u0,y=g.v0,m=g.u1,x=g.v1;this.batchTri(l,u,c,d,f,p,v,y,m,x,this.fillTint.TL,this.fillTint.TR,this.fillTint.BL,this.tintEffect)},batchStrokeTriangle:function(t,e,i,n,s,r,o,a,h){var l=this.tempTriangle;l[0].x=t,l[0].y=e,l[0].width=o,l[1].x=i,l[1].y=n,l[1].width=o,l[2].x=s,l[2].y=r,l[2].width=o,l[3].x=t,l[3].y=e,l[3].width=o,this.batchStrokePath(l,o,!1,a,h)},batchFillPath:function(t,e,i){this.renderer.setPipeline(this);var n=this._tempMatrix3;i&&i.multiply(e,n);for(var r,o,a=t.length,h=this.polygonCache,l=this.fillTint.TL,u=this.fillTint.TR,c=this.fillTint.BL,d=this.tintEffect,f=0;f0&&H[4]?this.batchQuad(D,F,P,O,H[0],H[1],H[2],H[3],U,G,W,V,B,Y,N,X,I):(j[0]=D,j[1]=F,j[2]=P,j[3]=O,j[4]=1),h&&j[4]?this.batchQuad(C,M,R,L,j[0],j[1],j[2],j[3],U,G,W,V,B,Y,N,X,I):(H[0]=C,H[1]=M,H[2]=R,H[3]=L,H[4]=1)}}});t.exports=d},function(t,e,i){var n=i(0),s=i(9),r=new n({initialize:function(t){this.name="WebGLPipeline",this.game=t.game,this.view=t.game.canvas,this.resolution=1,this.width=0,this.height=0,this.gl=t.gl,this.vertexCount=0,this.vertexCapacity=t.vertexCapacity,this.renderer=t.renderer,this.vertexData=t.vertices?t.vertices:new ArrayBuffer(t.vertexCapacity*t.vertexSize),this.vertexBuffer=this.renderer.createVertexBuffer(t.vertices?t.vertices:this.vertexData.byteLength,this.gl.STREAM_DRAW),this.program=this.renderer.createProgram(t.vertShader,t.fragShader),this.attributes=t.attributes,this.vertexSize=t.vertexSize,this.topology=t.topology,this.bytes=new Uint8Array(this.vertexData),this.vertexComponentCount=s.getComponentCount(t.attributes,this.gl),this.flushLocked=!1,this.active=!1},boot:function(){},addAttribute:function(t,e,i,n,s){return this.attributes.push({name:t,size:e,type:this.renderer.glFormats[i],normalized:n,offset:s}),this},shouldFlush:function(){return this.vertexCount>=this.vertexCapacity},resize:function(t,e,i){return this.width=t*i,this.height=e*i,this.resolution=i,this},bind:function(){var t=this.gl,e=this.vertexBuffer,i=this.attributes,n=this.program,s=this.renderer,r=this.vertexSize;s.setProgram(n),s.setVertexBuffer(e);for(var o=0;o=0?(t.enableVertexAttribArray(h),t.vertexAttribPointer(h,a.size,a.type,a.normalized,r,a.offset)):t.disableVertexAttribArray(h)}return this},onBind:function(){return this},onPreRender:function(){return this},onRender:function(){return this},onPostRender:function(){return this},flush:function(){if(this.flushLocked)return this;this.flushLocked=!0;var t=this.gl,e=this.vertexCount,i=this.topology,n=this.vertexSize;if(0!==e)return t.bufferSubData(t.ARRAY_BUFFER,0,this.bytes.subarray(0,e*n)),t.drawArrays(i,0,e),this.vertexCount=0,this.flushLocked=!1,this;this.flushLocked=!1},destroy:function(){var t=this.gl;return t.deleteProgram(this.program),t.deleteBuffer(this.vertexBuffer),delete this.program,delete this.vertexBuffer,delete this.gl,this},setFloat1:function(t,e){return this.renderer.setFloat1(this.program,t,e),this},setFloat2:function(t,e,i){return this.renderer.setFloat2(this.program,t,e,i),this},setFloat3:function(t,e,i,n){return this.renderer.setFloat3(this.program,t,e,i,n),this},setFloat4:function(t,e,i,n,s){return this.renderer.setFloat4(this.program,t,e,i,n,s),this},setFloat1v:function(t,e){return this.renderer.setFloat1v(this.program,t,e),this},setFloat2v:function(t,e){return this.renderer.setFloat2v(this.program,t,e),this},setFloat3v:function(t,e){return this.renderer.setFloat3v(this.program,t,e),this},setFloat4v:function(t,e){return this.renderer.setFloat4v(this.program,t,e),this},setInt1:function(t,e){return this.renderer.setInt1(this.program,t,e),this},setInt2:function(t,e,i){return this.renderer.setInt2(this.program,t,e,i),this},setInt3:function(t,e,i,n){return this.renderer.setInt3(this.program,t,e,i,n),this},setInt4:function(t,e,i,n,s){return this.renderer.setInt4(this.program,t,e,i,n,s),this},setMatrix2:function(t,e,i){return this.renderer.setMatrix2(this.program,t,e,i),this},setMatrix3:function(t,e,i){return this.renderer.setMatrix3(this.program,t,e,i),this},setMatrix4:function(t,e,i){return this.renderer.setMatrix4(this.program,t,e,i),this}});t.exports=r},function(t,e,i){var n=i(57);t.exports=function(t){return n(t,-180,180)}},function(t,e,i){var n=i(57);t.exports=function(t){return n(t,-Math.PI,Math.PI)}},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){t.exports={TIMELINE_COMPLETE:i(475),TIMELINE_LOOP:i(474),TIMELINE_PAUSE:i(473),TIMELINE_RESUME:i(472),TIMELINE_START:i(471),TIMELINE_UPDATE:i(470)}},function(t,e,i){var n=i(0),s=i(11),r=i(216),o=i(104),a=i(89),h=new n({Extends:s,initialize:function(t){s.call(this),this.manager=t,this.isTimeline=!0,this.data=[],this.totalData=0,this.useFrames=!1,this.timeScale=1,this.loop=0,this.loopDelay=0,this.loopCounter=0,this.completeDelay=0,this.countdown=0,this.state=a.PENDING_ADD,this._pausedState=a.PENDING_ADD,this.paused=!1,this.elapsed=0,this.totalElapsed=0,this.duration=0,this.progress=0,this.totalDuration=0,this.totalProgress=0,this.callbacks={onComplete:null,onLoop:null,onStart:null,onUpdate:null,onYoyo:null},this.callbackScope},setTimeScale:function(t){return this.timeScale=t,this},getTimeScale:function(){return this.timeScale},isPlaying:function(){return this.state===a.ACTIVE},add:function(t){return this.queue(o(this,t))},queue:function(t){return this.isPlaying()||(t.parent=this,t.parentIsTimeline=!0,this.data.push(t),this.totalData=this.data.length),this},hasOffset:function(t){return null!==t.offset},isOffsetAbsolute:function(t){return"number"==typeof t},isOffsetRelative:function(t){if("string"===typeof t){var e=t[0];if("-"===e||"+"===e)return!0}return!1},getRelativeOffset:function(t,e){var i=t[0],n=parseFloat(t.substr(2)),s=e;switch(i){case"+":s+=n;break;case"-":s-=n}return Math.max(0,s)},calcDuration:function(){for(var t=0,e=0,i=0,n=0;n0?this.totalDuration=this.duration+this.completeDelay+(this.duration+this.loopDelay)*this.loopCounter:this.totalDuration=this.duration+this.completeDelay},init:function(){return this.calcDuration(),this.progress=0,this.totalProgress=0,!this.paused||(this.state=a.PAUSED,!1)},resetTweens:function(t){for(var e=0;e0){this.elapsed=0,this.progress=0,this.loopCounter--;var t=this.callbacks.onLoop;t&&t.func.apply(t.scope,t.params),this.emit(r.TIMELINE_LOOP,this,this.loopCounter),this.resetTweens(!0),this.loopDelay>0?(this.countdown=this.loopDelay,this.state=a.LOOP_DELAY):this.state=a.ACTIVE}else if(this.completeDelay>0)this.countdown=this.completeDelay,this.state=a.COMPLETE_DELAY;else{this.state=a.PENDING_REMOVE;var e=this.callbacks.onComplete;e&&e.func.apply(e.scope,e.params),this.emit(r.TIMELINE_COMPLETE,this)}},update:function(t,e){if(this.state!==a.PAUSED){var i=e;switch(this.useFrames&&(e=1*this.manager.timeScale),e*=this.timeScale,this.elapsed+=e,this.progress=Math.min(this.elapsed/this.duration,1),this.totalElapsed+=e,this.totalProgress=Math.min(this.totalElapsed/this.totalDuration,1),this.state){case a.ACTIVE:for(var n=this.totalData,s=0;s0?Math.floor(v/p.length):h(e,"duration",g.duration),g.delay=h(e,"delay",g.delay),g.easeParams=c(e,"easeParams",g.easeParams),g.ease=a(c(e,"ease",g.ease),g.easeParams),g.hold=h(e,"hold",g.hold),g.repeat=h(e,"repeat",g.repeat),g.repeatDelay=h(e,"repeatDelay",g.repeatDelay),g.yoyo=o(e,"yoyo",g.yoyo),g.flipX=o(e,"flipX",g.flipX),g.flipY=o(e,"flipY",g.flipY);for(var y=0;y0){var t=this.delay+this.delay*this.repeat;return(this.elapsed+this.delay*(this.repeat-this.repeatCount))/t}return this.getProgress()},getRepeatCount:function(){return this.repeatCount},getElapsed:function(){return this.elapsed},getElapsedSeconds:function(){return.001*this.elapsed},remove:function(t){void 0===t&&(t=!1),this.elapsed=this.delay,this.hasDispatched=!t,this.repeatCount=0},destroy:function(){this.callback=void 0,this.callbackScope=void 0,this.args=[]}});t.exports=r},function(t,e,i){var n=i(0),s=i(13),r=i(28),o=i(18),a=i(485),h=i(110),l=i(41),u=i(9),c=new n({Extends:o,Mixins:[s.Alpha,s.BlendMode,s.ComputedSize,s.Depth,s.Flip,s.GetBounds,s.Origin,s.Pipeline,s.ScaleMode,s.Transform,s.Visible,s.ScrollFactor,a],initialize:function(t,e,i,n,s,a){o.call(this,t,"StaticTilemapLayer"),this.isTilemap=!0,this.tilemap=e,this.layerIndex=i,this.layer=e.layers[i],this.layer.tilemapLayer=this,this.tileset=[],this.culledTiles=[],this.skipCull=!1,this.tilesDrawn=0,this.tilesTotal=this.layer.width*this.layer.height,this.cullPaddingX=1,this.cullPaddingY=1,this.cullCallback=h.CullTiles,this.renderer=t.sys.game.renderer,this.vertexBuffer=[],this.bufferData=[],this.vertexViewF32=[],this.vertexViewU32=[],this.dirty=[],this.vertexCount=[],this._renderOrder=0,this._tempMatrix=new l,this.gidMap=[],this.setTilesets(n),this.setAlpha(this.layer.alpha),this.setPosition(s,a),this.setOrigin(),this.setSize(e.tileWidth*this.layer.width,e.tileHeight*this.layer.height),this.updateVBOData(),this.initPipeline("TextureTintPipeline"),t.sys.game.config.renderType===r.WEBGL&&t.sys.game.renderer.onContextRestored(function(){this.updateVBOData()},this)},setTilesets:function(t){var e=[],i=[],n=this.tilemap;Array.isArray(t)||(t=[t]);for(var s=0;sv||!r.visible||(x=this.batchTile(x,r,h,c,d,t,e));else if(1===p)for(o=0;o=0;a--)!(r=f[o][a])||r.indexv||!r.visible||(x=this.batchTile(x,r,h,c,d,t,e));else if(2===p)for(o=u-1;o>=0;o--)for(a=0;av||!r.visible||(x=this.batchTile(x,r,h,c,d,t,e));else if(3===p)for(o=u-1;o>=0;o--)for(a=l-1;a>=0;a--)!(r=f[o][a])||r.indexv||!r.visible||(x=this.batchTile(x,r,h,c,d,t,e));this.dirty[e]=!1,null===y?(y=i.createVertexBuffer(m,n.STATIC_DRAW),this.vertexBuffer[e]=y):(i.setVertexBuffer(y),n.bufferSubData(n.ARRAY_BUFFER,0,m))}return this},batchTile:function(t,e,i,n,s,r,o){var a=i.getTileTextureCoordinates(e.index);if(!a)return t;var h=i.tileWidth,l=i.tileHeight,c=h/2,d=l/2,f=a.x/n,p=a.y/s,g=(a.x+h)/n,v=(a.y+l)/s,y=this._tempMatrix,m=-c,x=-d;e.flipX&&(h*=-1,m+=i.tileWidth),e.flipY&&(l*=-1,x+=i.tileHeight);var T=m+h,w=x+l;y.applyITRS(c+e.pixelX,d+e.pixelY,e.rotation,1,1);var b=u.getTintAppendFloatAlpha(16777215,r.alpha*this.alpha*e.alpha),S=y.getX(m,x),_=y.getY(m,x),A=y.getX(m,w),E=y.getY(m,w),C=y.getX(T,w),M=y.getY(T,w),P=y.getX(T,x),O=y.getY(T,x);r.roundPixels&&(S=Math.round(S),_=Math.round(_),A=Math.round(A),E=Math.round(E),C=Math.round(C),M=Math.round(M),P=Math.round(P),O=Math.round(O));var R=this.vertexViewF32[o],L=this.vertexViewU32[o];return R[++t]=S,R[++t]=_,R[++t]=f,R[++t]=p,R[++t]=0,L[++t]=b,R[++t]=A,R[++t]=E,R[++t]=f,R[++t]=v,R[++t]=0,L[++t]=b,R[++t]=C,R[++t]=M,R[++t]=g,R[++t]=v,R[++t]=0,L[++t]=b,R[++t]=S,R[++t]=_,R[++t]=f,R[++t]=p,R[++t]=0,L[++t]=b,R[++t]=C,R[++t]=M,R[++t]=g,R[++t]=v,R[++t]=0,L[++t]=b,R[++t]=P,R[++t]=O,R[++t]=g,R[++t]=p,R[++t]=0,L[++t]=b,this.vertexCount[o]+=6,t},setRenderOrder:function(t){if("string"==typeof t&&(t=["right-down","left-down","right-up","left-up"].indexOf(t)),t>=0&&t<4){this._renderOrder=t;for(var e=0;e=0&&t<4&&(this._renderOrder=t),this},calculateFacesAt:function(t,e){return a.CalculateFacesAt(t,e,this.layer),this},calculateFacesWithin:function(t,e,i,n){return a.CalculateFacesWithin(t,e,i,n,this.layer),this},createFromTiles:function(t,e,i,n,s){return a.CreateFromTiles(t,e,i,n,s,this.layer)},cull:function(t){return this.cullCallback(this.layer,t,this.culledTiles,this._renderOrder)},copy:function(t,e,i,n,s,r,o){return a.Copy(t,e,i,n,s,r,o,this.layer),this},destroy:function(){this.layer.tilemapLayer===this&&(this.layer.tilemapLayer=void 0),this.tilemap=void 0,this.layer=void 0,this.culledTiles.length=0,this.cullCallback=null,this.gidMap=[],this.tileset=[],o.prototype.destroy.call(this)},fill:function(t,e,i,n,s,r){return a.Fill(t,e,i,n,s,r,this.layer),this},filterTiles:function(t,e,i,n,s,r,o){return a.FilterTiles(t,e,i,n,s,r,o,this.layer)},findByIndex:function(t,e,i){return a.FindByIndex(t,e,i,this.layer)},findTile:function(t,e,i,n,s,r,o){return a.FindTile(t,e,i,n,s,r,o,this.layer)},forEachTile:function(t,e,i,n,s,r,o){return a.ForEachTile(t,e,i,n,s,r,o,this.layer),this},getTileAt:function(t,e,i){return a.GetTileAt(t,e,i,this.layer)},getTileAtWorldXY:function(t,e,i,n){return a.GetTileAtWorldXY(t,e,i,n,this.layer)},getTilesWithin:function(t,e,i,n,s){return a.GetTilesWithin(t,e,i,n,s,this.layer)},getTilesWithinShape:function(t,e,i){return a.GetTilesWithinShape(t,e,i,this.layer)},getTilesWithinWorldXY:function(t,e,i,n,s,r){return a.GetTilesWithinWorldXY(t,e,i,n,s,r,this.layer)},hasTileAt:function(t,e){return a.HasTileAt(t,e,this.layer)},hasTileAtWorldXY:function(t,e,i){return a.HasTileAtWorldXY(t,e,i,this.layer)},putTileAt:function(t,e,i,n){return a.PutTileAt(t,e,i,n,this.layer)},putTileAtWorldXY:function(t,e,i,n,s){return a.PutTileAtWorldXY(t,e,i,n,s,this.layer)},putTilesAt:function(t,e,i,n){return a.PutTilesAt(t,e,i,n,this.layer),this},randomize:function(t,e,i,n,s){return a.Randomize(t,e,i,n,s,this.layer),this},removeTileAt:function(t,e,i,n){return a.RemoveTileAt(t,e,i,n,this.layer)},removeTileAtWorldXY:function(t,e,i,n,s){return a.RemoveTileAtWorldXY(t,e,i,n,s,this.layer)},renderDebug:function(t,e){return a.RenderDebug(t,e,this.layer),this},replaceByIndex:function(t,e,i,n,s,r){return a.ReplaceByIndex(t,e,i,n,s,r,this.layer),this},setSkipCull:function(t){return void 0===t&&(t=!0),this.skipCull=t,this},setCullPadding:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=1),this.cullPaddingX=t,this.cullPaddingY=e,this},setCollision:function(t,e,i){return a.SetCollision(t,e,i,this.layer),this},setCollisionBetween:function(t,e,i,n){return a.SetCollisionBetween(t,e,i,n,this.layer),this},setCollisionByProperty:function(t,e,i){return a.SetCollisionByProperty(t,e,i,this.layer),this},setCollisionByExclusion:function(t,e,i){return a.SetCollisionByExclusion(t,e,i,this.layer),this},setCollisionFromCollisionGroup:function(t,e){return a.SetCollisionFromCollisionGroup(t,e,this.layer),this},setTileIndexCallback:function(t,e,i){return a.SetTileIndexCallback(t,e,i,this.layer),this},setTileLocationCallback:function(t,e,i,n,s,r){return a.SetTileLocationCallback(t,e,i,n,s,r,this.layer),this},shuffle:function(t,e,i,n){return a.Shuffle(t,e,i,n,this.layer),this},swapByIndex:function(t,e,i,n,s,r){return a.SwapByIndex(t,e,i,n,s,r,this.layer),this},tileToWorldX:function(t,e){return a.TileToWorldX(t,e,this.layer)},tileToWorldY:function(t,e){return a.TileToWorldY(t,e,this.layer)},tileToWorldXY:function(t,e,i,n){return a.TileToWorldXY(t,e,i,n,this.layer)},weightedRandomize:function(t,e,i,n,s){return a.WeightedRandomize(t,e,i,n,s,this.layer),this},worldToTileX:function(t,e,i){return a.WorldToTileX(t,e,i,this.layer)},worldToTileY:function(t,e,i){return a.WorldToTileY(t,e,i,this.layer)},worldToTileXY:function(t,e,i,n,s){return a.WorldToTileXY(t,e,i,n,s,this.layer)}});t.exports=h},function(t,e,i){var n=i(0),s=i(34),r=i(224),o=i(19),a=i(31),h=i(84),l=i(373),u=i(223),c=i(61),d=i(110),f=i(106),p=new n({initialize:function(t,e){this.scene=t,this.tileWidth=e.tileWidth,this.tileHeight=e.tileHeight,this.width=e.width,this.height=e.height,this.orientation=e.orientation,this.renderOrder=e.renderOrder,this.format=e.format,this.version=e.version,this.properties=e.properties,this.widthInPixels=e.widthInPixels,this.heightInPixels=e.heightInPixels,this.imageCollections=e.imageCollections,this.images=e.images,this.layers=e.layers,this.tilesets=e.tilesets,this.objects=e.objects,this.currentLayerIndex=0},setRenderOrder:function(t){var e=["right-down","left-down","right-up","left-up"];return"number"==typeof t&&(t=e[t]),e.indexOf(t)>-1&&(this.renderOrder=t),this},addTilesetImage:function(t,e,i,n,s,r,o){if(void 0===t)return null;if(void 0!==e&&null!==e||(e=t),!this.scene.sys.textures.exists(e))return console.warn("Invalid Tileset Image: "+e),null;var h=this.scene.sys.textures.get(e),l=this.getTilesetIndex(t);if(null===l&&this.format===a.TILED_JSON)return console.warn("No data found for Tileset: "+t),null;var u=this.tilesets[l];return u?(u.setTileSize(i,n),u.setSpacing(s,r),u.setImage(h),u):(void 0===i&&(i=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===s&&(s=0),void 0===r&&(r=0),void 0===o&&(o=0),(u=new f(t,o,i,n,s,r)).setImage(h),this.tilesets.push(u),u)},convertLayerToStatic:function(t){if(null===(t=this.getLayer(t)))return null;var e=t.tilemapLayer;if(!(e&&e instanceof r))return null;var i=new u(e.scene,e.tilemap,e.layerIndex,e.tileset,e.x,e.y);return this.scene.sys.displayList.add(i),e.destroy(),i},copy:function(t,e,i,n,s,r,o,a){return a=this.getLayer(a),this._isStaticCall(a,"copy")?this:(null!==a&&d.Copy(t,e,i,n,s,r,o,a),this)},createBlankDynamicLayer:function(t,e,i,n,s,o,a,l){if(void 0===a&&(a=e.tileWidth),void 0===l&&(l=e.tileHeight),void 0===s&&(s=this.width),void 0===o&&(o=this.height),void 0===i&&(i=0),void 0===n&&(n=0),null!==this.getLayerIndex(t))return console.warn("Invalid Tilemap Layer ID: "+t),null;for(var u,d=new h({name:t,tileWidth:a,tileHeight:l,width:s,height:o}),f=0;fa&&(a=e.layer[l].width),e.layer[l].height>h&&(h=e.layer[l].height);var u=new s({width:a,height:h,name:t,tileWidth:e.layer[0].tilesize,tileHeight:e.layer[0].tilesize,format:n.WELTMEISTER});return u.layers=r(e,i),u.tilesets=o(e),u}},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t){void 0===t&&(t={}),this.name=s(t,"name","object layer"),this.opacity=s(t,"opacity",1),this.properties=s(t,"properties",{}),this.propertyTypes=s(t,"propertytypes",{}),this.type=s(t,"type","objectgroup"),this.visible=s(t,"visible",!0),this.objects=s(t,"objects",[])}});t.exports=r},function(t,e,i){var n=i(494),s=i(230),r=function(t){return{x:t.x,y:t.y}},o=["id","name","type","rotation","properties","visible","x","y","width","height"];t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=0);var a=n(t,o);if(a.x+=e,a.y+=i,t.gid){var h=s(t.gid);a.gid=h.gid,a.flippedHorizontal=h.flippedHorizontal,a.flippedVertical=h.flippedVertical,a.flippedAntiDiagonal=h.flippedAntiDiagonal}else t.polyline?a.polyline=t.polyline.map(r):t.polygon?a.polygon=t.polygon.map(r):t.ellipse?(a.ellipse=t.ellipse,a.width=t.width,a.height=t.height):t.text?(a.width=t.width,a.height=t.height,a.text=t.text):(a.rectangle=!0,a.width=t.width,a.height=t.height);return a}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n,s,r,o){(void 0===i||i<=0)&&(i=32),(void 0===n||n<=0)&&(n=32),void 0===s&&(s=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|n,this.imageMargin=0|s,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},containsImageIndex:function(t){return t>=this.firstgid&&t-1}return!1}},function(t,e,i){var n=i(21);t.exports=function(t,e,i,s,r,o,a){for(var h=n(i,s,r,o,null,a),l=0;l0&&r.motion=r.sleepThreshold&&n.set(r,!0)):r.sleepCounter>0&&(r.sleepCounter-=1)}else n.set(r,!1)}},n.afterCollisions=function(t,e){for(var i=e*e*e,s=0;sn._motionWakeThreshold*i&&n.set(l,!1)}}}},n.set=function(t,e){var i=t.isSleeping;e?(t.isSleeping=!0,t.sleepCounter=t.sleepThreshold,t.positionImpulse.x=0,t.positionImpulse.y=0,t.positionPrev.x=t.position.x,t.positionPrev.y=t.position.y,t.anglePrev=t.angle,t.speed=0,t.angularSpeed=0,t.motion=0,i||s.trigger(t,"sleepStart")):(t.isSleeping=!1,t.sleepCounter=0,i&&s.trigger(t,"sleepEnd"))}},function(t,e){t.exports={NONE:0,A:1,B:2,BOTH:3}},function(t,e){t.exports={NEVER:0,LITE:1,PASSIVE:2,ACTIVE:4,FIXED:8}},function(t,e,i){var n=i(43),s=i(0),r=i(38),o=i(42),a=i(3),h=new s({initialize:function(t,e){var i=e.width?e.width:64,n=e.height?e.height:64;this.world=t,this.gameObject=e,this.debugShowBody=t.defaults.debugShowStaticBody,this.debugBodyColor=t.defaults.staticBodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new a,this.position=new a(e.x-e.displayOriginX,e.y-e.displayOriginY),this.width=i,this.height=n,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center=new a(e.x+this.halfWidth,e.y+this.halfHeight),this.velocity=a.ZERO,this.allowGravity=!1,this.gravity=a.ZERO,this.bounce=a.ZERO,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.mass=1,this.immovable=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.physicsType=r.STATIC_BODY,this._dx=0,this._dy=0},setGameObject:function(t,e){return t&&t!==this.gameObject&&(this.gameObject.body=null,t.body=this,this.gameObject=t),e&&this.updateFromGameObject(),this},updateFromGameObject:function(){this.world.staticTree.remove(this);var t=this.gameObject;return t.getTopLeft(this.position),this.width=t.displayWidth,this.height=t.displayHeight,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.world.staticTree.insert(this),this},setOffset:function(t,e){return void 0===e&&(e=t),this.world.staticTree.remove(this),this.position.x-=this.offset.x,this.position.y-=this.offset.y,this.offset.set(t,e),this.position.x+=this.offset.x,this.position.y+=this.offset.y,this.updateCenter(),this.world.staticTree.insert(this),this},setSize:function(t,e,i,n){void 0===i&&(i=this.offset.x),void 0===n&&(n=this.offset.y);var s=this.gameObject;return!t&&s.frame&&(t=s.frame.realWidth),!e&&s.frame&&(e=s.frame.realHeight),this.world.staticTree.remove(this),this.width=t,this.height=e,this.halfWidth=Math.floor(t/2),this.halfHeight=Math.floor(e/2),this.offset.set(i,n),this.updateCenter(),this.isCircle=!1,this.radius=0,this.world.staticTree.insert(this),this},setCircle:function(t,e,i){return void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.world.staticTree.remove(this),this.isCircle=!0,this.radius=t,this.width=2*t,this.height=2*t,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(e,i),this.updateCenter(),this.world.staticTree.insert(this)):this.isCircle=!1,this},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(t,e){var i=this.gameObject;void 0===t&&(t=i.x),void 0===e&&(e=i.y),this.world.staticTree.remove(this),i.setPosition(t,e),i.getTopLeft(this.position),this.updateCenter(),this.world.staticTree.insert(this)},stop:function(){return this},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?n(this,t,e):o(this,t,e)},postUpdate:function(){},deltaAbsX:function(){return 0},deltaAbsY:function(){return 0},deltaX:function(){return 0},deltaY:function(){return 0},deltaZ:function(){return 0},destroy:function(){this.enable=!1,this.world.pendingDestroy.set(this)},drawDebug:function(t){var e=this.position,i=e.x+this.halfWidth,n=e.y+this.halfHeight;this.debugShowBody&&(t.lineStyle(1,this.debugBodyColor,1),this.isCircle?t.strokeCircle(i,n,this.width/2):t.strokeRect(e.x,e.y,this.width,this.height))},willDrawDebug:function(){return this.debugShowBody},setMass:function(t){return t<=0&&(t=.1),this.mass=t,this},x:{get:function(){return this.position.x},set:function(t){this.world.staticTree.remove(this),this.position.x=t,this.world.staticTree.insert(this)}},y:{get:function(){return this.position.y},set:function(t){this.world.staticTree.remove(this),this.position.y=t,this.world.staticTree.insert(this)}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});t.exports=h},function(t,e){t.exports=function(t,e){return!(e.right<=t.left||e.bottom<=t.top||e.position.x>=t.right||e.position.y>=t.bottom)}},function(t,e,i){var n=i(317);function s(t){if(!(this instanceof s))return new s(t,[".left",".top",".right",".bottom"]);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}function r(t,e,i){if(!i)return e.indexOf(t);for(var n=0;n=t.minX&&e.maxY>=t.minY}function g(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function v(t,e,i,s,r){for(var o,a=[e,i];a.length;)(i=a.pop())-(e=a.pop())<=s||(o=e+Math.ceil((i-e)/s/2)*s,n(t,o,e,i,r),a.push(e,o,o,i))}s.prototype={all:function(){return this._all(this.data,[])},search:function(t){var e=this.data,i=[],n=this.toBBox;if(!p(t,e))return i;for(var s,r,o,a,h=[];e;){for(s=0,r=e.children.length;s=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(s,r,e)},_split:function(t,e){var i=t[e],n=i.children.length,s=this._minEntries;this._chooseSplitAxis(i,s,n);var r=this._chooseSplitIndex(i,s,n),a=g(i.children.splice(r,i.children.length-r));a.height=i.height,a.leaf=i.leaf,o(i,this.toBBox),o(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(i,a)},_splitRoot:function(t,e){this.data=g([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,i){var n,s,r,o,h,l,u,d,f,p,g,v,y,m;for(l=u=1/0,n=e;n<=i-e;n++)s=a(t,0,n,this.toBBox),r=a(t,n,i,this.toBBox),f=s,p=r,void 0,void 0,void 0,void 0,g=Math.max(f.minX,p.minX),v=Math.max(f.minY,p.minY),y=Math.min(f.maxX,p.maxX),m=Math.min(f.maxY,p.maxY),o=Math.max(0,y-g)*Math.max(0,m-v),h=c(s)+c(r),o=e;s--)r=t.children[s],h(u,t.leaf?o(r):r),c+=d(u);return c},_adjustParentBBoxes:function(t,e,i){for(var n=i;n>=0;n--)h(e[n],t)},_condense:function(t){for(var e,i=t.length-1;i>=0;i--)0===t[i].children.length?i>0?(e=t[i-1].children).splice(e.indexOf(t[i]),1):this.clear():o(t[i],this.toBBox)},compareMinX:function(t,e){return t.left-e.left},compareMinY:function(t,e){return t.top-e.top},toBBox:function(t){return{minX:t.left,minY:t.top,maxX:t.right,maxY:t.bottom}}},t.exports=s},function(t,e,i){var n=new(i(0))({initialize:function(){this._pending=[],this._active=[],this._destroy=[],this._toProcess=0},add:function(t){return this._pending.push(t),this._toProcess++,this},remove:function(t){return this._destroy.push(t),this._toProcess++,this},update:function(){if(0===this._toProcess)return this._active;var t,e,i=this._destroy,n=this._active;for(t=0;te._dy?(r=t.bottom-e.y)>o&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?r=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0,e.physicsType===n.STATIC_BODY&&(t.blocked.none=!1,t.blocked.down=!0),t.physicsType===n.STATIC_BODY&&(e.blocked.none=!1,e.blocked.up=!0)):t._dyo&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?r=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0,e.physicsType===n.STATIC_BODY&&(t.blocked.none=!1,t.blocked.up=!0),t.physicsType===n.STATIC_BODY&&(e.blocked.none=!1,e.blocked.down=!0))),t.overlapY=r,e.overlapY=r,r}},function(t,e,i){var n=i(38);t.exports=function(t,e,i,s){var r=0,o=t.deltaAbsX()+e.deltaAbsX()+s;return 0===t._dx&&0===e._dx?(t.embedded=!0,e.embedded=!0):t._dx>e._dx?(r=t.right-e.x)>o&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?r=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0,e.physicsType===n.STATIC_BODY&&(t.blocked.none=!1,t.blocked.right=!0),t.physicsType===n.STATIC_BODY&&(e.blocked.none=!1,e.blocked.left=!0)):t._dxo&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?r=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0,e.physicsType===n.STATIC_BODY&&(t.blocked.none=!1,t.blocked.left=!0),t.physicsType===n.STATIC_BODY&&(e.blocked.none=!1,e.blocked.right=!0))),t.overlapX=r,e.overlapX=r,r}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n,s,r,o){this.world=t,this.name="",this.active=!0,this.overlapOnly=e,this.object1=i,this.object2=n,this.collideCallback=s,this.processCallback=r,this.callbackContext=o},setName:function(t){return this.name=t,this},update:function(){this.world.collideObjects(this.object1,this.object2,this.collideCallback,this.processCallback,this.callbackContext,this.overlapOnly)},destroy:function(){this.world.removeCollider(this),this.active=!1,this.world=null,this.object1=null,this.object2=null,this.collideCallback=null,this.processCallback=null,this.callbackContext=null}});t.exports=n},function(t,e,i){t.exports={COLLIDE:i(563),OVERLAP:i(562),PAUSE:i(561),RESUME:i(560),TILE_COLLIDE:i(559),TILE_OVERLAP:i(558),WORLD_BOUNDS:i(557)}},function(t,e,i){var n=i(43),s=i(0),r=i(38),o=i(248),a=i(183),h=i(10),l=i(42),u=i(3),c=new s({initialize:function(t,e){var i=e.width?e.width:64,n=e.height?e.height:64;this.world=t,this.gameObject=e,this.transform={x:e.x,y:e.y,rotation:e.angle,scaleX:e.scaleX,scaleY:e.scaleY,displayOriginX:e.displayOriginX,displayOriginY:e.displayOriginY},this.debugShowBody=t.defaults.debugShowBody,this.debugShowVelocity=t.defaults.debugShowVelocity,this.debugBodyColor=t.defaults.bodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new u,this.position=new u(e.x,e.y),this.prev=new u(e.x,e.y),this.allowRotation=!0,this.rotation=e.angle,this.preRotation=e.angle,this.width=i,this.height=n,this.sourceWidth=i,this.sourceHeight=n,e.frame&&(this.sourceWidth=e.frame.realWidth,this.sourceHeight=e.frame.realHeight),this.halfWidth=Math.abs(i/2),this.halfHeight=Math.abs(n/2),this.center=new u(e.x+this.halfWidth,e.y+this.halfHeight),this.velocity=new u,this.newVelocity=new u,this.deltaMax=new u,this.acceleration=new u,this.allowDrag=!0,this.drag=new u,this.allowGravity=!0,this.gravity=new u,this.bounce=new u,this.worldBounce=null,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.maxVelocity=new u(1e4,1e4),this.maxSpeed=-1,this.friction=new u(1,0),this.useDamping=!1,this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=r.FACING_NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.physicsType=r.DYNAMIC_BODY,this._reset=!0,this._sx=e.scaleX,this._sy=e.scaleY,this._dx=0,this._dy=0,this._bounds=new h},updateBounds:function(){var t=this.gameObject,e=this.transform;if(t.parentContainer){var i=t.getWorldTransformMatrix(this.world._tempMatrix,this.world._tempMatrix2);e.x=i.tx,e.y=i.ty,e.rotation=a(i.rotation),e.scaleX=i.scaleX,e.scaleY=i.scaleY,e.displayOriginX=t.displayOriginX,e.displayOriginY=t.displayOriginY}else e.x=t.x,e.y=t.y,e.rotation=t.angle,e.scaleX=t.scaleX,e.scaleY=t.scaleY,e.displayOriginX=t.displayOriginX,e.displayOriginY=t.displayOriginY;var n=!1;if(this.syncBounds){var s=t.getBounds(this._bounds);this.width=s.width,this.height=s.height,n=!0}else{var r=Math.abs(e.scaleX),o=Math.abs(e.scaleY);this._sx===r&&this._sy===o||(this.width=this.sourceWidth*r,this.height=this.sourceHeight*o,this._sx=r,this._sy=o,n=!0)}n&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},update:function(t){this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds();var e=this.transform;if(this.position.x=e.x+e.scaleX*(this.offset.x-e.displayOriginX),this.position.y=e.y+e.scaleY*(this.offset.y-e.displayOriginY),this.updateCenter(),this.rotation=e.rotation,this.preRotation=this.rotation,this._reset&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves){this.world.updateMotion(this,t);var i=this.velocity.x,n=this.velocity.y;this.newVelocity.set(i*t,n*t),this.position.add(this.newVelocity),this.updateCenter(),this.angle=Math.atan2(n,i),this.speed=Math.sqrt(i*i+n*n),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.world.emit(o.WORLD_BOUNDS,this,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)}this._dx=this.position.x-this.prev.x,this._dy=this.position.y-this.prev.y},postUpdate:function(){this._dx=this.position.x-this.prev.x,this._dy=this.position.y-this.prev.y,this.moves&&(0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.gameObject.x+=this._dx,this.gameObject.y+=this._dy,this._reset=!0),this._dx<0?this.facing=r.FACING_LEFT:this._dx>0&&(this.facing=r.FACING_RIGHT),this._dy<0?this.facing=r.FACING_UP:this._dy>0&&(this.facing=r.FACING_DOWN),this.allowRotation&&(this.gameObject.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y},checkWorldBounds:function(){var t=this.position,e=this.world.bounds,i=this.world.checkCollision,n=this.worldBounce?-this.worldBounce.x:-this.bounce.x,s=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=n,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=s,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},setOffset:function(t,e){return void 0===e&&(e=t),this.offset.set(t,e),this},setSize:function(t,e,i){void 0===i&&(i=!0);var n=this.gameObject;if(!t&&n.frame&&(t=n.frame.realWidth),!e&&n.frame&&(e=n.frame.realHeight),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter(),i&&n.getCenter){var s=n.displayWidth/2,r=n.displayHeight/2;this.offset.set(s-this.halfWidth,r-this.halfHeight)}return this.isCircle=!1,this.radius=0,this},setCircle:function(t,e,i){return void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(e,i),this.updateCenter()):this.isCircle=!1,this},reset:function(t,e){this.stop();var i=this.gameObject;i.setPosition(t,e),i.getTopLeft(this.position),this.prev.copy(this.position),this.rotation=i.angle,this.preRotation=i.angle,this.updateBounds(),this.updateCenter()},stop:function(){return this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?n(this,t,e):l(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this._dx>0?this._dx:-this._dx},deltaAbsY:function(){return this._dy>0?this._dy:-this._dy},deltaX:function(){return this._dx},deltaY:function(){return this._dy},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.enable=!1,this.world&&this.world.pendingDestroy.set(this)},drawDebug:function(t){var e=this.position,i=e.x+this.halfWidth,n=e.y+this.halfHeight;this.debugShowBody&&(t.lineStyle(t.defaultStrokeWidth,this.debugBodyColor),this.isCircle?t.strokeCircle(i,n,this.width/2):t.strokeRect(e.x,e.y,this.width,this.height)),this.debugShowVelocity&&(t.lineStyle(t.defaultStrokeWidth,this.world.defaults.velocityDebugColor,1),t.lineBetween(i,n,i+this.velocity.x/2,n+this.velocity.y/2))},willDrawDebug:function(){return this.debugShowBody||this.debugShowVelocity},setCollideWorldBounds:function(t){return void 0===t&&(t=!0),this.collideWorldBounds=t,this},setVelocity:function(t,e){return this.velocity.set(t,e),this.speed=Math.sqrt(t*t+e*e),this},setVelocityX:function(t){this.velocity.x=t;var e=t,i=this.velocity.y;return this.speed=Math.sqrt(e*e+i*i),this},setVelocityY:function(t){this.velocity.y=t;var e=this.velocity.x,i=t;return this.speed=Math.sqrt(e*e+i*i),this},setMaxVelocity:function(t,e){return this.maxVelocity.set(t,e),this},setMaxSpeed:function(t){return this.maxSpeed=t,this},setBounce:function(t,e){return this.bounce.set(t,e),this},setBounceX:function(t){return this.bounce.x=t,this},setBounceY:function(t){return this.bounce.y=t,this},setAcceleration:function(t,e){return this.acceleration.set(t,e),this},setAccelerationX:function(t){return this.acceleration.x=t,this},setAccelerationY:function(t){return this.acceleration.y=t,this},setAllowDrag:function(t){return void 0===t&&(t=!0),this.allowDrag=t,this},setAllowGravity:function(t){return void 0===t&&(t=!0),this.allowGravity=t,this},setAllowRotation:function(t){return void 0===t&&(t=!0),this.allowRotation=t,this},setDrag:function(t,e){return this.drag.set(t,e),this},setDragX:function(t){return this.drag.x=t,this},setDragY:function(t){return this.drag.y=t,this},setGravity:function(t,e){return this.gravity.set(t,e),this},setGravityX:function(t){return this.gravity.x=t,this},setGravityY:function(t){return this.gravity.y=t,this},setFriction:function(t,e){return this.friction.set(t,e),this},setFrictionX:function(t){return this.friction.x=t,this},setFrictionY:function(t){return this.friction.y=t,this},setAngularVelocity:function(t){return this.angularVelocity=t,this},setAngularAcceleration:function(t){return this.angularAcceleration=t,this},setAngularDrag:function(t){return this.angularDrag=t,this},setMass:function(t){return this.mass=t,this},setImmovable:function(t){return void 0===t&&(t=!0),this.immovable=t,this},setEnable:function(t){return void 0===t&&(t=!0),this.enable=t,this},x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});t.exports=c},function(t,e,i){var n=i(249),s=i(23),r=i(0),o=i(247),a=i(38),h=i(56),l=i(11),u=i(248),c=i(186),d=i(383),f=i(382),p=i(246),g=i(245),v=i(4),y=i(244),m=i(556),x=i(10),T=i(243),w=i(555),b=i(550),S=i(549),_=i(102),A=i(241),E=i(242),C=i(41),M=i(3),P=i(57),O=new r({Extends:l,initialize:function(t,e){l.call(this),this.scene=t,this.bodies=new _,this.staticBodies=new _,this.pendingDestroy=new _,this.late=new _,this._late=!1,this.colliders=new y,this.gravity=new M(v(e,"gravity.x",0),v(e,"gravity.y",0)),this.bounds=new x(v(e,"x",0),v(e,"y",0),v(e,"width",t.sys.scale.width),v(e,"height",t.sys.scale.height)),this.checkCollision={up:v(e,"checkCollision.up",!0),down:v(e,"checkCollision.down",!0),left:v(e,"checkCollision.left",!0),right:v(e,"checkCollision.right",!0)},this.fps=v(e,"fps",60),this._elapsed=0,this._frameTime=1/this.fps,this._frameTimeMS=1e3*this._frameTime,this.stepsLastFrame=0,this.timeScale=v(e,"timeScale",1),this.OVERLAP_BIAS=v(e,"overlapBias",4),this.TILE_BIAS=v(e,"tileBias",16),this.forceX=v(e,"forceX",!1),this.isPaused=v(e,"isPaused",!1),this._total=0,this.drawDebug=v(e,"debug",!1),this.debugGraphic,this.defaults={debugShowBody:v(e,"debugShowBody",!0),debugShowStaticBody:v(e,"debugShowStaticBody",!0),debugShowVelocity:v(e,"debugShowVelocity",!0),bodyDebugColor:v(e,"debugBodyColor",16711935),staticBodyDebugColor:v(e,"debugStaticBodyColor",255),velocityDebugColor:v(e,"debugVelocityColor",65280)},this.maxEntries=v(e,"maxEntries",16),this.useTree=v(e,"useTree",!0),this.tree=new T(this.maxEntries),this.staticTree=new T(this.maxEntries),this.treeMinMax={minX:0,minY:0,maxX:0,maxY:0},this._tempMatrix=new C,this._tempMatrix2=new C,this.drawDebug&&this.createDebugGraphic()},enable:function(t,e){void 0===e&&(e=a.DYNAMIC_BODY),Array.isArray(t)||(t=[t]);for(var i=0;i=s;)this._elapsed-=s,i++,this.step(n);this.stepsLastFrame=i,this._late=!0}},step:function(t){var e,i,n=this.bodies.entries,s=n.length;for(e=0;e0){for(n=(e=h.entries).length,t=0;t0){var u=this.tree,c=this.staticTree;for(n=(e=o.entries).length,t=0;t-1&&t.velocity.length()>g&&t.velocity.normalize().scale(g)},separate:function(t,e,i,n,s){if(!t.enable||!e.enable||t.checkCollision.none||e.checkCollision.none||!this.intersects(t,e))return!1;if(i&&!1===i.call(n,t.gameObject,e.gameObject))return!1;if(t.isCircle&&e.isCircle)return this.separateCircle(t,e,s);if(t.isCircle!==e.isCircle){var r=t.isCircle?e:t,o=t.isCircle?t:e,a={x:r.x,y:r.y,right:r.right,bottom:r.bottom},h=o.center;if((h.ya.bottom)&&(h.xa.right))return this.separateCircle(t,e,s)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)l.right&&(a=h(c.x,c.y,l.right,l.y)-c.radius):c.y>l.bottom&&(c.xl.right&&(a=h(c.x,c.y,l.right,l.bottom)-c.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-h(t.center.x,t.center.y,e.center.x,e.center.y);if(i||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap||e.onOverlap)&&this.emit(u.OVERLAP,t.gameObject,e.gameObject,t,e),0!==a;var d=t.velocity.x,f=t.velocity.y,v=t.mass,y=e.velocity.x,m=e.velocity.y,x=e.mass,T=d*Math.cos(o)+f*Math.sin(o),w=d*Math.sin(o)-f*Math.cos(o),b=y*Math.cos(o)+m*Math.sin(o),S=y*Math.sin(o)-m*Math.cos(o),_=((v-x)*T+2*x*b)/(v+x),A=(2*v*T+(x-v)*b)/(v+x);t.immovable||(t.velocity.x=(_*Math.cos(o)-w*Math.sin(o))*t.bounce.x,t.velocity.y=(w*Math.cos(o)+_*Math.sin(o))*t.bounce.y,d=t.velocity.x,f=t.velocity.y),e.immovable||(e.velocity.x=(A*Math.cos(o)-S*Math.sin(o))*e.bounce.x,e.velocity.y=(S*Math.cos(o)+A*Math.sin(o))*e.bounce.y,y=e.velocity.x,m=e.velocity.y),Math.abs(o)0&&!t.immovable&&y>d?t.velocity.x*=-1:y<0&&!e.immovable&&d0&&!t.immovable&&m>f?t.velocity.y*=-1:m<0&&!e.immovable&&fMath.PI/2&&(d<0&&!t.immovable&&y0&&!e.immovable&&d>y?e.velocity.x*=-1:f<0&&!t.immovable&&m0&&!e.immovable&&d>m&&(e.velocity.y*=-1));var E=this._frameTime;return t.immovable||(t.x+=t.velocity.x*E-a*Math.cos(o),t.y+=t.velocity.y*E-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*E+a*Math.cos(o),e.y+=e.velocity.y*E+a*Math.sin(o)),(t.onCollide||e.onCollide)&&this.emit(u.COLLIDE,t.gameObject,e.gameObject,t,e),t.postUpdate(),e.postUpdate(),!0},intersects:function(t,e){return t!==e&&(t.isCircle||e.isCircle?t.isCircle?e.isCircle?h(t.center.x,t.center.y,e.center.x,e.center.y)<=t.halfWidth+e.halfWidth:this.circleBodyIntersects(t,e):this.circleBodyIntersects(e,t):!(t.right<=e.position.x||t.bottom<=e.position.y||t.position.x>=e.right||t.position.y>=e.bottom))},circleBodyIntersects:function(t,e){var i=s(t.center.x,e.left,e.right),n=s(t.center.y,e.top,e.bottom);return(t.center.x-i)*(t.center.x-i)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},overlap:function(t,e,i,n,s){return void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=i),this.collideObjects(t,e,i,n,s,!0)},collide:function(t,e,i,n,s){return void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=i),this.collideObjects(t,e,i,n,s,!1)},collideObjects:function(t,e,i,n,s,r){var o;t.isParent&&void 0===t.physicsType&&(t=t.children.entries),e&&e.isParent&&void 0===e.physicsType&&(e=e.children.entries);var a=Array.isArray(t),h=Array.isArray(e);if(this._total=0,a||h)if(!a&&h)for(o=0;o0},collideHandler:function(t,e,i,n,s,r){if(void 0===e&&t.isParent)return this.collideGroupVsGroup(t,t,i,n,s,r);if(!t||!e)return!1;if(t.body){if(e.body)return this.collideSpriteVsSprite(t,e,i,n,s,r);if(e.isParent)return this.collideSpriteVsGroup(t,e,i,n,s,r);if(e.isTilemap)return this.collideSpriteVsTilemapLayer(t,e,i,n,s,r)}else if(t.isParent){if(e.body)return this.collideSpriteVsGroup(e,t,i,n,s,r);if(e.isParent)return this.collideGroupVsGroup(t,e,i,n,s,r);if(e.isTilemap)return this.collideGroupVsTilemapLayer(t,e,i,n,s,r)}else if(t.isTilemap){if(e.body)return this.collideSpriteVsTilemapLayer(e,t,i,n,s,r);if(e.isParent)return this.collideGroupVsTilemapLayer(e,t,i,n,s,r)}},collideSpriteVsSprite:function(t,e,i,n,s,r){return!(!t.body||!e.body)&&(this.separate(t.body,e.body,n,s,r)&&(i&&i.call(s,t,e),this._total++),!0)},collideSpriteVsGroup:function(t,e,i,n,s,r){var o,h,l,u=t.body;if(0!==e.length&&u&&u.enable)if(this.useTree){var c=this.treeMinMax;c.minX=u.left,c.minY=u.top,c.maxX=u.right,c.maxY=u.bottom;var d=e.physicsType===a.DYNAMIC_BODY?this.tree.search(c):this.staticTree.search(c);for(h=d.length,o=0;od.baseTileWidth){var f=(d.tileWidth-d.baseTileWidth)*e.scaleX;a-=f,l+=f}d.tileHeight>d.baseTileHeight&&(c+=(d.tileHeight-d.baseTileHeight)*e.scaleY);var p,g=e.getTilesWithinWorldXY(a,h,l,c);if(0===g.length)return!1;for(var v={left:0,right:0,top:0,bottom:0},y=0;y=2&&(this.leftStick.set(r[0].getValue(),r[1].getValue()),s>=4&&this.rightStick.set(r[2].getValue(),r[3].getValue()))},destroy:function(){var t;for(this.removeAllListeners(),this.manager=null,this.pad=null,t=0;t=this.threshold?this.pressed||(this.pressed=!0,this.events.emit(s.BUTTON_DOWN,e,this,t),this.pad.emit(s.GAMEPAD_BUTTON_DOWN,i,t,this)):this.pressed&&(this.pressed=!1,this.events.emit(s.BUTTON_UP,e,this,t),this.pad.emit(s.GAMEPAD_BUTTON_UP,i,t,this))},destroy:function(){this.pad=null,this.events=null}});t.exports=r},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.pad=t,this.events=t.events,this.index=e,this.value=0,this.threshold=.1},update:function(t){this.value=t},getValue:function(){return Math.abs(this.value)t.width*t.height)&&e.x>t.x&&e.xt.x&&e.rightt.y&&e.yt.y&&e.bottom=0&&u<=1){var c=((s-h)*(r-n)-(n-a)*(o-s))/l;return Math.abs(c)*Math.sqrt(l)<=i}return Math.sqrt((r-a)*(r-a)+(o-h)*(o-h))<=i}},function(t,e,i){var n=i(43),s=new(i(6));t.exports=function(t,e,i){if(void 0===i&&(i=s),n(e,t.x1,t.y1))return i.x=t.x1,i.y=t.y1,!0;if(n(e,t.x2,t.y2))return i.x=t.x2,i.y=t.y2,!0;var r=t.x2-t.x1,o=t.y2-t.y1,a=e.x-t.x1,h=e.y-t.y1,l=r*r+o*o,u=r,c=o;if(l>0){var d=(a*r+h*o)/l;u*=d,c*=d}return i.x=t.x1+u,i.y=t.y1+c,u*u+c*c<=l&&u*r+c*o>=0&&n(e,i.x,i.y)}},function(t,e,i){t.exports={CircleToCircle:i(725),CircleToRectangle:i(724),GetRectangleIntersection:i(723),LineToCircle:i(277),LineToLine:i(115),LineToRectangle:i(722),PointToLine:i(276),PointToLineSegment:i(721),RectangleToRectangle:i(158),RectangleToTriangle:i(720),RectangleToValues:i(719),TriangleToCircle:i(718),TriangleToLine:i(717),TriangleToTriangle:i(716)}},function(t,e,i){t.exports={Circle:i(745),Ellipse:i(735),Intersects:i(278),Line:i(715),Point:i(694),Polygon:i(680),Rectangle:i(270),Triangle:i(650)}},function(t,e,i){var n=i(0),s=i(281),r=i(9),o=new n({initialize:function(){this.lightPool=[],this.lights=[],this.culledLights=[],this.ambientColor={r:.1,g:.1,b:.1},this.active=!1,this.maxLights=-1},enable:function(){return-1===this.maxLights&&(this.maxLights=this.scene.sys.game.renderer.config.maxLights),this.active=!0,this},disable:function(){return this.active=!1,this},cull:function(t){var e=this.lights,i=this.culledLights,n=e.length,s=t.x+t.width/2,r=t.y+t.height/2,o=(t.width+t.height)/2,a={x:0,y:0},h=t.matrix,l=this.systems.game.config.height;i.length=0;for(var u=0;u0?(h=this.lightPool.pop()).set(t,e,i,a[0],a[1],a[2],o):h=new s(t,e,i,a[0],a[1],a[2],o),this.lights.push(h),h},removeLight:function(t){var e=this.lights.indexOf(t);return e>=0&&(this.lightPool.push(t),this.lights.splice(e,1)),this},shutdown:function(){for(;this.lights.length>0;)this.lightPool.push(this.lights.pop());this.ambientColor={r:.1,g:.1,b:.1},this.culledLights.length=0,this.lights.length=0},destroy:function(){this.shutdown()}});t.exports=o},function(t,e,i){var n=i(0),s=i(9),r=new n({initialize:function(t,e,i,n,s,r,o){this.x=t,this.y=e,this.radius=i,this.r=n,this.g=s,this.b=r,this.intensity=o,this.scrollFactorX=1,this.scrollFactorY=1},set:function(t,e,i,n,s,r,o){return this.x=t,this.y=e,this.radius=i,this.r=n,this.g=s,this.b=r,this.intensity=o,this.scrollFactorX=1,this.scrollFactorY=1,this},setScrollFactor:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=t),this.scrollFactorX=t,this.scrollFactorY=e,this},setColor:function(t){var e=s.getFloatsFromUintRGB(t);return this.r=e[0],this.g=e[1],this.b=e[2],this},setIntensity:function(t){return this.intensity=t,this},setPosition:function(t,e){return this.x=t,this.y=e,this},setRadius:function(t){return this.radius=t,this}});t.exports=r},function(t,e,i){var n=i(58),s=i(6);t.exports=function(t,e,i,r){void 0===r&&(r=[]);var o=t.getLineA(),a=t.getLineB(),h=t.getLineC(),l=n(o),u=n(a),c=n(h),d=l+u+c;e||(e=d/i);for(var f=0;fl+u?(g=(p-=l+u)/c,v.x=h.x1+(h.x2-h.x1)*g,v.y=h.y1+(h.y2-h.y1)*g):(g=(p-=l)/u,v.x=a.x1+(a.x2-a.x1)*g,v.y=a.y1+(a.y2-a.y1)*g),r.push(v)}return r}},function(t,e,i){var n=i(6),s=i(58);t.exports=function(t,e,i){void 0===i&&(i=new n);var r=t.getLineA(),o=t.getLineB(),a=t.getLineC();if(e<=0||e>=1)return i.x=r.x1,i.y=r.y1,i;var h=s(r),l=s(o),u=s(a),c=(h+l+u)*e,d=0;return ch+l?(d=(c-=h+l)/u,i.x=a.x1+(a.x2-a.x1)*d,i.y=a.y1+(a.y2-a.y1)*d):(d=(c-=h)/l,i.x=o.x1+(o.x2-o.x1)*d,i.y=o.y1+(o.y2-o.y1)*d),i}},function(t,e,i){var n=i(0),s=i(29),r=i(65),o=i(795),a=new n({Extends:s,Mixins:[o],initialize:function(t,e,i,n,o,a,h,l,u,c,d){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=128),void 0===a&&(a=64),void 0===h&&(h=0),void 0===l&&(l=128),void 0===u&&(u=128),s.call(this,t,"Triangle",new r(n,o,a,h,l,u));var f=this.geom.right-this.geom.left,p=this.geom.bottom-this.geom.top;this.setPosition(e,i),this.setSize(f,p),void 0!==c&&this.setFillStyle(c,d),this.updateDisplayOrigin(),this.updateData()},setTo:function(t,e,i,n,s,r){return this.geom.setTo(t,e,i,n,s,r),this.updateData()},updateData:function(){var t=[],e=this.geom,i=this._tempLine;return e.getLineA(i),t.push(i.x1,i.y1,i.x2,i.y2),e.getLineB(i),t.push(i.x2,i.y2),e.getLineC(i),t.push(i.x2,i.y2),this.pathData=t,this}});t.exports=a},function(t,e,i){var n=i(798),s=i(0),r=i(71),o=i(29),a=new s({Extends:o,Mixins:[n],initialize:function(t,e,i,n,s,r,a,h){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=5),void 0===s&&(s=32),void 0===r&&(r=64),o.call(this,t,"Star",null),this._points=n,this._innerRadius=s,this._outerRadius=r,this.setPosition(e,i),this.setSize(2*r,2*r),void 0!==a&&this.setFillStyle(a,h),this.updateDisplayOrigin(),this.updateData()},setPoints:function(t){return this._points=t,this.updateData()},setInnerRadius:function(t){return this._innerRadius=t,this.updateData()},setOuterRadius:function(t){return this._outerRadius=t,this.updateData()},points:{get:function(){return this._points},set:function(t){this._points=t,this.updateData()}},innerRadius:{get:function(){return this._innerRadius},set:function(t){this._innerRadius=t,this.updateData()}},outerRadius:{get:function(){return this._outerRadius},set:function(t){this._outerRadius=t,this.updateData()}},updateData:function(){var t=[],e=this._points,i=this._innerRadius,n=this._outerRadius,s=Math.PI/2*3,o=Math.PI/e,a=n,h=n;t.push(a,h+-n);for(var l=0;l0&&r.push(i([0,0],n[0])),e=0;e1&&r.push(i([0,0],n[n.length-1])),t.setTo(r)}},function(t,e,i){var n=i(58),s=i(59);t.exports=function(t){for(var e=t.points,i=0,r=0;rc+v)){var y=g.getPoint((u-c)/v);o.push(y);break}c+=v}return o}},function(t,e,i){var n=i(10);t.exports=function(t,e){void 0===e&&(e=new n);for(var i,s=1/0,r=1/0,o=-s,a=-r,h=0;h0&&(s=-h.PI2+s%h.PI2):s>h.PI2?s=h.PI2:s<0&&(s=h.PI2+s%h.PI2);for(var u,c=[a+Math.cos(n)*i,l+Math.sin(n)*i];e<1;)u=s*e+n,c.push(a+Math.cos(u)*i,l+Math.sin(u)*i),e+=t;return u=s+n,c.push(a+Math.cos(u)*i,l+Math.sin(u)*i),c.push(a+Math.cos(n)*i,l+Math.sin(n)*i),this.pathIndexes=o(c),this.pathData=c,this}});t.exports=u},function(t,e){t.exports=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}},function(t,e,i){var n=i(0),s=i(34),r=i(90),o=i(4),a=i(67),h=i(89),l=i(3),u=new n({Extends:a,initialize:function(t,e,i,n,s,r){a.call(this,t,i,n,s,r),this.path=e,this.rotateToPath=!1,this.pathRotationOffset=0,this.pathOffset=new l(i,n),this.pathVector=new l,this.pathTween,this.pathConfig=null,this._prevDirection=h.PLAYING_FORWARD},setPath:function(t,e){void 0===e&&(e=this.pathConfig);var i=this.pathTween;return i&&i.isPlaying()&&i.stop(),this.path=t,e&&this.startFollow(e),this},setRotateToPath:function(t,e){return void 0===e&&(e=0),this.rotateToPath=t,this.pathRotationOffset=e,this},isFollowing:function(){var t=this.pathTween;return t&&t.isPlaying()},startFollow:function(t,e){void 0===t&&(t={}),void 0===e&&(e=0);var i=this.pathTween;i&&i.isPlaying()&&i.stop(),"number"==typeof t&&(t={duration:t}),t.from=0,t.to=1;var n=r(t,"positionOnPath",!1);this.rotateToPath=r(t,"rotateToPath",!1),this.pathRotationOffset=o(t,"rotationOffset",0);var a=o(t,"startAt",e);if(a&&(t.onStart=function(t){var e=t.data[0];e.progress=a,e.elapsed=e.duration*a;var i=e.ease(e.progress);e.current=e.start+(e.end-e.start)*i,e.target[e.key]=e.current}),this.pathTween=this.scene.sys.tweens.addCounter(t),this.path.getStartPoint(this.pathOffset),n&&(this.x=this.pathOffset.x,this.y=this.pathOffset.y),this.pathOffset.x=this.x-this.pathOffset.x,this.pathOffset.y=this.y-this.pathOffset.y,this._prevDirection=h.PLAYING_FORWARD,this.rotateToPath){var l=this.path.getPoint(.1);this.rotation=Math.atan2(l.y-this.y,l.x-this.x)+s(this.pathRotationOffset)}return this.pathConfig=t,this},pauseFollow:function(){var t=this.pathTween;return t&&t.isPlaying()&&t.pause(),this},resumeFollow:function(){var t=this.pathTween;return t&&t.isPaused()&&t.resume(),this},stopFollow:function(){var t=this.pathTween;return t&&t.isPlaying()&&t.stop(),this},preUpdate:function(t,e){this.anims.update(t,e);var i=this.pathTween;if(i){var n=i.data[0];if(n.state!==h.PLAYING_FORWARD&&n.state!==h.PLAYING_BACKWARD)return;var r=this.pathVector;this.path.getPoint(i.getValue(),r),r.add(this.pathOffset);var o=this.x,a=this.y;this.setPosition(r.x,r.y);var l=this.x-o,u=this.y-a;if(0===l&&0===u)return;if(n.state!==this._prevDirection)return void(this._prevDirection=n.state);this.rotateToPath&&(this.rotation=Math.atan2(u,l)+s(this.pathRotationOffset))}}});t.exports=u},function(t,e,i){var n=i(0),s=i(3),r=new n({initialize:function(t){this.source=t,this._tempVec=new s},getPoint:function(t){var e=this._tempVec;this.source.getRandomPoint(e),t.x=e.x,t.y=e.y}});t.exports=r},function(t,e){t.exports=function(t,e){for(var i=0;ithis._length&&(this.counter=this._length-1),this},changeSource:function(t){return this.source=t,this.updateSource()},getPoint:function(t){0===this._direction?(this.counter++,this.counter>=this._length&&(this.yoyo?(this._direction=1,this.counter=this._length-1):this.counter=0)):(this.counter--,-1===this.counter&&(this.yoyo?(this._direction=0,this.counter=0):this.counter=this._length-1));var e=this.points[this.counter];e&&(t.x=e.x,t.y=e.y)}});t.exports=n},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.source=t,this.killOnEnter=e},willKill:function(t){var e=this.source.contains(t.x,t.y);return e&&this.killOnEnter||!e&&!this.killOnEnter}});t.exports=n},function(t,e,i){var n=i(60),s=i(0),r=i(13),o=i(304),a=i(303),h=i(845),l=i(2),u=i(172),c=i(302),d=i(91),f=i(306),p=i(301),g=i(10),v=i(118),y=i(3),m=i(57),x=new s({Mixins:[r.BlendMode,r.Mask,r.ScrollFactor,r.Visible],initialize:function(t,e){this.manager=t,this.texture=t.texture,this.frames=[t.defaultFrame],this.defaultFrame=t.defaultFrame,this.configFastMap=["active","blendMode","collideBottom","collideLeft","collideRight","collideTop","deathCallback","deathCallbackScope","emitCallback","emitCallbackScope","follow","frequency","gravityX","gravityY","maxParticles","name","on","particleBringToTop","particleClass","radial","timeScale","trackVisible","visible"],this.configOpMap=["accelerationX","accelerationY","angle","alpha","bounce","delay","lifespan","maxVelocityX","maxVelocityY","moveToX","moveToY","quantity","rotate","scaleX","scaleY","speedX","speedY","tint","x","y"],this.name="",this.particleClass=f,this.x=new h(e,"x",0),this.y=new h(e,"y",0),this.radial=!0,this.gravityX=0,this.gravityY=0,this.acceleration=!1,this.accelerationX=new h(e,"accelerationX",0,!0),this.accelerationY=new h(e,"accelerationY",0,!0),this.maxVelocityX=new h(e,"maxVelocityX",1e4,!0),this.maxVelocityY=new h(e,"maxVelocityY",1e4,!0),this.speedX=new h(e,"speedX",0,!0),this.speedY=new h(e,"speedY",0,!0),this.moveTo=!1,this.moveToX=new h(e,"moveToX",0,!0),this.moveToY=new h(e,"moveToY",0,!0),this.bounce=new h(e,"bounce",0,!0),this.scaleX=new h(e,"scaleX",1),this.scaleY=new h(e,"scaleY",1),this.tint=new h(e,"tint",4294967295),this.alpha=new h(e,"alpha",1),this.lifespan=new h(e,"lifespan",1e3),this.angle=new h(e,"angle",{min:0,max:360}),this.rotate=new h(e,"rotate",0),this.emitCallback=null,this.emitCallbackScope=null,this.deathCallback=null,this.deathCallbackScope=null,this.maxParticles=0,this.quantity=new h(e,"quantity",1,!0),this.delay=new h(e,"delay",0,!0),this.frequency=0,this.on=!0,this.particleBringToTop=!0,this.timeScale=1,this.emitZone=null,this.deathZone=null,this.bounds=null,this.collideLeft=!0,this.collideRight=!0,this.collideTop=!0,this.collideBottom=!0,this.active=!0,this.visible=!0,this.blendMode=n.NORMAL,this.follow=null,this.followOffset=new y,this.trackVisible=!1,this.currentFrame=0,this.randomFrame=!0,this.frameQuantity=1,this.dead=[],this.alive=[],this._counter=0,this._frameCounter=0,e&&this.fromJSON(e)},fromJSON:function(t){if(!t)return this;var e=0,i="";for(e=0;e0&&this.getParticleCount()===this.maxParticles},onParticleEmit:function(t,e){return void 0===t?(this.emitCallback=null,this.emitCallbackScope=null):"function"==typeof t&&(this.emitCallback=t,e&&(this.emitCallbackScope=e)),this},onParticleDeath:function(t,e){return void 0===t?(this.deathCallback=null,this.deathCallbackScope=null):"function"==typeof t&&(this.deathCallback=t,e&&(this.deathCallbackScope=e)),this},killAll:function(){for(var t=this.dead,e=this.alive;e.length>0;)t.push(e.pop());return this},forEachAlive:function(t,e){for(var i=this.alive,n=i.length,s=0;s0){var u=this.deathCallback,c=this.deathCallbackScope;for(o=h-1;o>=0;o--){var d=a[o];s.splice(d.index,1),r.push(d.particle),u&&u.call(c,d.particle),d.particle.resetPosition()}}this.on&&(0===this.frequency?this.emitParticle():this.frequency>0&&(this._counter-=e,this._counter<=0&&(this.emitParticle(),this._counter=this.frequency-Math.abs(this._counter))))},depthSortCallback:function(t,e){return t.y-e.y}});t.exports=x},function(t,e,i){var n=i(0),s=i(34),r=i(56),o=new n({initialize:function(t){this.emitter=t,this.frame=null,this.x=0,this.y=0,this.velocityX=0,this.velocityY=0,this.accelerationX=0,this.accelerationY=0,this.maxVelocityX=1e4,this.maxVelocityY=1e4,this.bounce=0,this.scaleX=1,this.scaleY=1,this.alpha=1,this.angle=0,this.rotation=0,this.tint=16777215,this.life=1e3,this.lifeCurrent=1e3,this.delayCurrent=0,this.lifeT=0,this.data={tint:{min:16777215,max:16777215,current:16777215},alpha:{min:1,max:1},rotate:{min:0,max:0},scaleX:{min:1,max:1},scaleY:{min:1,max:1}}},isAlive:function(){return this.lifeCurrent>0},resetPosition:function(){this.x=0,this.y=0},fire:function(t,e){var i=this.emitter;this.frame=i.getFrame(),i.emitZone&&i.emitZone.getPoint(this),void 0===t?(i.follow&&(this.x+=i.follow.x+i.followOffset.x),this.x+=i.x.onEmit(this,"x")):this.x+=t,void 0===e?(i.follow&&(this.y+=i.follow.y+i.followOffset.y),this.y+=i.y.onEmit(this,"y")):this.y+=e,this.life=i.lifespan.onEmit(this,"lifespan"),this.lifeCurrent=this.life,this.lifeT=0;var n=i.speedX.onEmit(this,"speedX"),o=i.speedY?i.speedY.onEmit(this,"speedY"):n;if(i.radial){var a=s(i.angle.onEmit(this,"angle"));this.velocityX=Math.cos(a)*Math.abs(n),this.velocityY=Math.sin(a)*Math.abs(o)}else if(i.moveTo){var h=i.moveToX.onEmit(this,"moveToX"),l=i.moveToY?i.moveToY.onEmit(this,"moveToY"):h,u=Math.atan2(l-this.y,h-this.x),c=r(this.x,this.y,h,l)/(this.life/1e3);this.velocityX=Math.cos(u)*c,this.velocityY=Math.sin(u)*c}else this.velocityX=n,this.velocityY=o;i.acceleration&&(this.accelerationX=i.accelerationX.onEmit(this,"accelerationX"),this.accelerationY=i.accelerationY.onEmit(this,"accelerationY")),this.maxVelocityX=i.maxVelocityX.onEmit(this,"maxVelocityX"),this.maxVelocityY=i.maxVelocityY.onEmit(this,"maxVelocityY"),this.delayCurrent=i.delay.onEmit(this,"delay"),this.scaleX=i.scaleX.onEmit(this,"scaleX"),this.scaleY=i.scaleY?i.scaleY.onEmit(this,"scaleY"):this.scaleX,this.angle=i.rotate.onEmit(this,"rotate"),this.rotation=s(this.angle),this.bounce=i.bounce.onEmit(this,"bounce"),this.alpha=i.alpha.onEmit(this,"alpha"),this.tint=i.tint.onEmit(this,"tint")},computeVelocity:function(t,e,i,n){var s=this.velocityX,r=this.velocityY,o=this.accelerationX,a=this.accelerationY,h=this.maxVelocityX,l=this.maxVelocityY;s+=t.gravityX*i,r+=t.gravityY*i,o&&(s+=o*i),a&&(r+=a*i),s>h?s=h:s<-h&&(s=-h),r>l?r=l:r<-l&&(r=-l),this.velocityX=s,this.velocityY=r;for(var u=0;ue.right&&t.collideRight&&(this.x=e.right,this.velocityX*=i),this.ye.bottom&&t.collideBottom&&(this.y=e.bottom,this.velocityY*=i)},update:function(t,e,i){if(this.delayCurrent>0)return this.delayCurrent-=t,!1;var n=this.emitter,r=1-this.lifeCurrent/this.life;return this.lifeT=r,this.computeVelocity(n,t,e,i),this.x+=this.velocityX*e,this.y+=this.velocityY*e,n.bounds&&this.checkBounds(n),n.deathZone&&n.deathZone.willKill(this)?(this.lifeCurrent=0,!0):(this.scaleX=n.scaleX.onUpdate(this,"scaleX",r,this.scaleX),n.scaleY?this.scaleY=n.scaleY.onUpdate(this,"scaleY",r,this.scaleY):this.scaleY=this.scaleX,this.angle=n.rotate.onUpdate(this,"rotate",r,this.angle),this.rotation=s(this.angle),this.alpha=n.alpha.onUpdate(this,"alpha",r,this.alpha),this.tint=n.tint.onUpdate(this,"tint",r,this.tint),this.lifeCurrent-=t,this.lifeCurrent<=0)}});t.exports=o},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t,e,i,n,r){if("object"==typeof t){var o=t;t=s(o,"x",0),e=s(o,"y",0),i=s(o,"power",0),n=s(o,"epsilon",100),r=s(o,"gravity",50)}else void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=100),void 0===r&&(r=50);this.x=t,this.y=e,this.active=!0,this._gravity=r,this._power=0,this._epsilon=0,this.power=i,this.epsilon=n},update:function(t,e){var i=this.x-t.x,n=this.y-t.y,s=i*i+n*n;if(0!==s){var r=Math.sqrt(s);s>>16,m=(65280&p)>>>8,x=255&p,c.strokeStyle="rgba("+y+","+m+","+x+","+d+")",c.lineWidth=v,T+=3;break;case n.FILL_STYLE:g=l[T+1],f=l[T+2],y=(16711680&g)>>>16,m=(65280&g)>>>8,x=255&g,c.fillStyle="rgba("+y+","+m+","+x+","+f+")",T+=2;break;case n.BEGIN_PATH:c.beginPath();break;case n.CLOSE_PATH:c.closePath();break;case n.FILL_PATH:h||c.fill();break;case n.STROKE_PATH:h||c.stroke();break;case n.FILL_RECT:h?c.rect(l[T+1],l[T+2],l[T+3],l[T+4]):c.fillRect(l[T+1],l[T+2],l[T+3],l[T+4]),T+=4;break;case n.FILL_TRIANGLE:c.beginPath(),c.moveTo(l[T+1],l[T+2]),c.lineTo(l[T+3],l[T+4]),c.lineTo(l[T+5],l[T+6]),c.closePath(),h||c.fill(),T+=6;break;case n.STROKE_TRIANGLE:c.beginPath(),c.moveTo(l[T+1],l[T+2]),c.lineTo(l[T+3],l[T+4]),c.lineTo(l[T+5],l[T+6]),c.closePath(),h||c.stroke(),T+=6;break;case n.LINE_TO:c.lineTo(l[T+1],l[T+2]),T+=2;break;case n.MOVE_TO:c.moveTo(l[T+1],l[T+2]),T+=2;break;case n.LINE_FX_TO:c.lineTo(l[T+1],l[T+2]),T+=5;break;case n.MOVE_FX_TO:c.moveTo(l[T+1],l[T+2]),T+=5;break;case n.SAVE:c.save();break;case n.RESTORE:c.restore();break;case n.TRANSLATE:c.translate(l[T+1],l[T+2]),T+=2;break;case n.SCALE:c.scale(l[T+1],l[T+2]),T+=2;break;case n.ROTATE:c.rotate(l[T+1]),T+=1;break;case n.GRADIENT_FILL_STYLE:T+=5;break;case n.GRADIENT_LINE_STYLE:T+=6;break;case n.SET_TEXTURE:T+=2}c.restore()}}},function(t,e){t.exports=function(t){var e=t.width/2,i=t.height/2,n=Math.pow(e-i,2)/Math.pow(e+i,2);return Math.PI*(e+i)*(1+3*n/(10+Math.sqrt(4-3*n)))}},function(t,e,i){var n=i(309),s=i(166),r=i(100),o=i(20);t.exports=function(t,e,i,a){void 0===a&&(a=[]),e||(e=n(t)/i);for(var h=0;h0?s.delayedPlay(d,r,o):s.load(r)}return t}},function(t,e,i){var n=i(4),s=i(132),r=function(t,e,i){for(var n=[],s=0;se?1:0}var s=function(t,e,r,o,a){for(void 0===r&&(r=0),void 0===o&&(o=t.length-1),void 0===a&&(a=n);o>r;){if(o-r>600){var h=o-r+1,l=e-r+1,u=Math.log(h),c=.5*Math.exp(2*u/3),d=.5*Math.sqrt(u*c*(h-c)/h)*(l-h/2<0?-1:1),f=Math.max(r,Math.floor(e-l*c/h+d)),p=Math.min(o,Math.floor(e+(h-l)*c/h+d));s(t,e,f,p,a)}var g=t[e],v=r,y=o;for(i(t,r,e),a(t[o],g)>0&&i(t,r,o);v0;)y--}0===a(t[r],g)?i(t,r,y):i(t,++y,o),y<=e&&(r=y+1),e<=y&&(o=y-1)}};t.exports=s},function(t,e){t.exports=function(t){for(var e=t.length,i=t[0].length,n=new Array(i),s=0;s-1;r--)n[s][r]=t[r][s]}return n}},function(t,e,i){t.exports={AtlasXML:i(910),Canvas:i(909),Image:i(908),JSONArray:i(907),JSONHash:i(906),SpriteSheet:i(905),SpriteSheetFromAtlas:i(904),UnityYAML:i(903)}},function(t,e,i){var n=i(24),s=i(0),r=i(127),o=i(101),a=new s({initialize:function(t,e,i,n){var s=t.manager.game;this.renderer=s.renderer,this.texture=t,this.source=e,this.image=e,this.compressionAlgorithm=null,this.resolution=1,this.width=i||e.naturalWidth||e.width||0,this.height=n||e.naturalHeight||e.height||0,this.scaleMode=o.DEFAULT,this.isCanvas=e instanceof HTMLCanvasElement,this.isRenderTexture="RenderTexture"===e.type,this.isPowerOf2=r(this.width,this.height),this.glTexture=null,this.init(s)},init:function(t){this.renderer&&(this.renderer.gl?this.isCanvas?this.glTexture=this.renderer.canvasToTexture(this.image):this.isRenderTexture?(this.image=this.source.canvas,this.glTexture=this.renderer.createTextureFromSource(null,this.width,this.height,this.scaleMode)):this.glTexture=this.renderer.createTextureFromSource(this.image,this.width,this.height,this.scaleMode):this.isRenderTexture&&(this.image=this.source.canvas)),t.config.antialias||this.setFilter(1)},setFilter:function(t){this.renderer.gl&&this.renderer.setTextureFilter(this.glTexture,t)},update:function(){this.renderer.gl&&this.isCanvas&&(this.glTexture=this.renderer.canvasToTexture(this.image,this.glTexture))},destroy:function(){this.glTexture&&this.renderer.deleteTexture(this.glTexture),this.isCanvas&&n.remove(this.image),this.renderer=null,this.texture=null,this.source=null,this.image=null,this.glTexture=null}});t.exports=a},function(t,e,i){var n=i(24),s=i(911),r=i(0),o=i(32),a=i(28),h=i(11),l=i(126),u=i(26),c=i(361),d=i(4),f=i(319),p=i(175),g=new r({Extends:h,initialize:function(t){h.call(this),this.game=t,this.name="TextureManager",this.list={},this._tempCanvas=n.create2D(this,1,1),this._tempContext=this._tempCanvas.getContext("2d"),this._pending=0,t.events.once(u.BOOT,this.boot,this)},boot:function(){this._pending=2,this.on(l.LOAD,this.updatePending,this),this.on(l.ERROR,this.updatePending,this),this.addBase64("__DEFAULT",this.game.config.defaultImage),this.addBase64("__MISSING",this.game.config.missingImage),this.game.events.once(u.DESTROY,this.destroy,this)},updatePending:function(){this._pending--,0===this._pending&&(this.off(l.LOAD),this.off(l.ERROR),this.emit(l.READY))},checkKey:function(t){return!this.exists(t)||(console.error("Texture key already in use: "+t),!1)},remove:function(t){if("string"==typeof t){if(!this.exists(t))return console.warn("No texture found matching key: "+t),this;t=this.get(t)}return this.list.hasOwnProperty(t.key)&&(delete this.list[t.key],t.destroy(),this.emit(l.REMOVE,t.key)),this},addBase64:function(t,e){if(this.checkKey(t)){var i=this,n=new Image;n.onerror=function(){i.emit(l.ERROR,t)},n.onload=function(){var e=i.create(t,n);f.Image(e,0),i.emit(l.ADD,t,e),i.emit(l.LOAD,t,e)},n.src=e}return this},getBase64:function(t,e,i,s){void 0===i&&(i="image/png"),void 0===s&&(s=.92);var r="",o=this.getFrame(t,e);if(o){var a=o.canvasData,h=n.create2D(this,a.width,a.height);h.getContext("2d").drawImage(o.source.image,a.x,a.y,a.width,a.height,0,0,a.width,a.height),r=h.toDataURL(i,s),n.remove(h)}return r},addImage:function(t,e,i){var n=null;return this.checkKey(t)&&(n=this.create(t,e),f.Image(n,0),i&&n.setDataSource(i),this.emit(l.ADD,t,n)),n},addRenderTexture:function(t,e){var i=null;return this.checkKey(t)&&((i=this.create(t,e)).add("__BASE",0,0,0,e.width,e.height),this.emit(l.ADD,t,i)),i},generate:function(t,e){if(this.checkKey(t)){var i=n.create(this,1,1);return e.canvas=i,c(e),this.addCanvas(t,i)}return null},createCanvas:function(t,e,i){if(void 0===e&&(e=256),void 0===i&&(i=256),this.checkKey(t)){var s=n.create(this,e,i,a.CANVAS,!0);return this.addCanvas(t,s)}return null},addCanvas:function(t,e,i){void 0===i&&(i=!1);var n=null;return i?n=new s(this,t,e,e.width,e.height):this.checkKey(t)&&(n=new s(this,t,e,e.width,e.height),this.list[t]=n,this.emit(l.ADD,t,n)),n},addAtlas:function(t,e,i,n){return Array.isArray(i.textures)||Array.isArray(i.frames)?this.addAtlasJSONArray(t,e,i,n):this.addAtlasJSONHash(t,e,i,n)},addAtlasJSONArray:function(t,e,i,n){var s=null;if(this.checkKey(t)){if(s=this.create(t,e),Array.isArray(i))for(var r=1===i.length,o=0;o=r.x&&t=r.y&&e=r.x&&t=r.y&&e0)&&(!!n.prototype.pause.call(this)&&(this.currentConfig.seek=this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0),this.stopAndReleaseAudioTag(),this.emit(r.PAUSE,this),!0)))},resume:function(){return!this.manager.isLocked(this,"resume")&&(!(this.startTime>0)&&(!!n.prototype.resume.call(this)&&(!!this.pickAndPlayAudioTag()&&(this.emit(r.RESUME,this),!0))))},stop:function(){return!this.manager.isLocked(this,"stop")&&(!!n.prototype.stop.call(this)&&(this.stopAndReleaseAudioTag(),this.emit(r.STOP,this),!0))},pickAndPlayAudioTag:function(){if(!this.pickAudioTag())return this.reset(),!1;var t=this.currentConfig.seek,e=this.currentConfig.delay,i=(this.currentMarker?this.currentMarker.start:0)+t;return this.previousTime=i,this.audio.currentTime=i,this.applyConfig(),0===e?(this.startTime=0,this.audio.paused&&this.playCatchPromise()):(this.startTime=window.performance.now()+1e3*e,this.audio.paused||this.audio.pause()),this.resetConfig(),!0},pickAudioTag:function(){if(this.audio)return!0;for(var t=0;t0)this.startTime=n-this.manager.loopEndOffset?(this.audio.currentTime=i+Math.max(0,s-n),s=this.audio.currentTime):s=n)return this.reset(),this.stopAndReleaseAudioTag(),void this.emit(r.COMPLETE,this);this.previousTime=s}},destroy:function(){n.prototype.destroy.call(this),this.tags=null,this.audio&&this.stopAndReleaseAudioTag()},updateMute:function(){this.audio&&(this.audio.muted=this.currentConfig.mute||this.manager.mute)},updateVolume:function(){this.audio&&(this.audio.volume=this.currentConfig.volume*this.manager.volume)},calculateRate:function(){n.prototype.calculateRate.call(this),this.audio&&(this.audio.playbackRate=this.totalRate)},mute:{get:function(){return this.currentConfig.mute},set:function(t){this.currentConfig.mute=t,this.manager.isLocked(this,"mute",t)||(this.updateMute(),this.emit(r.MUTE,this,t))}},setMute:function(t){return this.mute=t,this},volume:{get:function(){return this.currentConfig.volume},set:function(t){this.currentConfig.volume=t,this.manager.isLocked(this,"volume",t)||(this.updateVolume(),this.emit(r.VOLUME,this,t))}},setVolume:function(t){return this.volume=t,this},rate:{get:function(){return this.currentConfig.rate},set:function(t){this.currentConfig.rate=t,this.manager.isLocked(this,r.RATE,t)||(this.calculateRate(),this.emit(r.RATE,this,t))}},setRate:function(t){return this.rate=t,this},detune:{get:function(){return this.currentConfig.detune},set:function(t){this.currentConfig.detune=t,this.manager.isLocked(this,r.DETUNE,t)||(this.calculateRate(),this.emit(r.DETUNE,this,t))}},setDetune:function(t){return this.detune=t,this},seek:{get:function(){return this.isPlaying?this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0):this.isPaused?this.currentConfig.seek:0},set:function(t){this.manager.isLocked(this,"seek",t)||this.startTime>0||(this.isPlaying||this.isPaused)&&(t=Math.min(Math.max(0,t),this.duration),this.isPlaying?(this.previousTime=t,this.audio.currentTime=t):this.isPaused&&(this.currentConfig.seek=t),this.emit(r.SEEK,this,t))}},setSeek:function(t){return this.seek=t,this},loop:{get:function(){return this.currentConfig.loop},set:function(t){this.currentConfig.loop=t,this.manager.isLocked(this,"loop",t)||(this.audio&&(this.audio.loop=t),this.emit(r.LOOP,this,t))}},setLoop:function(t){return this.loop=t,this}});t.exports=o},function(t,e,i){var n=i(123),s=i(0),r=i(69),o=i(326),a=new s({Extends:n,initialize:function(t){this.override=!0,this.audioPlayDelay=.1,this.loopEndOffset=.05,this.onBlurPausedSounds=[],this.locked="ontouchstart"in window,this.lockedActionsQueue=this.locked?[]:null,this._mute=!1,this._volume=1,n.call(this,t)},add:function(t,e){var i=new o(this,t,e);return this.sounds.push(i),i},unlock:function(){this.locked=!1;var t=this;if(this.game.cache.audio.entries.each(function(e,i){for(var n=0;n-1&&(delete this.keys[n],this.scenes.splice(i,1),this._start.indexOf(n)>-1&&(i=this._start.indexOf(n),this._start.splice(i,1)),e.sys.destroy())}return this},bootScene:function(t){var e,i=t.sys,n=i.settings;t.init&&(t.init.call(t,n.data),n.status=s.INIT,n.isTransition&&i.events.emit(r.TRANSITION_INIT,n.transitionFrom,n.transitionDuration)),i.load&&(e=i.load).reset(),e&&t.preload?(t.preload.call(t),0===e.list.size?this.create(t):(n.status=s.LOADING,e.once(h.COMPLETE,this.loadComplete,this),e.start())):this.create(t)},loadComplete:function(t){var e=t.scene;this.game.sound.onBlurPausedSounds&&this.game.sound.unlock(),this.create(e)},payloadComplete:function(t){this.bootScene(t.scene)},update:function(t,e){this.processQueue(),this.isProcessing=!0;for(var i=this.scenes.length-1;i>=0;i--){var n=this.scenes[i].sys;n.settings.status>s.START&&n.settings.status<=s.RUNNING&&n.step(t,e)}},render:function(t){for(var e=0;e=s.LOADING&&i.settings.status0){var i=this.getScene(t);this.scenes.splice(e,1),this.scenes.unshift(i)}}return this},moveDown:function(t){if(this.isProcessing)this._queue.push({op:"moveDown",keyA:t,keyB:null});else{var e=this.getIndex(t);if(e>0){var i=e-1,n=this.getScene(t),s=this.getAt(i);this.scenes[e]=s,this.scenes[i]=n}}return this},moveUp:function(t){if(this.isProcessing)this._queue.push({op:"moveUp",keyA:t,keyB:null});else{var e=this.getIndex(t);if(ethis._parent.width&&(t=Math.max(this.minWidth,this._parent.width)),t},getNewHeight:function(t,e){return void 0===e&&(e=!0),t=n(t,this.minHeight,this.maxHeight),e&&this._parent&&t>this._parent.height&&(t=Math.max(this.minHeight,this._parent.height)),t},constrain:function(t,e,i){void 0===t&&(t=0),void 0===e&&(e=t),void 0===i&&(i=!0),t=this.getNewWidth(t),e=this.getNewHeight(e);var n=this.snapTo,s=0===e?1:t/e;return i&&this.aspectRatio>s||!i&&this.aspectRatio0&&(t=(e=r(e,n.y))*this.aspectRatio)):(i&&this.aspectRatios)&&(t=(e=r(e,n.y))*this.aspectRatio,n.x>0&&(e=(t=r(t,n.x))*(1/this.aspectRatio))),this._width=t,this._height=e,this},fitTo:function(t,e){return this.constrain(t,e,!0)},envelop:function(t,e){return this.constrain(t,e,!1)},setWidth:function(t){return this.setSize(t,this._height)},setHeight:function(t){return this.setSize(this._width,t)},toString:function(){return"[{ Size (width="+this._width+" height="+this._height+" aspectRatio="+this.aspectRatio+" aspectMode="+this.aspectMode+") }]"},copy:function(t){return t.setAspectMode(this.aspectMode),t.aspectRatio=this.aspectRatio,t.setSize(this.width,this.height)},destroy:function(){this._parent=null,this.snapTo=null},width:{get:function(){return this._width},set:function(t){this.setSize(t,this._height)}},height:{get:function(){return this._height},set:function(t){this.setSize(this._width,t)}}});a.NONE=0,a.WIDTH_CONTROLS_HEIGHT=1,a.HEIGHT_CONTROLS_WIDTH=2,a.FIT=3,a.ENVELOP=4,t.exports=a},function(t,e,i){t.exports={ENTER_FULLSCREEN:i(951),FULLSCREEN_UNSUPPORTED:i(950),LEAVE_FULLSCREEN:i(949),ORIENTATION_CHANGE:i(948),RESIZE:i(947)}},function(t,e,i){var n=i(178),s=i(0),r=i(11),o=i(334),a=i(26),h=i(946),l=i(345),u=i(350),c=i(1),d=i(10),f=i(333),p=i(98),g=i(3),v=new s({Extends:r,initialize:function(t){r.call(this),this.game=t,this.canvas,this.canvasBounds=new d,this.parent=null,this.parentIsWindow=!1,this.parentSize=new f,this.gameSize=new f,this.baseSize=new f,this.displaySize=new f,this.scaleMode=n.SCALE_MODE.NONE,this.resolution=1,this.zoom=1,this.displayScale=new g(1,1),this.autoRound=!1,this.autoCenter=n.CENTER.NO_CENTER,this.orientation=n.ORIENTATION.LANDSCAPE,this.fullscreen,this.fullscreenTarget=null,this._createdFullscreenTarget=!1,this.dirty=!1,this.resizeInterval=500,this._lastCheck=0,this._checkOrientation=!1,this.listeners={orientationChange:c,windowResize:c,fullScreenChange:c,fullScreenError:c}},preBoot:function(){this.parseConfig(this.game.config),this.game.events.once("boot",this.boot,this)},boot:function(){var t=this.game;this.canvas=t.canvas,this.fullscreen=t.device.fullscreen,this.scaleMode!==n.SCALE_MODE.RESIZE&&this.displaySize.setAspectMode(this.scaleMode),this.scaleMode===n.SCALE_MODE.NONE?this.resize(this.width,this.height):(this.getParentBounds(),this.parentSize.width>0&&this.parentSize.height>0&&this.displaySize.setParent(this.parentSize),this.refresh()),t.events.on(a.PRE_STEP,this.step,this),this.startListeners()},parseConfig:function(t){this.getParent(t),this.getParentBounds();var e=t.width,i=t.height,s=t.scaleMode,r=t.resolution,o=t.zoom,a=t.autoRound;if("string"==typeof e){var h=this.parentSize.width;0===h&&(h=window.innerWidth);var l=parseInt(e,10)/100;e=Math.floor(h*l)}if("string"==typeof i){var c=this.parentSize.height;0===c&&(c=window.innerHeight);var d=parseInt(i,10)/100;i=Math.floor(c*d)}this.resolution=1,this.scaleMode=s,this.autoRound=a,this.autoCenter=t.autoCenter,this.resizeInterval=t.resizeInterval,a&&(e=Math.floor(e),i=Math.floor(i)),this.gameSize.setSize(e,i),o===n.ZOOM.MAX_ZOOM&&(o=this.getMaxZoom()),this.zoom=o,this.baseSize.setSize(e*r,i*r),a&&(this.baseSize.width=Math.floor(this.baseSize.width),this.baseSize.height=Math.floor(this.baseSize.height)),t.minWidth>0&&this.displaySize.setMin(t.minWidth*o,t.minHeight*o),t.maxWidth>0&&this.displaySize.setMax(t.maxWidth*o,t.maxHeight*o),this.displaySize.setSize(e,i),this.orientation=u(e,i)},getParent:function(t){var e=t.parent;if(null!==e){if(this.parent=l(e),this.parentIsWindow=this.parent===document.body,t.expandParent&&t.scaleMode!==n.SCALE_MODE.NONE){var i=this.parent.getBoundingClientRect();(this.parentIsWindow||0===i.height)&&(document.documentElement.style.height="100%",document.body.style.height="100%",i=this.parent.getBoundingClientRect(),this.parentIsWindow||0!==i.height||(this.parent.style.overflow="hidden",this.parent.style.width="100%",this.parent.style.height="100%"))}t.fullscreenTarget&&!this.fullscreenTarget&&(this.fullscreenTarget=l(t.fullscreenTarget))}},getParentBounds:function(){if(!this.parent)return!1;var t=this.parentSize,e=this.parent.getBoundingClientRect();this.parentIsWindow&&this.game.device.os.iOS&&(e.height=h(!0));var i=this.resolution,n=e.width*i,s=e.height*i;return(t.width!==n||t.height!==s)&&(t.setSize(n,s),!0)},lockOrientation:function(t){var e=screen.lockOrientation||screen.mozLockOrientation||screen.msLockOrientation;return!!e&&e(t)},setParentSize:function(t,e){return this.parentSize.setSize(t,e),this.refresh()},setGameSize:function(t,e){var i=this.autoRound,n=this.resolution;return i&&(t=Math.floor(t),e=Math.floor(e)),this.gameSize.resize(t,e),this.baseSize.resize(t*n,e*n),this.updateBounds(),this.displayScale.set(t/this.canvasBounds.width,e/this.canvasBounds.height),this.emit(o.RESIZE,this.gameSize,this.baseSize,this.displaySize,this.resolution),this.updateOrientation(),this.refresh()},resize:function(t,e){var i=this.zoom,n=this.resolution,s=this.autoRound;s&&(t=Math.floor(t),e=Math.floor(e)),this.gameSize.resize(t,e),this.baseSize.resize(t*n,e*n),this.displaySize.setSize(t*i*n,e*i*n),this.canvas.width=this.baseSize.width,this.canvas.height=this.baseSize.height;var r=this.canvas.style,a=t*i,h=e*i;return s&&(a=Math.floor(a),h=Math.floor(h)),a===t&&h===e||(r.width=a+"px",r.height=h+"px"),this.getParentBounds(),this.updateCenter(),this.updateBounds(),this.displayScale.set(t/this.canvasBounds.width,e/this.canvasBounds.height),this.emit(o.RESIZE,this.gameSize,this.baseSize,this.displaySize,this.resolution),this.updateOrientation(),this},setZoom:function(t){return this.zoom=t,this.refresh()},setMaxZoom:function(){return this.zoom=this.getMaxZoom(),this.refresh()},refresh:function(){return this.updateScale(),this.updateBounds(),this.updateOrientation(),this.displayScale.set(this.baseSize.width/this.canvasBounds.width,this.baseSize.height/this.canvasBounds.height),this.emit(o.RESIZE,this.gameSize,this.baseSize,this.displaySize,this.resolution),this},updateOrientation:function(){if(this._checkOrientation){this._checkOrientation=!1;var t=u(this.width,this.height);t!==this.orientation&&(this.orientation=t,this.emit(o.ORIENTATION_CHANGE,t))}},updateScale:function(){var t,e,i=this.canvas.style,s=this.gameSize.width,r=this.gameSize.height,o=this.zoom,a=this.autoRound;this.scaleMode===n.SCALE_MODE.NONE?(this.displaySize.setSize(s*o*1,r*o*1),t=this.displaySize.width/1,e=this.displaySize.height/1,a&&(t=Math.floor(t),e=Math.floor(e)),o>1&&(i.width=t+"px",i.height=e+"px")):this.scaleMode===n.SCALE_MODE.RESIZE?(this.displaySize.setSize(this.parentSize.width,this.parentSize.height),this.gameSize.setSize(this.displaySize.width,this.displaySize.height),this.baseSize.setSize(1*this.displaySize.width,1*this.displaySize.height),t=this.displaySize.width/1,e=this.displaySize.height/1,a&&(t=Math.floor(t),e=Math.floor(e)),this.canvas.width=t,this.canvas.height=e):(this.displaySize.setSize(this.parentSize.width,this.parentSize.height),t=this.displaySize.width/1,e=this.displaySize.height/1,a&&(t=Math.floor(t),e=Math.floor(e)),i.width=t+"px",i.height=e+"px"),this.getParentBounds(),this.updateCenter()},getMaxZoom:function(){var t=p(this.parentSize.width,this.gameSize.width,0,!0),e=p(this.parentSize.height,this.gameSize.height,0,!0);return Math.max(Math.min(t,e),1)},updateCenter:function(){var t=this.autoCenter;if(t!==n.CENTER.NO_CENTER){var e=this.canvas,i=e.style,s=e.getBoundingClientRect(),r=s.width,o=s.height,a=Math.floor((this.parentSize.width-r)/2),h=Math.floor((this.parentSize.height-o)/2);t===n.CENTER.CENTER_HORIZONTALLY?h=0:t===n.CENTER.CENTER_VERTICALLY&&(a=0),i.marginLeft=a+"px",i.marginTop=h+"px"}},updateBounds:function(){var t=this.canvasBounds,e=this.canvas.getBoundingClientRect();t.x=e.left+(window.pageXOffset||0)-(document.documentElement.clientLeft||0),t.y=e.top+(window.pageYOffset||0)-(document.documentElement.clientTop||0),t.width=e.width,t.height=e.height},transformX:function(t){return(t-this.canvasBounds.left)*this.displayScale.x},transformY:function(t){return(t-this.canvasBounds.top)*this.displayScale.y},startFullscreen:function(t){void 0===t&&(t={navigationUI:"hide"});var e=this.fullscreen;if(e.available){if(!e.active){var i=this.getFullscreenTarget();e.keyboard?i[e.request](Element.ALLOW_KEYBOARD_INPUT):i[e.request](t),this.getParentBounds(),this.refresh(),this.emit(o.ENTER_FULLSCREEN)}}else this.emit(o.FULLSCREEN_UNSUPPORTED)},getFullscreenTarget:function(){if(!this.fullscreenTarget){var t=document.createElement("div");t.style.margin="0",t.style.padding="0",t.style.width="100%",t.style.height="100%",this.fullscreenTarget=t,this._createdFullscreenTarget=!0}this._createdFullscreenTarget&&(this.canvas.parentNode.insertBefore(this.fullscreenTarget,this.canvas),this.fullscreenTarget.appendChild(this.canvas));return this.fullscreenTarget},stopFullscreen:function(){var t=this.fullscreen;if(!t.available)return this.emit(o.FULLSCREEN_UNSUPPORTED),!1;if(t.active){if(document[t.cancel](),this._createdFullscreenTarget){var e=this.fullscreenTarget;if(e&&e.parentNode){var i=e.parentNode;i.insertBefore(this.canvas,e),i.removeChild(e)}}this.emit(o.LEAVE_FULLSCREEN),this.refresh()}},toggleFullscreen:function(t){this.fullscreen.active?this.stopFullscreen():this.startFullscreen(t)},startListeners:function(){var t=this,e=this.listeners;if(e.orientationChange=function(){t._checkOrientation=!0,t.dirty=!0},e.windowResize=function(){t.dirty=!0},window.addEventListener("orientationchange",e.orientationChange,!1),window.addEventListener("resize",e.windowResize,!1),this.allowFullScreen){e.fullScreenChange=function(e){return t.onFullScreenChange(e)},e.fullScreenError=function(e){return t.onFullScreenError(e)};["webkit","moz",""].forEach(function(t){document.addEventListener(t+"fullscreenchange",e.fullScreenChange,!1),document.addEventListener(t+"fullscreenerror",e.fullScreenError,!1)}),document.addEventListener("MSFullscreenChange",e.fullScreenChange,!1),document.addEventListener("MSFullscreenError",e.fullScreenError,!1)}},onFullScreenChange:function(){},onFullScreenError:function(){},step:function(t,e){this.parent&&(this._lastCheck+=e,(this.dirty||this._lastCheck>this.resizeInterval)&&(this.getParentBounds()&&this.refresh(),this.dirty=!1,this._lastCheck=0))},stopListeners:function(){var t=this.listeners;window.removeEventListener("orientationchange",t.orientationChange,!1),window.removeEventListener("resize",t.windowResize,!1);["webkit","moz",""].forEach(function(e){document.removeEventListener(e+"fullscreenchange",t.fullScreenChange,!1),document.removeEventListener(e+"fullscreenerror",t.fullScreenError,!1)}),document.removeEventListener("MSFullscreenChange",t.fullScreenChange,!1),document.removeEventListener("MSFullscreenError",t.fullScreenError,!1)},destroy:function(){this.removeAllListeners(),this.stopListeners(),this.game=null,this.canvas=null,this.canvasBounds=null,this.parent=null,this.parentSize.destroy(),this.gameSize.destroy(),this.baseSize.destroy(),this.displaySize.destroy(),this.fullscreenTarget=null},isFullscreen:{get:function(){return this.fullscreen.active}},width:{get:function(){return this.gameSize.width}},height:{get:function(){return this.gameSize.height}},isPortrait:{get:function(){return this.orientation===n.ORIENTATION.PORTRAIT}},isLandscape:{get:function(){return this.orientation===n.ORIENTATION.LANDSCAPE}},isGamePortrait:{get:function(){return this.height>this.width}},isGameLandscape:{get:function(){return this.width>this.height}}});t.exports=v},function(t,e,i){var n=i(0),s=i(26),r=i(11),o=i(7),a=i(14),h=i(5),l=i(2),u=i(17),c=i(177),d=new n({Extends:r,initialize:function(t){r.call(this),this.game=t,this.plugins=[],this.scenePlugins=[],this._pendingGlobal=[],this._pendingScene=[],t.isBooted?this.boot():t.events.once(s.BOOT,this.boot,this)},boot:function(){var t,e,i,n,r,o,a,h=this.game.config,u=h.installGlobalPlugins;for(u=u.concat(this._pendingGlobal),t=0;t-1&&e.preventDefault()}},this.onKeyUp=function(e){if(!e.defaultPrevented&&t.enabled&&t.manager){t.queue.push(e),t.manager.useQueue||t.manager.events.emit(o.MANAGER_PROCESS);var i=e.altKey||e.ctrlKey||e.shiftKey||e.metaKey;t.preventDefault&&!i&&t.captures.indexOf(e.keyCode)>-1&&e.preventDefault()}};var e=this.target;e&&(e.addEventListener("keydown",this.onKeyDown,!1),e.addEventListener("keyup",this.onKeyUp,!1),this.enabled=!0)},stopListeners:function(){var t=this.target;t.removeEventListener("keydown",this.onKeyDown,!1),t.removeEventListener("keyup",this.onKeyUp,!1),this.enabled=!1},postUpdate:function(){this.queue=[]},addCapture:function(t){"string"==typeof t&&(t=t.split(",")),Array.isArray(t)||(t=[t]);for(var e=this.captures,i=0;i0},removeCapture:function(t){"string"==typeof t&&(t=t.split(",")),Array.isArray(t)||(t=[t]);for(var e=this.captures,i=0;i0},clearCaptures:function(){this.captures=[],this.preventDefault=!1},destroy:function(){this.stopListeners(),this.clearCaptures(),this.queue=[],this.manager.game.events.off(r.POST_RENDER,this.postUpdate,this),this.target=null,this.enabled=!1,this.manager=null}});t.exports=l},function(t,e){t.exports={MOUSE_DOWN:0,MOUSE_MOVE:1,MOUSE_UP:2,TOUCH_START:3,TOUCH_MOVE:4,TOUCH_END:5,TOUCH_CANCEL:7,POINTER_LOCK_CHANGE:6}},function(t,e,i){var n=i(0),s=i(341),r=i(11),o=i(52),a=i(26),h=i(340),l=i(339),u=i(338),c=i(337),d=i(41),f=i(371),p=new n({initialize:function(t,e){this.game=t,this.scaleManager,this.canvas,this.config=e,this.enabled=!0,this.events=new r,this.queue=[],this.domCallbacks={up:[],down:[],move:[],upOnce:[],downOnce:[],moveOnce:[]},this.isOver=!0,this._emitIsOverEvent=!1,this._hasUpCallback=!1,this._hasDownCallback=!1,this._hasMoveCallback=!1,this._customCursor="",this._setCursor=0,this.defaultCursor="",this.keyboard=e.inputKeyboard?new h(this):null,this.mouse=e.inputMouse?new l(this):null,this.touch=e.inputTouch?new c(this):null,this.pointers=[],this.pointersTotal=e.inputActivePointers,e.inputTouch&&1===this.pointersTotal&&(this.pointersTotal=2);for(var i=0;i<=this.pointersTotal;i++){var n=new u(this,i);n.smoothFactor=e.inputSmoothFactor,this.pointers.push(n)}this.mousePointer=e.inputMouse?this.pointers[0]:null,this.activePointer=this.pointers[0],this.dirty=!1,this.globalTopOnly=!0,this.ignoreEvents=!1,this.useQueue=e.inputQueue,this._updatedThisFrame=!1,this._tempPoint={x:0,y:0},this._tempHitTest=[],this._tempMatrix=new d,this._tempMatrix2=new d,t.events.once(a.BOOT,this.boot,this)},boot:function(){this.canvas=this.game.canvas,this.scaleManager=this.game.scale,this.events.emit(o.MANAGER_BOOT),this.useQueue&&this.game.events.on(a.PRE_STEP,this.legacyUpdate,this),this.game.events.on(a.POST_STEP,this.postUpdate,this),this.game.events.once(a.DESTROY,this.destroy,this)},setCanvasOver:function(t){this.isOver=!0,this._emitIsOverEvent=t},setCanvasOut:function(t){this.isOver=!1,this._emitIsOverEvent=t},update:function(t){this._updatedThisFrame||(this._setCursor=0,this._updatedThisFrame=!0),this.events.emit(o.MANAGER_UPDATE),this.ignoreEvents=!1,this.dirty=!0;for(var e=this.pointers,i=0;i10&&(t=10-this.pointersTotal);for(var i=0;i0},updateInputPlugins:function(t,e){for(var i=this.game.scene.getScenes(!0,!0),n=0;ni.width?n.PORTRAIT:n.LANDSCAPE;if("number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?n.PORTRAIT:n.LANDSCAPE;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return n.PORTRAIT;if(window.matchMedia("(orientation: landscape)").matches)return n.LANDSCAPE}return e>t?n.PORTRAIT:n.LANDSCAPE}},function(t,e,i){var n=i(99);t.exports=function(t){if("complete"!==document.readyState&&"interactive"!==document.readyState){var e=function(){document.removeEventListener("deviceready",e,!0),document.removeEventListener("DOMContentLoaded",e,!0),window.removeEventListener("load",e,!0),t()};document.body?n.cordova&&!n.cocoonJS?document.addEventListener("deviceready",e,!1):(document.addEventListener("DOMContentLoaded",e,!0),window.addEventListener("load",e,!0)):window.setTimeout(e,20)}else t()}},function(t,e){t.exports=function(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}},function(t,e){t.exports=function(t){var e=t.toString(16);return 1===e.length?"0"+e:e}},function(t,e,i){var n=i(32);n.ColorToRGBA=i(1005),n.ComponentToHex=i(353),n.GetColor=i(191),n.GetColor32=i(409),n.HexStringToColor=i(410),n.HSLToColor=i(1004),n.HSVColorWheel=i(1003),n.HSVToRGB=i(190),n.HueToComponent=i(352),n.IntegerToColor=i(407),n.IntegerToRGB=i(406),n.Interpolate=i(1002),n.ObjectToColor=i(405),n.RandomRGB=i(1001),n.RGBStringToColor=i(404),n.RGBToHSV=i(408),n.RGBToString=i(1e3),n.ValueToColor=i(192),t.exports=n},function(t,e,i){var n=i(185),s=i(0),r=i(76),o=i(3),a=new s({Extends:r,initialize:function(t){void 0===t&&(t=[]),r.call(this,"SplineCurve"),this.points=[],this.addPoints(t)},addPoints:function(t){for(var e=0;ei.length-2?i.length-1:r+1],c=i[r>i.length-3?i.length-1:r+2];return e.set(n(a,h.x,l.x,u.x,c.x),n(a,h.y,l.y,u.y,c.y))},toJSON:function(){for(var t=[],e=0;ei;)n-=i;n0||!this.inFocus)&&(this._coolDown--,r=Math.min(r,this._target)),r>this._min&&(r=n[i],r=Math.min(r,this._min)),n[i]=r,this.deltaIndex++,this.deltaIndex>s&&(this.deltaIndex=0);for(var o=0,a=0;athis.nextFpsUpdate&&(this.actualFps=.25*this.framesThisSecond+.75*this.actualFps,this.nextFpsUpdate=t+1e3,this.framesThisSecond=0),this.framesThisSecond++;var h=o/this._target;this.callback(t,o,h),this.lastTime=t,this.frame++},tick:function(){this.step(window.performance.now())},sleep:function(){this.running&&(this.raf.stop(),this.running=!1)},wake:function(t){this.running?this.sleep():t&&(this.startTime+=-this.lastTime+(this.lastTime+window.performance.now())),this.raf.start(this.step.bind(this),this.useRAF),this.running=!0,this.step(window.performance.now())},stop:function(){return this.running=!1,this.started=!1,this.raf.stop(),this},destroy:function(){this.stop(),this.callback=r,this.raf=null,this.game=null}});t.exports=a},function(t,e,i){var n=i(28);t.exports=function(t){var e=t.config;if(!e.hideBanner){var i="WebGL";e.renderType===n.CANVAS?i="Canvas":e.renderType===n.HEADLESS&&(i="Headless");var s,r=e.audio,o=t.device.audio;if(s=!o.webAudio||r&&r.disableWebAudio?r&&r.noAudio||!o.webAudio&&!o.audioData?"No Audio":"HTML5 Audio":"Web Audio",t.device.browser.ie)window.console&&console.log("Phaser v"+n.VERSION+" / https://phaser.io");else{var a,h="",l=[h];Array.isArray(e.bannerBackgroundColor)?(e.bannerBackgroundColor.forEach(function(t){h=h.concat("%c "),l.push("background: "+t),a=t}),l[l.length-1]="color: "+e.bannerTextColor+"; background: "+a):(h=h.concat("%c "),l.push("color: "+e.bannerTextColor+"; background: "+e.bannerBackgroundColor)),l.push("background: #fff"),e.gameTitle&&(h=h.concat(e.gameTitle),e.gameVersion&&(h=h.concat(" v"+e.gameVersion)),e.hidePhaser||(h=h.concat(" / "))),e.hidePhaser||(h=h.concat("Phaser v"+n.VERSION+" ("+i+" | "+s+")")),h=h.concat(" %c "+e.gameURL),l[0]=h,console.log.apply(console,l)}}}},function(t,e){t.exports={setCrisp:function(t){return["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"].forEach(function(e){t.style["image-rendering"]=e}),t.style.msInterpolationMode="nearest-neighbor",t},setBicubic:function(t){return t.style["image-rendering"]="auto",t.style.msInterpolationMode="bicubic",t}}},function(t,e,i){var n=i(366),s=i(24),r=i(28),o=i(187);t.exports=function(t){var e=t.config;if((e.customEnvironment||e.canvas)&&e.renderType===r.AUTO)throw new Error("Must set explicit renderType in custom environment");if(!e.customEnvironment&&!e.canvas&&e.renderType!==r.HEADLESS)if(e.renderType===r.CANVAS||e.renderType!==r.CANVAS&&!o.webGL){if(!o.canvas)throw new Error("Cannot create Canvas or WebGL context, aborting.");e.renderType=r.CANVAS}else e.renderType=r.WEBGL;e.antialias||s.disableSmoothing();var a,h,l=t.scale.baseSize,u=l.width,c=l.height;e.canvas?(t.canvas=e.canvas,t.canvas.width=u,t.canvas.height=c):t.canvas=s.create(t,u,c,e.renderType),e.canvasStyle&&(t.canvas.style=e.canvasStyle),e.antialias||n.setCrisp(t.canvas),e.renderType!==r.HEADLESS&&(a=i(459),h=i(456),e.renderType===r.WEBGL?t.renderer=new h(t):(t.renderer=new a(t),t.context=t.renderer.gameContext))}},function(t,e,i){var n=i(0),s=i(182),r=i(370),o=new Int8Array([1,2,0]),a=new Float32Array([0,0,0]),h=new s(1,0,0),l=new s(0,1,0),u=new s,c=new r,d=new n({initialize:function(t,e,i,n){"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0,this.w=t.w||0):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},set:function(t,e,i,n){return"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0,this.w=t.w||0):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0),this},add:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},subtract:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},scale:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},length:function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},lengthSq:function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},normalize:function(){var t=this.x,e=this.y,i=this.z,n=this.w,s=t*t+e*e+i*i+n*n;return s>0&&(s=1/Math.sqrt(s),this.x=t*s,this.y=e*s,this.z=i*s,this.w=n*s),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,n=this.y,s=this.z,r=this.w;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this.z=s+e*(t.z-s),this.w=r+e*(t.w-r),this},rotationTo:function(t,e){var i=t.x*e.x+t.y*e.y+t.z*e.z;return i<-.999999?(u.copy(h).cross(t).length()<1e-6&&u.copy(l).cross(t),u.normalize(),this.setAxisAngle(u,Math.PI)):i>.999999?(this.x=0,this.y=0,this.z=0,this.w=1,this):(u.copy(t).cross(e),this.x=u.x,this.y=u.y,this.z=u.z,this.w=1+i,this.normalize())},setAxes:function(t,e,i){var n=c.val;return n[0]=e.x,n[3]=e.y,n[6]=e.z,n[1]=i.x,n[4]=i.y,n[7]=i.z,n[2]=-t.x,n[5]=-t.y,n[8]=-t.z,this.fromMat3(c).normalize()},identity:function(){return this.x=0,this.y=0,this.z=0,this.w=1,this},setAxisAngle:function(t,e){e*=.5;var i=Math.sin(e);return this.x=i*t.x,this.y=i*t.y,this.z=i*t.z,this.w=Math.cos(e),this},multiply:function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.x,o=t.y,a=t.z,h=t.w;return this.x=e*h+s*r+i*a-n*o,this.y=i*h+s*o+n*r-e*a,this.z=n*h+s*a+e*o-i*r,this.w=s*h-e*r-i*o-n*a,this},slerp:function(t,e){var i=this.x,n=this.y,s=this.z,r=this.w,o=t.x,a=t.y,h=t.z,l=t.w,u=i*o+n*a+s*h+r*l;u<0&&(u=-u,o=-o,a=-a,h=-h,l=-l);var c=1-e,d=e;if(1-u>1e-6){var f=Math.acos(u),p=Math.sin(f);c=Math.sin((1-e)*f)/p,d=Math.sin(e*f)/p}return this.x=c*i+d*o,this.y=c*n+d*a,this.z=c*s+d*h,this.w=c*r+d*l,this},invert:function(){var t=this.x,e=this.y,i=this.z,n=this.w,s=t*t+e*e+i*i+n*n,r=s?1/s:0;return this.x=-t*r,this.y=-e*r,this.z=-i*r,this.w=n*r,this},conjugate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},rotateX:function(t){t*=.5;var e=this.x,i=this.y,n=this.z,s=this.w,r=Math.sin(t),o=Math.cos(t);return this.x=e*o+s*r,this.y=i*o+n*r,this.z=n*o-i*r,this.w=s*o-e*r,this},rotateY:function(t){t*=.5;var e=this.x,i=this.y,n=this.z,s=this.w,r=Math.sin(t),o=Math.cos(t);return this.x=e*o-n*r,this.y=i*o+s*r,this.z=n*o+e*r,this.w=s*o-i*r,this},rotateZ:function(t){t*=.5;var e=this.x,i=this.y,n=this.z,s=this.w,r=Math.sin(t),o=Math.cos(t);return this.x=e*o+i*r,this.y=i*o-e*r,this.z=n*o+s*r,this.w=s*o-n*r,this},calculateW:function(){var t=this.x,e=this.y,i=this.z;return this.w=-Math.sqrt(1-t*t-e*e-i*i),this},fromMat3:function(t){var e,i=t.val,n=i[0]+i[4]+i[8];if(n>0)e=Math.sqrt(n+1),this.w=.5*e,e=.5/e,this.x=(i[7]-i[5])*e,this.y=(i[2]-i[6])*e,this.z=(i[3]-i[1])*e;else{var s=0;i[4]>i[0]&&(s=1),i[8]>i[3*s+s]&&(s=2);var r=o[s],h=o[r];e=Math.sqrt(i[3*s+s]-i[3*r+r]-i[3*h+h]+1),a[s]=.5*e,e=.5/e,a[r]=(i[3*r+s]+i[3*s+r])*e,a[h]=(i[3*h+s]+i[3*s+h])*e,this.x=a[0],this.y=a[1],this.z=a[2],this.w=(i[3*h+r]-i[3*r+h])*e}return this}});t.exports=d},function(t,e,i){var n=new(i(0))({initialize:function(t){this.val=new Float32Array(16),t?this.copy(t):this.identity()},clone:function(){return new n(this)},set:function(t){return this.copy(t)},copy:function(t){var e=this.val,i=t.val;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},fromArray:function(t){var e=this.val;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},zero:function(){var t=this.val;return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=0,this},xyz:function(t,e,i){this.identity();var n=this.val;return n[12]=t,n[13]=e,n[14]=i,this},scaling:function(t,e,i){this.zero();var n=this.val;return n[0]=t,n[5]=e,n[10]=i,n[15]=1,this},identity:function(){var t=this.val;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},transpose:function(){var t=this.val,e=t[1],i=t[2],n=t[3],s=t[6],r=t[7],o=t[11];return t[1]=t[4],t[2]=t[8],t[3]=t[12],t[4]=e,t[6]=t[9],t[7]=t[13],t[8]=i,t[9]=s,t[11]=t[14],t[12]=n,t[13]=r,t[14]=o,this},invert:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8],u=t[9],c=t[10],d=t[11],f=t[12],p=t[13],g=t[14],v=t[15],y=e*o-i*r,m=e*a-n*r,x=e*h-s*r,T=i*a-n*o,w=i*h-s*o,b=n*h-s*a,S=l*p-u*f,_=l*g-c*f,A=l*v-d*f,E=u*g-c*p,C=u*v-d*p,M=c*v-d*g,P=y*M-m*C+x*E+T*A-w*_+b*S;return P?(P=1/P,t[0]=(o*M-a*C+h*E)*P,t[1]=(n*C-i*M-s*E)*P,t[2]=(p*b-g*w+v*T)*P,t[3]=(c*w-u*b-d*T)*P,t[4]=(a*A-r*M-h*_)*P,t[5]=(e*M-n*A+s*_)*P,t[6]=(g*x-f*b-v*m)*P,t[7]=(l*b-c*x+d*m)*P,t[8]=(r*C-o*A+h*S)*P,t[9]=(i*A-e*C-s*S)*P,t[10]=(f*w-p*x+v*y)*P,t[11]=(u*x-l*w-d*y)*P,t[12]=(o*_-r*E-a*S)*P,t[13]=(e*E-i*_+n*S)*P,t[14]=(p*m-f*T-g*y)*P,t[15]=(l*T-u*m+c*y)*P,this):null},adjoint:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8],u=t[9],c=t[10],d=t[11],f=t[12],p=t[13],g=t[14],v=t[15];return t[0]=o*(c*v-d*g)-u*(a*v-h*g)+p*(a*d-h*c),t[1]=-(i*(c*v-d*g)-u*(n*v-s*g)+p*(n*d-s*c)),t[2]=i*(a*v-h*g)-o*(n*v-s*g)+p*(n*h-s*a),t[3]=-(i*(a*d-h*c)-o*(n*d-s*c)+u*(n*h-s*a)),t[4]=-(r*(c*v-d*g)-l*(a*v-h*g)+f*(a*d-h*c)),t[5]=e*(c*v-d*g)-l*(n*v-s*g)+f*(n*d-s*c),t[6]=-(e*(a*v-h*g)-r*(n*v-s*g)+f*(n*h-s*a)),t[7]=e*(a*d-h*c)-r*(n*d-s*c)+l*(n*h-s*a),t[8]=r*(u*v-d*p)-l*(o*v-h*p)+f*(o*d-h*u),t[9]=-(e*(u*v-d*p)-l*(i*v-s*p)+f*(i*d-s*u)),t[10]=e*(o*v-h*p)-r*(i*v-s*p)+f*(i*h-s*o),t[11]=-(e*(o*d-h*u)-r*(i*d-s*u)+l*(i*h-s*o)),t[12]=-(r*(u*g-c*p)-l*(o*g-a*p)+f*(o*c-a*u)),t[13]=e*(u*g-c*p)-l*(i*g-n*p)+f*(i*c-n*u),t[14]=-(e*(o*g-a*p)-r*(i*g-n*p)+f*(i*a-n*o)),t[15]=e*(o*c-a*u)-r*(i*c-n*u)+l*(i*a-n*o),this},determinant:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8],u=t[9],c=t[10],d=t[11],f=t[12],p=t[13],g=t[14],v=t[15];return(e*o-i*r)*(c*v-d*g)-(e*a-n*r)*(u*v-d*p)+(e*h-s*r)*(u*g-c*p)+(i*a-n*o)*(l*v-d*f)-(i*h-s*o)*(l*g-c*f)+(n*h-s*a)*(l*p-u*f)},multiply:function(t){var e=this.val,i=e[0],n=e[1],s=e[2],r=e[3],o=e[4],a=e[5],h=e[6],l=e[7],u=e[8],c=e[9],d=e[10],f=e[11],p=e[12],g=e[13],v=e[14],y=e[15],m=t.val,x=m[0],T=m[1],w=m[2],b=m[3];return e[0]=x*i+T*o+w*u+b*p,e[1]=x*n+T*a+w*c+b*g,e[2]=x*s+T*h+w*d+b*v,e[3]=x*r+T*l+w*f+b*y,x=m[4],T=m[5],w=m[6],b=m[7],e[4]=x*i+T*o+w*u+b*p,e[5]=x*n+T*a+w*c+b*g,e[6]=x*s+T*h+w*d+b*v,e[7]=x*r+T*l+w*f+b*y,x=m[8],T=m[9],w=m[10],b=m[11],e[8]=x*i+T*o+w*u+b*p,e[9]=x*n+T*a+w*c+b*g,e[10]=x*s+T*h+w*d+b*v,e[11]=x*r+T*l+w*f+b*y,x=m[12],T=m[13],w=m[14],b=m[15],e[12]=x*i+T*o+w*u+b*p,e[13]=x*n+T*a+w*c+b*g,e[14]=x*s+T*h+w*d+b*v,e[15]=x*r+T*l+w*f+b*y,this},multiplyLocal:function(t){var e=[],i=this.val,n=t.val;return e[0]=i[0]*n[0]+i[1]*n[4]+i[2]*n[8]+i[3]*n[12],e[1]=i[0]*n[1]+i[1]*n[5]+i[2]*n[9]+i[3]*n[13],e[2]=i[0]*n[2]+i[1]*n[6]+i[2]*n[10]+i[3]*n[14],e[3]=i[0]*n[3]+i[1]*n[7]+i[2]*n[11]+i[3]*n[15],e[4]=i[4]*n[0]+i[5]*n[4]+i[6]*n[8]+i[7]*n[12],e[5]=i[4]*n[1]+i[5]*n[5]+i[6]*n[9]+i[7]*n[13],e[6]=i[4]*n[2]+i[5]*n[6]+i[6]*n[10]+i[7]*n[14],e[7]=i[4]*n[3]+i[5]*n[7]+i[6]*n[11]+i[7]*n[15],e[8]=i[8]*n[0]+i[9]*n[4]+i[10]*n[8]+i[11]*n[12],e[9]=i[8]*n[1]+i[9]*n[5]+i[10]*n[9]+i[11]*n[13],e[10]=i[8]*n[2]+i[9]*n[6]+i[10]*n[10]+i[11]*n[14],e[11]=i[8]*n[3]+i[9]*n[7]+i[10]*n[11]+i[11]*n[15],e[12]=i[12]*n[0]+i[13]*n[4]+i[14]*n[8]+i[15]*n[12],e[13]=i[12]*n[1]+i[13]*n[5]+i[14]*n[9]+i[15]*n[13],e[14]=i[12]*n[2]+i[13]*n[6]+i[14]*n[10]+i[15]*n[14],e[15]=i[12]*n[3]+i[13]*n[7]+i[14]*n[11]+i[15]*n[15],this.fromArray(e)},translate:function(t){var e=t.x,i=t.y,n=t.z,s=this.val;return s[12]=s[0]*e+s[4]*i+s[8]*n+s[12],s[13]=s[1]*e+s[5]*i+s[9]*n+s[13],s[14]=s[2]*e+s[6]*i+s[10]*n+s[14],s[15]=s[3]*e+s[7]*i+s[11]*n+s[15],this},translateXYZ:function(t,e,i){var n=this.val;return n[12]=n[0]*t+n[4]*e+n[8]*i+n[12],n[13]=n[1]*t+n[5]*e+n[9]*i+n[13],n[14]=n[2]*t+n[6]*e+n[10]*i+n[14],n[15]=n[3]*t+n[7]*e+n[11]*i+n[15],this},scale:function(t){var e=t.x,i=t.y,n=t.z,s=this.val;return s[0]=s[0]*e,s[1]=s[1]*e,s[2]=s[2]*e,s[3]=s[3]*e,s[4]=s[4]*i,s[5]=s[5]*i,s[6]=s[6]*i,s[7]=s[7]*i,s[8]=s[8]*n,s[9]=s[9]*n,s[10]=s[10]*n,s[11]=s[11]*n,this},scaleXYZ:function(t,e,i){var n=this.val;return n[0]=n[0]*t,n[1]=n[1]*t,n[2]=n[2]*t,n[3]=n[3]*t,n[4]=n[4]*e,n[5]=n[5]*e,n[6]=n[6]*e,n[7]=n[7]*e,n[8]=n[8]*i,n[9]=n[9]*i,n[10]=n[10]*i,n[11]=n[11]*i,this},makeRotationAxis:function(t,e){var i=Math.cos(e),n=Math.sin(e),s=1-i,r=t.x,o=t.y,a=t.z,h=s*r,l=s*o;return this.fromArray([h*r+i,h*o-n*a,h*a+n*o,0,h*o+n*a,l*o+i,l*a-n*r,0,h*a-n*o,l*a+n*r,s*a*a+i,0,0,0,0,1]),this},rotate:function(t,e){var i=this.val,n=e.x,s=e.y,r=e.z,o=Math.sqrt(n*n+s*s+r*r);if(Math.abs(o)<1e-6)return null;n*=o=1/o,s*=o,r*=o;var a=Math.sin(t),h=Math.cos(t),l=1-h,u=i[0],c=i[1],d=i[2],f=i[3],p=i[4],g=i[5],v=i[6],y=i[7],m=i[8],x=i[9],T=i[10],w=i[11],b=n*n*l+h,S=s*n*l+r*a,_=r*n*l-s*a,A=n*s*l-r*a,E=s*s*l+h,C=r*s*l+n*a,M=n*r*l+s*a,P=s*r*l-n*a,O=r*r*l+h;return i[0]=u*b+p*S+m*_,i[1]=c*b+g*S+x*_,i[2]=d*b+v*S+T*_,i[3]=f*b+y*S+w*_,i[4]=u*A+p*E+m*C,i[5]=c*A+g*E+x*C,i[6]=d*A+v*E+T*C,i[7]=f*A+y*E+w*C,i[8]=u*M+p*P+m*O,i[9]=c*M+g*P+x*O,i[10]=d*M+v*P+T*O,i[11]=f*M+y*P+w*O,this},rotateX:function(t){var e=this.val,i=Math.sin(t),n=Math.cos(t),s=e[4],r=e[5],o=e[6],a=e[7],h=e[8],l=e[9],u=e[10],c=e[11];return e[4]=s*n+h*i,e[5]=r*n+l*i,e[6]=o*n+u*i,e[7]=a*n+c*i,e[8]=h*n-s*i,e[9]=l*n-r*i,e[10]=u*n-o*i,e[11]=c*n-a*i,this},rotateY:function(t){var e=this.val,i=Math.sin(t),n=Math.cos(t),s=e[0],r=e[1],o=e[2],a=e[3],h=e[8],l=e[9],u=e[10],c=e[11];return e[0]=s*n-h*i,e[1]=r*n-l*i,e[2]=o*n-u*i,e[3]=a*n-c*i,e[8]=s*i+h*n,e[9]=r*i+l*n,e[10]=o*i+u*n,e[11]=a*i+c*n,this},rotateZ:function(t){var e=this.val,i=Math.sin(t),n=Math.cos(t),s=e[0],r=e[1],o=e[2],a=e[3],h=e[4],l=e[5],u=e[6],c=e[7];return e[0]=s*n+h*i,e[1]=r*n+l*i,e[2]=o*n+u*i,e[3]=a*n+c*i,e[4]=h*n-s*i,e[5]=l*n-r*i,e[6]=u*n-o*i,e[7]=c*n-a*i,this},fromRotationTranslation:function(t,e){var i=this.val,n=t.x,s=t.y,r=t.z,o=t.w,a=n+n,h=s+s,l=r+r,u=n*a,c=n*h,d=n*l,f=s*h,p=s*l,g=r*l,v=o*a,y=o*h,m=o*l;return i[0]=1-(f+g),i[1]=c+m,i[2]=d-y,i[3]=0,i[4]=c-m,i[5]=1-(u+g),i[6]=p+v,i[7]=0,i[8]=d+y,i[9]=p-v,i[10]=1-(u+f),i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this},fromQuat:function(t){var e=this.val,i=t.x,n=t.y,s=t.z,r=t.w,o=i+i,a=n+n,h=s+s,l=i*o,u=i*a,c=i*h,d=n*a,f=n*h,p=s*h,g=r*o,v=r*a,y=r*h;return e[0]=1-(d+p),e[1]=u+y,e[2]=c-v,e[3]=0,e[4]=u-y,e[5]=1-(l+p),e[6]=f+g,e[7]=0,e[8]=c+v,e[9]=f-g,e[10]=1-(l+d),e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},frustum:function(t,e,i,n,s,r){var o=this.val,a=1/(e-t),h=1/(n-i),l=1/(s-r);return o[0]=2*s*a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=2*s*h,o[6]=0,o[7]=0,o[8]=(e+t)*a,o[9]=(n+i)*h,o[10]=(r+s)*l,o[11]=-1,o[12]=0,o[13]=0,o[14]=r*s*2*l,o[15]=0,this},perspective:function(t,e,i,n){var s=this.val,r=1/Math.tan(t/2),o=1/(i-n);return s[0]=r/e,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=r,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(n+i)*o,s[11]=-1,s[12]=0,s[13]=0,s[14]=2*n*i*o,s[15]=0,this},perspectiveLH:function(t,e,i,n){var s=this.val;return s[0]=2*i/t,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2*i/e,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=-n/(i-n),s[11]=1,s[12]=0,s[13]=0,s[14]=i*n/(i-n),s[15]=0,this},ortho:function(t,e,i,n,s,r){var o=this.val,a=t-e,h=i-n,l=s-r;return a=0===a?a:1/a,h=0===h?h:1/h,l=0===l?l:1/l,o[0]=-2*a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*h,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*l,o[11]=0,o[12]=(t+e)*a,o[13]=(n+i)*h,o[14]=(r+s)*l,o[15]=1,this},lookAt:function(t,e,i){var n=this.val,s=t.x,r=t.y,o=t.z,a=i.x,h=i.y,l=i.z,u=e.x,c=e.y,d=e.z;if(Math.abs(s-u)<1e-6&&Math.abs(r-c)<1e-6&&Math.abs(o-d)<1e-6)return this.identity();var f=s-u,p=r-c,g=o-d,v=1/Math.sqrt(f*f+p*p+g*g),y=h*(g*=v)-l*(p*=v),m=l*(f*=v)-a*g,x=a*p-h*f;(v=Math.sqrt(y*y+m*m+x*x))?(y*=v=1/v,m*=v,x*=v):(y=0,m=0,x=0);var T=p*x-g*m,w=g*y-f*x,b=f*m-p*y;return(v=Math.sqrt(T*T+w*w+b*b))?(T*=v=1/v,w*=v,b*=v):(T=0,w=0,b=0),n[0]=y,n[1]=T,n[2]=f,n[3]=0,n[4]=m,n[5]=w,n[6]=p,n[7]=0,n[8]=x,n[9]=b,n[10]=g,n[11]=0,n[12]=-(y*s+m*r+x*o),n[13]=-(T*s+w*r+b*o),n[14]=-(f*s+p*r+g*o),n[15]=1,this},yawPitchRoll:function(t,e,i){this.zero(),s.zero(),r.zero();var n=this.val,o=s.val,a=r.val,h=Math.sin(i),l=Math.cos(i);return n[10]=1,n[15]=1,n[0]=l,n[1]=h,n[4]=-h,n[5]=l,h=Math.sin(e),l=Math.cos(e),o[0]=1,o[15]=1,o[5]=l,o[10]=l,o[9]=-h,o[6]=h,h=Math.sin(t),l=Math.cos(t),a[5]=1,a[15]=1,a[0]=l,a[2]=-h,a[8]=h,a[10]=l,this.multiplyLocal(s),this.multiplyLocal(r),this},setWorldMatrix:function(t,e,i,n,o){return this.yawPitchRoll(t.y,t.x,t.z),s.scaling(i.x,i.y,i.z),r.xyz(e.x,e.y,e.z),this.multiplyLocal(s),this.multiplyLocal(r),void 0!==n&&this.multiplyLocal(n),void 0!==o&&this.multiplyLocal(o),this}}),s=new n,r=new n;t.exports=n},function(t,e,i){var n=new(i(0))({initialize:function(t){this.val=new Float32Array(9),t?this.copy(t):this.identity()},clone:function(){return new n(this)},set:function(t){return this.copy(t)},copy:function(t){var e=this.val,i=t.val;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this},fromMat4:function(t){var e=t.val,i=this.val;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},fromArray:function(t){var e=this.val;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},identity:function(){var t=this.val;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},transpose:function(){var t=this.val,e=t[1],i=t[2],n=t[5];return t[1]=t[3],t[2]=t[6],t[3]=e,t[5]=t[7],t[6]=i,t[7]=n,this},invert:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8],u=l*r-o*h,c=-l*s+o*a,d=h*s-r*a,f=e*u+i*c+n*d;return f?(f=1/f,t[0]=u*f,t[1]=(-l*i+n*h)*f,t[2]=(o*i-n*r)*f,t[3]=c*f,t[4]=(l*e-n*a)*f,t[5]=(-o*e+n*s)*f,t[6]=d*f,t[7]=(-h*e+i*a)*f,t[8]=(r*e-i*s)*f,this):null},adjoint:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8];return t[0]=r*l-o*h,t[1]=n*h-i*l,t[2]=i*o-n*r,t[3]=o*a-s*l,t[4]=e*l-n*a,t[5]=n*s-e*o,t[6]=s*h-r*a,t[7]=i*a-e*h,t[8]=e*r-i*s,this},determinant:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8];return e*(l*r-o*h)+i*(-l*s+o*a)+n*(h*s-r*a)},multiply:function(t){var e=this.val,i=e[0],n=e[1],s=e[2],r=e[3],o=e[4],a=e[5],h=e[6],l=e[7],u=e[8],c=t.val,d=c[0],f=c[1],p=c[2],g=c[3],v=c[4],y=c[5],m=c[6],x=c[7],T=c[8];return e[0]=d*i+f*r+p*h,e[1]=d*n+f*o+p*l,e[2]=d*s+f*a+p*u,e[3]=g*i+v*r+y*h,e[4]=g*n+v*o+y*l,e[5]=g*s+v*a+y*u,e[6]=m*i+x*r+T*h,e[7]=m*n+x*o+T*l,e[8]=m*s+x*a+T*u,this},translate:function(t){var e=this.val,i=t.x,n=t.y;return e[6]=i*e[0]+n*e[3]+e[6],e[7]=i*e[1]+n*e[4]+e[7],e[8]=i*e[2]+n*e[5]+e[8],this},rotate:function(t){var e=this.val,i=e[0],n=e[1],s=e[2],r=e[3],o=e[4],a=e[5],h=Math.sin(t),l=Math.cos(t);return e[0]=l*i+h*r,e[1]=l*n+h*o,e[2]=l*s+h*a,e[3]=l*r-h*i,e[4]=l*o-h*n,e[5]=l*a-h*s,this},scale:function(t){var e=this.val,i=t.x,n=t.y;return e[0]=i*e[0],e[1]=i*e[1],e[2]=i*e[2],e[3]=n*e[3],e[4]=n*e[4],e[5]=n*e[5],this},fromQuat:function(t){var e=t.x,i=t.y,n=t.z,s=t.w,r=e+e,o=i+i,a=n+n,h=e*r,l=e*o,u=e*a,c=i*o,d=i*a,f=n*a,p=s*r,g=s*o,v=s*a,y=this.val;return y[0]=1-(c+f),y[3]=l+v,y[6]=u-g,y[1]=l-v,y[4]=1-(h+f),y[7]=d+p,y[2]=u+g,y[5]=d-p,y[8]=1-(h+c),this},normalFromMat4:function(t){var e=t.val,i=this.val,n=e[0],s=e[1],r=e[2],o=e[3],a=e[4],h=e[5],l=e[6],u=e[7],c=e[8],d=e[9],f=e[10],p=e[11],g=e[12],v=e[13],y=e[14],m=e[15],x=n*h-s*a,T=n*l-r*a,w=n*u-o*a,b=s*l-r*h,S=s*u-o*h,_=r*u-o*l,A=c*v-d*g,E=c*y-f*g,C=c*m-p*g,M=d*y-f*v,P=d*m-p*v,O=f*m-p*y,R=x*O-T*P+w*M+b*C-S*E+_*A;return R?(R=1/R,i[0]=(h*O-l*P+u*M)*R,i[1]=(l*C-a*O-u*E)*R,i[2]=(a*P-h*C+u*A)*R,i[3]=(r*P-s*O-o*M)*R,i[4]=(n*O-r*C+o*E)*R,i[5]=(s*C-n*P-o*A)*R,i[6]=(v*_-y*S+m*b)*R,i[7]=(y*w-g*_-m*T)*R,i[8]=(g*S-v*w+m*x)*R,this):null}});t.exports=n},function(t,e,i){var n=i(3);t.exports=function(t,e,i,s,r,o,a,h){void 0===h&&(h=new n);var l=Math.sin(r),u=Math.cos(r),c=u*o,d=l*o,f=-l*a,p=u*a,g=1/(c*p+f*-d);return h.x=p*g*t+-f*g*e+(s*f-i*p)*g,h.y=c*g*e+-d*g*t+(-s*c+i*d)*g,h}},function(t,e){t.exports=function(t){return t>0?Math.ceil(t):Math.floor(t)}},function(t,e){t.exports=function(t,e){var i=t.x,n=t.y;return t.x=i*Math.cos(e)-n*Math.sin(e),t.y=i*Math.sin(e)+n*Math.cos(e),t}},function(t,e){t.exports=function(t,e){return Math.random()*(e-t)+t}},function(t,e){t.exports=function(t,e,i,n){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.ceil(t/e),n?(i+t)/e:i+t)}},function(t,e){t.exports=function(t){var e=Math.log(t)/.6931471805599453;return 1<e-i}},function(t,e){t.exports=function(t,e,i,n){var s=t-i,r=e-n;return s*s+r*r}},function(t,e){t.exports=function(t){return(t%=2*Math.PI)>=0?t:t+2*Math.PI}},function(t,e){t.exports=function(t,e,i,n){return Math.atan2(n-e,i-t)}},function(t,e,i){var n=i(20),s=i(19),r={Angle:i(1091),Distance:i(1083),Easing:i(1081),Fuzzy:i(1080),Interpolation:i(1077),Pow2:i(1072),Snap:i(1070),RandomDataGenerator:i(1068),Average:i(1067),Bernstein:i(381),Between:i(184),CatmullRom:i(185),CeilTo:i(1066),Clamp:i(23),DegToRad:i(34),Difference:i(1065),Factorial:i(380),FloatBetween:i(374),FloorTo:i(1064),FromPercent:i(100),GetSpeed:i(1063),IsEven:i(1062),IsEvenStrict:i(1061),Linear:i(129),MaxAdd:i(1060),MinSub:i(1059),Percent:i(1058),RadToDeg:i(183),RandomXY:i(1057),RandomXYZ:i(1056),RandomXYZW:i(1055),Rotate:i(373),RotateAround:i(428),RotateAroundDistance:i(197),RoundAwayFromZero:i(372),RoundTo:i(1054),SinCosTableGenerator:i(1053),SmootherStep:i(196),SmoothStep:i(195),TransformXY:i(371),Within:i(1052),Wrap:i(57),Vector2:i(3),Vector3:i(182),Vector4:i(1051),Matrix3:i(370),Matrix4:i(369),Quaternion:i(368),RotateVec3:i(1050)};r=s(!1,r,n),t.exports=r},function(t,e,i){var n,s,r,o=i(24),a={supportInverseAlpha:!1,supportNewBlendModes:!1};t.exports=(void 0!==document&&(a.supportNewBlendModes=(n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",s="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",(r=new Image).onload=function(){var t=new Image;t.onload=function(){var e=o.create(t,6,1).getContext("2d");if(e.globalCompositeOperation="multiply",e.drawImage(r,0,0),e.drawImage(t,2,0),!e.getImageData(2,0,1,1))return!1;var i=e.getImageData(2,0,1,1).data;o.remove(t),a.supportNewBlendModes=255===i[0]&&0===i[1]&&0===i[2]},t.src=n+"/wCKxvRF"+s},r.src=n+"AP804Oa6"+s,!1),a.supportInverseAlpha=function(){var t=o.create(this,2,1).getContext("2d");t.fillStyle="rgba(10, 20, 30, 0.5)",t.fillRect(0,0,1,1);var e=t.getImageData(0,0,1,1);if(null===e)return!1;t.putImageData(e,1,0);var i=t.getImageData(1,0,1,1);return i.data[0]===e.data[0]&&i.data[1]===e.data[1]&&i.data[2]===e.data[2]&&i.data[3]===e.data[3]}()),a)},function(t,e,i){t.exports={os:i(99),browser:i(128),features:i(187),input:i(1095),audio:i(1094),video:i(1093),fullscreen:i(1092),canvasFeatures:i(388)}},function(t,e,i){var n=i(0),s=i(28),r=i(389),o=i(2),a=i(4),h=i(8),l=i(387),u=i(1),c=i(181),d=i(192),f=new n({initialize:function(t){void 0===t&&(t={});this.width=a(t,"width",1024),this.height=a(t,"height",768),this.zoom=a(t,"zoom",1),this.resolution=a(t,"resolution",1),this.parent=a(t,"parent",void 0),this.scaleMode=a(t,"scaleMode",0),this.expandParent=a(t,"expandParent",!0),this.autoRound=a(t,"autoRound",!1),this.autoCenter=a(t,"autoCenter",0),this.resizeInterval=a(t,"resizeInterval",500),this.fullscreenTarget=a(t,"fullscreenTarget",null),this.minWidth=a(t,"minWidth",0),this.maxWidth=a(t,"maxWidth",0),this.minHeight=a(t,"minHeight",0),this.maxHeight=a(t,"maxHeight",0);var e=a(t,"scale",null);e&&(this.width=a(e,"width",this.width),this.height=a(e,"height",this.height),this.zoom=a(e,"zoom",this.zoom),this.resolution=a(e,"resolution",this.resolution),this.parent=a(e,"parent",this.parent),this.scaleMode=a(e,"mode",this.scaleMode),this.expandParent=a(e,"expandParent",this.expandParent),this.autoRound=a(e,"autoRound",this.autoRound),this.autoCenter=a(e,"autoCenter",this.autoCenter),this.resizeInterval=a(e,"resizeInterval",this.resizeInterval),this.fullscreenTarget=a(e,"fullscreenTarget",this.fullscreenTarget),this.minWidth=a(e,"min.width",this.minWidth),this.maxWidth=a(e,"max.width",this.maxWidth),this.minHeight=a(e,"min.height",this.minHeight),this.maxHeight=a(e,"max.height",this.maxHeight)),this.renderType=a(t,"type",s.AUTO),this.canvas=a(t,"canvas",null),this.context=a(t,"context",null),this.canvasStyle=a(t,"canvasStyle",null),this.customEnvironment=a(t,"customEnvironment",!1),this.sceneConfig=a(t,"scene",null),this.seed=a(t,"seed",[(Date.now()*Math.random()).toString()]),l.RND=new l.RandomDataGenerator(this.seed),this.gameTitle=a(t,"title",""),this.gameURL=a(t,"url","https://phaser.io"),this.gameVersion=a(t,"version",""),this.autoFocus=a(t,"autoFocus",!0),this.domCreateContainer=a(t,"dom.createContainer",!1),this.domBehindCanvas=a(t,"dom.behindCanvas",!1),this.inputKeyboard=a(t,"input.keyboard",!0),this.inputKeyboardEventTarget=a(t,"input.keyboard.target",window),this.inputKeyboardCapture=a(t,"input.keyboard.capture",[]),this.inputMouse=a(t,"input.mouse",!0),this.inputMouseEventTarget=a(t,"input.mouse.target",null),this.inputMouseCapture=a(t,"input.mouse.capture",!0),this.inputTouch=a(t,"input.touch",r.input.touch),this.inputTouchEventTarget=a(t,"input.touch.target",null),this.inputTouchCapture=a(t,"input.touch.capture",!0),this.inputActivePointers=a(t,"input.activePointers",1),this.inputSmoothFactor=a(t,"input.smoothFactor",0),this.inputQueue=a(t,"input.queue",!1),this.inputGamepad=a(t,"input.gamepad",!1),this.inputGamepadEventTarget=a(t,"input.gamepad.target",window),this.disableContextMenu=a(t,"disableContextMenu",!1),this.audio=a(t,"audio"),this.hideBanner=!1===a(t,"banner",null),this.hidePhaser=a(t,"banner.hidePhaser",!1),this.bannerTextColor=a(t,"banner.text","#ffffff"),this.bannerBackgroundColor=a(t,"banner.background",["#ff0000","#ffff00","#00ff00","#00ffff","#000000"]),""===this.gameTitle&&this.hidePhaser&&(this.hideBanner=!0),this.fps=a(t,"fps",null);var i=a(t,"render",t);this.antialias=a(i,"antialias",!0),this.roundPixels=a(i,"roundPixels",!1),this.pixelArt=a(i,"pixelArt",1!==this.zoom),this.pixelArt&&(this.antialias=!1,this.roundPixels=!0),this.transparent=a(i,"transparent",!1),this.clearBeforeRender=a(i,"clearBeforeRender",!0),this.premultipliedAlpha=a(i,"premultipliedAlpha",!0),this.failIfMajorPerformanceCaveat=a(i,"failIfMajorPerformanceCaveat",!1),this.powerPreference=a(i,"powerPreference","default"),this.batchSize=a(i,"batchSize",2e3),this.maxLights=a(i,"maxLights",10);var n=a(t,"backgroundColor",0);this.backgroundColor=d(n),0===n&&this.transparent&&(this.backgroundColor.alpha=0),this.preBoot=a(t,"callbacks.preBoot",u),this.postBoot=a(t,"callbacks.postBoot",u),this.physics=a(t,"physics",{}),this.defaultPhysicsSystem=a(this.physics,"default",!1),this.loaderBaseURL=a(t,"loader.baseURL",""),this.loaderPath=a(t,"loader.path",""),this.loaderMaxParallelDownloads=a(t,"loader.maxParallelDownloads",32),this.loaderCrossOrigin=a(t,"loader.crossOrigin",void 0),this.loaderResponseType=a(t,"loader.responseType",""),this.loaderAsync=a(t,"loader.async",!0),this.loaderUser=a(t,"loader.user",""),this.loaderPassword=a(t,"loader.password",""),this.loaderTimeout=a(t,"loader.timeout",0),this.installGlobalPlugins=[],this.installScenePlugins=[];var f=a(t,"plugins",null),p=c.DefaultScene;f&&(Array.isArray(f)?this.defaultPlugins=f:h(f)&&(this.installGlobalPlugins=o(f,"global",[]),this.installScenePlugins=o(f,"scene",[]),Array.isArray(f.default)?p=f.default:Array.isArray(f.defaultMerge)&&(p=p.concat(f.defaultMerge)))),this.defaultPlugins=p;var g="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAg";this.defaultImage=a(t,"images.default",g+"AQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="),this.missingImage=a(t,"images.missing",g+"CAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="),window&&(window.FORCE_WEBGL?this.renderType=s.WEBGL:window.FORCE_CANVAS&&(this.renderType=s.CANVAS))}});t.exports=f},function(t,e,i){t.exports=i(1119)},function(t,e,i){t.exports={In:i(1122),Out:i(1121),InOut:i(1120)}},function(t,e,i){t.exports={In:i(1125),Out:i(1124),InOut:i(1123)}},function(t,e,i){t.exports={In:i(1128),Out:i(1127),InOut:i(1126)}},function(t,e,i){t.exports={In:i(1131),Out:i(1130),InOut:i(1129)}},function(t,e,i){t.exports=i(1132)},function(t,e,i){t.exports={In:i(1135),Out:i(1134),InOut:i(1133)}},function(t,e,i){t.exports={In:i(1138),Out:i(1137),InOut:i(1136)}},function(t,e,i){t.exports={In:i(1141),Out:i(1140),InOut:i(1139)}},function(t,e,i){t.exports={In:i(1144),Out:i(1143),InOut:i(1142)}},function(t,e,i){t.exports={In:i(1147),Out:i(1146),InOut:i(1145)}},function(t,e,i){t.exports={In:i(1150),Out:i(1149),InOut:i(1148)}},function(t,e,i){t.exports={Fade:i(1153),Flash:i(1152),Pan:i(1151),Shake:i(1118),Zoom:i(1117)}},function(t,e,i){var n=i(32);t.exports=function(t){var e=new n,i=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t.toLowerCase());if(i){var s=parseInt(i[1],10),r=parseInt(i[2],10),o=parseInt(i[3],10),a=void 0!==i[4]?parseFloat(i[4]):1;e.setTo(s,r,o,255*a)}return e}},function(t,e,i){var n=i(32);t.exports=function(t){return new n(t.r,t.g,t.b,t.a)}},function(t,e){t.exports=function(t){return t>16777215?{a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{a:255,r:t>>16&255,g:t>>8&255,b:255&t}}},function(t,e,i){var n=i(32),s=i(406);t.exports=function(t){var e=s(t);return new n(e.r,e.g,e.b,e.a)}},function(t,e){t.exports=function(t,e,i,n){void 0===n&&(n={h:0,s:0,v:0}),t/=255,e/=255,i/=255;var s=Math.min(t,e,i),r=Math.max(t,e,i),o=r-s,a=0,h=0===r?0:o/r,l=r;return r!==s&&(r===t?a=(e-i)/o+(ed.right&&(f=u(f,f+(g-d.right),this.lerp.x)),vd.bottom&&(p=u(p,p+(v-d.bottom),this.lerp.y))):(f=u(f,g-h,this.lerp.x),p=u(p,v-l,this.lerp.y))}this.useBounds&&(f=this.clampX(f),p=this.clampY(p)),this.roundPixels&&(h=Math.round(h),l=Math.round(l)),this.scrollX=f,this.scrollY=p;var y=f+n,m=p+s;this.midPoint.set(y,m);var x=e/o,T=i/o;this.worldView.setTo(y-x/2,m-T/2,x,T),a.applyITRS(this.x+h,this.y+l,this.rotation,o,o),a.translate(-h,-l),this.shakeEffect.preRender()},setLerp:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=t),this.lerp.set(t,e),this},setFollowOffset:function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.followOffset.set(t,e),this},startFollow:function(t,e,i,n,s,r){void 0===e&&(e=!1),void 0===i&&(i=1),void 0===n&&(n=i),void 0===s&&(s=0),void 0===r&&(r=s),this._follow=t,this.roundPixels=e,i=o(i,0,1),n=o(n,0,1),this.lerp.set(i,n),this.followOffset.set(s,r);var a=this.width/2,h=this.height/2,l=t.x-s,u=t.y-r;return this.midPoint.set(l,u),this.scrollX=l-a,this.scrollY=u-h,this},stopFollow:function(){return this._follow=null,this},resetFX:function(){return this.panEffect.reset(),this.shakeEffect.reset(),this.flashEffect.reset(),this.fadeEffect.reset(),this},update:function(t,e){this.visible&&(this.panEffect.update(t,e),this.zoomEffect.update(t,e),this.shakeEffect.update(t,e),this.flashEffect.update(t,e),this.fadeEffect.update(t,e))},destroy:function(){this.clearRenderToTexture(),this.resetFX(),n.prototype.destroy.call(this),this._follow=null,this.deadzone=null}});t.exports=f},function(t,e,i){var n=i(414),s=i(0),r=i(26),o=new s({initialize:function(t){this.game=t,this.binary=new n,this.bitmapFont=new n,this.json=new n,this.physics=new n,this.shader=new n,this.audio=new n,this.text=new n,this.html=new n,this.obj=new n,this.tilemap=new n,this.xml=new n,this.custom={},this.game.events.once(r.DESTROY,this.destroy,this)},addCustom:function(t){return this.custom.hasOwnProperty(t)||(this.custom[t]=new n),this.custom[t]},destroy:function(){for(var t=["binary","bitmapFont","json","physics","shader","audio","text","html","obj","tilemap","xml"],e=0;e-h&&(c-=h,n+=l),f=t.right&&(h=1,a+=o-t.right,o=t.right);break;case 1:(a+=e)>=t.bottom&&(h=2,o-=a-t.bottom,a=t.bottom);break;case 2:(o-=e)<=t.left&&(h=3,a-=t.left-o,o=t.left);break;case 3:(a-=e)<=t.top&&(h=0,a=t.top)}return r}},function(t,e,i){t.exports={CHANGE_DATA:i(1238),CHANGE_DATA_KEY:i(1237),REMOVE_DATA:i(1236),SET_DATA:i(1235)}},function(t,e){var i={_visible:!0,visible:{get:function(){return this._visible},set:function(t){t?(this._visible=!0,this.renderFlags|=1):(this._visible=!1,this.renderFlags&=-2)}},setVisible:function(t){return this.visible=t,this}};t.exports=i},function(t,e,i){var n=i(20),s=i(41),r=i(214),o=i(213),a={_scaleX:1,_scaleY:1,_rotation:0,x:0,y:0,z:0,w:0,scaleX:{get:function(){return this._scaleX},set:function(t){this._scaleX=t,0===this._scaleX?this.renderFlags&=-5:this.renderFlags|=4}},scaleY:{get:function(){return this._scaleY},set:function(t){this._scaleY=t,0===this._scaleY?this.renderFlags&=-5:this.renderFlags|=4}},angle:{get:function(){return o(this._rotation*n.RAD_TO_DEG)},set:function(t){this.rotation=o(t)*n.DEG_TO_RAD}},rotation:{get:function(){return this._rotation},set:function(t){this._rotation=r(t)}},setPosition:function(t,e,i,n){return void 0===t&&(t=0),void 0===e&&(e=t),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=i,this.w=n,this},setRandomPosition:function(t,e,i,n){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.scene.sys.scale.width),void 0===n&&(n=this.scene.sys.scale.height),this.x=t+Math.random()*i,this.y=e+Math.random()*n,this},setRotation:function(t){return void 0===t&&(t=0),this.rotation=t,this},setAngle:function(t){return void 0===t&&(t=0),this.angle=t,this},setScale:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=t),this.scaleX=t,this.scaleY=e,this},setX:function(t){return void 0===t&&(t=0),this.x=t,this},setY:function(t){return void 0===t&&(t=0),this.y=t,this},setZ:function(t){return void 0===t&&(t=0),this.z=t,this},setW:function(t){return void 0===t&&(t=0),this.w=t,this},getLocalTransformMatrix:function(t){return void 0===t&&(t=new s),t.applyITRS(this.x,this.y,this._rotation,this._scaleX,this._scaleY)},getWorldTransformMatrix:function(t,e){void 0===t&&(t=new s),void 0===e&&(e=new s);var i=this.parentContainer;if(!i)return this.getLocalTransformMatrix(t);for(t.applyITRS(this.x,this.y,this._rotation,this._scaleX,this._scaleY);i;)e.applyITRS(i.x,i.y,i._rotation,i._scaleX,i._scaleY),e.multiply(t,t),i=i.parentContainer;return t}};t.exports=a},function(t,e){t.exports=function(t){var e={name:t.name,type:t.type,x:t.x,y:t.y,depth:t.depth,scale:{x:t.scaleX,y:t.scaleY},origin:{x:t.originX,y:t.originY},flipX:t.flipX,flipY:t.flipY,rotation:t.rotation,alpha:t.alpha,visible:t.visible,scaleMode:t.scaleMode,blendMode:t.blendMode,textureKey:"",frameKey:"",data:{}};return t.texture&&(e.textureKey=t.texture.key,e.frameKey=t.frame.name),e}},function(t,e){var i={scrollFactorX:1,scrollFactorY:1,setScrollFactor:function(t,e){return void 0===e&&(e=t),this.scrollFactorX=t,this.scrollFactorY=e,this}};t.exports=i},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.geometryMask=e,this.invertAlpha=!1},setShape:function(t){this.geometryMask=t},preRenderWebGL:function(t,e,i){var n=t.gl,s=this.geometryMask;t.flush(),n.enable(n.STENCIL_TEST),n.clear(n.STENCIL_BUFFER_BIT),n.colorMask(!1,!1,!1,!1),n.stencilFunc(n.NOTEQUAL,1,1),n.stencilOp(n.REPLACE,n.REPLACE,n.REPLACE),s.renderWebGL(t,s,0,i),t.flush(),n.colorMask(!0,!0,!0,!0),this.invertAlpha?n.stencilFunc(n.NOTEQUAL,1,1):n.stencilFunc(n.EQUAL,1,1),n.stencilOp(n.KEEP,n.KEEP,n.KEEP)},postRenderWebGL:function(t){var e=t.gl;t.flush(),e.disable(e.STENCIL_TEST)},preRenderCanvas:function(t,e,i){var n=this.geometryMask;t.currentContext.save(),n.renderCanvas(t,n,0,i,null,null,!0),t.currentContext.clip()},postRenderCanvas:function(t){t.currentContext.restore()},destroy:function(){this.geometryMask=null}});t.exports=n},function(t,e,i){var n=new(i(0))({initialize:function(t,e){var i=t.sys.game.renderer;if(this.renderer=i,this.bitmapMask=e,this.maskTexture=null,this.mainTexture=null,this.dirty=!0,this.mainFramebuffer=null,this.maskFramebuffer=null,this.invertAlpha=!1,i&&i.gl){var n=i.width,s=i.height,r=0==(n&n-1)&&0==(s&s-1),o=i.gl,a=r?o.REPEAT:o.CLAMP_TO_EDGE,h=o.LINEAR;this.mainTexture=i.createTexture2D(0,h,h,a,a,o.RGBA,null,n,s),this.maskTexture=i.createTexture2D(0,h,h,a,a,o.RGBA,null,n,s),this.mainFramebuffer=i.createFramebuffer(n,s,this.mainTexture,!1),this.maskFramebuffer=i.createFramebuffer(n,s,this.maskTexture,!1),i.onContextRestored(function(t){var e=t.width,i=t.height,n=0==(e&e-1)&&0==(i&i-1),s=t.gl,r=n?s.REPEAT:s.CLAMP_TO_EDGE,o=s.LINEAR;this.mainTexture=t.createTexture2D(0,o,o,r,r,s.RGBA,null,e,i),this.maskTexture=t.createTexture2D(0,o,o,r,r,s.RGBA,null,e,i),this.mainFramebuffer=t.createFramebuffer(e,i,this.mainTexture,!1),this.maskFramebuffer=t.createFramebuffer(e,i,this.maskTexture,!1)},this)}},setBitmap:function(t){this.bitmapMask=t},preRenderWebGL:function(t,e,i){t.pipelines.BitmapMaskPipeline.beginMask(this,e,i)},postRenderWebGL:function(t){t.pipelines.BitmapMaskPipeline.endMask(this)},preRenderCanvas:function(){},postRenderCanvas:function(){},destroy:function(){this.bitmapMask=null;var t=this.renderer;t&&t.gl&&(t.deleteTexture(this.mainTexture),t.deleteTexture(this.maskTexture),t.deleteFramebuffer(this.mainFramebuffer),t.deleteFramebuffer(this.maskFramebuffer)),this.mainTexture=null,this.maskTexture=null,this.mainFramebuffer=null,this.maskFramebuffer=null,this.renderer=null}});t.exports=n},function(t,e,i){var n=i(426),s=i(425),r={mask:null,setMask:function(t){return this.mask=t,this},clearMask:function(t){return void 0===t&&(t=!1),t&&this.mask&&this.mask.destroy(),this.mask=null,this},createBitmapMask:function(t){return void 0===t&&this.texture&&(t=this),new n(this.scene,t)},createGeometryMask:function(t){return void 0===t&&"Graphics"===this.type&&(t=this),new s(this.scene,t)}};t.exports=r},function(t,e){t.exports=function(t,e,i,n){var s=Math.cos(n),r=Math.sin(n),o=t.x-e,a=t.y-i;return t.x=o*s-a*r+e,t.y=o*r+a*s+i,t}},function(t,e,i){var n=i(6);t.exports=function(t,e,i){return void 0===i&&(i=new n),i.x=t.x1+(t.x2-t.x1)*e,i.y=t.y1+(t.y2-t.y1)*e,i}},function(t,e,i){var n=i(204),s=i(135);t.exports=function(t,e,i,r){void 0===r&&(r=[]),e||(e=s(t)/i);for(var o=0;o=-1&&(this._blendMode=t)}},setBlendMode:function(t){return this.blendMode=t,this}};t.exports=s},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n){this.textureKey=t,this.textureFrame=e,this.index=i,this.frame=n,this.isFirst=!1,this.isLast=!1,this.prevFrame=null,this.nextFrame=null,this.duration=0,this.progress=0},toJSON:function(){return{key:this.textureKey,frame:this.textureFrame,duration:this.duration}},destroy:function(){this.frame=void 0}});t.exports=n},function(t,e){t.exports=function(t,e,i){if(!e.length)return NaN;if(1===e.length)return e[0];var n,s,r=1;if(i){if(te.length&&(r=e.length),i?(n=e[r-1][i],(s=e[r][i])-t<=t-n?e[r]:e[r-1]):(n=e[r-1],(s=e[r])-t<=t-n?s:n)}},function(t,e,i){var n=i(23),s={_alpha:1,_alphaTL:1,_alphaTR:1,_alphaBL:1,_alphaBR:1,clearAlpha:function(){return this.setAlpha(1)},setAlpha:function(t,e,i,s){return void 0===t&&(t=1),void 0===e?this.alpha=t:(this._alphaTL=n(t,0,1),this._alphaTR=n(e,0,1),this._alphaBL=n(i,0,1),this._alphaBR=n(s,0,1)),this},alpha:{get:function(){return this._alpha},set:function(t){var e=n(t,0,1);this._alpha=e,this._alphaTL=e,this._alphaTR=e,this._alphaBL=e,this._alphaBR=e,0===e?this.renderFlags&=-3:this.renderFlags|=2}},alphaTopLeft:{get:function(){return this._alphaTL},set:function(t){var e=n(t,0,1);this._alphaTL=e,0!==e&&(this.renderFlags|=2)}},alphaTopRight:{get:function(){return this._alphaTR},set:function(t){var e=n(t,0,1);this._alphaTR=e,0!==e&&(this.renderFlags|=2)}},alphaBottomLeft:{get:function(){return this._alphaBL},set:function(t){var e=n(t,0,1);this._alphaBL=e,0!==e&&(this.renderFlags|=2)}},alphaBottomRight:{get:function(){return this._alphaBR},set:function(t){var e=n(t,0,1);this._alphaBR=e,0!==e&&(this.renderFlags|=2)}}};t.exports=s},function(t,e){t.exports=function(t){return Math.PI*t.radius*2}},function(t,e,i){var n=i(436),s=i(207),r=i(100),o=i(20);t.exports=function(t,e,i,a){void 0===a&&(a=[]),e||(e=n(t)/i);for(var h=0;h0&&n>0;if(o&&a){var h=o[0],l=o[1],u=o[2],c=o[3];a=h!==t||l!==e||u!==i||c!==n}a&&(this.flush(),r.scissor(t,s-e-n,i,n))},popScissor:function(){var t=this.scissorStack;t.pop();var e=t[t.length-1];e&&this.setScissor(e[0],e[1],e[2],e[3]),this.currentScissor=e},setPipeline:function(t,e){return this.currentPipeline===t&&this.currentPipeline.vertexBuffer===this.currentVertexBuffer&&this.currentPipeline.program===this.currentProgram||(this.flush(),this.currentPipeline=t,this.currentPipeline.bind()),this.currentPipeline.onBind(e),this.currentPipeline},rebindPipeline:function(t){var e=this.gl;e.disable(e.DEPTH_TEST),e.disable(e.CULL_FACE),e.disable(e.STENCIL_TEST),e.clear(e.DEPTH_BUFFER_BIT|e.STENCIL_BUFFER_BIT),e.viewport(0,0,this.width,this.height),this.setBlendMode(0,!0),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this.blankTexture.glTexture),this.currentActiveTextureUnit=0,this.currentTextures[0]=this.blankTexture.glTexture,this.currentPipeline=t,this.currentPipeline.bind(),this.currentPipeline.onBind()},clearPipeline:function(){this.flush(),this.currentPipeline=null,this.currentProgram=null,this.currentVertexBuffer=null,this.currentIndexBuffer=null,this.setBlendMode(0,!0)},setBlendMode:function(t,e){void 0===e&&(e=!1);var i=this.gl,n=this.blendModes[t];return!!(e||t!==o.BlendModes.SKIP_CHECK&&this.currentBlendMode!==t)&&(this.flush(),i.enable(i.BLEND),i.blendEquation(n.equation),n.func.length>2?i.blendFuncSeparate(n.func[0],n.func[1],n.func[2],n.func[3]):i.blendFunc(n.func[0],n.func[1]),this.currentBlendMode=t,!0)},addBlendMode:function(t,e){return this.blendModes.push({func:t,equation:e})-1},updateBlendMode:function(t,e,i){return this.blendModes[t]&&(this.blendModes[t].func=e,i&&(this.blendModes[t].equation=i)),this},removeBlendMode:function(t){return t>17&&this.blendModes[t]&&this.blendModes.splice(t,1),this},setBlankTexture:function(t){void 0===t&&(t=!1),!t&&0===this.currentActiveTextureUnit&&this.currentTextures[0]||this.setTexture2D(this.blankTexture.glTexture,0)},setTexture2D:function(t,e,i){void 0===i&&(i=!0);var n=this.gl;return t!==this.currentTextures[e]&&(i&&this.flush(),this.currentActiveTextureUnit!==e&&(n.activeTexture(n.TEXTURE0+e),this.currentActiveTextureUnit=e),n.bindTexture(n.TEXTURE_2D,t),this.currentTextures[e]=t),this},setFramebuffer:function(t,e){void 0===e&&(e=!1);var i=this.gl,n=this.width,s=this.height;return t!==this.currentFramebuffer&&(t&&t.renderTexture?(n=t.renderTexture.width,s=t.renderTexture.height):this.flush(),i.bindFramebuffer(i.FRAMEBUFFER,t),i.viewport(0,0,n,s),e&&(t?(this.drawingBufferHeight=s,this.pushScissor(0,0,n,s)):(this.drawingBufferHeight=this.height,this.popScissor())),this.currentFramebuffer=t),this},setProgram:function(t){var e=this.gl;return t!==this.currentProgram&&(this.flush(),e.useProgram(t),this.currentProgram=t),this},setVertexBuffer:function(t){var e=this.gl;return t!==this.currentVertexBuffer&&(this.flush(),e.bindBuffer(e.ARRAY_BUFFER,t),this.currentVertexBuffer=t),this},setIndexBuffer:function(t){var e=this.gl;return t!==this.currentIndexBuffer&&(this.flush(),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.currentIndexBuffer=t),this},createTextureFromSource:function(t,e,i,n){var s=this.gl,r=s.NEAREST,h=s.CLAMP_TO_EDGE;return e=t?t.width:e,i=t?t.height:i,a(e,i)&&(h=s.REPEAT),n===o.ScaleModes.LINEAR&&this.config.antialias&&(r=s.LINEAR),t||"number"!=typeof e||"number"!=typeof i?this.createTexture2D(0,r,r,h,h,s.RGBA,t):this.createTexture2D(0,r,r,h,h,s.RGBA,null,e,i)},createTexture2D:function(t,e,i,n,s,r,o,a,h,l){l=void 0===l||null===l||l;var u=this.gl,c=u.createTexture();return this.setTexture2D(c,0),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MIN_FILTER,e),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MAG_FILTER,i),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_S,s),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_T,n),u.pixelStorei(u.UNPACK_PREMULTIPLY_ALPHA_WEBGL,l),null===o||void 0===o?u.texImage2D(u.TEXTURE_2D,t,r,a,h,0,r,u.UNSIGNED_BYTE,null):(u.texImage2D(u.TEXTURE_2D,t,r,r,u.UNSIGNED_BYTE,o),a=o.width,h=o.height),this.setTexture2D(null,0),c.isAlphaPremultiplied=l,c.isRenderTexture=!1,c.width=a,c.height=h,this.nativeTextures.push(c),c},createFramebuffer:function(t,e,i,n){var s,r=this.gl,o=r.createFramebuffer();if(this.setFramebuffer(o),n){var a=r.createRenderbuffer();r.bindRenderbuffer(r.RENDERBUFFER,a),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,t,e),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,a)}if(i.isRenderTexture=!0,i.isAlphaPremultiplied=!1,r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,i,0),(s=r.checkFramebufferStatus(r.FRAMEBUFFER))!==r.FRAMEBUFFER_COMPLETE){throw new Error("Framebuffer incomplete. Framebuffer status: "+{36054:"Incomplete Attachment",36055:"Missing Attachment",36057:"Incomplete Dimensions",36061:"Framebuffer Unsupported"}[s])}return o.renderTexture=i,this.setFramebuffer(null),o},createProgram:function(t,e){var i=this.gl,n=i.createProgram(),s=i.createShader(i.VERTEX_SHADER),r=i.createShader(i.FRAGMENT_SHADER);if(i.shaderSource(s,t),i.shaderSource(r,e),i.compileShader(s),i.compileShader(r),!i.getShaderParameter(s,i.COMPILE_STATUS))throw new Error("Failed to compile Vertex Shader:\n"+i.getShaderInfoLog(s));if(!i.getShaderParameter(r,i.COMPILE_STATUS))throw new Error("Failed to compile Fragment Shader:\n"+i.getShaderInfoLog(r));if(i.attachShader(n,s),i.attachShader(n,r),i.linkProgram(n),!i.getProgramParameter(n,i.LINK_STATUS))throw new Error("Failed to link program:\n"+i.getProgramInfoLog(n));return n},createVertexBuffer:function(t,e){var i=this.gl,n=i.createBuffer();return this.setVertexBuffer(n),i.bufferData(i.ARRAY_BUFFER,t,e),this.setVertexBuffer(null),n},createIndexBuffer:function(t,e){var i=this.gl,n=i.createBuffer();return this.setIndexBuffer(n),i.bufferData(i.ELEMENT_ARRAY_BUFFER,t,e),this.setIndexBuffer(null),n},deleteTexture:function(t){var e=this.nativeTextures.indexOf(t);return-1!==e&&h(this.nativeTextures,e),this.gl.deleteTexture(t),this.currentTextures[0]!==t||this.game.pendingDestroy||this.setBlankTexture(!0),this},deleteFramebuffer:function(t){return this.gl.deleteFramebuffer(t),this},deleteProgram:function(t){return this.gl.deleteProgram(t),this},deleteBuffer:function(t){return this.gl.deleteBuffer(t),this},preRenderCamera:function(t){var e=t._cx,i=t._cy,n=t._cw,r=t._ch,o=this.pipelines.TextureTintPipeline,a=t.backgroundColor;if(t.renderToTexture){this.flush(),this.pushScissor(e,i,n,-r),this.setFramebuffer(t.framebuffer);var h=this.gl;h.clearColor(0,0,0,0),h.clear(h.COLOR_BUFFER_BIT),o.projOrtho(e,n+e,i,r+i,-1e3,1e3),a.alphaGL>0&&o.drawFillRect(e,i,n+e,r+i,c.getTintFromFloats(a.redGL,a.greenGL,a.blueGL,1),a.alphaGL),t.emit(s.PRE_RENDER,t)}else this.pushScissor(e,i,n,r),a.alphaGL>0&&o.drawFillRect(e,i,n,r,c.getTintFromFloats(a.redGL,a.greenGL,a.blueGL,1),a.alphaGL)},postRenderCamera:function(t){var e=this.pipelines.TextureTintPipeline;if(t.flashEffect.postRenderWebGL(e,c.getTintFromFloats),t.fadeEffect.postRenderWebGL(e,c.getTintFromFloats),t.dirty=!1,this.popScissor(),t.renderToTexture){e.flush(),this.setFramebuffer(null),t.emit(s.POST_RENDER,t),e.projOrtho(0,e.width,e.height,0,-1e3,1e3);var i=c.getTintAppendFloatAlpha;(t.pipeline?t.pipeline:e).batchTexture(t,t.glTexture,t.width,t.height,t.x,t.y,t.width,t.height,t.zoom,t.zoom,t.rotation,t.flipX,!t.flipY,1,1,0,0,0,0,t.width,t.height,i(t._tintTL,t._alphaTL),i(t._tintTR,t._alphaTR),i(t._tintBL,t._alphaBL),i(t._tintBR,t._alphaBR),t._isTinted&&t.tintFill,0,0,this.defaultCamera,null),this.setBlankTexture(!0)}},preRender:function(){if(!this.contextLost){var t=this.gl,e=this.pipelines;if(t.bindFramebuffer(t.FRAMEBUFFER,null),this.config.clearBeforeRender){var i=this.config.backgroundColor;t.clearColor(i.redGL,i.greenGL,i.blueGL,i.alphaGL),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT|t.STENCIL_BUFFER_BIT)}for(var n in t.enable(t.SCISSOR_TEST),e)e[n].onPreRender();this.currentScissor=[0,0,this.width,this.height],this.scissorStack=[this.currentScissor],this.game.scene.customViewports&&t.scissor(0,this.drawingBufferHeight-this.height,this.width,this.height),this.setPipeline(this.pipelines.TextureTintPipeline)}},render:function(t,e,i,n){if(!this.contextLost){var s=e.list,r=s.length,a=this.pipelines;for(var h in a)a[h].onRender(t,n);this.preRenderCamera(n);for(var l=0;l=0?g=-(g+d):g<0&&(g=Math.abs(g)-d)),-1===m&&(v>=0?v=-(v+f):v<0&&(v=Math.abs(v)-f))}a.applyITRS(t.x,t.y,t.rotation,t.scaleX,t.scaleY),o.copyFrom(i.matrix),n?(o.multiplyWithOffset(n,-i.scrollX*t.scrollFactorX,-i.scrollY*t.scrollFactorY),a.e=t.x,a.f=t.y,o.multiply(a,h)):(a.e-=i.scrollX*t.scrollFactorX,a.f-=i.scrollY*t.scrollFactorY,o.multiply(a,h)),r.save(),h.setToContext(r),r.scale(y,m),r.globalCompositeOperation=this.blendModes[t.blendMode],r.globalAlpha=s,r.drawImage(e.source.image,u,c,d,f,g,v,d/p,f/p),r.restore()}},destroy:function(){this.gameCanvas=null,this.gameContext=null,this.game=null}});t.exports=c},function(t,e,i){var n=i(205),s=i(0),r=i(136),o=new s({initialize:function(t){this.parent=t,this.animationManager=t.scene.sys.anims,this.animationManager.once(r.REMOVE_ANIMATION,this.remove,this),this.isPlaying=!1,this.currentAnim=null,this.currentFrame=null,this.nextAnim=null,this._timeScale=1,this.frameRate=0,this.duration=0,this.msPerFrame=0,this.skipMissedFrames=!0,this._delay=0,this._repeat=0,this._repeatDelay=0,this._yoyo=!1,this.forward=!0,this._reverse=!1,this.accumulator=0,this.nextTick=0,this.repeatCounter=0,this.pendingRepeat=!1,this._paused=!1,this._wasPlaying=!1,this._pendingStop=0,this._pendingStopValue},chain:function(t){return t instanceof n&&(t=t.key),this.nextAnim=t,this.parent},setDelay:function(t){return void 0===t&&(t=0),this._delay=t,this.parent},getDelay:function(){return this._delay},delayedPlay:function(t,e,i){return this.play(e,!0,i),this.nextTick+=t,this.parent},getCurrentKey:function(){if(this.currentAnim)return this.currentAnim.key},load:function(t,e){return void 0===e&&(e=0),this.isPlaying&&this.stop(),this.animationManager.load(this,t,e),this.parent},pause:function(t){return this._paused||(this._paused=!0,this._wasPlaying=this.isPlaying,this.isPlaying=!1),void 0!==t&&this.updateFrame(t),this.parent},resume:function(t){return this._paused&&(this._paused=!1,this.isPlaying=this._wasPlaying),void 0!==t&&this.updateFrame(t),this.parent},isPaused:{get:function(){return this._paused}},play:function(t,e,i){return void 0===e&&(e=!1),void 0===i&&(i=0),t instanceof n&&(t=t.key),e&&this.isPlaying&&this.currentAnim.key===t?this.parent:(this.forward=!0,this._reverse=!1,this._startAnimation(t,i))},playReverse:function(t,e,i){return void 0===e&&(e=!1),void 0===i&&(i=0),t instanceof n&&(t=t.key),e&&this.isPlaying&&this.currentAnim.key===t?this.parent:(this.forward=!1,this._reverse=!0,this._startAnimation(t,i))},_startAnimation:function(t,e){this.load(t,e);var i=this.currentAnim,n=this.parent;this.repeatCounter=-1===this._repeat?Number.MAX_VALUE:this._repeat,i.getFirstTick(this),this.isPlaying=!0,this.pendingRepeat=!1,i.showOnStart&&(n.visible=!0);var s=this.currentFrame;return i.emit(r.ANIMATION_START,i,s,n),n.emit(r.SPRITE_ANIMATION_KEY_START+t,i,s,n),n.emit(r.SPRITE_ANIMATION_START,i,s,n),n},reverse:function(){return this.isPlaying&&(this._reverse=!this._reverse,this.forward=!this.forward),this.parent},getProgress:function(){var t=this.currentFrame.progress;return this.forward||(t=1-t),t},setProgress:function(t){return this.forward||(t=1-t),this.setCurrentFrame(this.currentAnim.getFrameByProgress(t)),this.parent},remove:function(t,e){void 0===e&&(e=this.currentAnim),this.isPlaying&&e.key===this.currentAnim.key&&(this.stop(),this.setCurrentFrame(this.currentAnim.frames[0]))},getRepeat:function(){return this._repeat},setRepeat:function(t){return this._repeat=t,this.repeatCounter=0,this.parent},getRepeatDelay:function(){return this._repeatDelay},setRepeatDelay:function(t){return this._repeatDelay=t,this.parent},restart:function(t){void 0===t&&(t=!1);var e=this.currentAnim;e.getFirstTick(this,t),this.forward=!0,this.isPlaying=!0,this.pendingRepeat=!1,this._paused=!1,this.updateFrame(e.frames[0]);var i=this.parent,n=this.currentFrame;return e.emit(r.ANIMATION_RESTART,e,n,i),i.emit(r.SPRITE_ANIMATION_KEY_RESTART+e.key,e,n,i),i.emit(r.SPRITE_ANIMATION_RESTART,e,n,i),this.parent},stop:function(){this._pendingStop=0,this.isPlaying=!1;var t=this.parent,e=this.currentAnim,i=this.currentFrame;if(e&&(e.emit(r.ANIMATION_COMPLETE,e,i,t),t.emit(r.SPRITE_ANIMATION_KEY_COMPLETE+e.key,e,i,t),t.emit(r.SPRITE_ANIMATION_COMPLETE,e,i,t)),this.nextAnim){var n=this.nextAnim;this.nextAnim=null,this.play(n)}return t},stopAfterDelay:function(t){return this._pendingStop=1,this._pendingStopValue=t,this.parent},stopOnRepeat:function(){return this._pendingStop=2,this.parent},stopOnFrame:function(t){return this._pendingStop=3,this._pendingStopValue=t,this.parent},setTimeScale:function(t){return void 0===t&&(t=1),this._timeScale=t,this.parent},getTimeScale:function(){return this._timeScale},getTotalFrames:function(){return this.currentAnim.frames.length},update:function(t,e){if(this.currentAnim&&this.isPlaying&&!this.currentAnim.paused){if(this.accumulator+=e*this._timeScale,1===this._pendingStop&&(this._pendingStopValue-=e,this._pendingStopValue<=0))return this.currentAnim.completeAnimation(this);this.accumulator>=this.nextTick&&this.currentAnim.setFrame(this)}},setCurrentFrame:function(t){var e=this.parent;return this.currentFrame=t,e.texture=t.frame.texture,e.frame=t.frame,e.isCropped&&e.frame.updateCropUVs(e._crop,e.flipX,e.flipY),e.setSizeToFrame(),t.frame.customPivot?e.setOrigin(t.frame.pivotX,t.frame.pivotY):e.updateDisplayOrigin(),e},updateFrame:function(t){var e=this.setCurrentFrame(t);if(this.isPlaying){t.setAlpha&&(e.alpha=t.alpha);var i=this.currentAnim;e.emit(r.SPRITE_ANIMATION_KEY_UPDATE+i.key,i,t,e),e.emit(r.SPRITE_ANIMATION_UPDATE,i,t,e),3===this._pendingStop&&this._pendingStopValue===t&&this.currentAnim.completeAnimation(this)}},nextFrame:function(){return this.currentAnim&&this.currentAnim.nextFrame(this),this.parent},previousFrame:function(){return this.currentAnim&&this.currentAnim.previousFrame(this),this.parent},setYoyo:function(t){return void 0===t&&(t=!1),this._yoyo=t,this.parent},getYoyo:function(){return this._yoyo},destroy:function(){this.animationManager.off(r.REMOVE_ANIMATION,this.remove,this),this.animationManager=null,this.parent=null,this.currentAnim=null,this.currentFrame=null}});t.exports=o},function(t,e){t.exports=function(t){return t.split("").reverse().join("")}},function(t,e){t.exports=function(t,e){return t.replace(/%([0-9]+)/g,function(t,i){return e[Number(i)-1]})}},function(t,e,i){t.exports={Format:i(462),Pad:i(193),Reverse:i(461),UppercaseFirst:i(330),UUID:i(299)}},function(t,e,i){var n=i(70);t.exports=function(t,e){var i=n(t);for(var s in e)i.hasOwnProperty(s)&&(i[s]=e[s]);return i}},function(t,e){t.exports=function(t,e){for(var i=0;i-1&&(e.state=h.REMOVED,s.splice(r,1)):(e.state=h.REMOVED,n.splice(r,1))}for(i.length=0,i=this._add,t=0;t-1&&this._active.splice(s,1),n.destroy()}for(i=0;i=n.delay)){var s=n.elapsed-n.delay;n.elapsed=n.delay,!n.hasDispatched&&n.callback&&(n.hasDispatched=!0,n.callback.apply(n.callbackScope,n.args)),n.repeatCount>0?(n.repeatCount--,n.elapsed=s,n.hasDispatched=!1):this._pendingRemoval.push(n)}}}},shutdown:function(){var t;for(t=0;t0&&(t.currentPipeline&&t.currentPipeline.vertexCount>0&&t.flush(),r.vertexBuffer=e.vertexBuffer[a],t.setPipeline(r),t.setTexture2D(s[a].glTexture,0),t.gl.drawArrays(r.topology,0,e.vertexCount[a]));r.vertexBuffer=o,r.viewIdentity(),r.modelIdentity()}},function(t,e,i){var n=i(1),s=i(1);n=i(484),s=i(483),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e){t.exports=function(t,e,i,n,s){e.cull(n);var r=e.culledTiles,o=r.length;if(0!==o){var a=t._tempMatrix1,h=t._tempMatrix2,l=t._tempMatrix3;h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(n.matrix);var u=t.currentContext,c=e.gidMap;u.save(),s?(a.multiplyWithOffset(s,-n.scrollX*e.scrollFactorX,-n.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y,a.multiply(h,l),l.copyToContext(u)):(h.e-=n.scrollX*e.scrollFactorX,h.f-=n.scrollY*e.scrollFactorY,h.copyToContext(u));for(var d=n.alpha*e.alpha,f=0;f-1?new s(a,f,c,u,o.tilesize,o.tilesize):e?null:new s(a,-1,c,u,o.tilesize,o.tilesize),h.push(d)}l.push(h),h=[]}a.data=l,i.push(a)}return i}},function(t,e,i){var n=i(19);t.exports=function(t){for(var e,i,s,r,o,a=0;a1){if(Array.isArray(l.tiles)){for(var c={},d={},f=0;f>>0;return n}},function(t,e,i){var n=i(497),s=i(2),r=i(84),o=i(230),a=i(61);t.exports=function(t,e){for(var i=[],h=0;h0){var y=new a(u,v.gid,c,f.length,t.tilewidth,t.tileheight);y.rotation=v.rotation,y.flipX=v.flipped,d.push(y)}else{var m=e?null:new a(u,-1,c,f.length,t.tilewidth,t.tileheight);d.push(m)}++c===l.width&&(f.push(d),c=0,d=[])}u.data=f,i.push(u)}}return i}},function(t,e,i){t.exports={Parse:i(233),Parse2DArray:i(145),ParseCSV:i(232),Impact:i(226),Tiled:i(231)}},function(t,e,i){var n=i(54),s=i(53),r=i(3);t.exports=function(t,e,i,o,a,h){return void 0===o&&(o=new r(0,0)),o.x=n(t,i,a,h),o.y=s(e,i,a,h),o}},function(t,e,i){var n=i(21);t.exports=function(t,e,i,s,r,o){if(void 0!==r){var a,h=n(t,e,i,s,null,o),l=0;for(a=0;a0&&n(a,t)}}e&&s(0,0,i.width,i.height,i)}},function(t,e,i){var n=i(62),s=i(37),r=i(91);t.exports=function(t,e,i,o){void 0===e&&(e=!0),void 0===i&&(i=!0);for(var a=0;ae)){for(var h=t;h<=e;h++)r(h,i,a);for(var l=0;l=t&&c.index<=e&&n(c,i)}o&&s(0,0,a.width,a.height,a)}}},function(t,e,i){var n=i(62),s=i(37),r=i(146);t.exports=function(t,e,i,o){void 0===e&&(e=!0),void 0===i&&(i=!0),Array.isArray(t)||(t=[t]);for(var a=0;a=0;r--)for(s=n.width-1;s>=0;s--)if((o=n.data[r][s])&&o.index===t){if(a===e)return o;a+=1}}else for(r=0;r=v;o--)(h=c[a][o])&&-1!==h.index&&h.visible&&0!==h.alpha&&i.push(h);else if(2===r)for(a=x;a>=m;a--)for(o=v;c[a]&&o=m;a--)for(o=y;c[a]&&o>=v;o--)(h=c[a][o])&&-1!==h.index&&h.visible&&0!==h.alpha&&i.push(h);return u.tilesDrawn=i.length,u.tilesTotal=d*f,i}},function(t,e,i){var n=i(108),s=i(107),r=i(21),o=i(236);t.exports=function(t,e,i,a,h,l){void 0===i&&(i={}),Array.isArray(t)||(t=[t]);var u=l.tilemapLayer;void 0===a&&(a=u.scene),void 0===h&&(h=a.cameras.main);var c,d=r(0,0,l.width,l.height,null,l),f=[];for(c=0;c=0&&p=0&&g=this._duration&&this.transitionComplete()},transitionComplete:function(){var t=this._target.sys,e=this._target.sys.settings;this.systems.events.off(r.UPDATE,this.step,this),t.events.emit(r.TRANSITION_COMPLETE,this.scene),e.isTransition=!1,e.transitionFrom=null,this._duration=0,this._target=null,this._onUpdate=null,this._onUpdateScope=null,this._willRemove?this.manager.remove(this.key):this._willSleep?this.systems.sleep():this.manager.stop(this.key)},add:function(t,e,i,n){return this.manager.add(t,e,i,n),this},launch:function(t,e){return t&&t!==this.key&&this.manager.queueOp("start",t,e),this},run:function(t,e){return t&&t!==this.key&&this.manager.queueOp("run",t,e),this},pause:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("pause",t,e),this},resume:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("resume",t,e),this},sleep:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("sleep",t,e),this},wake:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("wake",t,e),this},switch:function(t){return t!==this.key&&this.manager.queueOp("switch",this.key,t),this},stop:function(t){return void 0===t&&(t=this.key),this.manager.queueOp("stop",t),this},setActive:function(t,e,i){void 0===e&&(e=this.key);var n=this.manager.getScene(e);return n&&n.sys.setActive(t,i),this},setVisible:function(t,e){void 0===e&&(e=this.key);var i=this.manager.getScene(e);return i&&i.sys.setVisible(t),this},isSleeping:function(t){return void 0===t&&(t=this.key),this.manager.isSleeping(t)},isActive:function(t){return void 0===t&&(t=this.key),this.manager.isActive(t)},isVisible:function(t){return void 0===t&&(t=this.key),this.manager.isVisible(t)},swapPosition:function(t,e){return void 0===e&&(e=this.key),t!==e&&this.manager.swapPosition(t,e),this},moveAbove:function(t,e){return void 0===e&&(e=this.key),t!==e&&this.manager.moveAbove(t,e),this},moveBelow:function(t,e){return void 0===e&&(e=this.key),t!==e&&this.manager.moveBelow(t,e),this},remove:function(t){return void 0===t&&(t=this.key),this.manager.remove(t),this},moveUp:function(t){return void 0===t&&(t=this.key),this.manager.moveUp(t),this},moveDown:function(t){return void 0===t&&(t=this.key),this.manager.moveDown(t),this},bringToTop:function(t){return void 0===t&&(t=this.key),this.manager.bringToTop(t),this},sendToBack:function(t){return void 0===t&&(t=this.key),this.manager.sendToBack(t),this},get:function(t){return this.manager.getScene(t)},getIndex:function(t){return void 0===t&&(t=this.key),this.manager.getIndex(t)},shutdown:function(){var t=this.systems.events;t.off(r.SHUTDOWN,this.shutdown,this),t.off(r.POST_UPDATE,this.step,this),t.off(r.TRANSITION_OUT)},destroy:function(){this.shutdown(),this.scene.sys.events.off(r.START,this.start,this),this.scene=null,this.systems=null,this.settings=null,this.manager=null}});a.register("ScenePlugin",h,"scenePlugin"),t.exports=h},function(t,e,i){var n=i(124),s=i(19),r={Events:i(16),SceneManager:i(332),ScenePlugin:i(534),Settings:i(329),Systems:i(176)};r=s(!1,r,n),t.exports=r},function(t,e,i){var n=i(19),s=i(178),r={Center:i(349),Events:i(334),Orientation:i(348),ScaleManager:i(335),ScaleModes:i(347),Zoom:i(346)};r=n(!1,r=n(!1,r=n(!1,r=n(!1,r,s.CENTER),s.ORIENTATION),s.SCALE_MODE),s.ZOOM),t.exports=r},function(t,e,i){var n=i(237),s=i(0),r=i(16),o=new s({Extends:n,initialize:function(t,e){n.call(this,e),this.scene=t,this.systems=t.sys,t.sys.events.once(r.BOOT,this.boot,this)},boot:function(){}});t.exports=o},function(t,e,i){t.exports={BasePlugin:i(237),DefaultPlugins:i(181),PluginCache:i(17),PluginManager:i(336),ScenePlugin:i(537)}},function(t,e,i){var n={};t.exports=n;var s=i(149),r=(i(209),i(36));n.create=function(t){var e=s.create(),i={label:"World",gravity:{x:0,y:1,scale:.001},bounds:{min:{x:-1/0,y:-1/0},max:{x:1/0,y:1/0}}};return r.extend(e,i,t)}},function(t,e,i){var n={};t.exports=n;var s=i(36);n._registry={},n.register=function(t){if(n.isPlugin(t)||s.warn("Plugin.register:",n.toString(t),"does not implement all required fields."),t.name in n._registry){var e=n._registry[t.name],i=n.versionParse(t.version).number,r=n.versionParse(e.version).number;i>r?(s.warn("Plugin.register:",n.toString(e),"was upgraded to",n.toString(t)),n._registry[t.name]=t):i-1},n.isFor=function(t,e){var i=t.for&&n.dependencyParse(t.for);return!t.for||e.name===i.name&&n.versionSatisfies(e.version,i.range)},n.use=function(t,e){if(t.uses=(t.uses||[]).concat(e||[]),0!==t.uses.length){for(var i=n.dependencies(t),r=s.topologicalSort(i),o=[],a=0;a0&&!h.silent&&s.info(o.join(" "))}else s.warn("Plugin.use:",n.toString(t),"does not specify any dependencies to install.")},n.dependencies=function(t,e){var i=n.dependencyParse(t),r=i.name;if(!(r in(e=e||{}))){t=n.resolve(t)||t,e[r]=s.map(t.uses||[],function(e){n.isPlugin(e)&&n.register(e);var r=n.dependencyParse(e),o=n.resolve(e);return o&&!n.versionSatisfies(o.version,r.range)?(s.warn("Plugin.dependencies:",n.toString(o),"does not satisfy",n.toString(r),"used by",n.toString(i)+"."),o._warned=!0,t._warned=!0):o||(s.warn("Plugin.dependencies:",n.toString(e),"used by",n.toString(i),"could not be resolved."),t._warned=!0),r.name});for(var o=0;o=s[2];if("^"===i.operator)return s[0]>0?o[0]===s[0]&&r.number>=i.number:s[1]>0?o[1]===s[1]&&o[2]>=s[2]:o[2]===s[2]}return t===e||"*"===t}},function(t,e,i){var n=i(1286);n.Body=i(72),n.Composite=i(149),n.World=i(539),n.Detector=i(543),n.Grid=i(1285),n.Pairs=i(1284),n.Pair=i(451),n.Query=i(1310),n.Resolver=i(1283),n.SAT=i(542),n.Constraint=i(209),n.Common=i(36),n.Engine=i(1282),n.Events=i(210),n.Sleeping=i(238),n.Plugin=i(540),n.Bodies=i(138),n.Composites=i(1289),n.Axes=i(546),n.Bounds=i(86),n.Svg=i(1308),n.Vector=i(87),n.Vertices=i(82),n.World.add=n.Composite.add,n.World.remove=n.Composite.remove,n.World.addComposite=n.Composite.addComposite,n.World.addBody=n.Composite.addBody,n.World.addConstraint=n.Composite.addConstraint,n.World.clear=n.Composite.clear,t.exports=n},function(t,e,i){var n={};t.exports=n;var s=i(82),r=i(87);n.collides=function(t,e,i){var o,a,h,l,u=!1;if(i){var c=t.parent,d=e.parent,f=c.speed*c.speed+c.angularSpeed*c.angularSpeed+d.speed*d.speed+d.angularSpeed*d.angularSpeed;u=i&&i.collided&&f<.2,l=i}else l={collided:!1,bodyA:t,bodyB:e};if(i&&u){var p=l.axisBody,g=p===t?e:t,v=[p.axes[i.axisNumber]];if(h=n._overlapAxes(p.vertices,g.vertices,v),l.reused=!0,h.overlap<=0)return l.collided=!1,l}else{if((o=n._overlapAxes(t.vertices,e.vertices,t.axes)).overlap<=0)return l.collided=!1,l;if((a=n._overlapAxes(e.vertices,t.vertices,e.axes)).overlap<=0)return l.collided=!1,l;o.overlaps?s=a:a=0?o.index-1:u.length-1],l.x=s.x-c.x,l.y=s.y-c.y,h=-r.dot(i,l),a=s,s=u[(o.index+1)%u.length],l.x=s.x-c.x,l.y=s.y-c.y,(n=-r.dot(i,l))1?1:0;d1?1:0;p0:0!=(t.mask&e.category)&&0!=(e.mask&t.category)}},function(t,e,i){var n=i(138),s=i(72),r=i(0),o=i(452),a=i(2),h=i(91),l=i(82),u=new r({Mixins:[o.Bounce,o.Collision,o.Friction,o.Gravity,o.Mass,o.Sensor,o.Sleep,o.Static],initialize:function(t,e,i){this.tile=e,this.world=t,e.physics.matterBody&&e.physics.matterBody.destroy(),e.physics.matterBody=this;var n=a(i,"body",null),s=a(i,"addToWorld",!0);if(n)this.setBody(n,s);else{var r=e.getCollisionGroup();a(r,"objects",[]).length>0?this.setFromTileCollision(i):this.setFromTileRectangle(i)}},setFromTileRectangle:function(t){void 0===t&&(t={}),h(t,"isStatic")||(t.isStatic=!0),h(t,"addToWorld")||(t.addToWorld=!0);var e=this.tile.getBounds(),i=e.x+e.width/2,s=e.y+e.height/2,r=n.rectangle(i,s,e.width,e.height,t);return this.setBody(r,t.addToWorld),this},setFromTileCollision:function(t){void 0===t&&(t={}),h(t,"isStatic")||(t.isStatic=!0),h(t,"addToWorld")||(t.addToWorld=!0);for(var e=this.tile.tilemapLayer.scaleX,i=this.tile.tilemapLayer.scaleY,r=this.tile.getLeft(),o=this.tile.getTop(),u=this.tile.getCollisionGroup(),c=a(u,"objects",[]),d=[],f=0;f1&&(t.parts=d,this.setBody(s.create(t),t.addToWorld)),this},setBody:function(t,e){return void 0===e&&(e=!0),this.body&&this.removeBody(),this.body=t,this.body.gameObject=this,e&&this.world.add(this.body),this},removeBody:function(){return this.body&&(this.world.remove(this.body),this.body.gameObject=void 0,this.body=void 0),this},destroy:function(){this.removeBody(),this.tile.physics.matterBody=void 0}});t.exports=u},function(t,e,i){t.exports={AFTER_UPDATE:i(1322),BEFORE_UPDATE:i(1321),COLLISION_ACTIVE:i(1320),COLLISION_END:i(1319),COLLISION_START:i(1318),PAUSE:i(1317),RESUME:i(1316),SLEEP_END:i(1315),SLEEP_START:i(1314)}},function(t,e,i){var n={};t.exports=n;var s=i(87),r=i(36);n.fromVertices=function(t){for(var e={},i=0;i0?1:-1),l=Math.sqrt(o*o*t.mass/e.mass)*(o>0?1:-1),u=.5*(h+l);h-=u,l-=u,t.velocity.y=u+h*t.bounce.y,e.velocity.y=u+l*e.bounce.y}return!0}},function(t,e,i){var n=i(246);t.exports=function(t,e,i,s){var r=n(t,e,i,s);if(i||0===r||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==r||t.embedded&&e.embedded;var o=t.velocity.x,a=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=r,e.velocity.x=o-a*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=r,t.velocity.x=a-o*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{r*=.5,t.x-=r,e.x+=r;var h=Math.sqrt(a*a*e.mass/t.mass)*(a>0?1:-1),l=Math.sqrt(o*o*t.mass/e.mass)*(o>0?1:-1),u=.5*(h+l);h-=u,l-=u,t.velocity.x=u+h*t.bounce.x,e.velocity.x=u+l*e.bounce.x}return!0}},function(t,e){t.exports=function(t,e){e<0?(t.blocked.none=!1,t.blocked.up=!0):e>0&&(t.blocked.none=!1,t.blocked.down=!0),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},function(t,e,i){var n=i(551);t.exports=function(t,e,i,s,r){var o=0;return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom>i&&(o=t.bottom-i)>r&&(o=0),0!==o&&(t.customSeparateY?t.overlapY=o:n(t,o)),o}},function(t,e){t.exports=function(t,e){e<0?(t.blocked.none=!1,t.blocked.left=!0):e>0&&(t.blocked.none=!1,t.blocked.right=!0),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x}},function(t,e,i){var n=i(553);t.exports=function(t,e,i,s,r){var o=0;return t.deltaX()<0&&!t.blocked.left&&e.collideRight&&t.checkCollision.left?e.faceRight&&t.x0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right>i&&(o=t.right-i)>r&&(o=0),0!==o&&(t.customSeparateX?t.overlapX=o:n(t,o)),o}},function(t,e,i){var n=i(554),s=i(552),r=i(242);t.exports=function(t,e,i,o,a,h){var l=o.left,u=o.top,c=o.right,d=o.bottom,f=i.faceLeft||i.faceRight,p=i.faceTop||i.faceBottom;if(!f&&!p)return!1;var g=0,v=0,y=0,m=1;if(e.deltaAbsX()>e.deltaAbsY()?y=-1:e.deltaAbsX()=0;a--){var h=e[a],l=o(s,r,h.x,h.y);l=0;a--){var h=e[a],l=o(s,r,h.x,h.y);l>i&&(n=h,i=l)}return n},moveTo:function(t,e,i,n,s){void 0===n&&(n=60),void 0===s&&(s=0);var o=Math.atan2(i-t.y,e-t.x);return s>0&&(n=r(t.x,t.y,e,i)/(s/1e3)),t.body.velocity.setToPolar(o,n),o},moveToObject:function(t,e,i,n){return this.moveTo(t,e.x,e.y,i,n)},velocityFromAngle:function(t,e,i){return void 0===e&&(e=60),void 0===i&&(i=new d),i.setToPolar(s(t),e)},velocityFromRotation:function(t,e,i){return void 0===e&&(e=60),void 0===i&&(i=new d),i.setToPolar(t,e)},shutdown:function(){if(this.world){var t=this.systems.events;t.off(c.UPDATE,this.world.update,this.world),t.off(c.POST_UPDATE,this.world.postUpdate,this.world),t.off(c.SHUTDOWN,this.shutdown,this),this.add.destroy(),this.world.destroy(),this.add=null,this.world=null}},destroy:function(){this.shutdown(),this.scene.sys.events.off(c.START,this.start,this),this.scene=null,this.systems=null}});u.register("ArcadePhysics",p,"arcadePhysics"),t.exports=p},function(t,e,i){var n=i(38),s=i(19),r={ArcadePhysics:i(576),Body:i(249),Collider:i(247),Factory:i(255),Group:i(252),Image:i(254),Sprite:i(111),StaticBody:i(241),StaticGroup:i(251),World:i(250)};r=s(!1,r,n),t.exports=r},function(t,e,i){var n=i(0),s=i(15),r=i(102),o=i(11),a=i(75),h=i(7),l=i(2),u=i(17),c=i(16),d=i(112),f=new n({Extends:o,initialize:function(t){o.call(this);var e=t.sys.game.config,i=t.sys.settings.loader;this.scene=t,this.systems=t.sys,this.cacheManager=t.sys.cache,this.textureManager=t.sys.textures,this.sceneManager=t.sys.game.scene,h.install(this),this.prefix="",this.path="",this.baseURL="",this.setBaseURL(l(i,"baseURL",e.loaderBaseURL)),this.setPath(l(i,"path",e.loaderPath)),this.setPrefix(l(i,"prefix",e.loaderPrefix)),this.maxParallelDownloads=l(i,"maxParallelDownloads",e.loaderMaxParallelDownloads),this.xhr=d(l(i,"responseType",e.loaderResponseType),l(i,"async",e.loaderAsync),l(i,"user",e.loaderUser),l(i,"password",e.loaderPassword),l(i,"timeout",e.loaderTimeout)),this.crossOrigin=l(i,"crossOrigin",e.loaderCrossOrigin),this.totalToLoad=0,this.progress=0,this.list=new r,this.inflight=new r,this.queue=new r,this._deleteQueue=new r,this.totalFailed=0,this.totalComplete=0,this.state=s.LOADER_IDLE,t.sys.events.once(c.BOOT,this.boot,this),t.sys.events.on(c.START,this.pluginStart,this)},boot:function(){this.systems.events.once(c.DESTROY,this.destroy,this)},pluginStart:function(){this.systems.events.once(c.SHUTDOWN,this.shutdown,this)},setBaseURL:function(t){return void 0===t&&(t=""),""!==t&&"/"!==t.substr(-1)&&(t=t.concat("/")),this.baseURL=t,this},setPath:function(t){return void 0===t&&(t=""),""!==t&&"/"!==t.substr(-1)&&(t=t.concat("/")),this.path=t,this},setPrefix:function(t){return void 0===t&&(t=""),this.prefix=t,this},setCORS:function(t){return this.crossOrigin=t,this},addFile:function(t){Array.isArray(t)||(t=[t]);for(var e=0;e0},isLoading:function(){return this.state===s.LOADER_LOADING||this.state===s.LOADER_PROCESSING},isReady:function(){return this.state===s.LOADER_IDLE||this.state===s.LOADER_COMPLETE},start:function(){this.isReady()&&(this.progress=0,this.totalFailed=0,this.totalComplete=0,this.totalToLoad=this.list.size,this.emit(a.START,this),0===this.list.size?this.loadComplete():(this.state=s.LOADER_LOADING,this.inflight.clear(),this.queue.clear(),this.updateProgress(),this.checkLoadQueue(),this.systems.events.on(c.UPDATE,this.update,this)))},updateProgress:function(){this.progress=1-(this.list.size+this.inflight.size)/this.totalToLoad,this.emit(a.PROGRESS,this.progress)},update:function(){this.state===s.LOADER_LOADING&&this.list.size>0&&this.inflight.size'),i.push(''),i.push(''),i.push(this.xhrLoader.responseText),i.push(""),i.push(""),i.push("");var n=[i.join("\n")],o=this;try{var a=new window.Blob(n,{type:"image/svg+xml;charset=utf-8"})}catch(t){return o.state=s.FILE_ERRORED,void o.onProcessComplete()}this.data=new Image,this.data.crossOrigin=this.crossOrigin,this.data.onload=function(){r.revokeObjectURL(o.data),o.onProcessComplete()},this.data.onerror=function(){r.revokeObjectURL(o.data),o.onProcessError()},r.createObjectURL(this.data,a,"image/svg+xml")},addToCache:function(){var t=this.cache.addImage(this.key,this.data);this.pendingDestroy(t)}});o.register("htmlTexture",function(t,e,i,n,s){if(Array.isArray(t))for(var r=0;r0&&e.maxKeyDelay>0){var r=e.timeLastMatched+e.maxKeyDelay;t.timeStamp<=r&&(s=!0,i=n(t,e))}else s=!0,i=n(t,e);return!s&&e.resetOnWrongKey&&(e.index=0,e.current=e.keyCodes[0]),i&&(e.timeLastMatched=t.timeStamp,e.matched=!0,e.timeMatched=t.timeStamp),i}},function(t,e,i){var n=i(0),s=i(11),r=i(113),o=i(26),a=i(4),h=i(52),l=i(114),u=i(261),c=i(125),d=i(260),f=i(608),p=i(98),g=new n({Extends:s,initialize:function(t){s.call(this),this.game=t.systems.game,this.scene=t.scene,this.settings=this.scene.sys.settings,this.sceneInputPlugin=t,this.manager=t.manager.keyboard,this.enabled=!0,this.keys=[],this.combos=[],this.time=0,t.pluginEvents.once(h.BOOT,this.boot,this),t.pluginEvents.on(h.START,this.start,this)},boot:function(){var t=this.settings.input;this.enabled=a(t,"keyboard",!0);var e=a(t,"keyboard.capture",null);e&&this.addCaptures(e),this.sceneInputPlugin.pluginEvents.once(h.DESTROY,this.destroy,this)},start:function(){this.sceneInputPlugin.manager.useQueue?this.sceneInputPlugin.pluginEvents.on(h.UPDATE,this.update,this):this.sceneInputPlugin.manager.events.on(h.MANAGER_PROCESS,this.update,this),this.sceneInputPlugin.pluginEvents.once(h.SHUTDOWN,this.shutdown,this),this.game.events.on(o.BLUR,this.resetKeys,this)},isActive:function(){return this.enabled&&this.scene.sys.isActive()},addCapture:function(t){return this.manager.addCapture(t),this},removeCapture:function(t){return this.manager.removeCapture(t),this},getCaptures:function(){return this.manager.captures},enableGlobalCapture:function(){return this.manager.preventDefault=!0,this},disableGlobalCapture:function(){return this.manager.preventDefault=!1,this},clearCaptures:function(){return this.manager.clearCaptures(),this},createCursorKeys:function(){return this.addKeys({up:c.UP,down:c.DOWN,left:c.LEFT,right:c.RIGHT,space:c.SPACE,shift:c.SHIFT})},addKeys:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1);var n={};if("string"==typeof t){t=t.split(",");for(var s=0;s-1?n[s]=t:n[t.keyCode]=t,e&&this.addCapture(t.keyCode),t.setEmitOnRepeat(i),t}return"string"==typeof t&&(t=c[t.toUpperCase()]),n[t]||(n[t]=new u(t),e&&this.addCapture(t),n[t].setEmitOnRepeat(i)),n[t]},removeKey:function(t){var e=this.keys;if(t instanceof u){var i=e.indexOf(t);i>-1&&(this.keys[i]=void 0)}else"string"==typeof t&&(t=c[t.toUpperCase()]);return e[t]&&(e[t]=void 0),this},createCombo:function(t,e){return new d(this,t,e)},checkDown:function(t,e){if(this.enabled&&t.isDown){var i=p(this.time-t.timeDown,e);if(i>t._tick)return t._tick=i,!0}return!1},update:function(t){this.time=t;var e=this.manager.queue,i=e.length;if(this.isActive()&&0!==i)for(var n=this.keys,s=0;s=e}}},function(t,e,i){var n=i(77),s=i(43),r=i(0),o=i(265),a=i(621),h=i(56),l=i(96),u=i(95),c=i(52),d=i(11),f=i(2),p=i(114),g=i(8),v=i(17),y=i(10),m=i(42),x=i(16),T=i(65),w=i(74),b=new r({Extends:d,initialize:function(t){d.call(this),this.scene=t,this.systems=t.sys,this.settings=t.sys.settings,this.manager=t.sys.game.input,this.pluginEvents=new d,this.enabled=!0,this.displayList,this.cameras,p.install(this),this.mouse=this.manager.mouse,this.topOnly=!0,this.pollRate=-1,this._pollTimer=0;var e={cancelled:!1};this._eventContainer={stopPropagation:function(){e.cancelled=!0}},this._eventData=e,this.dragDistanceThreshold=0,this.dragTimeThreshold=0,this._temp=[],this._tempZones=[],this._list=[],this._pendingInsertion=[],this._pendingRemoval=[],this._draggable=[],this._drag={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[]},this._dragState=[],this._over={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[]},this._validTypes=["onDown","onUp","onOver","onOut","onMove","onDragStart","onDrag","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop"],t.sys.events.once(x.BOOT,this.boot,this),t.sys.events.on(x.START,this.start,this)},boot:function(){this.cameras=this.systems.cameras,this.displayList=this.systems.displayList,this.systems.events.once(x.DESTROY,this.destroy,this),this.pluginEvents.emit(c.BOOT)},start:function(){var t=this.systems.events;t.on(x.TRANSITION_START,this.transitionIn,this),t.on(x.TRANSITION_OUT,this.transitionOut,this),t.on(x.TRANSITION_COMPLETE,this.transitionComplete,this),t.on(x.PRE_UPDATE,this.preUpdate,this),this.manager.useQueue&&t.on(x.UPDATE,this.update,this),t.once(x.SHUTDOWN,this.shutdown,this),this.enabled=!0,this._dragState=[0,0,0,0,0,0,0,0,0,0],this.pluginEvents.emit(c.START)},preUpdate:function(){this.pluginEvents.emit(c.PRE_UPDATE);var t=this._pendingRemoval,e=this._pendingInsertion,i=t.length,n=e.length;if(0!==i||0!==n){for(var s=this._list,r=0;r-1&&(s.splice(a,1),this.clear(o))}t.length=0,this._pendingRemoval.length=0,this._list=s.concat(e.splice(0))}},isActive:function(){return this.enabled&&this.scene.sys.isActive()},update:function(t,e){if(this.isActive()){var i=this.manager;if(this.pluginEvents.emit(c.UPDATE,t,e),!i.globalTopOnly||!i.ignoreEvents){if(i._emitIsOverEvent){var n=i.isOver?c.GAME_OVER:c.GAME_OUT;this.emit(n,t,i._emitIsOverEvent)}var s=i.dirty||0===this.pollRate;if(this.pollRate>-1&&(this._pollTimer-=e,this._pollTimer<0&&(s=!0,this._pollTimer=this.pollRate)),s)for(var r=this.manager.pointers,o=this.manager.pointersTotal,a=0;a0&&i.globalTopOnly&&(i.ignoreEvents=!0)}}}},clear:function(t){var e=t.input;if(e){this.queueForRemoval(t),e.gameObject=void 0,e.target=void 0,e.hitArea=void 0,e.hitAreaCallback=void 0,e.callbackContext=void 0,this.manager.resetCursor(e),t.input=null;var i=this._draggable.indexOf(t);return i>-1&&this._draggable.splice(i,1),(i=this._drag[0].indexOf(t))>-1&&this._drag[0].splice(i,1),(i=this._over[0].indexOf(t))>-1&&this._over[0].splice(i,1),t}},disable:function(t){t.input.enabled=!1},enable:function(t,e,i,n){return void 0===n&&(n=!1),t.input?t.input.enabled=!0:this.setHitArea(t,e,i),t.input&&n&&!t.input.dropZone&&(t.input.dropZone=n),this},hitTestPointer:function(t){for(var e=this.cameras.getCamerasBelowPointer(t),i=0;i0)return t.camera=n,s}return t.camera=e[0],[]},processDownEvents:function(t){var e=0,i=this._temp,n=this._eventData,s=this._eventContainer;n.cancelled=!1;for(var r=!1,o=0;o0?this.setDragState(t,1):this.getDragState(t)>0&&!t.primaryDown&&t.justUp&&this.setDragState(t,5),1===this.getDragState(t)){var a=[];for(i=0;i1&&(this.sortGameObjects(a),this.topOnly&&a.splice(1)),this._drag[t.id]=a,0===this.dragDistanceThreshold&&0===this.dragTimeThreshold?this.setDragState(t,3):this.setDragState(t,2)}if(2===this.getDragState(t)&&(this.dragDistanceThreshold>0&&h(t.x,t.y,t.downX,t.downY)>=this.dragDistanceThreshold&&this.setDragState(t,3),this.dragTimeThreshold>0&&e>=t.downTime+this.dragTimeThreshold&&this.setDragState(t,3)),3===this.getDragState(t)){for(s=this._drag[t.id],i=0;i0?(n.emit(c.GAMEOBJECT_DRAG_LEAVE,t,r.target),this.emit(c.DRAG_LEAVE,t,n,r.target),r.target=l[0],n.emit(c.GAMEOBJECT_DRAG_ENTER,t,r.target),this.emit(c.DRAG_ENTER,t,n,r.target)):(n.emit(c.GAMEOBJECT_DRAG_LEAVE,t,r.target),this.emit(c.DRAG_LEAVE,t,n,r.target),l[0]?(r.target=l[0],n.emit(c.GAMEOBJECT_DRAG_ENTER,t,r.target),this.emit(c.DRAG_ENTER,t,n,r.target)):r.target=null)}else!r.target&&l[0]&&(r.target=l[0],n.emit(c.GAMEOBJECT_DRAG_ENTER,t,r.target),this.emit(c.DRAG_ENTER,t,n,r.target));var d=t.x-n.input.dragX,f=t.y-n.input.dragY;n.emit(c.GAMEOBJECT_DRAG,t,d,f),this.emit(c.DRAG,t,n,d,f)}return s.length}if(5===this.getDragState(t)){for(s=this._drag[t.id],i=0;i0){for(this.sortGameObjects(s),e=0;e0){for(this.sortGameObjects(r),e=0;e-1&&this._draggable.splice(s,1)}return this},makePixelPerfect:function(t){void 0===t&&(t=1);var e=this.systems.textures;return a(e,t)},setHitArea:function(t,e,i){if(void 0===e)return this.setHitAreaFromTexture(t);Array.isArray(t)||(t=[t]);var n=!1,s=!1,r=!1,a=!1;if(g(e)){var h=e;e=f(h,"hitArea",null),i=f(h,"hitAreaCallback",null),n=f(h,"draggable",!1),s=f(h,"dropZone",!1),r=f(h,"cursor",!1),a=f(h,"useHandCursor",!1);var l=f(h,"pixelPerfect",!1),u=f(h,"alphaTolerance",1);l&&(e={},i=this.makePixelPerfect(u)),e&&i||this.setHitAreaFromTexture(t)}else"function"!=typeof e||i||(i=e,e={});for(var c=0;c0?t.width/2:t.width/-2,h=r>0?t.height/2:t.height/-2;return Math.abs(a*r)e.x&&t.ye.y}},function(t,e){t.exports=function(t,e){return t.x+=e.x,t.y+=e.y,t}},function(t,e){t.exports=function(t,e,i){return t.x+=e,t.y+=i,t}},function(t,e){t.exports=function(t,e,i){var n=Math.min(t.x,e),s=Math.max(t.right,e);t.x=n,t.width=s-n;var r=Math.min(t.y,i),o=Math.max(t.bottom,i);return t.y=r,t.height=o-r,t}},function(t,e){t.exports=function(t,e){var i=Math.min(t.x,e.x),n=Math.max(t.right,e.right);t.x=i,t.width=n-i;var s=Math.min(t.y,e.y),r=Math.max(t.bottom,e.bottom);return t.y=s,t.height=r-s,t}},function(t,e){t.exports=function(t,e){for(var i=t.x,n=t.right,s=t.y,r=t.bottom,o=0;on(e)?t.setSize(e.height*i,e.height):t.setSize(e.width,e.width/i),t.setPosition(e.centerX-t.width/2,e.centerY-t.height/2)}},function(t,e,i){var n=i(155);t.exports=function(t,e){var i=n(t);return ii&&(i=h.x),h.xr&&(r=h.y),h.ye.right||t.righte.bottom||t.bottom0||(c=s(e),(d=n(t,c,!0)).length>0)}},function(t,e,i){var n=i(74),s=i(115);t.exports=function(t,e){return!!(n(t,e.getPointA())||n(t,e.getPointB())||s(t.getLineA(),e)||s(t.getLineB(),e)||s(t.getLineC(),e))}},function(t,e,i){var n=i(277),s=i(74);t.exports=function(t,e){return!(t.left>e.right||t.righte.bottom||t.bottomt.right+r||it.bottom+r||st.right||e.rightt.bottom||e.bottom0}},function(t,e,i){var n=i(276);t.exports=function(t,e){if(!n(t,e))return!1;var i=Math.min(e.x1,e.x2),s=Math.max(e.x1,e.x2),r=Math.min(e.y1,e.y2),o=Math.max(e.y1,e.y2);return t.x>=i&&t.x<=s&&t.y>=r&&t.y<=o}},function(t,e){t.exports=function(t,e){var i=t.x1,n=t.y1,s=t.x2,r=t.y2,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&n>=a&&n<=l||s>=o&&s<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=n+(r-n)*(o-i)/(s-i))>a&&u<=l)return!0}else if(i>h&&s<=h&&(u=n+(r-n)*(h-i)/(s-i))>=a&&u<=l)return!0;if(n=a){if((u=i+(s-i)*(a-n)/(r-n))>=o&&u<=h)return!0}else if(n>l&&r<=l&&(u=i+(s-i)*(l-n)/(r-n))>=o&&u<=h)return!0;return!1}},function(t,e,i){var n=i(10),s=i(158);t.exports=function(t,e,i){return void 0===i&&(i=new n),s(t,e)&&(i.x=Math.max(t.x,e.x),i.y=Math.max(t.y,e.y),i.width=Math.min(t.right,e.right)-i.x,i.height=Math.min(t.bottom,e.bottom)-i.y),i}},function(t,e){t.exports=function(t,e){var i=e.width/2,n=e.height/2,s=Math.abs(t.x-e.x-i),r=Math.abs(t.y-e.y-n),o=i+t.radius,a=n+t.radius;if(s>o||r>a)return!1;if(s<=i||r<=n)return!0;var h=s-i,l=r-n;return h*h+l*l<=t.radius*t.radius}},function(t,e,i){var n=i(56);t.exports=function(t,e){return n(t.x,t.y,e.x,e.y)<=t.radius+e.radius}},function(t,e){t.exports=function(t,e){return t.x+=e.x,t.y+=e.y,t}},function(t,e){t.exports=function(t,e,i){return t.x+=e,t.y+=i,t}},function(t,e,i){var n=i(10);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=t.left,e.y=t.top,e.width=t.width,e.height=t.height,e}},function(t,e){t.exports=function(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}},function(t,e){t.exports=function(t,e){return e.setTo(t.x,t.y,t.width,t.height)}},function(t,e,i){var n=i(95);t.exports=function(t,e){return n(t,e.x,e.y)&&n(t,e.right,e.y)&&n(t,e.x,e.bottom)&&n(t,e.right,e.bottom)}},function(t,e,i){var n=i(95);t.exports=function(t,e){return n(t,e.x,e.y)}},function(t,e,i){var n=i(96);t.exports=function(t){return new n(t.x,t.y,t.width,t.height)}},function(t,e){t.exports=function(t){return t.isEmpty()?0:t.getMajorRadius()*t.getMinorRadius()*Math.PI}},function(t,e,i){var n=i(96);n.Area=i(734),n.Circumference=i(309),n.CircumferencePoint=i(166),n.Clone=i(733),n.Contains=i(95),n.ContainsPoint=i(732),n.ContainsRect=i(731),n.CopyFrom=i(730),n.Equals=i(729),n.GetBounds=i(728),n.GetPoint=i(311),n.GetPoints=i(310),n.Offset=i(727),n.OffsetPoint=i(726),n.Random=i(199),t.exports=n},function(t,e){t.exports=function(t,e){return t.x+=e.x,t.y+=e.y,t}},function(t,e){t.exports=function(t,e,i){return t.x+=e,t.y+=i,t}},function(t,e,i){var n=i(10);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=t.left,e.y=t.top,e.width=t.diameter,e.height=t.diameter,e}},function(t,e){t.exports=function(t,e){return t.x===e.x&&t.y===e.y&&t.radius===e.radius}},function(t,e){t.exports=function(t,e){return e.setTo(t.x,t.y,t.radius)}},function(t,e,i){var n=i(43);t.exports=function(t,e){return n(t,e.x,e.y)&&n(t,e.right,e.y)&&n(t,e.x,e.bottom)&&n(t,e.right,e.bottom)}},function(t,e,i){var n=i(43);t.exports=function(t,e){return n(t,e.x,e.y)}},function(t,e,i){var n=i(77);t.exports=function(t){return new n(t.x,t.y,t.radius)}},function(t,e){t.exports=function(t){return t.radius>0?Math.PI*t.radius*t.radius:0}},function(t,e,i){var n=i(77);n.Area=i(744),n.Circumference=i(436),n.CircumferencePoint=i(207),n.Clone=i(743),n.Contains=i(43),n.ContainsPoint=i(742),n.ContainsRect=i(741),n.CopyFrom=i(740),n.Equals=i(739),n.GetBounds=i(738),n.GetPoint=i(438),n.GetPoints=i(437),n.Offset=i(737),n.OffsetPoint=i(736),n.Random=i(206),t.exports=n},function(t,e,i){var n=i(0),s=i(280),r=i(17),o=i(16),a=new n({Extends:s,initialize:function(t){this.scene=t,this.systems=t.sys,t.sys.settings.isBooted||t.sys.events.once(o.BOOT,this.boot,this),s.call(this)},boot:function(){var t=this.systems.events;t.on(o.SHUTDOWN,this.shutdown,this),t.on(o.DESTROY,this.destroy,this)},destroy:function(){this.shutdown(),this.scene=void 0,this.systems=void 0}});r.register("LightsPlugin",a,"lights"),t.exports=a},function(t,e,i){var n=i(30),s=i(14),r=i(12),o=i(159);s.register("quad",function(t,e){void 0===t&&(t={});var i=r(t,"x",0),s=r(t,"y",0),a=r(t,"key",null),h=r(t,"frame",null),l=new o(this.scene,i,s,a,h);return void 0!==e&&(t.add=e),n(this.scene,l,t),l})},function(t,e,i){var n=i(30),s=i(14),r=i(12),o=i(4),a=i(116);s.register("mesh",function(t,e){void 0===t&&(t={});var i=r(t,"key",null),s=r(t,"frame",null),h=o(t,"vertices",[]),l=o(t,"colors",[]),u=o(t,"alphas",[]),c=o(t,"uv",[]),d=new a(this.scene,0,0,h,c,l,u,i,s);return void 0!==e&&(t.add=e),n(this.scene,d,t),d})},function(t,e,i){var n=i(159);i(5).register("quad",function(t,e,i,s){return this.displayList.add(new n(this.scene,t,e,i,s))})},function(t,e,i){var n=i(116);i(5).register("mesh",function(t,e,i,s,r,o,a,h){return this.displayList.add(new n(this.scene,t,e,i,s,r,o,a,h))})},function(t,e){t.exports=function(){}},function(t,e,i){var n=i(9);t.exports=function(t,e,i,s,r){var o=this.pipeline;t.setPipeline(o,e);var a=o._tempMatrix1,h=o._tempMatrix2,l=o._tempMatrix3;h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(s.matrix),r?(a.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y,a.multiply(h,l)):(h.e-=s.scrollX*e.scrollFactorX,h.f-=s.scrollY*e.scrollFactorY,a.multiply(h,l));var u=e.frame.glTexture,c=e.vertices,d=e.uv,f=e.colors,p=e.alphas,g=c.length,v=Math.floor(.5*g);o.vertexCount+v>o.vertexCapacity&&o.flush(),o.setTexture2D(u,0);for(var y=o.vertexViewF32,m=o.vertexViewU32,x=o.vertexCount*o.vertexComponentCount-1,T=0,w=e.tintFill,b=0;b0)for(u=o.fillTint,c=n.getTintAppendFloatAlphaAndSwap(e.fillColor,e.fillAlpha*d),u.TL=c,u.TR=c,u.BL=c,u.BR=c,C=0;C0)for(u=o.fillTint,c=n.getTintAppendFloatAlphaAndSwap(e.altFillColor,e.altFillAlpha*d),u.TL=c,u.TR=c,u.BL=c,u.BR=c,C=0;C0){var R=o.strokeTint,L=n.getTintAppendFloatAlphaAndSwap(e.outlineFillColor,e.outlineFillAlpha*d);for(R.TL=L,R.TR=L,R.BL=L,R.BR=L,E=1;Er;h--){for(l=0;l2?o[a++]:"",n=o[a++]||"16px",i=o[a++]||"Courier"}return i===this.fontFamily&&n===this.fontSize&&s===this.fontStyle||(this.fontFamily=i,this.fontSize=n,this.fontStyle=s,e&&this.update(!0)),this.parent},setFontFamily:function(t){return this.fontFamily!==t&&(this.fontFamily=t,this.update(!0)),this.parent},setFontStyle:function(t){return this.fontStyle!==t&&(this.fontStyle=t,this.update(!0)),this.parent},setFontSize:function(t){return"number"==typeof t&&(t=t.toString()+"px"),this.fontSize!==t&&(this.fontSize=t,this.update(!0)),this.parent},setTestString:function(t){return this.testString=t,this.update(!0)},setFixedSize:function(t,e){return this.fixedWidth=t,this.fixedHeight=e,t&&(this.parent.width=t),e&&(this.parent.height=e),this.update(!1)},setBackgroundColor:function(t){return this.backgroundColor=t,this.update(!1)},setFill:function(t){return this.color=t,this.update(!1)},setColor:function(t){return this.color=t,this.update(!1)},setResolution:function(t){return this.resolution=t,this.update(!1)},setStroke:function(t,e){return void 0===e&&(e=this.strokeThickness),void 0===t&&0!==this.strokeThickness?(this.strokeThickness=0,this.update(!0)):this.stroke===t&&this.strokeThickness===e||(this.stroke=t,this.strokeThickness=e,this.update(!0)),this.parent},setShadow:function(t,e,i,n,s,r){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i="#000"),void 0===n&&(n=0),void 0===s&&(s=!1),void 0===r&&(r=!0),this.shadowOffsetX=t,this.shadowOffsetY=e,this.shadowColor=i,this.shadowBlur=n,this.shadowStroke=s,this.shadowFill=r,this.update(!1)},setShadowOffset:function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this.shadowOffsetX=t,this.shadowOffsetY=e,this.update(!1)},setShadowColor:function(t){return void 0===t&&(t="#000"),this.shadowColor=t,this.update(!1)},setShadowBlur:function(t){return void 0===t&&(t=0),this.shadowBlur=t,this.update(!1)},setShadowStroke:function(t){return this.shadowStroke=t,this.update(!1)},setShadowFill:function(t){return this.shadowFill=t,this.update(!1)},setWordWrapWidth:function(t,e){return void 0===e&&(e=!1),this.wordWrapWidth=t,this.wordWrapUseAdvanced=e,this.update(!1)},setWordWrapCallback:function(t,e){return void 0===e&&(e=null),this.wordWrapCallback=t,this.wordWrapCallbackScope=e,this.update(!1)},setAlign:function(t){return void 0===t&&(t="left"),this.align=t,this.update(!1)},setMaxLines:function(t){return void 0===t&&(t=0),this.maxLines=t,this.update(!1)},getTextMetrics:function(){var t=this.metrics;return{ascent:t.ascent,descent:t.descent,fontSize:t.fontSize}},toJSON:function(){var t={};for(var e in a)t[e]=this[e];return t.metrics=this.getTextMetrics(),t},destroy:function(){this.parent=void 0}});t.exports=h},function(t,e){t.exports=function(t,e,i,n,s){""!==e.text&&t.batchSprite(e,e.frame,n,s)}},function(t,e,i){var n=i(9);t.exports=function(t,e,i,s,r){if(""!==e.text){var o=e.frame,a=o.width,h=o.height,l=n.getTintAppendFloatAlpha;this.pipeline.batchTexture(e,o.glTexture,a,h,e.x,e.y,a/e.style.resolution,h/e.style.resolution,e.scaleX,e.scaleY,e.rotation,e.flipX,e.flipY,e.scrollFactorX,e.scrollFactorY,e.displayOriginX,e.displayOriginY,0,0,a,h,l(e._tintTL,s.alpha*e._alphaTL),l(e._tintTR,s.alpha*e._alphaTR),l(e._tintBL,s.alpha*e._alphaBL),l(e._tintBR,s.alpha*e._alphaBR),e._isTinted&&e.tintFill,0,0,s,r)}}},function(t,e,i){var n=i(1),s=i(1);n=i(832),s=i(831),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e){t.exports=function(t,e,i){var n=t.canvas,s=t.context,r=t.style,o=[],a=0,h=i.length;r.maxLines>0&&r.maxLines1&&(d+=f*(i.length-1)),{width:a,height:d,lines:h,lineWidths:o,lineSpacing:f,lineHeight:c}}},function(t,e,i){var n=i(4);t.exports=function(t,e){var i=e.width,s=e.height,r=Math.floor(i/2),o=Math.floor(s/2),a=n(e,"chars","");if(""!==a){var h=n(e,"image",""),l=n(e,"offset.x",0),u=n(e,"offset.y",0),c=n(e,"spacing.x",0),d=n(e,"spacing.y",0),f=n(e,"lineSpacing",0),p=n(e,"charsPerRow",null);null===p&&(p=t.sys.textures.getFrame(h).width/i)>a.length&&(p=a.length);for(var g=l,v=u,y={retroFont:!0,font:h,size:i,lineHeight:s+f,chars:{}},m=0,x=0;x?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",TEXT_SET2:" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET3:"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",TEXT_SET4:"ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",TEXT_SET5:"ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",TEXT_SET6:"ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",TEXT_SET7:"AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",TEXT_SET8:"0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET9:"ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",TEXT_SET10:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET11:"ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789"}},function(t,e,i){var n=i(836),s=i(19),r={Parse:i(835)};r=s(!1,r,n),t.exports=r},function(t,e){t.exports=function(t,e,i,n,s){t.batchSprite(e,e.frame,n,s)}},function(t,e,i){var n=i(9);t.exports=function(t,e,i,s,r){var o=e.frame,a=o.width,h=o.height,l=n.getTintAppendFloatAlpha;this.pipeline.batchTexture(e,o.glTexture,a,h,e.x,e.y,a,h,e.scaleX,e.scaleY,e.rotation,e.flipX,!e.flipY,e.scrollFactorX,e.scrollFactorY,e.displayOriginX,e.displayOriginY,0,0,a,h,l(e._tintTL,s.alpha*e._alphaTL),l(e._tintTR,s.alpha*e._alphaTR),l(e._tintBL,s.alpha*e._alphaBL),l(e._tintBR,s.alpha*e._alphaBR),e._isTinted&&e.tintFill,0,0,s,r),t.setBlankTexture(!0)}},function(t,e,i){var n=i(1),s=i(1);n=i(839),s=i(838),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){t.exports={DeathZone:i(304),EdgeZone:i(303),RandomZone:i(301)}},function(t,e){t.exports=function(t,e,i,n,s){var r=e.emitters.list,o=r.length;if(0!==o){var a=t._tempMatrix1.copyFrom(n.matrix),h=t._tempMatrix2,l=t._tempMatrix3,u=t._tempMatrix4.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY);a.multiply(u);var c=n.roundPixels,d=t.currentContext;d.save();for(var f=0;f0&&(N=N%b-b):N>b?N=b:N<0&&(N=b+N%b),null===E&&(E=new o(k+Math.cos(Y)*B,I+Math.sin(Y)*B,v),S.push(E),F+=.01);F<1+z;)w=N*F+Y,x=k+Math.cos(w)*B,T=I+Math.sin(w)*B,E.points.push(new r(x,T,v)),F+=.01;w=N+Y,x=k+Math.cos(w)*B,T=I+Math.sin(w)*B,E.points.push(new r(x,T,v));break;case n.FILL_RECT:u.setTexture2D(M),u.batchFillRect(p[++P],p[++P],p[++P],p[++P],f,c);break;case n.FILL_TRIANGLE:u.setTexture2D(M),u.batchFillTriangle(p[++P],p[++P],p[++P],p[++P],p[++P],p[++P],f,c);break;case n.STROKE_TRIANGLE:u.setTexture2D(M),u.batchStrokeTriangle(p[++P],p[++P],p[++P],p[++P],p[++P],p[++P],v,f,c);break;case n.LINE_TO:null!==E?E.points.push(new r(p[++P],p[++P],v)):(E=new o(p[++P],p[++P],v),S.push(E));break;case n.MOVE_TO:E=new o(p[++P],p[++P],v),S.push(E);break;case n.SAVE:a.push(f.copyToArray());break;case n.RESTORE:f.copyFromArray(a.pop());break;case n.TRANSLATE:k=p[++P],I=p[++P],f.translate(k,I);break;case n.SCALE:k=p[++P],I=p[++P],f.scale(k,I);break;case n.ROTATE:f.rotate(p[++P]);break;case n.SET_TEXTURE:var U=p[++P],G=p[++P];u.currentFrame=U,u.setTexture2D(U.glTexture,0),u.tintEffect=G,M=U.glTexture;break;case n.CLEAR_TEXTURE:u.currentFrame=t.blankTexture,u.tintEffect=2,M=t.blankTexture.glTexture}}}},function(t,e,i){var n=i(1),s=i(1);n=i(853),s=i(308),s=i(308),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e){},function(t,e){t.exports=function(t,e,i,n,s){var r=t.currentPipeline;t.clearPipeline();var o=t._tempMatrix1,a=t._tempMatrix2,h=t._tempMatrix3;a.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),o.copyFrom(n.matrix),s?(o.multiplyWithOffset(s,-n.scrollX*e.scrollFactorX,-n.scrollY*e.scrollFactorY),a.e=e.x,a.f=e.y,o.multiply(a,h)):(a.e-=n.scrollX*e.scrollFactorX,a.f-=n.scrollY*e.scrollFactorY,o.multiply(a,h)),e.render.call(e,t,n,h),t.rebindPipeline(r)}},function(t,e,i){var n=i(1),s=i(1);n=i(856),s=i(855),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r){var o=e.text,a=o.length,h=t.currentContext;if(0!==a&&n(t,h,e,s,r)){var l=e.frame,u=e.displayCallback,c=e.callbackData,d=s.scrollX*e.scrollFactorX,f=s.scrollY*e.scrollFactorY,p=e.fontData.chars,g=e.fontData.lineHeight,v=0,y=0,m=0,x=0,T=null,w=0,b=0,S=0,_=0,A=0,E=0,C=null,M=0,P=e.frame.source.image,O=l.cutX,R=l.cutY,L=0,D=e.fontSize/e.fontData.size;e.cropWidth>0&&e.cropHeight>0&&(h.beginPath(),h.rect(0,0,e.cropWidth,e.cropHeight),h.clip());for(var F=0;F0||e.cropHeight>0;l&&(h.flush(),t.pushScissor(e.x,e.y,e.cropWidth*e.scaleX,e.cropHeight*e.scaleY));var u=h._tempMatrix1,c=h._tempMatrix2,d=h._tempMatrix3,f=h._tempMatrix4;c.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),u.copyFrom(s.matrix),r?(u.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),c.e=e.x,c.f=e.y,u.multiply(c,d)):(c.e-=s.scrollX*e.scrollFactorX,c.f-=s.scrollY*e.scrollFactorY,u.multiply(c,d));var p=e.frame,g=p.glTexture,v=p.cutX,y=p.cutY,m=g.width,x=g.height,T=e._isTinted&&e.tintFill,w=n.getTintAppendFloatAlpha(e._tintTL,s.alpha*e._alphaTL),b=n.getTintAppendFloatAlpha(e._tintTR,s.alpha*e._alphaTR),S=n.getTintAppendFloatAlpha(e._tintBL,s.alpha*e._alphaBL),_=n.getTintAppendFloatAlpha(e._tintBR,s.alpha*e._alphaBR);h.setTexture2D(g,0);var A,E,C=0,M=0,P=0,O=0,R=e.letterSpacing,L=0,D=0,F=0,k=0,I=e.scrollX,B=e.scrollY,Y=e.fontData,N=Y.chars,X=Y.lineHeight,z=e.fontSize/Y.size,U=0,G=e._align,W=0,V=0;e.getTextBounds(!1);var H=e._bounds.lines;1===G?V=(H.longest-H.lengths[0])/2:2===G&&(V=H.longest-H.lengths[0]);for(var j=s.roundPixels,q=e.displayCallback,K=e.callbackData,J=0;Jv&&(r=v),o>y&&(o=y);var O=v+g.xAdvance,R=y+u;aA&&(A=C),C<_&&(_=C),E++,C=0;S[E]=C,C>A&&(A=C),C<_&&(_=C);var L=i.local,D=i.global,F=i.lines;return L.x=r*m,L.y=o*m,L.width=a*m,L.height=h*m,D.x=t.x-t.displayOriginX+r*x,D.y=t.y-t.displayOriginY+o*T,D.width=a*x,D.height=h*T,F.shortest=_,F.longest=A,F.lengths=S,e&&(L.x=Math.round(L.x),L.y=Math.round(L.y),L.width=Math.round(L.width),L.height=Math.round(L.height),D.x=Math.round(D.x),D.y=Math.round(D.y),D.width=Math.round(D.width),D.height=Math.round(D.height),F.shortest=Math.round(_),F.longest=Math.round(A)),i}},function(t,e,i){var n=i(0),s=i(17),r=i(16),o=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this._list=[],this._pendingInsertion=[],this._pendingRemoval=[],t.sys.events.once(r.BOOT,this.boot,this),t.sys.events.on(r.START,this.start,this)},boot:function(){this.systems.events.once(r.DESTROY,this.destroy,this)},start:function(){var t=this.systems.events;t.on(r.PRE_UPDATE,this.preUpdate,this),t.on(r.UPDATE,this.update,this),t.once(r.SHUTDOWN,this.shutdown,this)},add:function(t){return-1===this._list.indexOf(t)&&-1===this._pendingInsertion.indexOf(t)&&this._pendingInsertion.push(t),t},preUpdate:function(){var t=this._pendingRemoval.length,e=this._pendingInsertion.length;if(0!==t||0!==e){var i,n;for(i=0;i-1&&this._list.splice(s,1)}this._list=this._list.concat(this._pendingInsertion.splice(0)),this._pendingRemoval.length=0,this._pendingInsertion.length=0}},update:function(t,e){for(var i=0;i0&&(t.splice(i,1),t.unshift(e)),e}},function(t,e){t.exports=function(t,e,i){var n=t.indexOf(e),s=t.indexOf(i);return-1!==n&&-1===s&&(t[n]=i,!0)}},function(t,e,i){var n=i(97);t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=t.length);var s=e+Math.floor(Math.random()*i);return n(t,s)}},function(t,e,i){var n=i(68);t.exports=function(t,e,i,s,r){if(void 0===e&&(e=0),void 0===i&&(i=t.length),void 0===r&&(r=t),n(t,e,i)){var o=i-e,a=t.splice(e,o);if(s)for(var h=0;ht.length-1)throw new Error("Index out of bounds");var r=n(t,e);return i&&i.call(s,r),r}},function(t,e,i){var n=i(372);t.exports=function(t,e,i){void 0===t&&(t=0),void 0===e&&(e=null),void 0===i&&(i=1),null===e&&(e=t,t=0);for(var s=[],r=Math.max(n((e-t)/(i||1)),0),o=0;o=t.length)throw new Error("Supplied index out of bounds");return n!==i&&(t.splice(n,1),t.splice(i,0,e)),e}},function(t,e){t.exports=function(t,e){var i=t.indexOf(e);if(i>0){var n=t[i-1],s=t.indexOf(n);t[i]=n,t[s]=e}return t}},function(t,e,i){var n=i(68);t.exports=function(t,e,i,s,r){if(void 0===s&&(s=0),void 0===r&&(r=t.length),n(t,s,r))for(var o=s;o0){var o=n-t.length;if(o<=0)return null}if(!Array.isArray(e))return-1===t.indexOf(e)?(t.splice(i,0,e),s&&s.call(r,e),e):null;for(var a=e.length-1;a>=0;)-1!==t.indexOf(e[a])&&e.pop(),a--;if(0===(a=e.length))return null;n>0&&a>o&&(e.splice(o),a=o);for(var h=a-1;h>=0;h--){var l=e[h];t.splice(i,0,l),s&&s.call(r,l)}return e}},function(t,e){t.exports=function(t,e,i,n,s){if(void 0===s&&(s=t),i>0){var r=i-t.length;if(r<=0)return null}if(!Array.isArray(e))return-1===t.indexOf(e)?(t.push(e),n&&n.call(s,e),e):null;for(var o=e.length-1;o>=0;)-1!==t.indexOf(e[o])&&e.pop(),o--;if(0===(o=e.length))return null;i>0&&o>r&&(e.splice(r),o=r);for(var a=0;ax||a<-x)&&(a=0),a<0&&(a=x+a),-1!==h&&(x=a+(h+1));for(var E=l,C=l,M=0,P=e.sourceIndex,O=0;Og||c<-g)&&(c=0),c<0&&(c=g+c),-1!==d&&(g=c+(d+1));for(var v=f,y=f,m=0,x=0,T=0;Tr&&(m=w-r),b>o&&(x=b-o),t.add(T,e,i+v,s+y,h-m,l-x),(v+=h+p)+h>r&&(v=f,y+=l+p)}return t}},function(t,e,i){var n=i(70);t.exports=function(t,e,i){if(i.frames){var s=t.source[e];t.add("__BASE",e,0,0,s.width,s.height);var r,o=i.frames;for(var a in o){var h=o[a];r=t.add(a,e,h.frame.x,h.frame.y,h.frame.w,h.frame.h),h.trimmed&&r.setTrim(h.sourceSize.w,h.sourceSize.h,h.spriteSourceSize.x,h.spriteSourceSize.y,h.spriteSourceSize.w,h.spriteSourceSize.h),h.rotated&&(r.rotated=!0,r.updateUVsInverted()),r.customData=n(h)}for(var l in i)"frames"!==l&&(Array.isArray(i[l])?t.customData[l]=i[l].slice(0):t.customData[l]=i[l]);return t}console.warn("Invalid Texture Atlas JSON Hash given, missing 'frames' Object")}},function(t,e,i){var n=i(70);t.exports=function(t,e,i){if(i.frames||i.textures){var s=t.source[e];t.add("__BASE",e,0,0,s.width,s.height);for(var r,o=Array.isArray(i.textures)?i.textures[e].frames:i.frames,a=0;a-1){var o=this.context.getImageData(t,e,1,1);o.data[0]=i,o.data[1]=n,o.data[2]=s,o.data[3]=r,this.context.putImageData(o,t,e)}return this},putData:function(t,e,i){return e=Math.abs(Math.floor(e)),i=Math.abs(Math.floor(i)),this.context.putImageData(t,e,i),this},getData:function(t,e,i,n){return t=s(Math.floor(t),0,this.width-1),e=s(Math.floor(e),0,this.height-1),i=s(i,1,this.width-t),n=s(n,1,this.height-e),this.context.getImageData(t,e,i,n)},getPixel:function(t,e,i){i||(i=new r);var n=this.getIndex(t,e);if(n>-1){var s=this.data,o=s[n+0],a=s[n+1],h=s[n+2],l=s[n+3];i.setTo(o,a,h,l)}return i},getPixels:function(t,e,i,n){void 0===n&&(n=i),t=Math.abs(Math.round(t)),e=Math.abs(Math.round(e));for(var o=s(t,0,this.width),a=s(t+i,0,this.width),h=s(e,0,this.height),l=s(e+n,0,this.height),u=new r,c=[],d=h;d>16&255,g:t>>8&255,b:255&t,a:255};return t>16777215&&(e.a=t>>>24),e}},function(t,e){t.exports=function(t,e){void 0===e&&(e="none");return["-webkit-","-khtml-","-moz-","-ms-",""].forEach(function(i){t.style[i+"user-select"]=e}),t.style["-webkit-touch-callout"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t}},function(t,e){t.exports=function(t,e){return void 0===e&&(e="none"),t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t}},function(t,e,i){t.exports={CanvasInterpolation:i(366),CanvasPool:i(24),Smoothing:i(130),TouchAction:i(1007),UserSelect:i(1006)}},function(t,e){t.exports=function(t){return t.height*t.originY}},function(t,e){t.exports=function(t){return t.width*t.originX}},function(t,e,i){t.exports={CenterOn:i(444),GetBottom:i(51),GetCenterX:i(81),GetCenterY:i(78),GetLeft:i(49),GetOffsetX:i(1010),GetOffsetY:i(1009),GetRight:i(47),GetTop:i(45),SetBottom:i(50),SetCenterX:i(80),SetCenterY:i(79),SetLeft:i(48),SetRight:i(46),SetTop:i(44)}},function(t,e,i){var n=i(47),s=i(45),r=i(50),o=i(46);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,n(e)+i),r(t,s(e)-a),t}},function(t,e,i){var n=i(49),s=i(45),r=i(50),o=i(48);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,n(e)-i),r(t,s(e)-a),t}},function(t,e,i){var n=i(81),s=i(45),r=i(50),o=i(80);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,n(e)+i),r(t,s(e)-a),t}},function(t,e,i){var n=i(47),s=i(45),r=i(48),o=i(44);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,n(e)+i),o(t,s(e)-a),t}},function(t,e,i){var n=i(78),s=i(47),r=i(79),o=i(48);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)+i),r(t,n(e)+a),t}},function(t,e,i){var n=i(51),s=i(47),r=i(50),o=i(48);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)+i),r(t,n(e)+a),t}},function(t,e,i){var n=i(49),s=i(45),r=i(46),o=i(44);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,n(e)-i),o(t,s(e)-a),t}},function(t,e,i){var n=i(78),s=i(49),r=i(79),o=i(46);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)-i),r(t,n(e)+a),t}},function(t,e,i){var n=i(51),s=i(49),r=i(50),o=i(46);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)-i),r(t,n(e)+a),t}},function(t,e,i){var n=i(51),s=i(47),r=i(46),o=i(44);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,s(e)+i),o(t,n(e)+a),t}},function(t,e,i){var n=i(51),s=i(49),r=i(48),o=i(44);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,s(e)-i),o(t,n(e)+a),t}},function(t,e,i){var n=i(51),s=i(81),r=i(80),o=i(44);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,s(e)+i),o(t,n(e)+a),t}},function(t,e,i){t.exports={BottomCenter:i(1023),BottomLeft:i(1022),BottomRight:i(1021),LeftBottom:i(1020),LeftCenter:i(1019),LeftTop:i(1018),RightBottom:i(1017),RightCenter:i(1016),RightTop:i(1015),TopCenter:i(1014),TopLeft:i(1013),TopRight:i(1012)}},function(t,e,i){t.exports={BottomCenter:i(448),BottomLeft:i(447),BottomRight:i(446),Center:i(445),LeftCenter:i(443),QuickSet:i(449),RightCenter:i(442),TopCenter:i(441),TopLeft:i(440),TopRight:i(439)}},function(t,e,i){var n=i(208),s=i(19),r={In:i(1025),To:i(1024)};r=s(!1,r,n),t.exports=r},function(t,e,i){t.exports={Align:i(1026),Bounds:i(1011),Canvas:i(1008),Color:i(354),Masks:i(999)}},function(t,e,i){var n=i(0),s=i(134),r=i(17),o=i(16),a=new n({Extends:s,initialize:function(t){s.call(this,t,t.sys.events),this.scene=t,this.systems=t.sys,t.sys.events.once(o.BOOT,this.boot,this),t.sys.events.on(o.START,this.start,this)},boot:function(){this.events=this.systems.events,this.events.once(o.DESTROY,this.destroy,this)},start:function(){this.events.once(o.SHUTDOWN,this.shutdown,this)},shutdown:function(){this.systems.events.off(o.SHUTDOWN,this.shutdown,this)},destroy:function(){s.prototype.destroy.call(this),this.events.off(o.START,this.start,this),this.scene=null,this.systems=null}});r.register("DataManagerPlugin",a,"data"),t.exports=a},function(t,e,i){t.exports={DataManager:i(134),DataManagerPlugin:i(1028),Events:i(420)}},function(t,e,i){var n=i(0),s=i(3),r=new n({initialize:function(t,e){this.active=!1,this.p0=new s(t,e)},getPoint:function(t,e){return void 0===e&&(e=new s),e.copy(this.p0)},getPointAt:function(t,e){return this.getPoint(t,e)},getResolution:function(){return 1},getLength:function(){return 0},toJSON:function(){return{type:"MoveTo",points:[this.p0.x,this.p0.y]}}});t.exports=r},function(t,e,i){var n=i(0),s=i(359),r=i(358),o=i(5),a=i(357),h=i(1030),l=i(356),u=i(10),c=i(355),d=i(3),f=new n({initialize:function(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.name="",this.curves=[],this.cacheLengths=[],this.autoClose=!1,this.startPoint=new d,this._tmpVec2A=new d,this._tmpVec2B=new d,"object"==typeof t?this.fromJSON(t):this.startPoint.set(t,e)},add:function(t){return this.curves.push(t),this},circleTo:function(t,e,i){return void 0===e&&(e=!1),this.ellipseTo(t,t,0,360,e,i)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);return t.equals(e)||this.curves.push(new a(e,t)),this},cubicBezierTo:function(t,e,i,n,r,o){var a,h,l,u=this.getEndPoint();return t instanceof d?(a=t,h=e,l=i):(a=new d(i,n),h=new d(r,o),l=new d(t,e)),this.add(new s(u,a,h,l))},quadraticBezierTo:function(t,e,i,n){var s,r,o=this.getEndPoint();return t instanceof d?(s=t,r=e):(s=new d(i,n),r=new d(t,e)),this.add(new l(o,s,r))},draw:function(t,e){for(var i=0;i0?this.curves[this.curves.length-1].getPoint(1,t):t.copy(this.startPoint),t},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},getPoint:function(t,e){void 0===e&&(e=new d);for(var i=t*this.getLength(),n=this.getCurveLengths(),s=0;s=i){var r=n[s]-i,o=this.curves[s],a=o.getLength(),h=0===a?0:1-r/a;return o.getPointAt(h,e)}s++}return null},getPoints:function(t){void 0===t&&(t=12);for(var e,i=[],n=0;n1&&!i[i.length-1].equals(i[0])&&i.push(i[0]),i},getRandomPoint:function(t){return void 0===t&&(t=new d),this.getPoint(Math.random(),t)},getSpacedPoints:function(t){void 0===t&&(t=40);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e},getStartPoint:function(t){return void 0===t&&(t=new d),t.copy(this.startPoint)},lineTo:function(t,e){t instanceof d?this._tmpVec2B.copy(t):this._tmpVec2B.set(t,e);var i=this.getEndPoint(this._tmpVec2A);return this.add(new a([i.x,i.y,this._tmpVec2B.x,this._tmpVec2B.y]))},splineTo:function(t){return t.unshift(this.getEndPoint()),this.add(new c(t))},moveTo:function(t,e){return this.add(new h(t,e))},toJSON:function(){for(var t=[],e=0;e0&&(s=1/Math.sqrt(s),this.x=t*s,this.y=e*s,this.z=i*s,this.w=n*s),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,n=this.y,s=this.z,r=this.w;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this.z=s+e*(t.z-s),this.w=r+e*(t.w-r),this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z||1,this.w*=t.w||1,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z||1,this.w/=t.w||1,this},distance:function(t){var e=t.x-this.x,i=t.y-this.y,n=t.z-this.z||0,s=t.w-this.w||0;return Math.sqrt(e*e+i*i+n*n+s*s)},distanceSq:function(t){var e=t.x-this.x,i=t.y-this.y,n=t.z-this.z||0,s=t.w-this.w||0;return e*e+i*i+n*n+s*s},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},transformMat4:function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.val;return this.x=r[0]*e+r[4]*i+r[8]*n+r[12]*s,this.y=r[1]*e+r[5]*i+r[9]*n+r[13]*s,this.z=r[2]*e+r[6]*i+r[10]*n+r[14]*s,this.w=r[3]*e+r[7]*i+r[11]*n+r[15]*s,this},transformQuat:function(t){var e=this.x,i=this.y,n=this.z,s=t.x,r=t.y,o=t.z,a=t.w,h=a*e+r*n-o*i,l=a*i+o*e-s*n,u=a*n+s*i-r*e,c=-s*e-r*i-o*n;return this.x=h*a+c*-s+l*-o-u*-r,this.y=l*a+c*-r+u*-s-h*-o,this.z=u*a+c*-o+h*-r-l*-s,this},reset:function(){return this.x=0,this.y=0,this.z=0,this.w=0,this}});n.prototype.sub=n.prototype.subtract,n.prototype.mul=n.prototype.multiply,n.prototype.div=n.prototype.divide,n.prototype.dist=n.prototype.distance,n.prototype.distSq=n.prototype.distanceSq,n.prototype.len=n.prototype.length,n.prototype.lenSq=n.prototype.lengthSq,t.exports=n},function(t,e){t.exports=function(t,e,i){return Math.abs(t-e)<=i}},function(t,e){t.exports=function(t,e,i,n){void 0===e&&(e=1),void 0===i&&(i=1),void 0===n&&(n=1),n*=Math.PI/t;for(var s=[],r=[],o=0;o1?void 0!==n?(s=(n-t)/(n-i))<0&&(s=0):s=1:s<0&&(s=0),s}},function(t,e){t.exports=function(t,e,i){return Math.max(t-e,i)}},function(t,e){t.exports=function(t,e,i){return Math.min(t+e,i)}},function(t,e){t.exports=function(t){return t===parseFloat(t)?!(t%2):void 0}},function(t,e){t.exports=function(t){return t==parseFloat(t)?!(t%2):void 0}},function(t,e){t.exports=function(t,e){return t/e/1e3}},function(t,e){t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var n=Math.pow(i,-e);return Math.floor(t*n)/n}},function(t,e){t.exports=function(t,e){return Math.abs(t-e)}},function(t,e){t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var n=Math.pow(i,-e);return Math.ceil(t*n)/n}},function(t,e){t.exports=function(t){for(var e=0,i=0;i>>0,i=(e*=i)>>>0,i+=4294967296*(e-=i);return this.n=i,2.3283064365386963e-10*(i>>>0)},init:function(t){"string"==typeof t?this.state(t):this.sow(t)},sow:function(t){if(this.n=4022871197,this.s0=this.hash(" "),this.s1=this.hash(" "),this.s2=this.hash(" "),this.c=1,t)for(var e=0;e0;e--){var i=Math.floor(this.frac()*(e+1)),n=t[i];t[i]=t[e],t[e]=n}return t}});t.exports=n},function(t,e){t.exports=function(t,e,i,n){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.round(t/e),n?(i+t)/e:i+t)}},function(t,e,i){t.exports={Ceil:i(375),Floor:i(98),To:i(1069)}},function(t,e){t.exports=function(t){return t>0&&0==(t&t-1)}},function(t,e,i){t.exports={GetNext:i(376),IsSize:i(127),IsValue:i(1071)}},function(t,e,i){var n=i(196);t.exports=function(t,e,i){return e+(i-e)*n(t,0,1)}},function(t,e,i){var n=i(129);t.exports=function(t,e){var i=t.length-1,s=i*e,r=Math.floor(s);return e<0?n(t[0],t[1],s):e>1?n(t[i],t[i-1],i-s):n(t[r],t[r+1>i?i:r+1],s-r)}},function(t,e,i){var n=i(185);t.exports=function(t,e){var i=t.length-1,s=i*e,r=Math.floor(s);return t[0]===t[i]?(e<0&&(r=Math.floor(s=i*(1+e))),n(s-r,t[(r-1+i)%i],t[r],t[(r+1)%i],t[(r+2)%i])):e<0?t[0]-(n(-s,t[0],t[0],t[1],t[1])-t[0]):e>1?t[i]-(n(s-i,t[i],t[i],t[i-1],t[i-1])-t[i]):n(s-r,t[r?r-1:0],t[r],t[i=n.PI2-i?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=i:e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var i=parseInt(RegExp.$1,10),r=parseInt(RegExp.$2,10);(10===i&&r>=11||i>10)&&(s.dolby=!0)}}catch(t){}return s}()},function(t,e,i){var n=i(99),s=i(128),r={gamepads:!1,mspointer:!1,touch:!1,wheelEvent:null};t.exports=(("ontouchstart"in document.documentElement||navigator.maxTouchPoints&&navigator.maxTouchPoints>=1)&&(r.touch=!0),(navigator.msPointerEnabled||navigator.pointerEnabled)&&(r.mspointer=!0),navigator.getGamepads&&(r.gamepads=!0),n.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?r.wheelEvent="wheel":"onmousewheel"in window?r.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(r.wheelEvent="DOMMouseScroll")),r)},function(t,e){var i,n,s=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(t){if(i===setTimeout)return setTimeout(t,0);if((i===r||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(e){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:r}catch(t){i=r}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var h,l=[],u=!1,c=-1;function d(){u&&h&&(u=!1,h.length?l=h.concat(l):c=-1,l.length&&f())}function f(){if(!u){var t=a(d);u=!0;for(var e=l.length;e;){for(h=l,l=[];++c1)for(var i=1;i0&&(o.preRender(1),t.render(n,e,i,o))}},resetAll:function(){for(var t=0;t=1?1:1/e*(1+(e*t|0))}},function(t,e){t.exports=function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},function(t,e){t.exports=function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)}},function(t,e){t.exports=function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},function(t,e){t.exports=function(t){return--t*t*t*t*t+1}},function(t,e){t.exports=function(t){return t*t*t*t*t}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},function(t,e){t.exports=function(t){return 1- --t*t*t*t}},function(t,e){t.exports=function(t){return t*t*t*t}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},function(t,e){t.exports=function(t){return t*(2-t)}},function(t,e){t.exports=function(t){return t*t}},function(t,e){t.exports=function(t){return t}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))}},function(t,e){t.exports=function(t){return 1-Math.pow(2,-10*t)}},function(t,e){t.exports=function(t){return Math.pow(2,10*(t-1))-.001}},function(t,e){t.exports=function(t,e,i){if(void 0===e&&(e=.1),void 0===i&&(i=.1),0===t)return 0;if(1===t)return 1;var n=i/4;return e<1?e=1:n=i*Math.asin(1/e)/(2*Math.PI),(t*=2)<1?e*Math.pow(2,10*(t-=1))*Math.sin((t-n)*(2*Math.PI)/i)*-.5:e*Math.pow(2,-10*(t-=1))*Math.sin((t-n)*(2*Math.PI)/i)*.5+1}},function(t,e){t.exports=function(t,e,i){if(void 0===e&&(e=.1),void 0===i&&(i=.1),0===t)return 0;if(1===t)return 1;var n=i/4;return e<1?e=1:n=i*Math.asin(1/e)/(2*Math.PI),e*Math.pow(2,-10*t)*Math.sin((t-n)*(2*Math.PI)/i)+1}},function(t,e){t.exports=function(t,e,i){if(void 0===e&&(e=.1),void 0===i&&(i=.1),0===t)return 0;if(1===t)return 1;var n=i/4;return e<1?e=1:n=i*Math.asin(1/e)/(2*Math.PI),-e*Math.pow(2,10*(t-=1))*Math.sin((t-n)*(2*Math.PI)/i)}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},function(t,e){t.exports=function(t){return--t*t*t+1}},function(t,e){t.exports=function(t){return t*t*t}},function(t,e){t.exports=function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},function(t,e){t.exports=function(t){return Math.sqrt(1- --t*t)}},function(t,e){t.exports=function(t){return 1-Math.sqrt(1-t*t)}},function(t,e){t.exports=function(t){var e=!1;return t<.5?(t=1-2*t,e=!0):t=2*t-1,t<1/2.75?t*=7.5625*t:t=t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5}},function(t,e){t.exports=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}},function(t,e){t.exports=function(t){return(t=1-t)<1/2.75?1-7.5625*t*t:t<2/2.75?1-(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}},function(t,e){t.exports=function(t,e){void 0===e&&(e=1.70158);var i=1.525*e;return(t*=2)<1?t*t*((i+1)*t-i)*.5:.5*((t-=2)*t*((i+1)*t+i)+2)}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=1.70158),--t*t*((e+1)*t+e)+1}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=1.70158),t*t*((e+1)*t-e)}},function(t,e,i){var n=i(23),s=i(0),r=i(188),o=i(40),a=i(3),h=new s({initialize:function(t){this.camera=t,this.isRunning=!1,this.duration=0,this.source=new a,this.current=new a,this.destination=new a,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(t,e,i,n,s,a,h){void 0===i&&(i=1e3),void 0===n&&(n=r.Linear),void 0===s&&(s=!1),void 0===a&&(a=null),void 0===h&&(h=this.camera.scene);var l=this.camera;return!s&&this.isRunning?l:(this.isRunning=!0,this.duration=i,this.progress=0,this.source.set(l.scrollX,l.scrollY),this.destination.set(t,e),l.getScroll(t,e,this.current),"string"==typeof n&&r.hasOwnProperty(n)?this.ease=r[n]:"function"==typeof n&&(this.ease=n),this._elapsed=0,this._onUpdate=a,this._onUpdateScope=h,this.camera.emit(o.PAN_START,this.camera,this,i,t,e),l)},update:function(t,e){if(this.isRunning){this._elapsed+=e;var i=n(this._elapsed/this.duration,0,1);this.progress=i;var s=this.camera;if(this._elapsed0?(this._speedX-=this.dragX*t,this._speedX<0&&(this._speedX=0)):this._speedX<0&&(this._speedX+=this.dragX*t,this._speedX>0&&(this._speedX=0)),this._speedY>0?(this._speedY-=this.dragY*t,this._speedY<0&&(this._speedY=0)):this._speedY<0&&(this._speedY+=this.dragY*t,this._speedY>0&&(this._speedY=0)),this.up&&this.up.isDown?(this._speedY+=this.accelY,this._speedY>this.maxSpeedY&&(this._speedY=this.maxSpeedY)):this.down&&this.down.isDown&&(this._speedY-=this.accelY,this._speedY<-this.maxSpeedY&&(this._speedY=-this.maxSpeedY)),this.left&&this.left.isDown?(this._speedX+=this.accelX,this._speedX>this.maxSpeedX&&(this._speedX=this.maxSpeedX)):this.right&&this.right.isDown&&(this._speedX-=this.accelX,this._speedX<-this.maxSpeedX&&(this._speedX=-this.maxSpeedX)),this.zoomIn&&this.zoomIn.isDown?this._zoom=-this.zoomSpeed:this.zoomOut&&this.zoomOut.isDown?this._zoom=this.zoomSpeed:this._zoom=0,0!==this._speedX&&(e.scrollX-=this._speedX*t|0),0!==this._speedY&&(e.scrollY-=this._speedY*t|0),0!==this._zoom&&(e.zoom+=this._zoom,e.zoom<.1&&(e.zoom=.1))}},destroy:function(){this.camera=null,this.left=null,this.right=null,this.up=null,this.down=null,this.zoomIn=null,this.zoomOut=null}});t.exports=r},function(t,e,i){var n=i(0),s=i(4),r=new n({initialize:function(t){this.camera=s(t,"camera",null),this.left=s(t,"left",null),this.right=s(t,"right",null),this.up=s(t,"up",null),this.down=s(t,"down",null),this.zoomIn=s(t,"zoomIn",null),this.zoomOut=s(t,"zoomOut",null),this.zoomSpeed=s(t,"zoomSpeed",.01),this.speedX=0,this.speedY=0;var e=s(t,"speed",null);"number"==typeof e?(this.speedX=e,this.speedY=e):(this.speedX=s(t,"speed.x",0),this.speedY=s(t,"speed.y",0)),this._zoom=0,this.active=null!==this.camera},start:function(){return this.active=null!==this.camera,this},stop:function(){return this.active=!1,this},setCamera:function(t){return this.camera=t,this},update:function(t){if(this.active){void 0===t&&(t=1);var e=this.camera;this.up&&this.up.isDown?e.scrollY-=this.speedY*t|0:this.down&&this.down.isDown&&(e.scrollY+=this.speedY*t|0),this.left&&this.left.isDown?e.scrollX-=this.speedX*t|0:this.right&&this.right.isDown&&(e.scrollX+=this.speedX*t|0),this.zoomIn&&this.zoomIn.isDown?(e.zoom-=this.zoomSpeed,e.zoom<.1&&(e.zoom=.1)):this.zoomOut&&this.zoomOut.isDown&&(e.zoom+=this.zoomSpeed)}},destroy:function(){this.camera=null,this.left=null,this.right=null,this.up=null,this.down=null,this.zoomIn=null,this.zoomOut=null}});t.exports=r},function(t,e,i){t.exports={FixedKeyControl:i(1171),SmoothedKeyControl:i(1170)}},function(t,e,i){t.exports={Controls:i(1172),Scene2D:i(1169)}},function(t,e){t.exports="remove"},function(t,e){t.exports="add"},function(t,e,i){t.exports={BaseCache:i(414),CacheManager:i(412),Events:i(413)}},function(t,e){t.exports="visible"},function(t,e){t.exports="step"},function(t,e){t.exports="resume"},function(t,e){t.exports="ready"},function(t,e){t.exports="prestep"},function(t,e){t.exports="prerender"},function(t,e){t.exports="poststep"},function(t,e){t.exports="postrender"},function(t,e){t.exports="pause"},function(t,e){t.exports="hidden"},function(t,e){t.exports="focus"},function(t,e){t.exports="destroy"},function(t,e){t.exports="boot"},function(t,e){t.exports="blur"},function(t,e,i){t.exports={Animation:i(205),AnimationFrame:i(433),AnimationManager:i(415),Events:i(136)}},function(t,e,i){var n=i(57);t.exports=function(t,e,i){void 0===i&&(i=0);for(var s=0;s1)if(0===s){var d=t.length-1;for(o=t[d].x,a=t[d].y,h=d-1;h>=0;h--)l=(c=t[h]).x,u=c.y,c.x=o,c.y=a,o=l,a=u;t[d].x=e,t[d].y=i}else{for(o=t[0].x,a=t[0].y,h=1;h0?s(o,i):i<0&&r(o,Math.abs(i));for(var a=0;a>16)+(65280&t)+((255&t)<<16)},n={_tintTL:16777215,_tintTR:16777215,_tintBL:16777215,_tintBR:16777215,_isTinted:!1,tintFill:!1,clearTint:function(){return this.setTint(16777215),this._isTinted=!1,this},setTint:function(t,e,n,s){return void 0===t&&(t=16777215),void 0===e&&(e=t,n=t,s=t),this._tintTL=i(t),this._tintTR=i(e),this._tintBL=i(n),this._tintBR=i(s),this._isTinted=!0,this.tintFill=!1,this},setTintFill:function(t,e,i,n){return this.setTint(t,e,i,n),this.tintFill=!0,this},tintTopLeft:{get:function(){return this._tintTL},set:function(t){this._tintTL=i(t),this._isTinted=!0}},tintTopRight:{get:function(){return this._tintTR},set:function(t){this._tintTR=i(t),this._isTinted=!0}},tintBottomLeft:{get:function(){return this._tintBL},set:function(t){this._tintBL=i(t),this._isTinted=!0}},tintBottomRight:{get:function(){return this._tintBR},set:function(t){this._tintBR=i(t),this._isTinted=!0}},tint:{set:function(t){this.setTint(t,t,t,t)}},isTinted:{get:function(){return this._isTinted}}};t.exports=n},function(t,e){var i={texture:null,frame:null,isCropped:!1,setCrop:function(t,e,i,n){if(void 0===t)this.isCropped=!1;else if(this.frame){if("number"==typeof t)this.frame.setCropUVs(this._crop,t,e,i,n,this.flipX,this.flipY);else{var s=t;this.frame.setCropUVs(this._crop,s.x,s.y,s.width,s.height,this.flipX,this.flipY)}this.isCropped=!0}return this},setTexture:function(t,e){return this.texture=this.scene.sys.textures.get(t),this.setFrame(e)},setFrame:function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=!0),this.frame=this.texture.get(t),this.frame.cutWidth&&this.frame.cutHeight?this.renderFlags|=8:this.renderFlags&=-9,this._sizeComponent&&e&&this.setSizeToFrame(),this._originComponent&&i&&(this.frame.customPivot?this.setOrigin(this.frame.pivotX,this.frame.pivotY):this.updateDisplayOrigin()),this.isCropped&&this.frame.updateCropUVs(this._crop,this.flipX,this.flipY),this},resetCropObject:function(){return{u0:0,v0:0,u1:0,v1:0,width:0,height:0,x:0,y:0,flipX:!1,flipY:!1,cx:0,cy:0,cw:0,ch:0}}};t.exports=i},function(t,e){var i={texture:null,frame:null,isCropped:!1,setTexture:function(t,e){return this.texture=this.scene.sys.textures.get(t),this.setFrame(e)},setFrame:function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=!0),this.frame=this.texture.get(t),this.frame.cutWidth&&this.frame.cutHeight?this.renderFlags|=8:this.renderFlags&=-9,this._sizeComponent&&e&&this.setSizeToFrame(),this._originComponent&&i&&(this.frame.customPivot?this.setOrigin(this.frame.pivotX,this.frame.pivotY):this.updateDisplayOrigin()),this}};t.exports=i},function(t,e){var i={_sizeComponent:!0,width:0,height:0,displayWidth:{get:function(){return this.scaleX*this.frame.realWidth},set:function(t){this.scaleX=t/this.frame.realWidth}},displayHeight:{get:function(){return this.scaleY*this.frame.realHeight},set:function(t){this.scaleY=t/this.frame.realHeight}},setSizeToFrame:function(t){return void 0===t&&(t=this.frame),this.width=t.realWidth,this.height=t.realHeight,this},setSize:function(t,e){return this.width=t,this.height=e,this},setDisplaySize:function(t,e){return this.displayWidth=t,this.displayHeight=e,this}};t.exports=i},function(t,e,i){var n=i(101),s={_scaleMode:n.DEFAULT,scaleMode:{get:function(){return this._scaleMode},set:function(t){t!==n.LINEAR&&t!==n.NEAREST||(this._scaleMode=t)}},setScaleMode:function(t){return this.scaleMode=t,this}};t.exports=s},function(t,e){var i={_originComponent:!0,originX:.5,originY:.5,_displayOriginX:0,_displayOriginY:0,displayOriginX:{get:function(){return this._displayOriginX},set:function(t){this._displayOriginX=t,this.originX=t/this.width}},displayOriginY:{get:function(){return this._displayOriginY},set:function(t){this._displayOriginY=t,this.originY=t/this.height}},setOrigin:function(t,e){return void 0===t&&(t=.5),void 0===e&&(e=t),this.originX=t,this.originY=e,this.updateDisplayOrigin()},setOriginFromFrame:function(){return this.frame&&this.frame.customPivot?(this.originX=this.frame.pivotX,this.originY=this.frame.pivotY,this.updateDisplayOrigin()):this.setOrigin()},setDisplayOrigin:function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this.displayOriginX=t,this.displayOriginY=e,this},updateDisplayOrigin:function(){return this._displayOriginX=Math.round(this.originX*this.width),this._displayOriginY=Math.round(this.originY*this.height),this}};t.exports=i},function(t,e,i){var n=i(10),s=i(428),r=i(3),o={getCenter:function(t){return void 0===t&&(t=new r),t.x=this.x-this.displayWidth*this.originX+this.displayWidth/2,t.y=this.y-this.displayHeight*this.originY+this.displayHeight/2,t},getTopLeft:function(t,e){(t||(t=new r),void 0===e&&(e=!1),t.x=this.x-this.displayWidth*this.originX,t.y=this.y-this.displayHeight*this.originY,0!==this.rotation&&s(t,this.x,this.y,this.rotation),e&&this.parentContainer)&&this.parentContainer.getBoundsTransformMatrix().transformPoint(t.x,t.y,t);return t},getTopRight:function(t,e){(t||(t=new r),void 0===e&&(e=!1),t.x=this.x-this.displayWidth*this.originX+this.displayWidth,t.y=this.y-this.displayHeight*this.originY,0!==this.rotation&&s(t,this.x,this.y,this.rotation),e&&this.parentContainer)&&this.parentContainer.getBoundsTransformMatrix().transformPoint(t.x,t.y,t);return t},getBottomLeft:function(t,e){(t||(t=new r),void 0===e&&(e=!1),t.x=this.x-this.displayWidth*this.originX,t.y=this.y-this.displayHeight*this.originY+this.displayHeight,0!==this.rotation&&s(t,this.x,this.y,this.rotation),e&&this.parentContainer)&&this.parentContainer.getBoundsTransformMatrix().transformPoint(t.x,t.y,t);return t},getBottomRight:function(t,e){(t||(t=new r),void 0===e&&(e=!1),t.x=this.x-this.displayWidth*this.originX+this.displayWidth,t.y=this.y-this.displayHeight*this.originY+this.displayHeight,0!==this.rotation&&s(t,this.x,this.y,this.rotation),e&&this.parentContainer)&&this.parentContainer.getBoundsTransformMatrix().transformPoint(t.x,t.y,t);return t},getBounds:function(t){var e,i,s,r,o,a,h,l;if(void 0===t&&(t=new n),this.parentContainer){var u=this.parentContainer.getBoundsTransformMatrix();this.getTopLeft(t),u.transformPoint(t.x,t.y,t),e=t.x,i=t.y,this.getTopRight(t),u.transformPoint(t.x,t.y,t),s=t.x,r=t.y,this.getBottomLeft(t),u.transformPoint(t.x,t.y,t),o=t.x,a=t.y,this.getBottomRight(t),u.transformPoint(t.x,t.y,t),h=t.x,l=t.y}else this.getTopLeft(t),e=t.x,i=t.y,this.getTopRight(t),s=t.x,r=t.y,this.getBottomLeft(t),o=t.x,a=t.y,this.getBottomRight(t),h=t.x,l=t.y;return t.x=Math.min(e,s,o,h),t.y=Math.min(i,r,a,l),t.width=Math.max(e,s,o,h)-t.x,t.height=Math.max(i,r,a,l)-t.y,t}};t.exports=o},function(t,e){t.exports={flipX:!1,flipY:!1,toggleFlipX:function(){return this.flipX=!this.flipX,this},toggleFlipY:function(){return this.flipY=!this.flipY,this},setFlipX:function(t){return this.flipX=t,this},setFlipY:function(t){return this.flipY=t,this},setFlip:function(t,e){return this.flipX=t,this.flipY=e,this},resetFlip:function(){return this.flipX=!1,this.flipY=!1,this}}},function(t,e){var i={texture:null,frame:null,isCropped:!1,setCrop:function(t,e,i,n){if(void 0===t)this.isCropped=!1;else if(this.frame){if("number"==typeof t)this.frame.setCropUVs(this._crop,t,e,i,n,this.flipX,this.flipY);else{var s=t;this.frame.setCropUVs(this._crop,s.x,s.y,s.width,s.height,this.flipX,this.flipY)}this.isCropped=!0}return this},resetCropObject:function(){return{u0:0,v0:0,u1:0,v1:0,width:0,height:0,x:0,y:0,flipX:!1,flipY:!1,cx:0,cy:0,cw:0,ch:0}}};t.exports=i},function(t,e){t.exports={width:0,height:0,displayWidth:{get:function(){return this.scaleX*this.width},set:function(t){this.scaleX=t/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(t){this.scaleY=t/this.height}},setSize:function(t,e){return this.width=t,this.height=e,this},setDisplaySize:function(t,e){return this.displayWidth=t,this.displayHeight=e,this}}},function(t,e){t.exports="animationupdate"},function(t,e){t.exports="animationstart"},function(t,e){t.exports="animationrestart"},function(t,e){t.exports="animationrepeat"},function(t,e){t.exports="animationupdate-"},function(t,e){t.exports="animationstart-"},function(t,e){t.exports="animationrestart-"},function(t,e){t.exports="animationrepeat-"},function(t,e){t.exports="animationcomplete-"},function(t,e){t.exports="animationcomplete"},function(t,e){t.exports="resumeall"},function(t,e){t.exports="remove"},function(t,e){t.exports="pauseall"},function(t,e){t.exports="start"},function(t,e){t.exports="restart"},function(t,e){t.exports="repeat"},function(t,e){t.exports="complete"},function(t,e){t.exports="add"},function(t,e,i){var n=i(449),s=i(208),r=i(2),o=i(1),a=new(i(137))({sys:{queueDepthSort:o,events:{once:o}}},0,0,1,1);t.exports=function(t,e){void 0===e&&(e={});var i=r(e,"width",-1),o=r(e,"height",-1),h=r(e,"cellWidth",1),l=r(e,"cellHeight",h),u=r(e,"position",s.TOP_LEFT),c=r(e,"x",0),d=r(e,"y",0),f=0,p=0,g=i*h,v=o*l;a.setPosition(c,d),a.setSize(h,l);for(var y=0;y>>0;if("function"!=typeof t)throw new TypeError;for(var n=arguments.length>=2?arguments[1]:void 0,s=0;s0&&(i=s[0].bodyA,n=s[0].bodyB),t.emit(l.COLLISION_START,e,i,n)}),f.on(e,"collisionActive",function(e){var i,n,s=e.pairs;s.length>0&&(i=s[0].bodyA,n=s[0].bodyB),t.emit(l.COLLISION_ACTIVE,e,i,n)}),f.on(e,"collisionEnd",function(e){var i,n,s=e.pairs;s.length>0&&(i=s[0].bodyA,n=s[0].bodyB),t.emit(l.COLLISION_END,e,i,n)})},setBounds:function(t,e,i,n,s,r,o,a,h){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.scene.sys.scale.width),void 0===n&&(n=this.scene.sys.scale.height),void 0===s&&(s=128),void 0===r&&(r=!0),void 0===o&&(o=!0),void 0===a&&(a=!0),void 0===h&&(h=!0),this.updateWall(r,"left",t-s,e,s,n),this.updateWall(o,"right",t+i,e,s,n),this.updateWall(a,"top",t,e-s,i,s),this.updateWall(h,"bottom",t,e+n,i,s),this},updateWall:function(t,e,i,n,s,r){var o=this.walls[e];t?(o&&g.remove(this.localWorld,o),i+=s/2,n+=r/2,this.walls[e]=this.create(i,n,s,r,{isStatic:!0,friction:0,frictionStatic:0})):(o&&g.remove(this.localWorld,o),this.walls[e]=null)},createDebugGraphic:function(){var t=this.scene.sys.add.graphics({x:0,y:0});return t.setDepth(Number.MAX_VALUE),this.debugGraphic=t,this.drawDebug=!0,t},disableGravity:function(){return this.localWorld.gravity.x=0,this.localWorld.gravity.y=0,this.localWorld.gravity.scale=0,this},setGravity:function(t,e,i){return void 0===t&&(t=0),void 0===e&&(e=1),this.localWorld.gravity.x=t,this.localWorld.gravity.y=e,void 0!==i&&(this.localWorld.gravity.scale=i),this},create:function(t,e,i,s,r){var o=n.rectangle(t,e,i,s,r);return g.add(this.localWorld,o),o},add:function(t){return g.add(this.localWorld,t),this},remove:function(t,e){var i=t.body?t.body:t;return o.removeBody(this.localWorld,i,e),this},removeConstraint:function(t,e){return o.remove(this.localWorld,t,e),this},convertTilemapLayer:function(t,e){var i=t.layer,n=t.getTilesWithin(0,0,i.width,i.height,{isColliding:!0});return this.convertTiles(n,e),this},convertTiles:function(t,e){if(0===t.length)return this;for(var i=0;i1?1:0;r1?1:0;s0&&u.trigger(t,"collisionStart",{pairs:T.collisionStart}),o.preSolvePosition(T.list),s=0;s0&&u.trigger(t,"collisionActive",{pairs:T.collisionActive}),T.collisionEnd.length>0&&u.trigger(t,"collisionEnd",{pairs:T.collisionEnd}),h.update(t.metrics,t),n._bodiesClearForces(y),u.trigger(t,"afterUpdate",v),t},n.merge=function(t,e){if(f.extend(t,e),e.world){t.world=e.world,n.clear(t);for(var i=c.allBodies(t.world),s=0;sf.friction*f.frictionStatic*F*i&&(I=R,k=o.clamp(f.friction*L*i,-I,I));var B=r.cross(_,y),Y=r.cross(A,y),N=T/(g.inverseMass+v.inverseMass+g.inverseInertia*B*B+v.inverseInertia*Y*Y);if(D*=N,k*=N,P<0&&P*P>n._restingThresh*i)b.normalImpulse=0;else{var X=b.normalImpulse;b.normalImpulse=Math.min(b.normalImpulse+D,0),D=b.normalImpulse-X}if(O*O>n._restingThreshTangent*i)b.tangentImpulse=0;else{var z=b.tangentImpulse;b.tangentImpulse=o.clamp(b.tangentImpulse+k,-I,I),k=b.tangentImpulse-z}s.x=y.x*D+m.x*k,s.y=y.y*D+m.y*k,g.isStatic||g.isSleeping||(g.positionPrev.x+=s.x*g.inverseMass,g.positionPrev.y+=s.y*g.inverseMass,g.anglePrev+=r.cross(_,s)*g.inverseInertia),v.isStatic||v.isSleeping||(v.positionPrev.x-=s.x*v.inverseMass,v.positionPrev.y-=s.y*v.inverseMass,v.anglePrev-=r.cross(A,s)*v.inverseInertia)}}}}},function(t,e,i){var n={};t.exports=n;var s=i(451),r=i(36);n._pairMaxIdleLife=1e3,n.create=function(t){return r.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},t)},n.update=function(t,e,i){var n,r,o,a,h=t.list,l=t.table,u=t.collisionStart,c=t.collisionEnd,d=t.collisionActive;for(u.length=0,c.length=0,d.length=0,a=0;an._pairMaxIdleLife&&l.push(o);for(o=0;ou.bounds.max.x||p.bounds.max.yu.bounds.max.y)){var g=n._getRegion(t,p);if(!p.region||g.id!==p.region.id||s){f.broadphaseTests+=1,p.region&&!s||(p.region=g);var v=n._regionUnion(g,p.region);for(o=v.startCol;o<=v.endCol;o++)for(a=v.startRow;a<=v.endRow;a++){h=c[l=n._getBucketId(o,a)];var y=o>=g.startCol&&o<=g.endCol&&a>=g.startRow&&a<=g.endRow,m=o>=p.region.startCol&&o<=p.region.endCol&&a>=p.region.startRow&&a<=p.region.endRow;!y&&m&&m&&h&&n._bucketRemoveBody(t,h,p),(p.region===g||y&&!m||s)&&(h||(h=n._createBucket(c,l)),n._bucketAddBody(t,h,p))}p.region=g,d=!0}}}d&&(t.pairsList=n._createActivePairsList(t))},n.clear=function(t){t.buckets={},t.pairs={},t.pairsList=[]},n._regionUnion=function(t,e){var i=Math.min(t.startCol,e.startCol),s=Math.max(t.endCol,e.endCol),r=Math.min(t.startRow,e.startRow),o=Math.max(t.endRow,e.endRow);return n._createRegion(i,s,r,o)},n._getRegion=function(t,e){var i=e.bounds,s=Math.floor(i.min.x/t.bucketWidth),r=Math.floor(i.max.x/t.bucketWidth),o=Math.floor(i.min.y/t.bucketHeight),a=Math.floor(i.max.y/t.bucketHeight);return n._createRegion(s,r,o,a)},n._createRegion=function(t,e,i,n){return{id:t+","+e+","+i+","+n,startCol:t,endCol:e,startRow:i,endRow:n}},n._getBucketId=function(t,e){return"C"+t+"R"+e},n._createBucket=function(t,e){return t[e]=[]},n._bucketAddBody=function(t,e,i){for(var n=0;n0?n.push(i):delete t.pairs[e[s]];return n}},function(t,e,i){var n={};t.exports=n;var s=i(540),r=i(36);n.name="matter-js",n.version="0.14.2",n.uses=[],n.used=[],n.use=function(){s.use(n,Array.prototype.slice.call(arguments))},n.before=function(t,e){return t=t.replace(/^Matter./,""),r.chainPathBefore(n,t,e)},n.after=function(t,e){return t=t.replace(/^Matter./,""),r.chainPathAfter(n,t,e)}},function(t,e,i){var n=i(460),s=i(0),r=i(452),o=i(18),a=i(2),h=i(200),l=i(67),u=i(3),c=new s({Extends:l,Mixins:[r.Bounce,r.Collision,r.Force,r.Friction,r.Gravity,r.Mass,r.Sensor,r.SetBody,r.Sleep,r.Static,r.Transform,r.Velocity,h],initialize:function(t,e,i,s,r,h){o.call(this,t.scene,"Sprite"),this.anims=new n(this),this.setTexture(s,r),this.setSizeToFrame(),this.setOrigin(),this.world=t,this._tempVec2=new u(e,i);var l=a(h,"shape",null);l?this.setBody(l,h):this.setRectangle(this.width,this.height,h),this.setPosition(e,i),this.initPipeline("TextureTintPipeline")}});t.exports=c},function(t,e,i){var n=i(0),s=i(452),r=i(18),o=i(2),a=i(93),h=i(200),l=i(3),u=new n({Extends:a,Mixins:[s.Bounce,s.Collision,s.Force,s.Friction,s.Gravity,s.Mass,s.Sensor,s.SetBody,s.Sleep,s.Static,s.Transform,s.Velocity,h],initialize:function(t,e,i,n,s,a){r.call(this,t.scene,"Image"),this.setTexture(n,s),this.setSizeToFrame(),this.setOrigin(),this.world=t,this._tempVec2=new l(e,i);var h=o(a,"shape",null);h?this.setBody(h,a):this.setRectangle(this.width,this.height,a),this.setPosition(e,i),this.initPipeline("TextureTintPipeline")}});t.exports=u},function(t,e,i){var n={};t.exports=n;var s=i(149),r=i(209),o=i(36),a=i(72),h=i(138);n.stack=function(t,e,i,n,r,o,h){for(var l,u=s.create({label:"Stack"}),c=t,d=e,f=0,p=0;pg&&(g=m),a.translate(y,{x:.5*x,y:.5*m}),c=y.bounds.max.x+r,s.addBody(u,y),l=y,f+=1}else c+=r}d+=g+o,c=t}return u},n.chain=function(t,e,i,n,a,h){for(var l=t.bodies,u=1;u0)for(l=0;l0&&(d=f[l-1+(h-1)*e],s.addConstraint(t,r.create(o.extend({bodyA:d,bodyB:c},a)))),n&&ld||o<(l=d-l)||o>i-1-l))return 1===c&&a.translate(u,{x:(o+(i%2==1?1:-1))*f,y:0}),h(t+(u?o*f:0)+o*r,n,o,l,u,c)})},n.newtonsCradle=function(t,e,i,n,o){for(var a=s.create({label:"Newtons Cradle"}),l=0;l=0&&h<=1&&l>=0&&l<=1}function s(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])}function r(t,e,i){return s(t,e,i)>0}function o(t,e,i){return s(t,e,i)>=0}function a(t,e,i){return s(t,e,i)<0}function h(t,e,i){return s(t,e,i)<=0}t.exports={decomp:function(t){var e=function t(e){var i=[],n=[],s=[],r=[];var o=Number.MAX_VALUE;for(var a=0;a0?function t(e,i){if(0===i.length)return[e];if(i instanceof Array&&i.length&&i[0]instanceof Array&&2===i[0].length&&i[0][0]instanceof Array){for(var n=[e],s=0;su)return console.warn("quickDecomp: max level ("+u+") reached."),i;for(var L=0;LA&&(A+=e.length),_=Number.MAX_VALUE,A3&&n>=0;--n)c(f(t,n-1),f(t,n),f(t,n+1),e)&&(t.splice(n%t.length,1),i++);return i},removeDuplicatePoints:function(t,e){for(var i=t.length-1;i>=1;--i)for(var n=t[i],s=i-1;s>=0;--s)S(n,t[s],e)&&t.splice(i,1)},makeCCW:function(t){for(var e=0,i=t,n=1;ni[e][0])&&(e=n);return!r(f(t,e-1),f(t,e),f(t,e+1))&&(function(t){for(var e=[],i=t.length,n=0;n!==i;n++)e.push(t.pop());for(var n=0;n!==i;n++)t[n]=e[n]}(t),!0)}};var l=[],u=[];function c(t,e,i,n){if(n){var r=l,o=u;r[0]=e[0]-t[0],r[1]=e[1]-t[1],o[0]=i[0]-e[0],o[1]=i[1]-e[1];var a=r[0]*o[0]+r[1]*o[1],h=Math.sqrt(r[0]*r[0]+r[1]*r[1]),c=Math.sqrt(o[0]*o[0]+o[1]*o[1]);return Math.acos(a/(h*c))r.ACTIVE&&d(this,t,e))},setCollidesNever:function(t){for(var e=0;e1)for(var h=i/a,l=n/a,u=0;u0?r:0,y=n<0?f:0,m=Math.max(Math.floor(i/f),0),x=Math.min(Math.ceil((i+o)/f),g);u=Math.floor((t.pos.x+v)/f);var T=Math.floor((e+v)/f);if((l>0||u===T||T<0||T>=p)&&(T=-1),u>=0&&u1&&d<=this.lastSlope&&this.checkDef(t,d,e,i,a,h,r,o,T,c));c++)if(1===(d=this.data[c][u])||d>this.lastSlope||d>1&&this.checkDef(t,d,e,i,a,h,r,o,u,c)){if(d>1&&d<=this.lastSlope&&t.collision.slope)break;t.collision.x=!0,t.tile.x=d,t.pos.x=u*f-v+y,e=t.pos.x,a=0;break}}if(s){var w=s>0?o:0,b=s<0?f:0,S=Math.max(Math.floor(t.pos.x/f),0),_=Math.min(Math.ceil((t.pos.x+r)/f),p);c=Math.floor((t.pos.y+w)/f);var A=Math.floor((i+w)/f);if((l>0||c===A||A<0||A>=g)&&(A=-1),c>=0&&c1&&d<=this.lastSlope&&this.checkDef(t,d,e,i,a,h,r,o,u,A));u++)if(1===(d=this.data[c][u])||d>this.lastSlope||d>1&&this.checkDef(t,d,e,i,a,h,r,o,u,c)){if(d>1&&d<=this.lastSlope&&t.collision.slope)break;t.collision.y=!0,t.tile.y=d,t.pos.y=c*f-w+b;break}}},checkDef:function(t,e,i,n,s,r,o,a,h,l){var u=this.tiledef[e];if(!u)return!1;var c=this.tilesize,d=(h+u[0])*c,f=(l+u[1])*c,p=(u[2]-u[0])*c,g=(u[3]-u[1])*c,v=u[4],y=i+s+(g<0?o:0)-d,m=n+r+(p>0?a:0)-f;if(p*m-g*y>0){if(s*-g+r*p<0)return v;var x=Math.sqrt(p*p+g*g),T=g/x,w=-p/x,b=y*T+m*w,S=T*b,_=w*b;return S*S+_*_>=s*s+r*r?v||p*(m-r)-g*(y-s)<.5:(t.pos.x=i+s-S,t.pos.y=n+r-_,t.collision.slope={x:p,y:g,nx:T,ny:w},!0)}return!1}});t.exports=r},function(t,e,i){var n=i(0),s=i(240),r=i(1357),o=i(239),a=i(1356),h=new n({initialize:function(t,e,i,n,r){void 0===n&&(n=16),void 0===r&&(r=n),this.world=t,this.gameObject=null,this.enabled=!0,this.parent,this.id=t.getNextID(),this.name="",this.size={x:n,y:r},this.offset={x:0,y:0},this.pos={x:e,y:i},this.last={x:e,y:i},this.vel={x:0,y:0},this.accel={x:0,y:0},this.friction={x:0,y:0},this.maxVel={x:t.defaults.maxVelocityX,y:t.defaults.maxVelocityY},this.standing=!1,this.gravityFactor=t.defaults.gravityFactor,this.bounciness=t.defaults.bounciness,this.minBounceVelocity=t.defaults.minBounceVelocity,this.accelGround=0,this.accelAir=0,this.jumpSpeed=0,this.type=o.NONE,this.checkAgainst=o.NONE,this.collides=s.NEVER,this.debugShowBody=t.defaults.debugShowBody,this.debugShowVelocity=t.defaults.debugShowVelocity,this.debugBodyColor=t.defaults.bodyDebugColor,this.updateCallback,this.slopeStanding={min:.767944870877505,max:2.3736477827122884}},reset:function(t,e){this.pos={x:t,y:e},this.last={x:t,y:e},this.vel={x:0,y:0},this.accel={x:0,y:0},this.friction={x:0,y:0},this.maxVel={x:100,y:100},this.standing=!1,this.gravityFactor=1,this.bounciness=0,this.minBounceVelocity=40,this.accelGround=0,this.accelAir=0,this.jumpSpeed=0,this.type=o.NONE,this.checkAgainst=o.NONE,this.collides=s.NEVER},update:function(t){var e=this.pos;this.last.x=e.x,this.last.y=e.y,this.vel.y+=this.world.gravity*t*this.gravityFactor,this.vel.x=r(t,this.vel.x,this.accel.x,this.friction.x,this.maxVel.x),this.vel.y=r(t,this.vel.y,this.accel.y,this.friction.y,this.maxVel.y);var i=this.vel.x*t,n=this.vel.y*t,s=this.world.collisionMap.trace(e.x,e.y,i,n,this.size.x,this.size.y);this.handleMovementTrace(s)&&a(this,s);var o=this.gameObject;o&&(o.x=e.x-this.offset.x+o.displayOriginX*o.scaleX,o.y=e.y-this.offset.y+o.displayOriginY*o.scaleY),this.updateCallback&&this.updateCallback(this)},drawDebug:function(t){var e=this.pos;if(this.debugShowBody&&(t.lineStyle(1,this.debugBodyColor,1),t.strokeRect(e.x,e.y,this.size.x,this.size.y)),this.debugShowVelocity){var i=e.x+this.size.x/2,n=e.y+this.size.y/2;t.lineStyle(1,this.world.defaults.velocityDebugColor,1),t.lineBetween(i,n,i+this.vel.x,n+this.vel.y)}},willDrawDebug:function(){return this.debugShowBody||this.debugShowVelocity},skipHash:function(){return!this.enabled||0===this.type&&0===this.checkAgainst&&0===this.collides},touches:function(t){return!(this.pos.x>=t.pos.x+t.size.x||this.pos.x+this.size.x<=t.pos.x||this.pos.y>=t.pos.y+t.size.y||this.pos.y+this.size.y<=t.pos.y)},resetSize:function(t,e,i,n){return this.pos.x=t,this.pos.y=e,this.size.x=i,this.size.y=n,this},toJSON:function(){return{name:this.name,size:{x:this.size.x,y:this.size.y},pos:{x:this.pos.x,y:this.pos.y},vel:{x:this.vel.x,y:this.vel.y},accel:{x:this.accel.x,y:this.accel.y},friction:{x:this.friction.x,y:this.friction.y},maxVel:{x:this.maxVel.x,y:this.maxVel.y},gravityFactor:this.gravityFactor,bounciness:this.bounciness,minBounceVelocity:this.minBounceVelocity,type:this.type,checkAgainst:this.checkAgainst,collides:this.collides}},fromJSON:function(){},check:function(){},collideWith:function(t,e){this.parent&&this.parent._collideCallback&&this.parent._collideCallback.call(this.parent._callbackScope,this,t,e)},handleMovementTrace:function(){return!0},destroy:function(){this.world.remove(this),this.enabled=!1,this.world=null,this.gameObject=null,this.parent=null}});t.exports=h},,function(t,e,i){t.exports={BitmapMaskPipeline:i(454),ForwardDiffuseLightPipeline:i(453),TextureTintPipeline:i(211)}},function(t,e,i){t.exports={Utils:i(9),WebGLPipeline:i(212),WebGLRenderer:i(456),Pipelines:i(1300),BYTE:0,SHORT:1,UNSIGNED_BYTE:2,UNSIGNED_SHORT:3,FLOAT:4}},function(t,e,i){t.exports={Canvas:i(458),WebGL:i(455)}},function(t,e,i){t.exports={CanvasRenderer:i(459),GetBlendModes:i(457),SetTransform:i(25)}},function(t,e,i){t.exports={Canvas:i(1303),Snapshot:i(1302),WebGL:i(1301)}},function(t,e,i){var n=i(541),s={name:"matter-wrap",version:"0.1.4",for:"matter-js@^0.13.1",silent:!0,install:function(t){t.after("Engine.update",function(){s.Engine.update(this)})},Engine:{update:function(t){for(var e=t.world,i=n.Composite.allBodies(e),r=n.Composite.allComposites(e),o=0;oe.max.x?i=e.min.x-t.max.x:t.max.xe.max.y?n=e.min.y-t.max.y:t.max.y0)for(var a=s+1;a1;if(!d||t!=d.x||e!=d.y){d&&n?(f=d.x,p=d.y):(f=0,p=0);var s={x:f+t,y:p+e};!n&&d||(d=s),g.push(s),y=f+t,m=p+e}},T=function(t){var e=t.pathSegTypeAsLetter.toUpperCase();if("Z"!==e){switch(e){case"M":case"L":case"T":case"C":case"S":case"Q":y=t.x,m=t.y;break;case"H":y=t.x;break;case"V":m=t.y}x(y,m,t.pathSegType)}};for(n._svgPathToAbsolute(t),o=t.getTotalLength(),l=[],i=0;i1?1:0;n0))r=t.collisionMap.trace(e.pos.x,e.pos.y,0,-(e.pos.y+e.size.y-i.pos.y),e.size.x,e.size.y),e.pos.y=r.pos.y,e.bounciness>0&&e.vel.y>e.minBounceVelocity?e.vel.y*=-e.bounciness:(e.standing=!0,e.vel.y=0);else{var l=(e.vel.y-i.vel.y)/2;e.vel.y=-l,i.vel.y=l,s=i.vel.x*t.delta,r=t.collisionMap.trace(e.pos.x,e.pos.y,s,-o/2,e.size.x,e.size.y),e.pos.y=r.pos.y;var u=t.collisionMap.trace(i.pos.x,i.pos.y,0,o/2,i.size.x,i.size.y);i.pos.y=u.pos.y}}},function(t,e){t.exports=function(t,e,i,n){var s=e.pos.x+e.size.x-i.pos.x;if(n){var r=e===n?i:e;n.vel.x=-n.vel.x*n.bounciness+r.vel.x;var o=t.collisionMap.trace(n.pos.x,n.pos.y,n===e?-s:s,0,n.size.x,n.size.y);n.pos.x=o.pos.x}else{var a=(e.vel.x-i.vel.x)/2;e.vel.x=-a,i.vel.x=a;var h=t.collisionMap.trace(e.pos.x,e.pos.y,-s/2,0,e.size.x,e.size.y);e.pos.x=Math.floor(h.pos.x);var l=t.collisionMap.trace(i.pos.x,i.pos.y,s/2,0,i.size.x,i.size.y);i.pos.x=Math.ceil(l.pos.x)}}},function(t,e,i){var n=i(240),s=i(548),r=i(1337),o=i(1336);t.exports=function(t,e,i){var a=null;e.collides===n.LITE||i.collides===n.FIXED?a=e:i.collides!==n.LITE&&e.collides!==n.FIXED||(a=i),e.last.x+e.size.x>i.last.x&&e.last.xi.last.y&&e.last.y0&&Math.abs(t.vel.y)>t.minBounceVelocity?t.vel.y*=-t.bounciness:(t.vel.y>0&&(t.standing=!0),t.vel.y=0)),e.collision.x&&(t.bounciness>0&&Math.abs(t.vel.x)>t.minBounceVelocity?t.vel.x*=-t.bounciness:t.vel.x=0),e.collision.slope){var i=e.collision.slope;if(t.bounciness>0){var n=t.vel.x*i.nx+t.vel.y*i.ny;t.vel.x=(t.vel.x-i.nx*n*2)*t.bounciness,t.vel.y=(t.vel.y-i.ny*n*2)*t.bounciness}else{var s=i.x*i.x+i.y*i.y,r=(t.vel.x*i.x+t.vel.y*i.y)/s;t.vel.x=i.x*r,t.vel.y=i.y*r;var o=Math.atan2(i.x,i.y);o>t.slopeStanding.min&&o0?e-o:e+o<0?e+o:0}return n(e,-r,r)}},function(t,e,i){t.exports={Body:i(1298),Events:i(548),COLLIDES:i(240),CollisionMap:i(1297),Factory:i(1296),Image:i(1294),ImpactBody:i(1295),ImpactPhysics:i(1339),Sprite:i(1293),TYPE:i(239),World:i(1292)}},function(t,e,i){t.exports={Arcade:i(577),Impact:i(1358),Matter:i(1335)}},function(t,e,i){(function(e){i(1280);var n=i(28),s=i(19),r={Actions:i(450),Animations:i(1191),Cache:i(1176),Cameras:i(1173),Core:i(1097),Class:i(0),Create:i(1038),Curves:i(1032),Data:i(1029),Display:i(1027),DOM:i(998),Events:i(997),Game:i(995),GameObjects:i(902),Geom:i(279),Input:i(635),Loader:i(601),Math:i(387),Physics:i(1359),Plugins:i(538),Renderer:i(1304),Scale:i(536),Scene:i(331),Scenes:i(535),Sound:i(533),Structs:i(532),Textures:i(531),Tilemaps:i(529),Time:i(480),Tweens:i(478),Utils:i(468)};r=s(!1,r,n),t.exports=r,e.Phaser=r}).call(this,i(215))}])}); \ No newline at end of file diff --git a/apps/clock/0/index.html b/apps/clock/0/index.html new file mode 100644 index 000000000..1cae9bf9f --- /dev/null +++ b/apps/clock/0/index.html @@ -0,0 +1,488 @@ + + + + + + + +时钟 | 廖桁锋 + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
05
+
+
+
+
+
+
+
+
+
+
+
+
+
10
+
+
+
+
+
+
+
+
+
+
+
+
+
15
+
+
+
+
+
+
+
+
+
+
+
+
+
20
+
+
+
+
+
+
+
+
+
+
+
+
+
25
+
+
+
+
+
+
+
+
+
+
+
+
+
30
+
+
+
+
+
+
+
+
+
+
+
+
+
35
+
+
+
+
+
+
+
+
+
+
+
+
+
40
+
+
+
+
+
+
+
+
+
+
+
+
+
45
+
+
+
+
+
+
+
+
+
+
+
+
+
50
+
+
+
+
+
+
+
+
+
+
+
+
+
55
+
+
+
+
+
+
+
+
+
+
+
+
+
60
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
+
+
+
+
+
+
+
+
+
+
+
+
05
+
+
+
+
+
+
+
+
+
+
+
+
+
10
+
+
+
+
+
+
+
+
+
+
+
+
+
15
+
+
+
+
+
+
+
+
+
+
+
+
+
20
+
+
+
+
+
+
+
+
+
+
+
+
+
25
+
+
+
+
+
+
+
+
+
+
+
+
+
30
+
+
+
+
+
+
+
+
+
+
+
+
+
35
+
+
+
+
+
+
+
+
+
+
+
+
+
40
+
+
+
+
+
+
+
+
+
+
+
+
+
45
+
+
+
+
+
+
+
+
+
+
+
+
+
50
+
+
+
+
+
+
+
+
+
+
+
+
+
55
+
+
+
+
+
+
+
+
+
+
+
+
+
60
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/apps/clock/1/css/flipclock.css b/apps/clock/1/css/flipclock.css new file mode 100644 index 000000000..da6d4766f --- /dev/null +++ b/apps/clock/1/css/flipclock.css @@ -0,0 +1,419 @@ +/* Get the bourbon mixin from http://bourbon.io */ +/* Reset */ +.flip-clock-wrapper * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + -o-backface-visibility: hidden; + backface-visibility: hidden; +} + +.flip-clock-wrapper a { + cursor: pointer; + text-decoration: none; + color: #ccc; } + +.flip-clock-wrapper a:hover { + color: #fff; } + +.flip-clock-wrapper ul { + list-style: none; } + +.flip-clock-wrapper.clearfix:before, +.flip-clock-wrapper.clearfix:after { + content: " "; + display: table; } + +.flip-clock-wrapper.clearfix:after { + clear: both; } + +.flip-clock-wrapper.clearfix { + *zoom: 1; } + +/* Main */ +.flip-clock-wrapper { + font: normal 11px "Helvetica Neue", Helvetica, sans-serif; + -webkit-user-select: none; } + +.flip-clock-meridium { + background: none !important; + box-shadow: 0 0 0 !important; + font-size: 36px !important; } + +.flip-clock-meridium a { color: #313333; } + +.flip-clock-wrapper { + text-align: center; + position: relative; + /* width: 100%; */ + margin: 0.5em; +} + +.flip-clock-wrapper:before, +.flip-clock-wrapper:after { + content: " "; /* 1 */ + display: table; /* 2 */ +} +.flip-clock-wrapper:after { + clear: both; +} + +/* Skeleton */ +.flip-clock-wrapper ul { + position: relative; + float: left; + margin: 5px; + width: 60px; + height: 90px; + font-size: 80px; + font-weight: bold; + line-height: 87px; + border-radius: 6px; + background: #000; +} + +.flip-clock-wrapper ul li { + z-index: 1; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + line-height: 87px; + text-decoration: none !important; +} + +.flip-clock-wrapper ul li:first-child { + z-index: 2; } + +.flip-clock-wrapper ul li a { + display: block; + height: 100%; + -webkit-perspective: 200px; + -moz-perspective: 200px; + perspective: 200px; + margin: 0 !important; + overflow: visible !important; + cursor: default !important; } + +.flip-clock-wrapper ul li a div { + z-index: 1; + position: absolute; + left: 0; + width: 100%; + height: 50%; + font-size: 80px; + overflow: hidden; + outline: 1px solid transparent; } + +.flip-clock-wrapper ul li a div .shadow { + position: absolute; + width: 100%; + height: 100%; + z-index: 2; } + +.flip-clock-wrapper ul li a div.up { + -webkit-transform-origin: 50% 100%; + -moz-transform-origin: 50% 100%; + -ms-transform-origin: 50% 100%; + -o-transform-origin: 50% 100%; + transform-origin: 50% 100%; + top: 0; } + +.flip-clock-wrapper ul li a div.up:after { + content: ""; + position: absolute; + top: 44px; + left: 0; + z-index: 5; + width: 100%; + height: 3px; + background-color: #000; + background-color: rgba(0, 0, 0, 0.4); } + +.flip-clock-wrapper ul li a div.down { + -webkit-transform-origin: 50% 0; + -moz-transform-origin: 50% 0; + -ms-transform-origin: 50% 0; + -o-transform-origin: 50% 0; + transform-origin: 50% 0; + bottom: 0; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; +} + +.flip-clock-wrapper ul li a div div.inn { + position: absolute; + left: 0; + z-index: 1; + width: 100%; + height: 200%; + color: #ccc; + text-shadow: 0 1px 2px #000; + text-align: center; + background-color: #333; + border-radius: 6px; + font-size: 70px; } + +.flip-clock-wrapper ul li a div.up div.inn { + top: 0; } + +.flip-clock-wrapper ul li a div.down div.inn { + bottom: 0; } + +/* PLAY */ +.flip-clock-wrapper ul.play li.flip-clock-before { + z-index: 3; } + +.flip-clock-wrapper .flip { box-shadow: 0 2px 5px rgba(0, 0, 0, 0.7); } + +.flip-clock-wrapper ul.play li.flip-clock-active { + -webkit-animation: asd 0.01s 0.49s linear both; + -moz-animation: asd 0.01s 0.49s linear both; + animation: asd 0.01s 0.49s linear both; + z-index: 5; } + +.flip-clock-divider { + float: left; + display: inline-block; + position: relative; + width: 20px; + height: 100px; } + +.flip-clock-divider:first-child { + width: 0; } + +.flip-clock-dot { + display: block; + background: #323434; + width: 10px; + height: 10px; + position: absolute; + border-radius: 50%; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); + left: 5px; } + +.flip-clock-divider .flip-clock-label { + position: absolute; + top: -1.5em; + right: -86px; + color: black; + text-shadow: none; } + +.flip-clock-divider.minutes .flip-clock-label { + right: -88px; } + +.flip-clock-divider.seconds .flip-clock-label { + right: -91px; } + +.flip-clock-dot.top { + top: 30px; } + +.flip-clock-dot.bottom { + bottom: 30px; } + +@-webkit-keyframes asd { + 0% { + z-index: 2; } + + 100% { + z-index: 4; } } + +@-moz-keyframes asd { + 0% { + z-index: 2; } + + 100% { + z-index: 4; } } + +@-o-keyframes asd { + 0% { + z-index: 2; } + + 100% { + z-index: 4; } } + +@keyframes asd { + 0% { + z-index: 2; } + + 100% { + z-index: 4; } } + +.flip-clock-wrapper ul.play li.flip-clock-active .down { + z-index: 2; + -webkit-animation: turn 0.5s 0.5s linear both; + -moz-animation: turn 0.5s 0.5s linear both; + animation: turn 0.5s 0.5s linear both; } + +@-webkit-keyframes turn { + 0% { + -webkit-transform: rotateX(90deg); } + + 100% { + -webkit-transform: rotateX(0deg); } } + +@-moz-keyframes turn { + 0% { + -moz-transform: rotateX(90deg); } + + 100% { + -moz-transform: rotateX(0deg); } } + +@-o-keyframes turn { + 0% { + -o-transform: rotateX(90deg); } + + 100% { + -o-transform: rotateX(0deg); } } + +@keyframes turn { + 0% { + transform: rotateX(90deg); } + + 100% { + transform: rotateX(0deg); } } + +.flip-clock-wrapper ul.play li.flip-clock-before .up { + z-index: 2; + -webkit-animation: turn2 0.5s linear both; + -moz-animation: turn2 0.5s linear both; + animation: turn2 0.5s linear both; } + +@-webkit-keyframes turn2 { + 0% { + -webkit-transform: rotateX(0deg); } + + 100% { + -webkit-transform: rotateX(-90deg); } } + +@-moz-keyframes turn2 { + 0% { + -moz-transform: rotateX(0deg); } + + 100% { + -moz-transform: rotateX(-90deg); } } + +@-o-keyframes turn2 { + 0% { + -o-transform: rotateX(0deg); } + + 100% { + -o-transform: rotateX(-90deg); } } + +@keyframes turn2 { + 0% { + transform: rotateX(0deg); } + + 100% { + transform: rotateX(-90deg); } } + +.flip-clock-wrapper ul li.flip-clock-active { + z-index: 3; } + +/* SHADOW */ +.flip-clock-wrapper ul.play li.flip-clock-before .up .shadow { + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, black)); + background: linear, top, rgba(0, 0, 0, 0.1) 0%, black 100%; + background: -o-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%); + background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%); + background: linear, to bottom, rgba(0, 0, 0, 0.1) 0%, black 100%; + -webkit-animation: show 0.5s linear both; + -moz-animation: show 0.5s linear both; + animation: show 0.5s linear both; } + +.flip-clock-wrapper ul.play li.flip-clock-active .up .shadow { + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, black)); + background: linear, top, rgba(0, 0, 0, 0.1) 0%, black 100%; + background: -o-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%); + background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%); + background: linear, to bottom, rgba(0, 0, 0, 0.1) 0%, black 100%; + -webkit-animation: hide 0.5s 0.3s linear both; + -moz-animation: hide 0.5s 0.3s linear both; + animation: hide 0.5s 0.3s linear both; } + +/*DOWN*/ +.flip-clock-wrapper ul.play li.flip-clock-before .down .shadow { + background: -moz-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, black), color-stop(100%, rgba(0, 0, 0, 0.1))); + background: linear, top, black 0%, rgba(0, 0, 0, 0.1) 100%; + background: -o-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%); + background: -ms-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%); + background: linear, to bottom, black 0%, rgba(0, 0, 0, 0.1) 100%; + -webkit-animation: show 0.5s linear both; + -moz-animation: show 0.5s linear both; + animation: show 0.5s linear both; } + +.flip-clock-wrapper ul.play li.flip-clock-active .down .shadow { + background: -moz-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, black), color-stop(100%, rgba(0, 0, 0, 0.1))); + background: linear, top, black 0%, rgba(0, 0, 0, 0.1) 100%; + background: -o-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%); + background: -ms-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%); + background: linear, to bottom, black 0%, rgba(0, 0, 0, 0.1) 100%; + -webkit-animation: hide 0.5s 0.3s linear both; + -moz-animation: hide 0.5s 0.3s linear both; + animation: hide 0.5s 0.2s linear both; } + +@-webkit-keyframes show { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@-moz-keyframes show { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@-o-keyframes show { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@keyframes show { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@-webkit-keyframes hide { + 0% { + opacity: 1; } + + 100% { + opacity: 0; } } + +@-moz-keyframes hide { + 0% { + opacity: 1; } + + 100% { + opacity: 0; } } + +@-o-keyframes hide { + 0% { + opacity: 1; } + + 100% { + opacity: 0; } } + +@keyframes hide { + 0% { + opacity: 1; } + + 100% { + opacity: 0; } } diff --git a/apps/clock/1/css/style.css b/apps/clock/1/css/style.css new file mode 100644 index 000000000..98413a03d --- /dev/null +++ b/apps/clock/1/css/style.css @@ -0,0 +1,48 @@ +* +{ + margin: 0; + padding: 0; +} +body +{ + display: flex; + text-align:center; + justify-content: center; + align-items: center; + /*min-height: 100vh;*/ + background: #222; +} +.clock +{ + width: auto; + zoom: 4; +} +.flip-clock-dot +{ + background: #ccc; + /*background: #ffffff;*/ +} +.flip-clock-meridium a +{ + color: #ccc; + /*color: #ffffff;*/ +} +h1 { + font-family: "Microsoft YaHei"; + /*font-family: "Helvetica Neue", Helvetica, sans-serif;*/ + /*font-family: sans-serif, Times, TimesNR, 'New Century Schoolbook', Georgia, 'New York', serif;*/ + color: #ccc; + text-align:center; + zoom: 4; +} +#box +{ + display: table; +} +#content +{ + /*color: #fff;*/ + text-align: center; + display: table-cell; + vertical-align: middle; +} diff --git a/apps/clock/1/index.html b/apps/clock/1/index.html new file mode 100644 index 000000000..0fa3e4b59 --- /dev/null +++ b/apps/clock/1/index.html @@ -0,0 +1,55 @@ + + + + + 时钟 | 廖桁锋 + + + + + + + + +
+
+
+
+

+
+
+ + + + + diff --git a/apps/clock/1/js/flipclock.js b/apps/clock/1/js/flipclock.js new file mode 100644 index 000000000..d793179cb --- /dev/null +++ b/apps/clock/1/js/flipclock.js @@ -0,0 +1,2782 @@ +/* + Base.js, version 1.1a + Copyright 2006-2010, Dean Edwards + License: http://www.opensource.org/licenses/mit-license.php +*/ + +var Base = function() { + // dummy +}; + +Base.extend = function(_instance, _static) { // subclass + + "use strict"; + + var extend = Base.prototype.extend; + + // build the prototype + Base._prototyping = true; + + var proto = new this(); + + extend.call(proto, _instance); + + proto.base = function() { + // call this method from any other method to invoke that method's ancestor + }; + + delete Base._prototyping; + + // create the wrapper for the constructor function + //var constructor = proto.constructor.valueOf(); //-dean + var constructor = proto.constructor; + var klass = proto.constructor = function() { + if (!Base._prototyping) { + if (this._constructing || this.constructor == klass) { // instantiation + this._constructing = true; + constructor.apply(this, arguments); + delete this._constructing; + } else if (arguments[0] !== null) { // casting + return (arguments[0].extend || extend).call(arguments[0], proto); + } + } + }; + + // build the class interface + klass.ancestor = this; + klass.extend = this.extend; + klass.forEach = this.forEach; + klass.implement = this.implement; + klass.prototype = proto; + klass.toString = this.toString; + klass.valueOf = function(type) { + //return (type == "object") ? klass : constructor; //-dean + return (type == "object") ? klass : constructor.valueOf(); + }; + extend.call(klass, _static); + // class initialisation + if (typeof klass.init == "function") klass.init(); + return klass; +}; + +Base.prototype = { + extend: function(source, value) { + if (arguments.length > 1) { // extending with a name/value pair + var ancestor = this[source]; + if (ancestor && (typeof value == "function") && // overriding a method? + // the valueOf() comparison is to avoid circular references + (!ancestor.valueOf || ancestor.valueOf() != value.valueOf()) && + /\bbase\b/.test(value)) { + // get the underlying method + var method = value.valueOf(); + // override + value = function() { + var previous = this.base || Base.prototype.base; + this.base = ancestor; + var returnValue = method.apply(this, arguments); + this.base = previous; + return returnValue; + }; + // point to the underlying method + value.valueOf = function(type) { + return (type == "object") ? value : method; + }; + value.toString = Base.toString; + } + this[source] = value; + } else if (source) { // extending with an object literal + var extend = Base.prototype.extend; + // if this object has a customised extend method then use it + if (!Base._prototyping && typeof this != "function") { + extend = this.extend || extend; + } + var proto = {toSource: null}; + // do the "toString" and other methods manually + var hidden = ["constructor", "toString", "valueOf"]; + // if we are prototyping then include the constructor + var i = Base._prototyping ? 0 : 1; + while (key = hidden[i++]) { + if (source[key] != proto[key]) { + extend.call(this, key, source[key]); + + } + } + // copy each of the source object's properties to this object + for (var key in source) { + if (!proto[key]) extend.call(this, key, source[key]); + } + } + return this; + } +}; + +// initialise +Base = Base.extend({ + constructor: function() { + this.extend(arguments[0]); + } +}, { + ancestor: Object, + version: "1.1", + + forEach: function(object, block, context) { + for (var key in object) { + if (this.prototype[key] === undefined) { + block.call(context, object[key], key, object); + } + } + }, + + implement: function() { + for (var i = 0; i < arguments.length; i++) { + if (typeof arguments[i] == "function") { + // if it's a function, call it + arguments[i](this.prototype); + } else { + // add the interface using the extend method + this.prototype.extend(arguments[i]); + } + } + return this; + }, + + toString: function() { + return String(this.valueOf()); + } +}); +/*jshint smarttabs:true */ + +var FlipClock; + +/** + * FlipClock.js + * + * @author Justin Kimbrell + * @copyright 2013 - Objective HTML, LLC + * @licesnse http://www.opensource.org/licenses/mit-license.php + */ + +(function($) { + + "use strict"; + + /** + * FlipFlock Helper + * + * @param object A jQuery object or CSS select + * @param int An integer used to start the clock (no. seconds) + * @param object An object of properties to override the default + */ + + FlipClock = function(obj, digit, options) { + if(digit instanceof Object && digit instanceof Date === false) { + options = digit; + digit = 0; + } + + return new FlipClock.Factory(obj, digit, options); + }; + + /** + * The global FlipClock.Lang object + */ + + FlipClock.Lang = {}; + + /** + * The Base FlipClock class is used to extend all other FlipFlock + * classes. It handles the callbacks and the basic setters/getters + * + * @param object An object of the default properties + * @param object An object of properties to override the default + */ + + FlipClock.Base = Base.extend({ + + /** + * Build Date + */ + + buildDate: '2014-12-12', + + /** + * Version + */ + + version: '0.7.7', + + /** + * Sets the default options + * + * @param object The default options + * @param object The override options + */ + + constructor: function(_default, options) { + if(typeof _default !== "object") { + _default = {}; + } + if(typeof options !== "object") { + options = {}; + } + this.setOptions($.extend(true, {}, _default, options)); + }, + + /** + * Delegates the callback to the defined method + * + * @param object The default options + * @param object The override options + */ + + callback: function(method) { + if(typeof method === "function") { + var args = []; + + for(var x = 1; x <= arguments.length; x++) { + if(arguments[x]) { + args.push(arguments[x]); + } + } + + method.apply(this, args); + } + }, + + /** + * Log a string into the console if it exists + * + * @param string The name of the option + * @return mixed + */ + + log: function(str) { + if(window.console && console.log) { + console.log(str); + } + }, + + /** + * Get an single option value. Returns false if option does not exist + * + * @param string The name of the option + * @return mixed + */ + + getOption: function(index) { + if(this[index]) { + return this[index]; + } + return false; + }, + + /** + * Get all options + * + * @return bool + */ + + getOptions: function() { + return this; + }, + + /** + * Set a single option value + * + * @param string The name of the option + * @param mixed The value of the option + */ + + setOption: function(index, value) { + this[index] = value; + }, + + /** + * Set a multiple options by passing a JSON object + * + * @param object The object with the options + * @param mixed The value of the option + */ + + setOptions: function(options) { + for(var key in options) { + if(typeof options[key] !== "undefined") { + this.setOption(key, options[key]); + } + } + } + + }); + +}(jQuery)); + +/*jshint smarttabs:true */ + +/** + * FlipClock.js + * + * @author Justin Kimbrell + * @copyright 2013 - Objective HTML, LLC + * @licesnse http://www.opensource.org/licenses/mit-license.php + */ + +(function($) { + + "use strict"; + + /** + * The FlipClock Face class is the base class in which to extend + * all other FlockClock.Face classes. + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + FlipClock.Face = FlipClock.Base.extend({ + + /** + * Sets whether or not the clock should start upon instantiation + */ + + autoStart: true, + + /** + * An array of jQuery objects used for the dividers (the colons) + */ + + dividers: [], + + /** + * An array of FlipClock.List objects + */ + + factory: false, + + /** + * An array of FlipClock.List objects + */ + + lists: [], + + /** + * Constructor + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + constructor: function(factory, options) { + this.dividers = []; + this.lists = []; + this.base(options); + this.factory = factory; + }, + + /** + * Build the clock face + */ + + build: function() { + if(this.autoStart) { + this.start(); + } + }, + + /** + * Creates a jQuery object used for the digit divider + * + * @param mixed The divider label text + * @param mixed Set true to exclude the dots in the divider. + * If not set, is false. + */ + + createDivider: function(label, css, excludeDots) { + if(typeof css == "boolean" || !css) { + excludeDots = css; + css = label; + } + + var dots = [ + '', + '' + ].join(''); + + if(excludeDots) { + dots = ''; + } + + label = this.factory.localize(label); + + var html = [ + '', + ''+(label ? label : '')+'', + dots, + '' + ]; + + var $html = $(html.join('')); + + this.dividers.push($html); + + return $html; + }, + + /** + * Creates a FlipClock.List object and appends it to the DOM + * + * @param mixed The digit to select in the list + * @param object An object to override the default properties + */ + + createList: function(digit, options) { + if(typeof digit === "object") { + options = digit; + digit = 0; + } + + var obj = new FlipClock.List(this.factory, digit, options); + + this.lists.push(obj); + + return obj; + }, + + /** + * Triggers when the clock is reset + */ + + reset: function() { + this.factory.time = new FlipClock.Time( + this.factory, + this.factory.original ? Math.round(this.factory.original) : 0, + { + minimumDigits: this.factory.minimumDigits + } + ); + + this.flip(this.factory.original, false); + }, + + /** + * Append a newly created list to the clock + */ + + appendDigitToClock: function(obj) { + obj.$el.append(false); + }, + + /** + * Add a digit to the clock face + */ + + addDigit: function(digit) { + var obj = this.createList(digit, { + classes: { + active: this.factory.classes.active, + before: this.factory.classes.before, + flip: this.factory.classes.flip + } + }); + + this.appendDigitToClock(obj); + }, + + /** + * Triggers when the clock is started + */ + + start: function() {}, + + /** + * Triggers when the time on the clock stops + */ + + stop: function() {}, + + /** + * Auto increments/decrements the value of the clock face + */ + + autoIncrement: function() { + if(!this.factory.countdown) { + this.increment(); + } + else { + this.decrement(); + } + }, + + /** + * Increments the value of the clock face + */ + + increment: function() { + this.factory.time.addSecond(); + }, + + /** + * Decrements the value of the clock face + */ + + decrement: function() { + if(this.factory.time.getTimeSeconds() == 0) { + this.factory.stop() + } + else { + this.factory.time.subSecond(); + } + }, + + /** + * Triggers when the numbers on the clock flip + */ + + flip: function(time, doNotAddPlayClass) { + var t = this; + + $.each(time, function(i, digit) { + var list = t.lists[i]; + + if(list) { + if(!doNotAddPlayClass && digit != list.digit) { + list.play(); + } + + list.select(digit); + } + else { + t.addDigit(digit); + } + }); + } + + }); + +}(jQuery)); + +/*jshint smarttabs:true */ + +/** + * FlipClock.js + * + * @author Justin Kimbrell + * @copyright 2013 - Objective HTML, LLC + * @licesnse http://www.opensource.org/licenses/mit-license.php + */ + +(function($) { + + "use strict"; + + /** + * The FlipClock Factory class is used to build the clock and manage + * all the public methods. + * + * @param object A jQuery object or CSS selector used to fetch + the wrapping DOM nodes + * @param mixed This is the digit used to set the clock. If an + object is passed, 0 will be used. + * @param object An object of properties to override the default + */ + + FlipClock.Factory = FlipClock.Base.extend({ + + /** + * The clock's animation rate. + * + * Note, currently this property doesn't do anything. + * This property is here to be used in the future to + * programmaticaly set the clock's animation speed + */ + + animationRate: 1000, + + /** + * Auto start the clock on page load (True|False) + */ + + autoStart: true, + + /** + * The callback methods + */ + + callbacks: { + destroy: false, + create: false, + init: false, + interval: false, + start: false, + stop: false, + reset: false + }, + + /** + * The CSS classes + */ + + classes: { + active: 'flip-clock-active', + before: 'flip-clock-before', + divider: 'flip-clock-divider', + dot: 'flip-clock-dot', + label: 'flip-clock-label', + flip: 'flip', + play: 'play', + wrapper: 'flip-clock-wrapper' + }, + + /** + * The name of the clock face class in use + */ + + clockFace: 'HourlyCounter', + + /** + * The name of the clock face class in use + */ + + countdown: false, + + /** + * The name of the default clock face class to use if the defined + * clockFace variable is not a valid FlipClock.Face object + */ + + defaultClockFace: 'HourlyCounter', + + /** + * The default language + */ + + defaultLanguage: 'english', + + /** + * The jQuery object + */ + + $el: false, + + /** + * The FlipClock.Face object + */ + + face: true, + + /** + * The language object after it has been loaded + */ + + lang: false, + + /** + * The language being used to display labels (string) + */ + + language: 'english', + + /** + * The minimum digits the clock must have + */ + + minimumDigits: 0, + + /** + * The original starting value of the clock. Used for the reset method. + */ + + original: false, + + /** + * Is the clock running? (True|False) + */ + + running: false, + + /** + * The FlipClock.Time object + */ + + time: false, + + /** + * The FlipClock.Timer object + */ + + timer: false, + + /** + * The jQuery object (depcrecated) + */ + + $wrapper: false, + + /** + * Constructor + * + * @param object The wrapping jQuery object + * @param object Number of seconds used to start the clock + * @param object An object override options + */ + + constructor: function(obj, digit, options) { + + if(!options) { + options = {}; + } + + this.lists = []; + this.running = false; + this.base(options); + + this.$el = $(obj).addClass(this.classes.wrapper); + + // Depcrated support of the $wrapper property. + this.$wrapper = this.$el; + + this.original = (digit instanceof Date) ? digit : (digit ? Math.round(digit) : 0); + + this.time = new FlipClock.Time(this, this.original, { + minimumDigits: this.minimumDigits, + animationRate: this.animationRate + }); + + this.timer = new FlipClock.Timer(this, options); + + this.loadLanguage(this.language); + + this.loadClockFace(this.clockFace, options); + + if(this.autoStart) { + this.start(); + } + + }, + + /** + * Load the FlipClock.Face object + * + * @param object The name of the FlickClock.Face class + * @param object An object override options + */ + + loadClockFace: function(name, options) { + var face, suffix = 'Face', hasStopped = false; + + name = name.ucfirst()+suffix; + + if(this.face.stop) { + this.stop(); + hasStopped = true; + } + + this.$el.html(''); + + this.time.minimumDigits = this.minimumDigits; + + if(FlipClock[name]) { + face = new FlipClock[name](this, options); + } + else { + face = new FlipClock[this.defaultClockFace+suffix](this, options); + } + + face.build(); + + this.face = face + + if(hasStopped) { + this.start(); + } + + return this.face; + }, + + /** + * Load the FlipClock.Lang object + * + * @param object The name of the language to load + */ + + loadLanguage: function(name) { + var lang; + + if(FlipClock.Lang[name.ucfirst()]) { + lang = FlipClock.Lang[name.ucfirst()]; + } + else if(FlipClock.Lang[name]) { + lang = FlipClock.Lang[name]; + } + else { + lang = FlipClock.Lang[this.defaultLanguage]; + } + + return this.lang = lang; + }, + + /** + * Localize strings into various languages + * + * @param string The index of the localized string + * @param object Optionally pass a lang object + */ + + localize: function(index, obj) { + var lang = this.lang; + + if(!index) { + return null; + } + + var lindex = index.toLowerCase(); + + if(typeof obj == "object") { + lang = obj; + } + + if(lang && lang[lindex]) { + return lang[lindex]; + } + + return index; + }, + + + /** + * Starts the clock + */ + + start: function(callback) { + var t = this; + + if(!t.running && (!t.countdown || t.countdown && t.time.time > 0)) { + t.face.start(t.time); + t.timer.start(function() { + t.flip(); + + if(typeof callback === "function") { + callback(); + } + }); + } + else { + t.log('Trying to start timer when countdown already at 0'); + } + }, + + /** + * Stops the clock + */ + + stop: function(callback) { + this.face.stop(); + this.timer.stop(callback); + + for(var x in this.lists) { + if (this.lists.hasOwnProperty(x)) { + this.lists[x].stop(); + } + } + }, + + /** + * Reset the clock + */ + + reset: function(callback) { + this.timer.reset(callback); + this.face.reset(); + }, + + /** + * Sets the clock time + */ + + setTime: function(time) { + this.time.time = time; + this.flip(true); + }, + + /** + * Get the clock time + * + * @return object Returns a FlipClock.Time object + */ + + getTime: function(time) { + return this.time; + }, + + /** + * Changes the increment of time to up or down (add/sub) + */ + + setCountdown: function(value) { + var running = this.running; + + this.countdown = value ? true : false; + + if(running) { + this.stop(); + this.start(); + } + }, + + /** + * Flip the digits on the clock + * + * @param array An array of digits + */ + flip: function(doNotAddPlayClass) { + this.face.flip(false, doNotAddPlayClass); + } + + }); + +}(jQuery)); + +/*jshint smarttabs:true */ + +/** + * FlipClock.js + * + * @author Justin Kimbrell + * @copyright 2013 - Objective HTML, LLC + * @licesnse http://www.opensource.org/licenses/mit-license.php + */ + +(function($) { + + "use strict"; + + /** + * The FlipClock List class is used to build the list used to create + * the card flip effect. This object fascilates selecting the correct + * node by passing a specific digit. + * + * @param object A FlipClock.Factory object + * @param mixed This is the digit used to set the clock. If an + * object is passed, 0 will be used. + * @param object An object of properties to override the default + */ + + FlipClock.List = FlipClock.Base.extend({ + + /** + * The digit (0-9) + */ + + digit: 0, + + /** + * The CSS classes + */ + + classes: { + active: 'flip-clock-active', + before: 'flip-clock-before', + flip: 'flip' + }, + + /** + * The parent FlipClock.Factory object + */ + + factory: false, + + /** + * The jQuery object + */ + + $el: false, + + /** + * The jQuery object (deprecated) + */ + + $obj: false, + + /** + * The items in the list + */ + + items: [], + + /** + * The last digit + */ + + lastDigit: 0, + + /** + * Constructor + * + * @param object A FlipClock.Factory object + * @param int An integer use to select the correct digit + * @param object An object to override the default properties + */ + + constructor: function(factory, digit, options) { + this.factory = factory; + this.digit = digit; + this.lastDigit = digit; + this.$el = this.createList(); + + // Depcrated support of the $obj property. + this.$obj = this.$el; + + if(digit > 0) { + this.select(digit); + } + + this.factory.$el.append(this.$el); + }, + + /** + * Select the digit in the list + * + * @param int A digit 0-9 + */ + + select: function(digit) { + if(typeof digit === "undefined") { + digit = this.digit; + } + else { + this.digit = digit; + } + + if(this.digit != this.lastDigit) { + var $delete = this.$el.find('.'+this.classes.before).removeClass(this.classes.before); + + this.$el.find('.'+this.classes.active).removeClass(this.classes.active) + .addClass(this.classes.before); + + this.appendListItem(this.classes.active, this.digit); + + $delete.remove(); + + this.lastDigit = this.digit; + } + }, + + /** + * Adds the play class to the DOM object + */ + + play: function() { + this.$el.addClass(this.factory.classes.play); + }, + + /** + * Removes the play class to the DOM object + */ + + stop: function() { + var t = this; + + setTimeout(function() { + t.$el.removeClass(t.factory.classes.play); + }, this.factory.timer.interval); + }, + + /** + * Creates the list item HTML and returns as a string + */ + + createListItem: function(css, value) { + return [ + '
  • ', + '', + '
    ', + '
    ', + '
    '+(value ? value : '')+'
    ', + '
    ', + '
    ', + '
    ', + '
    '+(value ? value : '')+'
    ', + '
    ', + '
    ', + '
  • ' + ].join(''); + }, + + /** + * Append the list item to the parent DOM node + */ + + appendListItem: function(css, value) { + var html = this.createListItem(css, value); + + this.$el.append(html); + }, + + /** + * Create the list of digits and appends it to the DOM object + */ + + createList: function() { + + var lastDigit = this.getPrevDigit() ? this.getPrevDigit() : this.digit; + + var html = $([ + '
      ', + this.createListItem(this.classes.before, lastDigit), + this.createListItem(this.classes.active, this.digit), + '
    ' + ].join('')); + + return html; + }, + + getNextDigit: function() { + return this.digit == 9 ? 0 : this.digit + 1; + }, + + getPrevDigit: function() { + return this.digit == 0 ? 9 : this.digit - 1; + } + + }); + + +}(jQuery)); + +/*jshint smarttabs:true */ + +/** + * FlipClock.js + * + * @author Justin Kimbrell + * @copyright 2013 - Objective HTML, LLC + * @licesnse http://www.opensource.org/licenses/mit-license.php + */ + +(function($) { + + "use strict"; + + /** + * Capitalize the first letter in a string + * + * @return string + */ + + String.prototype.ucfirst = function() { + return this.substr(0, 1).toUpperCase() + this.substr(1); + }; + + /** + * jQuery helper method + * + * @param int An integer used to start the clock (no. seconds) + * @param object An object of properties to override the default + */ + + $.fn.FlipClock = function(digit, options) { + return new FlipClock($(this), digit, options); + }; + + /** + * jQuery helper method + * + * @param int An integer used to start the clock (no. seconds) + * @param object An object of properties to override the default + */ + + $.fn.flipClock = function(digit, options) { + return $.fn.FlipClock(digit, options); + }; + +}(jQuery)); + +/*jshint smarttabs:true */ + +/** + * FlipClock.js + * + * @author Justin Kimbrell + * @copyright 2013 - Objective HTML, LLC + * @licesnse http://www.opensource.org/licenses/mit-license.php + */ + +(function($) { + + "use strict"; + + /** + * The FlipClock Time class is used to manage all the time + * calculations. + * + * @param object A FlipClock.Factory object + * @param mixed This is the digit used to set the clock. If an + * object is passed, 0 will be used. + * @param object An object of properties to override the default + */ + + FlipClock.Time = FlipClock.Base.extend({ + + /** + * The time (in seconds) or a date object + */ + + time: 0, + + /** + * The parent FlipClock.Factory object + */ + + factory: false, + + /** + * The minimum number of digits the clock face must have + */ + + minimumDigits: 0, + + /** + * Constructor + * + * @param object A FlipClock.Factory object + * @param int An integer use to select the correct digit + * @param object An object to override the default properties + */ + + constructor: function(factory, time, options) { + if(typeof options != "object") { + options = {}; + } + + if(!options.minimumDigits) { + options.minimumDigits = factory.minimumDigits; + } + + this.base(options); + this.factory = factory; + + if(time) { + this.time = time; + } + }, + + /** + * Convert a string or integer to an array of digits + * + * @param mixed String or Integer of digits + * @return array An array of digits + */ + + convertDigitsToArray: function(str) { + var data = []; + + str = str.toString(); + + for(var x = 0;x < str.length; x++) { + if(str[x].match(/^\d*$/g)) { + data.push(str[x]); + } + } + + return data; + }, + + /** + * Get a specific digit from the time integer + * + * @param int The specific digit to select from the time + * @return mixed Returns FALSE if no digit is found, otherwise + * the method returns the defined digit + */ + + digit: function(i) { + var timeStr = this.toString(); + var length = timeStr.length; + + if(timeStr[length - i]) { + return timeStr[length - i]; + } + + return false; + }, + + /** + * Formats any array of digits into a valid array of digits + * + * @param mixed An array of digits + * @return array An array of digits + */ + + digitize: function(obj) { + var data = []; + + $.each(obj, function(i, value) { + value = value.toString(); + + if(value.length == 1) { + value = '0'+value; + } + + for(var x = 0; x < value.length; x++) { + data.push(value.charAt(x)); + } + }); + + if(data.length > this.minimumDigits) { + this.minimumDigits = data.length; + } + + if(this.minimumDigits > data.length) { + for(var x = data.length; x < this.minimumDigits; x++) { + data.unshift('0'); + } + } + + return data; + }, + + /** + * Gets a new Date object for the current time + * + * @return array Returns a Date object + */ + + getDateObject: function() { + if(this.time instanceof Date) { + return this.time; + } + + return new Date((new Date()).getTime() + this.getTimeSeconds() * 1000); + }, + + /** + * Gets a digitized daily counter + * + * @return object Returns a digitized object + */ + + getDayCounter: function(includeSeconds) { + var digits = [ + this.getDays(), + this.getHours(true), + this.getMinutes(true) + ]; + + if(includeSeconds) { + digits.push(this.getSeconds(true)); + } + + return this.digitize(digits); + }, + + /** + * Gets number of days + * + * @param bool Should perform a modulus? If not sent, then no. + * @return int Retuns a floored integer + */ + + getDays: function(mod) { + var days = this.getTimeSeconds() / 60 / 60 / 24; + + if(mod) { + days = days % 7; + } + + return Math.floor(days); + }, + + /** + * Gets an hourly breakdown + * + * @return object Returns a digitized object + */ + + getHourCounter: function() { + var obj = this.digitize([ + this.getHours(), + this.getMinutes(true), + this.getSeconds(true) + ]); + + return obj; + }, + + /** + * Gets an hourly breakdown + * + * @return object Returns a digitized object + */ + + getHourly: function() { + return this.getHourCounter(); + }, + + /** + * Gets number of hours + * + * @param bool Should perform a modulus? If not sent, then no. + * @return int Retuns a floored integer + */ + + getHours: function(mod) { + var hours = this.getTimeSeconds() / 60 / 60; + + if(mod) { + hours = hours % 24; + } + + return Math.floor(hours); + }, + + /** + * Gets the twenty-four hour time + * + * @return object returns a digitized object + */ + + getMilitaryTime: function(date, showSeconds) { + if(typeof showSeconds === "undefined") { + showSeconds = true; + } + + if(!date) { + date = this.getDateObject(); + } + + var data = [ + date.getHours(), + date.getMinutes() + ]; + + if(showSeconds === true) { + data.push(date.getSeconds()); + } + + return this.digitize(data); + }, + + /** + * Gets number of minutes + * + * @param bool Should perform a modulus? If not sent, then no. + * @return int Retuns a floored integer + */ + + getMinutes: function(mod) { + var minutes = this.getTimeSeconds() / 60; + + if(mod) { + minutes = minutes % 60; + } + + return Math.floor(minutes); + }, + + /** + * Gets a minute breakdown + */ + + getMinuteCounter: function() { + var obj = this.digitize([ + this.getMinutes(), + this.getSeconds(true) + ]); + + return obj; + }, + + /** + * Gets time count in seconds regardless of if targetting date or not. + * + * @return int Returns a floored integer + */ + + getTimeSeconds: function(date) { + if(!date) { + date = new Date(); + } + + if (this.time instanceof Date) { + if (this.factory.countdown) { + return Math.max(this.time.getTime()/1000 - date.getTime()/1000,0); + } else { + return date.getTime()/1000 - this.time.getTime()/1000 ; + } + } else { + return this.time; + } + }, + + /** + * Gets the current twelve hour time + * + * @return object Returns a digitized object + */ + + getTime: function(date, showSeconds) { + if(typeof showSeconds === "undefined") { + showSeconds = true; + } + + if(!date) { + date = this.getDateObject(); + } + + console.log(date); + + + var hours = date.getHours(); + var merid = hours > 12 ? 'PM' : 'AM'; + var data = [ + hours > 12 ? hours - 12 : (hours === 0 ? 12 : hours), + date.getMinutes() + ]; + + if(showSeconds === true) { + data.push(date.getSeconds()); + } + + return this.digitize(data); + }, + + /** + * Gets number of seconds + * + * @param bool Should perform a modulus? If not sent, then no. + * @return int Retuns a ceiled integer + */ + + getSeconds: function(mod) { + var seconds = this.getTimeSeconds(); + + if(mod) { + if(seconds == 60) { + seconds = 0; + } + else { + seconds = seconds % 60; + } + } + + return Math.ceil(seconds); + }, + + /** + * Gets number of weeks + * + * @param bool Should perform a modulus? If not sent, then no. + * @return int Retuns a floored integer + */ + + getWeeks: function(mod) { + var weeks = this.getTimeSeconds() / 60 / 60 / 24 / 7; + + if(mod) { + weeks = weeks % 52; + } + + return Math.floor(weeks); + }, + + /** + * Removes a specific number of leading zeros from the array. + * This method prevents you from removing too many digits, even + * if you try. + * + * @param int Total number of digits to remove + * @return array An array of digits + */ + + removeLeadingZeros: function(totalDigits, digits) { + var total = 0; + var newArray = []; + + $.each(digits, function(i, digit) { + if(i < totalDigits) { + total += parseInt(digits[i], 10); + } + else { + newArray.push(digits[i]); + } + }); + + if(total === 0) { + return newArray; + } + + return digits; + }, + + /** + * Adds X second to the current time + */ + + addSeconds: function(x) { + if(this.time instanceof Date) { + this.time.setSeconds(this.time.getSeconds() + x); + } + else { + this.time += x; + } + }, + + /** + * Adds 1 second to the current time + */ + + addSecond: function() { + this.addSeconds(1); + }, + + /** + * Substracts X seconds from the current time + */ + + subSeconds: function(x) { + if(this.time instanceof Date) { + this.time.setSeconds(this.time.getSeconds() - x); + } + else { + this.time -= x; + } + }, + + /** + * Substracts 1 second from the current time + */ + + subSecond: function() { + this.subSeconds(1); + }, + + /** + * Converts the object to a human readable string + */ + + toString: function() { + return this.getTimeSeconds().toString(); + } + + /* + getYears: function() { + return Math.floor(this.time / 60 / 60 / 24 / 7 / 52); + }, + + getDecades: function() { + return Math.floor(this.getWeeks() / 10); + }*/ + }); + +}(jQuery)); + +/*jshint smarttabs:true */ + +/** + * FlipClock.js + * + * @author Justin Kimbrell + * @copyright 2013 - Objective HTML, LLC + * @licesnse http://www.opensource.org/licenses/mit-license.php + */ + +(function($) { + + "use strict"; + + /** + * The FlipClock.Timer object managers the JS timers + * + * @param object The parent FlipClock.Factory object + * @param object Override the default options + */ + + FlipClock.Timer = FlipClock.Base.extend({ + + /** + * Callbacks + */ + + callbacks: { + destroy: false, + create: false, + init: false, + interval: false, + start: false, + stop: false, + reset: false + }, + + /** + * FlipClock timer count (how many intervals have passed) + */ + + count: 0, + + /** + * The parent FlipClock.Factory object + */ + + factory: false, + + /** + * Timer interval (1 second by default) + */ + + interval: 1000, + + /** + * The rate of the animation in milliseconds (not currently in use) + */ + + animationRate: 1000, + + /** + * Constructor + * + * @return void + */ + + constructor: function(factory, options) { + this.base(options); + this.factory = factory; + this.callback(this.callbacks.init); + this.callback(this.callbacks.create); + }, + + /** + * This method gets the elapsed the time as an interger + * + * @return void + */ + + getElapsed: function() { + return this.count * this.interval; + }, + + /** + * This method gets the elapsed the time as a Date object + * + * @return void + */ + + getElapsedTime: function() { + return new Date(this.time + this.getElapsed()); + }, + + /** + * This method is resets the timer + * + * @param callback This method resets the timer back to 0 + * @return void + */ + + reset: function(callback) { + clearInterval(this.timer); + this.count = 0; + this._setInterval(callback); + this.callback(this.callbacks.reset); + }, + + /** + * This method is starts the timer + * + * @param callback A function that is called once the timer is destroyed + * @return void + */ + + start: function(callback) { + this.factory.running = true; + this._createTimer(callback); + this.callback(this.callbacks.start); + }, + + /** + * This method is stops the timer + * + * @param callback A function that is called once the timer is destroyed + * @return void + */ + + stop: function(callback) { + this.factory.running = false; + this._clearInterval(callback); + this.callback(this.callbacks.stop); + this.callback(callback); + }, + + /** + * Clear the timer interval + * + * @return void + */ + + _clearInterval: function() { + clearInterval(this.timer); + }, + + /** + * Create the timer object + * + * @param callback A function that is called once the timer is created + * @return void + */ + + _createTimer: function(callback) { + this._setInterval(callback); + }, + + /** + * Destroy the timer object + * + * @param callback A function that is called once the timer is destroyed + * @return void + */ + + _destroyTimer: function(callback) { + this._clearInterval(); + this.timer = false; + this.callback(callback); + this.callback(this.callbacks.destroy); + }, + + /** + * This method is called each time the timer interval is ran + * + * @param callback A function that is called once the timer is destroyed + * @return void + */ + + _interval: function(callback) { + this.callback(this.callbacks.interval); + this.callback(callback); + this.count++; + }, + + /** + * This sets the timer interval + * + * @param callback A function that is called once the timer is destroyed + * @return void + */ + + _setInterval: function(callback) { + var t = this; + + t._interval(callback); + + t.timer = setInterval(function() { + t._interval(callback); + }, this.interval); + } + + }); + +}(jQuery)); + +(function($) { + + /** + * Twenty-Four Hour Clock Face + * + * This class will generate a twenty-four our clock for FlipClock.js + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + FlipClock.TwentyFourHourClockFace = FlipClock.Face.extend({ + + /** + * Constructor + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + constructor: function(factory, options) { + this.base(factory, options); + }, + + /** + * Build the clock face + * + * @param object Pass the time that should be used to display on the clock. + */ + + build: function(time) { + var t = this; + var children = this.factory.$el.find('ul'); + + if(!this.factory.time.time) { + this.factory.original = new Date(); + + this.factory.time = new FlipClock.Time(this.factory, this.factory.original); + } + + var time = time ? time : this.factory.time.getMilitaryTime(false, this.showSeconds); + + if(time.length > children.length) { + $.each(time, function(i, digit) { + t.createList(digit); + }); + } + + this.createDivider(); + this.createDivider(); + + $(this.dividers[0]).insertBefore(this.lists[this.lists.length - 2].$el); + $(this.dividers[1]).insertBefore(this.lists[this.lists.length - 4].$el); + + this.base(); + }, + + /** + * Flip the clock face + */ + + flip: function(time, doNotAddPlayClass) { + this.autoIncrement(); + + time = time ? time : this.factory.time.getMilitaryTime(false, this.showSeconds); + + this.base(time, doNotAddPlayClass); + } + + }); + +}(jQuery)); +(function($) { + + /** + * Counter Clock Face + * + * This class will generate a generice flip counter. The timer has been + * disabled. clock.increment() and clock.decrement() have been added. + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + FlipClock.CounterFace = FlipClock.Face.extend({ + + /** + * Tells the counter clock face if it should auto-increment + */ + + shouldAutoIncrement: false, + + /** + * Constructor + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + constructor: function(factory, options) { + + if(typeof options != "object") { + options = {}; + } + + factory.autoStart = options.autoStart ? true : false; + + if(options.autoStart) { + this.shouldAutoIncrement = true; + } + + factory.increment = function() { + factory.countdown = false; + factory.setTime(factory.getTime().getTimeSeconds() + 1); + }; + + factory.decrement = function() { + factory.countdown = true; + var time = factory.getTime().getTimeSeconds(); + if(time > 0) { + factory.setTime(time - 1); + } + }; + + factory.setValue = function(digits) { + factory.setTime(digits); + }; + + factory.setCounter = function(digits) { + factory.setTime(digits); + }; + + this.base(factory, options); + }, + + /** + * Build the clock face + */ + + build: function() { + var t = this; + var children = this.factory.$el.find('ul'); + var time = this.factory.getTime().digitize([this.factory.getTime().time]); + + if(time.length > children.length) { + $.each(time, function(i, digit) { + var list = t.createList(digit); + + list.select(digit); + }); + + } + + $.each(this.lists, function(i, list) { + list.play(); + }); + + this.base(); + }, + + /** + * Flip the clock face + */ + + flip: function(time, doNotAddPlayClass) { + if(this.shouldAutoIncrement) { + this.autoIncrement(); + } + + if(!time) { + time = this.factory.getTime().digitize([this.factory.getTime().time]); + } + + this.base(time, doNotAddPlayClass); + }, + + /** + * Reset the clock face + */ + + reset: function() { + this.factory.time = new FlipClock.Time( + this.factory, + this.factory.original ? Math.round(this.factory.original) : 0 + ); + + this.flip(); + } + }); + +}(jQuery)); +(function($) { + + /** + * Daily Counter Clock Face + * + * This class will generate a daily counter for FlipClock.js. A + * daily counter will track days, hours, minutes, and seconds. If + * the number of available digits is exceeded in the count, a new + * digit will be created. + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + FlipClock.DailyCounterFace = FlipClock.Face.extend({ + + showSeconds: true, + + /** + * Constructor + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + constructor: function(factory, options) { + this.base(factory, options); + }, + + /** + * Build the clock face + */ + + build: function(time) { + var t = this; + var children = this.factory.$el.find('ul'); + var offset = 0; + + time = time ? time : this.factory.time.getDayCounter(this.showSeconds); + + if(time.length > children.length) { + $.each(time, function(i, digit) { + t.createList(digit); + }); + } + + if(this.showSeconds) { + $(this.createDivider('Seconds')).insertBefore(this.lists[this.lists.length - 2].$el); + } + else + { + offset = 2; + } + + $(this.createDivider('Minutes')).insertBefore(this.lists[this.lists.length - 4 + offset].$el); + $(this.createDivider('Hours')).insertBefore(this.lists[this.lists.length - 6 + offset].$el); + $(this.createDivider('Days', true)).insertBefore(this.lists[0].$el); + + this.base(); + }, + + /** + * Flip the clock face + */ + + flip: function(time, doNotAddPlayClass) { + if(!time) { + time = this.factory.time.getDayCounter(this.showSeconds); + } + + this.autoIncrement(); + + this.base(time, doNotAddPlayClass); + } + + }); + +}(jQuery)); +(function($) { + + /** + * Hourly Counter Clock Face + * + * This class will generate an hourly counter for FlipClock.js. An + * hour counter will track hours, minutes, and seconds. If number of + * available digits is exceeded in the count, a new digit will be + * created. + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + FlipClock.HourlyCounterFace = FlipClock.Face.extend({ + + // clearExcessDigits: true, + + /** + * Constructor + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + constructor: function(factory, options) { + this.base(factory, options); + }, + + /** + * Build the clock face + */ + + build: function(excludeHours, time) { + var t = this; + var children = this.factory.$el.find('ul'); + + time = time ? time : this.factory.time.getHourCounter(); + + if(time.length > children.length) { + $.each(time, function(i, digit) { + t.createList(digit); + }); + } + + $(this.createDivider('Seconds')).insertBefore(this.lists[this.lists.length - 2].$el); + $(this.createDivider('Minutes')).insertBefore(this.lists[this.lists.length - 4].$el); + + if(!excludeHours) { + $(this.createDivider('Hours', true)).insertBefore(this.lists[0].$el); + } + + this.base(); + }, + + /** + * Flip the clock face + */ + + flip: function(time, doNotAddPlayClass) { + if(!time) { + time = this.factory.time.getHourCounter(); + } + + this.autoIncrement(); + + this.base(time, doNotAddPlayClass); + }, + + /** + * Append a newly created list to the clock + */ + + appendDigitToClock: function(obj) { + this.base(obj); + + this.dividers[0].insertAfter(this.dividers[0].next()); + } + + }); + +}(jQuery)); +(function($) { + + /** + * Minute Counter Clock Face + * + * This class will generate a minute counter for FlipClock.js. A + * minute counter will track minutes and seconds. If an hour is + * reached, the counter will reset back to 0. (4 digits max) + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + FlipClock.MinuteCounterFace = FlipClock.HourlyCounterFace.extend({ + + clearExcessDigits: false, + + /** + * Constructor + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + constructor: function(factory, options) { + this.base(factory, options); + }, + + /** + * Build the clock face + */ + + build: function() { + this.base(true, this.factory.time.getMinuteCounter()); + }, + + /** + * Flip the clock face + */ + + flip: function(time, doNotAddPlayClass) { + if(!time) { + time = this.factory.time.getMinuteCounter(); + } + + this.base(time, doNotAddPlayClass); + } + + }); + +}(jQuery)); +(function($) { + + /** + * Twelve Hour Clock Face + * + * This class will generate a twelve hour clock for FlipClock.js + * + * @param object The parent FlipClock.Factory object + * @param object An object of properties to override the default + */ + + FlipClock.TwelveHourClockFace = FlipClock.TwentyFourHourClockFace.extend({ + + /** + * The meridium jQuery DOM object + */ + + meridium: false, + + /** + * The meridium text as string for easy access + */ + + meridiumText: 'AM', + + /** + * Build the clock face + * + * @param object Pass the time that should be used to display on the clock. + */ + + build: function() { + var t = this; + + var time = this.factory.time.getTime(false, this.showSeconds); + + this.base(time); + this.meridiumText = this.getMeridium(); + this.meridium = $([ + '' + ].join('')); + + this.meridium.insertAfter(this.lists[this.lists.length-1].$el); + }, + + /** + * Flip the clock face + */ + + flip: function(time, doNotAddPlayClass) { + if(this.meridiumText != this.getMeridium()) { + this.meridiumText = this.getMeridium(); + this.meridium.find('a').html(this.meridiumText); + } + this.base(this.factory.time.getTime(false, this.showSeconds), doNotAddPlayClass); + }, + + /** + * Get the current meridium + * + * @return string Returns the meridium (AM|PM) + */ + + getMeridium: function() { + return new Date().getHours() >= 12 ? 'PM' : 'AM'; + }, + + /** + * Is it currently in the post-medirium? + * + * @return bool Returns true or false + */ + + isPM: function() { + return this.getMeridium() == 'PM' ? true : false; + }, + + /** + * Is it currently before the post-medirium? + * + * @return bool Returns true or false + */ + + isAM: function() { + return this.getMeridium() == 'AM' ? true : false; + } + + }); + +}(jQuery)); +(function($) { + + /** + * FlipClock Arabic Language Pack + * + * This class will be used to translate tokens into the Arabic language. + * + */ + + FlipClock.Lang.Arabic = { + + 'years' : '爻賳賵丕鬲', + 'months' : '卮賴賵乇', + 'days' : '兀賷丕賲', + 'hours' : '爻丕毓丕鬲', + 'minutes' : '丿賯丕卅賯', + 'seconds' : '孬賵丕賳賷' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['ar'] = FlipClock.Lang.Arabic; + FlipClock.Lang['ar-ar'] = FlipClock.Lang.Arabic; + FlipClock.Lang['arabic'] = FlipClock.Lang.Arabic; + +}(jQuery)); +(function($) { + + /** + * FlipClock Danish Language Pack + * + * This class will used to translate tokens into the Danish language. + * + */ + + FlipClock.Lang.Danish = { + + 'years' : '脜r', + 'months' : 'M氓neder', + 'days' : 'Dage', + 'hours' : 'Timer', + 'minutes' : 'Minutter', + 'seconds' : 'Sekunder' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['da'] = FlipClock.Lang.Danish; + FlipClock.Lang['da-dk'] = FlipClock.Lang.Danish; + FlipClock.Lang['danish'] = FlipClock.Lang.Danish; + +}(jQuery)); +(function($) { + + /** + * FlipClock German Language Pack + * + * This class will used to translate tokens into the German language. + * + */ + + FlipClock.Lang.German = { + + 'years' : 'Jahre', + 'months' : 'Monate', + 'days' : 'Tage', + 'hours' : 'Stunden', + 'minutes' : 'Minuten', + 'seconds' : 'Sekunden' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['de'] = FlipClock.Lang.German; + FlipClock.Lang['de-de'] = FlipClock.Lang.German; + FlipClock.Lang['german'] = FlipClock.Lang.German; + +}(jQuery)); +(function($) { + + /** + * FlipClock English Language Pack + * + * This class will used to translate tokens into the English language. + * + */ + + FlipClock.Lang.English = { + + 'years' : 'Years', + 'months' : 'Months', + 'days' : 'Days', + 'hours' : 'Hours', + 'minutes' : 'Minutes', + 'seconds' : 'Seconds' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['en'] = FlipClock.Lang.English; + FlipClock.Lang['en-us'] = FlipClock.Lang.English; + FlipClock.Lang['english'] = FlipClock.Lang.English; + +}(jQuery)); +(function($) { + + /** + * FlipClock Spanish Language Pack + * + * This class will used to translate tokens into the Spanish language. + * + */ + + FlipClock.Lang.Spanish = { + + 'years' : 'A帽os', + 'months' : 'Meses', + 'days' : 'D铆as', + 'hours' : 'Horas', + 'minutes' : 'Minutos', + 'seconds' : 'Segundos' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['es'] = FlipClock.Lang.Spanish; + FlipClock.Lang['es-es'] = FlipClock.Lang.Spanish; + FlipClock.Lang['spanish'] = FlipClock.Lang.Spanish; + +}(jQuery)); +(function($) { + + /** + * FlipClock Finnish Language Pack + * + * This class will used to translate tokens into the Finnish language. + * + */ + + FlipClock.Lang.Finnish = { + + 'years' : 'Vuotta', + 'months' : 'Kuukautta', + 'days' : 'P盲iv盲盲', + 'hours' : 'Tuntia', + 'minutes' : 'Minuuttia', + 'seconds' : 'Sekuntia' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['fi'] = FlipClock.Lang.Finnish; + FlipClock.Lang['fi-fi'] = FlipClock.Lang.Finnish; + FlipClock.Lang['finnish'] = FlipClock.Lang.Finnish; + +}(jQuery)); + +(function($) { + + /** + * FlipClock Canadian French Language Pack + * + * This class will used to translate tokens into the Canadian French language. + * + */ + + FlipClock.Lang.French = { + + 'years' : 'Ans', + 'months' : 'Mois', + 'days' : 'Jours', + 'hours' : 'Heures', + 'minutes' : 'Minutes', + 'seconds' : 'Secondes' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['fr'] = FlipClock.Lang.French; + FlipClock.Lang['fr-ca'] = FlipClock.Lang.French; + FlipClock.Lang['french'] = FlipClock.Lang.French; + +}(jQuery)); + +(function($) { + + /** + * FlipClock Italian Language Pack + * + * This class will used to translate tokens into the Italian language. + * + */ + + FlipClock.Lang.Italian = { + + 'years' : 'Anni', + 'months' : 'Mesi', + 'days' : 'Giorni', + 'hours' : 'Ore', + 'minutes' : 'Minuti', + 'seconds' : 'Secondi' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['it'] = FlipClock.Lang.Italian; + FlipClock.Lang['it-it'] = FlipClock.Lang.Italian; + FlipClock.Lang['italian'] = FlipClock.Lang.Italian; + +}(jQuery)); + +(function($) { + + /** + * FlipClock Latvian Language Pack + * + * This class will used to translate tokens into the Latvian language. + * + */ + + FlipClock.Lang.Latvian = { + + 'years' : 'Gadi', + 'months' : 'M膿ne拧i', + 'days' : 'Dienas', + 'hours' : 'Stundas', + 'minutes' : 'Min奴tes', + 'seconds' : 'Sekundes' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['lv'] = FlipClock.Lang.Latvian; + FlipClock.Lang['lv-lv'] = FlipClock.Lang.Latvian; + FlipClock.Lang['latvian'] = FlipClock.Lang.Latvian; + +}(jQuery)); +(function($) { + + /** + * FlipClock Dutch Language Pack + * + * This class will used to translate tokens into the Dutch language. + */ + + FlipClock.Lang.Dutch = { + + 'years' : 'Jaren', + 'months' : 'Maanden', + 'days' : 'Dagen', + 'hours' : 'Uren', + 'minutes' : 'Minuten', + 'seconds' : 'Seconden' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['nl'] = FlipClock.Lang.Dutch; + FlipClock.Lang['nl-be'] = FlipClock.Lang.Dutch; + FlipClock.Lang['dutch'] = FlipClock.Lang.Dutch; + +}(jQuery)); + +(function($) { + + /** + * FlipClock Norwegian-Bokm氓l Language Pack + * + * This class will used to translate tokens into the Norwegian language. + * + */ + + FlipClock.Lang.Norwegian = { + + 'years' : '脜r', + 'months' : 'M氓neder', + 'days' : 'Dager', + 'hours' : 'Timer', + 'minutes' : 'Minutter', + 'seconds' : 'Sekunder' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['no'] = FlipClock.Lang.Norwegian; + FlipClock.Lang['nb'] = FlipClock.Lang.Norwegian; + FlipClock.Lang['no-nb'] = FlipClock.Lang.Norwegian; + FlipClock.Lang['norwegian'] = FlipClock.Lang.Norwegian; + +}(jQuery)); + +(function($) { + + /** + * FlipClock Portuguese Language Pack + * + * This class will used to translate tokens into the Portuguese language. + * + */ + + FlipClock.Lang.Portuguese = { + + 'years' : 'Anos', + 'months' : 'Meses', + 'days' : 'Dias', + 'hours' : 'Horas', + 'minutes' : 'Minutos', + 'seconds' : 'Segundos' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['pt'] = FlipClock.Lang.Portuguese; + FlipClock.Lang['pt-br'] = FlipClock.Lang.Portuguese; + FlipClock.Lang['portuguese'] = FlipClock.Lang.Portuguese; + +}(jQuery)); +(function($) { + + /** + * FlipClock Russian Language Pack + * + * This class will used to translate tokens into the Russian language. + * + */ + + FlipClock.Lang.Russian = { + + 'years' : '谢械褌', + 'months' : '屑械褋褟褑械胁', + 'days' : '写薪械泄', + 'hours' : '褔邪褋芯胁', + 'minutes' : '屑懈薪褍褌', + 'seconds' : '褋械泻褍薪写' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['ru'] = FlipClock.Lang.Russian; + FlipClock.Lang['ru-ru'] = FlipClock.Lang.Russian; + FlipClock.Lang['russian'] = FlipClock.Lang.Russian; + +}(jQuery)); +(function($) { + + /** + * FlipClock Swedish Language Pack + * + * This class will used to translate tokens into the Swedish language. + * + */ + + FlipClock.Lang.Swedish = { + + 'years' : '脜r', + 'months' : 'M氓nader', + 'days' : 'Dagar', + 'hours' : 'Timmar', + 'minutes' : 'Minuter', + 'seconds' : 'Sekunder' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['sv'] = FlipClock.Lang.Swedish; + FlipClock.Lang['sv-se'] = FlipClock.Lang.Swedish; + FlipClock.Lang['swedish'] = FlipClock.Lang.Swedish; + +}(jQuery)); + +(function($) { + + /** + * FlipClock Chinese Language Pack + * + * This class will used to translate tokens into the Chinese language. + * + */ + + FlipClock.Lang.Chinese = { + + 'years' : '骞�', + 'months' : '鏈�', + 'days' : '鏃�', + 'hours' : '鏃�', + 'minutes' : '鍒�', + 'seconds' : '绉�' + + }; + + /* Create various aliases for convenience */ + + FlipClock.Lang['zh'] = FlipClock.Lang.Chinese; + FlipClock.Lang['zh-cn'] = FlipClock.Lang.Chinese; + FlipClock.Lang['chinese'] = FlipClock.Lang.Chinese; + +}(jQuery)); diff --git a/apps/clock/1/js/jquery.min.js b/apps/clock/1/js/jquery.min.js new file mode 100644 index 000000000..29b3a2c7b --- /dev/null +++ b/apps/clock/1/js/jquery.min.js @@ -0,0 +1,6 @@ +/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery.min.map +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
    ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
    a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
    t
    ",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
    ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("