@diffenderfer-games/hub 2.0.0-next.5 → 2.0.0-next.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -19
- package/README.md +3 -6
- package/dist/auto.d.ts +5 -5
- package/dist/auto.js +2 -2
- package/dist/avatar-pixi.d.ts +147 -0
- package/dist/avatar-pixi.d.ts.map +1 -0
- package/dist/avatar-pixi.js +280 -0
- package/dist/avatar-pixi.js.map +1 -0
- package/dist/avatar-svg.d.ts +4 -0
- package/dist/avatar-svg.js +5 -0
- package/dist/avatar-three.d.ts +69 -0
- package/dist/avatar-three.d.ts.map +1 -0
- package/dist/avatar-three.js +49 -0
- package/dist/avatar-three.js.map +1 -0
- package/dist/avatar.d.ts +7 -0
- package/dist/avatar.js +487 -0
- package/dist/avatar.js.map +1 -0
- package/dist/daily.d.ts +2 -2
- package/dist/doctor/cli.mjs +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +2 -2
- package/dist/input.d.ts +2 -2
- package/dist/shared/animator.d.ts +104 -0
- package/dist/shared/animator.d.ts.map +1 -0
- package/dist/shared/art.js +1946 -0
- package/dist/shared/art.js.map +1 -0
- package/dist/shared/atlas.d.ts +134 -0
- package/dist/shared/atlas.d.ts.map +1 -0
- package/dist/shared/avatar.d.ts +117 -0
- package/dist/shared/avatar.d.ts.map +1 -0
- package/dist/shared/bridge.js +13 -5
- package/dist/shared/bridge.js.map +1 -1
- package/dist/shared/client-version.gen.js +1 -1
- package/dist/shared/daily.d.ts +129 -18
- package/dist/shared/daily.d.ts.map +1 -1
- package/dist/shared/daily.js +120 -26
- package/dist/shared/daily.js.map +1 -1
- package/dist/shared/defineProperty.js +39 -0
- package/dist/shared/describe.d.ts +32 -0
- package/dist/shared/describe.d.ts.map +1 -0
- package/dist/shared/describe.js +109 -0
- package/dist/shared/describe.js.map +1 -0
- package/dist/shared/globals.js +1 -39
- package/dist/shared/globals.js.map +1 -1
- package/dist/shared/index.d.ts +503 -14
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/input.d.ts +31 -13
- package/dist/shared/input.d.ts.map +1 -1
- package/dist/shared/input.js +40 -2
- package/dist/shared/input.js.map +1 -1
- package/dist/shared/json-guards.js +48 -0
- package/dist/shared/json-guards.js.map +1 -0
- package/dist/shared/live-canvas.js +62 -0
- package/dist/shared/live-canvas.js.map +1 -0
- package/dist/shared/mp.js +1 -1
- package/dist/shared/overlays.js +800 -0
- package/dist/shared/overlays.js.map +1 -0
- package/dist/shared/page-stack.js +2 -1
- package/dist/shared/page-stack.js.map +1 -1
- package/dist/shared/pose-key.js +249 -0
- package/dist/shared/pose-key.js.map +1 -0
- package/dist/shared/race.js +1 -1
- package/dist/shared/rooms.js +1 -1
- package/dist/shared/scene.d.ts +90 -0
- package/dist/shared/scene.d.ts.map +1 -0
- package/dist/shared/social.d.ts +55 -4
- package/dist/shared/social.d.ts.map +1 -1
- package/dist/shared/src.js +2020 -144
- package/dist/shared/src.js.map +1 -1
- package/dist/shared/svg-markup.js +1945 -0
- package/dist/shared/svg-markup.js.map +1 -0
- package/dist/shared/svg.js +27 -0
- package/dist/shared/svg.js.map +1 -0
- package/dist/shared/types.d.ts +166 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/social.d.ts +2 -2
- package/dist/social.js +2 -2
- package/dist/turns.d.ts +39 -0
- package/dist/turns.d.ts.map +1 -0
- package/dist/turns.js +117 -0
- package/dist/turns.js.map +1 -0
- package/package.json +33 -3
- package/src/avatar/adapters/pixi-avatar.ts +73 -0
- package/src/avatar/adapters/pixi-crowd.ts +302 -0
- package/src/avatar/adapters/pixi-types.ts +84 -0
- package/src/avatar/adapters/three.ts +126 -0
- package/src/avatar/animator/animator.ts +285 -0
- package/src/avatar/animator/reactions.ts +44 -0
- package/src/avatar/animator/schedule.ts +73 -0
- package/src/avatar/art/beard.ts +49 -0
- package/src/avatar/art/glasses.ts +67 -0
- package/src/avatar/art/hair.ts +254 -0
- package/src/avatar/art/headwear.ts +75 -0
- package/src/avatar/art/index.ts +21 -0
- package/src/avatar/art/shape.ts +87 -0
- package/src/avatar/art-store.ts +36 -0
- package/src/avatar/atlas.ts +236 -0
- package/src/avatar/catalog-view.ts +14 -0
- package/src/avatar/colour.ts +109 -0
- package/src/avatar/describe.ts +79 -0
- package/src/avatar/face.ts +187 -0
- package/src/avatar/geom.ts +173 -0
- package/src/avatar/layout.ts +47 -0
- package/src/avatar/look-like.ts +52 -0
- package/src/avatar/outputs/bitmap.ts +75 -0
- package/src/avatar/outputs/canvas-paint.ts +177 -0
- package/src/avatar/outputs/canvas.ts +62 -0
- package/src/avatar/outputs/custom-element.ts +140 -0
- package/src/avatar/outputs/element.ts +58 -0
- package/src/avatar/outputs/live-canvas.ts +57 -0
- package/src/avatar/outputs/overlay-svg.ts +22 -0
- package/src/avatar/outputs/pose-key.ts +30 -0
- package/src/avatar/outputs/svg-markup.ts +113 -0
- package/src/avatar/outputs/svg.ts +41 -0
- package/src/avatar/overlays.ts +128 -0
- package/src/avatar/render/body.ts +116 -0
- package/src/avatar/render/colours.ts +81 -0
- package/src/avatar/render/compose.ts +303 -0
- package/src/avatar/render/context.ts +117 -0
- package/src/avatar/render/eyes.ts +78 -0
- package/src/avatar/render/eyewear.ts +118 -0
- package/src/avatar/render/frame.ts +60 -0
- package/src/avatar/render/head.ts +81 -0
- package/src/avatar/render/mouth.ts +86 -0
- package/src/avatar/render/props.ts +91 -0
- package/src/avatar/render/types.ts +84 -0
- package/src/avatar/scene.ts +119 -0
- package/src/avatar-pixi.ts +20 -0
- package/src/avatar-svg.ts +21 -0
- package/src/avatar-three.ts +18 -0
- package/src/avatar.ts +62 -0
- package/src/core/avatar/avatar-cache.ts +95 -0
- package/src/core/avatar/avatar-ref.ts +34 -0
- package/src/core/avatar/avatar-types.ts +43 -0
- package/src/core/avatar/hub-avatar.ts +308 -0
- package/src/core/connection.ts +8 -0
- package/src/core/errors.ts +7 -1
- package/src/core/hub-progress.ts +39 -8
- package/src/core/hub.ts +174 -6
- package/src/core/offline/hub-kinds/avatar-kind.ts +42 -0
- package/src/core/offline/hub-kinds/index.ts +9 -0
- package/src/core/offline/hub-kinds/saved-kind.ts +93 -0
- package/src/core/page-account.ts +121 -0
- package/src/core/rest/routes.gen.ts +31 -1
- package/src/core/resume/hub-resume.ts +39 -5
- package/src/core/resume/resume-types.ts +2 -2
- package/src/core/saved/daily-saves.ts +196 -0
- package/src/core/saved/daily-seed.ts +16 -0
- package/src/core/saved/hub-saved.ts +221 -0
- package/src/core/saved/local-saved.ts +122 -0
- package/src/core/saved/saved-list.ts +129 -0
- package/src/core/saved/saved-open.ts +104 -0
- package/src/core/saved/saved-order.ts +49 -0
- package/src/core/saved/saved-types.ts +24 -0
- package/src/core/turns/hub-turns.ts +140 -0
- package/src/core/turns/turn-game.ts +388 -0
- package/src/core/version/client-version.gen.ts +2 -2
- package/src/daily/daily-system.ts +112 -13
- package/src/daily/page-daily.ts +2 -2
- package/src/daily/types.ts +46 -9
- package/src/doctor/hub-version-fetch.ts +43 -43
- package/src/index.ts +10 -1
- package/src/input/input-system.ts +10 -1
- package/src/input/navigator.ts +11 -0
- package/src/input.ts +1 -0
- package/src/overlay/overlay.ts +25 -1
- package/src/realtime/runtime-api.ts +14 -3
- package/src/social.ts +1 -0
- package/src/turns-kit/check-rules.ts +182 -0
- package/src/turns.ts +13 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art.js","names":[],"sources":["../../src/avatar/art/beard.ts","../../src/avatar/art/glasses.ts","../../src/avatar/art/hair.ts","../../src/avatar/art/headwear.ts","../../src/avatar/art/index.ts"],"mappings":";;AAOA,MAAa,YAAsD;CACjE,MAAM,CAAC;CACP,SAAS,EACP,OAAO,CAAC;EAAE,GAAG,KAAK;GAAC,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,CAAC;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,CAAC;EAAC,CAAC;EAAG,MAAM;EAAW,MAAM;EAAQ,QAAQ;EAAQ,SAAS;CAAI,CAAC,EAClO;CACA,WAAW,EACT,WAAW,CAAC;EAAE,GAAG,KAAK;GAAC,CAAC,GAAG,IAAI;GAAG,CAAC,GAAG,IAAI;GAAG,CAAC,IAAI,EAAE;GAAG;IAAC;IAAI;IAAI;GAAG;GAAG,CAAC,GAAG,IAAI;GAAG,CAAC,GAAG,IAAI;GAAG,CAAC,IAAI,IAAI;GAAG;IAAC;IAAK;IAAI;GAAG;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,IAAI,IAAI;EAAC,CAAC;EAAG,MAAM;CAAQ,CAAC,EAClK;CACA,WAAW,EACT,WAAW,CAAC;EAAE,GAAG,KAAK;GAAC,CAAC,GAAG,EAAE;GAAG,CAAC,GAAG,IAAI;GAAG,CAAC,IAAI,EAAE;GAAG;IAAC;IAAI;IAAI;GAAG;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,GAAG,IAAI;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG;IAAC;IAAK;IAAI;GAAG;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,IAAI,IAAI;EAAC,CAAC;EAAG,MAAM;CAAQ,CAAC,EAC7N;CACA,QAAQ;EACN,OAAO,CAAC;GAAE,GAAG,KAAK;IAAC,CAAC,IAAI,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,IAAI,EAAE;GAAC,CAAC;GAAG,MAAM;EAAQ,CAAC;EAC5F,WAAW,CAAC;GAAE,GAAG,KAAK;IAAC,CAAC,GAAG,IAAI;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,IAAI,IAAI;IAAG;KAAC;KAAI;KAAI;IAAG;IAAG,CAAC,GAAG,IAAI;IAAG,CAAC,GAAG,IAAI;IAAG,CAAC,IAAI,IAAI;IAAG;KAAC;KAAK;KAAI;IAAG;IAAG,CAAC,KAAK,IAAI;IAAG,CAAC,IAAI,EAAE;GAAC,CAAC;GAAG,MAAM;EAAQ,CAAC;CAClK;CACA,WAAW,EACT,OAAO,CAAC;EAAE,GAAG,KAAK;GAAC,GAAG;IAnBP,CAAC,KAAK,CAAC;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,CAAC;GAmB5D;GAAK,CAAC,IAAI,CAAC;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,CAAC;EAAC,CAAC;EAAG,MAAM;CAAQ,CAAC,EACpH;CACA,OAAO;EAEL,OAAO,CAAC;GACN,GAAG,KAAK;IAAC,CAAC,KAAK,EAAE;IAAG,CAAC,OAAO,EAAE;IAAG,CAAC,OAAO,EAAE;IAAG,CAAC,KAAK,IAAI;IAAG,CAAC,GAAG,IAAI;IAAG,CAAC,IAAI,IAAI;IAAG,CAAC,MAAM,EAAE;IAAG,CAAC,MAAM,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,CAAC;IAAG,CAAC,MAAM,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,IAAI;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,KAAK,IAAI;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,OAAO,EAAE;IAAG,CAAC,KAAK,CAAC;GAAC,CAAC;GACtN,MAAM;EACR,GAAG;GAAE,GAAG,KAAK;IAAC,CAAC,IAAI,IAAI;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,GAAG,IAAI;GAAC,GAAG,KAAK;GAAG,MAAM;GAAQ,MAAM;GAAM,QAAQ;GAAc,IAAI;EAAE,CAAC;EAC9G,WAAW,CAAC;GAAE,GAAG,KAAK;IAAC,CAAC,GAAG,IAAI;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,IAAI,IAAI;IAAG;KAAC;KAAM;KAAM;IAAG;IAAG,CAAC,GAAG,IAAI;IAAG,CAAC,GAAG,IAAI;IAAG,CAAC,IAAI,IAAI;IAAG;KAAC;KAAO;KAAM;IAAG;IAAG,CAAC,KAAK,IAAI;IAAG,CAAC,MAAM,EAAE;GAAC,CAAC;GAAG,MAAM;EAAQ,CAAC;CAC9K;CACA,MAAM;EACJ,OAAO,CAAC;GACN,GAAG,KAAK;IAAC,CAAC,KAAK,EAAE;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,CAAC;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,KAAK,CAAC;GAAC,CAAC;GAC3K,MAAM;EACR,GAAG;GAAE,GAAG,KAAK;IAAC,CAAC,IAAI,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,GAAG,EAAE;GAAC,GAAG,KAAK;GAAG,MAAM;GAAQ,MAAM;GAAM,QAAQ;GAAc,IAAI;EAAE,CAAC;EAC1G,WAAW,CAAC;GAAE,GAAG,KAAK;IAAC,CAAC,GAAG,EAAE;IAAG,CAAC,GAAG,IAAI;IAAG,CAAC,IAAI,EAAE;IAAG;KAAC;KAAI;KAAI;IAAG;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,KAAK,EAAE;IAAG;KAAC;KAAK;KAAI;IAAG;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,IAAI,IAAI;GAAC,CAAC;GAAG,MAAM;EAAQ,CAAC;CAC5J;CACA,MAAM;EACJ,OAAO;GAAC;IACN,GAAG,KAAK;KAAC,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG;MAAC;MAAG;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,CAAC;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,GAAG,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,CAAC;IAAC,CAAC;IAChL,MAAM;GACR;GAAG;IAAE,GAAG,KAAK;KAAC,CAAC,KAAK,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,GAAG,EAAE;IAAC,GAAG,KAAK;IAAG,MAAM;IAAQ,MAAM;IAAM,QAAQ;IAAc,IAAI;GAAE;GAC3G;IAAE,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK;IAAG,MAAM;IAAQ,MAAM;IAAM,QAAQ;IAAc,IAAI;GAAE;EAAC;EAC9F,WAAW,CAAC;GAAE,GAAG,KAAK;IAAC,CAAC,GAAG,EAAE;IAAG,CAAC,GAAG,IAAI;IAAG,CAAC,IAAI,EAAE;IAAG;KAAC;KAAI;KAAI;IAAG;IAAG,CAAC,IAAI,EAAE;IAAG,CAAC,GAAG,EAAE;IAAG,CAAC,KAAK,EAAE;IAAG;KAAC;KAAK;KAAI;IAAG;IAAG,CAAC,KAAK,EAAE;IAAG,CAAC,IAAI,IAAI;GAAC,CAAC;GAAG,MAAM;EAAQ,CAAC;CAC5J;AACF;;;;;;;;;ACvCA,MAAM,QAAQ,MAAoB,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;;AAGlE,MAAa,cAAqD;CAChE,OAAO;EAAE,MAAM,KAAK,EAAE;EAAG,QAAQ,KAAK;GAAC,CAAC,IAAI,CAAC;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,GAAG,CAAC;EAAC,GAAG,KAAK;CAAE;CACzE,QAAQ;EAAE,MAAM,YAAY,OAAO,OAAO,IAAI,IAAI,CAAC;EAAG,QAAQ,KAAK;GAAC,CAAC,MAAM,EAAE;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,KAAK,EAAE;EAAC,GAAG,KAAK;CAAE;CAE5G,KAAK;EAAE,MAAM,KAAK,IAAI;EAAG,QAAQ,KAAK;GAAC,CAAC,MAAM,EAAE;GAAG,CAAC,GAAG,IAAI;GAAG,CAAC,KAAK,EAAE;EAAC,GAAG,KAAK;EAAG,OAAO;CAAI;CAE7F,WAAW;EACT,MAAM,KAAK;GAAC,CAAC,KAAK,EAAE;GAAG,CAAC,IAAI,GAAG;GAAG,CAAC,GAAG,KAAK;GAAG;IAAC;IAAI;IAAK;GAAG;GAAG,CAAC,MAAM,CAAC;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,OAAO,CAAC;EAAC,CAAC;EACvG,QAAQ,KAAK;GAAC,CAAC,IAAI,EAAE;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,GAAG,EAAE;EAAC,GAAG,KAAK;EAChD,YAAY;EACZ,OAAO;CACT;CAEA,YAAY;EACV,MAAM,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC;EACrC,KAAK,KAAK;GAAC,CAAC,OAAO,EAAE;GAAG,CAAC,OAAO,KAAK;GAAG,CAAC,MAAM,KAAK;GAAG,CAAC,MAAM,EAAE;EAAC,GAAG,KAAK;EACzE,QAAQ,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE;EACpC,OAAO;CACT;CAEA,SAAS;EACP,MAAM,KAAK;GAAC,CAAC,KAAK,GAAG;GAAG,CAAC,IAAI,KAAK;GAAG,CAAC,MAAM,EAAE;GAAG,CAAC,MAAM,CAAC;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,IAAI,IAAI;GAAG,CAAC,OAAO,CAAC;EAAC,CAAC;EAC5F,QAAQ,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,EAAE;EACtE,YAAY;EACZ,OAAO;CACT;CAEA,YAAY;EACV,MAAM,KAAK;GAAC;IAAC;IAAO;IAAO;GAAG;GAAG;IAAC;IAAM;IAAO;GAAG;GAAG,CAAC,IAAI,CAAC;GAAG,CAAC,MAAM,IAAI;GAAG,CAAC,MAAM,IAAI;GAAG,CAAC,KAAK,CAAC;EAAC,CAAC;EACnG,QAAQ,KAAK;GAAC,CAAC,MAAM,EAAE;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,KAAK,EAAE;EAAC,GAAG,KAAK;EACpD,YAAY;EACZ,OAAO;EACP,MAAM;CACR;CAEA,OAAO;EACL,OAAO,KAAK;GAAC,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,GAAG;GAAG,CAAC,GAAG,GAAG;GAAG,CAAC,IAAI,GAAG;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,IAAI,CAAC;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,GAAG,CAAC;GAAG,CAAC,IAAI,EAAE;GAAG,CAAC,KAAK,EAAE;GAAG,CAAC,KAAK,CAAC;EAAC,CAAC;EACrI,OAAO;EACP,MAAM;CACR;CAEA,QAAQ;EACN,MAAM,KAAK;GAAC;IAAC;IAAG;IAAI;GAAG;GAAG,CAAC,GAAG,GAAG;GAAG,CAAC,IAAI,KAAK;GAAG,CAAC,MAAM,EAAE;GAAG,CAAC,MAAM,CAAC;GAAG;IAAC;IAAG;IAAM;GAAG;GAAG,CAAC,OAAO,CAAC;GAAG,CAAC,OAAO,EAAE;GAAG,CAAC,KAAK,KAAK;GAAG,CAAC,IAAI,GAAG;EAAC,CAAC;EACzI,QAAQ,KAAK;GAAC,CAAC,MAAM,EAAE;GAAG,CAAC,GAAG,EAAE;GAAG,CAAC,KAAK,EAAE;EAAC,GAAG,KAAK;EACpD,OAAO;EACP,MAAM;CACR;CAEA,SAAS;EACP,MAAM,KAAK,IAAI;EACf,UAAU;EACV,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;EACpD,OAAO;CACT;AACF;;;;AC1DA,MAAM,SAAS,KAAa,KAAK,KAAK,KAAK,KAAK,QAAQ,MAAY,IAAI,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK;;AAGhH,MAAM,OAAO,KAAa,UAAyB,KAAK,KAAK,KAAK,QAAc,KAAK,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,GAAG,GAAG,QAAQ,CAAC;AAEzH,MAAM,SAAS,IAAI,IAAI,KAAK,KAAK,KAAK,SAAgB;CACpD,GAAG,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK;CAAG,MAAM;CAAa,MAAM;CAAM,IAAI;CAAK,QAAQ;CAAa,SAAS;AACrH;;AAGA,MAAM,WAAW,KAAa,MAAc,QAAQ,OAClD,KAAK;CAAC,GAAG,IAAI,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;CAAG,CAAC,QAAQ,MAAM,IAAK,IAAI;CAAG,CAAC,GAAG,OAAO,CAAC;CAAG,CAAC,CAAC,QAAQ,MAAM,IAAK,IAAI;AAAC,CAAC;;AAG9H,MAAM,SAAS,IAAY,IAAY,IAAY,IAAY,OAAe,MAAc,QAAQ,MAClG,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,QAAQ,MAAM,MAAM,OAAO,QAAQ,CAAC,GAAG,MAAM,IAAI;;AAGtF,MAAM,UAAU,KAAoB,GAAW,OAAa,WAAoB;CAC9E,MAAM,IAAI,KAAK,KAAK,KAAK;CACzB,OAAO,CACL;EAAE;EAAG,MAAM;EAAQ,MAAM;EAAM,QAAQ;EAAW,IAAI,IAAI;CAAE,GAC5D;EAAE;EAAG,MAAM;EAAQ,MAAM;EAAM,QAAQ;EAAM,IAAI;CAAE,CACrD;AACF;AAEA,MAAM,iBAAuB;CAAC,CAAC,IAAI,EAAE;CAAG,CAAC,IAAI,GAAG;CAAG,CAAC,IAAI,GAAG;CAAG,CAAC,GAAG,GAAG;CAAG,CAAC,KAAK,GAAG;CAAG,CAAC,KAAK,GAAG;CAAG,CAAC,KAAK,EAAE;AAAC;;;;;;;;;AEdzG,MAAa,MAAc;CAAE,MAAM;EFoBjC,MAAM;GACJ,OAAO,CAAC;IAAE,GAAG,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK;IAAG,MAAM;IAAQ,MAAM;IAAM,QAAQ;IAAS,IAAI;IAAK,SAAS;GAAK,CAAC;GAC9H,MAAM,CAAC;GACP,KAAK;EACP;EAEA,MAAM;GACJ,OAAO,CAAC;IACN,GAAG,IAAI,GAAG;KAAC,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;IAAC,CAAC;IACzF,MAAM;IAAY,MAAM;IAAQ,QAAQ;GAC1C,CAAC;GACD,MAAM,CAAC;IAAE,GAAG,QAAQ,GAAG,EAAE;IAAG,MAAM;IAAY,MAAM;IAAQ,QAAQ;GAAO,CAAC;GAC5E,KAAK;EACP;EAEA,MAAM;GACJ,OAAO,CACL;IAAE,GAAG,IAAI,GAAG;KAAC,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IAAG,MAAM;GAAO,GAChI,MAAM,EAAE,CACV;GACA,MAAM,CAAC;IAAE,GAAG,QAAQ,GAAG,EAAE;IAAG,MAAM;GAAO,CAAC;GAC1C,KAAK;EACP;EAEA,OAAO;GACL,OAAO;IACL;KACE,GAAG,KAAK;MAAC,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,EAAE;MAC9F,CAAC,IAAI,EAAE;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;KAAC,CAAC;KACtG,MAAM;IACR;IACA;KAAE,GAAG,KAAK;MAAC,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;KAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAa,IAAI;IAAI;IAC3G,MAAM,IAAI,KAAK,GAAG;GACpB;GACA,MAAM,CAAC;IAAE,GAAG,QAAQ,GAAG,EAAE;IAAG,MAAM;GAAO,CAAC;GAC1C,KAAK;EACP;EAEA,OAAO;GACL,OAAO,CAAC;IACN,GAAG,KAAK;KACN,CAAC,KAAK,EAAE;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAC/G,CAAC,GAAG,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,EAAE;KACvF,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAG;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;IACpJ,CAAC;IACD,MAAM;GACR,GAAG,MAAM,EAAE,CAAC;GACZ,MAAM,CAAC;IACL,GAAG,KAAK;KAAC,CAAC,KAAK,EAAE;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAG;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAC/I,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG;MAAC;MAAG;MAAI;KAAG;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG;MAAC;MAAK;MAAI;KAAG;IAAC,CAAC;IAC5I,MAAM;GACR,CAAC;GACD,KAAK;EACP;EAEA,OAAO;GACL,MAAM,CAAC;IAAE,GAAG,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG;IAAG,MAAM;GAAY,CAAC;GACjE,OAAO,CAAC;IACN,GAAG,QAAQ;KAAC,GAAG,MAAM,GAAG,KAAK,KAAK,CAAC;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,EAAE;IAAC,GAAG,KAAK,IAAI;IACpJ,MAAM;GACR,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC;GACtB,MAAM,CAAC;IAAE,GAAG,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;IAAG,MAAM;GAAO,CAAC;GAC1D,KAAK;EACP;EAEA,OAAO;GACL,OAAO,CAAC;IACN,GAAG,QAAQ;KAAC,GAAG,MAAM,GAAG,KAAK,KAAK,EAAE;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;IAAC,GAAG,KAAK,IAAI;IAC9K,MAAM;GACR,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC;GACtB,MAAM,CAAC;IAAE,GAAG,QAAQ;KAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,GAAG,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;IAAC,GAAG,KAAK,IAAI;IAAG,MAAM;GAAO,CAAC;GAC7J,KAAK;EACP;EAEA,MAAM;GACJ,MAAM,CAAC;IAAE,GAAG,MAAM,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;IAAG,MAAM;GAAO,CAAC;GAC9D,OAAO;IACL;KAAE,GAAG,QAAQ;MAAC,GAAG,MAAM,GAAG,KAAK,KAAK,CAAC;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;KAAC,GAAG,KAAK,IAAI;KAAG,MAAM;KAAQ,QAAQ;IAAO;IACxL;KAAE,GAAG,QAAQ;MAAC,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;KAAC,GAAG,KAAK,OAAO,EAAE;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAW,IAAI;IAAE;IACzL,MAAM,IAAI,KAAK,GAAG;GACpB;GACA,MAAM,CAAC;IAAE,GAAG,MAAM,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;IAAG,MAAM;GAAO,CAAC;GAC9D,KAAK;GACL,YAAY;EACd;EAEA,KAAK;GACH,MAAM,CAAC;IAAE,GAAG,KAAK;KAAC;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,CAAC;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,CAAC;KAAG;MAAC;MAAI;MAAI;KAAG;IAAC,CAAC;IAAG,MAAM;GAAY,CAAC;GACjJ,OAAO,CAAC;IACN,GAAG,KAAK;KAAC;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,CAAC;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,CAAC;KAAG;MAAC;MAAI;MAAI;KAAG;KAC9G,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IACpI,MAAM;GACR,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC;GACtB,MAAM,CAAC;IAAE,GAAG,KAAK;KAAC;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,CAAC;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,CAAC;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,GAAG,EAAE;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IAAG,MAAM;GAAO,CAAC;GAC1K,KAAK;GACL,YAAY;EACd;EAEA,MAAM;GACJ,MAAM,CAAC;IACL,GAAG,KAAK;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,GAAG,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IACzK,MAAM;GACR,CAAC;GACD,OAAO,CAAC;IACN,GAAG,KAAK;KAAC;MAAC;MAAG;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,CAAC;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG;MAAC;MAAG;MAAK;KAAG;KACzJ,CAAC,IAAI,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,CAAC;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;IAAC,CAAC;IACnI,MAAM;GACR,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC;GACtB,MAAM,CAAC;IACL,GAAG,KAAK;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,GAAG,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IACzK,MAAM;GACR,GAAG;IAAE,GAAG,KAAK;KAAC,CAAC,GAAG,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,GAAG,EAAE;IAAC,GAAG,KAAK;IAAG,MAAM;IAAQ,MAAM;IAAM,QAAQ;IAAa,IAAI;GAAI,CAAC;GAC5G,KAAK;GACL,YAAY;EACd;EAEA,UAAU;GACR,MAAM,CACJ;IAAE,GAAG,KAAK;KAAC,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;IAAC,CAAC;IAAG,MAAM;GAAY,CACtI;GACA,OAAO;IACL;KAAE,GAAG,IAAI,GAAG,cAAc;KAAG,MAAM;IAAO;IAC1C;KAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAO,IAAI;KAAG,KAAK;IAAQ;IACvG,MAAM,EAAE;GACV;GACA,MAAM;IACJ;KAAE,GAAG,QAAQ,GAAG,EAAE;KAAG,MAAM;IAAO;IAClC;KAAE,GAAG,KAAK;MAAC,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,EAAE;MAAG;OAAC;OAAG;OAAI;MAAG;MAAG,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,GAAG;KAAC,CAAC;KAAG,MAAM;IAAO;IAC9F;KAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAO,IAAI;IAAE;GAC1F;GACA,KAAK;EACP;EAEA,KAAK;GACH,MAAM,CAAC;IAAE,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;IAAG,MAAM;GAAO,GAAG;IAAE,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK;IAAG,MAAM;IAAQ,MAAM;IAAM,QAAQ;IAAa,IAAI;GAAE,CAAC;GAC7K,OAAO;IACL;KAAE,GAAG,IAAI,GAAG,cAAc;KAAG,MAAM;IAAO;IAC1C;KAAE,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAa,IAAI;IAAI;IAChG,MAAM,IAAI,KAAK,GAAG;GACpB;GACA,MAAM,CAAC;IAAE,GAAG,QAAQ,GAAG,EAAE;IAAG,MAAM;GAAO,GAAG;IAAE,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;IAAG,MAAM;GAAO,CAAC;GACtG,KAAK;EACP;EAEA,OAAO;GACL,MAAM,CAAC;IAAE,GAAG,MAAM,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE;IAAG,MAAM;GAAO,GAAG;IAAE,GAAG,MAAM,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC;IAAG,MAAM;GAAO,CAAC;GACnH,OAAO;IACL;KAAE,GAAG,IAAI,GAAG,cAAc;KAAG,MAAM;IAAO;IAC1C;KAAE,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAa,IAAI;IAAI;IAC/F;KAAE,GAAG,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAO,IAAI;IAAE;IAC3F;KAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAO,IAAI;IAAE;GAC3F;GACA,MAAM;IAAC;KAAE,GAAG,QAAQ,GAAG,EAAE;KAAG,MAAM;IAAO;IAAG;KAAE,GAAG,MAAM,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE;KAAG,MAAM;IAAO;IAAG;KAAE,GAAG,MAAM,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC;KAAG,MAAM;IAAO;GAAC;GACxJ,KAAK;EACP;EAEA,QAAQ;GACN,OAAO,CACL;IAAE,GAAG,IAAI,GAAG;KAAC,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;IAAC,CAAC;IAAG,MAAM;IAAY,MAAM;IAAQ,QAAQ;IAAQ,SAAS;GAAK,GAC5J;IACE,GAAG,KAAK;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAG;MAAK;KAAG;KAAG,CAAC,GAAG,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;IAAC,CAAC;IACrI,MAAM;GACR,CACF;GACA,MAAM,CACJ;IAAE,GAAG,QAAQ,GAAG,EAAE;IAAG,MAAM;IAAY,MAAM;IAAQ,QAAQ;IAAQ,SAAS;GAAK,GACnF;IAAE,GAAG,KAAK;KAAC,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,GAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAG;MAAK;KAAG;KAAG,CAAC,GAAG,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;IAAC,CAAC;IAAG,MAAM;GAAO,CAC7I;GACA,KAAK;EACP;EAEA,MAAM;GACJ,MAAM,CACJ;IAAE,GAAG,KAAK;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,GAAG,EAAE;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IAAG,MAAM;GAAY,GAC3K,GAAG;IAAC;IAAK;IAAK;IAAI;GAAE,CAAC,CAAC,SAAS,OAAO,OAAO;IAAC,CAAC,IAAI,CAAC;IAAG,CAAC,KAAK,MAAM,EAAE;IAAG,CAAC,KAAK,MAAM,EAAE;GAAC,GAAG,GAAG,WAAW,CAAC,CAC3G;GACA,OAAO;IACL;KAAE,GAAG,IAAI,GAAG;MAAC,CAAC,IAAI,EAAE;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,EAAE;KAAC,CAAC;KAAG,MAAM;IAAO;IAChI,GAAG,OAAO;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;IAAC,GAAG,CAAC;IAC/C,GAAG,OAAO;KAAC,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;IAAC,GAAG,CAAC;IAC5C,GAAG,OAAO;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,CAAC;KAAG,CAAC,KAAK,EAAE;IAAC,GAAG,CAAC;IAC9C,GAAG,OAAO;KAAC,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,CAAC;KAAG,CAAC,IAAI,EAAE;IAAC,GAAG,CAAC;IAC3C,MAAM,EAAE;GACV;GACA,MAAM,CACJ;IAAE,GAAG,QAAQ,GAAG,EAAE;IAAG,MAAM;GAAO,GAClC,GAAG;IAAC;IAAK;IAAK;IAAK;IAAG;IAAI;IAAI;GAAE,CAAC,CAAC,SAAS,OAAO,OAAO;IAAC,CAAC,KAAK,MAAM,EAAE;IAAG,CAAC,KAAK,MAAM,EAAE;IAAG,CAAC,KAAK,MAAM,EAAE;GAAC,GAAG,CAAC,CAAC,CAClH;GACA,KAAK;GACL,YAAY;EACd;EAEA,QAAQ;GACN,MAAM,CACJ;IAAE,GAAG,KAAK;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,GAAG,EAAE;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IAAG,MAAM;GAAY,GAC3K,GAAG;IAAC;IAAK;IAAK;IAAI;GAAE,CAAC,CAAC,SAAS,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC,CAC1F;GACA,OAAO;IACL;KAAE,GAAG,IAAI,GAAG;MAAC,CAAC,IAAI,EAAE;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,EAAE;KAAC,CAAC;KAAG,MAAM;IAAO;IACzG;KAAE,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAa,IAAI;IAAI;IAC/F,GAAG;KAAC;KAAK;KAAK;KAAI;IAAE,CAAC,CAAC,KAAK,QAAe;KAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAa,IAAI;IAAI,EAAE;IACnJ,GAAG,OAAO;KAAC,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG,CAAC,KAAK,EAAE;IAAC,GAAG,CAAC;IAC9C,GAAG,OAAO;KAAC,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,IAAI,EAAE;IAAC,GAAG,CAAC;IAC3C;KAAE,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAO,IAAI;KAAG,KAAK;IAAO;IACtG;KAAE,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAO,IAAI;KAAG,KAAK;IAAO;GACtG;GACA,MAAM,CACJ;IAAE,GAAG,QAAQ,GAAG,EAAE;IAAG,MAAM;GAAO,GAClC,GAAG;IAAC;IAAK;IAAK;IAAK;IAAG;IAAI;IAAI;GAAE,CAAC,CAAC,SAAS,OAAO,OAAO;IAAC,CAAC,KAAK,MAAM,GAAG;IAAG,CAAC,KAAK,MAAM,EAAE;IAAG,CAAC,KAAK,MAAM,EAAE;GAAC,GAAG,GAAG,CAAC,CACrH;GACA,KAAK;GACL,YAAY;EACd;CExOiC;CAAU,OAAO;CAAW,SAAS;CAAa,UAAU;EDd7F,OAAO;GAEL,MAAM,CAAC;IACL,GAAG,KAAK;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,GAAG,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IACzK,MAAM;GACR,CAAC;GACD,OAAO;IAAC;KACN,GAAG,KAAK;MAAC,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,EAAE;MAAG,CAAC,IAAI,EAAE;MAAG,CAAC,IAAI,EAAE;MAAG,CAAC,IAAI,EAAE;MAAG,CAAC,GAAG,EAAE;MAAG,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,EAAE;KAAC,CAAC,CAAC,CAC3J,IAAI,KAAK;MAAC,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,EAAE;MAAG,CAAC,IAAI,EAAE;MAAG,CAAC,IAAI,EAAE;MAAG,CAAC,GAAG,EAAE;MAAG,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;KAAC,CAAC,CAAC;KAC7I,MAAM;KAAO,SAAS;IACxB;IAAG;KAAE,GAAG,KAAK;MAAC,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,EAAE;MAAG,CAAC,GAAG,EAAE;KAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAY,IAAI;IAAI;IAC5G;KAAE,GAAG,KAAK;MAAC,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;KAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAY,IAAI;KAAG,SAAS;IAAI;GAAC;GAC1H,MAAM,CAAC;IACL,GAAG,KAAK;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,EAAE;KAAG;MAAC;MAAI;MAAI;KAAG;KAAG,CAAC,IAAI,EAAE;KAAG,CAAC,GAAG,EAAE;KAAG,CAAC,KAAK,EAAE;KAAG;MAAC;MAAK;MAAI;KAAG;KAAG,CAAC,KAAK,EAAE;IAAC,CAAC;IACzK,MAAM;GACR,GAAG;IAAE,GAAG,KAAK;KAAC,CAAC,KAAK,EAAE;KAAG,CAAC,GAAG,EAAE;KAAG,CAAC,IAAI,EAAE;IAAC,GAAG,KAAK;IAAG,MAAM;IAAQ,MAAM;IAAM,QAAQ;IAAY,IAAI;GAAI,CAAC;GAC5G,OAAO;GACP,WAAW;GACX,KAAK;EACP;EACA,UAAU;GACR,MAAM,CACJ;IAAE,GAAG,KAAK;KAAC,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;IAAC,CAAC;IAAG,MAAM;GAAW,GAC5E;IAAE,GAAG,KAAK;KAAC,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,GAAG,GAAG;IAAC,CAAC;IAAG,MAAM;GAAW,CAC3E;GACA,OAAO;IACL;KAAE,GAAG,KAAK;MAAC,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;KAAC,CAAC;KAAG,MAAM;IAAM;IAChK;KAAE,GAAG,KAAK;MAAC,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,IAAI,GAAG;KAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAY,IAAI;IAAI;IAC7G;KAAE,GAAG,KAAK;MAAC,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;KAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAY,IAAI;IAAI;IAC1G;KAAE,GAAG,KAAK,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;KAAG,MAAM;IAAM;GACxD;GACA,MAAM;IACJ;KAAE,GAAG,KAAK;MAAC,CAAC,KAAK,CAAC;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,CAAC;MAAG,CAAC,IAAI,CAAC;MAAG,CAAC,GAAG,EAAE;MAAG,CAAC,KAAK,CAAC;KAAC,CAAC;KAAG,MAAM;IAAM;IAChI;KAAE,GAAG,KAAK;MAAC,CAAC,KAAK,EAAE;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;KAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAY,IAAI;IAAI;IAC3G;KAAE,GAAG,KAAK,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;KAAG,MAAM;IAAM;GACxD;GACA,OAAO;GACP,KAAK;EACP;EACA,QAAQ;GACN,OAAO;IACL;KAAE,GAAG,KAAK;MAAC;OAAC;OAAK;OAAK;MAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG;OAAC;OAAI;OAAK;MAAG;KAAC,CAAC;KAAG,MAAM;IAAM;IAClH;KAAE,GAAG,YAAY,KAAK,KAAK,KAAK,IAAI,CAAC;KAAG,MAAM;IAAW;IACzD,GAAG;KAAC;KAAK;KAAK;KAAG;KAAI;IAAE,CAAC,CAAC,KAAK,QAAe;KAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAO,IAAI;IAAI,EAAE;IAC1I;KAAE,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;KAAG,MAAM;IAAW;GAC9D;GACA,MAAM;IACJ;KAAE,GAAG,KAAK;MAAC;OAAC;OAAK;OAAK;MAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG;OAAC;OAAI;OAAK;MAAG;KAAC,CAAC;KAAG,MAAM;IAAM;IAClH;KAAE,GAAG,YAAY,KAAK,KAAK,KAAK,IAAI,CAAC;KAAG,MAAM;IAAW;IACzD;KAAE,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;KAAG,MAAM;IAAW;GAC9D;GACA,OAAO;GACP,KAAK;EACP;EACA,KAAK;GACH,OAAO;IACL;KAAE,GAAG,KAAK;MAAC;OAAC;OAAK;OAAK;MAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG;OAAC;OAAI;OAAK;MAAG;MAAG,CAAC,GAAG,GAAG;KAAC,CAAC;KAAG,MAAM;IAAM;IAC5H;KAAE,GAAG,KAAK;MAAC,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,GAAG,GAAG;KAAC,GAAG,KAAK;KAAG,MAAM;KAAQ,MAAM;KAAM,QAAQ;KAAY,IAAI;IAAI;IAC1G;KAAE,GAAG,KAAK;MAAC;OAAC;OAAK;OAAK;MAAG;MAAG,CAAC,KAAK,GAAG;MAAG,CAAC,GAAG,GAAG;MAAG,CAAC,IAAI,GAAG;MAAG;OAAC;OAAI;OAAK;MAAG;MAAG,CAAC,IAAI,GAAG;MAAG,CAAC,IAAI,EAAE;MAAG,CAAC,GAAG,EAAE;MAAG,CAAC,KAAK,EAAE;MAAG,CAAC,KAAK,GAAG;KAAC,CAAC;KAAG,MAAM;IAAW;IACrJ;KAAE,GAAG,KAAK,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;KAAG,MAAM;IAAW;GAC5D;GACA,MAAM,CACJ;IAAE,GAAG,KAAK;KAAC;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,KAAK,GAAG;KAAG,CAAC,GAAG,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG,CAAC,IAAI,GAAG;KAAG;MAAC;MAAI;MAAK;KAAG;KAAG;MAAC;MAAK;MAAK;KAAG;KAAG,CAAC,KAAK,GAAG;IAAC,CAAC;IAAG,MAAM;GAAM,GAC1K;IAAE,GAAG,YAAY,KAAK,KAAK,IAAI,GAAG,CAAC;IAAG,MAAM;GAAW,CACzD;GACA,OAAO;GACP,KAAK;EACP;CCrD6F;AAAa"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { n as BodyPose, o as LookLike, r as Facing, u as StatusProp } from "./types.js";
|
|
2
|
+
import { t as SceneNode } from "./scene.js";
|
|
3
|
+
//#region src/avatar/outputs/canvas-paint.d.ts
|
|
4
|
+
/** A 2D context from a canvas or an `OffscreenCanvas`. */
|
|
5
|
+
type Ctx2D = CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
|
|
6
|
+
/** Makes a scratch canvas of a size (for the rim layer); `null` where none can be made. */
|
|
7
|
+
type LayerFactory = (width: number, height: number) => {
|
|
8
|
+
readonly canvas: CanvasImageSource;
|
|
9
|
+
readonly ctx: Ctx2D;
|
|
10
|
+
} | null;
|
|
11
|
+
/** Paints scene nodes in the context's current transform (rig units → pixels is the caller's job). */
|
|
12
|
+
declare function paintNodes(ctx: Ctx2D, nodes: readonly SceneNode[], layer?: LayerFactory): void;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/avatar/overlays.d.ts
|
|
15
|
+
/** An overlay: nodes around its anchor, plus its size for culling and layout. */
|
|
16
|
+
interface Overlay {
|
|
17
|
+
readonly nodes: readonly SceneNode[];
|
|
18
|
+
readonly width: number;
|
|
19
|
+
readonly height: number;
|
|
20
|
+
/** Its bounds around the anchor: x, y, width, height. */
|
|
21
|
+
readonly box: readonly [number, number, number, number];
|
|
22
|
+
}
|
|
23
|
+
/** A name tag: the username in a pill; friends get a green dot and a ★ (never colour alone), you get an accent outline. */
|
|
24
|
+
declare function nameTag(o: {
|
|
25
|
+
readonly name: string;
|
|
26
|
+
readonly friend?: boolean;
|
|
27
|
+
readonly you?: boolean;
|
|
28
|
+
readonly muted?: boolean;
|
|
29
|
+
}): Overlay;
|
|
30
|
+
/** A small game glyph for the activity bubble. */
|
|
31
|
+
type ActivityIcon = 'cards' | 'controller' | 'puzzle' | 'race';
|
|
32
|
+
/** "Playing Uno": the game's catalog title in a light bubble with a tail. */
|
|
33
|
+
declare function activityBubble(o: {
|
|
34
|
+
readonly game: string;
|
|
35
|
+
readonly icon?: ActivityIcon;
|
|
36
|
+
readonly verb?: string;
|
|
37
|
+
}): Overlay;
|
|
38
|
+
/** An emote popping above the head (the hub's quick-chat emotes). */
|
|
39
|
+
declare function emoteBubble(emote: string): Overlay;
|
|
40
|
+
/** Small state glyphs: `!`, `?`, `…` (typing), `zzz`, `♥`. */
|
|
41
|
+
type ReactionGlyph = '!' | '?' | '…' | 'zzz' | '♥';
|
|
42
|
+
/** A reaction glyph in a small bubble. */
|
|
43
|
+
declare function reactionBubble(glyph: ReactionGlyph): Overlay;
|
|
44
|
+
/** The hover or selection ring at the feet (`radius` in px). */
|
|
45
|
+
declare function selectionRing(o?: {
|
|
46
|
+
readonly radius?: number;
|
|
47
|
+
readonly selected?: boolean;
|
|
48
|
+
}): Overlay;
|
|
49
|
+
/** Every overlay builder, as the `overlays` namespace. */
|
|
50
|
+
declare const overlays: {
|
|
51
|
+
nameTag: typeof nameTag;
|
|
52
|
+
activityBubble: typeof activityBubble;
|
|
53
|
+
emoteBubble: typeof emoteBubble;
|
|
54
|
+
reactionBubble: typeof reactionBubble;
|
|
55
|
+
selectionRing: typeof selectionRing;
|
|
56
|
+
};
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region src/avatar/atlas.d.ts
|
|
59
|
+
/** What to bake. */
|
|
60
|
+
interface AtlasKey {
|
|
61
|
+
readonly look: LookLike;
|
|
62
|
+
readonly facing?: Facing;
|
|
63
|
+
readonly body?: BodyPose;
|
|
64
|
+
/** 0 … 1 through the pose's cycle (walk: 8 steps, idle: 4). */
|
|
65
|
+
readonly phase?: number;
|
|
66
|
+
/** One of the baked faces (default `neutral`). */
|
|
67
|
+
readonly face?: 'neutral' | 'happy' | 'surprised';
|
|
68
|
+
readonly status?: StatusProp | null;
|
|
69
|
+
/** Bake at this many px per rig unit (default the atlas scale; far avatars use half). */
|
|
70
|
+
readonly scale?: number;
|
|
71
|
+
}
|
|
72
|
+
/** A baked frame: where it is on which page, and where the feet are inside it. */
|
|
73
|
+
interface AtlasFrame {
|
|
74
|
+
readonly page: number;
|
|
75
|
+
readonly source: CanvasImageSource;
|
|
76
|
+
readonly x: number;
|
|
77
|
+
readonly y: number;
|
|
78
|
+
readonly w: number;
|
|
79
|
+
readonly h: number;
|
|
80
|
+
/** The feet inside the frame, px from its top-left. */
|
|
81
|
+
readonly footX: number;
|
|
82
|
+
readonly footY: number;
|
|
83
|
+
/** Draw flipped horizontally (W, SW, NW). */
|
|
84
|
+
readonly mirror: boolean;
|
|
85
|
+
}
|
|
86
|
+
/** Atlas options. */
|
|
87
|
+
interface AtlasOptions {
|
|
88
|
+
/** Page edge in px (default 2048, 1024 on low-end devices). */
|
|
89
|
+
readonly pageSize?: number;
|
|
90
|
+
/** At most this many pages (default 4); the least recently used is recycled. */
|
|
91
|
+
readonly maxPages?: number;
|
|
92
|
+
/** Px per rig unit (default 0.32: a full character ≈ 64 px tall). */
|
|
93
|
+
readonly scale?: number;
|
|
94
|
+
/** The light rim for dark floors (default on). */
|
|
95
|
+
readonly rim?: boolean;
|
|
96
|
+
/** Makes page canvases (tests, workers); default an `OffscreenCanvas` or DOM canvas. */
|
|
97
|
+
readonly makeCanvas?: (size: number) => {
|
|
98
|
+
readonly canvas: CanvasImageSource;
|
|
99
|
+
readonly ctx: Ctx2D;
|
|
100
|
+
} | null;
|
|
101
|
+
}
|
|
102
|
+
/** The atlas. */
|
|
103
|
+
declare class AvatarAtlas {
|
|
104
|
+
readonly pageSize: number;
|
|
105
|
+
readonly scale: number;
|
|
106
|
+
private readonly maxPages;
|
|
107
|
+
private readonly rim;
|
|
108
|
+
private readonly makeCanvas;
|
|
109
|
+
private readonly pages;
|
|
110
|
+
private readonly frames;
|
|
111
|
+
private readonly queue;
|
|
112
|
+
/** The last frame baked per look code (a stand-in while new frames bake). */
|
|
113
|
+
private readonly latestByLook;
|
|
114
|
+
private clock;
|
|
115
|
+
constructor(opts?: AtlasOptions);
|
|
116
|
+
/** The frame for a key: the baked frame, or `null` (queued for {@link bake}). */
|
|
117
|
+
frame(key: AtlasKey): AtlasFrame | null;
|
|
118
|
+
/** A baked frame whose page still holds it (touching the page for the LRU). */
|
|
119
|
+
private live;
|
|
120
|
+
/** Bakes queued frames for up to `budgetMs` (default 4 ms), oldest first. Returns how many were baked. */
|
|
121
|
+
bake(budgetMs?: number, now?: () => number): number;
|
|
122
|
+
/** Frames still waiting to bake. */
|
|
123
|
+
get pending(): number;
|
|
124
|
+
/** Every page's image (for texture uploads). */
|
|
125
|
+
get sources(): readonly CanvasImageSource[];
|
|
126
|
+
private keyOf;
|
|
127
|
+
private place;
|
|
128
|
+
private bakeOne;
|
|
129
|
+
}
|
|
130
|
+
/** A new atlas (one per scene; pages are shared by every avatar in it). */
|
|
131
|
+
declare function createAtlas(opts?: AtlasOptions): AvatarAtlas;
|
|
132
|
+
//#endregion
|
|
133
|
+
export { ActivityIcon as a, overlays as c, createAtlas as i, Ctx2D as l, AtlasOptions as n, Overlay as o, AvatarAtlas as r, ReactionGlyph as s, AtlasFrame as t, paintNodes as u };
|
|
134
|
+
//# sourceMappingURL=atlas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas.d.ts","names":[],"sources":["../../src/avatar/outputs/canvas-paint.ts","../../src/avatar/overlays.ts","../../src/avatar/atlas.ts"],"mappings":";;;;KAUY,QAAQ,2BAA2B;;KAGnC,gBAAgB,eAAe;WAA8B,QAAQ;WAA4B,KAAK;;;iBAgGlG,WAAW,KAAK,OAAO,gBAAgB,aAAa,QAAQ;;;;UCpG3D;WACN,gBAAgB;WAChB;WACA;;WAEA;;;iBAUK,QAAQ;WAAc;WAAuB;WAA2B;WAAwB;IAAoB;;KAmBxH;;iBAmBI,eAAe;WAAc;WAAuB,OAAO;WAAuB;IAAkB;;iBAmBpG,YAAY,gBAAgB;;KAgBhC;;iBAGI,eAAe,OAAO,gBAAgB;;iBAgBtC,cAAc;WAAc;WAA0B;IAA4B;;cAWrF;;;;;;;;;;UC/GI;WACN,MAAM;WACN,SAAS;WACT,OAAO;;WAEP;;WAEA;WACA,SAAS;;WAET;;;UAIM;WACN;WACA,QAAQ;WACR;WACA;WACA;WACA;;WAEA;WACA;;WAEA;;;UAIM;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA,cAAc;aAA4B,QAAQ;aAA4B,KAAK;;;;cAmBjF;WACF;WACA;mBACQ;mBACA;mBACA;mBACA;mBACA;mBACA;;mBAEA;UACT;EAEI,YAAA,OAAM;;EASlB,MAAM,KAAK,WAAW;;UAcd;;EAWR,KAAK,mBAAc;;MAgBf;;MAKA,oBAAoB;UAIhB;UAQA;UAyCA;;;iBAsCM,YAAY,OAAM,eAAoB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { _ as FaceParams, a as LookDir, b as isExpression, c as Pose, d as View, f as BrowParams, g as FaceExtra, h as Expression, i as Frame, l as RenderOptions, m as EXPRESSION_NAMES, n as BodyPose, o as LookLike, p as EXPRESSIONS, r as Facing, s as Point, t as Anchor, u as StatusProp, v as MouthParams, x as mix, y as expressionFromEmote } from "./types.js";
|
|
2
|
+
import { t as SceneNode } from "./scene.js";
|
|
3
|
+
import { a as ActivityIcon, c as overlays, i as createAtlas, l as Ctx2D, n as AtlasOptions, o as Overlay, r as AvatarAtlas, s as ReactionGlyph, t as AtlasFrame, u as paintNodes } from "./atlas.js";
|
|
4
|
+
import { a as renderSvg, c as composeAvatar, i as ready, n as describe, o as Composed, r as onArtReady, s as HEAD_Y, t as avatarEmoji } from "./describe.js";
|
|
5
|
+
import { a as animator, i as Feeling, n as AnimatorOptions, o as REACTIONS, r as At, s as Reaction, t as Animator } from "./animator.js";
|
|
6
|
+
import { ACCESSORY_SLOTS, AccessorySlot, AvatarLook, AvatarLook as AvatarLook$1, CATALOG, CATALOG_REVISION as CATALOG_REVISION$1, CatalogEntry, CatalogEntry as CatalogEntry$1, DEFAULT_GEN, DecodedLook, FRAME_PRESETS, LOOK_CODE_PREFIX, LookAccessory, LookColour, LookPart, LookProblem, PALETTES as PALETTES$1, PaletteName, PartCategory, PartCategory as PartCategory$1, Preset, RandomLookOptions, Rng, SECOND_COLOUR_CODE, canonicalLook, decodeLook as decodeLook$1, defaultLook as defaultLook$1, distinctLooks, encodeLook as encodeLook$1, isLookCode as isLookCode$1, isTinted, isValidLook, lookProblem, normaliseHex as normaliseHex$1, partById, partName as partName$1, partsOf as partsOf$1, randomLook, resolveColour as resolveColour$1, sameLook, seededRng } from "@diffenderfer-games/hub-contract/avatar";
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/avatar/outputs/bitmap.d.ts
|
|
9
|
+
/** An `ImageBitmap` of the avatar (cached). */
|
|
10
|
+
declare function renderBitmap(like: LookLike, opts?: RenderOptions): Promise<ImageBitmap>;
|
|
11
|
+
/** A data URL: `svg` (synchronous inside, the default) or `png`. */
|
|
12
|
+
declare function renderDataUrl(like: LookLike, opts?: RenderOptions, type?: 'svg' | 'png'): Promise<string>;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/avatar/outputs/canvas.d.ts
|
|
15
|
+
/** Where and how big: the frame box's top-left corner in canvas pixels. */
|
|
16
|
+
interface CanvasPlacement extends RenderOptions {
|
|
17
|
+
readonly x: number;
|
|
18
|
+
readonly y: number;
|
|
19
|
+
}
|
|
20
|
+
/** Draws an avatar in a frame box whose top-left is (x, y), `size` px on its longer edge. */
|
|
21
|
+
declare function renderCanvas(ctx: Ctx2D, like: LookLike, opts: CanvasPlacement): void;
|
|
22
|
+
/** Draws the full character with its feet at (x, y), `scale` px per rig unit (a 100-unit head). */
|
|
23
|
+
declare function renderCanvasAt(ctx: Ctx2D, like: LookLike, opts: RenderOptions & {
|
|
24
|
+
readonly x: number;
|
|
25
|
+
readonly y: number;
|
|
26
|
+
readonly scale: number;
|
|
27
|
+
}): void;
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/avatar/outputs/element.d.ts
|
|
30
|
+
/** A live avatar element. */
|
|
31
|
+
interface AvatarElement {
|
|
32
|
+
/** The element to insert (an inline-block `<span>` holding the `<svg>`). */
|
|
33
|
+
readonly el: HTMLElement;
|
|
34
|
+
/** Shows a new pose (an animator's `pose(t)`). */
|
|
35
|
+
update(pose: Pose): void;
|
|
36
|
+
/** Swaps the look (a player changed their avatar). */
|
|
37
|
+
setLook(like: LookLike): void;
|
|
38
|
+
/** Changes size, frame, facing or other options. */
|
|
39
|
+
setOptions(opts: RenderOptions): void;
|
|
40
|
+
}
|
|
41
|
+
/** A live avatar element; it upgrades itself from the silhouette when the art loads. */
|
|
42
|
+
declare function renderElement(like: LookLike, opts?: RenderOptions, doc?: Document): AvatarElement;
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region src/avatar/layout.d.ts
|
|
45
|
+
/**
|
|
46
|
+
* The rig anchors for a look in a facing and pose: place name plates,
|
|
47
|
+
* bubbles, props and world objects with these, never with magic numbers.
|
|
48
|
+
* Rig units (a 100-unit head), feet at (0, 0), y down.
|
|
49
|
+
*/
|
|
50
|
+
declare function layout(like: LookLike, opts?: Pick<RenderOptions, 'facing' | 'view' | 'pose'>): Readonly<Record<Anchor, Point>>;
|
|
51
|
+
/** The facing for a movement vector (screen space, y down), in 8 or 4 directions. */
|
|
52
|
+
declare function facingFrom(dx: number, dy: number, dirs?: 4 | 8): Facing;
|
|
53
|
+
/**
|
|
54
|
+
* A look direction from one screen point toward another, for card tables
|
|
55
|
+
* where each seat looks at the active player. `strength` scales it.
|
|
56
|
+
*/
|
|
57
|
+
declare function lookToward(from: Point, to: Point, strength?: number): LookDir;
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/avatar/outputs/custom-element.d.ts
|
|
60
|
+
/**
|
|
61
|
+
* Registers `<dg-avatar>` (or another tag). Safe to call more than once;
|
|
62
|
+
* a no-op outside a browser.
|
|
63
|
+
*/
|
|
64
|
+
declare function defineAvatarElement(tag?: string): void;
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/avatar/outputs/overlay-svg.d.ts
|
|
67
|
+
/** The overlay as an `<svg>` of its own size (decorative). */
|
|
68
|
+
declare function overlaySvg(overlay: Overlay, scale?: number): string;
|
|
69
|
+
/** Paints an overlay with its anchor at (x, y). */
|
|
70
|
+
declare function paintOverlay(ctx: Ctx2D, overlay: Overlay, atX: number, atY: number, scale?: number): void;
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/avatar/catalog-view.d.ts
|
|
73
|
+
/** The catalog view. */
|
|
74
|
+
declare const catalog: {
|
|
75
|
+
/** The parts of a category in designer order (retired parts hidden). */
|
|
76
|
+
parts(category: PartCategory): readonly CatalogEntry[];
|
|
77
|
+
/** Every colour palette. */
|
|
78
|
+
palettes: Readonly<Record<import("@diffenderfer-games/hub-contract/avatar").PaletteName, readonly import("@diffenderfer-games/hub-contract/avatar").Preset[]>>;
|
|
79
|
+
/** The catalog revision this build knows. */
|
|
80
|
+
revision: number;
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/avatar/outputs/svg-markup.d.ts
|
|
84
|
+
/** A scene as SVG markup plus the `<defs>` it needs. */
|
|
85
|
+
declare function sceneToSvg(nodes: readonly SceneNode[], prefix: string): {
|
|
86
|
+
readonly body: string;
|
|
87
|
+
readonly defs: string;
|
|
88
|
+
};
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region src/avatar/look-like.d.ts
|
|
91
|
+
/** The look a {@link LookLike} names, or `null` (hidden, malformed, missing). */
|
|
92
|
+
declare function toLook(like: LookLike): AvatarLook | null;
|
|
93
|
+
/** The code a {@link LookLike} names (`''` for none). */
|
|
94
|
+
declare function toCode(like: LookLike): string;
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/avatar/colour.d.ts
|
|
97
|
+
/** OKLab lightness, 0 … 1. */
|
|
98
|
+
declare const lightness: (hex: string) => number;
|
|
99
|
+
/** Perceptual distance (OKLab ΔE × 100). */
|
|
100
|
+
declare function deltaE(a: string, b: string): number;
|
|
101
|
+
/** WCAG contrast ratio between two colours. */
|
|
102
|
+
declare function contrast(a: string, b: string): number;
|
|
103
|
+
declare namespace avatar_d_exports {
|
|
104
|
+
export { ACCESSORY_SLOTS, AccessorySlot, ActivityIcon, Anchor, Animator, AnimatorOptions, At, AtlasFrame, AtlasOptions, AvatarAtlas, AvatarElement, AvatarLook$1 as AvatarLook, BodyPose, BrowParams, CATALOG, CATALOG_REVISION$1 as CATALOG_REVISION, CanvasPlacement, CatalogEntry$1 as CatalogEntry, Composed, Ctx2D, DEFAULT_GEN, DecodedLook, EXPRESSIONS, EXPRESSION_NAMES, Expression, FRAME_PRESETS, FaceExtra, FaceParams, Facing, Feeling, Frame, HEAD_Y, LOOK_CODE_PREFIX, LookAccessory, LookColour, LookDir, LookLike, LookPart, LookProblem, MouthParams, Overlay, PALETTES$1 as PALETTES, PaletteName, PartCategory$1 as PartCategory, Point, Pose, Preset, REACTIONS, RandomLookOptions, Reaction, ReactionGlyph, RenderOptions, Rng, SECOND_COLOUR_CODE, SceneNode, StatusProp, View, animator, avatarEmoji, canonicalLook, catalog, composeAvatar, contrast, createAtlas, decodeLook$1 as decodeLook, defaultLook$1 as defaultLook, defineAvatarElement, deltaE, describe, distinctLooks, encodeLook$1 as encodeLook, expressionFromEmote, facingFrom, isExpression, isLookCode$1 as isLookCode, isTinted, isValidLook, layout, lightness, lookProblem, lookToward, mix, normaliseHex$1 as normaliseHex, onArtReady, overlaySvg, overlays, paintNodes, paintOverlay, partById, partName$1 as partName, partsOf$1 as partsOf, randomLook, ready, render, resolveColour$1 as resolveColour, sameLook, sceneToSvg, seededRng, toCode, toLook };
|
|
105
|
+
}
|
|
106
|
+
/** Every output: SVG markup, a live element, Canvas 2D, a bitmap or a data URL. */
|
|
107
|
+
declare const render: {
|
|
108
|
+
svg: typeof renderSvg;
|
|
109
|
+
element: typeof renderElement;
|
|
110
|
+
canvas: typeof renderCanvas;
|
|
111
|
+
canvasAt: typeof renderCanvasAt;
|
|
112
|
+
bitmap: typeof renderBitmap;
|
|
113
|
+
dataUrl: typeof renderDataUrl;
|
|
114
|
+
};
|
|
115
|
+
//#endregion
|
|
116
|
+
export { lookToward as $, isValidLook as A, seededRng as B, canonicalLook as C, encodeLook$1 as D, distinctLooks as E, partsOf$1 as F, toLook as G, deltaE as H, randomLook as I, overlaySvg as J, sceneToSvg as K, render as L, normaliseHex$1 as M, partById as N, isLookCode$1 as O, partName$1 as P, layout as Q, resolveColour$1 as R, avatar_d_exports as S, defaultLook$1 as T, lightness as U, contrast as V, toCode as W, defineAvatarElement as X, paintOverlay as Y, facingFrom as Z, PartCategory$1 as _, CATALOG_REVISION$1 as a, Rng as b, DecodedLook as c, LookAccessory as d, AvatarElement as et, LookColour as f, PaletteName as g, PALETTES$1 as h, CATALOG as i, lookProblem as j, isTinted as k, FRAME_PRESETS as l, LookProblem as m, AccessorySlot as n, CatalogEntry$1 as o, LookPart as p, catalog as q, AvatarLook$1 as r, DEFAULT_GEN as s, ACCESSORY_SLOTS as t, CanvasPlacement as tt, LOOK_CODE_PREFIX as u, Preset as v, decodeLook$1 as w, SECOND_COLOUR_CODE as x, RandomLookOptions as y, sameLook as z };
|
|
117
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","names":[],"sources":["../../src/avatar/outputs/bitmap.ts","../../src/avatar/outputs/canvas.ts","../../src/avatar/outputs/element.ts","../../src/avatar/layout.ts","../../src/avatar/outputs/custom-element.ts","../../src/avatar/outputs/overlay-svg.ts","../../src/avatar/catalog-view.ts","../../src/avatar/outputs/svg-markup.ts","../../src/avatar/look-like.ts","../../src/avatar/colour.ts","../../src/avatar.ts"],"mappings":";;;;;;;;;iBAsDgB,aAAa,MAAM,UAAU,OAAM,gBAAqB,QAAQ;;iBAK1D,cAAc,MAAM,UAAU,OAAM,eAAoB,uBAA8B;;;;UC5B3F,wBAAwB;WAC9B;WACA;;;iBAgBK,aAAa,KAAK,OAAO,MAAM,UAAU,MAAM;;iBAM/C,eAAe,KAAK,OAAO,MAAM,UAAU,MAAM;WAA2B;WAAoB;WAAoB;;;;;UC3CnH;;WAEN,IAAI;;EAEb,OAAO,MAAM;;EAEb,QAAQ,MAAM;;EAEd,WAAW,MAAM;;;iBAIH,cAAc,MAAM,UAAU,OAAM,eAAoB,MAAK,WAAsB;;;;;;;;iBCdnF,OAAO,MAAM,UAAU,OAAM,KAAK,6CAAkD,SAAS,OAAO,QAAQ;;iBAQ5G,WAAW,YAAY,YAAY,eAAkB;;;;;iBAerD,WAAW,MAAM,OAAO,IAAI,OAAO,oBAAe;;;;;;;iBCKlD,oBAAoB;;;;iBC9BpB,WAAW,SAAS,SAAS;;iBAO7B,aAAa,KAAK,OAAO,SAAS,SAAS,aAAa,aAAa;;;;cCXxE;;EAEK,MAAA,UAAA,wBAAwB;;;;;;;;;iBCmG1B,WAAW,gBAAgB,aAAa;WAA4B;WAAuB;;;;;iBChF3F,OAAO,MAAM,WAAW;;iBAiBxB,OAAO,MAAM;;;;cCmChB,YAAa;;iBAGV,OAAO,WAAW;;iBAwBlB,SAAS,WAAW;;;;;cClDvB"}
|
package/dist/shared/bridge.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as readField, i as isObject, r as hasMethods, t as LEGACY_GLOBAL_NAMES } from "./globals.js";
|
|
2
|
+
import { t as _defineProperty } from "./defineProperty.js";
|
|
2
3
|
//#region src/realtime/hub-link.ts
|
|
3
4
|
/**
|
|
4
5
|
* What the forwarders need from the core client: its error classes (so a
|
|
@@ -48,10 +49,10 @@ function hubLink() {
|
|
|
48
49
|
/**
|
|
49
50
|
* The realtime feature version the runtime reports in {@link RealtimeApi.version}.
|
|
50
51
|
* 2 added races; 3 added invite links and taking back a held seat; 4 added
|
|
51
|
-
* "Play online" (tournaments)
|
|
52
|
-
* it (or by the optional method).
|
|
52
|
+
* "Play online" (tournaments); 5 added avatars (the designer and `ev:avatar`).
|
|
53
|
+
* A client feature-detects newer additions with it (or by the optional method).
|
|
53
54
|
*/
|
|
54
|
-
const REALTIME_FEATURE_VERSION =
|
|
55
|
+
const REALTIME_FEATURE_VERSION = 5;
|
|
55
56
|
/**
|
|
56
57
|
* The cross-bundle shape number of the `rt` page singleton (plan §4.4). The
|
|
57
58
|
* runtime registers with it through `claimSingleton`; bump it only when the
|
|
@@ -60,6 +61,13 @@ const REALTIME_FEATURE_VERSION = 4;
|
|
|
60
61
|
const REALTIME_SINGLETON_API = 1;
|
|
61
62
|
/** The window event the runtime fires once it has installed itself. */
|
|
62
63
|
const REALTIME_READY_EVENT = "hub:rt-ready";
|
|
64
|
+
/**
|
|
65
|
+
* The window event the runtime fires each time its socket says hello (it
|
|
66
|
+
* connected, or connected again after a drop), with `{ user: { id, look } }`
|
|
67
|
+
* from the hello snapshot. `hub.avatar` and `hub.userId()` follow it; changes
|
|
68
|
+
* sent while the socket was down are fetched again.
|
|
69
|
+
*/
|
|
70
|
+
const SESSION_EVENT = "hub:session";
|
|
63
71
|
/** The window event the menu fires when the runtime failed to load (its reason is on `window.__HUB_RT_ERROR__`). */
|
|
64
72
|
const REALTIME_FAILED_EVENT = "hub:rt-failed";
|
|
65
73
|
//#endregion
|
|
@@ -210,6 +218,6 @@ function outdatedRuntime(feature) {
|
|
|
210
218
|
/** The page's one bridge (per client bundle). */
|
|
211
219
|
const pageBridge = new RealtimeBridge();
|
|
212
220
|
//#endregion
|
|
213
|
-
export { isRealtimeApi as a, REALTIME_FEATURE_VERSION as c,
|
|
221
|
+
export { isRealtimeApi as a, REALTIME_FEATURE_VERSION as c, SESSION_EVENT as d, hubLink as f, findRealtimeApi as i, REALTIME_READY_EVENT as l, pageBridge as n, readRuntimeFailure as o, linkRealtimeToHub as p, rethrowAsHubError as r, REALTIME_FAILED_EVENT as s, outdatedRuntime as t, REALTIME_SINGLETON_API as u };
|
|
214
222
|
|
|
215
223
|
//# sourceMappingURL=bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","names":[],"sources":["../../src/realtime/hub-link.ts","../../src/realtime/runtime-api.ts","../../src/realtime/page-runtime.ts","../../src/realtime/bridge.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"bridge.js","names":[],"sources":["../../src/realtime/hub-link.ts","../../src/realtime/runtime-api.ts","../../src/realtime/page-runtime.ts","../../src/realtime/bridge.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/core/version/client-version.gen.ts
|
|
2
2
|
/** This client's package version, sent as `x-hub-client` on REST calls and `client` in `hello`. */
|
|
3
|
-
const HUB_CLIENT_VERSION = "2.0.0-next.
|
|
3
|
+
const HUB_CLIENT_VERSION = "2.0.0-next.7";
|
|
4
4
|
//#endregion
|
|
5
5
|
export { HUB_CLIENT_VERSION as t };
|
|
6
6
|
|
package/dist/shared/daily.d.ts
CHANGED
|
@@ -1,37 +1,99 @@
|
|
|
1
1
|
import { m as SchemaOutput } from "./wire-types.js";
|
|
2
|
-
import { DailyCompletion, DailyCompletions, Json, dailyEndpoints } from "@diffenderfer-games/hub-contract";
|
|
2
|
+
import { DailyCompletion, DailyCompletions, Json, SavedCounts as SavedCounts$1, SavedDaily, SavedGame, SavedKind, SavedKind as SavedKind$1, SavedProgress, SavedStatus, TurnSummary as TurnSummary$1, dailyEndpoints } from "@diffenderfer-games/hub-contract";
|
|
3
|
+
//#region src/core/saved/saved-open.d.ts
|
|
4
|
+
/** The instance id parameter (the contract's `SAVED_OPEN_PARAM`). */
|
|
5
|
+
declare const SAVED_OPEN_PARAM = "hub_open";
|
|
6
|
+
/** The instance kind parameter (the contract's `SAVED_KIND_PARAM`). */
|
|
7
|
+
declare const SAVED_KIND_PARAM = "hub_kind";
|
|
8
|
+
/** The window event the hub menu fires to open an instance of this page's game (cancelable). */
|
|
9
|
+
declare const SAVED_OPEN_EVENT = "hub:saved-open";
|
|
10
|
+
/** The window event the social runtime fires for each `ev:saved` (detail: the `SavedGame`). */
|
|
11
|
+
declare const SAVED_CHANGE_EVENT = "hub:saved";
|
|
12
|
+
/** The instance a page was opened for. */
|
|
13
|
+
interface SavedOpened {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly kind: SavedKind;
|
|
16
|
+
}
|
|
17
|
+
/** The address that opens `game` in its page. */
|
|
18
|
+
declare function savedGameUrl(game: Pick<SavedGame, 'id' | 'kind' | 'path' | 'daily'>): string;
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/core/saved/saved-types.d.ts
|
|
21
|
+
/**
|
|
22
|
+
* One game in progress: a daily challenge, a single-player run or an online
|
|
23
|
+
* game. Its `id` is the hub's, or `local:…` for one saved only on this
|
|
24
|
+
* device so far.
|
|
25
|
+
*/
|
|
26
|
+
interface SavedEntry extends Omit<SavedGame, 'id'> {
|
|
27
|
+
readonly id: string;
|
|
28
|
+
/** Saved on this device and not yet sent to the hub (offline, or the tab closed first). */
|
|
29
|
+
readonly isLocalOnly?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** Which kinds to list. */
|
|
32
|
+
interface SavedListOptions {
|
|
33
|
+
readonly kinds?: readonly SavedKind$1[];
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/core/game-data.d.ts
|
|
37
|
+
/** Anything a game may store as JSON: an object (interfaces included), an array, text, a number, a boolean or `null`. */
|
|
38
|
+
type GamePayload = object | string | number | boolean | null;
|
|
39
|
+
//#endregion
|
|
3
40
|
//#region src/daily/types.d.ts
|
|
4
41
|
/** The response type of a daily endpoint. */
|
|
5
42
|
type DailyResponse<Name extends keyof typeof dailyEndpoints> = SchemaOutput<(typeof dailyEndpoints)[Name]['cfg']['response']>;
|
|
6
|
-
/** This game's daily window
|
|
43
|
+
/** This game's daily window, the player's completions and days in progress (`GET /games/:slug/daily`). */
|
|
7
44
|
type DailyStatus = DailyResponse<'getGameDailyChallenges'>;
|
|
8
45
|
/** Every daily game and the global standings (`GET /daily`). */
|
|
9
46
|
type DailyAll = DailyResponse<'listDailyChallengesForAllGames'>;
|
|
10
47
|
/** One game's row in {@link DailyAll}. */
|
|
11
48
|
type DailyGameStatus = DailyAll['games'][number];
|
|
12
|
-
/** The answer to starting a day: its seed
|
|
49
|
+
/** The answer to starting (or resuming) a day: its seed, the signed token to present on completion, and its saved game. */
|
|
13
50
|
type DailyStartResponse = DailyResponse<'startDailyChallenge'>;
|
|
14
51
|
/** The answer to completing a day: the player's new completion count and rank. */
|
|
15
52
|
type DailyCompleteResponse = DailyResponse<'completeDailyChallenge'>;
|
|
16
53
|
/** The challenge a game's `play` receives: set up and start exactly this day (derive the level from `seed`). */
|
|
17
54
|
interface DailyChallenge {
|
|
18
|
-
/** The day, `YYYY-MM-DD
|
|
55
|
+
/** The day, `YYYY-MM-DD` (a UTC day key). */
|
|
19
56
|
day: string;
|
|
20
57
|
/** Deterministic per game and day. */
|
|
21
58
|
seed: number;
|
|
22
|
-
/** The signed token `complete` presents. */
|
|
59
|
+
/** The signed token `complete` presents (empty for a day started offline: it is fetched when the hub is back). */
|
|
23
60
|
token: string;
|
|
24
|
-
/** The player already completed this day (a replay). */
|
|
61
|
+
/** The player already completed this day (a replay for fun: nothing is saved or recorded). */
|
|
25
62
|
alreadyCompleted?: boolean;
|
|
63
|
+
/** The day's saved game; `null` for a replay of a completed day. */
|
|
64
|
+
instanceId: string | null;
|
|
65
|
+
/**
|
|
66
|
+
* The state last saved for this day (`hub.daily.save`, or `hub.resume.save`
|
|
67
|
+
* during the daily), or `null` when the day starts fresh. A game that
|
|
68
|
+
* saves restores from it: `if (challenge.saved) startFrom(challenge.saved)`.
|
|
69
|
+
*/
|
|
70
|
+
saved: GamePayload | null;
|
|
71
|
+
/** The game's state version of `saved` (0 when none). */
|
|
72
|
+
savedVersion: number;
|
|
73
|
+
/** The day was already in progress and was picked up again. */
|
|
74
|
+
resumed?: boolean;
|
|
26
75
|
}
|
|
27
76
|
/** What `hub.daily.define` takes. */
|
|
28
77
|
interface DailyDefinition {
|
|
29
|
-
/** Start this challenge now. */
|
|
78
|
+
/** Start this challenge now (restore `challenge.saved` when it has one). */
|
|
30
79
|
play: (challenge: DailyChallenge) => void;
|
|
31
80
|
}
|
|
32
81
|
/** Metadata a game records with a completion (`{ score, difficulty, timeMs, … }`). */
|
|
33
82
|
type DailyCompletionMeta = Record<string, Json>;
|
|
34
|
-
/**
|
|
83
|
+
/** A daily state save (the same shape as `hub.resume.save`). */
|
|
84
|
+
interface DailySaveInput {
|
|
85
|
+
/** Everything needed to rebuild the day's run (up to 512 KB as JSON). */
|
|
86
|
+
readonly state: GamePayload;
|
|
87
|
+
/** A short line ("34 cards left") and an optional 0 to 1 fraction. */
|
|
88
|
+
readonly progress: {
|
|
89
|
+
readonly label: string;
|
|
90
|
+
readonly fraction?: number | null;
|
|
91
|
+
};
|
|
92
|
+
readonly title?: string | null;
|
|
93
|
+
/** The game's state version (default 0). */
|
|
94
|
+
readonly version?: number;
|
|
95
|
+
}
|
|
96
|
+
/** What the daily system needs from the hub client: the REST calls, the device copy and its window events. */
|
|
35
97
|
interface DailyHost {
|
|
36
98
|
/** This page's game slug. */
|
|
37
99
|
readonly slug: string | null;
|
|
@@ -39,10 +101,20 @@ interface DailyHost {
|
|
|
39
101
|
status(): Promise<DailyStatus>;
|
|
40
102
|
/** `GET /daily`. */
|
|
41
103
|
all(): Promise<DailyAll>;
|
|
42
|
-
/** `POST /games/:slug/daily/:day/start
|
|
104
|
+
/** Start (or pick up) a day: `POST /games/:slug/daily/:day/start`, or a device-only start while offline. */
|
|
43
105
|
start(day: string): Promise<DailyStartResponse>;
|
|
106
|
+
/** Pick a day in progress up again by its saved game's id. */
|
|
107
|
+
resume(instanceId: string): Promise<DailyStartResponse>;
|
|
44
108
|
/** `POST /games/:slug/daily/:day/complete`; `null` when it was queued offline, to replay when the hub is back. */
|
|
45
109
|
complete(day: string, token: string, meta: DailyCompletionMeta): Promise<DailyCompleteResponse | null>;
|
|
110
|
+
/** Keep the day's state on the device at once and send it soon (works offline); `false` when it can't be stored. */
|
|
111
|
+
save(challenge: DailyChallenge, input: DailySaveInput): boolean;
|
|
112
|
+
/** Send a waiting save now. */
|
|
113
|
+
flush(): Promise<void>;
|
|
114
|
+
/** Give the day up: discard its saved game (works offline). */
|
|
115
|
+
discard(challenge: DailyChallenge): Promise<void>;
|
|
116
|
+
/** This game's days in progress (the saved games of kind daily). */
|
|
117
|
+
inProgress(): Promise<SavedEntry[]>;
|
|
46
118
|
/** Fire a `hub:*` window event (the menu listens). */
|
|
47
119
|
emit(name: string, detail: DailyEventDetail): void;
|
|
48
120
|
}
|
|
@@ -51,6 +123,7 @@ type DailyEventDetail = {
|
|
|
51
123
|
day: string;
|
|
52
124
|
seed: number;
|
|
53
125
|
alreadyCompleted: boolean;
|
|
126
|
+
resumed?: boolean;
|
|
54
127
|
} | {
|
|
55
128
|
day: string;
|
|
56
129
|
count: number;
|
|
@@ -60,6 +133,12 @@ type DailyEventDetail = {
|
|
|
60
133
|
day: string;
|
|
61
134
|
queued: true;
|
|
62
135
|
meta: DailyCompletionMeta;
|
|
136
|
+
} | {
|
|
137
|
+
day: string;
|
|
138
|
+
paused: true;
|
|
139
|
+
} | {
|
|
140
|
+
day: string;
|
|
141
|
+
discarded: true;
|
|
63
142
|
} | {
|
|
64
143
|
day: string;
|
|
65
144
|
error: string;
|
|
@@ -73,15 +152,19 @@ declare class DailySystem {
|
|
|
73
152
|
/**
|
|
74
153
|
* The challenge in progress: set when a day starts; cleared the moment the
|
|
75
154
|
* game calls `complete` (whatever the hub answers, and before it answers)
|
|
76
|
-
* or `cancel
|
|
155
|
+
* or `cancel` (or `discard`). A game's win handler checks it:
|
|
77
156
|
* `if (hub.daily.active) hub.daily.complete(…)`. While it is set the page
|
|
78
|
-
* is in a daily run, so `hub.resume.save` saves
|
|
79
|
-
* player leaves a daily unfinished must call
|
|
157
|
+
* is in a daily run, so `hub.resume.save` saves to the day instead of the
|
|
158
|
+
* game's run: a game whose player leaves a daily unfinished must call
|
|
159
|
+
* `cancel()`.
|
|
80
160
|
*/
|
|
81
161
|
active: DailyChallenge | null;
|
|
82
162
|
private readonly host;
|
|
83
163
|
private play;
|
|
84
164
|
private pendingDay;
|
|
165
|
+
private pendingInstance;
|
|
166
|
+
/** A start on its way to the hub, so a resume of the same day waits for it instead of starting it twice. */
|
|
167
|
+
private inFlight;
|
|
85
168
|
private isRelaying;
|
|
86
169
|
constructor(host: DailyHost);
|
|
87
170
|
/** Whether a game registered a daily-challenge handler on this page. */
|
|
@@ -99,6 +182,31 @@ declare class DailySystem {
|
|
|
99
182
|
* daily system on the page (a client copy that couldn't share this one).
|
|
100
183
|
*/
|
|
101
184
|
startAndPlay(day: string): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* Pick up a day in progress by its saved game's id (from `hub.saved`):
|
|
187
|
+
* a fresh token, then the game's `play` with `challenge.saved`. Finishing
|
|
188
|
+
* it any time later gives that day's credit. A no-op while that day is
|
|
189
|
+
* already being played.
|
|
190
|
+
*/
|
|
191
|
+
resume(instanceId: string): Promise<void>;
|
|
192
|
+
/** Make `challenge` the active day and hand it to the game. */
|
|
193
|
+
private begin;
|
|
194
|
+
/**
|
|
195
|
+
* Save the active day's state, so it can be picked up later (a reload,
|
|
196
|
+
* another device, next week) and still give that day's credit. Kept on
|
|
197
|
+
* the device at once and sent after a short quiet spell (works offline).
|
|
198
|
+
* `hub.resume.save` during a daily lands here too. Returns `false` with
|
|
199
|
+
* no daily active, or for a replay of a completed day (nothing to save).
|
|
200
|
+
*/
|
|
201
|
+
save(input: DailySaveInput): boolean;
|
|
202
|
+
/** This game's days in progress (the calendar marks them, the game can list them). */
|
|
203
|
+
inProgress(): Promise<SavedEntry[]>;
|
|
204
|
+
/**
|
|
205
|
+
* Give up the active day: its progress is discarded and nothing is
|
|
206
|
+
* recorded. The day can be started again fresh while it is in the 30-day
|
|
207
|
+
* window. (The hub's lists ask the player first; a game asks for itself.)
|
|
208
|
+
*/
|
|
209
|
+
discard(): Promise<void>;
|
|
102
210
|
/**
|
|
103
211
|
* Record completion of the active challenge with optional metadata.
|
|
104
212
|
* Resolves with the new completion count and rank, or `null` when no
|
|
@@ -111,9 +219,12 @@ declare class DailySystem {
|
|
|
111
219
|
/** Ask the page's other daily systems to start `day` (this one ignores its own event). */
|
|
112
220
|
private relayStart;
|
|
113
221
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
222
|
+
* Pause the active day: the player left it unfinished (quit, picked
|
|
223
|
+
* another level, started a normal game). Nothing is recorded, and the day
|
|
224
|
+
* stays in progress in "Your games" and the calendar, to finish later
|
|
225
|
+
* (its last save is sent now). Until then the page counts as in a daily,
|
|
226
|
+
* so `hub.resume.save` saves to the day: call `cancel()` on every path
|
|
227
|
+
* that leaves a daily without `complete`. To give a day up, `discard()`.
|
|
117
228
|
*/
|
|
118
229
|
cancel(): void;
|
|
119
230
|
/** This game's window and the player's completions. */
|
|
@@ -123,8 +234,8 @@ declare class DailySystem {
|
|
|
123
234
|
}
|
|
124
235
|
//#endregion
|
|
125
236
|
//#region src/daily/page-daily.d.ts
|
|
126
|
-
/** The cross-bundle shape number of the `daily` singleton. Bump only on an incompatible change. */
|
|
127
|
-
declare const DAILY_SINGLETON_API =
|
|
237
|
+
/** The cross-bundle shape number of the `daily` singleton (2 added save, resume, discard and inProgress). Bump only on an incompatible change. */
|
|
238
|
+
declare const DAILY_SINGLETON_API = 2;
|
|
128
239
|
/** Whether `candidate` is some bundle's daily system (v1 copies included). */
|
|
129
240
|
declare function isDailySystem(candidate: unknown): candidate is DailySystem;
|
|
130
241
|
/**
|
|
@@ -134,5 +245,5 @@ declare function isDailySystem(candidate: unknown): candidate is DailySystem;
|
|
|
134
245
|
*/
|
|
135
246
|
declare function getDaily(host: DailyHost): DailySystem;
|
|
136
247
|
//#endregion
|
|
137
|
-
export {
|
|
248
|
+
export { SAVED_OPEN_EVENT as A, SavedKind$1 as C, TurnSummary$1 as D, SavedStatus as E, SavedOpened as M, savedGameUrl as N, SAVED_CHANGE_EVENT as O, SavedEntry as S, SavedProgress as T, DailyStartResponse as _, isDailySystem as a, SavedCounts$1 as b, DailyAll as c, DailyCompletionMeta as d, DailyDefinition as f, DailySaveInput as g, DailyHost as h, getDaily as i, SAVED_OPEN_PARAM as j, SAVED_KIND_PARAM as k, DailyChallenge as l, DailyGameStatus as m, DailyCompletions as n, DAILY_START_EVENT as o, DailyEventDetail as p, DAILY_SINGLETON_API as r, DailySystem as s, DailyCompletion as t, DailyCompleteResponse as u, DailyStatus as v, SavedListOptions as w, SavedDaily as x, GamePayload as y };
|
|
138
249
|
//# sourceMappingURL=daily.d.ts.map
|