From 44b71bbafe939eb4d43d42a79597dd14426438f3 Mon Sep 17 00:00:00 2001 From: aleclarson Date: Sat, 24 Aug 2024 20:57:25 +0000 Subject: [PATCH] chore: v12.2.0-beta --- v12.2.0-beta/404.html | 80 ++++ v12.2.0-beta/CNAME | 1 + v12.2.0-beta/assets/Swup.BAW7Fnls.js | 1 + .../assets/SwupA11yPlugin.BwOJ-1de.js | 1 + .../assets/SwupBodyClassPlugin.B8ok040w.js | 1 + .../assets/SwupHeadPlugin.6Q8td7LP.js | 1 + .../assets/SwupPreloadPlugin.Bit36d99.js | 1 + .../assets/SwupScriptsPlugin.f2nwucqv.js | 1 + .../assets/SwupScrollPlugin.rmSN6-xu.js | 1 + .../assets/browser-support.Bcx1rOFJ.css | 1 + .../assets/browser-support.CdD5e2eB.css | 1 + v12.2.0-beta/assets/client.CFbmdnQb.js | 2 + v12.2.0-beta/assets/ec.3zb7u.js | 3 + v12.2.0-beta/assets/ec.wnxus.css | 1 + v12.2.0-beta/assets/hoisted.TUn7EJE2.js | 1 + v12.2.0-beta/assets/hoisted.iBdn6T_D.js | 2 + v12.2.0-beta/assets/hooks.module.vf81mID6.js | 1 + v12.2.0-beta/assets/index.modern.CtKZhHHv.js | 1 + v12.2.0-beta/assets/page.LpqHvsRr.js | 2 + v12.2.0-beta/assets/preact.module.BP4etL1N.js | 1 + .../assets/preload-helper.B5A3MRH_.js | 1 + .../assets/radashi-logo-dark@3x.BWiB2XXX.webp | Bin 0 -> 163830 bytes .../assets/signals.module.B8hOACSr.js | 1 + .../assets/tabbed-code-block.CqZYnBmR.js | 1 + v12.2.0-beta/assets/ui-core.BmpKj71L.js | 1 + v12.2.0-beta/authors/aleclarson.png | Bin 0 -> 240196 bytes v12.2.0-beta/blog/first-release/index.html | 100 +++++ v12.2.0-beta/blog/vs-radash/index.html | 206 ++++++++++ .../blog/what-happened-to-radash/index.html | 96 +++++ v12.2.0-beta/browser-support/index.html | 198 ++++++++++ v12.2.0-beta/changelog/index.html | 357 ++++++++++++++++++ v12.2.0-beta/clipboard.svg | 3 + v12.2.0-beta/contributing/index.html | 111 ++++++ v12.2.0-beta/favicon.svg | 1 + v12.2.0-beta/index.html | 137 +++++++ v12.2.0-beta/installation/index.html | 136 +++++++ v12.2.0-beta/mobile/search.svg | 1 + v12.2.0-beta/our-ethos/index.html | 124 ++++++ .../pagefind/fragment/en_12f2ac6.pf_fragment | Bin 0 -> 358 bytes .../pagefind/fragment/en_14581cb.pf_fragment | Bin 0 -> 363 bytes .../pagefind/fragment/en_1880db4.pf_fragment | Bin 0 -> 410 bytes .../pagefind/fragment/en_195c99b.pf_fragment | Bin 0 -> 379 bytes .../pagefind/fragment/en_1a1a5c5.pf_fragment | Bin 0 -> 401 bytes .../pagefind/fragment/en_1cd6984.pf_fragment | Bin 0 -> 322 bytes .../pagefind/fragment/en_1d2f4d9.pf_fragment | Bin 0 -> 637 bytes .../pagefind/fragment/en_1d361f2.pf_fragment | Bin 0 -> 335 bytes .../pagefind/fragment/en_2063296.pf_fragment | Bin 0 -> 499 bytes .../pagefind/fragment/en_22aea1d.pf_fragment | Bin 0 -> 799 bytes .../pagefind/fragment/en_25ac5aa.pf_fragment | Bin 0 -> 438 bytes .../pagefind/fragment/en_265f196.pf_fragment | Bin 0 -> 296 bytes .../pagefind/fragment/en_267e1f2.pf_fragment | Bin 0 -> 880 bytes .../pagefind/fragment/en_2815433.pf_fragment | Bin 0 -> 364 bytes .../pagefind/fragment/en_294a57d.pf_fragment | Bin 0 -> 433 bytes .../pagefind/fragment/en_2992834.pf_fragment | Bin 0 -> 318 bytes .../pagefind/fragment/en_29af3ae.pf_fragment | Bin 0 -> 342 bytes .../pagefind/fragment/en_2a69a75.pf_fragment | Bin 0 -> 408 bytes .../pagefind/fragment/en_2b1d896.pf_fragment | Bin 0 -> 353 bytes .../pagefind/fragment/en_2f8de4b.pf_fragment | Bin 0 -> 311 bytes .../pagefind/fragment/en_316ce14.pf_fragment | Bin 0 -> 319 bytes .../pagefind/fragment/en_31a3d74.pf_fragment | Bin 0 -> 1501 bytes .../pagefind/fragment/en_323ee78.pf_fragment | Bin 0 -> 434 bytes .../pagefind/fragment/en_3375ac9.pf_fragment | Bin 0 -> 789 bytes .../pagefind/fragment/en_3399bf4.pf_fragment | Bin 0 -> 309 bytes .../pagefind/fragment/en_347a6e5.pf_fragment | Bin 0 -> 361 bytes .../pagefind/fragment/en_3568ed2.pf_fragment | Bin 0 -> 2183 bytes .../pagefind/fragment/en_3809873.pf_fragment | Bin 0 -> 332 bytes .../pagefind/fragment/en_3918eac.pf_fragment | Bin 0 -> 3024 bytes .../pagefind/fragment/en_3a7040f.pf_fragment | Bin 0 -> 471 bytes .../pagefind/fragment/en_3bd3c21.pf_fragment | Bin 0 -> 422 bytes .../pagefind/fragment/en_416e73f.pf_fragment | Bin 0 -> 751 bytes .../pagefind/fragment/en_43d9e52.pf_fragment | Bin 0 -> 423 bytes .../pagefind/fragment/en_4528c5f.pf_fragment | Bin 0 -> 344 bytes .../pagefind/fragment/en_45b4bcc.pf_fragment | Bin 0 -> 795 bytes .../pagefind/fragment/en_48ce6b6.pf_fragment | Bin 0 -> 310 bytes .../pagefind/fragment/en_4b77523.pf_fragment | Bin 0 -> 2505 bytes .../pagefind/fragment/en_4c91aa2.pf_fragment | Bin 0 -> 411 bytes .../pagefind/fragment/en_4d3b7de.pf_fragment | Bin 0 -> 366 bytes .../pagefind/fragment/en_5039aa1.pf_fragment | Bin 0 -> 404 bytes .../pagefind/fragment/en_51e8be4.pf_fragment | Bin 0 -> 1527 bytes .../pagefind/fragment/en_53b7d14.pf_fragment | Bin 0 -> 676 bytes .../pagefind/fragment/en_54114e8.pf_fragment | Bin 0 -> 338 bytes .../pagefind/fragment/en_5548a1b.pf_fragment | Bin 0 -> 513 bytes .../pagefind/fragment/en_556ae3f.pf_fragment | Bin 0 -> 435 bytes .../pagefind/fragment/en_556d70e.pf_fragment | Bin 0 -> 315 bytes .../pagefind/fragment/en_574c3bc.pf_fragment | Bin 0 -> 447 bytes .../pagefind/fragment/en_5a04b89.pf_fragment | Bin 0 -> 453 bytes .../pagefind/fragment/en_5b33fdc.pf_fragment | Bin 0 -> 365 bytes .../pagefind/fragment/en_5fcb358.pf_fragment | Bin 0 -> 496 bytes .../pagefind/fragment/en_6040ae4.pf_fragment | Bin 0 -> 305 bytes .../pagefind/fragment/en_6043143.pf_fragment | Bin 0 -> 442 bytes .../pagefind/fragment/en_62184eb.pf_fragment | Bin 0 -> 1064 bytes .../pagefind/fragment/en_6475d0c.pf_fragment | Bin 0 -> 308 bytes .../pagefind/fragment/en_6487357.pf_fragment | Bin 0 -> 313 bytes .../pagefind/fragment/en_652eb94.pf_fragment | Bin 0 -> 501 bytes .../pagefind/fragment/en_6621dc5.pf_fragment | Bin 0 -> 495 bytes .../pagefind/fragment/en_673cf7c.pf_fragment | Bin 0 -> 713 bytes .../pagefind/fragment/en_6984a35.pf_fragment | Bin 0 -> 347 bytes .../pagefind/fragment/en_6a9b5f4.pf_fragment | Bin 0 -> 338 bytes .../pagefind/fragment/en_6ce8436.pf_fragment | Bin 0 -> 634 bytes .../pagefind/fragment/en_6d0bc1c.pf_fragment | Bin 0 -> 402 bytes .../pagefind/fragment/en_6dd02e2.pf_fragment | Bin 0 -> 547 bytes .../pagefind/fragment/en_701ccf7.pf_fragment | Bin 0 -> 325 bytes .../pagefind/fragment/en_74069ae.pf_fragment | Bin 0 -> 745 bytes .../pagefind/fragment/en_745747e.pf_fragment | Bin 0 -> 518 bytes .../pagefind/fragment/en_76c87e8.pf_fragment | Bin 0 -> 493 bytes .../pagefind/fragment/en_77a131b.pf_fragment | Bin 0 -> 372 bytes .../pagefind/fragment/en_782cb8e.pf_fragment | Bin 0 -> 335 bytes .../pagefind/fragment/en_78f4209.pf_fragment | Bin 0 -> 310 bytes .../pagefind/fragment/en_79e1dfd.pf_fragment | Bin 0 -> 1194 bytes .../pagefind/fragment/en_7b54507.pf_fragment | Bin 0 -> 300 bytes .../pagefind/fragment/en_7b9dace.pf_fragment | Bin 0 -> 341 bytes .../pagefind/fragment/en_7c13f61.pf_fragment | Bin 0 -> 460 bytes .../pagefind/fragment/en_7c2641a.pf_fragment | Bin 0 -> 423 bytes .../pagefind/fragment/en_7e31592.pf_fragment | Bin 0 -> 414 bytes .../pagefind/fragment/en_7ea4c57.pf_fragment | Bin 0 -> 320 bytes .../pagefind/fragment/en_82fe57f.pf_fragment | Bin 0 -> 337 bytes .../pagefind/fragment/en_84aa646.pf_fragment | Bin 0 -> 496 bytes .../pagefind/fragment/en_84e1d22.pf_fragment | Bin 0 -> 343 bytes .../pagefind/fragment/en_86ddb46.pf_fragment | Bin 0 -> 317 bytes .../pagefind/fragment/en_889ba3d.pf_fragment | Bin 0 -> 316 bytes .../pagefind/fragment/en_8927b18.pf_fragment | Bin 0 -> 361 bytes .../pagefind/fragment/en_89c058c.pf_fragment | Bin 0 -> 505 bytes .../pagefind/fragment/en_8a2c424.pf_fragment | Bin 0 -> 368 bytes .../pagefind/fragment/en_8b7fde7.pf_fragment | Bin 0 -> 431 bytes .../pagefind/fragment/en_8de33bc.pf_fragment | Bin 0 -> 443 bytes .../pagefind/fragment/en_8e96453.pf_fragment | Bin 0 -> 314 bytes .../pagefind/fragment/en_8efe574.pf_fragment | Bin 0 -> 523 bytes .../pagefind/fragment/en_906dd1a.pf_fragment | Bin 0 -> 425 bytes .../pagefind/fragment/en_909acf6.pf_fragment | Bin 0 -> 396 bytes .../pagefind/fragment/en_90ca681.pf_fragment | Bin 0 -> 438 bytes .../pagefind/fragment/en_9113102.pf_fragment | Bin 0 -> 374 bytes .../pagefind/fragment/en_964f954.pf_fragment | Bin 0 -> 370 bytes .../pagefind/fragment/en_9949167.pf_fragment | Bin 0 -> 449 bytes .../pagefind/fragment/en_99accfd.pf_fragment | Bin 0 -> 522 bytes .../pagefind/fragment/en_9e3fcbb.pf_fragment | Bin 0 -> 789 bytes .../pagefind/fragment/en_9ff429b.pf_fragment | Bin 0 -> 379 bytes .../pagefind/fragment/en_a0c535e.pf_fragment | Bin 0 -> 519 bytes .../pagefind/fragment/en_a28df89.pf_fragment | Bin 0 -> 328 bytes .../pagefind/fragment/en_a2e8182.pf_fragment | Bin 0 -> 544 bytes .../pagefind/fragment/en_a3f1044.pf_fragment | Bin 0 -> 803 bytes .../pagefind/fragment/en_a4fc7fa.pf_fragment | Bin 0 -> 432 bytes .../pagefind/fragment/en_a863361.pf_fragment | Bin 0 -> 976 bytes .../pagefind/fragment/en_a912c88.pf_fragment | Bin 0 -> 527 bytes .../pagefind/fragment/en_a9d25f2.pf_fragment | Bin 0 -> 321 bytes .../pagefind/fragment/en_b14977d.pf_fragment | Bin 0 -> 686 bytes .../pagefind/fragment/en_b32a22d.pf_fragment | Bin 0 -> 314 bytes .../pagefind/fragment/en_b66698d.pf_fragment | Bin 0 -> 354 bytes .../pagefind/fragment/en_b6e1176.pf_fragment | Bin 0 -> 1182 bytes .../pagefind/fragment/en_bb28831.pf_fragment | Bin 0 -> 444 bytes .../pagefind/fragment/en_be4d9ab.pf_fragment | Bin 0 -> 3474 bytes .../pagefind/fragment/en_c147404.pf_fragment | Bin 0 -> 324 bytes .../pagefind/fragment/en_c3d93f5.pf_fragment | Bin 0 -> 564 bytes .../pagefind/fragment/en_c5779e4.pf_fragment | Bin 0 -> 509 bytes .../pagefind/fragment/en_ca52e48.pf_fragment | Bin 0 -> 2471 bytes .../pagefind/fragment/en_ca9d6f3.pf_fragment | Bin 0 -> 614 bytes .../pagefind/fragment/en_cb72c56.pf_fragment | Bin 0 -> 357 bytes .../pagefind/fragment/en_cffd776.pf_fragment | Bin 0 -> 431 bytes .../pagefind/fragment/en_d1eaab9.pf_fragment | Bin 0 -> 704 bytes .../pagefind/fragment/en_d419d61.pf_fragment | Bin 0 -> 1092 bytes .../pagefind/fragment/en_d52f749.pf_fragment | Bin 0 -> 452 bytes .../pagefind/fragment/en_dc72891.pf_fragment | Bin 0 -> 1532 bytes .../pagefind/fragment/en_dd70b78.pf_fragment | Bin 0 -> 431 bytes .../pagefind/fragment/en_df1bf5f.pf_fragment | Bin 0 -> 1768 bytes .../pagefind/fragment/en_df75427.pf_fragment | Bin 0 -> 3334 bytes .../pagefind/fragment/en_e2543ac.pf_fragment | Bin 0 -> 960 bytes .../pagefind/fragment/en_e7de785.pf_fragment | Bin 0 -> 394 bytes .../pagefind/fragment/en_efdfc31.pf_fragment | Bin 0 -> 398 bytes .../pagefind/fragment/en_f145640.pf_fragment | Bin 0 -> 442 bytes .../pagefind/fragment/en_f170635.pf_fragment | Bin 0 -> 315 bytes .../pagefind/fragment/en_fb68a96.pf_fragment | Bin 0 -> 433 bytes .../pagefind/fragment/en_feba48b.pf_fragment | Bin 0 -> 2275 bytes .../pagefind/index/en_1f6b186.pf_index | Bin 0 -> 34523 bytes .../pagefind/index/en_64aac47.pf_index | Bin 0 -> 34165 bytes .../pagefind/index/en_87f599c.pf_index | Bin 0 -> 4284 bytes v12.2.0-beta/pagefind/pagefind-entry.json | 1 + v12.2.0-beta/pagefind/pagefind-modular-ui.css | 214 +++++++++++ v12.2.0-beta/pagefind/pagefind-modular-ui.js | 8 + v12.2.0-beta/pagefind/pagefind-ui.css | 1 + v12.2.0-beta/pagefind/pagefind-ui.js | 2 + .../pagefind/pagefind.en_7b9e5d8b4e.pf_meta | Bin 0 -> 1054 bytes v12.2.0-beta/pagefind/pagefind.js | 9 + v12.2.0-beta/pagefind/wasm.en.pagefind | Bin 0 -> 60991 bytes v12.2.0-beta/pagefind/wasm.unknown.pagefind | Bin 0 -> 56166 bytes v12.2.0-beta/parity/100.svg | 30 ++ v12.2.0-beta/parity/no.svg | 22 ++ v12.2.0-beta/parity/null.svg | 41 ++ v12.2.0-beta/parity/soon.svg | 35 ++ v12.2.0-beta/parity/yes.svg | 22 ++ v12.2.0-beta/playground/index.html | 4 + .../reference/array/alphabetical/index.html | 95 +++++ v12.2.0-beta/reference/array/boil/index.html | 91 +++++ .../reference/array/castArray/index.html | 90 +++++ .../array/castArrayIfExists/index.html | 90 +++++ .../reference/array/cluster/index.html | 93 +++++ .../reference/array/counting/index.html | 94 +++++ v12.2.0-beta/reference/array/diff/index.html | 92 +++++ v12.2.0-beta/reference/array/first/index.html | 91 +++++ v12.2.0-beta/reference/array/flat/index.html | 92 +++++ v12.2.0-beta/reference/array/fork/index.html | 91 +++++ v12.2.0-beta/reference/array/group/index.html | 91 +++++ .../reference/array/intersects/index.html | 93 +++++ .../reference/array/iterate/index.html | 91 +++++ v12.2.0-beta/reference/array/last/index.html | 91 +++++ v12.2.0-beta/reference/array/list/index.html | 105 ++++++ .../reference/array/mapify/index.html | 110 ++++++ v12.2.0-beta/reference/array/merge/index.html | 93 +++++ .../reference/array/objectify/index.html | 93 +++++ .../reference/array/replace/index.html | 92 +++++ .../array/replaceOrAppend/index.html | 93 +++++ .../reference/array/select/index.html | 92 +++++ .../reference/array/selectFirst/index.html | 100 +++++ v12.2.0-beta/reference/array/shift/index.html | 89 +++++ v12.2.0-beta/reference/array/sift/index.html | 91 +++++ v12.2.0-beta/reference/array/sort/index.html | 92 +++++ .../reference/array/toggle/index.html | 102 +++++ .../reference/array/unique/index.html | 92 +++++ v12.2.0-beta/reference/array/unzip/index.html | 90 +++++ v12.2.0-beta/reference/array/zip/index.html | 91 +++++ .../reference/array/zipToObject/index.html | 93 +++++ v12.2.0-beta/reference/async/all/index.html | 97 +++++ v12.2.0-beta/reference/async/defer/index.html | 104 +++++ v12.2.0-beta/reference/async/guard/index.html | 91 +++++ v12.2.0-beta/reference/async/map/index.html | 91 +++++ .../reference/async/parallel/index.html | 101 +++++ .../reference/async/reduce/index.html | 91 +++++ v12.2.0-beta/reference/async/retry/index.html | 93 +++++ v12.2.0-beta/reference/async/sleep/index.html | 90 +++++ v12.2.0-beta/reference/async/tryit/index.html | 96 +++++ .../reference/async/withResolvers/index.html | 91 +++++ v12.2.0-beta/reference/curry/chain/index.html | 99 +++++ .../reference/curry/compose/index.html | 95 +++++ .../reference/curry/debounce/index.html | 113 ++++++ v12.2.0-beta/reference/curry/flip/index.html | 92 +++++ v12.2.0-beta/reference/curry/memo/index.html | 105 ++++++ v12.2.0-beta/reference/curry/once/index.html | 95 +++++ .../reference/curry/partial/index.html | 92 +++++ .../reference/curry/partob/index.html | 92 +++++ .../reference/curry/proxied/index.html | 92 +++++ .../reference/curry/throttle/index.html | 113 ++++++ .../reference/function/always/index.html | 95 +++++ .../function/castComparator/index.html | 103 +++++ .../reference/function/castMapping/index.html | 131 +++++++ .../reference/function/noop/index.html | 96 +++++ v12.2.0-beta/reference/index.html | 215 +++++++++++ .../reference/number/clamp/index.html | 100 +++++ .../reference/number/inRange/index.html | 96 +++++ v12.2.0-beta/reference/number/lerp/index.html | 93 +++++ v12.2.0-beta/reference/number/max/index.html | 91 +++++ v12.2.0-beta/reference/number/min/index.html | 91 +++++ .../reference/number/range/index.html | 108 ++++++ .../reference/number/round/index.html | 96 +++++ v12.2.0-beta/reference/number/sum/index.html | 91 +++++ .../reference/number/toFloat/index.html | 90 +++++ .../reference/number/toInt/index.html | 90 +++++ .../reference/object/assign/index.html | 91 +++++ .../reference/object/clone/index.html | 92 +++++ .../reference/object/cloneDeep/index.html | 106 ++++++ .../reference/object/construct/index.html | 91 +++++ .../reference/object/crush/index.html | 91 +++++ .../reference/object/filterKey/index.html | 91 +++++ v12.2.0-beta/reference/object/get/index.html | 91 +++++ .../reference/object/invert/index.html | 91 +++++ v12.2.0-beta/reference/object/keys/index.html | 95 +++++ .../reference/object/listify/index.html | 91 +++++ .../reference/object/lowerize/index.html | 92 +++++ .../reference/object/mapEntries/index.html | 94 +++++ .../reference/object/mapKeys/index.html | 92 +++++ .../reference/object/mapValues/index.html | 92 +++++ v12.2.0-beta/reference/object/omit/index.html | 91 +++++ v12.2.0-beta/reference/object/pick/index.html | 103 +++++ v12.2.0-beta/reference/object/set/index.html | 91 +++++ .../reference/object/shake/index.html | 91 +++++ .../reference/object/traverse/index.html | 159 ++++++++ .../reference/object/upperize/index.html | 92 +++++ v12.2.0-beta/reference/random/draw/index.html | 91 +++++ .../reference/random/random/index.html | 90 +++++ .../reference/random/shuffle/index.html | 91 +++++ v12.2.0-beta/reference/random/uid/index.html | 91 +++++ .../reference/series/series/index.html | 98 +++++ .../reference/string/camel/index.html | 90 +++++ .../reference/string/capitalize/index.html | 90 +++++ v12.2.0-beta/reference/string/dash/index.html | 90 +++++ .../reference/string/pascal/index.html | 90 +++++ .../reference/string/similarity/index.html | 104 +++++ .../reference/string/snake/index.html | 93 +++++ .../reference/string/template/index.html | 90 +++++ .../reference/string/title/index.html | 90 +++++ v12.2.0-beta/reference/string/trim/index.html | 92 +++++ .../reference/typed/isArray/index.html | 90 +++++ .../reference/typed/isBoolean/index.html | 90 +++++ .../reference/typed/isDate/index.html | 90 +++++ .../reference/typed/isEmpty/index.html | 91 +++++ .../reference/typed/isEqual/index.html | 91 +++++ .../reference/typed/isError/index.html | 90 +++++ .../reference/typed/isFloat/index.html | 90 +++++ .../reference/typed/isFunction/index.html | 90 +++++ v12.2.0-beta/reference/typed/isInt/index.html | 90 +++++ .../reference/typed/isIntString/index.html | 92 +++++ v12.2.0-beta/reference/typed/isMap/index.html | 91 +++++ .../reference/typed/isNumber/index.html | 90 +++++ .../reference/typed/isObject/index.html | 91 +++++ .../reference/typed/isPlainObject/index.html | 91 +++++ .../reference/typed/isPrimitive/index.html | 91 +++++ .../reference/typed/isPromise/index.html | 98 +++++ .../reference/typed/isRegExp/index.html | 91 +++++ .../reference/typed/isResult/index.html | 118 ++++++ .../reference/typed/isResultErr/index.html | 91 +++++ .../reference/typed/isResultOk/index.html | 91 +++++ v12.2.0-beta/reference/typed/isSet/index.html | 91 +++++ .../reference/typed/isString/index.html | 90 +++++ .../reference/typed/isSymbol/index.html | 90 +++++ .../reference/typed/isWeakMap/index.html | 91 +++++ .../reference/typed/isWeakSet/index.html | 91 +++++ v12.2.0-beta/search.svg | 1 + v12.2.0-beta/sidebar/community.svg | 1 + v12.2.0-beta/sidebar/functions.svg | 4 + v12.2.0-beta/sidebar/github.svg | 1 + v12.2.0-beta/sidebar/jsr.svg | 1 + v12.2.0-beta/sidebar/npm.svg | 1 + v12.2.0-beta/sidebar/vscode.svg | 18 + v12.2.0-beta/sitemap-0.xml | 1 + v12.2.0-beta/sitemap-index.xml | 1 + v12.2.0-beta/versions.json | 1 + 323 files changed, 13836 insertions(+) create mode 100644 v12.2.0-beta/404.html create mode 100644 v12.2.0-beta/CNAME create mode 100644 v12.2.0-beta/assets/Swup.BAW7Fnls.js create mode 100644 v12.2.0-beta/assets/SwupA11yPlugin.BwOJ-1de.js create mode 100644 v12.2.0-beta/assets/SwupBodyClassPlugin.B8ok040w.js create mode 100644 v12.2.0-beta/assets/SwupHeadPlugin.6Q8td7LP.js create mode 100644 v12.2.0-beta/assets/SwupPreloadPlugin.Bit36d99.js create mode 100644 v12.2.0-beta/assets/SwupScriptsPlugin.f2nwucqv.js create mode 100644 v12.2.0-beta/assets/SwupScrollPlugin.rmSN6-xu.js create mode 100644 v12.2.0-beta/assets/browser-support.Bcx1rOFJ.css create mode 100644 v12.2.0-beta/assets/browser-support.CdD5e2eB.css create mode 100644 v12.2.0-beta/assets/client.CFbmdnQb.js create mode 100644 v12.2.0-beta/assets/ec.3zb7u.js create mode 100644 v12.2.0-beta/assets/ec.wnxus.css create mode 100644 v12.2.0-beta/assets/hoisted.TUn7EJE2.js create mode 100644 v12.2.0-beta/assets/hoisted.iBdn6T_D.js create mode 100644 v12.2.0-beta/assets/hooks.module.vf81mID6.js create mode 100644 v12.2.0-beta/assets/index.modern.CtKZhHHv.js create mode 100644 v12.2.0-beta/assets/page.LpqHvsRr.js create mode 100644 v12.2.0-beta/assets/preact.module.BP4etL1N.js create mode 100644 v12.2.0-beta/assets/preload-helper.B5A3MRH_.js create mode 100644 v12.2.0-beta/assets/radashi-logo-dark@3x.BWiB2XXX.webp create mode 100644 v12.2.0-beta/assets/signals.module.B8hOACSr.js create mode 100644 v12.2.0-beta/assets/tabbed-code-block.CqZYnBmR.js create mode 100644 v12.2.0-beta/assets/ui-core.BmpKj71L.js create mode 100644 v12.2.0-beta/authors/aleclarson.png create mode 100644 v12.2.0-beta/blog/first-release/index.html create mode 100644 v12.2.0-beta/blog/vs-radash/index.html create mode 100644 v12.2.0-beta/blog/what-happened-to-radash/index.html create mode 100644 v12.2.0-beta/browser-support/index.html create mode 100644 v12.2.0-beta/changelog/index.html create mode 100644 v12.2.0-beta/clipboard.svg create mode 100644 v12.2.0-beta/contributing/index.html create mode 100644 v12.2.0-beta/favicon.svg create mode 100644 v12.2.0-beta/index.html create mode 100644 v12.2.0-beta/installation/index.html create mode 100644 v12.2.0-beta/mobile/search.svg create mode 100644 v12.2.0-beta/our-ethos/index.html create mode 100644 v12.2.0-beta/pagefind/fragment/en_12f2ac6.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_14581cb.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_1880db4.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_195c99b.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_1a1a5c5.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_1cd6984.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_1d2f4d9.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_1d361f2.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_2063296.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_22aea1d.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_25ac5aa.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_265f196.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_267e1f2.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_2815433.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_294a57d.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_2992834.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_29af3ae.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_2a69a75.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_2b1d896.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_2f8de4b.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_316ce14.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_31a3d74.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_323ee78.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_3375ac9.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_3399bf4.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_347a6e5.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_3568ed2.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_3809873.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_3918eac.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_3a7040f.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_3bd3c21.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_416e73f.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_43d9e52.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_4528c5f.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_45b4bcc.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_48ce6b6.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_4b77523.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_4c91aa2.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_4d3b7de.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_5039aa1.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_51e8be4.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_53b7d14.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_54114e8.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_5548a1b.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_556ae3f.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_556d70e.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_574c3bc.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_5a04b89.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_5b33fdc.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_5fcb358.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6040ae4.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6043143.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_62184eb.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6475d0c.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6487357.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_652eb94.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6621dc5.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_673cf7c.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6984a35.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6a9b5f4.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6ce8436.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6d0bc1c.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_6dd02e2.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_701ccf7.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_74069ae.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_745747e.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_76c87e8.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_77a131b.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_782cb8e.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_78f4209.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_79e1dfd.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_7b54507.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_7b9dace.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_7c13f61.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_7c2641a.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_7e31592.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_7ea4c57.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_82fe57f.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_84aa646.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_84e1d22.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_86ddb46.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_889ba3d.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_8927b18.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_89c058c.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_8a2c424.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_8b7fde7.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_8de33bc.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_8e96453.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_8efe574.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_906dd1a.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_909acf6.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_90ca681.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_9113102.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_964f954.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_9949167.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_99accfd.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_9e3fcbb.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_9ff429b.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_a0c535e.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_a28df89.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_a2e8182.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_a3f1044.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_a4fc7fa.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_a863361.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_a912c88.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_a9d25f2.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_b14977d.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_b32a22d.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_b66698d.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_b6e1176.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_bb28831.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_be4d9ab.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_c147404.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_c3d93f5.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_c5779e4.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_ca52e48.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_ca9d6f3.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_cb72c56.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_cffd776.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_d1eaab9.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_d419d61.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_d52f749.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_dc72891.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_dd70b78.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_df1bf5f.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_df75427.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_e2543ac.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_e7de785.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_efdfc31.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_f145640.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_f170635.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_fb68a96.pf_fragment create mode 100644 v12.2.0-beta/pagefind/fragment/en_feba48b.pf_fragment create mode 100644 v12.2.0-beta/pagefind/index/en_1f6b186.pf_index create mode 100644 v12.2.0-beta/pagefind/index/en_64aac47.pf_index create mode 100644 v12.2.0-beta/pagefind/index/en_87f599c.pf_index create mode 100644 v12.2.0-beta/pagefind/pagefind-entry.json create mode 100644 v12.2.0-beta/pagefind/pagefind-modular-ui.css create mode 100644 v12.2.0-beta/pagefind/pagefind-modular-ui.js create mode 100644 v12.2.0-beta/pagefind/pagefind-ui.css create mode 100644 v12.2.0-beta/pagefind/pagefind-ui.js create mode 100644 v12.2.0-beta/pagefind/pagefind.en_7b9e5d8b4e.pf_meta create mode 100644 v12.2.0-beta/pagefind/pagefind.js create mode 100644 v12.2.0-beta/pagefind/wasm.en.pagefind create mode 100644 v12.2.0-beta/pagefind/wasm.unknown.pagefind create mode 100644 v12.2.0-beta/parity/100.svg create mode 100644 v12.2.0-beta/parity/no.svg create mode 100644 v12.2.0-beta/parity/null.svg create mode 100644 v12.2.0-beta/parity/soon.svg create mode 100644 v12.2.0-beta/parity/yes.svg create mode 100644 v12.2.0-beta/playground/index.html create mode 100644 v12.2.0-beta/reference/array/alphabetical/index.html create mode 100644 v12.2.0-beta/reference/array/boil/index.html create mode 100644 v12.2.0-beta/reference/array/castArray/index.html create mode 100644 v12.2.0-beta/reference/array/castArrayIfExists/index.html create mode 100644 v12.2.0-beta/reference/array/cluster/index.html create mode 100644 v12.2.0-beta/reference/array/counting/index.html create mode 100644 v12.2.0-beta/reference/array/diff/index.html create mode 100644 v12.2.0-beta/reference/array/first/index.html create mode 100644 v12.2.0-beta/reference/array/flat/index.html create mode 100644 v12.2.0-beta/reference/array/fork/index.html create mode 100644 v12.2.0-beta/reference/array/group/index.html create mode 100644 v12.2.0-beta/reference/array/intersects/index.html create mode 100644 v12.2.0-beta/reference/array/iterate/index.html create mode 100644 v12.2.0-beta/reference/array/last/index.html create mode 100644 v12.2.0-beta/reference/array/list/index.html create mode 100644 v12.2.0-beta/reference/array/mapify/index.html create mode 100644 v12.2.0-beta/reference/array/merge/index.html create mode 100644 v12.2.0-beta/reference/array/objectify/index.html create mode 100644 v12.2.0-beta/reference/array/replace/index.html create mode 100644 v12.2.0-beta/reference/array/replaceOrAppend/index.html create mode 100644 v12.2.0-beta/reference/array/select/index.html create mode 100644 v12.2.0-beta/reference/array/selectFirst/index.html create mode 100644 v12.2.0-beta/reference/array/shift/index.html create mode 100644 v12.2.0-beta/reference/array/sift/index.html create mode 100644 v12.2.0-beta/reference/array/sort/index.html create mode 100644 v12.2.0-beta/reference/array/toggle/index.html create mode 100644 v12.2.0-beta/reference/array/unique/index.html create mode 100644 v12.2.0-beta/reference/array/unzip/index.html create mode 100644 v12.2.0-beta/reference/array/zip/index.html create mode 100644 v12.2.0-beta/reference/array/zipToObject/index.html create mode 100644 v12.2.0-beta/reference/async/all/index.html create mode 100644 v12.2.0-beta/reference/async/defer/index.html create mode 100644 v12.2.0-beta/reference/async/guard/index.html create mode 100644 v12.2.0-beta/reference/async/map/index.html create mode 100644 v12.2.0-beta/reference/async/parallel/index.html create mode 100644 v12.2.0-beta/reference/async/reduce/index.html create mode 100644 v12.2.0-beta/reference/async/retry/index.html create mode 100644 v12.2.0-beta/reference/async/sleep/index.html create mode 100644 v12.2.0-beta/reference/async/tryit/index.html create mode 100644 v12.2.0-beta/reference/async/withResolvers/index.html create mode 100644 v12.2.0-beta/reference/curry/chain/index.html create mode 100644 v12.2.0-beta/reference/curry/compose/index.html create mode 100644 v12.2.0-beta/reference/curry/debounce/index.html create mode 100644 v12.2.0-beta/reference/curry/flip/index.html create mode 100644 v12.2.0-beta/reference/curry/memo/index.html create mode 100644 v12.2.0-beta/reference/curry/once/index.html create mode 100644 v12.2.0-beta/reference/curry/partial/index.html create mode 100644 v12.2.0-beta/reference/curry/partob/index.html create mode 100644 v12.2.0-beta/reference/curry/proxied/index.html create mode 100644 v12.2.0-beta/reference/curry/throttle/index.html create mode 100644 v12.2.0-beta/reference/function/always/index.html create mode 100644 v12.2.0-beta/reference/function/castComparator/index.html create mode 100644 v12.2.0-beta/reference/function/castMapping/index.html create mode 100644 v12.2.0-beta/reference/function/noop/index.html create mode 100644 v12.2.0-beta/reference/index.html create mode 100644 v12.2.0-beta/reference/number/clamp/index.html create mode 100644 v12.2.0-beta/reference/number/inRange/index.html create mode 100644 v12.2.0-beta/reference/number/lerp/index.html create mode 100644 v12.2.0-beta/reference/number/max/index.html create mode 100644 v12.2.0-beta/reference/number/min/index.html create mode 100644 v12.2.0-beta/reference/number/range/index.html create mode 100644 v12.2.0-beta/reference/number/round/index.html create mode 100644 v12.2.0-beta/reference/number/sum/index.html create mode 100644 v12.2.0-beta/reference/number/toFloat/index.html create mode 100644 v12.2.0-beta/reference/number/toInt/index.html create mode 100644 v12.2.0-beta/reference/object/assign/index.html create mode 100644 v12.2.0-beta/reference/object/clone/index.html create mode 100644 v12.2.0-beta/reference/object/cloneDeep/index.html create mode 100644 v12.2.0-beta/reference/object/construct/index.html create mode 100644 v12.2.0-beta/reference/object/crush/index.html create mode 100644 v12.2.0-beta/reference/object/filterKey/index.html create mode 100644 v12.2.0-beta/reference/object/get/index.html create mode 100644 v12.2.0-beta/reference/object/invert/index.html create mode 100644 v12.2.0-beta/reference/object/keys/index.html create mode 100644 v12.2.0-beta/reference/object/listify/index.html create mode 100644 v12.2.0-beta/reference/object/lowerize/index.html create mode 100644 v12.2.0-beta/reference/object/mapEntries/index.html create mode 100644 v12.2.0-beta/reference/object/mapKeys/index.html create mode 100644 v12.2.0-beta/reference/object/mapValues/index.html create mode 100644 v12.2.0-beta/reference/object/omit/index.html create mode 100644 v12.2.0-beta/reference/object/pick/index.html create mode 100644 v12.2.0-beta/reference/object/set/index.html create mode 100644 v12.2.0-beta/reference/object/shake/index.html create mode 100644 v12.2.0-beta/reference/object/traverse/index.html create mode 100644 v12.2.0-beta/reference/object/upperize/index.html create mode 100644 v12.2.0-beta/reference/random/draw/index.html create mode 100644 v12.2.0-beta/reference/random/random/index.html create mode 100644 v12.2.0-beta/reference/random/shuffle/index.html create mode 100644 v12.2.0-beta/reference/random/uid/index.html create mode 100644 v12.2.0-beta/reference/series/series/index.html create mode 100644 v12.2.0-beta/reference/string/camel/index.html create mode 100644 v12.2.0-beta/reference/string/capitalize/index.html create mode 100644 v12.2.0-beta/reference/string/dash/index.html create mode 100644 v12.2.0-beta/reference/string/pascal/index.html create mode 100644 v12.2.0-beta/reference/string/similarity/index.html create mode 100644 v12.2.0-beta/reference/string/snake/index.html create mode 100644 v12.2.0-beta/reference/string/template/index.html create mode 100644 v12.2.0-beta/reference/string/title/index.html create mode 100644 v12.2.0-beta/reference/string/trim/index.html create mode 100644 v12.2.0-beta/reference/typed/isArray/index.html create mode 100644 v12.2.0-beta/reference/typed/isBoolean/index.html create mode 100644 v12.2.0-beta/reference/typed/isDate/index.html create mode 100644 v12.2.0-beta/reference/typed/isEmpty/index.html create mode 100644 v12.2.0-beta/reference/typed/isEqual/index.html create mode 100644 v12.2.0-beta/reference/typed/isError/index.html create mode 100644 v12.2.0-beta/reference/typed/isFloat/index.html create mode 100644 v12.2.0-beta/reference/typed/isFunction/index.html create mode 100644 v12.2.0-beta/reference/typed/isInt/index.html create mode 100644 v12.2.0-beta/reference/typed/isIntString/index.html create mode 100644 v12.2.0-beta/reference/typed/isMap/index.html create mode 100644 v12.2.0-beta/reference/typed/isNumber/index.html create mode 100644 v12.2.0-beta/reference/typed/isObject/index.html create mode 100644 v12.2.0-beta/reference/typed/isPlainObject/index.html create mode 100644 v12.2.0-beta/reference/typed/isPrimitive/index.html create mode 100644 v12.2.0-beta/reference/typed/isPromise/index.html create mode 100644 v12.2.0-beta/reference/typed/isRegExp/index.html create mode 100644 v12.2.0-beta/reference/typed/isResult/index.html create mode 100644 v12.2.0-beta/reference/typed/isResultErr/index.html create mode 100644 v12.2.0-beta/reference/typed/isResultOk/index.html create mode 100644 v12.2.0-beta/reference/typed/isSet/index.html create mode 100644 v12.2.0-beta/reference/typed/isString/index.html create mode 100644 v12.2.0-beta/reference/typed/isSymbol/index.html create mode 100644 v12.2.0-beta/reference/typed/isWeakMap/index.html create mode 100644 v12.2.0-beta/reference/typed/isWeakSet/index.html create mode 100644 v12.2.0-beta/search.svg create mode 100644 v12.2.0-beta/sidebar/community.svg create mode 100644 v12.2.0-beta/sidebar/functions.svg create mode 100644 v12.2.0-beta/sidebar/github.svg create mode 100644 v12.2.0-beta/sidebar/jsr.svg create mode 100644 v12.2.0-beta/sidebar/npm.svg create mode 100644 v12.2.0-beta/sidebar/vscode.svg create mode 100644 v12.2.0-beta/sitemap-0.xml create mode 100644 v12.2.0-beta/sitemap-index.xml create mode 100644 v12.2.0-beta/versions.json diff --git a/v12.2.0-beta/404.html b/v12.2.0-beta/404.html new file mode 100644 index 00000000..272f5b69 --- /dev/null +++ b/v12.2.0-beta/404.html @@ -0,0 +1,80 @@ + 404 | Radashi + + Skip to content

404

Page not found. Check the URL or try using the search bar.
\ No newline at end of file diff --git a/v12.2.0-beta/CNAME b/v12.2.0-beta/CNAME new file mode 100644 index 00000000..8c7262e8 --- /dev/null +++ b/v12.2.0-beta/CNAME @@ -0,0 +1 @@ +radashi.js.org \ No newline at end of file diff --git a/v12.2.0-beta/assets/Swup.BAW7Fnls.js b/v12.2.0-beta/assets/Swup.BAW7Fnls.js new file mode 100644 index 00000000..49d1370d --- /dev/null +++ b/v12.2.0-beta/assets/Swup.BAW7Fnls.js @@ -0,0 +1 @@ +const t=new WeakMap;function e(e,i,s,n){if(!e&&!t.has(i))return!1;const o=t.get(i)??new WeakMap;t.set(i,o);const a=o.get(s)??new Set;o.set(s,a);const r=a.has(n);return e?a.add(n):a.delete(n),r&&e}function i(t,i,s,n={}){const{signal:o,base:a=document}=n;if(o?.aborted)return;const{once:r,...l}=n,c=a instanceof Document?a.documentElement:a,h=Boolean("object"==typeof n?n.capture:n),u=n=>{const o=function(t,e){let i=t.target;if(i instanceof Text&&(i=i.parentElement),i instanceof Element&&t.currentTarget instanceof Element){const s=i.closest(e);if(s&&t.currentTarget.contains(s))return s}}(n,t);if(o){const t=Object.assign(n,{delegateTarget:o});s.call(c,t),r&&(c.removeEventListener(i,u,l),e(!1,c,s,d))}},d=JSON.stringify({selector:t,type:i,capture:h});e(!0,c,s,d)||c.addEventListener(i,u,l),o?.addEventListener("abort",(()=>{e(!1,c,s,d)}))}function s(){return s=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",o=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),a=(t,e={})=>{const i=s({url:t=t||o({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(i,"",t)},r=(t=null,e={})=>{t=t||o({hash:!0});const i=s({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(i,"",t)},l=(t,e,n,o)=>{const a=new AbortController;return i(t,e,n,o=s({},o,{signal:a.signal})),{destroy:()=>a.abort()}};let c=class t extends URL{constructor(e,i=document.baseURI){super(e.toString(),i),Object.setPrototypeOf(this,t.prototype)}get url(){return this.pathname+this.search}static fromElement(e){const i=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new t(i)}static fromUrl(e){return new t(e)}};class h extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var i;t=c.fromUrl(t).url;const{visit:n=this.visit}=e,o=s({},this.options.requestHeaders,e.headers),a=null!=(i=e.timeout)?i:this.options.timeout,r=new AbortController,{signal:l}=r;e=s({},e,{headers:o,signal:l});let u,d=!1,p=null;a&&a>0&&(p=setTimeout((()=>{d=!0,r.abort("timeout")}),a));try{u=await this.hooks.call("fetch:request",n,{url:t,options:e},((t,{url:e,options:i})=>fetch(e,i))),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call("fetch:timeout",n,{url:t}),new h(`Request timed out: ${t}`,{url:t,timedOut:d});if("AbortError"===(null==e?void 0:e.name)||l.aborted)throw new h(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:f}=u,g=await u.text();if(500===m)throw this.hooks.call("fetch:error",n,{status:m,response:u,url:f}),new h(`Server error: ${f}`,{status:m,url:f});if(!g)throw new h(`Empty response: ${f}`,{status:m,url:f});const{url:w}=c.fromUrl(f),v={url:w,html:g};return!n.cache.write||e.method&&"GET"!==e.method||t!==w||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach(((e,i)=>{t.set(i,s({},e))})),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?s({},e):e}set(t,e){e=s({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync("cache:set",void 0,{page:e})}update(t,e){t=this.resolve(t);const i=s({},this.get(t),e,{url:t});this.pages.set(t,i)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(t){this.pages.forEach(((e,i)=>{t(i,e)&&this.delete(i)}))}resolve(t){const{url:e}=c.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),f=()=>new Promise((t=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t()}))}))}));function g(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}function w(t,e=[]){return new Promise(((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)}))}function v(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class y{constructor(t){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return"containers"===t?this.swup.visit.containers:"html"===t?["html"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach((e=>e.classList.add(...t)))}remove(...t){this.targets.forEach((e=>e.classList.remove(...t)))}clear(){this.targets.forEach((t=>{const e=t.className.split(" ").filter((t=>this.isSwupClass(t)));t.classList.remove(...e)}))}isSwupClass(t){return this.swupClasses.some((e=>t.startsWith(e)))}}class k{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:a}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function b(t){return new k(this,t)}class S{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=t,this.init()}init(){this.hooks.forEach((t=>this.create(t)))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach((t=>t.clear()))}on(t,e,i={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=s({},i,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,i={}){return this.on(t,e,s({},i,{before:!0}))}replace(t,e,i={}){return this.on(t,e,s({},i,{replace:!0}))}once(t,e,i={}){return this.on(t,e,s({},i,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);await this.run(r,n,o);const[h]=await this.run(l,n,o,!0);return await this.run(c,n,o),this.dispatchDomEvent(t,n,o),h}callSync(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);this.runSync(r,n,o);const[h]=this.runSync(l,n,o,!0);return this.runSync(c,n,o),this.dispatchDomEvent(t,n,o),h}parseCallArgs(t,e,i,s){return e instanceof k||"object"!=typeof e&&"function"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=await w(a,[e,i,r]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=a(e,i,r);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter((({before:t,replace:e})=>t&&!e)).sort(n),a=s.filter((({replace:t})=>t)).filter((t=>!0)).sort(n),r=s.filter((({before:t,replace:e})=>!t&&!e)).sort(n),l=a.length>0;let c=[];if(e&&(c=[{id:0,hook:t,handler:e}],l)){const i=a.length-1,s=t=>{const i=a[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};c=[{id:0,hook:t,handler:a[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:c,after:r,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const E=t=>{if(t&&"#"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||"top"!==t||(i=document.body),i},C="transition",U="animation";async function P({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);const s=i.map((t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=$(e,`${C}Delay`),s=$(e,`${C}Duration`),n=x(i,s),o=$(e,`${U}Delay`),a=$(e,`${U}Duration`),r=x(o,a),l=Math.max(n,r),c=l>0?n>r?C:U:null;return{type:c,timeout:l,propCount:c?c===C?s.length:a.length:0}}(t);return!(!e||!i)&&new Promise((n=>{const o=`${e}end`,a=performance.now();let r=0;const l=()=>{t.removeEventListener(o,c),n()},c=e=>{e.target===t&&((performance.now()-a)/1e3=s&&l())};setTimeout((()=>{r0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function $(t,e){return(t[e]||"").split(", ")}function x(t,e){for(;t.lengthA(e)+A(t[i]))))}function A(t){return 1e3*parseFloat(t)}function H(t,e={},i={}){if("string"!=typeof t)throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:i.el,event:i.event}))return void window.location.assign(t);const{url:n,hash:o}=c.fromUrl(t),a=this.createVisit(s({},i,{to:n,hash:o}));this.performNavigation(a,e)}async function T(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const s=e.history||v(i,"data-swup-history");"string"==typeof s&&["push","replace"].includes(s)&&(t.history.action=s);const o=e.animation||v(i,"data-swup-animation");var l,h;"string"==typeof o&&(t.animation.name=o),"object"==typeof e.cache?(t.cache.read=null!=(l=e.cache.read)?l:t.cache.read,t.cache.write=null!=(h=e.cache.write)?h:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;const i=this.hooks.call("page:load",t,{options:e},(async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page}));i.then((({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,"text/html")}));const s=t.to.url+t.to.hash;if(t.history.popstate||("replace"===t.history.action||t.to.url===this.location.url?r(s):(this.currentHistoryIndex++,a(s,{index:this.currentHistoryIndex}))),this.location=c.fromUrl(s),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${n(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call("visit:transition",t,void 0,(async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void(await this.renderPage(t,await i));t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition((async()=>await this.renderPage(t,await i))).finished:await this.renderPage(t,await i),await this.animatePageIn(t)})),t.done)return;await this.hooks.call("visit:end",t,void 0,(()=>this.classes.clear())),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call("animation:out:start",t,void 0,(()=>{this.classes.add("is-changing","is-animating","is-leaving")})),await this.hooks.call("animation:out:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})})),await this.hooks.call("animation:out:end",t,void 0)},V=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector("title"))?void 0:e.innerText)||"";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=""])'),o=t.containers.map((t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)})).filter(Boolean);return n.forEach((t=>{const e=t.getAttribute("data-swup-persist"),i=p(`[data-swup-persist="${e}"]`);i&&i!==t&&i.replaceWith(t)})),o.length===t.containers.length},I=function(t){const e={behavior:"auto"},{target:i,reset:n}=t.scroll,o=null!=i?i:t.to.hash;let a=!1;return o&&(a=this.hooks.callSync("scroll:anchor",t,{hash:o,options:e},((t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s}))),n&&!a&&(a=this.hooks.callSync("scroll:top",t,{options:e},((t,{options:e})=>(window.scrollTo(s({top:0,left:0},e)),!0)))),a},O=async function(t){if(t.done)return;const e=this.hooks.call("animation:in:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}));await f(),await this.hooks.call("animation:in:start",t,void 0,(()=>{this.classes.remove("is-animating")})),await e,await this.hooks.call("animation:in:end",t,void 0)},q=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(o(),i)||(r(i),this.location=c.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},((t,{})=>{if(this.classes.remove("is-leaving"),t.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(t))throw new Error("[swup] Container mismatch, aborting");t.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),t.animation.name&&this.classes.add(`to-${n(t.animation.name)}`))})),await this.hooks.call("content:scroll",t,void 0,(()=>this.scrollToContent(t))),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},R=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function M(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter((t=>t!==e)),this.plugins;console.error("No such plugin",e)}function N(t){return this.plugins.find((e=>e===t||e.name===t||e.name===`Swup${String(t)}`))}function D(t){if("function"!=typeof this.options.resolveUrl)return console.warn("[swup] options.resolveUrl expects a callback function."),t;const e=this.options.resolveUrl(t);return e&&"string"==typeof e?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function W(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return"swup"!==(null==(e=t.state)?void 0:e.source)},timeout:0};const j=Object.freeze(Object.defineProperty({__proto__:null,default:class{get currentPageUrl(){return this.location.url}constructor(t={}){var e,i;this.version="4.7.0",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=c.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=R,this.unuse=M,this.findPlugin=N,this.log=()=>{},this.navigate=H,this.performNavigation=T,this.createVisit=b,this.delegateEvent=l,this.fetchPage=u,this.awaitAnimations=P,this.renderPage=q,this.replaceContent=V,this.animatePageIn=O,this.animatePageOut=L,this.scrollToContent=I,this.getAnchorElement=E,this.getCurrentUrl=o,this.resolveUrl=D,this.isSameResolvedUrl=W,this.options=s({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new y(this),this.hooks=new S(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=null!=(e=null==(i=window.history.state)?void 0:i.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach((t=>this.use(t))),"swup"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await f(),await this.hooks.call("enable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.add("swup-enabled"),t.classList.toggle("swup-native",this.options.native)}))}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach((t=>this.unuse(t))),await this.hooks.call("disable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.remove("swup-enabled"),t.classList.remove("swup-native")})),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=c.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=c.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync("link:newtab",o,{href:i}):0===t.button&&this.hooks.callSync("link:click",o,{el:e,event:t},(()=>{var e;const i=null!=(e=o.from.url)?e:"";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync("link:anchor",o,{hash:n},(()=>{r(s+n),this.scrollToContent(o)})):this.hooks.callSync("link:self",o,void 0,(()=>{"navigate"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))}))}))}handlePopState(t){var e,i,s,n;const a=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(o(),this.location.url))return;const{url:r,hash:l}=c.fromUrl(a),h=this.createVisit({to:r,hash:l,event:t});h.history.popstate=!0;const u=null!=(s=null==(n=t.state)?void 0:n.index)?s:0;u&&u!==this.currentHistoryIndex&&(h.history.direction=u-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=u),h.animation.animate=!1,h.scroll.reset=!1,h.scroll.target=!1,this.options.animateHistoryBrowsing&&(h.animation.animate=!0,h.scroll.reset=!0),this.hooks.callSync("history:popstate",h,{event:t},(()=>{this.performNavigation(h)}))}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target="_blank"]')}}},Symbol.toStringTag,{value:"Module"}));export{j as S,c as l,m,o as n,f as w}; diff --git a/v12.2.0-beta/assets/SwupA11yPlugin.BwOJ-1de.js b/v12.2.0-beta/assets/SwupA11yPlugin.BwOJ-1de.js new file mode 100644 index 00000000..0e699e8b --- /dev/null +++ b/v12.2.0-beta/assets/SwupA11yPlugin.BwOJ-1de.js @@ -0,0 +1 @@ +import{l as t,w as e}from"./Swup.BAW7Fnls.js";import{e as n}from"./index.modern.CtKZhHHv.js";function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var o,s={exports:{}};o=s,function(t){function e(t){for(var e in t=t||{},this.settings={level:"polite",parent:"body",idPrefix:"live-region-",delay:0},t)t.hasOwnProperty(e)&&(this.settings[e]=t[e]);this.settings.parent=document.querySelector(this.settings.parent)}e.prototype.say=function(t,e){var n=this.settings.parent.querySelector('[id^="'+this.settings.idPrefix+'"]')||!1;n&&this.settings.parent.removeChild(n),e=e||this.settings.delay,this.currentRegion=document.createElement("span"),this.currentRegion.id=this.settings.idPrefix+Math.floor(1e4*Math.random());var i="assertive"!==this.settings.level?"status":"alert";return this.currentRegion.setAttribute("aria-live",this.settings.level),this.currentRegion.setAttribute("role",i),this.currentRegion.setAttribute("style","clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px"),this.settings.parent.appendChild(this.currentRegion),window.setTimeout(function(){this.currentRegion.textContent=t}.bind(this),e),this},o.exports=e}();const r=i(s.exports);function a(){return a=Object.assign?Object.assign.bind():function(t){for(var e=1;e=4"},this.defaults={contentSelector:"main",headingSelector:"h1, h2, [role=heading]",respectReducedMotion:!1,autofocus:!1,announcements:{visit:"Navigated to: {title}",url:"New page at {url}"}},this.options=void 0,this.liveRegion=void 0,this.announce=t=>{this.liveRegion.say(t)},t.announcements=a({},this.defaults.announcements,{visit:null!=(e=t.announcementTemplate)?e:String(this.defaults.announcements.visit),url:null!=(n=t.urlTemplate)?n:String(this.defaults.announcements.url)},t.announcements),this.options=a({},this.defaults,t),this.liveRegion=new r}mount(){this.swup.hooks.create("content:announce"),this.swup.hooks.create("content:focus"),this.before("visit:start",this.prepareVisit),this.on("visit:start",this.markAsBusy),this.on("visit:end",this.unmarkAsBusy),this.on("content:replace",this.prepareAnnouncement),this.on("content:replace",this.handleNewPageContent),this.options.respectReducedMotion&&(this.before("visit:start",this.disableTransitionAnimations),this.before("visit:start",this.disableScrollAnimations),this.before("link:self",this.disableScrollAnimations),this.before("link:anchor",this.disableScrollAnimations)),this.swup.announce=this.announce}unmount(){this.swup.announce=void 0}markAsBusy(){document.documentElement.setAttribute("aria-busy","true")}unmarkAsBusy(){document.documentElement.removeAttribute("aria-busy")}prepareVisit(t){t.a11y={announce:void 0,focus:this.options.contentSelector}}prepareAnnouncement(e){if(void 0!==e.a11y.announce)return;const{contentSelector:n,headingSelector:i,announcements:o}=this.options,{href:s,url:r,pathname:a}=t.fromUrl(window.location.href),u=o[document.documentElement.lang||"*"]||o["*"]||o;if("object"!=typeof u)return;const c=document.querySelector(`${n} ${i}`);let l=(null==c?void 0:c.getAttribute("aria-label"))||(null==c?void 0:c.textContent);l=l||document.title||this.parseTemplate(u.url,{href:s,url:r,path:a});const h=this.parseTemplate(u.visit,{title:l,href:s,url:r,path:a});e.a11y.announce=h}parseTemplate(t,e){return Object.keys(e).reduce(((t,n)=>t.replace(`{${n}}`,e[n]||"")),t||"")}handleNewPageContent(){var t=this;e().then((async function(){t.swup.hooks.call("content:announce",void 0,void 0,(e=>{t.announcePageName(e)})),t.swup.hooks.call("content:focus",void 0,void 0,(e=>{t.focusPageContent(e)}))}))}announcePageName(t){t.a11y.announce&&this.liveRegion.say(t.a11y.announce)}async focusPageContent(t){if(!t.a11y.focus)return;if(this.options.autofocus){const e=this.getAutofocusElement();if(e&&e!==document.activeElement)return void this.swup.hooks.once("visit:end",(n=>{n.id===t.id&&e.focus()}))}const e=document.querySelector(t.a11y.focus);e instanceof HTMLElement&&(this.needsTabindex(e)&&e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}))}getAutofocusElement(){const t=document.querySelector("body [autofocus]");if(t&&!t.closest('inert, [aria-disabled], [aria-hidden="true"]'))return t}disableTransitionAnimations(t){t.animation.animate=t.animation.animate&&this.shouldAnimate()}disableScrollAnimations(t){t.scroll.animate=t.scroll.animate&&this.shouldAnimate()}shouldAnimate(){return!window.matchMedia("(prefers-reduced-motion: reduce)").matches}needsTabindex(t){return!t.matches("a, button, input, textarea, select, details, [tabindex]")}}export{u as default}; diff --git a/v12.2.0-beta/assets/SwupBodyClassPlugin.B8ok040w.js b/v12.2.0-beta/assets/SwupBodyClassPlugin.B8ok040w.js new file mode 100644 index 00000000..b68a994b --- /dev/null +++ b/v12.2.0-beta/assets/SwupBodyClassPlugin.B8ok040w.js @@ -0,0 +1 @@ +import{e as s}from"./index.modern.CtKZhHHv.js";function t(){return t=Object.assign?Object.assign.bind():function(s){for(var t=1;t=4.6"},this.defaults={prefix:""},this.options=void 0,this.updateBodyClass=s=>{this.updateClassNames(document.body,s.to.document.body)},this.options=t({},this.defaults,s)}mount(){this.on("content:replace",this.updateBodyClass)}updateClassNames(s,t){const i=[...s.classList].filter((s=>this.isValidClassName(s))),a=[...t.classList].filter((s=>this.isValidClassName(s)));s.classList.remove(...i),s.classList.add(...a)}isValidClassName(s){return s&&s.startsWith(this.options.prefix)}}export{i as default}; diff --git a/v12.2.0-beta/assets/SwupHeadPlugin.6Q8td7LP.js b/v12.2.0-beta/assets/SwupHeadPlugin.6Q8td7LP.js new file mode 100644 index 00000000..c3bce493 --- /dev/null +++ b/v12.2.0-beta/assets/SwupHeadPlugin.6Q8td7LP.js @@ -0,0 +1 @@ +import{e}from"./index.modern.CtKZhHHv.js";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=4.6"},this.defaults={persistTags:!1,persistAssets:!1,awaitAssets:!1,timeout:3e3},this.options=void 0,this.updateHead=async function(e,{page:{}}){const t=e.to.document,{removed:i,added:a}=function(e,t,{shouldPersist:r=(()=>!1)}={}){const o=Array.from(e.children),i=Array.from(t.children),a=(l=o,i.reduce(((e,t,s)=>(l.some((e=>n(t,e)))||e.push({el:t,index:s}),e)),[]));var l;const u=function(e,t){return e.reduce(((e,s)=>(t.some((e=>n(s,e)))||e.push({el:s}),e)),[])}(o,i);return u.reverse().filter((({el:e})=>s(e))).filter((({el:e})=>!r(e))).forEach((({el:t})=>e.removeChild(t))),a.filter((({el:e})=>s(e))).forEach((({el:t,index:s=0})=>{e.insertBefore(t.cloneNode(!0),e.children[s+1]||null)})),{removed:u.map((({el:e})=>e)),added:a.map((({el:e})=>e))}}(document.head,t.head,{shouldPersist:e=>o.isPersistentTag(e)});o.swup.log(`Removed ${i.length} / added ${a.length} tags in head`);const l=(u=document.documentElement).lang!==(d=t.documentElement).lang?(u.lang=d.lang,u.lang):null;var u,d;if(l&&o.swup.log(`Updated lang attribute: ${l}`),o.options.awaitAssets){const e=function(e,t=0){return e.filter(r).map((e=>function(e,t=0){const s=t=>{(({href:e})=>Array.from(document.styleSheets).map((({href:e})=>e)).includes(e))(e)?t():setTimeout((()=>s(t)),10)};return new Promise((e=>{s(e),t>0&&setTimeout(e,t)}))}(e,t)))}(a,o.options.timeout);e.length&&(o.swup.log(`Waiting for ${e.length} assets to load`),await Promise.all(e))}},this.options=t({},this.defaults,e),this.options.persistAssets&&!this.options.persistTags&&(this.options.persistTags="link[rel=stylesheet], script[src], style")}mount(){this.before("content:replace",this.updateHead)}isPersistentTag(e){const{persistTags:t}=this.options;return"function"==typeof t?t(e):"string"==typeof t?e.matches(t):Boolean(t)}}export{o as default}; diff --git a/v12.2.0-beta/assets/SwupPreloadPlugin.Bit36d99.js b/v12.2.0-beta/assets/SwupPreloadPlugin.Bit36d99.js new file mode 100644 index 00000000..7a6dac19 --- /dev/null +++ b/v12.2.0-beta/assets/SwupPreloadPlugin.Bit36d99.js @@ -0,0 +1 @@ +import{e}from"./index.modern.CtKZhHHv.js";import{l as t,n as s}from"./Swup.BAW7Fnls.js";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=["preloadVisibleLinks"];class l extends e{constructor(e={}){var s;super(),s=this,this.name="SwupPreloadPlugin",this.requires={swup:">=4.5"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:["body"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync("link:hover",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),"object"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create("page:preload"),e.hooks.create("link:hover"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace("page:load",this.onPageLoad),this.preloadLinks(),this.on("page:view",(()=>this.preloadLinks())),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on("page:view",(()=>this.preloadVisibleLinks()))),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn("SwupPreloadPlugin: swup cache needs to be enabled for preloading")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map((e=>this.preload(e))));if(i(e))n=e,({href:o}=t.fromElement(e));else{if("string"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise((e=>{this.queue.add((()=>{this.performPreload(o).catch((()=>{})).then((t=>e(t))).finally((()=>{this.queue.next(),this.preloadPromises.delete(o)}))}),a)}));return this.preloadPromises.set(o,l),l}preloadLinks(){n((()=>{Array.from(document.querySelectorAll("a[data-swup-preload], [data-swup-preload-all] a")).forEach((e=>this.preload(e)))}))}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,"mouseenter",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,"touchstart",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,"focus",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?h(e.target):d(e.target)}))}),{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout((()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))}),s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n((()=>{const e=r.map((e=>`${e} a[*|href]`)).join(", ");Array.from(document.querySelectorAll(e)).filter((e=>i(e))).forEach((e=>l.observe(e)))}))};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith("2g"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call("page:preload",o,{url:r},(async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page}));return i}}export{l as default}; diff --git a/v12.2.0-beta/assets/SwupScriptsPlugin.f2nwucqv.js b/v12.2.0-beta/assets/SwupScriptsPlugin.f2nwucqv.js new file mode 100644 index 00000000..bdd1bda4 --- /dev/null +++ b/v12.2.0-beta/assets/SwupScriptsPlugin.f2nwucqv.js @@ -0,0 +1 @@ +import{e as t}from"./index.modern.CtKZhHHv.js";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var e=1;e=4"},this.defaults={head:!0,body:!0,optin:!1},this.options=void 0,this.options=e({},this.defaults,t)}mount(){this.on("content:replace",this.runScripts)}runScripts(){const{head:t,body:e,optin:r}=this.options,n=this.getScope({head:t,body:e});if(!n)return;const s=Array.from(n.querySelectorAll(r?"script[data-swup-reload-script]":"script:not([data-swup-ignore-script])"));s.forEach((t=>this.runScript(t))),this.swup.log(`Executed ${s.length} scripts.`)}runScript(t){const e=document.createElement("script");for(const{name:r,value:n}of t.attributes)e.setAttribute(r,n);return e.textContent=t.textContent,t.replaceWith(e),e}getScope({head:t,body:e}){return t&&e?document:t?document.head:e?document.body:null}}export{r as default}; diff --git a/v12.2.0-beta/assets/SwupScrollPlugin.rmSN6-xu.js b/v12.2.0-beta/assets/SwupScrollPlugin.rmSN6-xu.js new file mode 100644 index 00000000..bf0e7292 --- /dev/null +++ b/v12.2.0-beta/assets/SwupScrollPlugin.rmSN6-xu.js @@ -0,0 +1 @@ +import{e as t}from"./index.modern.CtKZhHHv.js";import{m as o}from"./Swup.BAW7Fnls.js";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var o=1;o{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error("Argument must be a number or an element.");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=i({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},t),t&&t.friction&&(this.options.friction=1-t.friction),window.addEventListener("mousewheel",(t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)}),{passive:!0})}}function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:"[data-swup-scroll-container]",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t="")=>"function"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?"function"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate("samePage")},this.handleScrollToTop=t=>{var o,i;return null==(o=(i=this.swup).scrollTo)||o.call(i,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate("samePageWithHash")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate("betweenPages")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const i=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!i&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,i;if(t.history.popstate&&!t.animation.animate)return;const s=null!=(o=t.scroll.target)?o:t.to.hash;if(s&&this.maybeScrollToAnchor(s,t.scroll.animate))return;if(!t.scroll.reset)return;const e=this.getCachedScrollPositions(t.to.url),n=(null==e||null==(i=e.window)?void 0:i.top)||0;requestAnimationFrame((()=>{var o,i;return null==(o=(i=this.swup).scrollTo)?void 0:o.call(i,n,t.scroll.animate)})),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:i}=t.to,{el:s}=t.trigger;o||s&&!this.options.shouldResetScrollPosition(s)||this.resetScrollPositions(i)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create("scroll:start"),t.hooks.create("scroll:end");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync("scroll:start",o,void 0),onEnd:()=>t.hooks.callSync("scroll:end",o,void 0),onCancel:()=>t.hooks.callSync("scroll:end",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(i,s=!0)=>{s?this.scrl.scrollTo(i):(t.hooks.callSync("scroll:start",o,void 0),window.scrollTo(0,i),t.hooks.callSync("scroll:end",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener("popstate",this.updateScrollTarget),window.addEventListener("hashchange",this.updateScrollTarget),this.on("page:view",this.updateScrollTarget),this.on("link:anchor",this.updateScrollTarget),this.on("link:self",this.updateScrollTarget),this.updateScrollTarget()),this.before("visit:start",this.onBeforeVisitStart,{priority:-1}),this.on("visit:start",this.onVisitStart,{priority:1}),this.replace("content:scroll",this.handleScrollToContent),this.before("link:self",this.onBeforeLinkToSelf,{priority:-1}),this.replace("scroll:top",this.handleScrollToTop),this.before("link:anchor",this.onBeforeLinkToAnchor,{priority:-1}),this.replace("scroll:anchor",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener("popstate",this.updateScrollTarget),window.removeEventListener("hashchange",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return"boolean"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var i,s;if(!t)return!1;const e=this.getAnchorElement(t);if(!e)return console.warn(`Anchor target ${t} not found`),!1;if(!(e instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:n}=e.getBoundingClientRect(),r=n+window.scrollY-this.getOffset(e);return null==(i=(s=this.swup).scrollTo)||i.call(s,r,o),!0}cacheScrollPositions(t){const i=this.swup.resolveUrl(t),s=o(this.options.scrollContainers).map((t=>({top:t.scrollTop,left:t.scrollLeft}))),e={window:{top:window.scrollY,left:window.scrollX},containers:s};this.cachedScrollPositions[i]=e}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const i=this.getCachedScrollPositions(t);i&&0!==i.containers.length&&o(this.options.scrollContainers).forEach(((t,o)=>{const s=i.containers[o];null!=s&&(t.scrollTop=s.top,t.scrollLeft=s.left)}))}updateScrollTarget(){var t;const{hash:o}=window.location,i=document.querySelector("[data-swup-scroll-target]");let s=this.getAnchorElement(o);s instanceof HTMLBodyElement&&(s=null),i!==s&&(null==i||i.removeAttribute("data-swup-scroll-target"),null==(t=s)||t.setAttribute("data-swup-scroll-target",""))}}export{n as default}; diff --git a/v12.2.0-beta/assets/browser-support.Bcx1rOFJ.css b/v12.2.0-beta/assets/browser-support.Bcx1rOFJ.css new file mode 100644 index 00000000..1fc28429 --- /dev/null +++ b/v12.2.0-beta/assets/browser-support.Bcx1rOFJ.css @@ -0,0 +1 @@ +*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5)}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5)}.\!p-0{padding:0!important}.pa{padding:auto}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-0\.8rem{padding-left:.8rem;padding-right:.8rem}.px-1\.125rem{padding-left:1.125rem;padding-right:1.125rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.4rem{padding-top:.4rem;padding-bottom:.4rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0\.8125rem{padding-top:.8125rem;padding-bottom:.8125rem}.pb{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-1\.125rem{padding-left:1.125rem}.pr-1\.495rem{padding-right:1.495rem}.pt-6{padding-top:1.5rem}.my{margin-top:1rem;margin-bottom:1rem}.me{margin-inline-end:1rem}.ms{margin-inline-start:1rem}.mt-3{margin-top:.75rem}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.opacity-50{opacity:.5}.bg-\#8a6e6f{--un-bg-opacity:1;background-color:rgb(138 110 111 / var(--un-bg-opacity))}.bg-\#bddef2{--un-bg-opacity:1;background-color:rgb(189 222 242 / var(--un-bg-opacity))}.bg-\#fffa85{--un-bg-opacity:1;background-color:rgb(255 250 133 / var(--un-bg-opacity))}.bg-\$sl-color-accent{background-color:var(--sl-color-accent)}.border-0{border-width:0px}.rounded-0\.6rem{border-radius:.6rem}.rounded-full{border-radius:9999px}.text-0\.8rem{font-size:.8rem}.text-0\.9rem{font-size:.9rem}.text-1rem{font-size:1rem}.text-pink100{--un-text-opacity:1;color:rgb(252 231 243 / var(--un-text-opacity))}.color-\[hsl\(224\,_10\%\,_10\%\)\]{--un-text-opacity:1;color:hsl(224 10% 10% / var(--un-text-opacity))}.color-\#1e1b1a{--un-text-opacity:1;color:rgb(30 27 26 / var(--un-text-opacity))}.font-500{font-weight:500}.font-600{font-weight:600}.font-700{font-weight:700}.font-800{font-weight:800}.tracking--0\.011em{letter-spacing:-.011em}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.indent{text-indent:1.5rem}.no-underline{text-decoration:none}.flex{display:flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.gap-0\.2{gap:.05rem}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.h-1em{height:1em}.h-2\.6px{height:2.6px}.h1{height:.25rem}.w-1em{width:1em}.w-full{width:100%}.cursor-pointer{cursor:pointer}.whitespace-nowrap{white-space:nowrap}.overflow-hidden{overflow:hidden}.items-center{align-items:center}.\!self-start{align-self:flex-start!important}.bottom--1{bottom:-.25rem}.left-0{left:0}.transition-650{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.65s}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}.translate-x-1rem{--un-translate-x:1rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-y--20\%{--un-translate-y:-20%;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))} diff --git a/v12.2.0-beta/assets/browser-support.CdD5e2eB.css b/v12.2.0-beta/assets/browser-support.CdD5e2eB.css new file mode 100644 index 00000000..96af59ed --- /dev/null +++ b/v12.2.0-beta/assets/browser-support.CdD5e2eB.css @@ -0,0 +1 @@ +:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(0, 20%, 94%);--sl-color-gray-2: hsl(0, 6%, 77%);--sl-color-gray-3: hsl(0, 6%, 56%);--sl-color-gray-4: hsl(0, 7%, 36%);--sl-color-gray-5: hsl(0, 10%, 23%);--sl-color-gray-6: hsl(0, 15%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(0, 100%, 67%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: #ad9ca3;--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: #2f2927;--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(26, 14%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 6px 4px hsla(0, 0%, 0%, .08), 0px 4px 2px hsla(0, 0%, 0%, .08), 0px 2px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-xs: .8125rem;--sl-text-sm: .937rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-xs);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 16rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 24px;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}@media (min-width: 50em){:root{--sl-content-pad-x: 1rem;--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media (min-width: 72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}dialog{color:var(--sl-color-text)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:anywhere}code{font-family:var(--__sl-font-mono)}:root{--astro-code-color-text: var(--sl-color-white);--astro-code-color-background: var(--sl-color-gray-6);--astro-code-token-constant: var(--sl-color-blue-high);--astro-code-token-string: var(--sl-color-green-high);--astro-code-token-comment: var(--sl-color-gray-2);--astro-code-token-keyword: var(--sl-color-purple-high);--astro-code-token-parameter: var(--sl-color-red-high);--astro-code-token-function: var(--sl-color-red-high);--astro-code-token-string-expression: var(--sl-color-green-high);--astro-code-token-punctuation: var(--sl-color-gray-2);--astro-code-token-link: var(--sl-color-blue-high)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (min-width: 50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (min-width: 72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)}html.is-changing .transition-fade{transition:opacity .125s;opacity:1}html.is-animating .transition-fade{opacity:0}.sl-banner:where(.astro-tjnyjkj5){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-tjnyjkj5) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-dmxftcma){padding:1.5rem var(--sl-content-pad-x);html[data-has-toc] &{margin-right:0!important}}.content-panel:where(.astro-dmxftcma)+.content-panel:where(.astro-dmxftcma){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-dmxftcma){max-width:var(--sl-content-width)}.sl-container:where(.astro-dmxftcma)>*+*{margin-top:1.5rem}@media (min-width: 72rem){.sl-container:where(.astro-dmxftcma){margin-inline:var(--sl-content-margin-inline, auto)}}svg:where(.astro-bkchasgr){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em}p:where(.astro-muzkw2mx){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)}a:where(.astro-mkbcaxh2){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3);margin-left:1em}a:where(.astro-mkbcaxh2):hover{color:var(--sl-color-white)}:root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}.sl-badge:where(.astro-so62ltvt){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-so62ltvt){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-so62ltvt){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-so62ltvt){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-so62ltvt){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-so62ltvt){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-so62ltvt){vertical-align:middle}.sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:not(:last-of-type):after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}}a:where(.astro-m6remgbt){text-decoration:none;color:inherit;transition:color .2s ease-in-out;&:hover{color:var(--sl-color-accent);cursor:pointer!important}}.icon:where(.astro-m6remgbt){vertical-align:baseline;display:inline-block;height:1em;transform:translateY(.15em);margin-right:.3em}time:where(.astro-m6remgbt){margin-left:.2em}.pagination-links:where(.astro-sh3f5jzw){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}@media (min-width: 50rem){.pagination-links:where(.astro-sh3f5jzw){margin-left:-1rem;margin-right:-1rem}}.pagination-links:where(.astro-sh3f5jzw)>:where(.astro-sh3f5jzw){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;text-decoration:none;color:var(--sl-color-gray-2);overflow-wrap:anywhere}.pagination-links:where(.astro-sh3f5jzw)>a:where(.astro-sh3f5jzw){border:.6px solid var(--sl-color-gray-5);border-radius:1000rem;padding:1rem 1.6rem;box-shadow:var(--sl-shadow-md)}:where(.astro-sh3f5jzw)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse;padding-right:1.6rem;padding-left:1.6rem}a:where(.astro-sh3f5jzw):hover{border-color:var(--sl-color-gray-4)}.link-title:where(.astro-sh3f5jzw){color:var(--sl-color-white);font-size:1.3rem;line-height:var(--sl-line-height-headings)}svg:where(.astro-sh3f5jzw){flex-shrink:0}.next-link-tag:where(.astro-sh3f5jzw){color:var(--sl-color-text-accent);font-size:.95rem;font-weight:var(--sl-font-weight-semibold)}footer:where(.astro-ws7dwejz){flex-direction:column;gap:1.5rem}.meta:where(.astro-ws7dwejz){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-ws7dwejz)>p:only-child{margin-inline-start:auto}label:where(.astro-xsfkp6md){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-xsfkp6md):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-xsfkp6md){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}.label-icon:where(.astro-xsfkp6md){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-xsfkp6md){font-size:var(--sl-caret-size);inset-inline-end:0}select:where(.astro-xsfkp6md){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none}option:where(.astro-xsfkp6md){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (min-width: 50rem){select:where(.astro-xsfkp6md){font-size:var(--sl-text-sm)}}.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"⤷ ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable=true]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-1d60ae3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-1d60ae3{display:none!important}.pagefind-ui__suppressed.svelte-1d60ae3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-1d60ae3{position:relative}.pagefind-ui__form.svelte-1d60ae3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-1d60ae3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-1d60ae3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-1d60ae3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-1d60ae3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-1d60ae3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-1d60ae3{padding:0}.pagefind-ui__message.svelte-1d60ae3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-1d60ae3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-1d60ae3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}[data-search-modal-open]{overflow:hidden}#starlight__search{--sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-block: calc(.9375rem * var(--pagefind-ui-scale));--sl-search-result-nested-pad-block: calc(.625rem * var(--pagefind-ui-scale));--sl-search-corners: calc(.3125rem * var(--pagefind-ui-scale));--sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));--sl-search-page-icon-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2 );--sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));--sl-search-tree-diagram-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2 )}#starlight__search .pagefind-ui__form:before{--pagefind-ui-text: var(--sl-color-gray-1);opacity:1}#starlight__search .pagefind-ui__search-input{color:var(--sl-color-white);font-weight:400;width:calc(100% - var(--sl-search-cancel-space))}#starlight__search input:focus{--pagefind-ui-border: var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear{inset-inline-end:var(--sl-search-cancel-space);width:calc(60px * var(--pagefind-ui-scale));padding:0;background-color:transparent;overflow:hidden}#starlight__search .pagefind-ui__search-clear:focus{outline:1px solid var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear:before{content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;background-color:var(--sl-color-text-accent);display:block;width:100%;height:100%}#starlight__search .pagefind-ui__results>*+*{margin-top:var(--sl-search-result-spacing)}#starlight__search .pagefind-ui__result{border:0;padding:0}#starlight__search .pagefind-ui__result-nested{position:relative;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),#starlight__search .pagefind-ui__result-nested{position:relative;background-color:var(--sl-color-black)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:hover,#starlight__search .pagefind-ui__result-nested:focus-within{outline:1px solid var(--sl-color-accent-high)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:focus-within{background-color:var(--sl-color-accent-low)}#starlight__search .pagefind-ui__result-thumb,#starlight__search .pagefind-ui__result-inner{margin-top:0}#starlight__search .pagefind-ui__result-inner>:first-child{border-radius:var(--sl-search-corners) var(--sl-search-corners) 0 0}#starlight__search .pagefind-ui__result-inner>:last-child{border-radius:0 0 var(--sl-search-corners) var(--sl-search-corners)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title{padding:var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-page-icon-inline-start);width:var(--sl-search-page-icon-size);background:var(--sl-color-gray-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat}#starlight__search .pagefind-ui__result-inner{align-items:stretch;gap:1px}#starlight__search .pagefind-ui__result-link{position:unset;--pagefind-ui-text: var(--sl-color-white);font-weight:600}#starlight__search .pagefind-ui__result-link:hover{text-decoration:none}#starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link:before{content:unset}#starlight__search .pagefind-ui__result-nested:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-tree-diagram-inline-start);width:var(--sl-search-tree-diagram-size);background:var(--sl-color-gray-4);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat}#starlight__search .pagefind-ui__result-nested:last-child:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E")}[dir=rtl] .pagefind-ui__result-title:before,[dir=rtl] .pagefind-ui__result-nested:before{transform:scaleX(-1)}#starlight__search .pagefind-ui__result-link:after{content:"";position:absolute;inset:0}#starlight__search .pagefind-ui__result-excerpt{font-size:calc(1rem * var(--pagefind-ui-scale));overflow-wrap:anywhere}#starlight__search mark{color:var(--sl-color-gray-2);background-color:transparent;font-weight:600}site-search:where(.astro-n63ahxst){display:contents}button:where(.astro-n63ahxst)[data-open-modal]{display:flex;align-items:center;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:3rem;font-size:var(--sl-text-xl)}dialog:where(.astro-n63ahxst){margin:0;background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg)}dialog:where(.astro-n63ahxst)[open]{display:flex}dialog:where(.astro-n63ahxst)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(1.25rem)}.dialog-frame:where(.astro-n63ahxst){flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-n63ahxst)[data-close-modal]{position:absolute;z-index:1;align-items:center;align-self:flex-end;height:calc(64px * var(--pagefind-ui-scale));padding:.25rem;border:0;background:transparent;cursor:pointer;color:var(--sl-color-text-accent)}#starlight__search:where(.astro-n63ahxst){--pagefind-ui-primary: var(--sl-color-accent-light);--pagefind-ui-text: var(--sl-color-gray-2);--pagefind-ui-font: var(--__sl-font);--pagefind-ui-background: var(--sl-color-black);--pagefind-ui-border: var(--sl-color-gray-5);--pagefind-ui-border-width: 1px;--sl-search-cancel-space: 5rem}.search-icon:where(.astro-n63ahxst){--search-icon-height: 1.5rem;--search-icon-ratio: 1;width:calc(var(--search-icon-ratio) * var(--search-icon-height));height:var(--search-icon-height);background-image:url(/mobile/search.svg)}@media (min-width: 50rem){.search-icon:where(.astro-n63ahxst){--search-icon-height: 2.6875rem;--search-icon-ratio: calc(126 / 43);background-image:url(/search.svg)}#starlight__search:where(.astro-n63ahxst){--sl-search-cancel-space: 0px}dialog:where(.astro-n63ahxst){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-n63ahxst){padding:1.5rem}}.site-title:where(.astro-z73cwxac){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);font-weight:600;color:var(--sl-color-text-accent);text-decoration:none;white-space:nowrap}img:where(.astro-z73cwxac){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;object-fit:contain;object-position:0 50%}.header:where(.astro-wagtsxap){gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%;background-color:#0000!important}.search-root:where(.astro-wagtsxap){justify-content:flex-end}.title-wrapper:where(.astro-wagtsxap){overflow:hidden}.right-group:where(.astro-wagtsxap),.social-icons:where(.astro-wagtsxap){gap:1rem;align-items:center}.social-icons:where(.astro-wagtsxap):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media (min-width: 50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-wagtsxap){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}}.action:where(.astro-xlzjlryn){gap:.5em;align-items:center;border-radius:999rem;padding:.5rem 1.125rem;color:var(--sl-color-white);line-height:1.1875;text-decoration:none;font-size:var(--sl-text-sm)}.action:where(.astro-xlzjlryn).primary{background:var(--sl-color-text-accent);color:var(--sl-color-black)}.action:where(.astro-xlzjlryn).secondary{border:1px solid}.action:where(.astro-xlzjlryn).minimal{padding-inline:0}@media (min-width: 50rem){.action:where(.astro-xlzjlryn){font-size:var(--sl-text-base);padding:1rem 1.25rem}}.hero:where(.astro-pgofn2s2){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-pgofn2s2)>img:where(.astro-pgofn2s2),.hero:where(.astro-pgofn2s2)>.hero-html:where(.astro-pgofn2s2){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-pgofn2s2){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-pgofn2s2){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-pgofn2s2)>:where(.astro-pgofn2s2){max-width:50ch}h1:where(.astro-pgofn2s2){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-pgofn2s2){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-pgofn2s2){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media (min-width: 50rem){.hero:where(.astro-pgofn2s2){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-pgofn2s2)>img:where(.astro-pgofn2s2),.hero:where(.astro-pgofn2s2)>.hero-html:where(.astro-pgofn2s2){order:2;width:min(100%,25rem)}.stack:where(.astro-pgofn2s2){text-align:start}.copy:where(.astro-pgofn2s2){align-items:flex-start}.actions:where(.astro-pgofn2s2){justify-content:flex-start}}.sl-markdown-content :not(a,em,del,span,input,code,:where(.not-content *)){font-weight:300}.sl-markdown-content strong:not(:where(.not-content *)){font-weight:600}.sl-markdown-content :not(a,strong,em,del,span,input,code,hr)+:not(a,strong,em,del,span,input,code,hr,:where(.not-content *)){margin-top:1rem}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3):not(:where(.not-content *)){margin-top:5rem}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h4):not(:where(.not-content *)){margin-top:4rem}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h5,h6):not(:where(.not-content *)){margin-top:2.5rem}.sl-markdown-content ul ul:not(:where(not-content *)){margin-bottom:1.3rem}.sl-markdown-content :is(h4):not(:where(.not-content *)){margin-top:5rem;font-weight:500!important}.sl-markdown-content :is(h3){margin-top:5rem;color:#ffeee1;font-weight:600!important}.sl-markdown-content :first-child:where(h1,h2,h3,h4,h5,h6){margin-top:0}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content li>:last-child:not(li,ul,ol):not(a,strong,em,del,span,input,:where(.not-content *)){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:#ebdbdb;line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(h2){font-size:.6rem}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){display:block;max-width:100%;height:auto}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-base);color:var(--sl-color-accent)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:#eae0e0;font-weight:430;text-decoration-color:var(--sl-color-accent);text-decoration-style:solid;text-decoration-thickness:.09em;text-underline-offset:.14em;text-underline-position:from-font;transition:color .12s ease-in-out,text-decoration-color .12s ease-in-out;&:hover{color:#ffc56e;text-decoration-color:#ffc56e;text-decoration-style:solid}}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);color:#eac183;margin-block:-.125rem;padding:.125rem .375rem;font-size:var(--sl-text-code-sm);border-radius:4px}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown .sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);padding:0;font-size:var(--sl-text-code);tab-size:2}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem;color:var(--sl-color-gray-2)}.sl-markdown-content table:not(:where(.not-content *)){display:block;overflow:auto;border-collapse:collapse}.sl-markdown-content tr:nth-child(2n):not(:where(.not-content *)){background-color:var(--sl-color-gray-7, var(--sl-color-gray-6))}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border:1px solid var(--sl-color-hairline-light);padding:.375rem .8125rem}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-gray-5);margin:1.8rem 0}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-gray-5);--sl-details-border-color--hover: var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;display:block;font-weight:600;margin-inline-start:-.5rem;padding-inline-start:.5rem}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size: 1.25rem;background-color:currentColor;content:"";display:inline-block;height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion: no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-asides-border);--sl-details-border-color--hover: var(--sl-color-asides-text-accent)}[data-mobile-menu-expanded]{overflow:hidden}@media (min-width: 50rem){[data-mobile-menu-expanded]{overflow:auto}}button:where(.astro-dwzdllxx){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-dwzdllxx)[aria-expanded=true] button:where(.astro-dwzdllxx){background-color:var(--sl-color-gray-2);box-shadow:none}.page-frame:where(.astro-wu4nwam6){flex-direction:column;min-height:100vh}.header:where(.astro-wu4nwam6){position:fixed;z-index:var(--sl-z-index-navbar);inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:var(--sl-color-black)}[data-has-sidebar] .header:where(.astro-wu4nwam6){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-wu4nwam6){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-wu4nwam6){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-wu4nwam6){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (min-width: 50rem){.header:where(.astro-wu4nwam6){background:none}.sidebar-content:where(.astro-wu4nwam6):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-wu4nwam6){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (min-width: 50rem){[data-has-sidebar] .header:where(.astro-wu4nwam6){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-wu4nwam6){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}ul:where(.astro-spfmaigg){padding:0;list-style:none}ul:where(.astro-spfmaigg) li:where(.astro-spfmaigg) a:where(.astro-spfmaigg){font-size:1.08rem}ul:where(.astro-spfmaigg) li:where(.astro-spfmaigg) li:where(.astro-spfmaigg) a:where(.astro-spfmaigg){font-size:.975em}a:where(.astro-spfmaigg){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-spfmaigg)[aria-current=true]{color:var(--sl-color-white);&:hover{color:var(--sl-color-accent)}}.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-spfmaigg):first-child>li:where(.astro-spfmaigg):first-child>a:where(.astro-spfmaigg){border-top:0}.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg)[aria-current=true],.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg)[aria-current=true]:hover,.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg)[aria-current=true]:focus{background-color:unset}.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}nav:where(.astro-g2haqgb3){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media (min-width: 50rem){nav:where(.astro-g2haqgb3){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-g2haqgb3){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-g2haqgb3)::marker,summary:where(.astro-g2haqgb3)::-webkit-details-marker{display:none}.toggle:where(.astro-g2haqgb3){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);user-select:none;cursor:pointer}details:where(.astro-g2haqgb3)[open] .toggle:where(.astro-g2haqgb3){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-g2haqgb3) .toggle:where(.astro-g2haqgb3):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-g2haqgb3){transform:rotate(180deg)}details:where(.astro-g2haqgb3)[open] .caret:where(.astro-g2haqgb3){transform:rotate(90deg)}.display-current:where(.astro-g2haqgb3){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-g2haqgb3){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain}.right-sidebar-panel:where(.astro-h3vzoehi){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-h3vzoehi){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-h3vzoehi) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-h3vzoehi) :where(a){display:block;text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-h3vzoehi) :where(a):hover{color:var(--sl-color-accent)}@media (min-width: 72rem){.sl-container:where(.astro-h3vzoehi){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}h1:where(.astro-3dzsydmp){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:700;letter-spacing:.03rem;color:var(--sl-color-white)}:root p:where(.astro-3dzsydmp){margin-top:.6rem;color:#bddef2;font-style:italic}.author:where(.astro-3dzsydmp){display:flex;flex-direction:row;align-items:center;img{border-radius:9999px;width:54px;margin-right:.8rem}a{font-weight:670;text-decoration:none;color:inherit}.date{margin-top:-.3rem;font-size:.8rem;color:#b1a6ab}}a:where(.astro-7w7pdatc){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-7w7pdatc):hover{opacity:.66}.social-icons:where(.astro-ym3r2ldi){margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-ym3r2ldi):empty{display:none}.mobile-preferences:where(.astro-ym3r2ldi){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);column-gap:1rem;padding:.5rem 0}hr:where(.astro-bgd6mkzw){display:block;width:calc(100% + 2rem);margin-top:1rem;margin-bottom:1rem;margin-left:-1rem}.sidebar-icon:where(.astro-bgd6mkzw){display:inline-block}ul:where(.astro-bgd6mkzw){list-style:none;padding:0}li:where(.astro-bgd6mkzw){overflow-wrap:anywhere}ul:where(.astro-bgd6mkzw) ul:where(.astro-bgd6mkzw) li:where(.astro-bgd6mkzw){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}ul:where(.astro-bgd6mkzw).top-level li:where(.astro-bgd6mkzw):first-child summary:where(.astro-bgd6mkzw){margin-top:0}.large:where(.astro-bgd6mkzw){font-size:var(--sl-text-lg)}.top-level:where(.astro-bgd6mkzw)>li:where(.astro-bgd6mkzw)+li:where(.astro-bgd6mkzw){margin-top:.75rem;font-weight:600;color:--sl-color-gray-2}.top-level:where(.astro-bgd6mkzw) a:where(.astro-bgd6mkzw){display:flex;flex-direction:row;align-items:center;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.1em var(--sl-sidebar-item-padding-inline);line-height:2;font-size:1.08rem!important;margin-left:.6rem;span{flex-shrink:0}&:hover,&:focus{color:var(--sl-color-white)}&[aria-current=page]{opacity:.5;pointer-events:none}}summary:where(.astro-bgd6mkzw){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);cursor:pointer;user-select:none;margin-top:.7rem}summary:where(.astro-bgd6mkzw)::marker,summary:where(.astro-bgd6mkzw)::-webkit-details-marker{display:none}details:where(.astro-bgd6mkzw)[open]{margin-bottom:1rem}.caret:where(.astro-bgd6mkzw){transition:transform .2s ease-in-out;flex-shrink:0;display:none}[dir=rtl] .caret:where(.astro-bgd6mkzw){transform:rotate(180deg);display:none}:where(.astro-bgd6mkzw)[open]>summary:where(.astro-bgd6mkzw) .caret:where(.astro-bgd6mkzw){transform:rotate(90deg)}.group-label:where(.astro-bgd6mkzw){font-weight:550;*{font-size:.96rem!important}}a:where(.astro-bgd6mkzw)>:where(.astro-bgd6mkzw):not(:last-child),.group-label:where(.astro-bgd6mkzw)>:where(.astro-bgd6mkzw):not(:last-child){margin-inline-end:.25em}@media (min-width: 50rem){.top-level:where(.astro-bgd6mkzw)>li:where(.astro-bgd6mkzw)+li:where(.astro-bgd6mkzw){margin-top:.5rem}.large:where(.astro-bgd6mkzw){font-size:1.2rem}a:where(.astro-bgd6mkzw){font-size:var(--sl-text-sm)}}a:where(.astro-z2miczde){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-z2miczde):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)}.main-pane:where(.astro-qzsemow5){isolation:isolate}@media (min-width: 72rem){.right-sidebar-container:where(.astro-qzsemow5){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-qzsemow5){position:fixed;top:0;padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-qzsemow5){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-qzsemow5){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}.starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: #8dd9dc;--sl-color-asides-border: #8dd9dc;background-color:#4b6c6d}.starlight-aside--tip{--sl-color-asides-text-accent: #73cf9a;--sl-color-asides-border: #73cf9a;background-color:#266942}.starlight-aside--caution{--sl-color-asides-text-accent: #ffc56e;--sl-color-asides-border: #ffc56e;background-color:#715224}.starlight-aside--danger{--sl-color-asides-text-accent: #fb9494;--sl-color-asides-border: #f97373;background-color:#804b4b}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent);text-decoration-color:var(--sl-color-asides-text-accent)}.sl-markdown-content{h1{margin-bottom:1rem}.big-page-link{display:block;text-decoration:none;padding:1.2rem 2rem;margin-top:1rem;margin-left:-2rem;border-radius:1rem;h3{margin-top:0}p{color:#b9b9b9;margin-top:.5rem;font-size:110%}}}.sidebar-pane .h3{font-size:var(--sl-text-sm);font-weight:300;img+span{margin-left:.3rem}&.top-level-link{margin-left:0}&:not(:hover,:focus){color:var(--sl-color-text)}}:root,::backdrop{--sl-hue-red: 360;--sl-font-system: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-color-text: #dfd1d7;--sl-color-bg: #1e1b1a;--sl-color-bg-nav: #1e1b1a;--sl-color-bg-sidebar: #1e1b1a;--sl-color-hairline: #221e1d;--sl-color-black: #1e1b1a;--sl-content-width: 45rem;--sl-color-text-accent: #ff6464;--sl-sidebar-item-padding-inline: 0rem;--ec-frm-inlBtnBg: #ff6464;#starlight__sidebar ul ul li{border-inline-start:none;font-weight:300}#starlight__sidebar summary{color:#ff6464}@media (min-width: 72rem){.content-panel{margin-right:14vw;margin-left:4vw}}.header{border:none}.expressive-code{box-shadow:0 2px 4px #00000040;border-radius:8px}.expressive-code .frame pre{border-radius:8px;background:#221f1f;border:.6px solid #342f2f}.expressive-code .frame{--code-background: #00000000}.expressive-code pre{border-radius:8px}.content-panel+.content-panel{border-top:none}.sidebar-pane{padding-left:.8rem}--ec-codePadBlk: 2rem;.expressive-code .copy button:before{border:1px none #00000000}}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-rwlsmwlq){padding-bottom:3vh;font-size:1.125rem}@media (min-width: 50em){main:where(.astro-rwlsmwlq){font-size:inherit}:where(.astro-rwlsmwlq)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media (min-width: 72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} diff --git a/v12.2.0-beta/assets/client.CFbmdnQb.js b/v12.2.0-beta/assets/client.CFbmdnQb.js new file mode 100644 index 00000000..19eda97d --- /dev/null +++ b/v12.2.0-beta/assets/client.CFbmdnQb.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/signals.module.B8hOACSr.js","assets/preact.module.BP4etL1N.js","assets/hooks.module.vf81mID6.js"])))=>i.map(i=>d[i]); +import{_ as t}from"./preload-helper.B5A3MRH_.js";import{_ as e,B as a,D as n}from"./preact.module.BP4etL1N.js";const s=({value:t,name:a,hydrate:n=!0})=>{if(!t)return null;return e(n?"astro-slot":"astro-static-slot",{name:a,dangerouslySetInnerHTML:{__html:t}})};s.shouldComponentUpdate=()=>!1;var r=s;const o=new Map;var l=s=>async(l,i,{default:u,...c},{client:d})=>{if(!s.hasAttribute("ssr"))return;for(const[t,a]of Object.entries(c))i[t]=e(r,{value:a,name:t});if(s.dataset.preactSignals){const{signal:e}=await t((async()=>{const{signal:t}=await import("./signals.module.B8hOACSr.js");return{signal:t}}),__vite__mapDeps([0,1,2]));let a=JSON.parse(s.dataset.preactSignals);for(const[t,n]of Object.entries(a)){if(!o.has(n)){const a=e(i[t]);o.set(n,a)}i[t]=o.get(n)}}("only"!==d?n:a)(e(l,i,null!=u?e(r,{value:u}):u),s),s.addEventListener("astro:unmount",(()=>a(null,s)),{once:!0})};export{l as default}; diff --git a/v12.2.0-beta/assets/ec.3zb7u.js b/v12.2.0-beta/assets/ec.3zb7u.js new file mode 100644 index 00000000..8c0e188f --- /dev/null +++ b/v12.2.0-beta/assets/ec.3zb7u.js @@ -0,0 +1,3 @@ +try{(()=>{function i(e){if(!e)return;let r=e.getAttribute("tabindex")!==null,t=e.scrollWidth>e.clientWidth;t&&!r?e.setAttribute("tabindex","0"):!t&&r&&e.removeAttribute("tabindex")}function a(e){let r=new Set,t;return new ResizeObserver(u=>{u.forEach(o=>r.add(o.target)),t&&clearTimeout(t),t=setTimeout(()=>{t=void 0,r.forEach(o=>e(o)),r.clear()},250)})}function s(e,r){e.querySelectorAll?.(".expressive-code pre > code").forEach(t=>{let n=t.parentElement;n&&(i(n),r.observe(n))})}var d=a(i);s(document,d);var c=new MutationObserver(e=>e.forEach(r=>r.addedNodes.forEach(t=>{s(t,d)})));c.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{s(document,d)});})();}catch(e){console.error("[EC] tabindex-js-module failed:",e)} +try{(()=>{function i(o){let e=document.createElement("pre");Object.assign(e.style,{opacity:"0",pointerEvents:"none",position:"absolute",overflow:"hidden",left:"0",top:"0",width:"20px",height:"20px",webkitUserSelect:"auto",userSelect:"all"}),e.ariaHidden="true",e.textContent=o,document.body.appendChild(e);let a=document.createRange();a.selectNode(e);let n=getSelection();if(!n)return!1;n.removeAllRanges(),n.addRange(a);let r=!1;try{r=document.execCommand("copy")}finally{n.removeAllRanges(),document.body.removeChild(e)}return r}async function l(o){let e=o.currentTarget,a=e.dataset,n=!1,r=a.code.replace(/\u007f/g,` +`);try{await navigator.clipboard.writeText(r),n=!0}catch{n=i(r)}if(!n||e.parentNode?.querySelector(".feedback"))return;let t=document.createElement("div");t.classList.add("feedback"),t.append(a.copied),e.before(t),t.offsetWidth,requestAnimationFrame(()=>t?.classList.add("show"));let c=()=>!t||t.classList.remove("show"),d=()=>{!t||parseFloat(getComputedStyle(t).opacity)>0||(t.remove(),t=void 0)};setTimeout(c,1500),setTimeout(d,2500),e.addEventListener("blur",c),t.addEventListener("transitioncancel",d),t.addEventListener("transitionend",d)}function s(o){o.querySelectorAll?.(".expressive-code .copy button").forEach(e=>e.addEventListener("click",l))}s(document);var u=new MutationObserver(o=>o.forEach(e=>e.addedNodes.forEach(a=>{s(a)})));u.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{s(document)});})();}catch(e){console.error("[EC] copy-js-module failed:",e)} \ No newline at end of file diff --git a/v12.2.0-beta/assets/ec.wnxus.css b/v12.2.0-beta/assets/ec.wnxus.css new file mode 100644 index 00000000..59c3c6b0 --- /dev/null +++ b/v12.2.0-beta/assets/ec.wnxus.css @@ -0,0 +1 @@ +.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);font-weight:var(--ec-uiFontWg);line-height:var(--ec-uiLineHt);text-size-adjust:none;-webkit-text-size-adjust:none}.expressive-code *:not(path){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre > code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);font-weight:var(--ec-codeFontWg);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre.wrap .ec-line .code{white-space:pre-wrap;overflow-wrap:break-word;min-width:min(20ch, var(--ecMaxLine, 20ch))}.expressive-code pre.wrap .ec-line .code span.indent{white-space:pre}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{direction:ltr;unicode-bidi:isolate;display:grid;grid-template-areas:'gutter code';grid-template-columns:auto 1fr;position:relative}.expressive-code .ec-line .gutter{grid-area:gutter;color:var(--ec-gtrFg)}.expressive-code .ec-line .gutter > *{pointer-events:none;user-select:none;-webkit-user-select:none}.expressive-code .ec-line .gutter ~ .code{--ecLineBrdCol:var(--ec-gtrBrdCol)}.expressive-code .ec-line.highlight .gutter{color:var(--ec-gtrHlFg)}.expressive-code .ec-line .code{grid-area:code;position:relative;box-sizing:content-box;padding-inline-start:calc(var(--ecIndent, 0ch) + var(--ec-codePadInl) - var(--ecGtrBrdWd));padding-inline-end:var(--ec-codePadInl);text-indent:calc(var(--ecIndent, 0ch) * -1)}.expressive-code .ec-line .code::before,.expressive-code .ec-line .code::after,.expressive-code .ec-line .code :where(*){text-indent:0}.expressive-code .ec-line .code{--ecGtrBrdWd:var(--ec-gtrBrdWd);border-inline-start:var(--ecGtrBrdWd) solid var(--ecLineBrdCol, transparent)}.expressive-code :nth-child(1 of .ec-line) .code{padding-inline-end:calc(2rem + var(--ec-codePadInl))}.expressive-code .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.expressive-code .ec-line.mark{--tmLineBgCol:var(--ec-tm-markBg)}.expressive-code .ec-line.mark .code{--ecLineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol:var(--ec-tm-insBg);--tmLabel:var(--ec-tm-insDiffIndContent)}.expressive-code .ec-line.ins .code{--ecLineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins .code::before{color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol:var(--ec-tm-delBg);--tmLabel:var(--ec-tm-delDiffIndContent)}.expressive-code .ec-line.del .code{--ecLineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del .code::before{color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{background:var(--tmLineBgCol)}.expressive-code .ec-line.mark .code,.expressive-code .ec-line.ins .code,.expressive-code .ec-line.del .code{--ecGtrBrdWd:var(--ec-tm-lineMarkerAccentWd)}.expressive-code .ec-line.mark .code::before,.expressive-code .ec-line.ins .code::before,.expressive-code .ec-line.del .code::before{display:block;position:absolute;left:0;box-sizing:border-box;content:var(--tmLabel, ' ');padding-inline-start:var(--ec-tm-lineDiffIndMargLeft);text-align:center;white-space:pre}.expressive-code .ec-line.mark.tm-label .code::before,.expressive-code .ec-line.ins.tm-label .code::before,.expressive-code .ec-line.del.tm-label .code::before{background:var(--ecLineBrdCol);padding:0 calc(var(--ec-tm-lineMarkerLabelPadInl) + var(--ec-tm-lineMarkerAccentWd)) 0 var(--ec-tm-lineMarkerLabelPadInl);color:var(--ec-tm-lineMarkerLabelCol)}.expressive-code .ec-line mark{--tmInlineBgCol:var(--ec-tm-markBg);--tmInlineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol:var(--ec-tm-insBg);--tmInlineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol:var(--ec-tm-delBg);--tmInlineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL:var(--ec-tm-inlMarkerBrdWd);--tmBrdR:var(--ec-tm-inlMarkerBrdWd);--tmRadL:var(--ec-tm-inlMarkerBrdRad);--tmRadR:var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL:0px;--tmRadL:0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR:0px;--tmRadR:0}.expressive-code .ec-line mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:'';position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius:calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing:0.4rem;--code-background:var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:'\a0'}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing:calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:'';position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:'';position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing:calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background:var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:'';position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:'';position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2);direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size:0.35rem;--tooltip-bg:var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:'';position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code{}.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover),.expressive-code .frame .copy .feedback.show ~ button:not(:hover){opacity:0.75}}:root,:root:not([data-theme='github-dark-dimmed']) .expressive-code[data-theme='github-dark-dimmed']{--ec-brdRad:0px;--ec-brdWd:1px;--ec-brdCol:#444c56;--ec-codeFontFml:var(--__sl-font-mono);--ec-codeFontSize:var(--sl-text-code);--ec-codeFontWg:400;--ec-codeLineHt:var(--sl-line-height);--ec-codePadBlk:0.75rem;--ec-codePadInl:1rem;--ec-codeBg:#22272e;--ec-codeFg:#adbac7;--ec-codeSelBg:#264f78;--ec-gtrFg:#6e7884;--ec-gtrBrdCol:#6e788433;--ec-gtrBrdWd:1.5px;--ec-gtrHlFg:#adbac7c1;--ec-uiFontFml:var(--__sl-font);--ec-uiFontSize:0.9rem;--ec-uiFontWg:400;--ec-uiLineHt:1.65;--ec-uiPadBlk:0.25rem;--ec-uiPadInl:1rem;--ec-uiSelBg:#636e7b66;--ec-uiSelFg:#adbac7;--ec-focusBrd:#316dca;--ec-sbThumbCol:#76839033;--ec-sbThumbHoverCol:#768390ab;--ec-tm-lineMarkerAccentMarg:0rem;--ec-tm-lineMarkerAccentWd:0.15rem;--ec-tm-lineMarkerLabelPadInl:0.2rem;--ec-tm-lineMarkerLabelCol:white;--ec-tm-lineDiffIndMargLeft:0.25rem;--ec-tm-inlMarkerBrdWd:1.5px;--ec-tm-inlMarkerBrdRad:0.2rem;--ec-tm-inlMarkerPad:0.15rem;--ec-tm-insDiffIndContent:'+';--ec-tm-delDiffIndContent:'-';--ec-tm-markBg:#174a9099;--ec-tm-markBrdCol:#4d70bcd0;--ec-tm-insBg:#1e571599;--ec-tm-insBrdCol:#487f3bd0;--ec-tm-insDiffIndCol:#79b169d0;--ec-tm-delBg:#862d2799;--ec-tm-delBrdCol:#b4554bd0;--ec-tm-delDiffIndCol:#ed8779d0;--ec-frm-shdCol:#0000005b;--ec-frm-frameBoxShdCssVal:0.1rem 0.1rem 0.2rem #0000005b;--ec-frm-edActTabBg:#22272e;--ec-frm-edActTabFg:#adbac7;--ec-frm-edActTabBrdCol:transparent;--ec-frm-edActTabIndHt:1px;--ec-frm-edActTabIndTopCol:#ec775c;--ec-frm-edActTabIndBtmCol:#22272e;--ec-frm-edTabsMargInlStart:0;--ec-frm-edTabsMargBlkStart:0;--ec-frm-edTabBrdRad:0px;--ec-frm-edTabBarBg:#1c2128;--ec-frm-edTabBarBrdCol:#444c56;--ec-frm-edTabBarBrdBtmCol:#444c56;--ec-frm-edBg:#22272e;--ec-frm-trmTtbFg:#768390;--ec-frm-trmTtbDotsFg:#768390;--ec-frm-trmTtbDotsOpa:0.15;--ec-frm-trmTtbBg:#22272e;--ec-frm-trmTtbBrdBtmCol:#444c56;--ec-frm-trmBg:#1c2128;--ec-frm-inlBtnFg:#adbac7;--ec-frm-inlBtnBg:#adbac7;--ec-frm-inlBtnBgIdleOpa:0;--ec-frm-inlBtnBgHoverOrFocusOpa:0.2;--ec-frm-inlBtnBgActOpa:0.3;--ec-frm-inlBtnBrd:#adbac7;--ec-frm-inlBtnBrdOpa:0.4;--ec-frm-tooltipSuccessBg:#438345;--ec-frm-tooltipSuccessFg:white}.expressive-code .ec-line :where(span[style^='--']:not([class])),:root:not([data-theme='github-dark-dimmed']) .expressive-code[data-theme='github-dark-dimmed'] .ec-line :where(span[style^='--']:not([class])){color:var(--0, inherit);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)} \ No newline at end of file diff --git a/v12.2.0-beta/assets/hoisted.TUn7EJE2.js b/v12.2.0-beta/assets/hoisted.TUn7EJE2.js new file mode 100644 index 00000000..5d5cfb86 --- /dev/null +++ b/v12.2.0-beta/assets/hoisted.TUn7EJE2.js @@ -0,0 +1 @@ +const e=300,t="https://stackblitz.com",n=["angular-cli","create-react-app","html","javascript","node","polymer","typescript","vue"],i=["project","search","ports","settings"],r=["light","dark"],o=["editor","preview"],s={clickToLoad:e=>a("ctl",e),devToolsHeight:e=>d("devtoolsheight",e),forceEmbedLayout:e=>a("embed",e),hideDevTools:e=>a("hidedevtools",e),hideExplorer:e=>a("hideExplorer",e),hideNavigation:e=>a("hideNavigation",e),openFile:e=>p("file",e),showSidebar:e=>function(e,t){if("boolean"==typeof t)return`${e}=${t?"1":"0"}`;return""}("showSidebar",e),sidebarView:e=>l("sidebarView",e,i),startScript:e=>p("startScript",e),terminalHeight:e=>d("terminalHeight",e),theme:e=>l("theme",e,r),view:e=>l("view",e,o),zenMode:e=>a("zenMode",e),organization:e=>`${p("orgName",e?.name)}&${p("orgProvider",e?.provider)}`,crossOriginIsolated:e=>a("corp",e)};function c(e={}){const t=Object.entries(e).map((([e,t])=>null!=t&&s.hasOwnProperty(e)?s[e](t):"")).filter(Boolean);return t.length?`?${t.join("&")}`:""}function a(e,t){return!0===t?`${e}=1`:""}function d(e,t){if("number"==typeof t&&!Number.isNaN(t)){const n=Math.min(100,Math.max(0,t));return`${e}=${encodeURIComponent(Math.round(n))}`}return""}function l(e,t="",n=[]){return n.includes(t)?`${e}=${encodeURIComponent(t)}`:""}function p(e,t){return(Array.isArray(t)?t:[t]).filter((e=>"string"==typeof e&&""!==e.trim())).map((t=>`${e}=${encodeURIComponent(t)}`)).join("&")}function u(){return Math.random().toString(36).slice(2,6)+Math.random().toString(36).slice(2,6)}function h(e,t){return`${f(t)}${e}${c(t)}`}function m(e,t){const n={forceEmbedLayout:!0};return t&&"object"==typeof t&&Object.assign(n,t),`${f(n)}${e}${c(n)}`}function f(e={}){return("string"==typeof e.origin?e.origin:t).replace(/\/$/,"")}function g(t,n,i){if(!n||!t||!t.parentNode)throw new Error("Invalid Element");t.id&&(n.id=t.id),t.className&&(n.className=t.className),function(t,n={}){const i=Object.hasOwnProperty.call(n,"height")?`${n.height}`:`${e}`,r=Object.hasOwnProperty.call(n,"width")?`${n.width}`:void 0;t.setAttribute("height",i),r?t.setAttribute("width",r):t.setAttribute("style","width:100%;")}(n,i),function(e,t,n={}){const i=e.allow?.split(";")?.map((e=>e.trim()))??[];n.crossOriginIsolated&&!i.includes("cross-origin-isolated")&&i.push("cross-origin-isolated");i.length>0&&(t.allow=i.join("; "))}(t,n,i),t.replaceWith(n)}function y(e){if("string"==typeof e){const t=document.getElementById(e);if(!t)throw new Error(`Could not find element with id '${e}'`);return t}if(e instanceof HTMLElement)return e;throw new Error(`Invalid element: ${e}`)}function w(e){return e&&!1===e.newWindow?"_self":"_blank"}class _{constructor(e){this.pending={},this.port=e,this.port.onmessage=this.messageListener.bind(this)}request({type:e,payload:t}){return new Promise(((n,i)=>{const r=u();this.pending[r]={resolve:n,reject:i},this.port.postMessage({type:e,payload:{...t,__reqid:r}})}))}messageListener(e){if("string"!=typeof e.data.payload?.__reqid)return;const{type:t,payload:n}=e.data,{__reqid:i,__success:r,__error:o}=n;this.pending[i]&&(r?this.pending[i].resolve(this.cleanResult(n)):this.pending[i].reject(o?`${t}: ${o}`:t),delete this.pending[i])}cleanResult(e){const t={...e};return delete t.__reqid,delete t.__success,delete t.__error,Object.keys(t).length?t:null}}class b{constructor(e,t){this.editor={openFile:e=>this._rdc.request({type:"SDK_OPEN_FILE",payload:{path:e}}),setCurrentFile:e=>this._rdc.request({type:"SDK_SET_CURRENT_FILE",payload:{path:e}}),setTheme:e=>this._rdc.request({type:"SDK_SET_UI_THEME",payload:{theme:e}}),setView:e=>this._rdc.request({type:"SDK_SET_UI_VIEW",payload:{view:e}}),showSidebar:(e=!0)=>this._rdc.request({type:"SDK_TOGGLE_SIDEBAR",payload:{visible:e}})},this.preview={origin:"",getUrl:()=>this._rdc.request({type:"SDK_GET_PREVIEW_URL",payload:{}}).then((e=>e?.url??null)),setUrl:(e="/")=>{if("string"!=typeof e||!e.startsWith("/"))throw new Error(`Invalid argument: expected a path starting with '/', got '${e}'`);return this._rdc.request({type:"SDK_SET_PREVIEW_URL",payload:{path:e}})}},this._rdc=new _(e),Object.defineProperty(this.preview,"origin",{value:"string"==typeof t.previewOrigin?t.previewOrigin:null,writable:!1})}applyFsDiff(e){const t=e=>null!==e&&"object"==typeof e;if(!t(e)||!t(e.create))throw new Error("Invalid diff object: expected diff.create to be an object.");if(!Array.isArray(e.destroy))throw new Error("Invalid diff object: expected diff.destroy to be an array.");return this._rdc.request({type:"SDK_APPLY_FS_DIFF",payload:e})}getDependencies(){return this._rdc.request({type:"SDK_GET_DEPS_SNAPSHOT",payload:{}})}getFsSnapshot(){return this._rdc.request({type:"SDK_GET_FS_SNAPSHOT",payload:{}})}}const E=[];class v{constructor(e){this.id=u(),this.element=e,this.pending=new Promise(((e,t)=>{const n=({data:t,ports:n})=>{"SDK_INIT_SUCCESS"===t?.action&&t.id===this.id&&(this.vm=new b(n[0],t.payload),e(this.vm),r())},i=()=>{this.element.contentWindow?.postMessage({action:"SDK_INIT",id:this.id},"*")};function r(){window.clearInterval(s),window.removeEventListener("message",n)}window.addEventListener("message",n),i();let o=0;const s=window.setInterval((()=>{if(this.vm)r();else{if(o>=20)return r(),t("Timeout: Unable to establish a connection with the StackBlitz VM"),void E.forEach(((e,t)=>{e.id===this.id&&E.splice(t,1)}));o++,i()}}),500)})),E.push(this)}}const S=e=>{const t=e instanceof Element?"element":"id";return E.find((n=>n[t]===e))??null};function j({template:e,title:t,description:i,dependencies:r,files:o,settings:s}){if(!n.includes(e)){const e=n.map((e=>`'${e}'`)).join(", ");console.warn(`Unsupported project.template: must be one of ${e}`)}const c=[],a=(e,t,n="")=>{c.push(function(e,t){const n=document.createElement("input");return n.type="hidden",n.name=e,n.value=t,n}(e,"string"==typeof t?t:n))};a("project[title]",t),"string"==typeof i&&i.length>0&&a("project[description]",i),a("project[template]",e,"javascript"),r&&("node"===e?console.warn("Invalid project.dependencies: dependencies must be provided as a 'package.json' file when using the 'node' template."):a("project[dependencies]",JSON.stringify(r))),s&&a("project[settings]",JSON.stringify(s)),Object.entries(o).forEach((([e,t])=>{a(`project[files][${function(e){return e.replace(/\[/g,"%5B").replace(/\]/g,"%5D")}(e)}]`,t)}));const d=document.createElement("form");return d.method="POST",d.setAttribute("style","display:none!important;"),d.append(...c),d}function $(e){if(!e?.contentWindow)return Promise.reject("Provided element is not an iframe.");return(S(e)??new v(e)).pending}const I={connect:$,embedGithubProject:function(e,t,n){const i=y(e),r=document.createElement("iframe");return r.src=m(`/github/${t}`,n),g(i,r,n),$(r)},embedProject:function(e,t,n){const i=y(e),r=function(e,t){const n=j(e);return n.action=m("/run",t),n.id="sb_run",`\n\n\n\n ${n.outerHTML}\n + + Skip to content

A Bold Vision For A TypeScript Utility Library

Spoiler alert: it's not just a library.

Alec Larson Aug 8, 2024
Too Long, Didn’t Read

We’re forking Radash, a modern TypeScript utility library with 100K+ weekly downloads and 4K stars on GitHub, which is sadly unmaintained. Out of respect, I’ve named it Radashi.

My dream is to see Radashi reach its full potential as a common ground for TypeScript developers to share and collaborate on utility functions, without gate-keepers. Read on to learn more about Radashi’s vision.

+

Today marks the first stable release of Radashi, what may soon become your new favorite utility library for TypeScript. To celebrate this milestone, allow me to introduce Radashi and its vision for the future.

+

Instead of taking the safe route of rewriting Lodash into a modern library like others have done, Radashi builds on ~3 years of development by its predecessor (Radash), which dares to rethink what a utility library for TypeScript should be.

+

As we all know, Lodash is a great library, but its age is showing. Not just in terms of the codebase, but also the mindset. We loved Lodash for its pragmatic approach to (what once was) idiomatic JavaScript. Unfortunately, Lodash’s complexity has cost it a sustainable future that allows it to keep up with the pace of modern JavaScript. It’s more than that, though. Lodash is built with an outdated mindset that caters to a shrinking audience – developers who want a toolkit that “just works” and who don’t care if it’s bloated or hard to modify.

+

Radashi has a big vision, one bigger than its predecessor’s vision of a modern library. Radashi’s not just a library. It’s a community of like-minded TypeScript developers that doesn’t revolve around a single person. Radashi adopts a newer mindset, one with design principles that are explicitly defined in a living document, Our Ethos (more on this in a later post).

+

At Radashi, we believe that there is no “one size fits all” when it comes to utility libraries. But that doesn’t mean we, as a community, should be fragmented in our efforts. Using the Radashi ethos as our common ground, a new layer of collaboration is born. Radashi aims to be a solid foundation for you to customize and extend to your heart’s content. We’ve discovered that if we all organize our utility libraries in the same way, we can optimize shareability and collaboration.

+

Radashi is a utility library with no gate-keeper. There are stewards, like myself, who help keep the library aligned with the Radashi ethos (and to help that ethos evolve over time), but the community ultimately decides the direction of the library. One way of doing that is by proposing changes to the ethos itself. Another way is through Radashi’s pull requests page on GitHub, which acts as a town square for lightly-moderated sharing of functions that adhere to the Radashi ethos.

+

Even if a PR is never merged, you can still use it in your own Radashi (no forking necessary). To accomplish this, I’m developing some tools for every user of Radashi which will let you easily import PRs into your own Radashi, so you don’t have to wait for the Radashi team to merge a PR or approve of it. These tools will also empower you to easily extend Radashi without the hassle of keeping a local clone “in sync” with Radashi’s official main branch (with merge conflicts being more rare). These tools include a CLI, a template repository, and even a VSCode extension, all of which are almost ready for showtime.

+

If this sounds like a promising vision, we need you to show your support by starring Radashi on GitHub. Even better, contribute to Radashi by opening issues, sending PRs, or participating in GitHub discussions. We are nearing the release of v13.0.0, so now is the perfect time to get involved.

+

There’s so much more to say about Radashi, so I’ll be writing more posts about it in the future. For now, I’ve collected some links for your convenience:

+ +

Thanks for reading! I hope to see you around. ✌️

\ No newline at end of file diff --git a/v12.2.0-beta/blog/vs-radash/index.html b/v12.2.0-beta/blog/vs-radash/index.html new file mode 100644 index 00000000..9023fb77 --- /dev/null +++ b/v12.2.0-beta/blog/vs-radash/index.html @@ -0,0 +1,206 @@ + Comparing Radashi to Radash | Radashi + + Skip to content

Comparing Radashi to Radash

How we improve on our predecessor

Alec Larson Aug 14, 2024

If you’ve already used Radash, you’ll naturally wonder what makes Radashi better. First and foremost, Radashi is actively maintained. In my opinion, that alone makes Radashi the better choice.

+

That said, let me give you an overview of how the two projects compare, given the current state of both, as well as a glimpse into my vision for the future. I will try to be comprehensive in listing the differences that I believe make Radashi the obvious choice:

+
    +
  • +

    Explicit design philosophy

    +
      +
    • To help guide our decision-making, I’ve tried to articulate “the ethos of Radashi” as a set of design principles.
    • +
    • This is a living document, and so I expect it to evolve over time according to the community’s feedback.
    • +
    • I believe that having such a document will make it easier for contributors to understand the project’s goals and direction, and therefore make it easier for them to contribute features aligned with the project’s vision.
    • +
    • It can also assist in resolving any disagreements that may arise between contributors.
    • +
    • The ethos will have its own page in the docs, but you can check out the first draft to get an idea of what it’s about.
    • +
    +
  • +
  • +

    Higher code quality

    +
      +
    • This is the trickiest-to-prove benefit of Radashi (other than the fact that it has less bugs, because we fixed them).
    • +
    • While our predecessor Radash’s code is of mostly good quality (no shade intended), I and the other contributors have been able to make many improvements.
    • +
    • I believe this gap in quality will only widen over time, as we’re not done improving the code we inherited from Radash. It’s my hope that Radashi’s quality will become more apparent as you use it.
    • +
    +
  • +
  • +

    More functions

    +
      +
    • We are actively looking to introduce new functions that cover popular use cases.
    • +
    • The community has the final say. If there’s demand for a function, and that function adheres to Radashi’s ethos, then that function will certainly be added.
    • +
    +
  • +
  • +

    Benchmarks

    +
      +
    • Every pull request is compared with the main branch using our benchmarking suite.
    • +
    • This ensures that the PR doesn’t introduce any regressions.
    • +
    • It also ensures that perf-related PRs are statistically significant.
    • +
    • There are plans to add comparative benchmarks with Lodash as well, wherever we support the same use case.
    • +
    +
  • +
  • +

    Bundle impact

    +
      +
    • When a PR adds or modifies a function, the minified byte size of the function’s new and old implementations are compared and subsequently reported in the PR.
    • +
    • This helps us avoid introducing any unnecessary bloat.
    • +
    +
  • +
  • +

    Welcoming new maintainers

    +
      +
    • The last thing I want is to be the project’s sole maintainer.
    • +
    • I’ve made the barrier to joining the core team lower than most projects, because I want as many passionate contributors as possible to help steer development.
    • +
    • This is my attempt to avoid issues of unresponsiveness as much as possible. Radash was a one-man show, and the project suffered from burnout as a result.
    • +
    • To alleviate security concerns that may arise from having a large team of maintainers, I’m currently the only person with the ability to publish to NPM. It’s my hope that this will change in the near future, so I can stop being a bottleneck in the release process.
    • +
    +
  • +
  • +

    Nightly beta releases

    +
      +
    • Every night at 5:00AM UTC, a radashi@beta release is published to NPM if any PRs were merged that day.
    • +
    • This means you’ll be able to use your contributions or others’ the next day.
    • +
    • This allows for a swift development cycle and being able to use the latest and greatest features or fixes without waiting for a stable release.
    • +
    • I plan to do the same for breaking changes, publishing a nightly radashi@next release based on the next branch.
    • +
    +
  • +
  • +

    Bigger vision

    +
      +
    • Shortly after the project’s first true release, I plan to turn my focus to a bigger vision for Radashi.
    • +
    • I’m not ready to share what that is yet, but I will say that it’s focused on making Radashi as easy as possible to customize.
    • +
    • This vision also includes making Radashi less dependent on the core team, allowing the community to collaborate without gate-keeping, while still using Radashi’s codebase and ethos as a common ground for collaboration.
    • +
    • There will be a blog post on this when the time comes.
    • +
    +
  • +
  • +

    Translated docs

    +
      +
    • We plan to support multiple languages so we can appeal to a wider audience and attract non-English speakers to contribute to the project.
    • +
    • To kickstart this, I’m going to use an LLM for the initial translation. This will run in a GitHub action every time the docs are updated.
    • +
    +
  • +
  • +

    “Browser support” page

    +
      +
    • The docs will be explicit about which browsers are supported by Radashi without the need for legacy transforms.
    • +
    • This page will be updated every time the docs are updated, so it’s always relatively up-to-date.
    • +
    • As part of our automatic linting process, we verify that this browser support is not broken.
    • +
    • You can find the page here.
    • +
    +
  • +
  • +

    “Lodash parity” page

    +
      +
    • The docs will have a page dedicated to comparing Radashi and Lodash where overlap exists.
    • +
    • This should help Lodash users make the switch to Radashi.
    • +
    • When the page is ready, you’ll be able to find it here. (I’m almost done writing this page. It’s generated from a Supabase table where I keep track of which Lodash functions have been implemented in Radashi.)
    • +
    +
  • +
  • +

    Other small things

    +
    Such as… (click to expand)
    • Protected main branch: PRs must pass automated checks +before they can be merged. I will never push fixes or features +directly to main, even though I have that privilege.

    • Conventional commits: I’ve added a commit message +linter to ensure that all commits follow the

      conventional commits

      specification.

    • RFC process: New features and breaking changes are +often

      submitted as an RFC

      to encourage community involvement in the decision-making process

    • Preview releases: If you can’t wait for a PR to be +merged, the PR author can comment /publish to publish a +preview release of the PR to NPM for immediate use

    • Generated changelog: Essentially a filtered commit +history that excludes non-code changes to make it easy to see what’s +new

    • High-level release notes: These will include +high-level explanations and code examples for the changes in each +release

    • Contribution scripts: Scripts like +pnpm add-function have been added to streamline the +contribution process

    • JSR.io package: If you use Deno or you just resonate +with the JSR.io philosophy, you can use +the JSR.io package +instead of the NPM package

    • Better tooling: I’ve switched the project to use +Vitest for testing +(instead of Jest), Biome for +linting/formatting source code (instead of TSLint/Prettier), and +PNPM for +package management (instead of Yarn).

    • Easier to copy-paste: If one of Radashi’s functions +isn’t meeting your needs, you can easily copy-paste it into your +project and change it as you see fit, because our functions always +import from radashi just like your project does.

    +
  • +
+

In the end, I hope that Ray Epps (the creator of Radash) will be proud of where we’ve taken Radashi. Maybe he’ll even join the core team at some point. Who knows?

+

If you have any questions or comments, hop on over to the issue that sparked this post and leave a comment.

\ No newline at end of file diff --git a/v12.2.0-beta/blog/what-happened-to-radash/index.html b/v12.2.0-beta/blog/what-happened-to-radash/index.html new file mode 100644 index 00000000..64213501 --- /dev/null +++ b/v12.2.0-beta/blog/what-happened-to-radash/index.html @@ -0,0 +1,96 @@ + What happened to Radash? | Radashi + + Skip to content

What happened to Radash?

The catalyst behind Radashi's creation

Alec Larson Aug 23, 2024

Radash is a JavaScript utility library that modernized many of the functions found in Lodash. It brought these tools into the era of minimalism and TypeScript, which was a significant improvement for many developers.

+

Our team greatly appreciated Radash’s contributions and initially hoped to contribute to its ongoing development. However, in mid-2024, we noticed a concerning lack of activity in the Radash project:

+
    +
  1. The creator has not responded to community inquiries since June 2023.
  2. +
  3. There’s an open discussion and an issue about the project’s maintenance status, both without response.
  4. +
  5. Multiple other issues and pull requests remain unaddressed.
  6. +
  7. Direct email inquiries about the project’s status have gone unanswered.
  8. +
+

Given this prolonged inactivity and lack of communication, we’ve reluctantly concluded that the Radash project is no longer being actively maintained. While we would have preferred to contribute to Radash directly, the current situation makes this impossible.

+

As a result, we believe that further progress requires the formation of a new community and the creation of a new repository. This decision wasn’t made lightly, but we feel it’s necessary to ensure the continued development and improvement of these essential tools for the TypeScript ecosystem.

+

We hope to bring on more maintainers to ensure Radashi never goes unmaintained. If this is something you’re interested in, please reach out to us. We also plan to develop tooling, like our template repository and our VS Code extension, for the Radashi community to collaborate without gate-keepers.

+

Since the creation of Radashi, we’ve been working on improving the codebase we’ve inherited in every fashion. This means, even if Radash were to be maintained again, Radashi would still be superior. If you’re interested in how we’re bringing Radash to the next level, read our comparison post.

+

Radashi aims to be more than just a library. We envision it as a common ground of unfettered collaboration, united by shared values and empowered by innovative tooling. Our goal is to nurture a diverse community, maintained not by one person’s whims, but by all who believe in our mission and can contribute their time and expertise.

+

Every little bit of help moves Radashi forward. Every opinion shapes our direction. Every bug report refines our code. Every pull request builds our foundation. Together, these contributions propel Radashi towards becoming the best TypeScript utility library that has ever existed - a true testament to the power of collective effort and shared purpose.

+

To end this post, I would like to thank Ray Epps for the creation of Radash. Without it, we wouldn’t have been able to create Radashi. If he were to return, we would be happy to collaborate with him.

\ No newline at end of file diff --git a/v12.2.0-beta/browser-support/index.html b/v12.2.0-beta/browser-support/index.html new file mode 100644 index 00000000..b78e53b1 --- /dev/null +++ b/v12.2.0-beta/browser-support/index.html @@ -0,0 +1,198 @@ + Browser Support | Radashi + + Skip to content

Browser Support

Discover which browsers and versions Radashi supports.

Browser support is a crucial factor to consider when choosing a utility library +like Radashi. It determines which browsers and versions your application will be compatible with, +potentially affecting your user base and the features you can utilize.

+

To ensure that Radashi keeps its promise of broad compatibility, our TypeScript config is set to only allow ES2017 APIs and below. As browsers continue to improve, we’ll update our support to keep up with the latest standards.

+
Legacy Transformations
+

While Radashi aims to strike a balance between modern functionality and broad compatibility, it’s +important to note that you may need to compile your application bundle using tools like:

+ +

…to ensure compatibility with browsers older than we officially support (like IE 11).

+

Coverage

+

”Coverage” refers to audience coverage, which is an estimated percentage of users likely to be using devices that Radashi officially supports. This estimate is based on Browserslist data and is not intended to reflect the actual usage rate of your specific website or application.

+

This coverage data is automatically updated whenever the Radashi docs are rebuilt and re-deployed. This page was generated on August 24, 2024.

+
Location-Based Coverage
+ + + + + + + + + + + + + + + + + + + + + + + + + +
RegionCoverage
Global94.32%
USA97.33%
Europe96.02%
China73.60%
+
IE 11
+

China’s lower coverage is mainly due to a lack of support for IE 11 on Radashi’s part. Radashi does not intend to support IE 11.

+
Device-Based Coverage
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BrowserVersionCoverage
Chrome for Android≥ 12744.10%
Chrome≥ 5721.20%
Safari on iOS≥ 10.314.64%
Edge≥ 154.96%
Safari≥ TP3.20%
Firefox≥ 522.25%
Samsung Internet≥ 7.22.03%
Android Browser≥ 1270.81%
Opera≥ 440.73%
Firefox for Android≥ 1270.35%
Node≥ 16.0.0
+

The Query

+

Radashi currently uses the following Browserslist query:

+
and_chr >= 57
chrome >= 57
and_ff >= 52
android >= 127
edge >= 15
samsung >= 7.4
safari >= 10.1
ios_saf >= 10.3
opera >= 44
firefox >= 52
unreleased and_chr versions
unreleased chrome versions
unreleased and_ff versions
unreleased android versions
unreleased edge versions
unreleased samsung versions
unreleased safari versions
unreleased ios_saf versions
unreleased opera versions
unreleased firefox versions
node >= 16
+

This query is generated with the pnpm update-browserslist command, which uses browserslist-generator to ensure all browsers that support ES2017 are included.

+

If you’d like to understand Browserslist better, check out this exceptional article by Alexander Morse.

\ No newline at end of file diff --git a/v12.2.0-beta/changelog/index.html b/v12.2.0-beta/changelog/index.html new file mode 100644 index 00000000..6a3d6fb3 --- /dev/null +++ b/v12.2.0-beta/changelog/index.html @@ -0,0 +1,357 @@ + Changelog | Radashi + + Skip to content

Changelog

Changelog

+

All notable changes to this project will be documented in this file.

+

The format is based on Keep a Changelog, +and this project adheres to Semantic Versioning.

+

radashi@beta

+

Details

+

Added

+ +

Changed

+ +

Fixed

+ +

Performance

+
    +
  • +

    Avoid excessive array allocation in fork by @localusercamp in #33

    +
  • +
  • +

    Make template faster by @aleclarson in #32

    +
  • +
  • +

    (series) Avoid object spread in loop by @cdreeves in #37

    +
  • +
  • +

    (cluster) Avoid an array allocation by @aleclarson in #63

    +
  • +
  • +

    (replace) Avoid creating 2 intermediate arrays by @aleclarson in #61

    +
  • +
  • +

    (merge) Avoid arrow function in loop and avoid calling user-provided key generator more than once per item by @aleclarson in #60

    +
  • +
  • +

    (replaceOrAppend) Avoid creating 2 intermediate arrays by @aleclarson in #62

    +
  • +
  • +

    (shuffle) Use the Fisher-Yates algorithm by @eumkz in #76

    +
  • +
+

Types

+ +

New Contributors

+ +
\ No newline at end of file diff --git a/v12.2.0-beta/clipboard.svg b/v12.2.0-beta/clipboard.svg new file mode 100644 index 00000000..5639cce8 --- /dev/null +++ b/v12.2.0-beta/clipboard.svg @@ -0,0 +1,3 @@ + + + diff --git a/v12.2.0-beta/contributing/index.html b/v12.2.0-beta/contributing/index.html new file mode 100644 index 00000000..74be63fc --- /dev/null +++ b/v12.2.0-beta/contributing/index.html @@ -0,0 +1,111 @@ + Contributing to Radashi | Radashi + + Skip to content

Contributing to Radashi

We've been waiting for you...

Thank you for investing your time in contributing to Radashi.

+

Note that this document explains how to contribute through a fork of Radashi. If you’re looking to contribute through a Radashi template, check out this page instead.

+

You have a question?

+

If you have a general question about Radashi, how to use it, the roadmap, or an idea to chat about you can ask it on the discussions page. Before you do, search to see if it’s been asked before. If a related topic doesn’t exist, you can start a new one.

+

You have a problem?

+

If you have an issue with Radashi, you want to report a bug, or you need an improvement you can create an issue on the issues page. Before you do, search to see if it’s already been brought up. If a similar issue doesn’t exist, you can create a new one.

+

You want to contribute?

+

Before adding new functions or features, please review our design principles. If you’re just fixing some existing code, you can skip this step.

+The ethos of Radashi +

Scan through the existing issues to find one that interests you. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix. Feel free to ask questions about the implementation or design in a comment on the issue before diving in.

+

You want to write code?

+
    +
  • To get started, run pnpm i in the project’s root directory to install the dependencies.
  • +
  • You can add a new function with pnpm add-function <group-name>/<function-name>. This will create the necessary files and open a PR with the new function. Try to use a group-name that already exists, if possible (check the src directory). Note that you will need to manually export the function from src/mod.ts before you can use it.
  • +
  • You can run the unit tests with pnpm test. They require Node v16+. You can run nvm use in the root directory to change to the correct Node version. Passing tests and 100% code coverage is required.
  • +
  • You can lint your code with pnpm lint and format it with pnpm format. You’ll want to do both before sending a pull request.
  • +
  • To get familiar with the existing code, it’s recommended to look through the docs and the codebase in parallel. For each function in the docs, find the implementation in the source and skim over the code.
  • +
+

You’re ready to push a change?

+

Once you’ve made your changes on a fork of the Radashi repo, create a pull request to the main branch of the radashi repository. If you made a breaking change, please target the next branch instead.

+
    +
  • Be sure to fill in a description that lets readers and reviewers understand both the implementation and intent of your changes.
  • +
  • Don’t forget to link the PR to an issue if you are solving one.
  • +
  • Enable the checkbox to allow maintainer edits so the branch can be updated for a merge.
  • +
  • Remember to create a new branch with your changes, rather than using your fork’s main branch in the PR. Using main can cause issues.
  • +
+

Once you submit your PR, one of Radashi’s maintainers will review it. They might ask questions or request additional information.

+

Your PR gets merged!

+

Congratulations! 🥳

+

Stable versions of Radashi are published manually. Beta versions are published automatically, every day, at 5:00AM UTC (if a PR has been merged). Your PR will be updated with a comment when your PR is included in a beta release.

\ No newline at end of file diff --git a/v12.2.0-beta/favicon.svg b/v12.2.0-beta/favicon.svg new file mode 100644 index 00000000..68a35ab6 --- /dev/null +++ b/v12.2.0-beta/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/v12.2.0-beta/index.html b/v12.2.0-beta/index.html new file mode 100644 index 00000000..daab60c9 --- /dev/null +++ b/v12.2.0-beta/index.html @@ -0,0 +1,137 @@ + Introducing Radashi | Radashi + + Skip to content

Introducing Radashi

A new frontier in TypeScript utility libraries.

Welcome to Radashi! We’re here to make your development life easier with a collection of super handy functions designed for modern JavaScript and TypeScript developers. Think of Radashi as a friendly toolbelt that’s all about simplicity, customization, and community.

+ +

Key Features

+

✨ Built for TypeScript

+

Radashi is made with TypeScript at its core. This means our functions not only help you write better code but also catch errors early, making your development smoother and more reliable.

+ +
castArray
chain

Below is our castArray implementation. If you can read our CastArray<T> type, you’re officially a TypeScript nerd. But good news, we wrote it so you don’t have to!

export function castArray<T>(value: T): CastArray<T>
export function castArray(value: unknown): unknown {
return Array.isArray(value) ? value.slice() : [value]
}
+
export type CastArray<T> = [T] extends [never]
? never[]
: [unknown] extends [T]
? unknown[]
:
| (T extends any
? T extends readonly (infer U)[]
? U[]
: never
: never)
| (Exclude<T, readonly any[]> extends never
? never
: Exclude<T, readonly any[]>[])

Our chain function also has a gnarly type definition. As you can see, there’s a lot we can do to make your life with TypeScript easier.

export function chain<T1 extends any[], T2, T3>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3
): (...arg: T1) => T3
export function chain<T1 extends any[], T2, T3, T4>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4
): (...arg: T1) => T4
export function chain<T1 extends any[], T2, T3, T4, T5>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5
): (...arg: T1) => T5
export function chain<T1 extends any[], T2, T3, T4, T5, T6>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6
): (...arg: T1) => T6
export function chain<T1 extends any[], T2, T3, T4, T5, T6, T7>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7
): (...arg: T1) => T7
export function chain<T1 extends any[], T2, T3, T4, T5, T6, T7, T8>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7,
f7: (arg: T3) => T8
): (...arg: T1) => T8
export function chain<T1 extends any[], T2, T3, T4, T5, T6, T7, T8, T9>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7,
f7: (arg: T3) => T8,
f8: (arg: T3) => T9
): (...arg: T1) => T9
export function chain<T1 extends any[], T2, T3, T4, T5, T6, T7, T8, T9, T10>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7,
f7: (arg: T3) => T8,
f8: (arg: T3) => T9,
f9: (arg: T3) => T10
): (...arg: T1) => T10
export function chain<
T1 extends any[],
T2,
T3,
T4,
T5,
T6,
T7,
T8,
T9,
T10,
T11,
>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7,
f7: (arg: T3) => T8,
f8: (arg: T3) => T9,
f9: (arg: T3) => T10,
f10: (arg: T3) => T11
): (...arg: T1) => T11
export function chain(...funcs: ((...args: any[]) => any)[]) {
return (...args: any[]) => {
return funcs.slice(1).reduce((acc, fn) => fn(acc), funcs[0](...args))
}
}
+

🎯 Smart Function Choices

+

We pick our functions based on real needs and popular use cases. Our goal is to give you just what you need without the extra fluff, keeping everything straightforward and understandable.

+
select
objectify
defer

Use select to create an array by filtering and mapping another array’s items.

import { select } from 'radashi'
+
// Example: Filtering and transforming a list of products
const products = [
{ id: 1, name: 'Laptop', price: 1000, inStock: true },
{ id: 2, name: 'Phone', price: 800, inStock: false },
{ id: 3, name: 'Tablet', price: 500, inStock: true },
{ id: 4, name: 'Headphones', price: 100, inStock: true },
]
+
// Map to a new object with the name and price.
// Filter out products that are not in stock or are too expensive.
const affordableInStockProducts = select(
products,
product => ({ name: product.name, price: product.price }),
product => product.inStock && product.price < 600
)
// => [{ name: 'Tablet', price: 500 }, { name: 'Headphones', price: 100 }]

Use objectify to create an object from an array.

import { objectify } from 'radashi'
+
// A list of employees with their IDs and salaries
const employees = [
{ id: 101, name: 'Alice', salary: 75000 },
{ id: 102, name: 'Bob', salary: 82000 },
{ id: 103, name: 'Charlie', salary: 68000 },
]
+
// Create a dictionary of employee salaries by their ID
const salariesById = objectify(
employees,
employee => employee.id,
employee => employee.salary
)
// => { 101: 75000, 102: 82000, 103: 68000 }
+
// Quickly look up an employee's salary
console.log(`Bob's salary: $${salariesById[102]}`)
// Logs "Bob's salary: $82000"

Use defer for co-location of cleanup logic with resource creation.

import { defer } from 'radashi'
+
async function runDatabaseMigration() {
await defer(async cleanup => {
const tempTable = await createTempTable()
cleanup(async () => dropTable(tempTable))
+
const backupFile = await backupExistingData()
cleanup(async () => deleteFile(backupFile))
+
try {
await migrateData(tempTable)
await swapTables(tempTable, 'production_table')
} catch (error) {
console.error('Migration failed:', error)
throw error
}
+
console.log('Migration completed successfully')
})
}
+
runDatabaseMigration().catch(console.error)
+

🪶 Lightweight and Efficient

+

We keep things simple to ensure your projects stay light and fast. Radashi is fully tree-shakeable, so you only include the functions you use. This means no unnecessary bulk in your code.

+
radashi
lodash-es

For fun, let’s compare the size of Radashi’s mapValues function to that of Lodash’s. I can assure you, this massive difference is not uncommon.

export function mapValues(obj, mapFunc) {
const keys = Object.keys(obj)
return keys.reduce((acc, key) => {
acc[key] = mapFunc(obj[key], key)
return acc
}, {})
}

This is the mapValues function from Lodash. The bundle size clocks in at 16.6 kB minified. Obviously, we all want to avoid this!

// http-url:https://unpkg.com/lodash-es@4.17.21/_freeGlobal.js
var freeGlobal =
typeof global == 'object' && global && global.Object === Object && global
var freeGlobal_default = freeGlobal
+
// http-url:https://unpkg.com/lodash-es@4.17.21/_root.js
var freeSelf = typeof self == 'object' && self && self.Object === Object && self
var root = freeGlobal_default || freeSelf || Function('return this')()
var root_default = root
+
/* ~1300 Lines Later... */
+
// http-url:https://unpkg.com/lodash-es@4.17.21/mapValues.js
function mapValues(object, iteratee) {
var result = {}
iteratee = baseIteratee_default(iteratee, 3)
baseForOwn_default(object, function (value, key, object2) {
baseAssignValue_default(result, key, iteratee(value, key, object2))
})
return result
}
var mapValues_default = mapValues
export { mapValues_default as mapValues }
+

🛠️ Easy to Customize

+

Want to add your own touch? You can easily extend Radashi with your own functions using our template repository. Make it yours and easily contribute your functions back to the community.

+ +

🤝 Community-Powered

+

Radashi thrives on contributions and new ideas. We welcome everyone to join in, share their knowledge, and help the library evolve. Our open process and regular updates keep us in tune with what developers need.

+ +

Tackling Common Problems

+

Radashi is here to solve some big issues in utility libraries:

+
    +
  1. Central Control: We support a decentralized, community-driven approach.
  2. +
  3. Customization: Easily extend Radashi with our template repository.
  4. +
  5. Fragmentation: We offer a unified platform for sharing and adopting TypeScript utility functions.
  6. +
+

Our Core Values

+
    +
  • Purposeful Design: Guided by our evolving “Our Ethos” document
  • +
  • Simplicity: Keeping code light and efficient
  • +
  • Pragmatism: Focusing on what’s most useful
  • +
  • Innovation: Staying ahead of emerging needs
  • +
+

 

+
+

Radashi helps you write cleaner, more efficient code by offering a curated set of TypeScript utility functions. Customize it to fit your needs, contribute your own functions, and collaborate with a community of developers to build a better JavaScript ecosystem.

+

Ready to dive in? Choose your next step with Radashi:

+
\ No newline at end of file diff --git a/v12.2.0-beta/installation/index.html b/v12.2.0-beta/installation/index.html new file mode 100644 index 00000000..5181e2ac --- /dev/null +++ b/v12.2.0-beta/installation/index.html @@ -0,0 +1,136 @@ + Installation | Radashi + + Skip to content

Installation

Use Radashi in your project

Quick Start

+
+ +

Node

+

PNPM

+

Install the latest stable version:

+
pnpm install radashi
+

Install the latest beta version, which includes merged PRs not yet included in a stable release:

+
pnpm install radashi@beta
+

What is PNPM?

+
+

With PNPM, all the package files are saved in a single place on the disk. When packages are installed to your project, their files are hard-linked from that single place, consuming no additional disk space. This allows you to share dependencies of the same version across projects.

+
+

Bun

+

Install the latest stable version:

+
bun install radashi
+

Install the latest beta version, which includes merged PRs not yet included in a stable release:

+
bun install radashi@beta
+

What is Bun?

+
+

⚡️ 25x faster — Switch from npm install to bun install in any Node.js project to make your installations up to 25x faster.

+
+

NPM

+

Install the latest stable version:

+
npm install radashi
+

Install the latest beta version, which includes merged PRs not yet included in a stable release:

+
npm install radashi@beta
+

Yarn

+

Install the latest stable version:

+
yarn add radashi
+

Install the latest beta version, which includes merged PRs not yet included in a stable release:

+
yarn add radashi@beta
+

JSR

+
jsr add @radashi-org/radashi
+ +

Deno

+

Deno

+
deno add @radashi-org/radashi
+

What is Deno?

\ No newline at end of file diff --git a/v12.2.0-beta/mobile/search.svg b/v12.2.0-beta/mobile/search.svg new file mode 100644 index 00000000..55a3e504 --- /dev/null +++ b/v12.2.0-beta/mobile/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/v12.2.0-beta/our-ethos/index.html b/v12.2.0-beta/our-ethos/index.html new file mode 100644 index 00000000..a184ea15 --- /dev/null +++ b/v12.2.0-beta/our-ethos/index.html @@ -0,0 +1,124 @@ + Our Ethos | Radashi + + Skip to content

Our Ethos

The guiding principles of Radashi development and community

Radashi’s ethos is rooted in pragmatism, flexibility, and community-driven development. We aim to provide a modern, customizable utility library that serves the needs of TypeScript developers while maintaining simplicity and reliability. This document serves as a living guide for our development process and community interactions, subject to evolution as our project grows and adapts to the changing landscape of software development.

+

Core Principles

+

Pragmatic TypeScript Utility

+

Radashi is designed for TypeScript developers who appreciate utility libraries without fully embracing Functional Programming. We aim to provide a modern, TypeScript-first approach to common programming tasks, balancing practicality with advanced features.

+

Customization and Flexibility

+

At the heart of Radashi is the priority of customizability, allowing developers to tailor the library to their specific project needs. We provide tools and guidance for creating personalized versions of Radashi, empowering users to shape the library according to their unique requirements.

+

Minimalist Design

+

Radashi embraces a minimalist design philosophy. Our functions are focused, clear, and predictable, avoiding unnecessary complexity. We carefully consider each addition to the library, prioritizing readability and practical utility to ensure that every feature serves a valuable purpose.

+

Modern Architecture

+

Built with ESM and TypeScript from the ground up, Radashi leverages modern development practices. We optimize for tree-shaking to keep bundles lean and utilize cutting-edge tools like Biome and Vitest, ensuring that Radashi remains at the forefront of JavaScript development.

+

Robust and Reliable

+

We strive for perfect TypeScript support and maintain comprehensive test coverage across all functions. Performance benchmarks and browser compatibility checks are integral to our development process, ensuring that Radashi remains dependable across various environments.

+

Development Guidelines

+

Function Independence

+

We avoid creating internal APIs or functions not exported for client use. Dependencies between Radashi modules are minimized to maintain simplicity and ease of understanding, allowing each function to stand on its own as much as possible.

+

Concise Implementations

+

Radashi functions are designed to be concise, generally not exceeding ~20 lines of code. Complex implementations that require more extensive code may be better suited for separate packages or libraries, maintaining the library’s focus on simplicity.

+

Copy-Paste Friendly

+

Each function in Radashi is designed to be easily transferable to a user’s project with zero modifications. This approach supports quick customization and integration, allowing developers to use Radashi functions flexibly within their own codebases.

+

Test-Driven Development

+

All contributions to Radashi must include comprehensive tests, aiming for 100% line coverage. We emphasize the importance of considering edge cases carefully in test design, ensuring robust and reliable functionality across various scenarios.

+

Documentation First

+

Clear and accurate documentation is required for all new features and changes in Radashi. We prioritize clarity and grammatical correctness in our documentation, ensuring that users can easily understand and implement Radashi’s features.

+

Design Philosophy

+

Abstraction over Syntactic Sugar

+

Radashi functions are designed to enable common use cases that are awkward to implement in vanilla JavaScript. We avoid replicating functionality that’s already simple in standard JavaScript, focusing instead on providing valuable abstractions.

+

Balance Utility and Simplicity

+

Our functions address common use cases without overcomplicating the library. We err on the side of simplicity to avoid bloat and unused code, ensuring that Radashi remains lean and focused on essential utilities.

+

Performance and Readability Trade-offs

+

Radashi strives for a balance between performance and code brevity. We prioritize understandability to maintain a low contribution barrier and ease of customization, while still ensuring that our functions perform efficiently.

+

Strategic Feature Parity

+

We implement popular functions based on usage data, without aiming for full parity with other libraries. This approach allows us to innovate on API design while maintaining familiarity where appropriate, creating a unique and valuable utility library.

+

Community and Contribution

+

Open to Feedback and Contributions

+

Radashi actively seeks real-world feedback to improve reliability and performance. We value and encourage community contributions, recognizing that diverse perspectives enhance the library’s utility and robustness.

+

Transparent Development

+

We openly acknowledge areas for growth and actively work to address them. Regular updates and beta releases keep the community informed and involved, fostering an environment of open collaboration and continuous improvement.

+

Collaborative Decision Making

+

Major changes to this ethos or the library’s direction are open for community discussion. We welcome amendments and re-drafts of this document through official channels, ensuring that Radashi’s development remains aligned with the needs and values of its user community.

+

Amendments

+

Amendment 0

+

This document is yet to be amended.

+
\ No newline at end of file diff --git a/v12.2.0-beta/pagefind/fragment/en_12f2ac6.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_12f2ac6.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..d20bb6353f69edae4030188021a4f4e4f5766100 GIT binary patch literal 358 zcmV-s0h#_EiwFP!00002|6NgSYr-%P{wue9nxL&twlR^x82dbs`AI}#a$SQlk>oNb z(*M3|Yq1UzxR>X-d+zQazp*e*Z?w{9k%AR7kq0a=pi`LB>3}*nae*;e`UoKxL!rDQ zbi~MBB7+4|3N8YLgi!bZg)|m5v=E?lu$aNa(*(9B!U)UAy)$?(QSHDKAmK+^rkV&_ zPbK?(CP=6G1Gj?E#52&StPBV&C{oLwL2^6ik1nfA-uDFFH~GN;&X+!U4)f6n7<{Qa z=kLQS)I(=2XfbrxuG-yWl!a9N|-+K@l6 zP5AroNF20Y$y$V%jjLgwE<1LK1zp)Ul;>MYIqf*9zU7s)ytr59OSP{40RG3Ze{2E( E0O$0p00000 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_14581cb.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_14581cb.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ef50085c5945162afe6320d90a90de02efe019a5 GIT binary patch literal 363 zcmV-x0hIn9iwFP!00002|6P$$Pr@(|$G^&@FMwG#2x<%oz93J=V2s2EW0un0SY>OM z_9o)8@9qs;7{1-Lzu)zrYbm#wYLmo?N@`KLT+Bq|Fhz$(VPrR-s3@w+5}p3RNCZMz zLuiP(?lgpjHDBlmWS+xGfgK(^kcA@zN_xg7*SD}a5PDd9e)rNl3fh1)-H3m-E=tSn z6-W;;q|O#Fa59lT(}NH=mM3r$=1{|vO>hQ-txX02Jlj1w?tEpqYakB0;6o=z5JfP* zZ=Kb{lHt|c@`a(-40|A?l~JUv0qsG8&p3#x2vX~qDrEV{;fEYMfL%Ln7m{7K?t+sK zN28GUwzn>cm95&<-An_K>YUJdF{_(E6iAXQL7H;xtyb`zG>YG2@Vyq8V{ux3HsP5% z;VLFua!vT%{}evSt&(kMF&j5Q-<6%3VM=H9Lb(-O2;j*6T_u-HR?du@z;+8Y6mzWuj>Pp(JctCkacD3l%(} zC)O?50`89yNSFzDwPfH$x(*Z6F*ID!k|c!vGb(~EjUrZ~jLHDMwGmUY!56T(xPbjT zG53)8aRuDk7xbUbIY_^_gnBX^QJh>fI`8Bkbm;93q5sf#}Sc%^g>&|$+(B_P8N z?4k^6KH$PfT_;$L{^O!V4F5Xf?psLRI?_FQp;p)RzOuOpLmwt z5!eKMuYwD47_uCCnBpyDd%hrp;T*~mu6Hm?$K)xCtBKm3GRUF4IxBwPobSrR2{Rt= zYlym1p&KWBxyeOs9brsj+Yh;DkR(TfEIC|lfZ&?+%7jt)*o)(LvchcG(`t??3N6Qk zZ|mLRj0;K^YFZ3I-`S+bMe;245x95v`I38E%|KVx)05D6$@Bjk< E0N``K%m4rY literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_195c99b.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_195c99b.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..c09e2d1fa8641c50c12b596998dc53fbe2b38dc2 GIT binary patch literal 379 zcmV->0fhb^iwFP!00002|5cGsZ`&{o#lOmfF5U*iZZYgn4RnWHcHF6_qA(Phj?~yv zAklS$z~8-8oxtrypvd=ol*psrQ}2A&cBVV4DGsVpb)=pmc|&#BJ(J-&jE-wnDib`D zXVK(Lh5vG5^0St72hAMaZemL4V;G@5R=&dR%}?x3x$=;tV}*b2h5V+FNO%k`F+z_6 zof4b}Te=8JMB*v>Bq~qy6`LK~FlGFdxvby6J7QDUao>%QbR1f$snubP{s{K)AmW~t{5`-J@ZjM(p2 ZX39I=pohzKBkz`{uiwFP!00002|CN%MNOK6Ej zV<~|TBZ(^kBq+oVCIHBBA!xfd2uims(9R~XddpyUCJgWu_{0CjKO3B62RsKjX=7lA zz@C246RHVQj=(yS#0Y2$#E`|)b#wx{?VKlg0U4l#+PfAaFO>|9j*?+mAn+32;R05+ zSPb1LhR&VP7m#OJ%#cQ_idkXYLC=~sOZphlVyiI}u$hI8q{jKhxYa1#@(X1${?jKf zpA$$^hWJ@p;B@JN(`a&%4611MvFMCIGgb&R_-|L zf4z=Htqq|MqPX<2XptmGf;1Vt-G|_Yv=z^1)#f75U^|^plk-5WI4a3?925TD&x%vy vs&Rv&$ohB*${W{UO*8j^ygee#>y0@MS2sgn*K{WHyx;bJrCAIq6axSNX|lRi literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_1cd6984.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_1cd6984.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3985b781da9742cb2e3ef638cc61fcf2cfa4d42a GIT binary patch literal 322 zcmV-I0loeoiwFP!00002|6P&YO2jY_gEs4y~uQX-#`ni95Ac6{AH)GFY*uHuR@O70Lt>B+0J1 zR>Ct9vK9mla|tN*TjUZRYS~$cPUFS@)<(zy^jS zzVmW`6cN5YK7oRO;lm(d$9izyl;Hazu)sCw2n|@ytz58fb#(rsgr=O^yQ~XX)%6ur z6+Axu?;5r!dqjd7a(ObAdFp-OwlN`1gWs+SWql{eQLT?-p?VaZl@c!<{syD+i6-O1 zWP3d-?69AMbE|x#Z?kG73|R}lFM;NL7mS_)Q0sau{*w9xI<&HYXUN?-;%-h%nm%EH UHb2{iydU4jZ(4CAEDr(z0OmN8`Tzg` literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_1d2f4d9.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_1d2f4d9.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a427056f518a20bc3e8afef241791d1dd46f5d5e GIT binary patch literal 637 zcmV-@0)qV?iwFP!00002|BaMwYui8!$G?j3n>d|ul6Gs?uogzw!C2X#BX1T$xY}}k z)V?$KuqK3j_eqY=P6lIp<&*UPNhjHIBc8F4DqrVWzKgu6qIoniSfD|b;Ux3MY$sVM zq?$xYlxgKqInuPQ6z&WPhajM}K^IVXl{u*uI1R=tV6Vy1q;P!!Pg{o;7M6+<%ZOCZ zJ!0WiRuyEzTLf2P%{g#`nWqw3QJKP_0iiSnO#+RumU*&3d)Igeh0!&j$jad!!nOjb zI8F)KP`Ggk7x z8;G}aP`-XbGlrX6h&LzZ2HwCn0JX22Y^v>lP-g>0Wj@PaND!UkcjMsCwSTJE9n!|< zeXQ*Q`FiWLJ;z;^q{CQw(8SX*OeS1)HXWQ-!Fm2Rh5L=Dn+pFm6}N2=KB08n;0~0i zaSqlQntTdIsF%=V3j6M!&pNmB1G8KawIuGKe4lg)Mvr0y`=k$C^?{%0?Mdjm4?XA? z*@jl35V~&^;>lCZu4FrF>99^23$yc0gXT`yR_y2t3Qe?fcBD=(f+!yIFj_Ms^TR=U zJCtohUG4BPy4xf}EqWivTE3)RPFLYAj2=JIfZ3VWqKS{CL9%2`LQ}b4{NU%q_pe_@ zD_Z7P+RJsOJ@51E@+yf6SAkV*&fm(Ft5qkbN6b~Qo X0N?kH0l&W7ulBzIxujTHBn1EfI}tR9 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_1d361f2.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_1d361f2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..5ff9f140da3e648dbbbe536339cb38cf22abdd42 GIT binary patch literal 335 zcmV-V0kHlbiwFP!00002|6P&MOT#b_#{ZQgFI6e+rW0hKFM`u&*^@}g(#sM^lagFF zb@YGt%2sN9NcfWbewX7*EBC0aud73KN^fnD)pNZ`V8bQEBlHt=9KAQM!eV`w0YvX;r%tbnSR zX1vPw5qT7ClYyP<5MJKiU$bi{OL%;O&A;NH3J&BLVqK}w4VkP~xzN@PQ;7Ac&qaeI zSqZY_aF&_is`Sc)!TNC$=&(8GYL?v9)~qTDEo;KBdER{If|6u|7wbiz|E1*!8`Lzx hGvr~8n7fhbhA)|*?d3R;%SHd${{rjL4|X>K000j%qmlps literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_2063296.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_2063296.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..5e0abbce7294b7d3544ffde27d31bd14720ee4c1 GIT binary patch literal 499 zcmVdm^@y57$w0c z{fh$UL@PQSFJq}wR6!!fd9c^KL(!UywKWosxOK)u!O&*lZ#0+Sa+rofMh?TsL5KUE z$!Qy{VnSQ(S(|mw`1|`$99VN-4|7oEqZ+gy7CP&6>+8C)j`0S{V}-)m8Y8E2^b;&bKp593uu)^YeDlpTcuSS_dZCrx7HxFJyqHF+D3Vt+&6|ew z)TWOy)Hczym=r4bOg=Mi|GR{DlquHM6W9t6R_IzjCO-BM2oVg*kDF}B-#|^-1YN@H z`3#nuObMu&{bbDvof z@AKNa2{FSn;Hw2x{0fXBYD~tCN?4S83gc}TIEV2Cym<@T9qcY(I+b&dEuCULt%r)o z1ODP^_@G~;6x@o&v;V?=BbB>M?_&&cJo2HT(ZxSPM~0jWqXAH%OJ|7f?(Fi)NcWm1 z22@6*ZWC3lgNplTHTU0E8__o`g-v3KFaukI?`z0GB-^*%vSDI{iePP7{5Aus+@fSOwSOG}}}bwo}V;+-Usw4mCQ*>Zb{>c&ycvZ9zh$+To+qrQ~tH{k3ta;?EpB4p@NWipkjW&}md5f|c^g@MJ7U}Hut4UE=$5WDu`F1xccu66jifpr^<4s%e zB|FmuL4Mg5^vIYYX2!2t&8I~U4WBdpI9byC%LUc>tC&CEO^$F=*!*L-5=o@m3nFh0046skR$*A literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_25ac5aa.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_25ac5aa.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..db5bffc1d2cbfc9c00ed34b6d8bdd1bbda690f6d GIT binary patch literal 438 zcmV;n0ZINJiwFP!00002|8m1^Mrz+++YBEWasYZo9pg(n>s)KJG?$wspNOjJ%}LrYx4>zHCvo5NA7o){%k zY}wK2WR%p=H(ki0>Y&I`|9Vi}O6J*CqAiC(Vy0i`LzB#f2J`c)&GM)(IXq(>8J@8# gWc7yWKAxd5AL2|sp3)2S=2##90IuYvOC$pT02D>mAOHXW literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_265f196.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_265f196.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..baa7563e0afa9f77a4e077f206cd915f77b067a9 GIT binary patch literal 296 zcmV+@0oVQ?iwFP!00002|5cE|PQx$^hF`_XrGUB=C=y~4TsZIqJ0VnMsnbSklge=i zsOr0ubgRm4zwQ6C<$q8O8tdw+*7YPt>cn0Yga!$n#v(9T*A%r1Z6R`@y<>D7J*gw% z-MbSKgMzaW*h89tRskiHLLSKlung91AQ(@*VhOe%eB6Eq zDnJE>d=D9^Kc;8O z$6OfOF;WowY0gEDtfCTZxx>q|BKDQjtxu-UNnnTlIg0in?z44N75gD-#-BB!San`2 uw%&>T{ha^j)QYuec*Cxc=WC=bS7uCsZqVUUZsg1SHU9yC`~(5r0RRAfPmPfP literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_267e1f2.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_267e1f2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..900482f52bad402d06e2edb4cc92a80e551bde09 GIT binary patch literal 880 zcmV-$1CRV4iwFP!00002|8-S=Z`(Ey{VF#BtCE71W4kK~1L@EeD^{$)fNl9J2n<>} zMI0znAStIt;P1Xi#`+OA{lm6&ynFZV-5uS@d#;tKwpCd@X1&wdCR;eJ*|8~kA)S+l zg=fuW_^g}{i%evtHGxfl=j@=M&wwF`Pb)hL4O1QMlpqL>En=u;4$9nfV&m6+!Jz88{~VlT~UJ4rFVp=L~GePR3(T2$bfDNI_o$ zsSuA6inINFlhD$!AlY^L@Wc=(z?hN;ODxM~s70hyjzjN^pB0?KD%wlkGt4rO2M=E> zB$RZo_H5?Gf2qmX$w10e=j>ipTnR9JA%U^xjp?;kzIm1`>W1i%Z$y$VsIu46=>zqi z>t54C0|E!zlVL=ns8P1yr17j`arz;HN?jOI{vaD62^`01i3)Sug~Q_1jv|(his&^- zPg|;;Z7Fvs-#02RXt8+Ol39^)8cg5rFldo(W&0h3R@kR)FK2ClqJ%3Ll&jrPD z1?3Gxe7xol*6At-Cm%EVUyERGBElyiTwD%j`U%uxD7|`hdW&Eq)BKO$zkdDeMVajG zKTx0t6`DAW9ha(BWn2_wK^2icf5ZI3NedDRl5;J#o>H zQ}EsY0X<-hc!rasqK`Tf^4e>1!7Es<=5RQZO|VUTr-DxyEPx6mDA1ddMU7>7K>d3o z)1XI7b!1nlVmP|QygODQ5?Ay)BgoXy&g2To%M&K3wY(&!u=#-Ij=$kpIn^7gZkm%zxw`h1g6r#y=sJjurzDtq2lGs$Nxk4N*A)f>}D(!6rf)(_-2wmB(5w^6)VMWD) z9i8D*Mxo*}*}rjh9G5|3H)FA$xALCED_Gc^M(_c7dqj%Wm8rY^j?nfJj^twA?%RLN KDk#@^0ssJ$-L+f* literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_294a57d.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_294a57d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..12d34fbe559308ca16fbbde854051bb207a29afe GIT binary patch literal 433 zcmV;i0Z#rOiwFP!00002|7DWFZrd;nhF^uy#mQjU$#y9MbeFBzVJJEb3w9U=Ly_r7 zt1TK5oh&f??xUS}ZqbuSiXZt)WUG%@IbRl~DSOq0TJ2OGu)=`eU`~fWXgF_l`xP%S zSE(}O89htdEttWhZh=l1fGxtagn%m0914NzpapIZf;PCf5Gjz`9{mluRjI^t@*hCClHdU$;L{E))8r=Jhs z-_R@J(yQL}n0>QmR0O<{F`WqvGRrfCvM|(*;=jA*x+Jq^d#IVkvf9<1%g~ zSK1p(W8SY`VU5joAM932x>BrysTG^??~6T=Kut!EgHXH8kiJCqOj@jXAzvYPuMzuU bX1Z~y7HEHS7jnB9eh>cuouPY9=>h-%?90oJ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_2992834.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_2992834.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..40ecb8fcc0c81e1c05955a835d065739cca959c5 GIT binary patch literal 318 zcmV-E0m1$siwFP!00002|84gyHBA2>kzMH@XWqJ2_QAW-W7?8iw4MK(ZJNln%=ytB7uat(P7_YaV~^y2ngn|hB3@$HzK z(YnD6KK9C=rQ82^#!%wLve10!b6G4?RT(SfgIb-sR5c_RDv`O0%2*Y`ZLEbp#=K*1S);^U)N0nHQxeZ$O_hw`1#)+Z)QdB7=>KMf)<5k? QF1xqx3%whBb1nh^0Kx^C#{d8T literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_29af3ae.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_29af3ae.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..d57e114fcfb195feb9f3bebfc1b31c2eb092d68e GIT binary patch literal 342 zcmV-c0jd5UiwFP!00002|AmsxPQx$|gkNRl3oWV=B2)yG;M6<4^i);R*4{Kmjvd(> zN)_eZaiCEN<>xl`&NsGqUE`h#ZB?$MYDMFXScue9L7uFnl#ey3REL#8ZJ&29Bsmo` zA)RHi9KEAb0!w1@m9_-B0EAaGO_U+Zy0?Kl`Lg>t?2b$U)*;>?ffa@T(J(M*73_)Q zdgq)Ww7_JHwtG0brVrHCP%qGg9}FKE|5)e%%l^FS*ciKia9-uoHT?kQcQa9F6T2S7 zqU~m)BF3l$Yc}+KKq4B@%F^}jO)JPy^*P5fi@{n&m9wj(W_r7rZ`?LcB5P;G;-;H@ o4Zwjfso*m|LLSCQc{?yo{|U~}`m{WgS=Md4cf`4BzN`WO09R0>f&c&j literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_2a69a75.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_2a69a75.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6c7c041655866a641ce15cbf022cec7bfe7ff2ea GIT binary patch literal 408 zcmV;J0cZXniwFP!00002|8-KqYTPgo{gsC%^2Z6!ZY&n!Nn7YxS;|S03P33H>GZ}arDz9HkSU+&g z_yV2Kpo{FWiQ4GY+f6x7lfQUolW>bioDj698k>8)DKPMnVvXH)TVN_y@;8lXrN8e# zvcLF`UD*{v{1K1YtG zX?dI@+HVWhS(hm$RiCCpdCFRl$~HSXN2sK)L)-H#dORs|ky`75pK7FzE)aBLo!Ls|$(|^5~#`$@yu7`8^&U!OFP5%H(`}Nqg0ssI) ChtT!_ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_2b1d896.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_2b1d896.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..5212c6d2a7aaa71fd0ac87e647a8711b5f1bd056 GIT binary patch literal 353 zcmV-n0iOOJiwFP!00002|AmsxPQx$^fM3PRW&D(OX%R@1;KYR+650u&Dr=lIQkqnW z3rthrofH^rVcHIrocjChHg+r4sI--(tmKw;-mnGBJSy~PE6ixqqRe!7wDe3~+jYhg zRyj*(DUzc^3J*x=8*LG^0s(KrbTJGdENDydf$&9wa=uA{U*EuLLl|Hg;zy+LBtjUd zohqz^HBvmUoHH295E?TS*tl-!K{cN2qMO!vf(sAJW4F!Mr+Q0rL=WjgwUvl-84 z=a6M^cMs${{FlEv1@Ju0i{h72!i0m+`~-42YIK;W<5jrhjO~m$3h;cIj-!2dUY3>X zhUwn&geh&}Py<_R`-C+}B1Vif8Jtd^#k8bv81jIO8M9Q*(BJAYdJh1LaAn#%O5Bd_+VAhbvrDlGWiqA6T@(`}(LRmH#BRa1+MW7nh;WVth`QX7J*Qf zVgpe`1ccf*V&$4P62k-N1m#7rB5ic4-71GNpEh0xJdKv?%?65M+G06dU(E1F-f7ab zT|aDYL)qW2M=}p!SbLb_?n&SEJ>bTOcn>q<*?G-S`_bboe{YP``~q9r J79AV{008-+k+1*& literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_316ce14.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_316ce14.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4e50563ee21641c7797e6245223e12051a19c1da GIT binary patch literal 319 zcmV-F0l@wriwFP!00002|9z3cYQr!PM1N(`C2cXXjZ2_`_EP8*nXg7c>oom1{0`>5=UvO~iwd4oLNB3*T1#`!~5XumvH RvMi_1=?4kVmtide008AFmW%)Z literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_31a3d74.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_31a3d74.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6656bd47222b77d245777d3754e3f81ca2ac1326 GIT binary patch literal 1501 zcmV<31tR(%iwFP!00002|Fu`!Zrer>{gr`UBo{0lCk~pZj*1{j(Ex4S2j!s%0%Juk z#cfC~vAeXQ8V2$q?a$>)dS;hb$xe!*eX&LET+hs$9oAwiGgYNmX_DT|8dJ=cvr{88 zX=Ihi)2yiyr*w6i2X-E^DK&CGB-%Nbf3YoGO&t_c{g{dYzHWIqAA_q%6nT zo<*b_2hfAl)~jly_OGJAn!U6LW(X=m^*6861T==q#M|Rx+bY zLVkMlyG&e6ZB$$Pu&S(!{UqmLGkAoml|>d4#I$kr z4Fho%!kQbA3Y)8WOsA*lk5KXn05PHa&}Uoe7%+N9SMjLai#ZF;PvTBsapTpNG=E;G zM9%5}vPREnwM&OdZEARqTaNK90F=R=M$obrfCz&f&Y!Nw64D@N$aawE;^2%ung z<)vZ)l=wiVmyJW?#q``VyTJUOaseKwv_t86vONH`k=IH$mgGl)-o=pd+p&p|BJgS~ z)IbNS0!ezY4z^+B0-lfqZ}Hn>&Y9viadZrvmwGwEEr9SngBSX*#}BOPAa$``EqqU| zWB=-6?BU|2N76&K^me^yi!2muHU_ny4G0sx)Gf$C(bX1llAJ|d&Jm|tG5@!z+yTIt;rKWe9N59 zjlUC>8{J?)2!MqvQxs8;_GSBKg1SOuA?8D*4rKo$#15=}9l0O=H|SoueW?q*-N$rk z)K;~tf|I7C&!7Gr>3#n67v`_rptnJ&J53+to(Ga!)dnDNg>8)}OJ8ef^8~S)_Lc>2 zLtf5<%cdC=u+vB{qFt_%9B;36!FN17T;o~{7gv}EZ$noy&}=_6pu3!B(vv<+CeniI zD%%*pDu|Yr`9=tYm}q18s?M}2h5rW^ww8&?R6=|ki$G+^VFZHUWuVecMSh30-gz)) zYmM;-BXN$Pzc1_1p>2taLUa?`gVE1lF)*8)ScI4(sCqO4v+vhHgR(;C1U= zh>#%IvPsYZEpdP_bfP@?sFoG>a)Lu;OirC|`Wd0NLC<JkfSnU=K%tfNvmW`MaRlM=-I4?SdOkcYCFBN)+ub$h{c` zYUsyYprE$h@WUqn`q3LNMWyPd5dG&sx36Cd<8SW4s%`1bfiHM_Zz{z>f;Z5fZ9dkw zbQqE@i_p>dy4h)yUIBOhz&U?<9?ddUVCwB`d2<`hO6dfC&9H(Ma{2`{!!c6GHOs!c znYA4bq5KSXRf=C%PS^PDKzIkr(X7yk4`Q}_a2t))MW>z1%njNTl_yh`{86XV@K@HL z^tOE*G|vvaiOOt5sisa$r^ZU?{-Gwk%cr|)8*m!h)Z#IGN2LqSg^H}@r_WkYO9vysBnhyW~ DNFMj^ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_323ee78.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_323ee78.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..2c61388d582afc812e008dd05f9325ff7bc9a119 GIT binary patch literal 434 zcmV;j0ZslNiwFP!00002|80`NZrd;nhF^uy#mQjUEw)1&pu229PumV#b{Pgkk?BaQ zEgBM?EC~GWqn$c-hMq);{6CT+TfN81`LZZYc~)Jh)kft3D-7rj=Cu2RhVw?ZKXu(< z%vGukc}C9?czw>`i*A7q7=SIp3!WlS1=_;}kip|4>`sgkwox)>@azug=K!%v(7-hE z!05W(Y4ZYA=M6jZDFoy$_$WahkCW=?*n-54Sr20=AVsxU%1fYbZ%5CBooE^Su!|%v z!hS4gM{H-*Sd+8@6$Lp?x9|AB^MK^jkC$)JxE%EC}L%=+O&sw!7AhNw2@K2;5}7E7_?8kf7E z#HqcpG(`S7E3C1(tc$%Ds4K-Pm|C$J|K6;TJk@0MFe0_N>(ixJPg;u=&)OTw!>z== cpETXDbhBvtdYzT`cm41FAFsObnhXN~0GW%>LI3~& literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_3375ac9.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_3375ac9.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b5baf20450b44c25e9580a2bb18cb055a7297cc6 GIT binary patch literal 789 zcmV+w1M2)AiwFP!00002|9w>3Y7{{b{gq-~R%M+{G=c;af+7fN1Qj1dmfoJ4og#f1 zyQ{NqLcrhf_xuv8XJ>YH65~s@(o=Qn)a|rtjWxMyS?TJ!NWm1R#Ufyh0iDK0D?5`}9CpQq?`a+=9I(B8Hw``wFrNQ9g?4|Fmp#nCZf z8!$?VJ1|R*Y_i~zU10!ULuPOAv2IjQn&k~E66XixB8JQ+&Y?nsz3BtQw2Dlex|fHN z;YXr?6|e_Eacczcu;(M>d@+b7{_JvYzAJ)l0Ex?!32A?9Rwl$PH z_|&2?k_7cd##XKZmDp<^0&0dD6(^~-gg5ExYCBM{ighDK39mn#K@_^!4aO<6jU?V5 zjarlBj#esV?5ORAb4XOHh>xX{k(e&AOU^+uM%XkY!)jFqjndGyqgwbohJ9D#4$p^b z*Y(_y$=smw7~P*=zZq0r=W4Qx6q5|kGwi*qAk^a4S`-{z0@>CFhDSMM33c!mWMs*KLpsV!5k~ zVt3X6bKJqam#U~Wcz|$+N6f>l)HZ{}oG+=^Wll|G_;m`Jy54PY(&N22rMc$q#Tx4 z1=+)4u}aa^jdW(Ieag~${QP8I)MWA*6sOlW^Fo$YiB*V-7@TNtAzy`eq3Ob z?)14i7FeppTC#7&X8bwTZFw_(CmY4-(aroYS`EPs);tDJLXMwIW16Q!P|9*WMt$l3 TJqSIy`F`^kdFX5SfCc~n^eKmr literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_3399bf4.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_3399bf4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b6b0e53061cd84a255435d1c221f797e4beb88b3 GIT binary patch literal 309 zcmV-50m}X#iwFP!00002|Amp!PQx$^MSsQ0%QjTCY#@a88K6BORAr4rBc(~@xQwal zzvFg{u1|Y&?0a&Zn^u3Jb-|RTGQH}^tGy}+EfR(b3qH4K3YXrI3zexV2FAdmnOZr# zA$JrKFm(tv5=a+ZNUViUIc#@3IG!039FjQQ12VvG4B#wqjc3q=kh){#bxN}cgt8PH zh$12&)V>ib*R+us9zZ83FM<_mqf_lxIh6Ud@jBpXv|MjCP!!V^%h~#3hClL7lcw$Z zVRI{&7*3H)S;cNl;(41X>pUYRweN>aHON{j#g08*lTtE}Y(ILDYQ&33sM2<082 zBNq1Y4CY8FxCj&yLg53%q!h+jBnyoSC><EVlC=df8C8R8T6S=W1@-U^@^*`qPaTu$o%Yb8z4qjLwW|IBqt+M= Hb^-tZ@QSW+ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_3568ed2.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_3568ed2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8a72990d65c6717b0d18bbfec7d6923c0b18f277 GIT binary patch literal 2183 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 STzvo6_x}TWU1M2bAOHZP72?bQ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_3a7040f.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_3a7040f.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..e069091f19397b9ec87db9cc1e3ce20ae1c9710c GIT binary patch literal 471 zcmV;|0Vw_-iwFP!00002|8-KqZrd;n{gnq@vJHmabeGLQciCZ=oeK1_q6id;wzbGo zAkoc?!2do;OO~WSZzT2J;}glf?5Q(OZ?w`!F$F7H(FE!!kW|Cw!J&q#Dk4;@~H%v89tjXGqt0 zB%Xr1u|1@Jg9pNn=Jaq%jK-_9Q!<*f|Gh)ulP>N`yMlr#k|xcmrvN5v)0B#*QMwsy z#-b!S3!g@l?3i)y1LG59#0FjPBUV9b83(hf(=c6R^j=3i;2B3aIZ}(&qg+)`lTB7~ zO8va&R9UJEW4Sjure?-&d!V#r^i*-U| zev5l7>1qx>=uMFj?bk1r=!{LfilRL(l^BU-ibUG1rK`gd=}kH{_zZkL3bHi*JH26@ zG>uNthW$RpOnz{I=)bEDC;+z;q#d^<@5jm literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_3bd3c21.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_3bd3c21.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..883c54d6fc49bc534f0602ad243d9854a658e458 GIT binary patch literal 422 zcmV;X0a^YZiwFP!00002|80`NZrd;nhF^uyCEH-w$%+7hf$p%&PP?tArU)3BiiF8h zAW=;V!|z_nPMf6YO(g&CCk66|2U5m$yH0k4NWqF$G=UTaa*`UC`aOlFH?9$tklryl z&XSy{;SVveCWt*+OOe4a^`L_90Ucln_*%p2=Nk5}Oc5Sp?v*L?OzuMfUQJlcnGO(C za*~aAz#a}~|7Wy`ijYw1NnJr8PQk^gKD9j=*0CH zqYn%}0JCJCd=aq2sLi5={M~G$Ow@1>k1&A4o?2M^#bAwFRB$45(A>gmxvn7k6l5uT zNm#05bwPe(j90+sN^bE#eNz7mKJm5x-Iw~O{H?r*Z)L&?6x{y;RnN?KXqplav*T8j z0k-1H3AUnGZpD~4eDa~&NuSD+H|t6$W0^t}?J!oNC&v5|Y}nF#1R|%=N$rc~aS&vw zpD#qOvYqMjYsdbW-%Ky(%gKTD63d!JyBw=)4BshDiZ9d+vbja{-8+-Yg+-hVNfk{w0BUlE_38=+4Ol<;JAEvOVEk*7PRZHNjD$(+i0=05b zu=O5|(v?I3PI4u|))mH3DP#CT)WE=4W}S(_7R(aHcnFt;@6$GwDU$6OB~lYs!A9v7 zY`868&4ig?GNGIpkWEFw!hzrr@JwKR!Glt}<4`HH=Cn zX*Gf$FtP;i)*H-Zzq5tYVUug_mkH2~84H_+%MjT-X~z8A^52XfLxH&GkB9W}fISZ6 zF+80mfjTL<91r0EaR!qKT;KHELlAo&9~Np`384OP0F(G^hq%5(S9FkEXAikUdxG(ioa3aRQ@f8>$*HO_^m1{fzR-TSq66` zCDPkNfpYH%E|-ld8tv}&O1c#SHjJ!9zNxfY^9;S|kkpd_(@R%kbJ%Dnro-MPUj3A~ zMon~5$@5C{l3Tv+Mehm?wFqsz0r#)^X6j(ODj^ctS zc}A@d#%etOV-yX}#mUPGph hq0Tch)VY_Q>1mG5cEEWtz1%(R{s0UGcqeBE007xUWp)4n literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_43d9e52.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_43d9e52.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b080600c22a7776607d2bdd2177791a1bbbc864d GIT binary patch literal 423 zcmV;Y0a*SYiwFP!00002|AmrGZ=5g?hX2aQmu)Kqp;g-iDZTWNd!$^tyFv~guPuSS zvWL(W;=gyyLfM>h0L|C)&cMuBo={t-YSpMw^r01%C<1B>=o&0!2=Y>N7*1G-Of=pR zI^vo+l*4b|y;_GrgNN2eis0Wc1goq&fhFuBSO;Vfv<;DRDDS_+>xD4FOO#3B$-beR z`MDPh=mnHc@dH+IM@tvby=%yNmq9@4gNvK)+#3c<24veVybivbOCs{zYN;{&Whu(< zL2?u5BsC@n+ns$N_yQcPuk0>JC8M#s99V$ilUETQVGkoX*wox&`IR8Pv3K?~sT0i21fMeY&U(dRg3! REX(OQ{R4$kYeez_001Xj%vb;b literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_4528c5f.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_4528c5f.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ddf918d3007f1cdaaf6816351df06664c7f3409c GIT binary patch literal 344 zcmV-e0jK^SiwFP!00002|6P&YYQr!LgH2K~n*&pXWt1*rH#>5GvQjE|eP$vA;y$>4Nj^wULmGR_ zutVDu7!A%34DF>wEWmVI9~fQ$BUG36S-=KkYqA35!IGyoVW`|(diSzjX?@6>#9 q%I`TGv6eL7um|M*5oupXrcYmZgO-E5k<-a(efk4`BWb2i0ssJ$&7sx+ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_45b4bcc.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_45b4bcc.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4502a4003887d28700920faef0204a3c24df50c0 GIT binary patch literal 795 zcmV+$1LXW4iwFP!00002|CLqYYTGanewD)vx(?S#oHktx8;t!J`#08={U{+-?Q^V6 zk%J^B^+I5;vDe#^>?GN-osy=5)<~!CzWa1{x-8ioGcMCvnxvbcR3f+z1`0D&C=(no zrC2o(T$@1<21y|eN<$E9iQuC`W)K+IEv&i8K`$}k8Bc&4T<8em(G@&Y1~uGj3KhX8 zzCuYZ+Aw88K$(WHVxq(lm`urxOVIomfSju$HPa>E_R^sdNDGUa1HwLa6`t5U)?+-TN2d zxP|c};T-6`dbQ!(`NE6`HH)~;Bqdgr_{V$P|=9cxUv}6YpE@Oq4N4de?8J8Lt9%9JzOI% zW!H`!LG(52Vy8uiHgrXD6h6`8y3uwpQ5+Z6ZQh+Wk~8u0VwZHv+J#Hpp2GUU^o25# z!Bx5wdmwMl(*}M(C^gwB>DKNa^yjPt;#Pk14v3C!A%yj#cO;NhxLYwgk|{oRDn{&y zpA5J{Re8GZE$L#Lt-tAJYuEOF+6Tx|2oJF1_~H@6mAB0bSH6I=CSFr3XxD7_SSJ&XS_E z^EiGx41le(;YMIRumiF)ndF59-E9ICxbWjV9}yu>X*Dy&lGX+v zn=wy2Q6$VZL2y0XhFw3_xaF9c)~)Aq*>}mujZbNR5L&0(dfR$l?RmzHr``>c*8Qey zYdJ=vt3&baCrqeAZ!wIiiZcRqO$-I;5sgQU$A=yPBG5BHgE Z>SF=wN7D-vk0;yd_8+z;huu5~002;Sf{6eC literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_48ce6b6.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_48ce6b6.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..175f8ce79471eaacfa7b0bd9325fad7f4f8d05bb GIT binary patch literal 310 zcmV-60m=R!iwFP!00002|80;>YQr!Pg|9MbZ&cP^w(j!83Ul z)jTZVotR>4J%Mci;S*giWdigtD>jdC9GDX9k~~+y2c`tp|B2CSI1x*K48f6rOwL(< zf+6&iD;xUH*S1}V3=e<_DrjP8A&aOn8JiVQ74sMGG9z{&yN9xbmse=eCA!}4XTjm3 z;Mh|k*M5blt2*@4!JBoi8tdfNq_*cVS1mD0rP#8gB@iVm^tB0-ZhuzfsQpdMti{r5 zsVWYg)J)%3Ny@;58rcS~wyQC}M)5)#YIq@Ukmp;(JYAT6N_~NLbGwl1)p!_x0EyRo I*$M&x0J&OV literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_4b77523.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_4b77523.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b1b32404d69585c4eb254788863019c16e22a8b7 GIT binary patch literal 2505 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 Tl+)MW{`>7O|7YJ2Pa6OLen7zj literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_4c91aa2.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_4c91aa2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..90fbebe4c4af03fbb68d45c5d40d9fb3556573ad GIT binary patch literal 411 zcmV;M0c8FkiwFP!00002|8-K^Zrd;n{S`tlZU-Z-J?w%2+ZXI{eHsRVmFZZREE>8r zErR^}s5pt!0(}uE@|?r#j5`{v?{#nbgUZ3Ft!e@d6v!KDVhYyp8hNKi)yl9>WmO)0fJsfK_Q9`j)vdPhT|4RJm&Bz7x=b*^Zv|Pv7ik|Jo(urrW z6TMunMt+VBmbIzv!?C{Q;e|HRkXG6o%GbA)@$-d~%bl&H$Mbh(en0*_{s$;pRW9%X F006C^%mV-b literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_4d3b7de.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_4d3b7de.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b13f39f43d14b924c1f053dadc3ea206572710c5 GIT binary patch literal 366 zcmV-!0g?V6iwFP!00002|BaE&PV6uYg9s{~H~8zfc;RUviTKpIz$ z%P<=C-Emch!j7F|pYK>X9&LxMk4@dU=42)grZOdCi;U4>NsmwHq_ipdE|w-Yj-p@` zRjs`OZjd`nAP0g~tu=KhJu)!5iIac9a4cZ|cMp$8QSDvQt=}fWMvip<4fWvyH z{z4snqg5?5YAyJ>-A~_voE6QGx-5T5h~Sckj=Q{5L<$ MZ6RAOHXW literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_5039aa1.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_5039aa1.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a76941ed1fa8299dd1538a6e5e4fe2b5abeba503 GIT binary patch literal 404 zcmV;F0c-vriwFP!00002|7}vsPQx$|{FRk21r#Nua6pyd!hs)vQ&mNavu-T8cC@y| zqw2r2Zc_qMPuba-*`3%PaZASfzUy_rSDBq!sfNiAlh@QBGk!JMf7`K9mD0f{@<}wu zRt+y4@(4#2kfWWD5#GNb4P+T)E`7onqD?k!U;3xbn?X-+J{z5i6Xp3$y38K z6BdYmnjH*ezb(tC|6NqU#~?X@P!GTqvrE=*Cr62j*2@g%=4dEOA&#W2v3km9IP5Nj zdXH z3tUvt$|}yZsRX|ZURGex#nRYZ*U&WZ_yp_nJ?TXxRDt4LPGy-e`=qmxtNjSvcRJ*9 zyAN%pjCF}Ps@48bsU0PhN+p{doo`LbNB&mpbEY60ssJmTg9IM literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_51e8be4.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_51e8be4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6ea007d59bcbe109bf807e757c64b155214ded4a GIT binary patch literal 1527 zcmViWF*s;U<=@?d>`+jsrPU5RdYv%79x7_X0$ z$ybwE7WUj<*-YxuX}odq+%%Jl*KYJQV%Y{0wu^*jz+x9 z*4x=Qn`Sa_@aD8|&7+~?WV?xuM)FH`^meeF@tN$r#Bksl_#kYo3H5wn7Z#3bPrsH( znaxb2fZ$F9^dfiGWZoe9_wRpz5kQW%Ewuup`P*!b!<7lX6z+Q?seo)w6#N*hAGeT_ z$DV!;NBoS9Krq|>N)Sc~Og?1W!IcqDoq&j|&UANDy#aa$0UNgjl$8?H_l~=KQ#qC* zQ04?6;EW=tCHQ{JZk~&;9^MxlEhk`wIP|i37M`E%#Y<$Z*my!+o_d?Qk`n6HvhlY~ zsW6!~6yI4PQt_tmaXWFpryngy$|NW5qMV0ws(ApE1Jf8#DqQ(=M4|BXlRdBi3Tfkx17R%O z-lHw~Y!s{rcG@k%7~I2WWLLTjxj_p;oGXgB^um`!Ne}rz8YrR{g<=iHxUJ~nBZK&e5TRQo!_x%w87lIP=v(geM{3G*|X$cSzs){}@1>GbG2 zRT;Y216T|a(=$d3#)8y?LM5|-8H`tAJ$Fb)2TvgOsYI^PfQFz!_AflAV(j7tIM=uiB&)~yA>UjrEL z&}cgBW*B9@AV86kv)^CS4;bFWAJD={HNIi7m2sw473dsVE{eOYzeoJIx?`^6^|j8I z|0`g1cJ82-(Syej?^Zl3P4c7C*>fvpZ|2rRj<#Y#g6oL}aVRTHwKOvtypbdL+TxLP zywY~T6$aX91lg^?+HDDo&52|9u{cS(Hs%>W$EX_?NEbhFmR$P_ zvXodM5&yO)N|TZEgK^vZg+zjmM>)3Mhl7y;wW+CY%`u>1tmf%4AVlj1;|FXcKFg%J zgj!Y-Jjw_bc?7RrjNLt_+TS?DM#VqjegXks!D_bW6@<fKqwc7F%y9KBoQ0fLZG=4O(-|WMJ)s9fWWr3AMuTxd^Rc%^4j--L2EHu2> zRy$GZW^%d2U~gStZS?iCzPH|lk!7?t>m>U8m4O~uFzmK8bC4_(kO8_|Z?xk5Vo*K! zB9rHUjvxMDRkT;2Dn~5wjO#|H;VM)mzV15bSoad~Fi4>S?y8lgL@1V}0En<(*C#aG z(2KQ$bl|8{V|L4SL^qcMN_+YapDDgE@jN6l`q4y}`RHy=MWJ4|MSZ@X+ErmwuU z;Ruh^QB1B)K|wKH8zAZQRlQ&QxLMp9Cy(|Woa4D9hP#_TKJM7*dcw){NKAWtyUk(2 d_lzm>_0TTV$I0&I+fRRf`VV|IPghS2003z<^(O!T literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_53b7d14.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_53b7d14.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..04871e3ebaa8643c27835df7b9a5695fe11f2c66 GIT binary patch literal 676 zcmV;V0$cqbiwFP!00002|E*MEZ__Xk{VS(vQd<<#u47D!R6a2z1bmzjLa1|-OJmK6 zBm3O0MEUQW)1=9OPJs9l#dq&LpWoS6i7jTbOxJ0W)`2rBh=aMo3=NhE&J$*#1a^rI3)2kDfMkJ|L{Y&C){!r1I-SAl4ZLNIsMP!EY}R9W#i$cwdP?~H z%+IM7y;^n2`P_?=aqPzJV8P#LL>XLk{}T!gJ`E>hm0H4=2j?OH&=s?s8#C$%6m zuAabFn8-~2M=L|9eE~67vfx_Sl<~e1H2>(e*b7O#sa1&8bjji;eBqM(TN9al(T&~5hp@bxtNSv z_-m)00dJ7R8LUqoq32t6q;twc#@*tHwbv$HC))X;wOm|>K_(URZ4lQ@$Wx32{{zRj*BwMwFiBz15{WXXI_5Ef->d5HR+1~2_O4e$Sb9j_FV_@q6x=5(bICwXrMiz zyn0H>uX>L2Lv$eBb<2VI`WzEalV+gbj$?zy_41quUzV5sbRJ~Jui%N$TYiwFP!00002|5cI8YQr!PMSo?`CQUJNoCI0|DRkLImsy2iCbC?M%94@B zq`~;#JC2>#ZXWk&E>{iy=+d|%FI3TqHdwI{Y0#w(+9{o4JUf-v*rXy6$~)4ISiu7c z-`D^;z!2~ZCqvbx8vrOXkPfw3|(3G6Qtv{8qzBElB-Spv%hRtc;R56fYN zCo}}PWG^ohkWAjk7PcSI-5gxh*cf@?E%QD01c7A)obIB1&V4wPMrt ziKsOpSAq;#J?1BPj80X4(Cj;*t**y#tBjvB1y?!whHKJ)Q|R1SuW-mnY!-d;h~bs0 kbV+yW33-1;s@0WghtIh~yQ#gC*`h!6|9gJHV=V#z0A3TD$^ZZW literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_5548a1b.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_5548a1b.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..621103427b59fa9ed0875b2fd555572bb0c4ad8f GIT binary patch literal 513 zcmV+c0{;CUiwFP!00002|CLk0j@mE~{gsg~3so8lth5r+_Oj>p(sHP(3JuPLxN_{s z9z!YO-#ZB;gsm!dZ=RX=p689n4eqEkuGkd1IH?q@TB%u}k^(tRvobl&#=9BX10Lf{ zWlDR;faG;oCsmofz66kL=XLByJ1k2X;bk58~YGDTQN>7iGNZiiV=JX=#GG4mul%SLW40<0qntW4yJB=V0Z@@VFP9GH9Q0?FjnRv2eB3V%f5z0 z@C=*$5>8m+X+A1WrZAg9o4(7=GgxG>92M7*Kw~7C(l?*v=m7WL6p*5EyWX2AJ6oM2 zFzpDMU~0o=PcTU$A@@Ch>?FZRn}o$QgKc8*)oE@?1gT86l{(5rj>Px>PSS6Gl4clQ zJp&(lp#wT@2Ut_>&F}V+HCml4cCx60m%-P`vT1B<)mpJC_CI^>IYoZ$Kl++pZtTgl zLw*`i!@U0jP6y3V!@ca}1h@j3{dNTlIA5?|#<)TFHB#33;6t&|KD8S?Uo10K8p{-- zTAj|Bs)xx340x^}6$^{T1PtZA)+x+J!QIuu$kr_oLl1NR8o#3Mp-VBnw0WDXu-p=)TrwQ%^)Sm3$HKn=fyFe`u?qh(4FG8WEc zxro5R15R*2I1%?01uX+wa)jM7OT&{)Hh)Ex`-})CAIBiumEFA1CNfW|W-w5sFa}xC zk63|;-2$7J4HjW{t3U-jmT8KKw;~nD(KGUxW4Xoe@Q)b{Ps^+l%fOEk3$Ed(Wcfq| zKeSv`xuAC%C=4kxd;wEn4=$$w57~64^z@)%ujj*mdaR(8ulWphy{bKK_2yo^-RkXK zfws|8`V{5fXnmHIGxf_qQ{;)#sc7-gDdlc&(>U3vZJJ6s@^Uvt?ar4<1!NPf2~UX0n&sHJ9p^Xs)~-9dEpMl<)5; d{nsmJoLsz-p5M}q**2Fymsd*0BOqJ@005<#%$EQF literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_556d70e.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_556d70e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b79b8cc76945206324b7d3d066f4010047def90a GIT binary patch literal 315 zcmV-B0mS|viwFP!00002|89R^gjO>ep1VXQ?dy5I>t zv2C7K@QQ@7w;sW2knka0W|>&}lVjPy?m(Deo%q5E-epQ){jXVi1$!hu??P}WJrFu) z{T>b>PpM?^uUy*?ArjnyOwfXkp@$+$C6lp51#LCI@uo1G7m8b`Yj}PEEnUJZ!{+4J z{%>jS=N-k26_@cDqH4R4r#>E^N};XeCX!ek$5Ql2l9eD!4lnu=ypz5&VKQ!x0v+~0 zjhcottzy+u7+4d2T{g`V7dlBcc(GcH&vm07gI&JeIKfbPwC3Qig|Yl}h*`glYL3za`q(ef8pQ(!!C(c zYYRAduKb{H(PZ}F3WNQ^UeZuk6KpL_+%jgW;fhQ1ZUWeow4ILCET0h2pKb&L|E6%f zE`i&95`}kw88*;}`CSOsm_08_u=Ztz#$3T?c!U!~Y-tUPZzzG|!i*8`yslw&b5}r4 zom9hfstAYIzL=387}|7++}>UgV*Qi15>K!xr(s?VUaw1={K4A3sZuu#|KqA~4F@I3 zZhh(t*OH>0oU#U*m&4f;#>%Hb_jqy?s6B6wUs+17?X=Ofx3ki}i>ew9Y;Hc`=a?FIo`06(i$0LK9)NA2 z1N9#N{`}=#1v><7jqJKHgG3Weoz@5ziUPS_8$xJFJ7~pTbQsU5qYxd7!qD+S`lv%| zV_?;BVKB#!mS$aL*_yEdgCkGwa2AJkdav087mD1~WDeaA)&;zS^r$X(T{)?wZ}ln% zzmE@Sv~O{Xdz@foPbF4grR%g=WjK=Fx1q#leUri4=<3wAHObVSvKjd&Wk1)i$PVZPwdN zG`izqdr_XIO!O2aSAvJ#(KUR6JJQsxO~>v}f;#Fi;cPc7sTEgMumjhDe$S!hb!RyW vJbh8Fr)){eN3f+P%-|E`!&9Vv|H#A?@EN*$SkC0fX*c}`w5wu*asvPW0IuEF literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_5b33fdc.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_5b33fdc.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..68c1023d2ee5e2f52dbcbb29e03ef220120485d1 GIT binary patch literal 365 zcmV-z0h0b7iwFP!00002|9w(HZo)7S{L0FgKoup8s#XH2J?R1Vj8KgSS`M90)zEeHfa-7gFbp2Xc`wfoi-jUfDg0 zu{Y2>%rM(#U~mU#BQwdh$N3z%Lok*gnDt78Wk#(JCc>yNLUyJiWrKUwwAK+k0ryaX zbhd%Salw79k_^ghTyz$_&LPj?{bTSwMNiZ3!bxl;7knU33B?2KcFV!V18!$T3>C$r z|2nOwaL9INohU2Y#dzNqDU(VQI?tBJK4lFO4;3Rt8gJug0pzBtZDf8Q8ER}!7g87D zQzb%Gl5ImxxSw23XlYyV7z0~A_vx*eU$iw!x@sqq#Z*$iTr^$0v8!l(eqNPD(f{=S L20Z48{sI61#&4wx literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_5fcb358.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_5fcb358.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..cd040609c7e1b6108634645cdb097a7ecef6e69d GIT binary patch literal 496 zcmVKgyZ9>^Vd+DL{(w>%5N-?rLwnSyg zNaJKf$iH`_G#iH&dN7PM^WMC98jrHa&bYR2ReKUsuwo~wfE@;O3ad!LxW0-`{=!NW zLU~8%h>P-72_L=NV<3=lDFyP7Q=nwz{ARO;=13UfIdZEKKAAnbTX{g5f{S1XjGG~$ z^I?!wf*D57{BJ-;sG$pffJKn4jM^+psLKp_So8szwlh&fV<*hfVhL3R?>|6J*6FHF z$sCpNO$NsjcJSH3e!VVN<%)GFEnSar;C6#-G0oGN7a(mSbdytLJnQs)At|X=J_J-` zj}S*|D1w`Y21C3^b!d9s_&lmbqLg^hXszEugUSzVOg`4zWeMN?#KSxABY~gz>n?p8 z)N*fp0O?vtPhcF6crc_nk4)T4#r^4M@!#y*B|id;GRFKwjLBlZx-VI5YRF^7nV;L4 zp^tw%x~*rPKF(eJA437B`{q07q>Wg>`IUUmeWT{}JNVGn%1>znpEiZ)j7^q`-RWG2 z0ZDQs$dJYBh6+wdr?gL1KTZNI4wnViYbG=;M>YA8W5So$#pa{+N+wstZgno^KzYS! m?C6HOgS@+k=(ktQl>UMn==sm_hI~5zJpTsNrUj#w0{{TkJN4)Q literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_6040ae4.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_6040ae4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3541bc3dede19d33bd775b56c3518e6ef2272bff GIT binary patch literal 305 zcmV-10nYv(iwFP!00002|5cFDPQx$^MSsQ0%K%kv*&Ze)fy6(sCxj}KI5bikSBa}p zP5pP$vNHB&$3EA&x5qECE||t>b5=w2>Y%DfmLdgB6{a!hDtV&5QiakSgo5Oq<*9_% zdEQ12JS0ED37vrD2;w>dVdycX681az9EB1bQ$AP1TT9TCiv-vqXmK0>z2{Sck%t*H zJ_(`X)MJG*V6tn)%Ksl$0HR7ZljQsTtZYFFg}X1hFZy`L3%>VDH`AG4q{xoU*_ zTnl~wrIcIG8fTO0P*25w5Ld1xD_8CY+211VZe@l!%`0@gv{&+J`j~zI3~@aa;Q;^u DI=+st literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_6043143.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_6043143.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ed6cf7fc92a855f3d2cfe3e83c7d570afb031c8a GIT binary patch literal 442 zcmV;r0Y&~FiwFP!00002|5Z}kjuSBq{S_-Og=#dj7s0M7!6OSozzY=*2vym{X(BR7 zNF0`-s>Da|g?tGP?P%Di_;OBcA3MoC8W;3VD}4|(d$AEiMuQoH!Xe9`<2Y2O2hj-? z17RSBaG-}f445S$NT|Vms|ZeW+8KwrhpXEQxSt3MYzr4z;AO!V$}a5T!I6cS$i*N% zl!VIhtE|jY5$4i^8&k{#YmfzYU~(K`m8F)&x>XOmp8I)n^Av^wUc7{@{P0%$Pjme8 zs)N;fHD_`EDy%=gzC-`+wukqTumiHLfT=;X7J%*6%;9}ZwQefVP@PYSu$vNR5f$Hhc^bMSRo+)L=jZRrWa5DoyU^iPqPxtQh7=g_gNo%#AR9{)olT7A}Y+aI-+)2$T7VLRj4>9YVinT55`E@6Z^G!^#IUGAN zB1yIcIr4Z~sNgV9U}M94J_z(Up0;f-`8x(|#ExQOoAAf^3fS>c$)=mwTpYXqX>w*+ kG_zljhVIKBb^01I5vF#rGn literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_62184eb.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_62184eb.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..d110b08b0357964b3b93145227b10a2e3d60839a GIT binary patch literal 1064 zcmV+@1lRi?iwFP!00002|BY4KZrer>{gnZMf_A}Bwq+PC0TsQXNYRG?jnRi7uvg?z z+?eDNyUW;uqkr$2T~d-=yXlKWa_4%^nb|>YxYm7jQ!&I@;mMa>p8Q6Nwj%sT`(R%A~ za_x{gr{DEw?hh7tsz_0*ohMV%9d8}!K17cO8CmwD?H#OozMtLhwQmlEY(h|R&PjKJ zv7Wvq<>)5XlUh|N*XT4SG=xmGb`7oQk$Tl}LFv!Rxiq7D)|f5w@G7WQt>cV#bdw7vClV{852=KLVH!QtkEgU)(CUXN$s7@W?*N%Dm1nBQzVzDk zIlV^{5^ev9N)HYP6MyDHTPh|Sn7;rwB8LZ zKTOuT-%x8dx}-I44M=cWjs-*zP`0C!1n}jD>E-`HJGCj`s)EjeTtOEZl?5#`stUS1 zAQw$DI{B>H5&uYi8WD?>Q}|Bb&;_klD>@TE-%4o}N9tKv4@Tg9cbe}Jk2$Ao*S%9U zzW`rOzo;=j{M{hZ=%D2wte3#fB0&IlFftPw_-<(o!O$4wp~NkNY=LK0K7wNqea&N%HJMTkVM6uP>b)Ok-7W5c`1sa zTco-TId4Py+bNrLBFB;R+kMur$w_1L*jhnL*AAu6vx+)UMNU{I1@&XMW()2QBe7vG z_P?@Mx^*Yu#1^`Z46fY;n=2+d6mg8w+`^o3FsA-iG3czUuUVCf=s z+G8BXwh~lR?of(!RMUy@A!43me4+gp2_{9#9GRALOsAM*rL2%7RCy|`GWO5wReBly zKxmJ5D^$oL*F8TB5F7`o6lugk((J-7vi!7fEsARob*HvKv}7#buPAq3 z4pW>!=+XN9!!$iI2TGS`S!hk#m;!7C^xpVM;`99wqKL){3J4?6Cj|PDqil2RyHxh{ zGesQL5I4r3W;3l(BO4RyD&(`&h9af5V20}Ox;zUn&tQuM+)-=2u63giYKTs)RT-(JNWP(x_dV&-rdQ9U%2g9QlV_

;sjPBu?!eHe4q5u+%@mL1KHBn330-KAZSZP+KjxPp&YYo^&)gOAc#W89W`^kp&d}yBJd=z2@nie} Leq~Qp5CQ-I(^Zng literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_652eb94.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_652eb94.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..c7b700db760cb508aa8a6776deee8702b5720e3c GIT binary patch literal 501 zcmVH`R`7(szn&aIW+f(Nn|ce#N@s88|JN&*JOidUZ0vZYlW&;01B`{-@8!os$61{ml|PJ3@%4B zsVyVeW=Ni3LfrKU9m_&4orjsq%gN4Uob-lYu-=kY?o#@r*|sOPUawL9FsP{PqMtaP zc(R_-IyK3$W7CsmI2Sy3Qi>i;0k+wNNbn^yte}daft#p|YHNE_u#RtOz&?%(n7}s) z6Q-A7&3+1xKjAoVW>NT>(*<-AW)h}Qmbqg-E8sa0O18j0_<8>G0{<}vp4i|%yLqbM z5EATEJ8qRXd4I~jS?BoIP`@Ka+OAg0_6kJkX*CF@)JqmQ#^cP#tnbR7MRupy|6YeiAnG-H(mBqzk r*2zn#IwNbWXhdE?9Goa2exW@=MHeMD z$jB6LobkjXl@EBYpJ$KaFl$ z%e(jq(qjwdY=ec9rSz3vq+pvokkY=wE7mx}$cAz(eo0qrvq*3xy{|%!)$((KKAAec zN$>CKFZ1e~vt77{Kgaq8+w^wC9|qY33a?+G(gFApSvIWB81-|kn;2Y9dy`<0<@An! zQ!-6c^fPKaaNicAr38;+amG=A$B82h&e8J~Jz7_83)>C1boKO<2&HS@d@u5IpNNKn z2l_jE0i3FBA&27@`La*$!Saf& lNQDVIgS^Zk)$IfI@m)W3S$prr4MOH75Um0 zktI)(@l42n-<3b&WLp{R!B`*noO^Wcl`5WNCUv?=MY@k_tD@UzZZSiPTHu_!R*QMX zEmsQFJYtbB+N1UqHm=6-t=3R--9i@*S*?YaMuXHa1tp8?1#DZ74jvt4jp2*jA#CE3 zSFo);eNuUF6$+V2L8unI0ZZJzz=1j}Z@JhVbGY*)-zhSa)_LGIuS*gN(g6o0OXVA;<(eANtx-B&RiNc^il|V`gDfj!J-j7_uz}2) z5-u!Hxhv#F3}hFHsU6yf)WIFB5(WzfO9t;4yl3!%!8L=A3~tsipTm<>>UiW(mk#>7 zugf5fgO??VBb4*pdZ}{~Xb5OY+>aV5Z&RSAGhh%L7?;6~%p#_z%7QN5a588Uk5rg>H8_%eS$qD2#yRWUdg!QiG$)cA&n@QMW0#&H$ghHT z1?*{|vZg}o+kP+f2$2PghW&22p<6J}|8Jew!_JC$dq>^+#BOg}>1UJem;dm+69XEX z-q_j8SHs`|Qlp=rFGw(_hNteGI_J&4haX;sf&@86VXRC(BTbi~e~9|ru|LA%-j*?X z)kQHl{jFcYtdezHq6=4kgdau!Rq`UHXNKA&-3U{MmnOMMSd`J@K;}ia`vZ$g^qfYK zmtNt?Qxwr2*P<{XaJ7$6Vc9=cMM9)9rP0QlipCy)o<3r0(BecNG vPtY^S^*N+ij+i$YQr!PMXxew)1)=YM;2MOVuWxW3 zq%mh%0@aNAs%v3oP5Ex2-eGZx?DUiAxQ@GDdwa;oL5=lx*@Ff zDiWnOgg%J$)JLL0lB@)2GB}4R_)6NMc7yNjB+y`UPP=~KC$(agk!x8KeqL;W3&s_4 t$Uvm`eRPS+iL9}tnY=TYiwFP!00002|BaEsPQx$^hF`_XWq_)78%T^waNz|wu+ubEY2!8)X;LNb zV4C{wq++An4v5>I-~X4yb|)LG$*MwC>L7Y=L@qLqHF~raX1woEWfa~#wZyc;OeCUm zmeF!do)uDf)mVK5pc+^sG|{uLlcq(dW3S%7+@XZs)Ah?HRIRSuA*sNC7GNR`Fu#uae1OO k);!S{$m$Z&_a~+wH#$M<<8dMv^I;=WiDY9zE0*D?|v)-ElJvXIUO zw1Gp?Nd=z?ML-asqm{up3!xPOC|VEv-#Z`R6uEhS2lXMKheyvD&!Bq}!+->WT(pW0 z8nZ(?Gx{jo6Rin=PbgzzS+akNwa4F)O9Lso&O>kv!I4|dWP~A-&EE)p>;hX*?6MIhLVIa3N3RMN)TjQa|R_u%;;I;T=Y|7tb@5~>O)7CM7 zA5a=?Qhf(d=uKl&WeoDhHXU9?k1vJ#MEp|YnEq5@B1n0BaKr?L9U+@YOW~l>b$MCwcRpXQ;kvqgwfTx3Lr7)iCdLj=4QBf&1ePsDl-~kz8GJZt`fN&n0NCyoEEZ{acGY3%b&F5qY!R@NM2ZQd`NljxY4) z_Cr}{)A2C*;{N$q7Ci>Rt0I`t;dtWtlJ26BDdO9cI`9a<_!EHxnkNr(^~_j@ucz+58Vm(@E`Y>=o)C)MjMEIA z%tSK|yGxb-j?<-T%gy$@&-NP+wCC0ZTieDS&6vE|m@0A0i9^Fx-2LK4Dj%OXxj$T) z!Za}m2T|R*TH-N=-<$;GJzfzU_$5OkP9ijvRknVAkKK!K#y0ERTkZt701D?8|Iypb z?da!f77CV<)!87C9)o5R>hf%TnP`Qo!ox>pdSwa>r?c!9&*?NCbmGP95BeYskd`twgQ*}942{Q389 z3)4C;>dS17Q(<}*(#VJt&sWDW`bMGAc`E#IH0-&5Jzuxhp3Z7iOB^&7e!f1dR(xz| wUfOK#rsA5VGum-07xV`CaEo;B&dfL;{{n6Qr5AF2H~pOc0u~XiK$-#o0Cii+y#N3J literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_6dd02e2.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_6dd02e2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a8671d0f6f0b87a3b0e4a66393ff4a4c55ef9cb8 GIT binary patch literal 547 zcmV+;0^I!{iwFP!00002|9w-)1{U%m;%M`SI@~cYKRV8(B#qk1V>DZCL40p+h6E6w$duDQvg1 z9!r)pVNF02$ZL2k;Il&>5I8))=%B3ut3X8~lI#oka1He#pod#e`3m@I{^Onla?y-B zXb)SxM+2cjF!&TE6ZgRB@3yg{qDYp|MIS)$wgnv^SV#qH6A|zUMI>=sfTqMQz?+1x zKsnpN!g0xcqZdU&P>AU9J30$DkSVjF(1#`5e1xq3E0e93XHQ!{AeHkAU-_EYO&Vd2 zKre6_k=h7{edRBagXe4XrZ>EW^(>6T5S{ttwkZq^V-|-rKdDK(qu>1i94M58tBOI% z&YkB|WBF9+g*Yb87F5+@nL}UGb5NR8S*EP-3i#F#iGrxA)1I_Cgcjj}J4bYYR&cNp z8crPl{rx9^Mu`pBt|A~L}QcR-H~D2CntwyO)<43sS0*Sa-b`i0dv+`!P6kvW_8NvP<}=> lsKSK2fV{tiG*@R#OxHSrZU=QjUZ3ty{{YDAEb~GH007=f1SbFh literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_701ccf7.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_701ccf7.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..f20297a0457c930b84c2c88a1ddd23a115ae6dc7 GIT binary patch literal 325 zcmV-L0lNMliwFP!00002|BaEsYQr!LhF?Yal6DR8x|LCS-wPCa8Y8%|(ij{&*vi@x z^6pcYhBSl0ZnE`%(l4n|CoGNAxh`}k+F->_$bcmVbOlPfHmIeEdpx~g8Yxmyct_}n zW#exKd!#nF2ozd`(gzq4U|b}{Wnu>Fmn|Hxgb@yrTmFMd0l(0JDS;}yf(i(+Jr-8Q zIEjG4GWZ%iivk2xw&rf8ZhRnk0u>=21W8a@#mXcZR?5FT58W$2q!w`5WZzoqf=G;oI8+H=9(H#uA1oc3q!}8cA^^$dJW{1q;sc zw3WXJKRSUH>)`~|nrj-(QBJ<$nApW5nF{L*MaDa^d+yUmR*h(dB~9oId7C5E>&UdX XBTmra{+!5d|Ji>7Gpw=2Tmk?9&$pEX literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_74069ae.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_74069ae.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4bdfaa450bb23d926240d16a2595b84582b4f2b0 GIT binary patch literal 745 zcmVT~WM$OOLa$>BIl`lwuR{el*Y99^h#25L5OD=}EyAYC zq31X-7y}$!0{>F_5DTb2h z6h~OV2b3wIVv#xkJsyQI2S@?yWI$U8((8_-_AS{3wa_NfZ|WdAa2`ZW8bLtlQ0iJs z=$y8Z+%bl7{Y;vIgWDrWgTkh+f-mvUuisP&Y;^>qcO(?3JDGNCoZMCL5xBUhGs(AJ z*8^mQ2wvk-2)!=OM87q8~_SF8tUrCK2 zbJLh^4rl(}`CV>CFF4$B;6%dS#!E@F`BZ<+s0+&2de;Y@0qP)II(0|Pgp_mi?**6| zabzd=u(6Kgw+Hr1BohaBo|hU@*Et_Ev+MXu7zjx7uf}tDV#hqQ6jSSl2Z1$aB@iMt z1DgZ2dx#!Y4Ng3hpJy#2seO9SO5iom_XcY3_VCIJB|@uTRUmpnwT-=83}ZdzyZr!1 zmJ=dulQ!zJ_Ha8QBn@-KPviAsSxudWg$AYBnhgI8NQ%0@mZ4+Hb?-3v76--Ck3;Ca3tglYxB~VPb7VCJ%J%YS{3~Ap^ bn8XYE47wkWXXN$O>Bs3WomL|`mu3l&+-=5St< z=URxQbUI%$)l{poWA-&H$7hahS=lH5=>UOFr#$MPCy~SSLn^#s9jsA%*CX>vtI(P( z2j5+YXq*nX#}a#3)zbpmgUTcZw?ykFE-IJNR@8{Ru?y2uMz99ggp+p*YUi59iQSci6xHnt|{B4!bj zMtjtrpz{@n@BPPtfPn;WD0Ur6RVpl?vlKaHG>3G%h5f5X2hWZk){g!2RW41v~XudAzZEQ_-Owj&6a$1zy1hu3}3%Nf1Kx5{C*w5 zBAfC_!r^Ipr7!jRC=tu%PTt&Ku|1SZZ@|rV0?Wo2J0mxo z*5<|7BA0~I<`B$E)p)dy?T)92QBi^-=9O=7+$=^3p=E7)>i3ahgYB?*bxMY+peXmI zquAr$>q648F;eua#CFLknhV9KtFiQx?nbh?mDI~o6Z)N76mc=;0#W29h=)WDfv0JZBe@_1ZO;LuP-~#{vwDbW8 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_77a131b.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_77a131b.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..dc5c987cd398c5e480ef9df1f9258cd4b5b88a56 GIT binary patch literal 372 zcmV-)0gL`0iwFP!00002|80>$Z`&{oh5yQfF5U*iZWoj|jLG`5lm^Wmo@pv@*d6dVF(o`CaV+p}7(%ivV2d+x4l{Y( z+eSM#A#K8*5|g>=ThHMe2NB;~3j7Ts?gOI_#;`J(d#|+39PDrf$NxuJy3bRcjqnOsW!5)e~!p6kB$5S-X<7_DvVop5v^@ zQGdBfw-Y&QB&s0ssKH0j&Q3 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_782cb8e.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_782cb8e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a525f3a907e6a594d2df276dd17e841719be226f GIT binary patch literal 335 zcmV-V0kHlbiwFP!00002|8~xF`fq0V+Tw<4>r7>|IjEjnHB%*1O-xQx$>@ylO2fD-Rj#ym zLQbM5RSNhZ0fdVQtWXCvM}^SZAO%dOQ&{hX0xUwDQ^0$qa=-xA!TIzp9#Ws^*T`mI z4e8JG=_dyppbumq+BW|Ta)8XZFTi$N&jJsrd3AZr7!8KTW(CB(gFtOV19Mnr9dc`3 zmP5A25Yj2^d&yQ%6=|Wnx%Q&_X6Z&%Vi*Oq!bl5s&dy47bjB(FBAPGl%iXsPB?Pr7#blamX_T9vAefhn-q z=57V=#FRQ02%G_gFZ6@REOK@{uiMs`-z1g_XQm+(TW%>l<(y=w`mV81}Qn zpwCpv!rw9Jrj5h2^V6zS#(CK`tIc^VRY#1X6g&2`xQUV(hStW(xH~KI)csw}t|ZfG zQ4PmlG}F)Wn$q#HMRqZ$&Er@uS)5TzhOg)i@^XvV^~?;@<*(58QeMf`(fsS1Syz0K*uQxH=Ys{OSgRX4473%Dp_1kt^Ts%fpXR*n&?bW;+wghL&!7J2_vH@u`O}}%87WWFu*2$i zPinnpsf1^}CEG@8cI3fD?K}$^LDxcgN2RgRz`%7338H1hVMDA0LX)jk^$N1eMQB(w zY?VpcKn+7(P!-s)IsF_=JN%5fH+6E%bxBSvXx$On2bpd_m^B?(A%&~dK~9H<^b^N4I~KO6Vx2H5(wi9D`P&Pe*bTH_ zhwO(vm;f=}pa}i8fm=~c2uFC*9P0V_=xFWoRA;%6^7|0jD~06MY$tS3An+9*%;+-j z%VKhyI9voU-OXqc*;pXwP!bhP>BV<+OQ0%Wn~h?ZC#RES?uA{k&o@H1Jk9A2wS|9g zBKvR#p2_I!hdz*QhfEX+sqwbu+5Msm+p69m5%OMj1_hvHOQo`buh2q%)UQLC2Mwtd zb2{&;M)=u2>1$)JT*#IxcOG72Sqkki6VRJ5x8A<&kw4&JF zXwJ1+O>QDz`9rmnqiIO(E33AM2Y#pIC-IiRFSx z=tJMVW;BlkxDdeUGzHT)t>YP)avynNlEe{*KCf38aTmVBg3=ldiee9hhKv>>R>pp9 zad2WrVARGzN>Vwo)a=IcLEDlmu~7!jpJNo1EruaK%>+gT5aYT^wf1oE{ll#Pt295B zxUZ%*Pb^QSPe}T`A}V$3s+8pT+2{C4#LO_SR>Df;B$A971)l9=jfjgqC9^Aq|AyO9 z3;j*WKjbnJ(Q)1(k00`;+}l2Yz};@y^OvsVG}6K-3A_ZcJ#Fw<7ySPS+C@8wVAu*_ z=D4c-I}BprCzI~B_&T&3tneB(r#aqw7{T(g00_^$lW*svSkXf(F8u(# z2RVLrA5)$5pf)@t2h{s+If9-&fX;hpx)t33ezV&c!B0>3neOhL0Y7Yv@z3_zPjx)9 z|9ZDE;O9qY`|PKIG{AT3G5YyFbZo%^+%HGiv-v)(a$SE7_+8cA({XZqdiU$yUn8^W IV~Y#`0QKHqNdN!< literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_7b54507.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_7b54507.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..5ff0a34f7f1ffec3624509379f4ec7296ce9c5d3 GIT binary patch literal 300 zcmV+{0n`2;iwFP!00002|5cFDPQx$^MSsQ0O953WFrkS_@Bk8g!JZJRvea24rOD*D z12pyDaXUu0m*mFx9!K`hY|;7H)QxQps;8hkq7%f(r$;WMFO^2aUrLrk9MwZZ2 z((sz%9*M!gF$$buvgFLDVeznp%@1RSb(XI*y!$=IIZntu#SEUo$1@UKqRy}e-|dq0 zzX6k>21lubf=pv_>kAFFo{+0zODJuf&n;|1kCQ5{p{n5N87A{hDlcMIUhoOYrazyFsc y&ycKPpQ2jb4&^y$PF#zQXYK-7ULx({#Ps7vXK4NRoXN-GbNB`9^&0Qt0RR9F^_2<$ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_7b9dace.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_7b9dace.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..71af750b15eeb7719352f4074cc7b7c31598d45e GIT binary patch literal 341 zcmV-b0jmBViwFP!00002|7DR+Yr`-M#lMR1CEGB`{;{$`cipXrK~JRwHIZjC$1b+g zE|h%tIY~=fc9W&|d$ON*_)W^Vx~!}EDB57fToi#61#%S?7y@=hG>Qu$Mdcln<0Kh6 zIeby$_XKDyD73Ky!_-7j!8c${Op3Q>*mg`2RxvHg;nVEN0ghAfY62t#;x-I@M~7*4 zFsw)8$&xiPU?6awr(HRiX6FOL17L)5TABr{F=~_LknWmnl!+P^u+Add#=A^{Yps=| z1xZ-qQbHDe^+O${VYbB>vkjE_@W8u)zK5cK#mBY9e;{RZ@S!d%-wyG-&ZJPrGKDDS z$6ktt7*i$Ku%%OcBK6T#+7F`jQIMr(3RgcRKU1fwWWP%_)9*R-bh5reHr|Q(V=u2c nJY$+h;R(AzX19obIWz6>K^JIsI$p^4e$)Q};vI5TE&>1mR8619 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_7c13f61.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_7c13f61.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..9636473d0df33b43d04eee1315ec581b2ffc2a6e GIT binary patch literal 460 zcmV;-0WWe#+t9hZXD&j1jg`jC1(%2xhc% zJ8kYG4B`%k$mN2weh+QWdgl-xbg-$2$)zDHtjL-Xh6X)Ul(3SlFq%yRgO1>dC#7!< z!kBuA>X85Z`W@jwJq$s2|FvPJ=7jQ6Q{O2_=9&WRh#MHcOwbjK#f*zN*tR2)dm|7i zp$^o-MbMRwjlIZ|o5OlqH13JJE@U@23_ciQanIb&IJSs!xncRN?cr{@$XF5Po z$w@Ze0ed){+drdCRD^_5PwEN+aSAR@^=a(Mu)Z-fQFWf0NAK#rHx`oXC`=;leOH6& zk3KMb1I&`y_#$A3QJX~#`Lnr=GEu`lJi-7Ddun0v8-q1&QNfAKL30bM<+_6CQ;?^K&A9 zJlBkqm>^(EIs9yaJ36B#f$t47=?o(A5S{p13(mWbZm`y*ZZZy};UC(8#K82yM}`l8 z32JDg?_m>BW9rN%2l=tY;x1eT2RMPlo=VvK!f1`#Wbi=dzT*C<3QUqJ#ZU)=Z&q|j_*+!CmSi`k)>eSiq!!X26O^zI&>&&6W@~)WW1|c$%J== zj2rUp~l2_%zh?xGb46HrEr`>e!d8MdDd8GGuX5Bg<3ng!Y4V zb7W|-{i|9pa;lM8HRQXj3BRW+$amHY{wr7WzPzUS8P=$1geS=J6wwc7CJoCPq4nuF Sl8br2?SBAj6JfVW0ssKNg_w^3 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_82fe57f.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_82fe57f.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6081e3cae3890ad11c32facd22de2f6f045e698e GIT binary patch literal 337 zcmV-X0j~ZZiwFP!00002|6P&MZo)7OMSsQ0OSh?NVVkB6iM{R%ctWVk8iz(p6O=d% zhWPh6g~FIrsdjwNb#$|lYt+W6Mz!i7Qm|qs>VO&px)y60g51~Igh;h0Me7}*Bi0N@ z6?`B8bqGTXhOh@6d=C<=$@7;-_}mjlSVUgLdb33blD}*WUJp!!fRuv!Z{-6UDbzAq zf~~X(!Dw*)4B?J<#0pHm@qyq0WQ69lzX(#v*qNdNzBBu+y^1i0B@c=c3hTd2{{LW# z#R{5g*m{>$_fXd`f6o?7kCWw!)msxgmx_zx+*h2;w-2gmeahiHzm=SiB@9u_4#!gT zNRlf-hAfWZ2_8t-c0Q|?2Z0v*Q?}id4UOWeA;008aCga^TkBg%#yc^a9Lv9;9JvlP jUAY_N^%m)#MkeJKx+vLvQ@3d^kv;$X-#@XY)d#GsD|e+SPpYFvZB#*6A)zx^n2u;DTJoWg^1nZS z1AGy~kea~;Xnl`Vbq(x07Ruhrw}0t1mB1dlAcU_q!Y;ogRh=_zy#q7N5`aZMQ!7s} z_ztuyp_Wf0s?kkj-2wL6yhNhtlthBQMt21U5a!p5+M5WyyL^<<9sn?%8_1Qk893TxxR~ zSL%qY<)qkhgYzCLk+d_lkA2@x3L8A07qxyXNL$Kj$G(*_N=bh#8-crB6c)Gajv*|fqXXkqSKK=*xzk*wU0{{RDqU(A9 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_84e1d22.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_84e1d22.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..88dc37ade2e0683d7c9a128276ce585cae8f21b3 GIT binary patch literal 343 zcmV-d0jT~TiwFP!00002|5cGsOT;h`#lOmsOI2#?KU`eUgMzF_h1G*d$+pu?FwLyV zbah$!-A!9-yO6`=&HGKln~hv!scn%Jd9fF@Gh!}Mhb20+Ii{YSw(FEN8%#wkam)%TV>H4(W=}kTzG;y59E!4OV^l>O2h8MW`~SO{f`v{+AN2hH}XvJ~2OQ p;wdNxPGQL-cYw?e5p_8*b-Te4TK-)}@}~J{egXJV%okAt000`~o%;X) literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_86ddb46.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_86ddb46.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..9745335c6374f65ccdeefd8ef56543f6b7cbf567 GIT binary patch literal 317 zcmV-D0mA+tiwFP!00002|BaE|YQr!Lg}husXyF2)FMEH7q`9b{!) z33>Oa>rWbX(>vKdpLBHG>QA&Tn9@|HR~>n^Q3atz!cbwshZarY(i`fp7u^;rQ&kL% zfkk({&fyigqmY29L$HzH`~of{*3v2Euv#x+cVJAgO)~W!C5$z+HvWnd?rN>pKtn-YN)TSRY)gWuB6g&2Ko1&6OS*VUj<$JHt zV{;0+UP)7Dq$)YKQnPrNpqcWq((GbTo8^$*!urD2XnABO$kP<5*B7Qc{?rI<&&QE` P9zKR<qHWL;?T+J<^q- literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_889ba3d.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_889ba3d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6e88ade0eeed1ac6cd6844f64af421c508ce1b0c GIT binary patch literal 316 zcmV-C0mJ?uiwFP!00002|BaE|YQr!Lg}jE%C3F@hV*iXMR9Nt#MN_!+hWhIjxloy^Vqgp` zy6bfgFUTE*1WX-*jRfZxa3QglPAP}gdI`G&V}fmxsrNt`;5PUqMSwm=u zSyM5AHzah8HVC=|3E#2~3_VB#6JvY(0EZKyhrQ?b64+JTFN0B}tpSG=obf;|j2=|+ zVcI~Gi#DDlPXqSc8(l%w(tBVa&1vXp^5DZ^ETd0AH?4I9Hy}OaP&(T{tgAuLf|O%_v+OIiB`w}S@#5Jm>kSc#xt zk~!?7bw#dh81lYtoR%Nk)P+)j01%aErsL?7;iz1lHJ`7glZAQWuPJ zvMpo6pQ}Z3p|(m68xh&2kFTZjqO7o_S-FrrE+y67MH7Z^&Z7Nvot4{7|JnZnm@TlZ Hi2?usmlCQy literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_89c058c.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_89c058c.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b6f292bc3dc3925fc3a0128de98caf937c3f249a GIT binary patch literal 505 zcmV|4F4x%J47NSjPF=5cys+82e%`s6cq|h-C z2I7($Y2XLHL4kLfAXB(NoDaxpaUnPV;)$%Y2vScA&* zE^S#V@RxWWcNzAv0L7DA)iIbg2IImOVltRGmI;-q-Bu5SRu#|mV_5?)y~{Uuh{1D% zWgJ;HPnxeb3^njIChlPD)dtDwYg|G`Jo(&nOx-`q4OJ1|u|KTArZ~VXDWh`lW)1L- z@!eRLdw7N=93ZFx7cl#-l6PSyVTW$p(*nAu4-$^@UhzfcJjs82%)X>pXo}BI`4z02 z+W4F5D8a(>C$P=A=q*kC*Wk99Kd2u@)^40zD4r;qE&YbcR=JiX*QHe_w~5cRp%W v&t5E^j&jPWE7qf>JNAHde=+_13YGdx+^N^gc7nb?u8w~IhV0*Rumb=9MlJ0d literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_8a2c424.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_8a2c424.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..94df89382ebc66484153014b8a5f2c24985032b7 GIT binary patch literal 368 zcmV-$0gwJ4iwFP!00002|80>62Ga?HqUaIpGD=3*oo9rL7uFn6urkLl^FQ#T8TtRXPGQV z-Oygbdn^Ir2TetwEjvI9c$;lE@YOH{*oS!75U8!8`FtdQf<+LRUd zmI2Vz*aYyzmA8}whRGQp#RR#EJz?GqiUc%wXdFUNXpE~ty0QUxWB+loj^{45$1+Sc zaR`>`-awy9=NTT_3uaJwcY=k-9D~w}C1lIt>36GpNK<%ug~RGN8yr>%JSDI`j)JZ+ zlPwg*S1blmw?D>^YUlGzx~k1-yGcZ$4U-RIcfKUzM2xW#tl7{sM-hi;rE;zEa290f zbcd%Pr57<*Px!6Q3EwsSMBrm@`Savs#KM_h~67fh}2_^9&LrGdwIo*(#qLDzUNBBf*V3h z3|z(u{O`3<0i=bQ0=0K7yx}KwlA3X$;9Z&?Ljr$~2YC4;4Dc9OK7oe@!F8Prnz*Q; z@_lGxIO%t^o0HT?g0l?s9u;Uy?nezcYh%D8_1-d#k9vL5R+`%>kBfIy3Fx+Sp5PDg z@p85vd8uS*bd3M#=AD7@$lR&%Z`9zY|DP_QTKC61Q7d+|CAy9rS8$1>a}W zxnY`JEfnzdU1G7hk-3|h(&M#VnRz}u4_|b%_De_u0045H)inSB literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_8de33bc.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_8de33bc.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6367a86eff96bff45798297cf7a136e048b47b75 GIT binary patch literal 443 zcmV;s0Yv^EiwFP!00002|8oj9 zkqn8NYXo`sNsXO2jeDcS@Bc;8bcfH>D$`U=-RwnhTC7Fks3k|HrUISAp{UXGj}$$& zzh0DQUx-Z9)-V~4{8c)KpYaM1j5Qxk&{}y3|4;`4W!M55cs0)9;WPXlm^?iBSV#_k zB*B#(w87M@tN}7UxJa|axAw|(fu~12pzd+-;E01W)ByU~tB-ATpi%M)JHlo-5g8~R zr7;O!qSm&D+I9ojqxKyqWBJmhci8zkV^ZDJPX@o|)A4YV+5zhzm?nJ}YHlM*(4qIS z3zp7?XPLTDams4fS;z1pohxXa-NDLXgI=mt4pn|N$(!;PiUPiUhfTR%1U6*`pE9`L zp26{A5noA)qgkEc@w^PD-X=1|%O%b_Kcc6LJZ@cYT~pOIq{Vyql8IJnCg;U^f5^m+ z7-J+@v8JWP6cIvGOPds%y&z4y;||L*nyV&8727VxOfQSO9aGxYnATCO?+)4A1Sbzk lEuTFuBwsHj@_y2U^aq?pPvh~dEbk86!+$rciJq_n0034`*1Z4# literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_8e96453.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_8e96453.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..f15e63238b6105e7af58aface92a55228f682212 GIT binary patch literal 314 zcmV-A0mc3wiwFP!00002|80>$Yr`-Mh5w51CEEx|)2=WI+iC2)OHX42HI{3GV+UK= zR!aW+9NH`m?DnLmPZrM|9!VJ|YuU)N=z|qIQ3g^J$Td{*sUumM_+~wFDRR+x$K*Io zU7H2G5>sf6BQOdOzR>nb#w68cpsKcTI59=o$MjqQ?-(N(_cx4A!jU-D2k$MR114*Y zJHpBL<5t%6&tB7ZJ}^80MyNpr-$E8pV$>!ppf0W#-c{>jz1iGDS;F%RaOi32PL4tw z7gnaz89rP3DTHqyWZn3F%;9mH3uSDIAd202$VE$xNeMP=Y0gO`3tglAIQMZDWU0Lb zsjIZo$fRoaUD8ZHHvy-H^$oJ|PV81gev9HnYEnFt3*>2u=*`6R<7dp!{#wptwHiK$ MU!c3GOCbUP0LUMbs{jB1 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_8efe574.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_8efe574.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8612170b451fd140ec959b9fda4cc06229cfc453 GIT binary patch literal 523 zcmV+m0`&bKiwFP!00002|8-K$ZWA#OewC3g1+?rYg|uoUxD|;rR2&eB9Pez_s()7Y zm=Hyg@)}6+a(NQQyG^nIdaz{A`1_fkPOh-gu3prt-ij2An2Rc4g8`kw$|bwRP#Fwe zB?_UuBXq=na-@V$)_ZEr1}I1uHEHi6ERoiT4ruM+yEF+oBqP?~9Y|=TA|Fbay@ln5 zIQJ0QLJ6N+giH!eaw-#nj*v2pJQ(dz2G-H6A3AR&;f2oN^Fk1&a_;(=yFKMzPfy6(G4!4`)*HXt z3@vo*aOfk~7u)P7+db@m4LuxnkWC-RO$kk@9 z@fc3C`FHL;{Rft}J|HWzlcBK%s20^D_(aT%@I^oB4r?u;pNPRc!v7gAc?s7()C-kI zD&}{0g=n(o57#HZUq{&!xpzw=F>Ib7UVm=6aF}E zH@}Qmy{ec`cEuPckFXXSI>Rm?)4wq7na`>PWueMABD~oH#fU) NyFWh?_R`%00069N`Ii6y literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_906dd1a.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_906dd1a.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..7a105c843a00521c7107f63f49b0ff548a39e3c2 GIT binary patch literal 425 zcmV;a0apGWiwFP!00002|6P*NZrd;nMStZ^FWCmeZnuY`20CE-gaLgRhQW|6I@Tgf zfkZV60{{D{##x%ZiQ+vJFR8uW(rCTu%wSF`N2glVL>eiQAE*iaZyLBslipFIDm4Vp zoRDbF@-a-i)tJni@Ys z#vpC&bxKksk@ztfvme+7DI2$W7JJ~ZGUDO*wo)$x7*XR1C(OZ6i_JEeO@(bF+O-(9OH|1;X3Oo>LWQLarwsai)F03^c>1!I zSlJszCB2E@-G5RnvbaNtrW-;oyL))7)My=3OsYLCm70mQoD^GjblI(vg!aP}it6V{ zk)!#%`srQ@S|g{9!(PrzfBt<530)X;nTu-gmg+62FWf{UU%4CP;TD-bUzl7z&J}uI T!z=l?{9673D~m91&jJ7dU~R}X literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_909acf6.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_909acf6.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..73eaf54fbecf1a760930d0b8e63dc182af552f56 GIT binary patch literal 396 zcmV;70dxKziwFP!00002|5Z{!Zrd;r{K|kA+XW%TNQ0yT(n}A0K~6y+(9+6eE0F@Z zvLgukdq`V}mD}#@%+3K=2*f=ZU zi3finD(}^ZvtgY&!_=X19;7Obc#0okELhXBF@x!P7w`E26;Pt_uEWNwS_N%38R829 zqcK6_8B=ujt+7R{&SZ|73+(S6BxZ?&3So^uUC(r93JnbXiUrG zgD9q1ijG*tO0eOUZaIlKQnu1A@m?oEEp^u*^**jNb*xHueXN<@R{=+$b(Kn~h~jRR qYpMEFYHIkV{3dz)F46a&njw9No9Ja}Z^~cu+x!8WlyxYf0ssKGN5OXh literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_90ca681.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_90ca681.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..e5c530e4268b78be906554c5fe88216f9fc5b013 GIT binary patch literal 438 zcmV;n0ZINJiwFP!00002|7}vij?*v@{go$Q3Mfii!2u#IhrR5H)3T?kiX3Osn04&R zb|@jrzcWtTZ42D|#_zp(_RK-LAv-yO2j1=$^xLb}V{gdp!s_dk|Q5%DL(53++ zrn&kDsfc68p+Hh~c%>0K+*!nq&dp;dBWg0v?m5T_p5s1|B`=K`GcL1%VuzYA1ZoEZ z&a7mlz4Q7vy_x6G{UJT`17tvj*1H}nFB=&;y~@FV5+Yh1Iy_*D30C%0V)adWqwOj~ zaD!K=;uOhLn6oSEQHF5KG4hrEqI~D<@&BCNP4~y~c_DC$Dqr6FE|oL1c=(DoKgr*t zC=#Bqq$#oOmz=u{$(C`=iTHa`(;a3W`qBBOQf^3d|FX_Rt4$;yL^;iw=qXA*iKwHY z%U%e+kXCgrv9^;SL;Y!Ox(yrZhEG*=2R=vo^|nq7jpGSuXGOW5vsFIp*#$Zc|CE#%~38W?2zmVwerxTfx4)PP{@=dMOM0-=R93Q=TwKP|D_C9Zv1le9IuN;Y11%~ZGe9|gU zjtXmdh8u@k^j-h4lSaSSQ~9=p8s!^Y{~K U+NLMwp#HA^0j%HKj-3Jk0G}GJO8@`> literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_964f954.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_964f954.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..72f7e30f0d3eb2d764a670d2be80ea1b54eb6fe1 GIT binary patch literal 370 zcmV-&0ge72iwFP!00002|5cGsYuqpp#lOl!mu-u&cU#gfh7{UMPrWs#5X{6HMFRaX zlH4RL{_c_1Nu0gS%zHnL{br&ER>sRgj`AetXhko&$ciKTkvl)TdyZY2T_+kb2A|pI zVkv_bzof)Gfvkne>=J?kc~Fe>+~UU(_s^LVZc^FN;*a^y{#~!$Gt`uktm80c6Fga{ z*^jkE4sbMqY1C(L9T3(}D%iF?YhE8~VcZmA#ure+02PD7E|R3A&8|iHfs~<4(zwPg zPVnTo$L=phYy7UkBbx`EdmQ%r21~O!ep5;p`lb9YhB<%Kug>}%hPFiYscvkbaQzdi zT|J-Cb+tcyy=qIek0Huo40BEQ`>_$q*vv7B{oWR z6MA9@7fSe!1j?U45k+^*gb*V1){Xk6l#}xVDA0&A%!+IY^_LwSPlO2`6Wgq8#3 z|NHw7!4biP>~#rlnnNV`1S&xXCWZ-$sI*Gf6(v)A;tpN1@D4b%Czr|9@EB zBor6Pc6TT*?6y7>AEByPpnL;Y?lxFizk@O%uu*ZH(gymUmAv}r5Ov2BTDQNir7&(J zj7c=-MT!YYaU{smh}(4tE-U^(STXHc@GhtAbZpIXPIJ^zm^mi=c|9pk#?Y&E+oIVm r@|LDvSQZVvvhFB#eb2EEFQmL4+AHhvn%+hLiwFP!00002|8-NrZrd;n{S`u&wu53@35qSjw!>~c3@El?mthDLn~DV} zQXtVyh9Lhw%5fT}NP!#}lJAl4S={P18ta>7Q#S|EMJE=bjA$^Tud(#qW`(h|{)hH! zEQJ(x@PwYYZAcdI8>2NA6P&tXXQ{OwVy;TCzII)*F9?ZrBnh}bC(t(%jKjTMIfM`! zj1n3&x^rax8Yn;o*5p3ueA;52=QIVVPmi$rM?CVIPPT?F>Ac9ZP6?>RVG-HK{Z!CQ zk^g0?`>-V&ymk)|OrMP>A-_0W7K1J@ov(8r>v0YuQWrf?>@csCQES%V&!TN&rEkej zv-{GZS-x(;*;gkD_!&S|Z%Lq!sHu<8hWpq#G?crsi&bB+9wBZk4vl)e1= zh3(92pHGYR45M{i*s&05wZ9lQ=Hix!FBnt)1a`9xtnCBn1WPb6Y~U{HMyJ-^6&Dxp z6|c>|Y4reQ+1od+&WriHudCbj@0!};`KfQ273%S3lj`yB&KNcrCK&C~b(w*;aSR(l z`0elbi7xBV<>#+vQz?vf#D0jy;V8uhNpmE~lEce=2rg+~w;}iaIS6#PIUP`|nA0{K zEh%g{Cftt>ixV!?IzK_NsE%?B)n{ajhAzk}i28VqX=i89Dj&_HKbi}6bV=7V^W)#+ Mf5V2nxF-Yv04^T>lmGw# literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_9e3fcbb.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_9e3fcbb.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..9d80f0a6c4509e23f188f19e35a719e3a90c49b9 GIT binary patch literal 789 zcmV+w1M2)AiwFP!00002|HV~HZrd;ry~;q_%8KPUDd3HRAd9v@gEUDI1Vs_hBxNy{ zNR_1G7=eM_pqs9`>n(boT%cFzP_nEKtiY>uA%UNH^M*5z!;H*%BqY0Ils$R5PP~bC zAf&M*Nr)9n9(cY-m9$)1+G3E;Ega7h?3u>c`qrE(3KR`;CR06yh{F5t=%jgyP> zi;s}WEQO74&>P%oE@6gWcm0-V^yq$svF)mJv&+ket4p{yy0AUjEDn^OA5;csTqK|fkDb67x1@sku#5$b5l54paRVvWbI#!6(tuPJR@_#5%oT-H zw3;WJ7`~hK#8Cur6B9(6;s{f?5jHM{K2!l^gf37q5Qzk-iRNI)!efyR+mDH>puO)?))p(amp3Cao!Cs2|U z^k9$~>vA3A$&eGPxvo<7HHNk$5|5_<1?2apSN9Jgk7OMb|*rg4@7R9}ur-jXTZT zrwvELK3t2hOBcQ!_u-t}YT#`-tC6E&Z=@*38i-PB;|_;?Idw9tfoJ8cfgB(9F*@WR Td=Wcde_j6rgXYzF5(xkR3xszK literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_9ff429b.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_9ff429b.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a78adb81f32803c7c33146e5f98b8a005822cecb GIT binary patch literal 379 zcmV->0fhb^iwFP!00002|9z6tPU|oXhF`_XP0u;1+A{${OoA%}PrwyIm6y6ST5C_S z3ry4AowRK0cEg<$|KINV6|P2jq!eZ6x-?A+3oks6A`o=S`nw`E|XsN_vcmpdOL?*Xuv)NCRCxt4*~=)eJ>2bs4rk~a}BGlk;03n`2{?O58`u5nn|iT zM6w~Wg2iF7M&3>>ps%2&5Excs?Ex$x^c#r={{R&#XrlCxMXXWVkQM0|tOnu<`6*}% z_wbt8z?kKb8ODup_I40;xTce4g{qS#%3w)S74zNyob2)w^cTt!?jNARPU$#y716I# zbDsP&G5IQstbg%6M~~j)ixer3PlWlDa5q`001(IxuF06 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_a0c535e.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_a0c535e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ee2d53dcd72bf7af1dd0c15ac603882a30d91e5e GIT binary patch literal 519 zcmV+i0{HzOiwFP!00002|8-KqiWD&r{gon@RcX3+8BrO~MG(QG>@FTehD=hKj$~53 zNyXV=81OgzJ-@_C_YAXr5OPSudsVMqy+Lo#`DjI!qW1cCJLjo?;h? zhE6rgP-KiOsQS~wC&CPoxc6}bI$B7`CB+OS+FBTG3yTG;_bj-FEZthT?|lY2C8H|= zc0ESeQ-O$Rfe8kkGiW&XhD=)&P{Ib*g-58R`1ki82BQ;B1w2D4(wCCFHIHvJ=zn2u z;m*r2P!&V3=e7MNYEg_p4qm*3_a83Go3Yi-hX8BoqLci|ByhhU@XjPZNEbI^M#a)` zRQbHTOo>ke8lEPb%ozuo9JAhyR&xt}J5XYH1tM?-F3}dQlD0bc{;GvlTh)ueuA6CW z;q%9@GGI?7*vXSG@UvvD?!s*gG+@$9=@!0?;s(muuY-8GmyJ~MdF0l$oGcR2Ym^F3 zyfiusY?@2J(jZloOdg?TAyKH#v2YDpl#8xg31Rf324e0;!pGv1=$0()DA|>vQsZ=U z{kl=k2ga1u@^EaFSfu5q*mJ;B-jw|7XnLxk?+1kew^JJX8!70m+*T~OMln8}Q!1}O zMpp@Hd3|i2^Yoe4qvH#0MtL)*^ouj6)I48E52xpa`R;#Arynmo+2D-z_WJna_z$JA JRzR5p006y&`-uPm literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_a28df89.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_a28df89.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ab90dbb7799257d7fcf4efe8db90ea2e4fd24ea1 GIT binary patch literal 328 zcmV-O0k{4iiwFP!00002|6P&WPQpMChF|5+-k@gFihu|S-ueKBD?*yJozhL(-DY=C z3E|zHmLlTS&f)*&w5{1uXHb%pr}HEjd+M<=!zl7EK>Y z@ZLS>Rj^D=#K!>+k*SRd#?zVjOcCoSeGg%3<3GBU^}l>5vfS^x3(Tfkm9}OIQ7w-rtr}t@mSW2_T`r^~ zVO(DMPPI8Is;N02uo_E2TZomhZ^dT%{ynU?wa-nruv$Kz^k2|ixQcq=z}+D8Tcny? an0@yTS7<%BS8{RMo_+v7J}Cwi0ssIWiJ24t literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_a2e8182.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_a2e8182.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6cd8755a29ed3d6abd9896e66b09612d3148b547 GIT binary patch literal 544 zcmV+*0^j`~iwFP!00002|CLkAuG%mV{gqKR7f=*PX%|Imx7}C0tExgK850Y~j_h$E zLP-6Heqq0)<2(p(*<2|LJ2U4oCz(dg9%#C*^U9N#?`d_KS<<51Xuf-hgAjm3hGPZ)XWj@Fgi!iKna`Nup>q|(G4$%aQwY9zs@ zgcNBU7c=34Fhyl!*Uxi;8tZ;pt^U+d{-|lx$X)^cE;aT!oS* i+#TfeJ)~NXm=G6!0=*8`37O}YUzh)t7k3?u1ONaW*!&j& literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_a3f1044.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_a3f1044.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..5d2929f90464cdb2882bb1d75668ab85f3b4a873 GIT binary patch literal 803 zcmV+;1Kj){iwFP!00002|J7B|YTGar{gsOuBps@gwv3gq4%&=D_plANK9!Ox_H`_f zB~Ox@g%Ie6Y(Lj8*_ACPag(rzJ@qNFbkDixT-_U$e1@4&=_F0kWmFj%jiQ0U3=OIT z2U(>OC$t(Q+`6$YN^ZE*W)QI`(aNE66yH6IVNBn^;gQP}dMN(VZFZtXx=+L4l+k>XaH$JPh6^Tx~wu0!$>++=GP z!mDg$F%Zt5*qThJvU1I((8kuCOeHqkF??(5^M&fOOWY~nzu4EorsPA2v$5JgG1 z2XBE}m_TNz+C9TlZu4GD;fl&fMKu;K;0~4`(h;1nrml_V-lY@?_83UM-uhlpx*n`p zK%8|Ed_D$2=??vMC8d|KFG)=g7a!r_&C)O9wT%^ooz}(bfkB@$m>&7~ zY20b%K0jh`Ky919t2wA`#NR_Z6xaVVX)fmu3??WZ(XNMt<|Q;1S1BF4$|%pGs$xq1 zd?PFEd`mux6jQd2ChCwPZF}zRbxP($$;V63`hXT23lsrHE zHe!~CCVzhVHUu5Wc^8tOwV2Ak)Em%k_}m~* hhKHb`e#h-FZ&+UbHFOEzov-d!e*txZ3$CdM0050Xg`xle literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_a4fc7fa.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_a4fc7fa.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6ac4da399cd309e05ce8c791102d4bb1fda5370b GIT binary patch literal 432 zcmV;h0Z;xPiwFP!00002|8{!$54K~KrWnI;KHIP+>$_X1JbQR{BNbmAD)BpGX)=yY* zu2NNb$LLrpPc}06>$|ma2;E@W^cG=)0~iMZIb?9X`VH$HV}Sc0#|lBH<5WBFlLR{5 z_r`62TZApnaLkRNz_Sq8$0b8hc_IwGcXdRbwH@#S2q?F#XCedB^`01hfDTYXL%xHA zbge^cl1w~KOew@O3z%#$er>yuGIJRbEN&X aFhlIiBXob59?9GBaeN0f_B_}#0{{T+G|+4S literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_a863361.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_a863361.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3c65f87accb4041536616aca3fb900a3f9cbf524 GIT binary patch literal 976 zcmV;>126m^iwFP!00002|E*TdZreBzewC>Xt+TM@pYEc&hLgo&+e0rcP`HO8FbqZ- zMTBWmAgQ>9VIZ$jpnbVKNr$9p$%!5G&_fbRyZ{DwOw09R#I(XQ!?6czqt9A4ziq{Fd__QmMaNGt?8|XTy10ud|fGR z;SXR2mQZN5hF6;9%#{393d=NV=v~(`cZI;b4}VS;7cd;c|2JJS^K*pq07D{%9aHB|eY%-HM{Qx@2&lJ{)e4O5Y!YFDp`mSpf%wi4^ z|8eE1<0BD~6Qs9Pn*x3bu1}Mm%vjCk?G;tA=^&B%oGDS4 z?8Gzqh6KS=Iv5kZiila0a3~uw`S1s!Zm_hqZHu15drR}hZHN0pQMy;H39|^a&Qni$ z3&sVBdY&_+*S)oYQnEE^BNu*Lc>|IfdZ5G6j$E3G>(HoAG)p|QvH5h`w12Jg+D*#2 zg3J%p!n@SfKsU|I74?{#DK#Jyj+9Jg8skhUB{y8%s4Sp&xQ)Tu@bYCic0F3a!Z34{VtY8Xo-bwp+}H^jv?jih^gIw04?Zq^VlNC<44d*g!*YP;Bt_=N#1fC yPxxc9(ckA1(NSl^azgibJUWL~s{yraKu%~G+BP1uy!mUt*#88bW)O012><}Z)ZP^U literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_a912c88.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_a912c88.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8f8585499aa68f41cde0a9642f938a32fc94536d GIT binary patch literal 527 zcmV+q0`UDGiwFP!00002|5a1VuG2sa{S_;l+oCAB6$n9>AhBVAgt!ZYP~>Es&d|v? znwhjjRV99d-{VX0B}iA^L!bZ%Gqixso3~JpQF1RqN*C~*2heyR z!3@z@6GvzV*F?h(qQ(d&EM(($H}!vi{s!nh_vE7ywZI)|J{BUIaM#Y@XsiXamX9#< z;P1qFK}i`7bT3w8AO(UU6SV-ODteD2aGP8OSfxzTv?jzguul#jy7m+Y?~?PH*^=N} zK@m3kQb>mOO%q6upO!Ype(K_2lvJ-r_=*aHHq!(Kr?8W$qXi=+a6e5$9Z*s`N{vaU zceXFx6!3u{44#tTL2R0sB64#sl?>RDOdXwq4vpv;hqWbWSjm1&*RzlC3NSzgt>+G& z{M^`6aWg$v{xa=mB`ex4d&-xWEmXzT>KabdI975>VLlWyEjB&K4Xvu;>LiKf335?d zCs0{JQ50}aKRL-GdsQ_&q^sOKzsr})4B7T{&a;jpN|Z$tE#04OCXeVE%?bJAl#!)w zzHGe_Rih-TBKHzU`u%Y6lCs=j@}6y<&-pzWFI-J+ym22W?;k1p^@TH}&*DaUS^nOb Ro6Y&>`9BZF5plNz001Vc`2YX_ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_a9d25f2.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_a9d25f2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..1ece5477b5933bf2b6f58ac06936aaae4353f6f2 GIT binary patch literal 321 zcmV-H0lxkpiwFP!00002|DBP`PQx$|MSo@FO#wwo144pGWy2pJbyZc-)R{C!jwiAw zEmf3%$0>bKmh9$n&$WHs;g)LSs?1}w&f~B;mYG0%JlfCJCFB} zWw3a=T*PB~*-pgY{WMEsJbU(4skxsLdd?G78!P04DuyvpEeXa-i4jZZ1XWz1(+y9m z)u6~y`x9`JM?+J^sub>GE%bE>KDL%MieaaU`I!6$@ys<;%ayx9UT=}+>CE)gpIo8k TslAeUKCZ`a!PX9JHUaFW{~X1ikiDG=)z&gc3Uz zR3c=hGDWvTMWhPK5>-1Cvh7oP&c|_03!=eVX$^M>4lBDt*=3|{X{m;>6Nr$K0jjF4 z3-B6*hb83BRuDTOg)dc{a$QPXSn1&kZYU5Z5dXr)^HOC=@!LF1qO>=-hQelMM!ocS1CY?+PZGFb}B!wTgfsC}Rh3}-dHR~mG4}iQeStnqy zATgk;l)+wYN%pDGg3U=IGpn7dNb42CO6UfC3LjC|d81)nqJgz__iW2rg%T?3*qo}? z_yAG_0ims#@-MPFL85NJhzb`Fe-$xohX~*QF!q!6*hg8F!{`@QX&>#iI*fns)!QR> zb~=%Cm69&wALeklU{{Ki6YV|v3#G4poHnht!#-_kGC1hT+Yc>ymWxJ*WWe`rEb1DK z9A`#NyS zc`y{A!APT;JQ+|1wq}R!zYz!1^*&$RfQV3o4!(m$5K6?>EcoPdwY-M1gr{d%&NG*+ zy)Z6dHEmWrf4=uY)zYW&`P=(~X=4dPWb4CFuntM&ijg6UQ#dRygp;iwuig&~Ep|WI zwN(~0Dpxi6KG%ewznSLNdMU<0*m^k>e?c*EEoz#%Gvx6cX;%}I#^h&cb82U@s)mo@ M8=*Oyb`b&q05c1aOaK4? literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_b66698d.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_b66698d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..47ca5ec6348a5f368c65216663a185fb36b5bd13 GIT binary patch literal 354 zcmV-o0iFIIiwFP!00002|6P&IZo)7OfM3PRrQ1}sW78&q#4bDV1ZW3@s?az~q%=W^ zOJS(*K6eE{ck|EpIg!1W->9uum8#WQw9$!$C?jf&=xZ!xjPg_}t92=IQ3p@xiIJgF zz-L5B2-3qJ2SLNo7~KRrqz=&obzuZj0WZ&U*qw;G>%>nNu(F2Y*V(qFdn-pbFj(y_KvHHVIdFq!}5vt2xSS&k8%E%cie@j zsyej8n%~}Yp{*l~Ni5ENE*d1skswPBFJ};3m%cV(fHr4=4x8~vX2$cZ;;5pq=a}$# zJsxK+)RJuQV)5MP_ny3J1~uKZi87xm=Jo2d!&z_A`jXzv*{t98zsI$iT6Y2f0HRN+ AyZ`_I literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_b6e1176.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_b6e1176.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..c6e9dcfbb59f6e6d2c6951ee151d3d439505c116 GIT binary patch literal 1182 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 AEC2ui literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_c147404.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_c147404.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4d86a638f1207d7e9a5695e5fd708439f3caadf6 GIT binary patch literal 324 zcmV-K0lWSmiwFP!00002|8ROv^h)Cs>}pvWRt`c!p~7Kv zS^Dl$x22tlH{@{mz61HuiBD9<$yzq@z*4Ym!K#1?1G)w)+IJ``6W_m*uodI1@s7|@ zrcTWg-jFb~#vvF5wDYhPHem!25b%i1=8v%1Q*JI}zOaN3vqd+7IRvB>Tm%Z~I7s7u zI>NM_4+J+LBGjOQZ=nc6il|LdLS3GobLEn?9ESB8stR6SeGb3&0V4n1crlE@V!Ll(yvSw0f3 z(SG1o2Zk2gW6t_6k2Eq@HTf>rgx{0=bHn;ZknxT!ZhJme#o5%TXf!XBr%OdYoSiiM W)F>@a+tGaP*ZmIx0Lsfh0ssKJzmwen literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_c3d93f5.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_c3d93f5.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..d2d8e4662dfcf90e1d5c2d61c5a2d46db7a9cc03 GIT binary patch literal 564 zcmV-40?Yj$iwFP!00002|CLisZyGTW{VSur1gecGp-ok!9-^x1sY;}@Cxp=8o!xcu z+Q=VJg!aF8ybA%MCT(x_%zHEAH-2lZs8ps{6tdW7(dlfOjU1Ka$VeKY-x)bVtw&j& zNoxX`zz7ZqxZ9!%(4g7D+Sx{V@&aye-otVi$iw%VfN@YpBZIOAln1XGrO`pK5IDVz zN(W`&p{I)kx9@ zo!y$eo9QfEAy4AC1)Ac30Uikr+*Oq$PScl!7VyI>Q*{aFa3|ma{V{?m0_gj56&scb zwu(DB3elPFwT`^i8}4+N5;mwK3w5NW5~_!KY>1U8h})`WZC!vj3Accfxp3vMKwqmX z0lX8IVHQ2PIeY@_cCtv)4Q7CAB~r!<>4+aP5JC)d@Ds6&az){JT%%kG8GWz~xyL9a zdH=aaV@L~6rufEp{x2O|z6y^FrE~d^Nrq=UK^~;2E;%zRk0S0`e&f zifzyvFXJ#8S=)q}?K9HU^scPOTu&8zS_Hf1bD&=bxAH|>iOE9Q^lh7;)9}cusSGF9 z1?Al(rJfu)F>U)A&2{&GPwY#xT-2I;{A;oPSNx&c{V{PW_u;mkx4!|#9&?b#1ONbN C?i1($ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_c5779e4.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_c5779e4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..d36b79c01c2e659dc327f5384b9c1d323c0ebf4e GIT binary patch literal 509 zcmVfaaNnQv#O!X0Hwr<*iM+n}~ZFb`r&8ClW^#b*1H z5{^r(7MiUh7YAXG7|oAoarIvgwdK7W7z z5ir<9Lj8SU^O(K9@z6?IYC*b}KCgFhxv7g3EOBkM$3$zffrH{4_+UUWl@1 zHHnzv7|YSmN*KbG6%9E zT&+b})cZNirc;?yT?muUqg_+61iRsN&wn(w7{d4jHi64eJ!r&cRaIoK(b0Gk!sDB^ zPv{=k6NqD<*23M@?c#{=?dy-l@&#deb$25|7(`sJzTB^tix&v!WMdA-rkljnerY~l zgh8eX`F0n~+b#@BVw6+BiVHehsz9Qslic{!hc=*s%3<;HnN(G&oHlGKIWzq_Ur4zt zOoIN)g88%y|99ijoKwap^O@!1+>*aPdTPJ7C)4U#o}9B;x9JPt literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_ca52e48.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_ca52e48.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..37576d8420f6954c0c20dd685bec415613c7158b GIT binary patch literal 2471 zcmV;Y30U?YiwFP!00002|Fu}_Zrer{ewBg#NG@pFQZ7gYxQjH&Vv9}d#oBFA1c5Ok zhvuv)jxaN{A{Ykp8Vl^cT%KgVGZ)@u)$SGr5V*_uzs0s|q^JM0%aFANVF=7s7gp zS;dWEvNo2(Hzr|52xd#cF1;jKUo(Yg-5zN0SE@RV6ue^6Fql&)y@p~E8naw%Y#&2a+v6b*%f|!+nJg*8=v;&vXORZGoO_^M8l(y^} z#tpk-g;r}e)ja2>l+%&%T`|%$<6avU~hLIbk2vwf9(|s!DAUktMz6UIA|iy;#wUg=5L+XRr&8 zr}Q{?U*>`6Qf`*)Z7H%FrW)(SzsYYY2l5zUW|hl^EyYb#NGgi6GDaesP#-d9JJqn8 zT5bQrE?_b!d@8bB)nC8-+p-ewB-v84Qc((q=%(zg)LBz;&Dy#&U>3~W$jycbE_cX| zHp#@##Hd^riSbKjK?^|}EeyHcJFBU^6&oZtjIzDrK$cJ?EvSt3bwjn5vhNFLjsOX2 z%yZ-d^#QH8R~$zf0Yj-9xFqA9%#2r6;v{6K*&MD@Xazw6RT1x0+De4omT;%j+{o*i z+eV8vk?;0Qyg!iDL9gW=!`V}^7YUK3NVJywZAf7D9*?nQ$vUf=oB|ZtW6_fOxi@Dd zAwk+mv@&AgvK}RHtY#_9lJr};u%cCxlJo-QPh@Snc=bJ*{~c8b?I7|xn=~}Dk1S(9eZe=d=2BXr`L+HEdi zXl2q!Ps$l#``&YIa)rGTqV5E{qlSU>r;kGUj@Q>B6tZ&^jiC^)*gvS|){W(E5bT^q zZJ|Y9wG|tS6}}@%RAqsYH*^CX?yJ+3s;P1er5oY$d9&-9%=v}{!}?!AxJGQrbjX2V z63Joa#b?<>!Azptom{dci5gD^WEYJr*$l>wrNG|*hTVOR4t>TVc$N}V5J zvvH+Pa#sq?6%@ccGUJw%+Lppi?a`===68eEX9ST2>)ZCfpA@Zsdf)(UuUE|}`;IE2 z;7tX86A0P2N>V35%*}4SQq|yXe*pX%TIt3E6be>jEXpT1lzOGdNjy#~s#6V-zV!r) zNAg>Y74|xROIG(3aPLXzA$k_=!L)6w3Pj*tnhJv*lu2JDf44) zje~cHw@^rmN}E9w7SYsXi@%4({2xPqUmLwD?Cz!~lq<9Ps2W zmii*;Z}EZRw1Ig0GKbBM*gw;j5#7fn3qVW<3Cr z{mezD(Cy5p(Z1q9N)Dse4k2if3F*O2n`jUI#hagn!q+m0JRQREeM zvKDRApb}M)?k_zpR}k}CFfxgA@d#0qMaY(RorLi}?B3FbN#Fgv>mL{-hl5&S9ZF4o z7F?dcJ72QDA&6+TJ{XSGkbh|Wlh3H}1VoU_+{c(Ij287)uq)Rv=i-QtEuQjk`GA(* zEv=G7*4JK!@p4Ji4Lh(cRo*QN*jsK%j}Aze*~tTX?EmlSv8ZY=Wm$)D+M zKX}MNJybHNfCb-!vKD!G(Nbm!v zLgNkn#L{OgBp06Xe(HAKrz@+P%8;|KU;a}KbpQJ0zpmUh z8@>%nDxV4j>;c*?X8uC&aWwZxaSgRf+sj7S+g&%pZuihvD#fk)R_XjILvrEbeSUiS zI++x*!s>1&%e(tzf-%YQYhtCXMDJ>Tf^R?l{tQ0S+&7$>KlE| zWKyZjt&5Z8>3!1Y<&m`%h3!}eEU$+w<+I4s&~1Om^iz23IOp>b>mst!6`JW-FT-Px z_2uHwvC*zjWIZXv%fOMmXOGDX9d}>e+x9~zZ?Tv^CNChaeR=2YhfdzJ=dTX=YERCC z{I8!sq7Rby7*&1T&AL6!_HQ;uXS_Ic#%4n-J70-SMw+M!J+A(;=^tjY+0id4rXS&zTB5QhRXwqFJGM=k|_LuK6X8}6E~RK l16i+L9<<+e_TzS1b<##-Y*_sB7x$m;{|6d?c>!D;008>`+HL>< literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_ca9d6f3.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_ca9d6f3.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8b3763b0372ae033c265cba6eb6d46f7af92db41 GIT binary patch literal 614 zcmV-s0-60EiwFP!00002|AkatZrd;nz6#-&beo|#>wY=|9k8ceV0|hIL$&Bgi!2!u zoy-UV>>9h?PBO|)Y8NfA7n>r#kD~dJ?&KC5<5Z<;bo1?-aUhIv7x^+KnLWB0m_tD7 zgBuh11`PfE{U=T-rBhIAV-;63d#B7GIS!4L1d)PqTd*dQ0Mm9p5WG$CYAR|Kq>@pa zl>q*NNDw64!V#Qou}slb4xK+>C}C3+Ig<=JRn7?OcV@=iFyxd2I&2Nb67FZ9mZW`H zqugU&h(+}5S%S_rh+>JGofCAt?g4&i z6Tys4>s?L8I~aTqt=Veg-t7>`Lmv?ihBR!El{sirYfu9xH#O@sfc1VCq3>WXZO@vT zg_5wHl)dQDaWe#~o@~;b{^0ovPOLGESJ%F`3Y3TFTlP*Gave!j8Z#xS&)NT{Y$Ya~ zX@;vsuk$oBsoDH`vMa$=aCCGq!KM3BJX&75hygK8oVq)HiN9e*ia?<$Odf_r?d<8#%VQ4t>;58Vg?AgAc0WW~a^F zeEN`Qjj@CwX65meXWV+pRz`*_o>x0#zjQSh$e{aUh8Ejt@%4ri8pT#czGIv4*X4)6 zC+lmOuFcBglrMSmLetpLOnXMTc}~&S7fzr495deGjao{rX06QU6WsSRrrAd{z zE2HYWQWHt?efZ1fTBTmT-a^_Br(v73^e zrs`j|M}9V-NgVy-GBwjVcK{B=ir{|JpE4 zh71RKdi)0~r=_z?*IA`KYQ#V+3Tq8+oFs;KU?SAeQ5fNdOlxBAZZwENQaq-H$ykPa zSeXs@G&V>DG)uUK`!7=F78?DGT~!5qSVLLn+-;?y*4g9Ll3!l|B>y!qp8Q(cjW9dz z<^Oa{_*c#udG;Z9H{~y2t7W3I_)*)C@=!ljh3eeE;+ER%4}}_$jYNta4|pEBl6T{6 zA2R6YUg3b_X(jqf^js@Z&0&(5@z1g0ydYGWn@CTVc*cw#?FO7d5Jk7SU8;jtWJJQ>GN#PAgXP zd^?TeD3!vXFjVAY34D`cjmiKM;EKUWU_jXfX0tgwZw+d=*Cdm`U4h_nkT)VVTnb1% zUIzj$9K{W*K|cS&)WpEbQnp;IU@IFdpleJmOCekMjav)OV9m;gw3tH3Q1LZpkSkdM zvb5-_4OR)OflFkiw)n1UG+CCZ8m@?eOL zd_gXim$$-1;u20Ff$s(srbs@iz9n|GYAWijUbt%SDQy(}2s5%ze+xIgWjcb)9dBRz z4=u9%V7miHvbKg-hFR=#Qt=fhfq`Y<8X8SqWCLc`09I=G z|GMxKO``-nczJ)Lc>#g#VA`N9X!zeBD|0Y1jkW`7qkTi{tk*W!_nGGHdc&%^Bza!d zlAg^6+mxkeoG6wtUGPa_Cr=y5xh~)e9$^Q9CUyan8>UJwCNZ?gSA|)??BqO#E)Er6 znbw2+#W;JXWMhW#xywJnGVu@d$ZE!r!_{ZV6N@^A>D1n+Lr3#t*!3Q4>`h;m*xMPE z9vXCI-q)z^rB&#<;1gaL-CsN+hC}BtwC)-g>|KmZSS{LityI}Em5p6^r>B>3l=ITA zjcBp!;)qrVqf=zKDRI9MBg!z57SfhI?jkI)@*A_55hc&)v^27&v%yW+q;xN3%Iug# zi<2%MB3TbCFgF1>f_xf7ig}M|?CuSq`@h$KygWdj^~id^Cj-oz7olLjQCE$@M-kz@MFWPu(9LRIsGh1^@uI8d3fL literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_d419d61.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_d419d61.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3c9426745f920b64139bd27caf9c665179cc75eb GIT binary patch literal 1092 zcmV-K1iSkmiwFP!00002|IJq2isLpEewBl7l0e4EWM_I|*ut>1Fwl#_&QeM#gJK=W z+OZ`g$;qTcU>~FVdix~(WXFHmo!*qfl8acPpC8})^CDF=q z#+G%;tF*TExbnF*-WR-zmQiZ7XYFCu&BpZ3vheIkP&X$jt99y?(U=mR3RNoaNa?*v zMVNNv4eVXTsmc`W6=3aN6ftdnSkv|x@IE-Oi|HZf9(ce_`%N_;rrRy)kTWbq0VWuz zq9CJ-Bk?n*wGU`a#;Tptq8MDkvoy}bG-ayTj@Wrs@`&O?t`Ll)+HqC`!PquJrFRXs z1+xHm$W@wy;Xqnw%9Q0LaRUy9$HpDo;ja|f`YPWL{AS{7jwms%5o zvSit*znFNBq_|eAA)qwn3bOlyp-Na$G6HZ3-Dx1Vux9&_QxH`?Px=6p2BuV6m37(1 zK35tOMWGy{0;F5emi>XDa=+UsxiNVwRKs-M?j(vuLiZWwYXmO}XPWf5My`Qy1_I4g zpKmCj49X)T1)8F*p(mt7*0z&-sKiP5sIcv@DBD%bzP37~^y^Y>Xepf*wd97Gg9_|( zBO#h{51q#xv22YgSZGLvNODe}0!6r3{_^Rwqi}GL5oA|{Jou2!fu=|8?by!aI2Ly2 z0Jk?vHdt+VO;`sjs%p$HWXaS)hPKo~;RHj?&wf;$s;rFl^fHKeqRg6-W>!eyay5%- zwW2PZa17gWYKo{WGPW@x(XJc5Z!O-^d_ix21a?@20&!t>^VxZ|GEN1e$t)Z?EzKcr zk$+#r;Lzgry7!RX%=~3kft&T3PRq&e06C)yDSrxFe^Cxc1wzi+eX#EZ{Nf^1O?SWE zH>DR}^7)xP4(o^xjrrWJ*Xw0p)=5*yfuL|lolaEo;Y?QeV1S8`E6M`&e3pA(xn#8x zm5TXUloj+#O}Uc7i`k+h6h^&g2Ni#GM$gYSo$kRhD7&OK%y&Z__BB7r)4dy(lCfA# z?D3?;0r`NQrgt&j(O$V4t19j_6kMWwBJs<&?p`Ia2%1;5=RNR zoDe?g>ioN2k4Kxy=*?twGa2=Xy&sxSLeKx{*CM|+wN1amy?W*M`pV_nZ$X+ywXQ?9 z4RWN?xksXJNU7T9IclzCQZyI$@4Zs!ecpnfl~!I;T3k#|Ezt=i$ip<~3K}w35O1p&Jj*oAvGK&(lAn KtUC>n3IG5&GdSP? literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_d52f749.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_d52f749.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4bb0291078946cdf4b00e6b2a6214c96448f4666 GIT binary patch literal 452 zcmV;#0XzO5iwFP!00002|5cJrkJB&^hX2aQmja5??XG~`NI`-NCxis-sj8|Wv1?0? zUD*>tRpq}kb`z4GI-Yr-`DorVo}@CaJ+@7I6@9Rx65Ak^4AM1niy`2J-)D>b5`}2I zBk71$Q?i5~w*b(AA=!a(Da>REyAM0~eIXg)HS(wuzM4OB5r9`2iUmylfV2ef(k~Kp zNR4JVB~O{;1zJPKJ5arAQc%KoXD>5<(<&3K=2MQ!Vy&P9c%)&7`54yX*%~+CTgf*4_9#5$qF{#Fj(U@1q{-hG*z&BcwfL+ zEQ&7}U4>jn6kGb`fpkqOvt`Alr9|NmxQbugso9)spj zn=enDz(h!!m2fO4N*yplY|@zGGyiACBY?hjrK{mzY1w(cQc#baZA&3bR>V~nB?D;2{~bX ugUJn|dKil}iZiLDqJ_LeKHekxX=eIl+68)@o(uUh9>#wMTicRE0{{S@3e|=H literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_dc72891.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_dc72891.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..51964115128fc6bafc30fbbf9ebcdca16a0e7909 GIT binary patch literal 1532 zcmV#U3IlDE#!gzGC=6>gjTvNX|7Il$reK$4 zzVRdk+$T18y>8T1W_9D4p+Ya1Kc_rXW@>h@EX|6ZUyX;OGn&1+j8V@Oq=IH{O9p3F z*RA54x`ORn)u)yE{OM27&^EdBDp>6Dgk$U~RDqTdY>7k8lk>14ZI0}IuNE>})3ueg zD~zoIwUGb3)a52kBz5H&(0R+*lc2Dab*A8_Un%6fGDv+*MO$YKAVbDOAp3~X9$q_+ z0*=Z$_*x@rk!VgtCD&9dmB-4e8g}MU0nFPvhrA7i=8Y*`D6Vt*b}m8Saf7rfKT!3p zptstqV6=<@H)XrfwICF)GnMj7#&EjQrL=-RfBMI7vcKbenRmS8>Q-kc@0}Wc>?l%xy@ZJlpUrWfKtzj~>m=LXF4{fNNBw6k{6BF^!& zPvhZuiXJi1vBA?o$To?u)dJ$~o4zXz`a;l?shEt9=*`s(zt6;EazxKtYZ}~maw>*U zU7*~gptFfM9UjH%5K$Ow)T|KDh5&e4NzKC|kL@qf$k{vQvnw;SZiL|g5(@#Ukv#gh zyr_ps3oV@xk`vEDxjc$ARlwUgj5iTqEHMIAus*AEYc!bs{QKWD8lMT8PQ_?=l+Hx? z3B==(7(;v|3u!gGt6yHFTSGAsG@6RjDHzKa>C)%~SmMcPcPC1(UkRE7q!$`xXYP`P zF)WDj2_LRpiw3wvsJ2!<>d!JRgd$Mo07#9VVj`p+I;x*%&(zG6I0* zA2AG*5b4Gry8RDSoT8svW!KwuWUaMmVXkHuT9m2eeZY;o({%6o;yIV`O}4c3&DVj- zEYhF8SXmU|YaG5pbodOeDexISz@|&o;PXsO`8(u-wL^g-(8k?BmITO&VJi5Oi6{~U z$xvHcRjN=goqOHR-ccrJ_v(`Chjby3y~+^PUQHL{0c8kyudWMzuQC#`SJlz7Ro1A3 zz~O0{HzAAM&f9sjS@p*z?}F%TyCrKd>>R zv6$y;nw9EKG7|k@tWyFn)RnQQ64UY{bvm5(dj$qG(0k_}@B2NhVu@cpuYIW=zhZG8 z>uJH7rT2|HKR(`YA>iI|tg^w2H!o)&X1}}_?sn1LxsfHmi+iwwx69J7$zMPAkiROv zn3p3yn&a1vHw}J!b?5i`P^OL0J0ITncOXtWi1^MJ_}z!q7Igo^YX|$QlmCEEI`D2a zY~e1pk}be!a(d9cZl{GMKX?pyVCn7PkB5^(_*xA{qb*w4F1vR}(?fUTljWdidsoyh i_H=ZJIkeg!wBZ(SGnjWVo}AwQcK;mfm literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_dd70b78.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_dd70b78.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..97d336091be9557617d0163216e3c73f5eff7cf1 GIT binary patch literal 431 zcmV;g0Z{%QiwFP!00002|7}vsj?*v{{goqc0?0~cU@@rDumrJT#jK(zGVx7g;nTpFX38EX9^lAitgi_-kDu_jNhs!JJ}v5hw49&Ia`N~7}eyQ?~lw)#m+uDT9=UB>aM z0AHhNaQ^{qG8zS`QBWPeL?*o=;W9#GX=qqdmj0!Ei@lRJN_bqS`qYC=^+o&7uiw{x zjn8~miNPP9WWKgt+r6-&S{AyG$@W8B%1+2yMl8jSJ*_)e5;tL( zVga>BMV{vKMNGG%=d4)03|MTYAD2rJ&&R>A9Dv%~ob)x%Txb)G{7n0Ya{C`=dUqi$ Z<%phH5374ceS7Loe*q-J88PJo0080((lh`7 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_df1bf5f.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_df1bf5f.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4bdc4a8cfa68d5e87b19e87488afcd166b62edf9 GIT binary patch literal 1768 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 Q+dqH%A5GN+o$(w10RD5E9RL6T literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_e2543ac.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_e2543ac.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..7fbc600c41f5ff4edaf69fcbf4f162b7e9777d1f GIT binary patch literal 960 zcmV;x13&y9iwFP!00002|CLrzZreBzy~;pXAn`(>WxI}>09|0QAB+84v|H>)QMimW zve?q3K~hOo!$7am>-8iZl9naeaOwhyAd&AqJ`QJw-tZNcLKVv*FSbc-WOAR34VGw7 z4% zjb2AVaN0}KlARKxrLnAKux4;0c}~{C*R@0k0$xEjB3W03L0vL<9X1qJiat(lL}#NuSkrE-rZ{~6`ptsnC3<6d4434Fv_r@&ga0Z7L2)%D&*{yAC@98)6g@=> z>lpkAenBTTe(2xERayn%81}MOxf5D(DO|%qtT&nh@jGw}%NUv~!wYUJam8TC0_l1- zg7G*;(L$EOB!y`TvkpLG7hzJkYOeagCT;(Yf!8B=^~dFK;nCtU4*~n3`E4t99|r0) z-4LfCQgg!64w90pYf_L>7)*k@^b)u$WX-C)TGGWk-)b&Ak0=G=eR7gqFyp zUR}o>l5UvxIP#VOV^lnMk;h>7obvp6%^0!ZaPF1fh?U}$({1(*vxst8L7^#)rFO9> z3Q>lZK)G#J^_pIY8CUo9HDd68MK!$=k0MkyRhPsAHf_tmh4e3cUOHMfmgehoRlW~y zzrr)0{*m_6G~U}gG?|`Bdb%gw?Irbg8nS5c#AE0wzAur)ubJ()qs}jxyX{-{~7IeSbr86Vie5 zgYFFc+&kf}x#1(4Cdv(VOyWu#f zrLK+N-SbiH?kAs%pQt52d6BTPzf~?uffr{w$uzh=0O!6TWIgPB0H*0V%`PI0(FOga zO|i^%?eFN>Vv#1LkaV-yZwx`E0xd-=SIKmHp!`xB|ID-8u_x0eatge*HR+qR9N i`t8eKQNQt-{?jG)r8HP*Hk<6;?|uN=X>SW$3IG6i-rUUq literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_e7de785.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_e7de785.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..29dc38475c14e1ea41d149a6590f8107aa4d3169 GIT binary patch literal 394 zcmV;50d@W#iwFP!00002|8-GcOCvE5|0+XXw6JWicizJl_C#pKg7~1WARvXk29WM7dWMdU^Whw??T=*HqOMIf3 zuGWQkLXunwGGuYcO7K8BJ~?mQtpr+p+D6$;n9yjh8uCl7312@V=BM>a<{uZ+U+ZEY oC9IsF}~et+&kf3NS?Z*2X5AD{vN0Q$VZ{r~^~ literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_efdfc31.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_efdfc31.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..92f9163623a0c53b1581345189d146c2a5af7ba2 GIT binary patch literal 398 zcmV;90df8xiwFP!00002|9z6nZo)7SMSo@FP1?#z`jFZRiEjE0tPqM!GD$2FI~q?) z0rBr0hfrYAt~`%>&m61oC2Lu7W@-u9W&s_>4{u_&aF z!l&=n)**C5%eHS3MsWb^ARvbno*&;~y<-fp2r@<-geIoOowVR9sL2mKmVhmG0uLIv zL8vSRj_qw@iw5FkV_mrFo%K-^tF`^Y2|F-V?(Em;gCc zy z&QrPLyOF4WJ@+YO8O%Rm8P6pd4I^PSrg5Bxk#s7=xf({|SXjvpx1P$p@IzeV+pAWU zZ5b)3+2N>FhioKLY`MkLnw6A|D;gg)%Y&LOOq$J;;A|;T&c2tJ@q2n3lC-`sY`s&n s$D_WsnX{|GiZ8Ak%j>PBc{zKA_>L~7#gty0@5j~g2huoDbJGF<0A%jFTL1t6 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_f145640.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_f145640.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..5073c4568bc989baa678f50d79bce4e5f43c217a GIT binary patch literal 442 zcmV;r0Y&~FiwFP!00002|9w(Xi`y^^{wu;SZAVD1^krAL!99#I7!0=E9(IJ_vz127 zv4iDo>q`IoA!}5CA zYL?^E9tsrFfxqX~WMLd@}T2+oBGMe%hiKFUw@d1wtyIh$W*y#h9? z5~>Ow-iffp|Eoh?%*9tsoSR;;a_*S@)cIA*S^N&sHYSYuGTz=7swF25S#1x;LiL!m zAeAUNyj+fwlJ-Wlr0@Bl&|!Z%t!^zN$qH&x7z8K$b9Hi(aKY$A!K>}vvACw{Gqb}s kU6?nN_4=06ZO)`IALNDgG(WGXn`3?a2bhslDl`KC0JzTEZvX%Q literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_f170635.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_f170635.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..2ac527e1d5822ebbb5668f0fd47978c8e388baa3 GIT binary patch literal 315 zcmV-B0mS|viwFP!00002|88X^U#!78)>|iU~ zLdk!hL(?W<>?Y~GPcqL9o~hDS7P6EV(Rw3xBKK60CtFg^T|+Y0;iGQ2%S9?mXPGQV z*Er1JotS*BErG58;R{V0%K&th*V`4GI;H^o5RYZ>i6MZtcPm;6XX4nOoHK+Ln2gc( z44rF-ovi53R$VvFGduwXD4_DLhQy=9pmdT!k&Ul=I2<1#&*AkA*taxSlH^}S#ry6q zS7^dQKa7Us(h<}7c3u{xYlnc=n^aWV#B74tUHVki#272Vnhi|>iYTEil^cAAiy%Yw zHDUDUW z$YUMD(0|VV@7-TiRExDx zF%Sk~*pjW_ClaR41q5e6!hh)thZ$sm1+w|Ph24=b!$anh72M05!G$-t3>x-G{NBar zk*S2T&;W^{0SO%3)5^6X&vdgxo+|)(|zs&0j4>Ax?1Z7eEdw(eC zz2sv|qH8EzWbF8U%+AXl_l;6l?14i}x>d1^HrRe$3*$T+AdBWStVM?;ITGZ^^UZUzBCwTd{lB=glO)D^(9v>REvhr)GNyNnqt2! boHAPROnR7~XXfT^cp6>+r@tVuBLe^cXZgy& literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/fragment/en_feba48b.pf_fragment b/v12.2.0-beta/pagefind/fragment/en_feba48b.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b808a6c69decad5c8b89cbed5c6df4842974534d GIT binary patch literal 2275 zcmV<92psnxiwFP!00002|D{-MZ`(K${wsp>CBY@B-(QNuVRPFCSM2r@wAo!87K?%+ zDVw!K>PRY%TlBx*Go)nMsq7TE4~Z>#W;n0U%&=rjnJFzk2`;|&Dx3FS_g?W8(@U9~ z<*VLhj~nf!_IUqu^ZGj3`+Ae-i8h|4xlAIXOT0<^O1Y%8=CkBJ*(eaDG7*MX1%yeF zC>=>MmCNhoVI`By*n;^4?^5PKVRZ6~lx4!&(=HRH#i3{>R?@~JKgxn>uXysiv`!hV zG}N<9Ft<`arP8zO6 zeKBfy?sKN}T^e-o+fpXWidoUYcQ%+t9&0Kne{h0>VORL~Sp~{TExll+%C?83TotKh zN=BKJd8DlL7ge6p`fNImlv(});b;;Gjpp(s;k+LSb7@aYoKG8Py=NyW$JtPh=e(i* zAeV2SPBKj9awZl#@gJo>MLiqIS)UIY>OUk~zrev57n4-(bG%?eHX8Cw)GqXvJt759 zyK%CJ#5^}zzM(`v>C0Mu&YXuTwy9|&(1^i6R_uK<9Ta0GAxct+YTrzz!l7f#1i@MUa zF=a50hz|9H_ER*NM~~La8eq*%>w>{<-O7?Wh40*7;-LT z3RvRx!SJRysq4J0QCH>ua`)|S9kIE2erxSX_nr-A!$uZpUr3t4Y}E7|gz{XWgCKXf zcNfX8sAMIOKolI#@;qgHjqLK3MfCMHd1QGdJB6a8&MU3{TgfQKn_uL1pLLDKn3(K@ z2teVvlX&T)2sBHfq7@S0EU352&aQy!{~*hp0c_Fr_zFk65IO3IFppH}V510}?wF{?tXQ!E*%|?glDSlTy*q`q4o0&^Z9Oui zj!1}z(x$82$wRT9T_pF`JR(-`Eq)X7>7e*MMu0|qcgFM~>o-7#W?ntY=}m z`J=LgJ)+jaAQEz&SwQPObI!P{rSf&qfp)j*DdZ7CZK2jj4_K%iSzsx}&M&%Jj+pl6 z3#8#W1gfRJK==v+HQ?|pQyiTce~w6Vf|U)!!D9Pj9tg_+9~|-=U>72u4J3f`CynLRnFI_ z%Zub)fq4^NETzqeoRLoCbNR$2^5Id|_9KA}XGc+Qh{(OwuCi41JxF9<`SQ4UkamKDT1xT8djYQ)=XHuK?L;h_8yIMdqbLY8Rh zh{vS$vVbTNpml>bN#eG0t0-tidW4>pQFN3MSG2Jp&FCefhL`9J8d)C=!%-Py`Z1#L zWX~jW?A3tGh!seg7J32zAt)6IMW}=C+Ub<~c*z_vZ08-0Q}Zhx))^Nz42KqBEzHcf zCqQZjl)p!+(MAM>ZEE0nvV{?pl80o{%N&(qIn90ng@HWp0T&4rM+th0o9pfnXQP9< z59ii_aV6Ex0m5-%B?dVcImrVYCqr_>3aI~1*RCyP6yP}Y!-kdPG*3Ys#(FQLP^5a0 z*I8Xt>ga{E%bg6+BDHs;MWcF{0plUii_Rc-U6rvvi3CNTETxul4lNAI)g#g3ZiIwt zGvK)f{nm~o0+I2JCtu zaJvq3Njp=p*vetyYx+k`M{hfqCdTJ!8YhJZyH!38c7K2P$FY`?^~d8;vv0mfcf1Q@ zq&vYfpUv1nf&~kou|D|?9O}25iIuNi~VR_ePZ$`v5#_!80!UF@CtN$$S&R?-MN_-~koMRF6#j*e90dgr-YzrxV^ zDppkef#JANb!+dQe+ijyaykIlPc`*Hf>DoBa0zb8a0}MCMv3Ro1WD+FSy&}_L#K9=B-&XMt{)*sFxxi$G6Oa7 z8v0%)CScsVOnaGuuG;o5>VAM@biLOZU#6$N`K)RG0MqCim$Mic#V3vp9{02J(fG0# z3*7ZyfBkmZ!=TUbt%uz>m-`pEJ^YBlVr7W(&#yfhM{$s>29T-*zJ0=Cf$v^E9o+rm zRny3OulwIFyP5eO`AG?bXA*{ug!3D5pR538EAAdS1)T72m^*R?KrWIgmJ;O~3v1?SJvPmB*ME007@;Xodg) literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/index/en_1f6b186.pf_index b/v12.2.0-beta/pagefind/index/en_1f6b186.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..ae565496a36327295d3e0597defe0f0ca244f142 GIT binary patch literal 34523 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

7&nDts+3+#)k%peOfReBe!L>h6EynnO+B2fS z(;-n%T-a=Mi@9JPB3)rLCSuUo9}-)CUuYa5a`Z8LqPd7WAM+@MbXT5EW_m5Q@iDBK zobOO`Jw~cKrnc2@qxo*hYb!(Xb4laxU=X6w?rcmCCt546e65t1FBUxx3%*2dyCMyo z6vETA?qrw{vU{Ber76;WkN8|p=20J`mY_Pd?aWu34kb(I2M&ETs!UM(%Y3!E7`3_> zvAR?U(o`Yw3ed$BEv0Nzgm>&ys|D}23n@%vzsxH;)J`NLMrgFJmi)^XaV{x-^ezrL zZS!I=@`m&zq=N&wKR{^pL8ZesFA@t6p6RuKT&(c5IohPAYQT&5Up(Whmv>tC7has| zaP<5sHcEU~^8(xfTsXL1ZnFwQFsco{XoH`%MP>dn-R-mHBJ0fY-+h=48E%V7wvtLH z>WNreQ&Xfl?w|7ZK`#mQEO#7sh0X%!O)6*qEIuTfki^CepsXMt0irVVEh>4yBRvkJ zU!q1L8Ln5+)p$G^L03z~W>zkgBG!hY23xd=(#8MWXX7pWKqgCz=!|+ID67AM-Y5FS z`C~32T9q_e^@>f$eNz+tKIwJD67h7tJrPTFHv8vHPs3~_0E+pr*LqsC%N2KaBj~5O20W5fZRdK@6kaNkT<8yMNCF2*XMiF zMO6*?ld?ll&{wsGA@s0Qa$d0w^k=LwwdkaF;RDJ4GvWhQHvkgA12IbAs|2u$>U6aW z5%cTr!RK|7Lc&RWF5!Cytb5+N4=@yC-F++q_i{>>vncisYxP*Na2A?7;HCZ2T$p@A z3wO>_54tGvhni?+`2?_DA+y`LMn2i=<3IZd|Jh9*$RTW&Z-f+lu^Pj+AcVC(n=>O3 zc#xupj;Fg*dblJrfMX!4^cjD*j>XbojJ-mnH~U2F6KCM7UVAJJ13;D!#}m#_NYZr7 zBMs`ja4|ZjrVn7#=c&rCA!%HojI2`#2nF8L2D$QAtlYtty$S-th*I3E2SM&u_hr_HZ)Zhb$wVA>xbnmi0E4a}ncYM5dhnmNUN11_%RY}0fM z^jQMsUDI;74M)8u060HKEt(7J03pBB+1oU_F_eMG7c4h(s&(wm_;*z?P{a ze3~35zYGFOx3j1xi{YF8h}}YWD3w6L#JQ6`AlIF}DDr=eISFHeK9&;>;-@j%BIcGdMzRk<7^nk{Z48y0N;0rbhJrx&)Kaaqo~&Vx2d0>2qqN~Z#_5Vdm-(R7 z<&5c48UtuPPhmS{Z@91ey6gvuo{sui&M>M+lUbIUgq@d>?J`ECxikL!H{p@4u7csA za0=q%sCcA1oKoib9Tkl4SBYzZzm5nwBbh6SPlKV>REH=5$FOnqX$iEDJW4i+iGuA% zfB^ZPUbE>c3mtm;xq@?(MB5QqRwJ%ooU*Q&urGWdtqlN$=c>$<5UtU2PPgB2x!N2y z&)Yx0PU$Y4^!P^eB&AV;RMm$?_KbNqUJ1@R^K6w_V4BIm!!9AS`a;7- z(jS#TU#i%3V7j`nbbvXd(e*T?n`0>df{z$KQety$8f0SsI#63cb^hL4X^g)Tl3p+b31w|Iml=n#uE z^LOE~-%&FAgg@Wqm_mrro!a)DP>zApv}gMKU2Bng3mi7@rE}yRO6kwu1`T}H$Xh7G zS>R(f@O}2Crrcj6`3(4aHxaUB^jWb z1#Fg;zvK~slD@1aiWhWiKCau1r&4CM1U8J3c!n_&&M-!z8OBI3!x-Nm;SL-0e23s4 zSZ9NEV*bJ|^ZArPFUW}jlF0c=bGgc3UM{c$%6YG%ztTL)>D}(&&iN_k&Aa_(F7wmb zygpE#n@_C>7{z{EUVzFpJ0$ML6 zU3uRf{dOtf(|g556|^*p3sc=umf}O^1B5wClRpBD@h#3c!x$;umHGq=)k=sfTL*>@ zrj-2(Re?nm8uvI3^)Ba=ysDt2RtzdnBo>qP{!=V+rsWA}doWJ2U{@vHUonoWysWMa zKcx6i0V$y}ZM^W>;7^MDyhevCg|8_&-7FQ-xq>V@ndYf0mdy{@ zWMedNT_hun@h#HzpyQsdR5!ADxBR3l5P zj+4>f9{s&pe@_u={;+urmgT3+OXi2<*iz1!U;r6hCNV7Vck3*-!Ivx@_aewq4~6>3 zYjXvaV6$!rfABkf4NXcuTgb@@=rh3uk-RVIf7}blFDq2AMWKQ%>Y#bGCQ-jm4@^Bk zdigF13Kh`cDPY#GXrA=Vx(1?T%eYAr^(HA^kufvK+hNfzH)(9{4lfa}sjshVtS^{_ zvtC=A<41`}|J3}8ar3L$>~Swl9h~B3vloeT-dp*iqj;p&f8>{(7jg#Y&`ELFxSZ>| z1C{DDF4YD`@X<7z_|S8Rxqt^DHSR`l>S`l#I`do<|C{j;b&Xvz>4>xKoTU6Q4mB+& zyt6G%l~0}3IMkbM;BD-4J&6tlZ;Lmc(R9Le@WHz%QI9j7Vo}=SO=ncor_<7YZk{w=wv?&#EZ$3-6#BC`FuL+#b|sB z2A(fUVqTZDG1+y$OnIEzW=M&Wc zaz6kny!$8}T<$}=QIPkLTsE*Xg<-rD&ngg0iIUAeg-%bAi{u8Ca^Gwnm?1A&_w8yY zp|p8tStEJT2HtH0pC&LFhU++_7_xEu2z9@2r%6+V1im=N!QsqYKcJ0$8^a#sOa$!b zQ)NCIB5VH4UhKM<`JTyqw>_Wl%7wdwj7tu1z>$FGplg%CfaaL^}m(e;Z zJ4m;e2^-J#3-LICPhmWgbnNq4X#aOq!-5nEK|^f>q1{OKGvGY?U2_C4os{)lzHU|k9-Iv-*S#VkJ7>Tzry^v*dP=y_TLM>^#Fv8aTx z-lFE_q!gpDSB^hMuht9!@OSv1wDfVho~tyJZ5t$? zonn5N;G0&OFq>36!AkEo31y1X;dM^cL5>`nNHIUpz|l@*XB=*9t>wQRH-<-luJVV z$wfSqPl+OhH37uQJ04(wVboNKg2buD2(gzO+7dZ%fPBk4(!Q{}P z7LZ#mqCX30WJmLyX*b`8b(C&OIjq?I-7qg4utmh5_O^~AYD!Xs&o z4;d*M@mxE`u?SY<>700W61KGA{hYiHUkgSu>UK&{y9+%(Fr*HhECpeIk2m@?Pnya7 zY?OkyUqgqAfegjGw*Y_Eiv47<{#i-dRR}m3%YuyqA+wHD2-)SX#+}Uq1FatXa~-F+ z<@y`W)9LN?AxQItw@@lnv%Q~uzhYuhzowspPZy{odOtf{n-J}SyK(U@=BiNH_Vnus zjQeH&7^~`LVm}>vi+^2lc=lB){xoGAJ{*e!tT*DPSlLRX zpKE9Rc?zg&nkMqOiAbBuk9!KJP4gMVP1tXee(bd^@(<<+w)*n^Mw+stuzilh1n;5s zI39m23DJRz1g%iubv)UlDJQFaZt`siQ!txQC@_=DkNNPm3u@_nlAKE8sW9mT5-G!v zHV@`I>mhfOy$sEPI1^MC@^zoMBao+evjoG6jbb-I2RZyZfW3VS)rY3mmg-|IU_6}< z!Rhu2Qq|YQHMR`$AYPTG&Lq2fy)t~->LIR+ezu?WU;vc58Sh_nkxv~n^FpHux0jR0 z#JR7+x?RM{%lLrk#04mR)l_rvgffoP`6M^SKo#Yuxt?CmVa^OLy_fEG^SKYFG^U#h z2(2z1Am>c#J{!=>upeVY%F&^Fd2`xr_Lz$>z};=`GY@zZ&tZ;OhFU^i(iF6%2B}k& zyy8x3`*zG-x<&!hg?Ldq92v|bb0-&c#s-w-+^DWV&yY|2b?QaIdPbbw@!3py6NSqi zl89aK(gD2Ux0-g7MC%< zuz~-9IgZbM`Mq_w(k7_8;hXVYnT*FdgHEHeA04rs%ClFN3V8oRN=-LiRP8;gFWyX1 z#6cnDVbXyT!Tw4)oWk5_Zk4k{rhzq&6^1&2&9UW@Rez0F(Z}9V^@ODvjeoNuSS}a; zc0Ce?0=B0s9nVsndp4V`t@sGKy2E1b=8C)Zev!{hRd|c?i34ql{m&EZf1=9lbae1} zGDQP{y+9u~MNGn!jGcpgD8IIb3f8D)08Ommli+89AI}5nypi%itd)baHj%Qqo)4N? z$vW7-tb4n4U$*X-toz>>f1n7~{fC@TZl)50+b$V&Bwlce5)h}z-zPGqkWGl{MEYn= zjTL3aRcqo8*fAg7OOYTw5<0y8X7o2Nm05=0M(B2r-ndzRId#q|L860{L23$RRS1r< zMN@&MZKksv=!@$4NYcNMdE23M`FDv`i4JPOn!egP*MeJenA5Y?`4K16dzrubZ#GzC zgN-%_ec;R;%*+$m@g6iUFwFQh&R#eUrX%azXPt+v^NHpsTy;QO2>Zbw8RDbk6NZ)8 zz(qcjtM7I;E?r~Jn=jMxpVK%CEm>jsT%V2BxxoGS16W-qOU?;rB&KmR1U?kRVTdUJ zlt06cjIz$m;89ppX}QtS%LM_J7;+}t(XZSWbhZtPXZMhNCS~feVr}5}DsW99Z+mAL zKicW}Ak0PRTD=q>KZD=W83u&ss+v>8)IUrln&BMPGlDJC#r*FmzCBu&h*+8aA@460 zV_mRGW&bC952d6Hbn+beSk)XfJfbC?1-LVD0ilr>Z!*)G&+8l!N%4aRNounnG473e#1zPGysUzrsom^sV! z^u|~$k&?K1#;56FFY6bFQ~tp>g$nc%c`g@A#S6v!Ix0TW&C!UZ%xmaG|C~GGnld~n6fKm7ir^cWo{{` zZ4~=!EMZ!oC^*bCC|ImNq$P5GvFtB(;%Ghz%s3_oXik@i;Tp;BIvYcGPIQi8|d?y3!Y_Jq7P* z=J--Rn6^c`y;S?NOqDJ^M{|>&qiI3N-=`O~%9&0@M4l^UN+jKTSWXk>8*B6ioqYwe z*r8BvrAE+RV|vXiB*pw1ET4~P%kW9iPf!?x1E2`ocB6u7(=^m|gX)DdXyc|+Hz#5d zoufm(uTsD5_3F31LRn6Y?!jwy560WC;SSEwV>cIR^z2fV^5!X?JPqyMtAYDdsPuZ@ zx}v6uy%LsQtqSN|WuPbZ?9D0w9?z-Hxl)aai}l=149Y>j6RrHmG;!E-X?DWe&o(8` zhxiC?>lPi?onBWw z*PTu!(;fdFTKX8cVRs73QxND(;aCA-O@6+h<^Hz12^#=8EES?n|Dt`}3t79n5QG{W z?Qe?J)H(;7-TnVB)=c@-43XrV+p27^p3bDFoSAeKQIeX?)r1FK!<@UkJQwC*)`~3w zHr5@94b^aN!+7F8x#eHEUVzL)UI2V%9Jp!&*sUY%dW+{$fB^YGRZ;FcFvnGZ_x5x3QO<;ZqE@n>U-cnXf@h`3=i|o4v9D_QRsA5SuuzdLn3&_J*P{Ahq%I$0#uC z3B=)1YYxfT1#m)ZLrB3UJNf*mCr-20h#ky^+pIxRw0HDZx|G=+X(g zg;dclV0Bqc5;<%tCDk5N4si33Bw86>CTUiJ6Tp}@$Z?QVMu$NX`<+GSfe(j5FpIKt zNi_FZ*-A!?m5l@%eHFewIDGW@ax}6T%50P~E1fiVU~l0wCZ=NG*A^0BS86(ihisr! zQi$^rtBb`&zV-qK?QQ_&ejZ331pNUC%&p^bt5PlUt>$BVCfqiPA0@@~lyzS(`@{s@ zCK^;q*h%3UEn-FC#N+(BWdaW`mmdl`hZ6Eh-s-LvDR!k8byg`iTJ05%^BN;tLn$%8 zbu8|g^;f2fV>#tUEN8l}=KRY|e8j^RRs$q)@-bFcZ)Mvl6oUtC;0YUej_jyz54rRl zA-|AES$^Lrz1u8ikxz<#R!%z6Rxze;7q8}+mo3_Fi*B|>w^9Pr`{-bi$ssys<-?paVToxr zD?wG;0Ywhxq`AfPn@fOQC>g;A%ty?x%pWM@i#dH6y(?0vej%GrSF^SA9K~C@9X7bl z2HRAv+RA>1o(f#O7ph?32@&b?>2t*_dDf99jOn|R4Z3eO|L_kBT)`A^E1yd8B|5M< z@Mr5ZL8c%-rRPDrxq(;6hM|;O&$wWJ4bh%mpda-qHQvqp} z+PGT@6y*d$Ur{+Ct((|JFP!KTEpn@(4KWI`-KtJ0Hw6nkRI^{94U)f?GU6rykQ5 zS}8=FNJs{QGuo?tcrhihR}e12hd+g}$;x(IsX~U2kT#Gjj`&fowa$^6CUE+;5w|bH-YU8UDI;exR!Azf`cAnAe2Yq}b-zWu z&BIRY0&_kcf|)K2*=7v$k+J>Nrj?vScY5Q_Rhoy)8>@kAzn)KhnylGA1hlgv#h1M% zpt13M0e25nNQMX?@wd=(dnw-gYRxjU+RrvaoO~;7PQRez#GD&gwEqIxuJ)>IJ55}F z0t7Ds^d#Wxpj`78c8KU$CK6+r2#jSS^_7ayH&$f6@gm}tiG)`sa$T8-b!EbKG=zb2 zQ;DaCr)QS`$p$z@&|J_$EH6g5-J)+KQQ#*~VpQ{lmo5~w#{he3`DuQZbDi=T9yG>O z0u@(s#n42E@$J0Vfg9ajU9l`%TE>aL?2#dbF<9Pme(vyxykm3=1~7>-&1JhGM|Q^8 zPA1UmJg@7uRSNeoZy-QFL;Y@rQWI=AxP=_nwp(Yob-u032=?$ZWLsjNk0?i~KWUwh z;!~3O_U^XAO5%FW=07V610DPAzDsmR^lmdZcaM3N4(QqCzvzyuMq!L;a?{}PN`&PSI);Y*HHoCS$ZJr=LSQA zFaHO6b`TgCZGkt~;C|YJQ}XD)9T9yH@1}+1=_ZpPe=3eZJOfT0#XVmSGoSU^5)@xw zr8vTAO|B75WT;0YY)tdb8IhUi$Sf5yDdYHW?Lw! zZ`P`aTCIX9WB^@Ei{i!$Apjcnu<8z&m)O|RL!plQ`#23Y_4!~Q+mi&S z;jaJWR&S(lkNF<@U#Fo;7cP&{WhUyUT)ssI?p0qbp)C|>X=ivaY55CW)YZp;-$ctnw2u(D8w+AuNUAeS8WHfqxhLGgzykF6^e8qy1WWeyo)Ywykuc zYpWc6CAtCj_fqTwyZ8_~GsJ8= zPR+LSv8<^gyZ=aP5y4rT@QUtav|yT?r_|LZJC6(gouCTgv>yixgteVYVkvf^?PIU| zabCPV9O)>WX+pj;k#-8V9V1XntUa8L`hjDZTfR2*lCpH-Hc#Ovr2 zuq@NE?w$xxAG^Ae1w+b9UbJ0~NV*mBaGNfpe|haxO6ZZF(6Ws_J$G3U^qKr^#bW;~ zS6jqM6(;d8U&f?$Ul0>sF>R`+H0qtziSKbbHzwgvaUNohlDdWiUB!QYCG{B? zPhl43Q&&hfsZw=fg(8TX1;@iD=iABQl2K>yvEAZV0Kj~gYWof5F8c7JvD-v4`!G*w zg?!LRiQx%|$~0PI5+1ODX7xwNk=Dh#Z;|Rud-baZ^uVn1=KbVc{2NX(mZD@F!C^Ld zn||n7ItWMdB^)((^0}a#Ca%sL#yVUCg*i@rBdu+sNVsk7vBH$S7k6XfD3fKA!2a!2 z(A6%H4J=#z)4IzrZn5x?K-Qa;){o%RW2r*MuizP~2r2bGj0MyIZv>Qr*&#!?aFtgK zu4ecpWNlASN*r(G`6{zk_YT@ID94c?f-fp()@hop6ufAwM zg9NhmB=F98B((ES50#s8{_WVMKa}68pOAd~foH>9`J^$iviTHr6l7z;*t45g9*R zq+BL*vybjzjR+EkI*=k5KCYc{9VfKzThRPJVgmr3du#eex#j3 zm$Vxn!3ZRCnxaD-EPeor$Z%e9c3gm=vOSZE`H4#&q{|HPjH?wmUoF2>42DsRIj`i6 zFw&kWDC5Dq>3&zNaI!S0G-!ie{;K}8F8yXmc6jdC1>v&&%3XXuWCol0zaJ(MV~5hhi4(r8 z`Iu{59KhNyeNCeCRM)%2n?And8^+C z9)3IfL-v>xu$$cn#No~6IfmZX+dz!t5;BzH#B3&;?JlgA{lF}`%#SHW+c1taD5dm0 zBA+cQIBy3j1InEYG3-Ip19W)JRUAF=Ve5>s&h^$gVx6hJK{lF> z4#}{MIOR>|fVtf~0MiigrWvTTB*dB9<`c!zaWS>zO3Hq+*A2-SwpF|ZVV>JZ4D55} ztK=GR>JI1 zemZ|q;D~cjR!RhZd#^e>-L2d0THS7Eimo|9w8!zHHdZKu+$@@4g$itd+qm^)oH9pP ziD?iwkRL0KHceUTb}x~PCNm=cvrO_)FOrPXiB}O85TK>DCBaOt8em%bk$JUwlliJx z*8N2Bb5SLJWs|y`X`bfAZ1urbwE--HkMpd?#Wr$DB`JWC>=IIUBK2Tf@oEGiHqx(L!uWS_}KuJ z;|=CjN_n|Royi}dd?)qfE%7vG-Uk}9**bmfZ}cUT0lE?~hvdNe19QY26=N_g5OwN1q3}*m(Khj&lU4Kab=3n2ui7_&#v( zYpL6;uwC0sbD&xVEEA}a1vK#GHXG{$fRFstK!lTw+n^&Bye&M;be>mnZc1W+|q)6sH{a#Vsmn9wBJ1%Di4s20qcI zlxEGDYuyjpV3`eWg7rhs6#p9sM*Yw_yVNo58*G7^%6YqbZ)5Aw5@@-;pabMQ-^3~-vM_>q%#Fe@-ZyQ)Sz5`8Ox1)b?UuJ_63%3-9M4ljZVfWWUcxO z_-JQmESiL6;T)6vgXU#Ag`|{?VlB!7KIls$-=O+k5=kex{%J3nq#%z@&i$)_v~N%^ z!CNV|_LQU-QJwV;Kc&;%)=jH(+mGlf@D&MEVL!`HQd(K(YEm(m@hdag{FRe}HpPT_ zEEm_Ish)d|Ef{YwkD9Oh9bYE?LWfvmA20TcT5%Sd!dT@v#wy2&ly*?m#7dSr$Fq7r zUL1ucf$mv%JS^;NfoOV*B~8>q(D?X4$5cqe<&r_BPc*>+;Yicf!rNpX5Z+X#PC`ac z)0nPIa-kaDlcJTD>!!Sr(tyv9f?47)v|inVR*+-s9O3p=x+lyPe#!1Z6BN^0q|QNm z=m^9a8gVvVeS@s}28GmXYo@veO;uR6QV-9Vu8Cu2fH*&__K$i!q0WSw>j zr*X%tFVHOIf%8;DnyPBw6k0Yd(#56v_GQ8`mJ7xxo7;93ZL8G%XR^Yw2UOIpQtzM1 zYId5hrmY$3&ofE=dDaM|LVNmVnMv{DS*^QWi+b^d)Y7q1y?ACQGn}GMJoD9wr%|1F z<|u2tOC7c62xvP|y?5&L$c;+%-I=YpZIAly%re)TXVm7lOnrA2sPE2X<)u?Js&A6| zd(Ttb+zhp7EmS7ERvmXHt9^HtI_^wX$DPRn|BhG39ZiBk)0$Fh?9_cft=Ad-?NTy1 zqBEFPGRX~<6K1N{&Sdr4nXFO2MxAyhtJBV8jRH1mU7qC!VPUV@WZifAN=npcX2X2g P@xK2Lt@!upuJ-@{r-Q8o literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/index/en_64aac47.pf_index b/v12.2.0-beta/pagefind/index/en_64aac47.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..38e39de11984d5cd55400dafcd910973c4be5fdb GIT binary patch literal 34165 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 VWL4<$2e9+&{}2Ccy?zz$0074*iL3ws literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/index/en_87f599c.pf_index b/v12.2.0-beta/pagefind/index/en_87f599c.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..f022706990bf1699d0703d01607450d56bd77853 GIT binary patch literal 4284 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 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/pagefind-entry.json b/v12.2.0-beta/pagefind/pagefind-entry.json new file mode 100644 index 00000000..b2206b2b --- /dev/null +++ b/v12.2.0-beta/pagefind/pagefind-entry.json @@ -0,0 +1 @@ +{"version":"1.0.3","languages":{"en":{"hash":"en_7b9e5d8b4e","wasm":"en","page_count":133}}} \ No newline at end of file diff --git a/v12.2.0-beta/pagefind/pagefind-modular-ui.css b/v12.2.0-beta/pagefind/pagefind-modular-ui.css new file mode 100644 index 00000000..9c6793ed --- /dev/null +++ b/v12.2.0-beta/pagefind/pagefind-modular-ui.css @@ -0,0 +1,214 @@ +:root { + --pagefind-ui-scale: 0.8; + --pagefind-ui-primary: #034AD8; + --pagefind-ui-fade: #707070; + --pagefind-ui-text: #393939; + --pagefind-ui-background: #ffffff; + --pagefind-ui-border: #eeeeee; + --pagefind-ui-tag: #eeeeee; + --pagefind-ui-border-width: 2px; + --pagefind-ui-border-radius: 8px; + --pagefind-ui-image-border-radius: 8px; + --pagefind-ui-image-box-ratio: 3 / 2; + --pagefind-ui-font: system, -apple-system, ".SFNSText-Regular", + "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", + "Lucida Grande", sans-serif; +} + +[data-pfmod-hidden] { + display: none !important; +} + +[data-pfmod-suppressed] { + opacity: 0 !important; + pointer-events: none !important; +} + +[data-pfmod-sr-hidden] { + -webkit-clip: rect(0 0 0 0) !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + height: 1px !important; + overflow: hidden !important; + overflow: clip !important; + position: absolute !important; + white-space: nowrap !important; + width: 1px !important; +} + +[data-pfmod-loading] { + color: var(--pagefind-ui-text); + background-color: var(--pagefind-ui-text); + border-radius: var(--pagefind-ui-border-radius); + opacity: 0.1; + pointer-events: none; +} + +/* Input */ + +.pagefind-modular-input-wrapper { + position: relative; +} + +.pagefind-modular-input-wrapper::before { + background-color: var(--pagefind-ui-text); + width: calc(18px * var(--pagefind-ui-scale)); + height: calc(18px * var(--pagefind-ui-scale)); + top: calc(23px * var(--pagefind-ui-scale)); + left: calc(20px * var(--pagefind-ui-scale)); + content: ""; + position: absolute; + display: block; + opacity: 0.7; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + -webkit-mask-size: 100%; + mask-size: 100%; + z-index: 9; + pointer-events: none; +} + +.pagefind-modular-input { + height: calc(64px * var(--pagefind-ui-scale)); + padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: var(--pagefind-ui-border-radius); + font-size: calc(21px * var(--pagefind-ui-scale)); + position: relative; + appearance: none; + -webkit-appearance: none; + display: flex; + width: 100%; + box-sizing: border-box; + font-weight: 700; +} + +.pagefind-modular-input::placeholder { + opacity: 0.2; +} + +.pagefind-modular-input-clear { + position: absolute; + top: calc(2px * var(--pagefind-ui-scale)); + right: calc(2px * var(--pagefind-ui-scale)); + height: calc(60px * var(--pagefind-ui-scale)); + border-radius: var(--pagefind-ui-border-radius); + padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale)); + color: var(--pagefind-ui-text); + font-size: calc(14px * var(--pagefind-ui-scale)); + cursor: pointer; + background-color: var(--pagefind-ui-background); + border: none; + appearance: none; +} + +/* ResultList */ + +.pagefind-modular-list-result { + list-style-type: none; + display: flex; + align-items: flex-start; + gap: min(calc(40px * var(--pagefind-ui-scale)), 3%); + padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale)); + border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-result:last-of-type { + border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-thumb { + width: min(30%, + calc((30% - (100px * var(--pagefind-ui-scale))) * 100000)); + max-width: calc(120px * var(--pagefind-ui-scale)); + margin-top: calc(10px * var(--pagefind-ui-scale)); + aspect-ratio: var(--pagefind-ui-image-box-ratio); + position: relative; +} + +.pagefind-modular-list-image { + display: block; + position: absolute; + left: 50%; + transform: translateX(-50%); + font-size: 0; + width: auto; + height: auto; + max-width: 100%; + max-height: 100%; + border-radius: var(--pagefind-ui-image-border-radius); +} + +.pagefind-modular-list-inner { + flex: 1; + display: flex; + flex-direction: column; + align-items: flex-start; + margin-top: calc(10px * var(--pagefind-ui-scale)); +} + +.pagefind-modular-list-title { + display: inline-block; + font-weight: 700; + font-size: calc(21px * var(--pagefind-ui-scale)); + margin-top: 0; + margin-bottom: 0; +} + +.pagefind-modular-list-link { + color: var(--pagefind-ui-text); + text-decoration: none; +} + +.pagefind-modular-list-link:hover { + text-decoration: underline; +} + +.pagefind-modular-list-excerpt { + display: inline-block; + font-weight: 400; + font-size: calc(16px * var(--pagefind-ui-scale)); + margin-top: calc(4px * var(--pagefind-ui-scale)); + margin-bottom: 0; + min-width: calc(250px * var(--pagefind-ui-scale)); +} + +/* FilterPills */ + +.pagefind-modular-filter-pills-wrapper { + overflow-x: scroll; + padding: 15px 0; +} + +.pagefind-modular-filter-pills { + display: flex; + gap: 6px; +} + +.pagefind-modular-filter-pill { + display: flex; + justify-content: center; + align-items: center; + border: none; + appearance: none; + padding: 0 calc(24px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + color: var(--pagefind-ui-fade); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: calc(25px * var(--pagefind-ui-scale)); + font-size: calc(18px * var(--pagefind-ui-scale)); + height: calc(50px * var(--pagefind-ui-scale)); + cursor: pointer; + white-space: nowrap; +} + +.pagefind-modular-filter-pill:hover { + border-color: var(--pagefind-ui-primary); +} + +.pagefind-modular-filter-pill[aria-pressed="true"] { + border-color: var(--pagefind-ui-primary); + color: var(--pagefind-ui-primary); +} \ No newline at end of file diff --git a/v12.2.0-beta/pagefind/pagefind-modular-ui.js b/v12.2.0-beta/pagefind/pagefind-modular-ui.js new file mode 100644 index 00000000..93019091 --- /dev/null +++ b/v12.2.0-beta/pagefind/pagefind-modular-ui.js @@ -0,0 +1,8 @@ +(()=>{var b=Object.defineProperty;var w=(i,e)=>{for(var t in e)b(i,t,{get:e[t],enumerable:!0})};var f={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});var r=class i{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this.element.innerHTML=e,this}handle(e,t){return this.element.addEventListener(e,t),this}addTo(e){return e instanceof i?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};var T=async(i=100)=>new Promise(e=>setTimeout(e,i)),l=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}else if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",async t=>{if(this.instance&&typeof t?.target?.value=="string"){this.updateState(t.target.value);let s=++this.searchID;if(await T(this.debounceTimeoutMs),s!==this.searchID)return null;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";let s=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;let n=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});new r("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=new r("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),this.clearEl=new r("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(n),n.addTo(t)}}initExisting(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};var g=i=>{if(i instanceof Element)return[i];if(Array.isArray(i)&&i.every(e=>e instanceof Element))return i;if(typeof i=="string"||i instanceof String){let e=document.createElement("div");return e.innerHTML=i,[...e.childNodes]}else return console.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeof i}`),[]},v=()=>{let i=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`

  • +
    +
    +

    ${i(30)}

    +

    ${i(40)}

    +
    +
  • `},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),e.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},d=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},a=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new d({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var o=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var h=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t})`:`${e}`}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,c)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(c[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,c)=>n[0].localeCompare(c[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var F=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1]}catch{u="/pagefind/"}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??u,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await F(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance",`[DEBUG: Loaded from ${document?.currentScript?.src??"no known script location"}]`].join(` +`))}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})(); diff --git a/v12.2.0-beta/pagefind/pagefind-ui.css b/v12.2.0-beta/pagefind/pagefind-ui.css new file mode 100644 index 00000000..d98ef36f --- /dev/null +++ b/v12.2.0-beta/pagefind/pagefind-ui.css @@ -0,0 +1 @@ +.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"\2937 ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable="true"]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-1d60ae3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-1d60ae3{display:none!important}.pagefind-ui__suppressed.svelte-1d60ae3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-1d60ae3{position:relative}.pagefind-ui__form.svelte-1d60ae3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-1d60ae3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-1d60ae3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-1d60ae3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-1d60ae3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-1d60ae3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-1d60ae3{padding:0}.pagefind-ui__message.svelte-1d60ae3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-1d60ae3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-1d60ae3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)} diff --git a/v12.2.0-beta/pagefind/pagefind-ui.js b/v12.2.0-beta/pagefind/pagefind-ui.js new file mode 100644 index 00000000..6b362422 --- /dev/null +++ b/v12.2.0-beta/pagefind/pagefind-ui.js @@ -0,0 +1,2 @@ +(()=>{var Gn=Object.defineProperty;var A=(n,e)=>{for(var t in e)Gn(n,t,{get:e[t],enumerable:!0})};function j(){}function Qe(n){return n()}function Dt(){return Object.create(null)}function G(n){n.forEach(Qe)}function qe(n){return typeof n=="function"}function V(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var Le;function se(n,e){return Le||(Le=document.createElement("a")),Le.href=e,n===Le.href}function zt(n){return Object.keys(n).length===0}var Ut=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,_e=class{constructor(e){this.options=e,this._listeners="WeakMap"in Ut?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var l;for(let s of t)_e.entries.set(s.target,s),(l=this._listeners.get(s.target))===null||l===void 0||l(s)})}};_e.entries="WeakMap"in Ut?new WeakMap:void 0;var It=!1;function Vn(){It=!0}function Wn(){It=!1}function b(n,e){n.appendChild(e)}function y(n,e,t){n.insertBefore(e,t||null)}function v(n){n.parentNode&&n.parentNode.removeChild(n)}function X(n,e){for(let t=0;tn.removeEventListener(e,t,l)}function p(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Kn(n){return Array.from(n.childNodes)}function N(n,e){e=""+e,n.data!==e&&(n.data=e)}function xe(n,e){n.value=e??""}function B(n,e,t){n.classList[t?"add":"remove"](e)}var Be=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,l=null){this.e||(this.is_svg?this.e=Jn(t.nodeName):this.e=C(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(l)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;tn.indexOf(l)===-1?e.push(l):t.push(l)),t.forEach(l=>l()),ne=e}var Pe=new Set,$;function re(){$={r:0,c:[],p:$}}function ie(){$.r||G($.c),$=$.p}function D(n,e){n&&n.i&&(Pe.delete(n),n.i(e))}function I(n,e,t,l){if(n&&n.o){if(Pe.has(n))return;Pe.add(n),$.c.push(()=>{Pe.delete(n),l&&(t&&n.d(1),l())}),n.o(e)}else l&&l()}function qt(n,e){I(n,1,1,()=>{e.delete(n.key)})}function Bt(n,e,t,l,s,r,i,o,a,h,_,f){let c=n.length,E=r.length,u=c,m={};for(;u--;)m[n[u].key]=u;let d=[],T=new Map,R=new Map,k=[];for(u=E;u--;){let M=f(s,r,u),L=t(M),U=i.get(L);U?l&&k.push(()=>U.p(M,e)):(U=h(L,M),U.c()),T.set(L,d[u]=U),L in m&&R.set(L,Math.abs(u-m[L]))}let F=new Set,x=new Set;function ae(M){D(M,1),M.m(o,_),i.set(M.key,M),_=M.first,E--}for(;c&&E;){let M=d[E-1],L=n[c-1],U=M.key,Y=L.key;M===L?(_=M.first,c--,E--):T.has(Y)?!i.has(U)||F.has(U)?ae(M):x.has(Y)?c--:R.get(U)>R.get(Y)?(x.add(U),ae(M)):(F.add(Y),c--):(a(L,i),c--)}for(;c--;){let M=n[c];T.has(M.key)||a(M,i)}for(;E;)ae(d[E-1]);return G(k),d}var $n=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Or=new Set([...$n]);function Gt(n,e,t){let l=n.$$.props[e];l!==void 0&&(n.$$.bound[l]=t,t(n.$$.ctx[l]))}function Ge(n){n&&n.c()}function he(n,e,t,l){let{fragment:s,after_update:r}=n.$$;s&&s.m(e,t),l||Ze(()=>{let i=n.$$.on_mount.map(Qe).filter(qe);n.$$.on_destroy?n.$$.on_destroy.push(...i):G(i),n.$$.on_mount=[]}),r.forEach(Ze)}function oe(n,e){let t=n.$$;t.fragment!==null&&(xn(t.after_update),G(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function el(n,e){n.$$.dirty[0]===-1&&(te.push(n),Zn(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{let u=E.length?E[0]:c;return h.ctx&&s(h.ctx[f],h.ctx[f]=u)&&(!h.skip_bound&&h.bound[f]&&h.bound[f](u),_&&el(n,f)),c}):[],h.update(),_=!0,G(h.before_update),h.fragment=l?l(h.ctx):!1,e.target){if(e.hydrate){Vn();let f=Kn(e.target);h.fragment&&h.fragment.l(f),f.forEach(v)}else h.fragment&&h.fragment.c();e.intro&&D(n.$$.fragment),he(n,e.target,e.anchor,e.customElement),Wn(),Pt()}fe(a)}var tl;typeof HTMLElement=="function"&&(tl=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:n}=this.$$;this.$$.on_disconnect=n.map(Qe).filter(qe);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(n,e,t){this[n]=t}disconnectedCallback(){G(this.$$.on_disconnect)}$destroy(){oe(this,1),this.$destroy=j}$on(n,e){if(!qe(e))return j;let t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{let l=t.indexOf(e);l!==-1&&t.splice(l,1)}}$set(n){this.$$set&&!zt(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}});var q=class{$destroy(){oe(this,1),this.$destroy=j}$on(e,t){if(!qe(t))return j;let l=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return l.push(t),()=>{let s=l.indexOf(t);s!==-1&&l.splice(s,1)}}$set(e){this.$$set&&!zt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function z(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=97&&e<=122||e>=65&&e<=90}function Q(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=48&&e<=57}function K(n){return z(n)||Q(n)}var Vt=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var et={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var nl={}.hasOwnProperty;function Ve(n,e={}){let t=Wt(),l=String(n),s=l.toLowerCase(),r=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(nl.call(et,s)){let o=et[s];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof o=="string"?Ve(o):(t[Vt.includes(s)?"regular":"irregular"]=l,t)}for(;z(s.charCodeAt(r))&&r<9;)r++;if(r>1&&r<9){if(t.language=l.slice(0,r),r<4){let o=0;for(;s.charCodeAt(r)===45&&z(s.charCodeAt(r+1))&&z(s.charCodeAt(r+2))&&z(s.charCodeAt(r+3))&&!z(s.charCodeAt(r+4));){if(o>2)return i(r,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(l.slice(r+1,r+4)),r+=4,o++}}for(s.charCodeAt(r)===45&&z(s.charCodeAt(r+1))&&z(s.charCodeAt(r+2))&&z(s.charCodeAt(r+3))&&z(s.charCodeAt(r+4))&&!z(s.charCodeAt(r+5))&&(t.script=l.slice(r+1,r+5),r+=5),s.charCodeAt(r)===45&&(z(s.charCodeAt(r+1))&&z(s.charCodeAt(r+2))&&!z(s.charCodeAt(r+3))?(t.region=l.slice(r+1,r+3),r+=3):Q(s.charCodeAt(r+1))&&Q(s.charCodeAt(r+2))&&Q(s.charCodeAt(r+3))&&!Q(s.charCodeAt(r+4))&&(t.region=l.slice(r+1,r+4),r+=4));s.charCodeAt(r)===45;){let o=r+1,a=o;for(;K(s.charCodeAt(a));){if(a-o>7)return i(a,1,"Too long variant, expected at most 8 characters");a++}if(a-o>4||a-o>3&&Q(s.charCodeAt(o)))t.variants.push(l.slice(o,a)),r=a;else break}for(;s.charCodeAt(r)===45&&!(s.charCodeAt(r+1)===120||!K(s.charCodeAt(r+1))||s.charCodeAt(r+2)!==45||!K(s.charCodeAt(r+3)));){let o=r+2,a=0;for(;s.charCodeAt(o)===45&&K(s.charCodeAt(o+1))&&K(s.charCodeAt(o+2));){let h=o+1;for(o=h+2,a++;K(s.charCodeAt(o));){if(o-h>7)return i(o,2,"Too long extension, expected at most 8 characters");o++}}if(!a)return i(o,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:l.charAt(r+1),extensions:l.slice(r+3,o).split("-")}),r=o}}else r=0;if(r===0&&s.charCodeAt(r)===120||s.charCodeAt(r)===45&&s.charCodeAt(r+1)===120){r=r?r+2:1;let o=r;for(;s.charCodeAt(o)===45&&K(s.charCodeAt(o+1));){let a=r+1;for(o=a;K(s.charCodeAt(o));){if(o-a>7)return i(o,5,"Too long private-use area, expected at most 8 characters");o++}t.privateuse.push(l.slice(r+1,o)),r=o}}if(r!==l.length)return i(r,6,"Found superfluous content after tag");return t;function i(o,a,h){return e.warning&&e.warning(h,a,o),e.forgiving?t:Wt()}}function Wt(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Jt(n,e,t){let l=n.slice();return l[8]=e[t][0],l[9]=e[t][1],l}function ll(n){let e,t,l,s,r,i=n[0]&&Kt(n);return{c(){i&&i.c(),e=S(),t=C("div"),l=C("p"),l.textContent=`${n[3](30)}`,s=S(),r=C("p"),r.textContent=`${n[3](40)}`,p(l,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),p(r,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),p(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(o,a){i&&i.m(o,a),y(o,e,a),y(o,t,a),b(t,l),b(t,s),b(t,r)},p(o,a){o[0]?i||(i=Kt(o),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(o){i&&i.d(o),o&&v(e),o&&v(t)}}}function sl(n){let e,t,l,s,r=n[1].meta?.title+"",i,o,a,h,_=n[1].excerpt+"",f,c=n[0]&&Yt(n),E=n[2].length&&Zt(n);return{c(){c&&c.c(),e=S(),t=C("div"),l=C("p"),s=C("a"),i=w(r),a=S(),h=C("p"),f=S(),E&&E.c(),p(s,"class","pagefind-ui__result-link svelte-j9e30"),p(s,"href",o=n[1].meta?.url||n[1].url),p(l,"class","pagefind-ui__result-title svelte-j9e30"),p(h,"class","pagefind-ui__result-excerpt svelte-j9e30"),p(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(u,m){c&&c.m(u,m),y(u,e,m),y(u,t,m),b(t,l),b(l,s),b(s,i),b(t,a),b(t,h),h.innerHTML=_,b(t,f),E&&E.m(t,null)},p(u,m){u[0]?c?c.p(u,m):(c=Yt(u),c.c(),c.m(e.parentNode,e)):c&&(c.d(1),c=null),m&2&&r!==(r=u[1].meta?.title+"")&&N(i,r),m&2&&o!==(o=u[1].meta?.url||u[1].url)&&p(s,"href",o),m&2&&_!==(_=u[1].excerpt+"")&&(h.innerHTML=_),u[2].length?E?E.p(u,m):(E=Zt(u),E.c(),E.m(t,null)):E&&(E.d(1),E=null)},d(u){c&&c.d(u),u&&v(e),u&&v(t),E&&E.d()}}}function Kt(n){let e;return{c(){e=C("div"),p(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,l){y(t,e,l)},d(t){t&&v(e)}}}function Yt(n){let e,t=n[1].meta.image&&Xt(n);return{c(){e=C("div"),t&&t.c(),p(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(l,s){y(l,e,s),t&&t.m(e,null)},p(l,s){l[1].meta.image?t?t.p(l,s):(t=Xt(l),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(l){l&&v(e),t&&t.d()}}}function Xt(n){let e,t,l;return{c(){e=C("img"),p(e,"class","pagefind-ui__result-image svelte-j9e30"),se(e.src,t=n[1].meta?.image)||p(e,"src",t),p(e,"alt",l=n[1].meta?.image_alt||n[1].meta?.title)},m(s,r){y(s,e,r)},p(s,r){r&2&&!se(e.src,t=s[1].meta?.image)&&p(e,"src",t),r&2&&l!==(l=s[1].meta?.image_alt||s[1].meta?.title)&&p(e,"alt",l)},d(s){s&&v(e)}}}function Zt(n){let e,t=n[2],l=[];for(let s=0;sn.toLocaleUpperCase();function il(n,e,t){let{show_images:l=!0}=e,{process_result:s=null}=e,{result:r={data:async()=>{}}}=e,i=["title","image","image_alt","url"],o,a=[],h=async f=>{t(1,o=await f.data()),t(1,o=s?.(o)??o),t(2,a=Object.entries(o.meta).filter(([c])=>!i.includes(c)))},_=(f=30)=>". ".repeat(Math.floor(10+Math.random()*f));return n.$$set=f=>{"show_images"in f&&t(0,l=f.show_images),"process_result"in f&&t(4,s=f.process_result),"result"in f&&t(5,r=f.result)},n.$$.update=()=>{if(n.$$.dirty&32)e:h(r)},[l,o,a,_,s,r]}var tt=class extends q{constructor(e){super(),J(this,e,il,rl,V,{show_images:0,process_result:4,result:5})}},$t=tt;function en(n,e,t){let l=n.slice();return l[11]=e[t][0],l[12]=e[t][1],l}function tn(n,e,t){let l=n.slice();return l[15]=e[t],l}function ol(n){let e,t,l,s,r,i=n[0]&&nn(n);return{c(){i&&i.c(),e=S(),t=C("div"),l=C("p"),l.textContent=`${n[5](30)}`,s=S(),r=C("p"),r.textContent=`${n[5](40)}`,p(l,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),p(r,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),p(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(o,a){i&&i.m(o,a),y(o,e,a),y(o,t,a),b(t,l),b(t,s),b(t,r)},p(o,a){o[0]?i||(i=nn(o),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(o){i&&i.d(o),o&&v(e),o&&v(t)}}}function al(n){let e,t,l,s,r=n[1].meta?.title+"",i,o,a,h,_,f=n[0]&&ln(n),c=n[4]&&rn(n),E=n[3],u=[];for(let d=0;dn.toLocaleUpperCase();function cl(n,e,t){let{show_images:l=!0}=e,{process_result:s=null}=e,{result:r={data:async()=>{}}}=e,i=["title","image","image_alt","url"],o,a=[],h=[],_=!1,f=(u,m)=>{if(u.length<=m)return u;let d=[...u].sort((T,R)=>R.locations.length-T.locations.length).slice(0,3).map(T=>T.url);return u.filter(T=>d.includes(T.url))},c=async u=>{t(1,o=await u.data()),t(1,o=s?.(o)??o),t(2,a=Object.entries(o.meta).filter(([m])=>!i.includes(m))),Array.isArray(o.sub_results)&&(t(4,_=o.sub_results?.[0]?.url===(o.meta?.url||o.url)),_?t(3,h=f(o.sub_results.slice(1),3)):t(3,h=f([...o.sub_results],3)))},E=(u=30)=>". ".repeat(Math.floor(10+Math.random()*u));return n.$$set=u=>{"show_images"in u&&t(0,l=u.show_images),"process_result"in u&&t(6,s=u.process_result),"result"in u&&t(7,r=u.result)},n.$$.update=()=>{if(n.$$.dirty&128)e:c(r)},[l,o,a,h,_,E,s,r]}var nt=class extends q{constructor(e){super(),J(this,e,cl,ul,V,{show_images:0,process_result:6,result:7})}},fn=nt;function _n(n,e,t){let l=n.slice();return l[9]=e[t][0],l[10]=e[t][1],l[11]=e,l[12]=t,l}function dn(n,e,t){let l=n.slice();return l[13]=e[t][0],l[14]=e[t][1],l[15]=e,l[16]=t,l}function hn(n){let e,t,l=n[3]("filters_label",n[4],n[5])+"",s,r,i=Object.entries(n[1]),o=[];for(let a=0;an.toLocaleUpperCase();function _l(n,e,t){let{available_filters:l=null}=e,{show_empty_filters:s=!0}=e,{translate:r=()=>""}=e,{automatic_translations:i={}}=e,{translations:o={}}=e,a={},h=!1,_=!1;function f(c,E){a[`${c}:${E}`]=this.checked,t(0,a)}return n.$$set=c=>{"available_filters"in c&&t(1,l=c.available_filters),"show_empty_filters"in c&&t(2,s=c.show_empty_filters),"translate"in c&&t(3,r=c.translate),"automatic_translations"in c&&t(4,i=c.automatic_translations),"translations"in c&&t(5,o=c.translations)},n.$$.update=()=>{if(n.$$.dirty&130){e:if(l&&!h){t(7,h=!0);let c=Object.entries(l||{});c.length===1&&Object.entries(c[0][1])?.length<=6&&t(6,_=!0)}}},[a,l,s,r,i,o,_,h,f]}var lt=class extends q{constructor(e){super(),J(this,e,_l,fl,V,{available_filters:1,show_empty_filters:2,translate:3,automatic_translations:4,translations:5,selected_filters:0})}get selected_filters(){return this.$$.ctx[0]}},bn=lt;var st={};A(st,{comments:()=>hl,default:()=>gl,direction:()=>ml,strings:()=>pl,thanks_to:()=>dl});var dl="Jan Claasen",hl="",ml="ltr",pl={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},gl={thanks_to:dl,comments:hl,direction:ml,strings:pl};var rt={};A(rt,{comments:()=>bl,default:()=>Cl,direction:()=>Rl,strings:()=>Tl,thanks_to:()=>El});var El="Pablo Villaverde ",bl="",Rl="ltr",Tl={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9es resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]..."},Cl={thanks_to:El,comments:bl,direction:Rl,strings:Tl};var it={};A(it,{comments:()=>yl,default:()=>wl,direction:()=>kl,strings:()=>Sl,thanks_to:()=>vl});var vl="Jan Claasen",yl="",kl="ltr",Sl={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche f\xFCr [SEARCH_TERM]"},wl={thanks_to:vl,comments:yl,direction:kl,strings:Sl};var ot={};A(ot,{comments:()=>Ml,default:()=>Nl,direction:()=>Fl,strings:()=>Hl,thanks_to:()=>Al});var Al="Liam Bigelow ",Ml="",Fl="ltr",Hl={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},Nl={thanks_to:Al,comments:Ml,direction:Fl,strings:Hl};var at={};A(at,{comments:()=>jl,default:()=>Ul,direction:()=>Dl,strings:()=>zl,thanks_to:()=>Ol});var Ol="Pablo Villaverde ",jl="",Dl="ltr",zl={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]..."},Ul={thanks_to:Ol,comments:jl,direction:Dl,strings:zl};var ut={};A(ut,{comments:()=>Ll,default:()=>Bl,direction:()=>Pl,strings:()=>ql,thanks_to:()=>Il});var Il="Valtteri Laitinen ",Ll="",Pl="ltr",ql={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},Bl={thanks_to:Il,comments:Ll,direction:Pl,strings:ql};var ct={};A(ct,{comments:()=>Vl,default:()=>Kl,direction:()=>Wl,strings:()=>Jl,thanks_to:()=>Gl});var Gl="Nicolas Friedli ",Vl="",Wl="ltr",Jl={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},Kl={thanks_to:Gl,comments:Vl,direction:Wl,strings:Jl};var ft={};A(ft,{comments:()=>Xl,default:()=>xl,direction:()=>Zl,strings:()=>Ql,thanks_to:()=>Yl});var Yl="Pablo Villaverde ",Xl="",Zl="ltr",Ql={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},xl={thanks_to:Yl,comments:Xl,direction:Zl,strings:Ql};var _t={};A(_t,{comments:()=>es,default:()=>ls,direction:()=>ts,strings:()=>ns,thanks_to:()=>$l});var $l="Amit Yadav ",es="",ts="ltr",ns={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948..."},ls={thanks_to:$l,comments:es,direction:ts,strings:ns};var dt={};A(dt,{comments:()=>rs,default:()=>as,direction:()=>is,strings:()=>os,thanks_to:()=>ss});var ss="Nixentric",rs="",is="ltr",os={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},as={thanks_to:ss,comments:rs,direction:is,strings:os};var ht={};A(ht,{comments:()=>cs,default:()=>ds,direction:()=>fs,strings:()=>_s,thanks_to:()=>us});var us="Cosette Bruhns Alonso, Andrew Janco ",cs="",fs="ltr",_s={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},ds={thanks_to:us,comments:cs,direction:fs,strings:_s};var mt={};A(mt,{comments:()=>ms,default:()=>Es,direction:()=>ps,strings:()=>gs,thanks_to:()=>hs});var hs="Tate",ms="",ps="ltr",gs={placeholder:"\u691C\u7D22",clear_search:"\u6D88\u3059",load_more:"\u3082\u3063\u3068\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u4EF6\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u4EF6\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u4EF6\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059"},Es={thanks_to:hs,comments:ms,direction:ps,strings:gs};var pt={};A(pt,{comments:()=>Rs,default:()=>vs,direction:()=>Ts,strings:()=>Cs,thanks_to:()=>bs});var bs="Paul van Brouwershaven",Rs="",Ts="ltr",Cs={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},vs={thanks_to:bs,comments:Rs,direction:Ts,strings:Cs};var gt={};A(gt,{comments:()=>ks,default:()=>As,direction:()=>Ss,strings:()=>ws,thanks_to:()=>ys});var ys="Christopher Wingate",ks="",Ss="ltr",ws={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]"},As={thanks_to:ys,comments:ks,direction:Ss,strings:ws};var Et={};A(Et,{comments:()=>Fs,default:()=>Os,direction:()=>Hs,strings:()=>Ns,thanks_to:()=>Ms});var Ms="Jonatah",Fs="",Hs="ltr",Ns={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},Os={thanks_to:Ms,comments:Fs,direction:Hs,strings:Ns};var bt={};A(bt,{comments:()=>Ds,default:()=>Is,direction:()=>zs,strings:()=>Us,thanks_to:()=>js});var js="Aleksandr Gordeev",Ds="",zs="ltr",Us={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]"},Is={thanks_to:js,comments:Ds,direction:zs,strings:Us};var Rt={};A(Rt,{comments:()=>Ps,default:()=>Gs,direction:()=>qs,strings:()=>Bs,thanks_to:()=>Ls});var Ls="Andrija Sagicc",Ps="",qs="ltr",Bs={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]..."},Gs={thanks_to:Ls,comments:Ps,direction:qs,strings:Bs};var Tt={};A(Tt,{comments:()=>Ws,default:()=>Ys,direction:()=>Js,strings:()=>Ks,thanks_to:()=>Vs});var Vs="Montazar Al-Jaber ",Ws="",Js="ltr",Ks={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]..."},Ys={thanks_to:Vs,comments:Ws,direction:Js,strings:Ks};var Ct={};A(Ct,{comments:()=>Zs,default:()=>$s,direction:()=>Qs,strings:()=>xs,thanks_to:()=>Xs});var Xs="",Zs="",Qs="ltr",xs={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1"},$s={thanks_to:Xs,comments:Zs,direction:Qs,strings:xs};var vt={};A(vt,{comments:()=>tr,default:()=>sr,direction:()=>nr,strings:()=>lr,thanks_to:()=>er});var er="Taylan \xD6zg\xFCr Bildik",tr="",nr="ltr",lr={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor..."},sr={thanks_to:er,comments:tr,direction:nr,strings:lr};var yt={};A(yt,{comments:()=>ir,default:()=>ur,direction:()=>or,strings:()=>ar,thanks_to:()=>rr});var rr="Amber Song",ir="",or="ltr",ar={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},ur={thanks_to:rr,comments:ir,direction:or,strings:ar};var kt={};A(kt,{comments:()=>fr,default:()=>hr,direction:()=>_r,strings:()=>dr,thanks_to:()=>cr});var cr="Amber Song",fr="",_r="ltr",dr={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F09\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u7D22",filters_label:"\u7BE9\u9078",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},hr={thanks_to:cr,comments:fr,direction:_r,strings:dr};var St={};A(St,{comments:()=>pr,default:()=>br,direction:()=>gr,strings:()=>Er,thanks_to:()=>mr});var mr="Amber Song",pr="",gr="ltr",Er={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},br={thanks_to:mr,comments:pr,direction:gr,strings:Er};var Rr=[st,rt,it,ot,at,ut,ct,ft,_t,dt,ht,mt,pt,gt,Et,bt,Rt,Tt,Ct,vt,yt,kt,St],Rn=Rr,Tn=["../../translations/af.json","../../translations/ca.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/hi.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/nl.json","../../translations/no.json","../../translations/pt.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/ta.json","../../translations/tr.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function Cn(n,e,t){let l=n.slice();return l[47]=e[t],l}function vn(n){let e,t,l;function s(i){n[33](i)}let r={show_empty_filters:n[4],available_filters:n[16],translate:n[18],automatic_translations:n[17],translations:n[5]};return n[7]!==void 0&&(r.selected_filters=n[7]),e=new bn({props:r}),le.push(()=>Gt(e,"selected_filters",s)),{c(){Ge(e.$$.fragment)},m(i,o){he(e,i,o),l=!0},p(i,o){let a={};o[0]&16&&(a.show_empty_filters=i[4]),o[0]&65536&&(a.available_filters=i[16]),o[0]&131072&&(a.automatic_translations=i[17]),o[0]&32&&(a.translations=i[5]),!t&&o[0]&128&&(t=!0,a.selected_filters=i[7],Lt(()=>t=!1)),e.$set(a)},i(i){l||(D(e.$$.fragment,i),l=!0)},o(i){I(e.$$.fragment,i),l=!1},d(i){oe(e,i)}}}function yn(n){let e,t,l,s,r=[vr,Cr],i=[];function o(a,h){return a[12]?0:1}return t=o(n,[-1,-1]),l=i[t]=r[t](n),{c(){e=C("div"),l.c(),p(e,"class","pagefind-ui__results-area svelte-1d60ae3")},m(a,h){y(a,e,h),i[t].m(e,null),s=!0},p(a,h){let _=t;t=o(a,h),t===_?i[t].p(a,h):(re(),I(i[_],1,1,()=>{i[_]=null}),ie(),l=i[t],l?l.p(a,h):(l=i[t]=r[t](a),l.c()),D(l,1),l.m(e,null))},i(a){s||(D(l),s=!0)},o(a){I(l),s=!1},d(a){a&&v(e),i[t].d()}}}function Cr(n){let e,t,l,s=[],r=new Map,i,o,a;function h(m,d){return m[11].results.length===0?Sr:m[11].results.length===1?kr:yr}let _=h(n,[-1,-1]),f=_(n),c=n[11].results.slice(0,n[15]),E=m=>m[47].id;for(let m=0;mn[15]&&Sn(n);return{c(){e=C("p"),f.c(),t=S(),l=C("ol");for(let m=0;mm[15]?u?u.p(m,d):(u=Sn(m),u.c(),u.m(o.parentNode,o)):u&&(u.d(1),u=null)},i(m){if(!a){for(let d=0;d{a[c]=null}),ie(),s=a[l],s?s.p(e,f):(s=a[l]=o[l](e),s.c()),D(s,1),s.m(r.parentNode,r))},i(_){i||(D(s),i=!0)},o(_){I(s),i=!1},d(_){_&&v(t),a[l].d(_),_&&v(r)}}}function Sn(n){let e,t=n[18]("load_more",n[17],n[5])+"",l,s,r;return{c(){e=C("button"),l=w(t),p(e,"type","button"),p(e,"class","pagefind-ui__button svelte-1d60ae3")},m(i,o){y(i,e,o),b(e,l),s||(r=W(e,"click",n[20]),s=!0)},p(i,o){o[0]&131104&&t!==(t=i[18]("load_more",i[17],i[5])+"")&&N(l,t)},d(i){i&&v(e),s=!1,r()}}}function wn(n){let e,t=n[18]("searching",n[17],n[5]).replace(/\[SEARCH_TERM\]/,n[14])+"",l;return{c(){e=C("p"),l=w(t),p(e,"class","pagefind-ui__message svelte-1d60ae3")},m(s,r){y(s,e,r),b(e,l)},p(s,r){r[0]&147488&&t!==(t=s[18]("searching",s[17],s[5]).replace(/\[SEARCH_TERM\]/,s[14])+"")&&N(l,t)},d(s){s&&v(e)}}}function Mr(n){let e,t,l,s,r,i,o=n[18]("clear_search",n[17],n[5])+"",a,h,_,f,c,E,u,m,d=n[10]&&vn(n),T=n[13]&&yn(n);return{c(){e=C("div"),t=C("form"),l=C("input"),r=S(),i=C("button"),a=w(o),h=S(),_=C("div"),d&&d.c(),f=S(),T&&T.c(),p(l,"class","pagefind-ui__search-input svelte-1d60ae3"),p(l,"type","text"),p(l,"placeholder",s=n[18]("placeholder",n[17],n[5])),p(l,"autocapitalize","none"),p(l,"enterkeyhint","search"),p(i,"class","pagefind-ui__search-clear svelte-1d60ae3"),B(i,"pagefind-ui__suppressed",!n[6]),p(_,"class","pagefind-ui__drawer svelte-1d60ae3"),B(_,"pagefind-ui__hidden",!n[13]),p(t,"class","pagefind-ui__form svelte-1d60ae3"),p(t,"role","search"),p(t,"aria-label",c=n[18]("search_label",n[17],n[5])),p(t,"action","javascript:void(0);"),p(e,"class","pagefind-ui svelte-1d60ae3"),B(e,"pagefind-ui--reset",n[0])},m(R,k){y(R,e,k),b(e,t),b(t,l),xe(l,n[6]),n[30](l),b(t,r),b(t,i),b(i,a),n[31](i),b(t,h),b(t,_),d&&d.m(_,null),b(_,f),T&&T.m(_,null),E=!0,u||(m=[W(l,"focus",n[19]),W(l,"keydown",n[28]),W(l,"input",n[29]),W(i,"click",n[32]),W(t,"submit",Fr)],u=!0)},p(R,k){(!E||k[0]&131104&&s!==(s=R[18]("placeholder",R[17],R[5])))&&p(l,"placeholder",s),k[0]&64&&l.value!==R[6]&&xe(l,R[6]),(!E||k[0]&131104)&&o!==(o=R[18]("clear_search",R[17],R[5])+"")&&N(a,o),(!E||k[0]&64)&&B(i,"pagefind-ui__suppressed",!R[6]),R[10]?d?(d.p(R,k),k[0]&1024&&D(d,1)):(d=vn(R),d.c(),D(d,1),d.m(_,f)):d&&(re(),I(d,1,1,()=>{d=null}),ie()),R[13]?T?(T.p(R,k),k[0]&8192&&D(T,1)):(T=yn(R),T.c(),D(T,1),T.m(_,null)):T&&(re(),I(T,1,1,()=>{T=null}),ie()),(!E||k[0]&8192)&&B(_,"pagefind-ui__hidden",!R[13]),(!E||k[0]&131104&&c!==(c=R[18]("search_label",R[17],R[5])))&&p(t,"aria-label",c),(!E||k[0]&1)&&B(e,"pagefind-ui--reset",R[0])},i(R){E||(D(d),D(T),E=!0)},o(R){I(d),I(T),E=!1},d(R){R&&v(e),n[30](null),n[31](null),d&&d.d(),T&&T.d(),u=!1,G(m)}}}var Fr=n=>n.preventDefault();function Hr(n,e,t){let l={},s=Tn.map(g=>g.match(/([^\/]+)\.json$/)[1]);for(let g=0;gO[g]??H[g]??"";$e(()=>{let g=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",H=Ve(g.toLocaleLowerCase());t(17,Nt=l[`${H.language}-${H.script}-${H.region}`]||l[`${H.language}-${H.region}`]||l[`${H.language}`]||l.en)});let Ot=async()=>{if(!M&&(t(10,M=!0),!k)){let g;try{g=await import(`${r}pagefind.js`)}catch(O){console.error(O),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI",`[DEBUG: Loaded from ${document?.currentScript?.src??"no known script location"}]`].join(` +`))}h||t(22,h=a?12:30);let H={...u||{},excerptLength:h};await g.options(H);for(let O of m){if(!O.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let P=O.bundlePath;delete O.bundlePath,await g.mergeIndex(P,O)}k=g,Fn()}},Fn=async()=>{k&&(Ht=await k.filters(),(!ue||!Object.keys(ue).length)&&t(16,ue=Ht))},Hn=g=>{let H={};return Object.entries(g).filter(([,O])=>O).forEach(([O])=>{let[P,Bn]=O.split(/:(.*)$/);H[P]=H[P]||[],H[P].push(Bn)}),H},ce,Nn=async(g,H)=>{if(!g){t(13,Y=!1),ce&&clearTimeout(ce);return}let O=Hn(H),P=()=>On(g,O);E>0&&g?(ce&&clearTimeout(ce),ce=setTimeout(P,E),await jt(),k.preload(g,{filters:O})):P(),jn()},jt=async()=>{for(;!k;)Ot(),await new Promise(g=>setTimeout(g,50))},On=async(g,H)=>{t(14,Ft=g||""),typeof f=="function"&&(g=f(g)),t(12,U=!0),t(13,Y=!0),await jt();let O=++Mt,P=await k.search(g,{filters:H});Mt===O&&(P.filters&&Object.keys(P.filters)?.length&&t(16,ue=P.filters),t(11,L=P),t(12,U=!1),t(15,Je=5))},jn=()=>{let g=x.offsetWidth;g!=ae&&t(8,F.style.paddingRight=`${g+2}px`,F)},Dn=g=>{g?.preventDefault(),t(15,Je+=5)},zn=g=>{g.key==="Escape"&&(t(6,R=""),F.blur()),g.key==="Enter"&&g.preventDefault()};function Un(){R=this.value,t(6,R),t(21,d)}function In(g){le[g?"unshift":"push"](()=>{F=g,t(8,F)})}function Ln(g){le[g?"unshift":"push"](()=>{x=g,t(9,x)})}let Pn=()=>{t(6,R=""),F.blur()};function qn(g){Ie=g,t(7,Ie)}return n.$$set=g=>{"base_path"in g&&t(23,r=g.base_path),"reset_styles"in g&&t(0,i=g.reset_styles),"show_images"in g&&t(1,o=g.show_images),"show_sub_results"in g&&t(2,a=g.show_sub_results),"excerpt_length"in g&&t(22,h=g.excerpt_length),"process_result"in g&&t(3,_=g.process_result),"process_term"in g&&t(24,f=g.process_term),"show_empty_filters"in g&&t(4,c=g.show_empty_filters),"debounce_timeout_ms"in g&&t(25,E=g.debounce_timeout_ms),"pagefind_options"in g&&t(26,u=g.pagefind_options),"merge_index"in g&&t(27,m=g.merge_index),"trigger_search_term"in g&&t(21,d=g.trigger_search_term),"translations"in g&&t(5,T=g.translations)},n.$$.update=()=>{if(n.$$.dirty[0]&2097152)e:d&&(t(6,R=d),t(21,d=""));if(n.$$.dirty[0]&192)e:Nn(R,Ie)},[i,o,a,_,c,T,R,Ie,F,x,M,L,U,Y,Ft,Je,ue,Nt,Mn,Ot,Dn,d,h,r,f,E,u,m,zn,Un,In,Ln,Pn,qn]}var wt=class extends q{constructor(e){super(),J(this,e,Hr,Mr,V,{base_path:23,reset_styles:0,show_images:1,show_sub_results:2,excerpt_length:22,process_result:3,process_term:24,show_empty_filters:4,debounce_timeout_ms:25,pagefind_options:26,merge_index:27,trigger_search_term:21,translations:5},null,[-1,-1])}},An=wt;var At;try{At=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1]}catch{At="/pagefind/"}var We=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",l=e.bundlePath??At,s=e.resetStyles??!0,r=e.showImages??!0,i=e.showSubResults??!1,o=e.excerptLength??0,a=e.processResult??null,h=e.processTerm??null,_=e.showEmptyFilters??!0,f=e.debounceTimeoutMs??300,c=e.mergeIndex??[],E=e.translations??[];delete e.element,delete e.bundlePath,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations;let u=t instanceof HTMLElement?t:document.querySelector(t);u?this._pfs=new An({target:u,props:{base_path:l,reset_styles:s,show_images:r,show_sub_results:i,excerpt_length:o,process_result:a,process_term:h,show_empty_filters:_,debounce_timeout_ms:f,merge_index:c,translations:E,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}};window.PagefindUI=We;})(); diff --git a/v12.2.0-beta/pagefind/pagefind.en_7b9e5d8b4e.pf_meta b/v12.2.0-beta/pagefind/pagefind.en_7b9e5d8b4e.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..ca4653702fe195cceaa5bbeffdb22febcdeda790 GIT binary patch literal 1054 zcmV+(1mXK1iwFP!00002|2<(F$(>-jnhK?IFEyR$C^1yNKGjE{&Be9XQy zAtpgld=(+rU}a}vBO(Zbe}LFoC{_yo3l_GbwS~_8W^T&!?YA>$&p9*K`Hi_QT^+BD zK5k7s=gx&MZr!{*ugZt)OU3Q*`3~9j7~+ICcN8NP#s(klC?JQCX*>L-zlMd51m3yB z+#*Gn;jSHFDQ+}^XBCZ*aCx|IN4{2H0>M2yDl~C;59hQ;$dP-6A9h5&BD04lmCfoc z!~(Bsl@u4&Wc^}jc_6`W%B4!pHMYa$9rm?G&dJCWVosEx8#TXZRQPsBsmf`H5O>s? zFC`#6qi1~<3JJbc-3aSQqTA1UIEM4n!%gLlY38ut4?S}fkODlS4f{Ch0{1G@;(IF- zP+yU$ht`cK`&qDf_)O0Tk!FDhv}O){h(#b8GCi zHY3wp_B|%kH~27xDZHS*w7i5kykbQw_m$u&C6ifrHHZ(jpGG1q(|(e#2%o`g@*t$&ue zrXE zoNOzF*`Z`D+deMU=Z3|`smL%lS&zD(N~uk@zM+L#^o~ZZ+8 zg@ubQmNsRaB)_SWEEP0-4beBSQ(TFb^%=J4B@-<2!QBGtCT zPxdpm71ws=dHuO!nKJB0bbQQiUV7{LwYPUeR}y*C@&4tV@g84!SD(Y&DId?14?O<< Y>bviE#q)}__8T|;2VzhWkF*B>03AIE=Kufz literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/pagefind/pagefind.js b/v12.2.0-beta/pagefind/pagefind.js new file mode 100644 index 00000000..7954ecf9 --- /dev/null +++ b/v12.2.0-beta/pagefind/pagefind.js @@ -0,0 +1,9 @@ +const pagefind_version="1.0.3";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document==='undefined'){script_src=location.href}else{script_src=new URL("UNHANDLED",location.href).toString()}let wasm;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1);getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}__exports.init_pagefind=function(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret};__exports.load_index_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret};__exports.load_filter_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret};const cachedTextEncoder=new TextEncoder('utf-8');const encodeString=(typeof cachedTextEncoder.encodeInto==='function'?function(arg,view){return cachedTextEncoder.encodeInto(arg,view)}:function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}});function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length);getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len);const mem=getUint8Memory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code}if(offset!==len){if(offset!==0){arg=arg.slice(offset)}ptr=realloc(ptr,len,len=offset+arg.length*3);const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written}WASM_VECTOR_LEN=offset;return ptr}__exports.add_synthetic_filter=function(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=new TextDecoder('utf-8',{ignoreBOM:true,fatal:true});cachedTextDecoder.decode();function getStringFromWasm0(ptr,len){return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};__exports.request_filter_indexes=function(ptr,filters){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_filter_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};__exports.request_all_filter_indexes=function(ptr){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.request_all_filter_indexes(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};__exports.filters=function(ptr){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.filters(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};__exports.search=function(ptr,query,filter,sort,exact){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;wasm.search(retptr,ptr,ptr0,len0,ptr1,len1,ptr2,len2,exact);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};async function load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get('Content-Type')!='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module}}else{return instance}}}function getImports(){const imports={};imports.wbg={};return imports}function initMemory(imports,maybe_memory){}function finalizeInit(instance,module){wasm=instance.exports;init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){const imports=getImports();initMemory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return finalizeInit(instance,module)}async function init(input){if(typeof input==='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=getImports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}initMemory(imports);const{instance,module}=await load(await input,imports);return finalizeInit(instance,module)}wasm_bindgen=Object.assign(init,{initSync},__exports)})();var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2]}}}return co};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2]}return m};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7)};var shft=function(p){return(p+7)/8|0};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1)}else err(1);if(pos>tbts){if(noSt)err(0);break}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2)};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)))}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score}if(words.length<=excerpt_length){return 0}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2]}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2)}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B")}else{fragment_words=content.split(/[\r\n\s]+/g)}for(let word of locations){if(fragment_words[word]?.startsWith(``)){continue}fragment_words[word]=`${fragment_words[word]}`}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length}if(start{const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\w/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:fragment.url,weighted_locations:[],locations:[],excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position}});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;current_anchor.excerpt=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);results.push(current_anchor)}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift()}let anchored_url=fragment.url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString()}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"")}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`)}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:""}}}add_result(anchors[0]?.location);return results};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms))};var PagefindInstance=class{constructor(opts={}){this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;this.basePath=opts.basePath||"/pagefind/";this.primary=opts.primary||false;if(this.primary&&!opts.basePath){this.initPrimary()}if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`}if(window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,"")}this.baseUrl=opts.baseUrl||this.defaultBaseUrl();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){let derivedBasePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];if(derivedBasePath){this.basePath=derivedBasePath}else{console.warn(["Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.","Set a basePath option when initialising Pagefind to ignore this message."].join("\n"))}}defaultBaseUrl(){let default_base=this.basePath.match(/^(.*\/)_?pagefind/)?.[1];return default_base||"/"}async options(options2){const opts=["basePath","baseUrl","indexWeight","excerptLength","mergeFilter"];for(const[k,v]of Object.entries(options2)){if(k==="mergeFilter"){let filters2=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}else if(opts.includes(k)){if(k==="basePath"&&typeof v==="string")this.basePath=v;if(k==="baseUrl"&&typeof v==="string")this.baseUrl=v;if(k==="indexWeight"&&typeof v==="number")this.indexWeight=v;if(k==="excerptLength"&&typeof v==="number")this.excerptLength=v;if(k==="mergeFilter"&&typeof v==="object")this.mergeFilter=v}else{console.warn(`Unknown Pagefind option ${k}. Allowed options: [${opts.join(", ")}]`)}}}decompress(data,file="unknown file"){if(this.decoder.decode(data.slice(0,12))==="pagefind_dcd"){return data.slice(12)}data=gz_default(data);if(this.decoder.decode(data.slice(0,12))!=="pagefind_dcd"){console.error(`Decompressing ${file} appears to have failed: Missing signature`);return data}return data.slice(12)}async init(language,opts){await this.loadEntry();let index=this.findIndex(language);let lang_wasm=index.wasm?index.wasm:"unknown";let resources=[this.loadMeta(index.hash)];if(opts.load_wasm===true){resources.push(this.loadWasm(lang_wasm))}await Promise.all(resources);this.raw_ptr=this.backend.init_pagefind(new Uint8Array(this.searchMeta));if(Object.keys(this.mergeFilter)?.length){let filters2=this.stringifyFilters(this.mergeFilter);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}}async loadEntry(){try{let entry_response=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);let entry_json=await entry_response.json();this.languages=entry_json.languages;if(entry_json.version!==this.version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${this.version}. Pagefind index: ${entry_json.version}`,"If you upgraded Pagefind recently, you likely have a cached pagefind.js file.","If you encounter any search errors, try clearing your cache."].join("\n"))}else{console.warn(["Merging a Pagefind index from a different version than the main Pagefind instance.",`Main Pagefind JS: ${this.version}. Merged index (${this.basePath}): ${entry_json.version}`,"If you encounter any search errors, make sure that both sites are running the same version of Pagefind."].join("\n"))}}}catch(e){console.error(`Failed to load Pagefind metadata: +${e?.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index: +${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM: +${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: +${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}: +${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let compressed_resp=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,weighted_locations=[]){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"")}if(!fragment.raw_url){fragment.raw_url=fragment.url;fragment.url=this.fullUrl(fragment.raw_url)}const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);fragment.excerpt=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment}fullUrl(raw){return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}async getPtr(){while(this.raw_ptr===null){await asyncSleep(50)}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)")}return this.raw_ptr}parseFilters(str){let output={};if(!str)return output;for(const block of str.split("__PF_FILTER_DELIM__")){let[filter,values]=block.split(/:(.*)$/);output[filter]={};if(values){for(const valueBlock of values.split("__PF_VALUE_DELIM__")){if(valueBlock){let extract=valueBlock.match(/^(.*):(\d+)$/);if(extract){let[,value,count]=extract;output[filter][value]=parseInt(count)??count}}}}}return output}stringifyFilters(obj={}){return JSON.stringify(obj)}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`)}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`)}return`${sort}:${direction}`}return``}async filters(){let ptr=await this.getPtr();let filters2=this.backend.request_all_filter_indexes(ptr);let filter_chunks=filters2.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);ptr=await this.getPtr();let results=this.backend.filters(ptr);return this.parseFilters(results)}async preload(term,options2={}){options2.preload=true;await this.search(term,options2)}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.verbose)console.log(str)};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`)}term=term.toLowerCase().trim().replace(/[\.`~!@#\$%\^&\*\(\)\{\}\[\]\\\|:;'",<>\/\?\-]/g,"").replace(/\s{2,}/g," ").trim();log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}}}let sort_list=this.stringifySorts(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let chunks=index_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,filter_list,sort_list,exact_search);log(`Got the raw search result: ${result}`);let[unfilteredResultCount,all_results,filters2,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters2);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);let results=all_results.length?all_results.split(" "):[];let resultsInterface=results.map((result2)=>{let[hash,score,all_locations]=result2.split("@");log(`Processing result: + hash:${hash} + score:${score} + locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations)}});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);return{results:resultsInterface,unfilteredResultCount:parseInt(unfilteredResultCount),filters:filterObj,totalFilters:totalFilterObj,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}}}};var Pagefind=class{constructor(options2={}){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language)}async options(options2){await this.primary.options(options2)}async init(overrideLanguage){if(document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options2={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return}let newInstance=new PagefindInstance({primary:false,basePath:indexPath});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50)}await newInstance.init(options2.language||this.primaryLanguage,{load_wasm:false});delete options2["language"];await newInstance.options(options2)}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count}}}}return merged}async filters(){let filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2)}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)))}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters:filters2,totalFilters,timings}}};var pagefind=void 0;var initial_options=void 0;var init_pagefind=()=>{if(!pagefind){pagefind=new Pagefind(initial_options??{})}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options)}else{initial_options=new_options}};var init=async()=>{init_pagefind()};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2)};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2)};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs)};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2)};var filters=async()=>{init_pagefind();return await pagefind.filters()};export{debouncedSearch,filters,init,mergeIndex,options,preload,search} \ No newline at end of file diff --git a/v12.2.0-beta/pagefind/wasm.en.pagefind b/v12.2.0-beta/pagefind/wasm.en.pagefind new file mode 100644 index 0000000000000000000000000000000000000000..753324d23084fb2556ce67c83495941abf0bd664 GIT binary patch literal 60991 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%0ATRZmr;5E6!=fTn^?| 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 literal 0 HcmV?d00001 diff --git a/v12.2.0-beta/parity/100.svg b/v12.2.0-beta/parity/100.svg new file mode 100644 index 00000000..3ee78cb4 --- /dev/null +++ b/v12.2.0-beta/parity/100.svg @@ -0,0 +1,30 @@ + + + 100 + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/v12.2.0-beta/parity/no.svg b/v12.2.0-beta/parity/no.svg new file mode 100644 index 00000000..53e4dca4 --- /dev/null +++ b/v12.2.0-beta/parity/no.svg @@ -0,0 +1,22 @@ + + + no + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/v12.2.0-beta/parity/null.svg b/v12.2.0-beta/parity/null.svg new file mode 100644 index 00000000..6404fccc --- /dev/null +++ b/v12.2.0-beta/parity/null.svg @@ -0,0 +1,41 @@ + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/v12.2.0-beta/parity/soon.svg b/v12.2.0-beta/parity/soon.svg new file mode 100644 index 00000000..456e6fa6 --- /dev/null +++ b/v12.2.0-beta/parity/soon.svg @@ -0,0 +1,35 @@ + + + soon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/v12.2.0-beta/parity/yes.svg b/v12.2.0-beta/parity/yes.svg new file mode 100644 index 00000000..43323998 --- /dev/null +++ b/v12.2.0-beta/parity/yes.svg @@ -0,0 +1,22 @@ + + + yes + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/v12.2.0-beta/playground/index.html b/v12.2.0-beta/playground/index.html new file mode 100644 index 00000000..11465f09 --- /dev/null +++ b/v12.2.0-beta/playground/index.html @@ -0,0 +1,4 @@ +Radashi Playground + + \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/alphabetical/index.html b/v12.2.0-beta/reference/array/alphabetical/index.html new file mode 100644 index 00000000..9199beb6 --- /dev/null +++ b/v12.2.0-beta/reference/array/alphabetical/index.html @@ -0,0 +1,95 @@ + alphabetical | Radashi + + Skip to content

    alphabetical

    Sorts an array of objects alphabetically by a property

    186 bytes +

    Usage

    +

    Given an array of objects and a callback function used to determine +the property to use for sorting, return a new array with the objects +sorted alphabetically. A third, and optional, argument allows you to +sort in descending order instead of the default ascending order.

    +

    For numerical sorting, see the sort function.

    +
    import * as _ from 'radashi'
    +
    const gods = [
    {
    name: 'Ra',
    power: 100,
    },
    {
    name: 'Zeus',
    power: 98,
    },
    {
    name: 'Loki',
    power: 72,
    },
    {
    name: 'Vishnu',
    power: 100,
    },
    ]
    +
    _.alphabetical(gods, g => g.name) // => [Loki, Ra, Vishnu, Zeus]
    _.alphabetical(gods, g => g.name, 'desc') // => [Zeus, Vishnu, Ra, Loki]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/boil/index.html b/v12.2.0-beta/reference/array/boil/index.html new file mode 100644 index 00000000..44a8e283 --- /dev/null +++ b/v12.2.0-beta/reference/array/boil/index.html @@ -0,0 +1,91 @@ + boil | Radashi + + Skip to content

    boil

    Reduce a list of items down to one item

    80 bytes +

    Usage

    +

    Given an array of items return the final item that wins the comparison condition. Useful for more complicated min/max.

    +
    import * as _ from 'radashi'
    +
    const gods = [
    {
    name: 'Ra',
    power: 100,
    },
    {
    name: 'Zeus',
    power: 98,
    },
    {
    name: 'Loki',
    power: 72,
    },
    ]
    +
    _.boil(gods, (a, b) => (a.power > b.power ? a : b))
    // => { name: 'Ra', power: 100 }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/castArray/index.html b/v12.2.0-beta/reference/array/castArray/index.html new file mode 100644 index 00000000..b7326f27 --- /dev/null +++ b/v12.2.0-beta/reference/array/castArray/index.html @@ -0,0 +1,90 @@ + castArray | Radashi + + Skip to content

    castArray

    Cast a value into an array

    76 bytes +

    Usage

    +

    The castArray function ensures that the input value is always returned as an array. If the input is already an array, it returns a shallow copy of the array. If the input is not an array, it wraps the input in a new array.

    +
    import * as _ from 'radashi'
    +
    _.castArray(1) // => [1]
    _.castArray([1, 2, 3]) // => [1, 2, 3]
    _.castArray('hello') // => ['hello']
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/castArrayIfExists/index.html b/v12.2.0-beta/reference/array/castArrayIfExists/index.html new file mode 100644 index 00000000..89c41350 --- /dev/null +++ b/v12.2.0-beta/reference/array/castArrayIfExists/index.html @@ -0,0 +1,90 @@ + castArrayIfExists | Radashi + + Skip to content

    castArrayIfExists

    Cast a non-nullish value into an array

    94 bytes +

    Usage

    +

    The castArrayIfExists function ensures that a non-nullish input value is always returned as an array. If the input is already an array, it returns a shallow copy of the array. If the input is not an array, it wraps the input in a new array. Nullish values (null or undefined) are passed through as is.

    +
    import * as _ from 'radashi'
    +
    _.castArrayIfExists(1) // => [1]
    _.castArrayIfExists([1, 2, 3]) // => [1, 2, 3]
    _.castArrayIfExists('hello') // => ['hello']
    _.castArrayIfExists(null) // => null
    _.castArrayIfExists(undefined) // => undefined
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/cluster/index.html b/v12.2.0-beta/reference/array/cluster/index.html new file mode 100644 index 00000000..e21180d6 --- /dev/null +++ b/v12.2.0-beta/reference/array/cluster/index.html @@ -0,0 +1,93 @@ + cluster | Radashi + + Skip to content

    cluster

    Split a list into many lists of the given size

    109 bytes +

    Usage

    +

    Given an array of items and a desired cluster size (n), returns an array +of arrays. Each child array containing n (cluster size) items +split as evenly as possible.

    +
    import * as _ from 'radashi'
    +
    const gods = [
    'Ra',
    'Zeus',
    'Loki',
    'Vishnu',
    'Icarus',
    'Osiris',
    'Thor',
    'Apollo',
    'Artemis',
    'Athena',
    ]
    +
    _.cluster(gods, 3)
    // => [
    // [ 'Ra', 'Zeus', 'Loki' ],
    // [ 'Vishnu', 'Icarus', 'Osiris' ],
    // ['Thor', 'Apollo', 'Artemis'],
    // ['Athena']
    // ]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/counting/index.html b/v12.2.0-beta/reference/array/counting/index.html new file mode 100644 index 00000000..7afd2589 --- /dev/null +++ b/v12.2.0-beta/reference/array/counting/index.html @@ -0,0 +1,94 @@ + counting | Radashi + + Skip to content

    counting

    Creates an object with counts of occurrences of items

    110 bytes +

    Usage

    +

    Given an array of objects and an identity callback function to determine +how each object should be identified. Returns an object where the keys +are the id values the callback returned and each value is an integer +telling how many times that id occurred.

    +
    import * as _ from 'radashi'
    +
    const gods = [
    {
    name: 'Ra',
    culture: 'egypt',
    },
    {
    name: 'Zeus',
    culture: 'greek',
    },
    {
    name: 'Loki',
    culture: 'greek',
    },
    ]
    +
    _.counting(gods, g => g.culture) // => { egypt: 1, greek: 2 }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/diff/index.html b/v12.2.0-beta/reference/array/diff/index.html new file mode 100644 index 00000000..9ceb113f --- /dev/null +++ b/v12.2.0-beta/reference/array/diff/index.html @@ -0,0 +1,92 @@ + diff | Radashi + + Skip to content

    diff

    Create an array of differences between two arrays

    209 bytes +

    Usage

    +

    Given two arrays, returns an array of all items that exist in the first array +but do not exist in the second array.

    +
    import * as _ from 'radashi'
    +
    const oldWorldGods = ['ra', 'zeus']
    const newWorldGods = ['vishnu', 'zeus']
    +
    _.diff(oldWorldGods, newWorldGods) // => ['ra']
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/first/index.html b/v12.2.0-beta/reference/array/first/index.html new file mode 100644 index 00000000..8579c656 --- /dev/null +++ b/v12.2.0-beta/reference/array/first/index.html @@ -0,0 +1,91 @@ + first | Radashi + + Skip to content

    first

    Get the first item from a list

    62 bytes +

    Usage

    +

    Given an array of items return the first item or a default value if no items exists.

    +
    import * as _ from 'radashi'
    +
    const gods = ['ra', 'loki', 'zeus']
    +
    _.first(gods) // => 'ra'
    _.first([], 'vishnu') // => 'vishnu'
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/flat/index.html b/v12.2.0-beta/reference/array/flat/index.html new file mode 100644 index 00000000..8d5917d4 --- /dev/null +++ b/v12.2.0-beta/reference/array/flat/index.html @@ -0,0 +1,92 @@ + flat | Radashi + + Skip to content

    flat

    Flatten an array of arrays into a single dimension

    77 bytes +

    Usage

    +

    Given an array that contains many arrays, return a new array where all items from the children are present at the top level.

    +
    import * as _ from 'radashi'
    +
    const gods = [['ra', 'loki'], ['zeus']]
    +
    _.flat(gods) // => [ra, loki, zeus]
    +

    Note, _.flat is not recursive and will not flatten children of children of children … of children. It will only flatten T[][] an array of arrays.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/fork/index.html b/v12.2.0-beta/reference/array/fork/index.html new file mode 100644 index 00000000..a546a286 --- /dev/null +++ b/v12.2.0-beta/reference/array/fork/index.html @@ -0,0 +1,91 @@ + fork | Radashi + + Skip to content

    fork

    Split an array into two arrays by a condition

    98 bytes +

    Usage

    +

    Given an array of items and a condition, returns two arrays where the first contains all items that passed the condition and the second contains all items that failed the condition.

    +
    import * as _ from 'radashi'
    +
    const gods = [
    {
    name: 'Ra',
    power: 100,
    },
    {
    name: 'Zeus',
    power: 98,
    },
    {
    name: 'Loki',
    power: 72,
    },
    {
    name: 'Vishnu',
    power: 100,
    },
    ]
    +
    const [finalGods, lesserGods] = _.fork(gods, f => f.power > 90) // [[ra, vishnu, zeus], [loki]]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/group/index.html b/v12.2.0-beta/reference/array/group/index.html new file mode 100644 index 00000000..5f963c22 --- /dev/null +++ b/v12.2.0-beta/reference/array/group/index.html @@ -0,0 +1,91 @@ + group | Radashi + + Skip to content

    group

    Sort an array of items into groups

    114 bytes +

    Usage

    +

    Given an array of items, group will build up an object where each key is an array of the items that belong in that group. Generally, this can be useful to categorize an array.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    source: 'ocean',
    },
    {
    name: 'Bass',
    source: 'lake',
    },
    {
    name: 'Trout',
    source: 'lake',
    },
    ]
    +
    const fishBySource = _.group(fish, f => f.source) // => { ocean: [marlin], lake: [bass, trout] }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/intersects/index.html b/v12.2.0-beta/reference/array/intersects/index.html new file mode 100644 index 00000000..63873054 --- /dev/null +++ b/v12.2.0-beta/reference/array/intersects/index.html @@ -0,0 +1,93 @@ + intersects | Radashi + + Skip to content

    intersects

    Determine if two arrays have a common item

    154 bytes +

    Usage

    +

    Given two arrays of items, returns true if any item exists in both arrays.

    +
    import * as _ from 'radashi'
    +
    const oceanFish = ['tuna', 'tarpon']
    const lakeFish = ['bass', 'trout']
    +
    _.intersects(oceanFish, lakeFish) // => false
    +
    const brackishFish = ['tarpon', 'snook']
    +
    _.intersects(oceanFish, brackishFish) // => true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/iterate/index.html b/v12.2.0-beta/reference/array/iterate/index.html new file mode 100644 index 00000000..8d9bde71 --- /dev/null +++ b/v12.2.0-beta/reference/array/iterate/index.html @@ -0,0 +1,91 @@ + iterate | Radashi + + Skip to content

    iterate

    Iterate over a callback n times

    87 bytes +

    Usage

    +

    A bit like forEach meets reduce. Useful for running a function n number of times to generate a value. The _.iterate function takes a count (the number of times to run the callback), a callback function, and an initial value. The callback is run count many times as a reducer and the accumulated value is then returned.

    +
    import * as _ from 'radashi'
    +
    const value = _.iterate(
    4,
    (acc, idx) => {
    return acc + idx
    },
    0,
    ) // => 10
    +

    Note, this is NOT zero indexed. If you pass a count of 5 you will get an index of 1, 2, 3, 4, 5 in the callback function.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/last/index.html b/v12.2.0-beta/reference/array/last/index.html new file mode 100644 index 00000000..5cff4bfc --- /dev/null +++ b/v12.2.0-beta/reference/array/last/index.html @@ -0,0 +1,91 @@ + last | Radashi + + Skip to content

    last

    Get the last item from a list

    70 bytes +

    Usage

    +

    Given an array of items return the last item or a default value if no items exists.

    +
    import * as _ from 'radashi'
    +
    const fish = ['marlin', 'bass', 'trout']
    +
    const lastFish = _.last(fish) // => 'trout'
    const lastItem = _.last([], 'bass') // => 'bass'
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/list/index.html b/v12.2.0-beta/reference/array/list/index.html new file mode 100644 index 00000000..45fc4b0b --- /dev/null +++ b/v12.2.0-beta/reference/array/list/index.html @@ -0,0 +1,105 @@ + list | Radashi + + Skip to content

    list

    Create a list with specific items

    219 bytes +

    Usage

    +

    Given a start, end, value, and step size returns a list with values from start to end by step size.

    +

    The interface is identical to range.

    +

    A hat tip to Python’s range functionality

    +
    import * as _ from 'radashi'
    +
    _.list(3) // [0, 1, 2, 3]
    _.list(0, 3) // [0, 1, 2, 3]
    _.list(0, 3, 'y') // [y, y, y, y]
    _.list(0, 3, () => 'y') // [y, y, y, y]
    _.list(0, 3, i => i) // [0, 1, 2, 3]
    _.list(0, 3, i => `y${i}`) // [y0, y1, y2, y3]
    _.list(0, 3, obj) // [obj, obj, obj, obj]
    _.list(0, 6, i => i, 2) // [0, 2, 4, 6]
    +

    Signatures

    +

    list(size)

    +

    When givin a single argument, it’s treated as the size. Returns a list with values from 0 to size.

    +
    _.list(3) // [0, 1, 2, 3]
    +

    list(start, end)

    +

    When given two arguments, they’re treated as the start and end. Returns a list with values from start to end

    +
    _.list(2, 6) // [2, 3, 4, 5, 6]
    +

    list(start, end, value)

    +

    When given a third argument it’s treated as the value to be used in the list. If the value is a function it will be called, with an index argument, to create every value.

    +
    _.list(2, 4, {}) // [{}, {}, {}]
    _.list(2, 4, null) // [null, null, null]
    _.list(2, 4, i => i) // [2, 3, 4]
    +

    list(start, end, value, step)

    +

    When given a fourth argument it’s treated as the step size to skip when generating values from start to end.

    +
    _.list(2, 4, i => i, 2) // [2, 4]
    _.list(25, 100, i => i, 25) // [25, 50, 75, 100]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/mapify/index.html b/v12.2.0-beta/reference/array/mapify/index.html new file mode 100644 index 00000000..3ecec936 --- /dev/null +++ b/v12.2.0-beta/reference/array/mapify/index.html @@ -0,0 +1,110 @@ + mapify | Radashi + + Skip to content

    mapify

    Convert an array to a map

    113 bytes +

    Usage

    +

    The mapify function converts an array into a Map object, allowing you to specify how keys and values are derived from each array item.

    +

    Parameters

    +
      +
    1. array: The input array to be converted into a Map.
    2. +
    3. getKey: A function that determines the key for each item in the array. It receives two arguments: +
        +
      • item: The current array item.
      • +
      • index: The index of the current item in the array.
      • +
      +
    4. +
    5. getValue (optional): A function that determines the value for each item in the array. If not provided, the original array item is used as the value. It also receives two arguments: +
        +
      • item: The current array item.
      • +
      • index: The index of the current item in the array.
      • +
      +
    6. +
    +

    Return Value

    +

    Returns a new Map object where keys and values are derived from the input array using the provided mapping functions.

    +

    Example

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    },
    {
    name: 'Bass',
    weight: 8,
    },
    {
    name: 'Trout',
    weight: 13,
    },
    ]
    +
    _.mapify(fish, f => f.name) // => Map(3) {'Marlin' => { name: 'Marlin', weight: 105 }, 'Bass' => { name: 'Bass', weight: 8 }, 'Trout' => { name: 'Trout', weight: 13 }}
    _.mapify(
    fish,
    f => f.name,
    f => f.weight,
    ) // => Map(3) { 'Marlin' => 105, 'Bass' => 8, 'Trout' => 13 }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/merge/index.html b/v12.2.0-beta/reference/array/merge/index.html new file mode 100644 index 00000000..08ca3f91 --- /dev/null +++ b/v12.2.0-beta/reference/array/merge/index.html @@ -0,0 +1,93 @@ + merge | Radashi + + Skip to content

    merge

    Combine two lists overriding items in the first

    185 bytes +

    Usage

    +

    Given two arrays of items and an identity function, returns the first +list with all items from the second list where there was a match.

    +
    import * as _ from 'radashi'
    +
    const gods = [
    {
    name: 'Zeus',
    power: 92,
    },
    {
    name: 'Ra',
    power: 97,
    },
    ]
    +
    const newGods = [
    {
    name: 'Zeus',
    power: 100,
    },
    ]
    +
    _.merge(gods, newGods, f => f.name) // => [{name: "Zeus" power: 100}, {name: "Ra", power: 97}]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/objectify/index.html b/v12.2.0-beta/reference/array/objectify/index.html new file mode 100644 index 00000000..1e4cb9e8 --- /dev/null +++ b/v12.2.0-beta/reference/array/objectify/index.html @@ -0,0 +1,93 @@ + objectify | Radashi + + Skip to content

    objectify

    Convert a list to a dictionary object

    91 bytes +

    Usage

    +

    Given an array of items, create a dictionary with keys and values mapped by given functions. +First argument is the array to map. The second argument is the function to determine the key +for each item. The third argument is optional and determines the value for each item.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    },
    {
    name: 'Bass',
    weight: 8,
    },
    {
    name: 'Trout',
    weight: 13,
    },
    ]
    +
    _.objectify(fish, f => f.name) // => { Marlin: [marlin object], Bass: [bass object], ... }
    _.objectify(
    fish,
    f => f.name,
    f => f.weight,
    ) // => { Marlin: 105, Bass: 8, Trout: 13 }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/replace/index.html b/v12.2.0-beta/reference/array/replace/index.html new file mode 100644 index 00000000..09e7c8a1 --- /dev/null +++ b/v12.2.0-beta/reference/array/replace/index.html @@ -0,0 +1,92 @@ + replace | Radashi + + Skip to content

    replace

    Replace an item in an array

    161 bytes +

    Usage

    +

    Given an array of items, replace the one that matches the given condition function. Only replaces the first match. Always returns a copy of the original array.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    },
    {
    name: 'Bass',
    weight: 8,
    },
    {
    name: 'Trout',
    weight: 13,
    },
    ]
    +
    const salmon = {
    name: 'Salmon',
    weight: 22,
    }
    +
    // read: replace fish with salmon where the name is Bass
    _.replace(fish, salmon, f => f.name === 'Bass') // => [marlin, salmon, trout]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/replaceOrAppend/index.html b/v12.2.0-beta/reference/array/replaceOrAppend/index.html new file mode 100644 index 00000000..1f42fd25 --- /dev/null +++ b/v12.2.0-beta/reference/array/replaceOrAppend/index.html @@ -0,0 +1,93 @@ + replaceOrAppend | Radashi + + Skip to content

    replaceOrAppend

    Replace item in array or append if no match

    193 bytes +

    Usage

    +

    Given an array of items, an item and an identity function, returns a new array with the item either replaced at the index of the existing item — if it exists, else it is appended at the end.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    },
    {
    name: 'Salmon',
    weight: 19,
    },
    {
    name: 'Trout',
    weight: 13,
    },
    ]
    +
    const salmon = {
    name: 'Salmon',
    weight: 22,
    }
    +
    const sockeye = {
    name: 'Sockeye',
    weight: 8,
    }
    +
    _.replaceOrAppend(fish, salmon, f => f.name === 'Salmon') // => [marlin, salmon (weight:22), trout]
    _.replaceOrAppend(fish, sockeye, f => f.name === 'Sockeye') // => [marlin, salmon, trout, sockeye]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/select/index.html b/v12.2.0-beta/reference/array/select/index.html new file mode 100644 index 00000000..086118b1 --- /dev/null +++ b/v12.2.0-beta/reference/array/select/index.html @@ -0,0 +1,92 @@ + select | Radashi + + Skip to content

    select

    Filter and map an array

    146 bytes +

    Usage

    +

    Applies a filter and a map operation at once and in one pass. +If the filter is omitted, returns all non-nullish mapped values.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    source: 'ocean',
    },
    {
    name: 'Bass',
    weight: 8,
    source: 'lake',
    },
    {
    name: 'Trout',
    weight: 13,
    source: 'lake',
    },
    ]
    +
    _.select(
    fish,
    f => f.weight,
    f => f.source === 'lake',
    ) // => [8, 13]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/selectFirst/index.html b/v12.2.0-beta/reference/array/selectFirst/index.html new file mode 100644 index 00000000..9548781a --- /dev/null +++ b/v12.2.0-beta/reference/array/selectFirst/index.html @@ -0,0 +1,100 @@ + selectFirst | Radashi + + Skip to content

    selectFirst

    Find and map the first array element meeting a condition

    143 bytes +

    Usage

    +

    The selectFirst function combines the functionality of find and map operations on an array. It iterates through the array, applying a mapper function to each element, and returns the first mapped value that satisfies a given condition. If no condition is provided, it returns the first non-nullish mapped value.

    +

    This function is particularly useful when you need to find and transform an element in a single operation, potentially saving time and improving code readability.

    +

    Key features:

    +
      +
    • Short-circuits on the first element that satisfies the condition
    • +
    • Allows for separate mapping and condition functions
    • +
    • Returns undefined if no element satisfies the condition or if the array is empty/nullish
    • +
    +
    import * as _ from 'radashi'
    +
    // Find the first even number and double it
    _.selectFirst(
    [1, 3, 4, 6, 8],
    x => x * 2,
    x => x % 2 === 0,
    )
    // => 8
    +
    // Find the first non-empty string and convert to uppercase
    _.selectFirst(
    ['', null, 'hello', 'world'],
    s => s?.toUpperCase(),
    s => s !== null && s !== '',
    )
    // => 'HELLO'
    +
    // Find the first object with a specific property and extract a value
    const users = [
    { id: 1, name: 'Alice', age: 30 },
    { id: 2, name: 'Bob', age: 25 },
    { id: 3, name: 'Charlie', age: 35 },
    ]
    _.selectFirst(
    users,
    user => user.name,
    user => user.age > 30,
    )
    // => 'Charlie'
    +
    // Using default condition (non-nullish)
    _.selectFirst([null, undefined, 0, '', false, 'found'], x => x)
    // => 0
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/shift/index.html b/v12.2.0-beta/reference/array/shift/index.html new file mode 100644 index 00000000..2e75caf0 --- /dev/null +++ b/v12.2.0-beta/reference/array/shift/index.html @@ -0,0 +1,89 @@ + shift | Radashi + + Skip to content

    shift

    Shift array items by n steps

    145 bytes +

    Usage

    +

    Given a list of items, return an array that shift right n positions.

    +
    import * as _ from 'radashi'
    const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    _.shift(arr, 3) // => [7, 8, 9, 1, 2, 3, 4, 5, 6]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/sift/index.html b/v12.2.0-beta/reference/array/sift/index.html new file mode 100644 index 00000000..bf4e7793 --- /dev/null +++ b/v12.2.0-beta/reference/array/sift/index.html @@ -0,0 +1,91 @@ + sift | Radashi + + Skip to content

    sift

    Remove all falsy items from list

    62 bytes +

    Usage

    +

    Given a list of items, return a new list with all items that are not falsy.

    +
    import * as _ from 'radashi'
    +
    const fish = ['salmon', null, false, NaN, 'sockeye', 'bass']
    +
    _.sift(fish) // => ['salmon', 'sockeye', 'bass']
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/sort/index.html b/v12.2.0-beta/reference/array/sort/index.html new file mode 100644 index 00000000..ed6b67ec --- /dev/null +++ b/v12.2.0-beta/reference/array/sort/index.html @@ -0,0 +1,92 @@ + sort | Radashi + + Skip to content

    sort

    Sort a list of objects by a numerical property

    131 bytes +

    Usage

    +

    Given an array of objects, return a new array sorted by the numerical property specified in the get function. A third, and optional, argument allows you to sort in descending order instead of the default ascending order.

    +

    This function only supports numerical sorting. For alphabetic sorting, see the alphabetical function.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    },
    {
    name: 'Bass',
    weight: 8,
    },
    {
    name: 'Trout',
    weight: 13,
    },
    ]
    +
    _.sort(fish, f => f.weight) // => [bass, trout, marlin]
    _.sort(fish, f => f.weight, true) // => [marlin, trout, bass]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/toggle/index.html b/v12.2.0-beta/reference/array/toggle/index.html new file mode 100644 index 00000000..e519a97d --- /dev/null +++ b/v12.2.0-beta/reference/array/toggle/index.html @@ -0,0 +1,102 @@ + toggle | Radashi + + Skip to content

    toggle

    Toggles an item's existence in an array

    254 bytes +

    Usage

    +

    If the item matching the condition already exists in the list it will be removed. If it does not it will be added.

    +
    import * as _ from 'radashi'
    +
    const gods = ['ra', 'zeus', 'loki']
    +
    _.toggle(gods, 'ra') // => ['zeus', 'loki']
    _.toggle(gods, 'vishnu') // => ['ra', 'zeus', 'loki', 'vishnu']
    +

    toggle(list, item, toKey)

    +

    You can pass an optional toKey function to determine the identity of non-primitive values. Helpful when working with more complex data types.

    +
    import * as _ from 'radashi'
    +
    const ra = { name: 'Ra' }
    const zeus = { name: 'Zeus' }
    const loki = { name: 'Loki' }
    const vishnu = { name: 'Vishnu' }
    +
    const gods = [ra, zeus, loki]
    +
    _.toggle(gods, ra, g => g.name) // => [zeus, loki]
    _.toggle(gods, vishnu, g => g.name) // => [ra, zeus, loki, vishnu]
    +

    toggle(list, item, toKey, options)

    +

    By default, toggle will append the item if it does not exist. If you need to prepend the item instead you can override the strategy in the options argument.

    +
    import * as _ from 'radashi'
    +
    const gods = ['ra', 'zeus', 'loki']
    +
    _.toggle(gods, 'vishnu', g => g, { strategy: 'prepend' }) // => ['vishnu', 'ra', 'zeus', 'loki']
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/unique/index.html b/v12.2.0-beta/reference/array/unique/index.html new file mode 100644 index 00000000..b9199d77 --- /dev/null +++ b/v12.2.0-beta/reference/array/unique/index.html @@ -0,0 +1,92 @@ + unique | Radashi + + Skip to content

    unique

    Remove duplicates from an array

    159 bytes +

    Usage

    +

    Given an array of items — and optionally, a function to determine their identity — return a new array without any duplicates.

    +

    The function does not preserve the original order of items.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    source: 'ocean',
    },
    {
    name: 'Salmon',
    weight: 22,
    source: 'river',
    },
    {
    name: 'Salmon',
    weight: 22,
    source: 'river',
    },
    ]
    +
    _.unique(fish, f => f.name)
    // [
    // { name: 'Marlin', weight: 105, source: 'ocean' },
    // { name: 'Salmon', weight: 22, source: 'river' }
    // ]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/unzip/index.html b/v12.2.0-beta/reference/array/unzip/index.html new file mode 100644 index 00000000..ce9b444e --- /dev/null +++ b/v12.2.0-beta/reference/array/unzip/index.html @@ -0,0 +1,90 @@ + unzip | Radashi + + Skip to content

    unzip

    Group array elements by their index position across the input arrays

    181 bytes +

    Usage

    +

    Creates an array of ungrouped elements, where each resulting array contains all elements at a specific index from the input arrays. The first array contains all first elements, the second array contains all second elements, and so on.

    +
    import * as _ from 'radashi'
    +
    _.unzip([
    ['a', 1, true],
    ['b', 2, false],
    ])
    // => [
    // ['a', 'b'],
    // [1, 2],
    // [true, false],
    // ]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/zip/index.html b/v12.2.0-beta/reference/array/zip/index.html new file mode 100644 index 00000000..fdff3ed7 --- /dev/null +++ b/v12.2.0-beta/reference/array/zip/index.html @@ -0,0 +1,91 @@ + zip | Radashi + + Skip to content

    zip

    Combine multiple arrays in sets

    208 bytes +

    Usage

    +

    Creates an array of grouped elements, the first of which contains the first elements of the given arrays, the second of which contains the second elements of the given arrays, and so on.

    +
    import * as _ from 'radashi'
    +
    const names = ['ra', 'zeus', 'loki']
    const cultures = ['egypt', 'greek', 'norse']
    +
    _.zip(names, cultures)
    // => [
    // [ra, egypt]
    // [zeus, greek]
    // [loki, norse]
    // ]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/array/zipToObject/index.html b/v12.2.0-beta/reference/array/zipToObject/index.html new file mode 100644 index 00000000..7441ef27 --- /dev/null +++ b/v12.2.0-beta/reference/array/zipToObject/index.html @@ -0,0 +1,93 @@ + zipToObject | Radashi + + Skip to content

    zipToObject

    Combine multiple arrays in sets

    214 bytes +

    Usage

    +

    Creates an object mapping the keys in the first array to their corresponding values in the second array.

    +
    import * as _ from 'radashi'
    +
    const names = ['ra', 'zeus', 'loki']
    const cultures = ['egypt', 'greek', 'norse']
    +
    _.zipToObject(names, cultures)
    // => { ra: egypt, zeus: greek, loki: norse }
    +
    _.zipToObject(names, (k, i) => k + i)
    // => { ra: ra0, zeus: zeus1, loki: loki2 }
    +
    _.zipToObject(names, null)
    // => { ra: null, zeus: null, loki: null }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/all/index.html b/v12.2.0-beta/reference/async/all/index.html new file mode 100644 index 00000000..14ecc638 --- /dev/null +++ b/v12.2.0-beta/reference/async/all/index.html @@ -0,0 +1,97 @@ + all | Radashi + + Skip to content

    all

    Await many promises

    625 bytes +

    The all function is similar to the builtin Promise.all or Promise.allSettled +functions. Given a list (or object) of promises, if any errors are thrown, all +errors are gathered and thrown in an AggregateError.

    +

    Using an Array

    +

    Passing an array as an argument will return the resolved promise values as an array in the same order.

    +
    import * as _ from 'radashi'
    +
    const [user] = await _.all([
    api.users.create(...),
    s3.buckets.create(...),
    slack.customerSuccessChannel.sendMessage(...)
    ])
    +

    Using an Object

    +

    Passing an object as an argument will return an object with the same keys and the values as the resolved promise values.

    +
    import * as _ from 'radashi'
    +
    const { user } = await _.all({
    user: api.users.create(...),
    bucket: s3.buckets.create(...),
    message: slack.customerSuccessChannel.sendMessage(...)
    })
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/defer/index.html b/v12.2.0-beta/reference/async/defer/index.html new file mode 100644 index 00000000..45fca8ea --- /dev/null +++ b/v12.2.0-beta/reference/async/defer/index.html @@ -0,0 +1,104 @@ + defer | Radashi + + Skip to content

    defer

    Run an async function with deferred functions

    415 bytes +

    Usage

    +

    The _.defer functions lets you run an async function, registering functions as you go +that should be deferred until the async function completes, and then executed. This is +really useful in scripts where failure up to or after a specific point will require some +cleanup. It’s a bit like a finally block.

    +

    A hat tip to Swift’s defer for the inspiration.

    +

    The function passed to _.defer is called with a single register function argument that +can be used to register the work you want to be called when the function completes. If your function throws an error and then a registered cleanup function throws +and error it is ignored by default. The register +function supports an optional second options argument that lets you configure a rethrow +strategy so that error in the cleanup function is rethrown.

    +
    import * as _ from 'radashi'
    +
    await _.defer(async cleanup => {
    const buildDir = await createBuildDir()
    +
    cleanup(() => fs.unlink(buildDir))
    +
    await build()
    })
    +
    await _.defer(async register => {
    const org = await api.org.create()
    register(async () => api.org.delete(org.id), { rethrow: true })
    +
    const user = await api.user.create()
    register(async () => api.users.delete(user.id), { rethrow: true })
    +
    await executeTest(org, user)
    })
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/guard/index.html b/v12.2.0-beta/reference/async/guard/index.html new file mode 100644 index 00000000..dc6780e6 --- /dev/null +++ b/v12.2.0-beta/reference/async/guard/index.html @@ -0,0 +1,91 @@ + guard | Radashi + + Skip to content

    guard

    Have a function return undefined if it errors out

    144 bytes +

    Usage

    +

    This lets you set a default value if an async function errors out.

    +
    const users = (await guard(fetchUsers)) ?? []
    +

    You can choose to guard only specific errors too

    +
    const isInvalidUserError = (err: any) => err.code === 'INVALID_ID'
    const user = (await guard(fetchUser, isInvalidUserError)) ?? DEFAULT_USER
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/map/index.html b/v12.2.0-beta/reference/async/map/index.html new file mode 100644 index 00000000..fc68b322 --- /dev/null +++ b/v12.2.0-beta/reference/async/map/index.html @@ -0,0 +1,91 @@ + map | Radashi + + Skip to content

    map

    Map an array with an async function

    124 bytes +

    Usage

    +

    A map that handles callback functions that return a promise.

    +
    import * as _ from 'radashi'
    +
    const userIds = [1, 2, 3, 4]
    +
    const users = await _.map(userIds, async userId => {
    return await api.users.find(userId)
    })
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/parallel/index.html b/v12.2.0-beta/reference/async/parallel/index.html new file mode 100644 index 00000000..efe55310 --- /dev/null +++ b/v12.2.0-beta/reference/async/parallel/index.html @@ -0,0 +1,101 @@ + parallel | Radashi + + Skip to content

    parallel

    Run many async function in parallel

    1272 bytes +

    Usage

    +

    Like _.map but built specifically to run the async callback functions +in parallel. The first argument is a limit of how many functions should +be allowed to run at once. Returns an array of results.

    +
    import * as _ from 'radashi'
    +
    const userIds = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    +
    // Will run the find user async function 3 at a time
    // starting another request when one of the 3 is freed
    const users = await _.parallel(3, userIds, async userId => {
    return await api.users.find(userId)
    })
    +

    Errors

    +

    When all work is complete parallel will check for errors. If any +occurred they will all be thrown in a single AggregateError that +has an errors property that is all the errors that were thrown.

    +
    import * as _ from 'radashi'
    +
    const userIds = [1, 2, 3]
    +
    const [err, users] = await _.tryit(_.parallel)(3, userIds, async userId => {
    throw new Error(`No, I don\'t want to find user ${userId}`)
    })
    +
    console.log(err) // => AggregateError
    console.log(err.errors) // => [Error, Error, Error]
    console.log(err.errors[1].message) // => No, I don't want to find user 2
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/reduce/index.html b/v12.2.0-beta/reference/async/reduce/index.html new file mode 100644 index 00000000..7cf41fcf --- /dev/null +++ b/v12.2.0-beta/reference/async/reduce/index.html @@ -0,0 +1,91 @@ + reduce | Radashi + + Skip to content

    reduce

    Reduce an array with an async function

    230 bytes +

    Usage

    +

    A reduce that handles callback functions that return a promise.

    +
    import * as _ from 'radashi'
    +
    const userIds = [1, 2, 3, 4]
    +
    const users = await _.reduce(
    userIds,
    async (acc, userId) => {
    const user = await api.users.find(userId)
    return {
    ...acc,
    [userId]: user,
    }
    },
    {},
    )
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/retry/index.html b/v12.2.0-beta/reference/async/retry/index.html new file mode 100644 index 00000000..939f5e86 --- /dev/null +++ b/v12.2.0-beta/reference/async/retry/index.html @@ -0,0 +1,93 @@ + retry | Radashi + + Skip to content

    retry

    Run an async function retrying if it fails

    503 bytes +

    Usage

    +

    The _.retry function allows you to run an async function and automagically retry it if it fails. Given the async func to run, an optional max number of retries (r), and an optional milliseconds to delay between retries (d), the given async function will be called, retrying r many times, and waiting d milliseconds between retries.

    +

    The times option defaults to 3. The delay option (defaults to null) can specify milliseconds to sleep between attempts.

    +

    The backoff option is like delay but uses a function to sleep — makes for easy exponential backoff.

    +
    import * as _ from 'radashi'
    +
    await _.retry({}, api.users.list)
    await _.retry({ times: 10 }, api.users.list)
    await _.retry({ times: 2, delay: 1000 }, api.users.list)
    +
    // exponential backoff
    await _.retry({ backoff: i => 10 ** i }, api.users.list)
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/sleep/index.html b/v12.2.0-beta/reference/async/sleep/index.html new file mode 100644 index 00000000..10e46472 --- /dev/null +++ b/v12.2.0-beta/reference/async/sleep/index.html @@ -0,0 +1,90 @@ + sleep | Radashi + + Skip to content

    sleep

    Asynchronously wait for time to pass

    73 bytes +

    Usage

    +

    The _.sleep function allows you to delay in milliseconds.

    +
    import * as _ from 'radashi'
    +
    await _.sleep(2000) // => waits 2 seconds
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/tryit/index.html b/v12.2.0-beta/reference/async/tryit/index.html new file mode 100644 index 00000000..39aaad76 --- /dev/null +++ b/v12.2.0-beta/reference/async/tryit/index.html @@ -0,0 +1,96 @@ + tryit | Radashi + + Skip to content

    tryit

    Convert a function to an error-first function

    240 bytes +

    Usage

    +

    Error-first callbacks were cool. Using mutable variables to hoist state when doing try/catch was not cool.

    +

    The tryit function let’s you wrap a function to convert it to an error-first function. Works for both async and sync functions.

    +
    import * as _ from 'radashi'
    +
    const [err, user] = await _.tryit(api.users.find)(userId)
    +

    Currying

    +

    You can curry tryit if you like.

    +
    import * as _ from 'radashi'
    +
    const findUser = _.tryit(api.users.find)
    +
    const [err, user] = await findUser(userId)
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/async/withResolvers/index.html b/v12.2.0-beta/reference/async/withResolvers/index.html new file mode 100644 index 00000000..46b66dce --- /dev/null +++ b/v12.2.0-beta/reference/async/withResolvers/index.html @@ -0,0 +1,91 @@ + withResolvers | Radashi + + Skip to content

    withResolvers

    Ponyfill for Promise.withResolvers()

    118 bytes +

    Usage

    +

    Creates a new promise and returns the resolve and reject functions along with the promise itself.

    +

    The ponyfill for https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers

    +
    const { resolve, reject, promise } = withResolvers()
    +
    resolve(42)
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/chain/index.html b/v12.2.0-beta/reference/curry/chain/index.html new file mode 100644 index 00000000..860d9ddd --- /dev/null +++ b/v12.2.0-beta/reference/curry/chain/index.html @@ -0,0 +1,99 @@ + chain | Radashi + + Skip to content

    chain

    Create a chain of function to run in order

    93 bytes +

    Usage

    +

    Chaining functions will cause them to execute one after another, passing the output from each function as the input to the next, returning the final output at the end of the chain.

    +
    import * as _ from 'radashi'
    +
    const add = (y: number) => (x: number) => x + y
    const multiply = (y: number) => (x: number) => x * y
    const addFive = add(5)
    const double = multiply(2)
    +
    const chained = _.chain(addFive, double)
    +
    chained(0) // => 10
    chained(7) // => 24
    +

    Example

    +
    import * as _ from 'radashi'
    +
    type Deity = {
    name: string
    rank: number
    }
    +
    const gods: Deity[] = [
    { rank: 8, name: 'Ra' },
    { rank: 7, name: 'Zeus' },
    { rank: 9, name: 'Loki' },
    ]
    +
    const getName = (god: Deity) => item.name
    const upperCase = (text: string) => text.toUpperCase() as Uppercase<string>
    +
    const getUpperName = _.chain(getName, upperCase)
    +
    getUpperName(gods[0]) // => 'RA'
    gods.map(getUpperName) // => ['RA', 'ZEUS', 'LOKI']
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/compose/index.html b/v12.2.0-beta/reference/curry/compose/index.html new file mode 100644 index 00000000..26763a2f --- /dev/null +++ b/v12.2.0-beta/reference/curry/compose/index.html @@ -0,0 +1,95 @@ + compose | Radashi + + Skip to content

    compose

    Create a composition of functions

    78 bytes +

    Usage

    +

    In a composition of functions, each function is given the next function as an argument and must call it to continue executing.

    +
    import * as _ from 'radashi'
    +
    const useZero = (fn: any) => () => fn(0)
    const objectize = (fn: any) => (num: any) => fn({ num })
    const increment =
    (fn: any) =>
    ({ num }: any) =>
    fn({ num: num + 1 })
    const returnArg = (arg: any) => (args: any) => args[arg]
    +
    const composed = _.compose(
    useZero,
    objectize,
    increment,
    increment,
    returnArg('num'),
    )
    +
    composed() // => 2
    +

    This can be a little jarring if you haven’t seen it before. Here’s a broken down composition. It’s equivalent to the code above.

    +
    const decomposed = useZero(objectize(increment(increment(_.returnArg('num')))))
    +
    decomposed() // => 2
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/debounce/index.html b/v12.2.0-beta/reference/curry/debounce/index.html new file mode 100644 index 00000000..d25f73b6 --- /dev/null +++ b/v12.2.0-beta/reference/curry/debounce/index.html @@ -0,0 +1,113 @@ + debounce | Radashi + + Skip to content

    debounce

    Delay a function until after a specified time has elapsed since the last call

    248 bytes +

    Usage

    +

    The debounce function helps manage frequent function calls efficiently. It requires two inputs: a delay time (in milliseconds) and a callback. When you use the function returned by debounce (a.k.a. the “debounced function”), it doesn’t immediately run your callback. Instead, it waits for the specified delay.

    +

    If called again during this waiting period, it resets the timer. Your source function only runs after the full delay passes without interruption. This is useful for handling rapid events like keystrokes, ensuring your code responds only after a pause in activity.

    +
    import * as _ from 'radashi'
    +
    // Send a search request to the API server when the user stops typing
    // for at least 100ms.
    input.addEventListener(
    'change',
    _.debounce({ delay: 100 }, (event: InputEvent) => {
    api.movies.search(event.target.value)
    }),
    )
    +

    Options

    +

    leading

    +

    When the leading option is true, your callback is invoked immediately the very first time the debounced function is called. After that, the debounced function works as if leading was false.

    +
    const myDebouncedFunc = _.debounce({ delay: 100, leading: true }, x => {
    console.log(x)
    })
    +
    myDebouncedFunc(0) // Logs "0" immediately
    myDebouncedFunc(1) // Never logs
    myDebouncedFunc(2) // Logs "2" about 100ms later
    +

    Methods

    +

    cancel

    +

    The cancel method of the debounced function does two things:

    +
      +
    1. It cancels any pending invocations of the debounced function.
    2. +
    3. It permanently disables the debouncing behavior. All future invocations of the debounced function will immediately invoke your callback.
    4. +
    +
    const myDebouncedFunc = _.debounce({ delay: 100 }, x => {
    console.log(x)
    })
    +
    myDebouncedFunc(0) // Never logs
    myDebouncedFunc(1) // Never logs
    myDebouncedFunc.cancel()
    myDebouncedFunc(2) // Logs "2" immediately
    +

    flush

    +

    The flush method will immediately invoke your callback, regardless of whether the debounced function is currently pending.

    +
    const myDebouncedFunc = _.debounce({ delay: 100 }, x => {
    console.log(x)
    })
    +
    myDebouncedFunc(0) // Logs "0" about 100ms later
    myDebouncedFunc.flush(1) // Logs "1" immediately
    +

    isPending

    +

    The isPending method returns true if there is any pending invocation of the debounced function.

    +
    const myDebouncedFunc = _.debounce({ delay: 100 }, x => {
    console.log(x)
    })
    +
    myDebouncedFunc(0) // Logs "0" about 100ms later
    myDebouncedFunc.isPending() // => true
    setTimeout(() => {
    myDebouncedFunc.isPending() // => false
    }, 100)
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/flip/index.html b/v12.2.0-beta/reference/curry/flip/index.html new file mode 100644 index 00000000..a1baee2b --- /dev/null +++ b/v12.2.0-beta/reference/curry/flip/index.html @@ -0,0 +1,92 @@ + flip | Radashi + + Skip to content

    flip

    Swap the only two arguments of a function

    63 bytes +

    Usage

    +

    Return a new function that swaps the only two arguments of the original function. This is most useful for reversing the order of a “comparator” (i.e. a function used for sorting).

    +
    import * as _ from 'radashi'
    +
    const subtract = (a: number, b: number) => a - b
    +
    subtract(1, 2) // => -1
    _.flip(subtract)(1, 2) // => 1
    +

    Note that functions with more than two arguments are not supported.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/memo/index.html b/v12.2.0-beta/reference/curry/memo/index.html new file mode 100644 index 00000000..443307a4 --- /dev/null +++ b/v12.2.0-beta/reference/curry/memo/index.html @@ -0,0 +1,105 @@ + memo | Radashi + + Skip to content

    memo

    Memoize a function

    307 bytes +

    Usage

    +

    Wrap a function with memo to get a function back that automagically returns values that have already been calculated.

    +
    import * as _ from 'radashi'
    +
    const timestamp = _.memo(() => Date.now())
    +
    const now = timestamp()
    const later = timestamp()
    +
    now === later // => true
    +

    Expiration

    +

    You can optionally pass a ttl (time to live) that will expire memoized results. In versions prior to version 10, ttl had a value of 300 milliseconds if not specified.

    +
    import * as _ from 'radashi'
    +
    const timestamp = _.memo(() => Date.now(), {
    ttl: 1000, // milliseconds
    })
    +
    const now = timestamp()
    const later = timestamp()
    +
    await _.sleep(2000)
    +
    const muchLater = timestamp()
    +
    now === later // => true
    now === muchLater // => false
    +

    Key Function

    +

    You can optionally customize how values are stored when memoized.

    +
    const timestamp = _.memo(
    ({ group }: { group: string }) => {
    const ts = Date.now()
    return `${ts}::${group}`
    },
    {
    key: ({ group }: { group: string }) => group,
    },
    )
    +
    const now = timestamp({ group: 'alpha' })
    const later = timestamp({ group: 'alpha' })
    const beta = timestamp({ group: 'beta' })
    +
    now === later // => true
    beta === now // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/once/index.html b/v12.2.0-beta/reference/curry/once/index.html new file mode 100644 index 00000000..41c1cf4e --- /dev/null +++ b/v12.2.0-beta/reference/curry/once/index.html @@ -0,0 +1,95 @@ + once | Radashi + + Skip to content

    once

    Create a function that runs at most once

    169 bytes +

    Usage

    +

    Create a wrapper around a given function such that it executes at most once. Subsequent calls to the wrapped function return the result from the first execution, regardless of the arguments provided. This behavior is akin to memoization but specifically designed for single-use functions. The result of the first call is stored internally, allowing for efficient retrieval without recomputation.

    +
    import * as _ from 'radashi'
    +
    const fn = once(() => Math.random())
    fn() // 0.5
    fn() // 0.5
    +

    Resetting the function

    +

    The once.reset function clears the stored result of a function that was previously wrapped with once. This allows the function to be executed again as if it were never called before, enabling dynamic reuse of the function with fresh computations.

    +
    import * as _ from 'radashi'
    +
    const fn = once(() => Math.random())
    fn() // 0.5
    fn() // 0.5
    +
    once.reset(fn)
    fn() // 0.3
    fn() // 0.3
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/partial/index.html b/v12.2.0-beta/reference/curry/partial/index.html new file mode 100644 index 00000000..740634be --- /dev/null +++ b/v12.2.0-beta/reference/curry/partial/index.html @@ -0,0 +1,92 @@ + partial | Radashi + + Skip to content

    partial

    Create a partial a function

    68 bytes +

    Usage

    +

    Create a partial function by providing some — or all — of the arguments the given function needs.

    +
    import * as _ from 'radashi'
    +
    const add = (a: number, b: number) => a + b
    +
    const addFive = _.partial(add, 5)
    +
    addFive(2) // => 7
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/partob/index.html b/v12.2.0-beta/reference/curry/partob/index.html new file mode 100644 index 00000000..7d955768 --- /dev/null +++ b/v12.2.0-beta/reference/curry/partob/index.html @@ -0,0 +1,92 @@ + partob | Radashi + + Skip to content

    partob

    Create a partob a function

    62 bytes +

    Usage

    +

    Modern javascript destructuring means a lot of developers, libraries, and frameworks are all opting for unary functions that take a single object that contains the arguments. The _.partob function let’s you partob these unary functions.

    +
    import * as _ from 'radashi'
    +
    const add = (props: { a: number; b: number }) => props.a + props.b
    +
    const addFive = _.partob(add, { a: 5 })
    +
    addFive({ b: 2 }) // => 7
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/proxied/index.html b/v12.2.0-beta/reference/curry/proxied/index.html new file mode 100644 index 00000000..aa367810 --- /dev/null +++ b/v12.2.0-beta/reference/curry/proxied/index.html @@ -0,0 +1,92 @@ + proxied | Radashi + + Skip to content

    proxied

    Create a dynamic proxied a object

    75 bytes +

    Usage

    +

    Javascript’s Proxy object is powerful but a bit awkward to use. The _.proxied function creates the Proxy for you and handles calling back to your handler when functions on the Proxy are called or properties are accessed.

    +
    import * as _ from 'radashi'
    +
    type Property = 'name' | 'size' | 'getLocation'
    +
    const person = _.proxied((prop: Property) => {
    switch (prop) {
    case 'name':
    return 'Joe'
    case 'size':
    return 20
    case 'getLocation'
    return () => 'here'
    }
    })
    +
    person.name // => Joe
    person.size // => 20
    person.getLocation() // => here
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/curry/throttle/index.html b/v12.2.0-beta/reference/curry/throttle/index.html new file mode 100644 index 00000000..43f35414 --- /dev/null +++ b/v12.2.0-beta/reference/curry/throttle/index.html @@ -0,0 +1,113 @@ + throttle | Radashi + + Skip to content

    throttle

    Creates a throttled function that limits invocations to a specified interval

    260 bytes +

    Usage

    +

    The throttle function creates a new function that, when called, will only execute the original function at most once per specified time interval. This is useful for limiting the rate at which a function can fire, especially for performance-intensive operations like handling scroll or resize events.

    +

    The function accepts two parameters:

    +
      +
    1. An options object with: +
        +
      • interval: The minimum time (in milliseconds) between function invocations
      • +
      • trailing (optional): If true, also calls the function after the throttle period if it was invoked during the throttle
      • +
      +
    2. +
    3. The function to be throttled
    4. +
    +

    The returned throttled function also includes these methods:

    +
      +
    • isThrottled(): boolean: To check if there’s currently an active throttle
    • +
    • trigger(...args): void: To invoke the wrapped function without waiting for the next interval
    • +
    +
    import { throttle } from 'radashi'
    +
    // Throttle a scroll event handler
    const handleScroll = () => {
    console.log('Scroll position:', window.scrollY)
    }
    const throttledScroll = throttle({ interval: 200 }, handleScroll)
    window.addEventListener('scroll', throttledScroll)
    +
    // Throttle an API call
    const throttledFetch = throttle(
    { interval: 5000, trailing: true },
    async () => {
    const response = await fetch('https://api.example.com/data')
    const data = await response.json()
    console.log(data)
    },
    )
    +
    // Check if throttled
    console.log('Is throttled:', throttledFetch.isThrottled())
    +

    Timing

    +

    A visual representation of the throttle behavior when interval is set to 200ms:

    +
    Time: 0ms - - - - 100ms - - - - 200ms - - - - 300ms - - - - 400ms - - - -
    Throttle Invocations: x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x - - -
    Source Invocations: x - - - - - - - - - - - - x - - - - - - - - - - - - - x - - - - - -
    +

    When the trailing option is set to true, an additional invocation occurs after the throttle period if any calls were made during the throttled time:

    +
    Time: 0ms - - - - 100ms - - - - 200ms - - - - 300ms - - - - 400ms - - - -
    Throttle Invocations: x x x x x x x x x x x x x x x x x x x x x - - - - - - - - - - - - -
    Source Invocations: x - - - - - - - - - - - - x - - - - - - - - - - - - - x - - - - - -
    +

    In this diagram, ‘x’ represents function invocations, and ’-’ represents time passing.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/function/always/index.html b/v12.2.0-beta/reference/function/always/index.html new file mode 100644 index 00000000..adc3a9c3 --- /dev/null +++ b/v12.2.0-beta/reference/function/always/index.html @@ -0,0 +1,95 @@ + always | Radashi + + Skip to content

    always

    Create a function that always returns the same value

    47 bytes +

    Usage

    +

    Creates a function that always returns the same value, regardless of any arguments passed to it.

    +
    import * as _ from 'radashi'
    +
    const alwaysTrue = _.always(true)
    +
    alwaysTrue() // true
    alwaysTrue(1, 2, 3) // true
    +

    Use cases

    +

    You can avoid using always if the value is a primitive (use () => true instead), but it can be useful if you need a function that always returns the same object reference, or if you want to memoize a calculation across multiple calls.

    +
    // Not memoized
    () => someCalculation()
    // Memoized
    _.always(someCalculation())
    +
    // Not same object
    () => ({ a: 1, b: 2 })
    // Same object
    _.always({ a: 1, b: 2 })
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/function/castComparator/index.html b/v12.2.0-beta/reference/function/castComparator/index.html new file mode 100644 index 00000000..8a46a7db --- /dev/null +++ b/v12.2.0-beta/reference/function/castComparator/index.html @@ -0,0 +1,103 @@ + castComparator | Radashi + + Skip to content

    castComparator

    Cast a value into a comparator function

    230 bytes +

    Usage

    +

    Create a comparator function which can be passed into Array.prototype.sort. It accepts either a property name or a mapping function. Optionally, you can pass a custom compare function (e.g. for localeCompare use cases).

    +

    The first argument of castComparator is called the mapping. This can be either:

    +
      +
    • Function: If mapping is a function, it maps the input values to a comparable value.
    • +
    • Property Name: If mapping is a property name, it maps the input values to a property of the input values with a comparable value.
    • +
    +
    import * as _ from 'radash'
    +
    const users = [
    { id: 1, firstName: 'Alice', lastName: 'Smith' },
    { id: 3, firstName: 'Charlie', lastName: 'Brown' },
    { id: 2, firstName: 'Drew', lastName: 'Johnson' },
    ]
    +
    const compareById = _.castComparator('id')
    users.sort(compareById)
    // [Alice, Drew, Charlie]
    +
    const compareByFullName = _.castComparator(
    user => `${user.firstName} ${user.lastName}`,
    (a, b) => b.localeCompare(a),
    )
    users.sort(compareByFullName)
    // [Alice, Charlie, Drew]
    +

    Compare Function

    +

    Optionally, you can pass a custom compare function that receives the mapped values and returns a number. If not provided, values are compared with the < and > built-in operators.

    +

    A positive number means the “right value” is greater than the “left value”, a negative number means the “left value” is greater than the “right value”, and 0 means both values are equal.

    +
    const users = [
    { id: 1, firstName: 'Alice', lastName: 'Smith' },
    { id: 3, firstName: 'Charlie', lastName: 'Brown' },
    { id: 2, firstName: 'Drew', lastName: 'Johnson' },
    ]
    +
    const compareByFullName = _.castComparator(
    user => `${user.firstName} ${user.lastName}`,
    (a, b) => b.localeCompare(a),
    )
    +
    users.sort(compareByFullName)
    // [Alice, Charlie, Drew]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/function/castMapping/index.html b/v12.2.0-beta/reference/function/castMapping/index.html new file mode 100644 index 00000000..e7276862 --- /dev/null +++ b/v12.2.0-beta/reference/function/castMapping/index.html @@ -0,0 +1,131 @@ + castMapping | Radashi + + Skip to content

    castMapping

    Cast a value into a mapping function

    117 bytes +

    Usage

    +

    Improve your own utility function by adding a flexible value-mapping option, using castMapping to retrieve a mapping function.

    +

    The following types can be casted into a mapping function:

    +
      +
    1. Function: If the input is a function, it returns the function as is.
    2. +
    3. Property Name: If the input is a property name, it returns a function that retrieves the value of that property from an object.
    4. +
    5. Nullish: If the input is nullish (null or undefined), it returns a function that simply returns the input object itself.
    6. +
    +
    import * as _ from 'radashi'
    +
    // Using a property name
    const getName = _.castMapping('name')
    getName({ name: 'Alice' }) // => 'Alice'
    +
    // Using a function
    const getLength = _.castMapping((str: string) => str.length)
    getLength('Hello') // => 5
    +
    // Using undefined
    const identity = _.castMapping(undefined)
    identity({ any: 'value' }) // => { any: 'value' }
    +

    Types

    +

    CastMapping

    +

    This is the return type of castMapping.

    +
    import * as _ from 'radashi'
    import type { CastMapping } from 'radashi'
    +
    const data = { a: 1, b: '2' }
    +
    const mapper: CastMapping<typeof data, number> = _.castMapping(data => data.a)
    +

    MappedOutput

    +

    As you may have noticed in the previous example, the MappedOutput type is used to infer the type of the value returned by the mapping function.

    +
    import type { MappedOutput } from 'radashi'
    +
    type Data = { a: number; b: string }
    +
    const test = <T>() => T
    +
    test<MappedOutput<Data, (data: Data) => number>>()
    // is number
    +
    test<MappedOutput<CastMapping<'a'>>>()
    // is number
    +
    test<MappedOutput<undefined>>()
    // is Data
    +

    Mapping

    +

    You can use the Mapping type to accept a value that can be passed into castMapping.

    +
    import * as _ from 'radashi'
    import type { Mapping, MappedOutput } from 'radashi'
    +
    function mapArray<T, TMapping extends Mapping<T>>(
    array: readonly T[],
    mapping: TMapping,
    ): MappedOutput<TMapping, T>[] {
    return array.map(_.castMapping(mapping))
    }
    +

    If you want a mapping to be optional, use the OptionalMapping type instead.

    +
    import type { OptionalMapping, MappedOutput } from 'radashi'
    +
    function mapArray<T, TMapping extends OptionalMapping<T>>(
    array: readonly T[],
    mapping?: TMapping,
    ): MappedOutput<TMapping, T>[] {
    return array.map(_.castMapping(mapping))
    }
    +

    Etymology

    +

    Origin

    +

    The term “castMapping” combines two key concepts from programming:

    +
      +
    1. +

      “Cast” originates from type casting in programming, which involves converting a value from one data type to another. This process ensures that data is in the correct format for a specific operation.

      +
    2. +
    3. +

      ”Mapping” as a noun refers to a correspondence between elements of two sets, or a function that defines such a correspondence. In programming, it often represents a data structure that associates keys with values, or a function that transforms one set of data into another.

      +
    4. +
    +

    Together, “castMapping” describes a function that takes a value (which could be a function, a property name, or undefined) and converts or “casts” it into a standardized mapping. This resulting mapping can then be used to transform data consistently, regardless of the initial input type. The process enhances flexibility in data manipulation by allowing various input types to be treated uniformly as mappings for data transformation.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/function/noop/index.html b/v12.2.0-beta/reference/function/noop/index.html new file mode 100644 index 00000000..5a44b2a2 --- /dev/null +++ b/v12.2.0-beta/reference/function/noop/index.html @@ -0,0 +1,96 @@ + noop | Radashi + + Skip to content

    noop

    Does nothing and returns undefined

    33 bytes +

    Usage

    +

    This is useful when you need to pass a function somewhere, but you don’t care when it runs or what it receives.

    +

    Since noop has a function signature of () => undefined, you will be warned by TypeScript if you pass it where a function is expected to return something different.

    +
    import * as _ from 'radashi'
    +
    _.noop() // => undefined
    +

    FAQ

    +
      +
    • Shouldn’t I just use ?. operator?
      +Where possible, yes you should. The noop is best for cases where you’re not in control of the code that calls it and a function is required.
    • +
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/index.html b/v12.2.0-beta/reference/index.html new file mode 100644 index 00000000..c01721fc --- /dev/null +++ b/v12.2.0-beta/reference/index.html @@ -0,0 +1,215 @@ + Functions overview | Radashi + + Skip to content

    Functions overview

    Welcome to the Radashi API Reference.

    +

    Array

    +

    alphabetical

    Sorts an array of objects alphabetically by a property

    +

    boil

    Reduce a list of items down to one item

    +

    castArray

    Cast a value into an array

    +

    castArrayIfExists

    Cast a non-nullish value into an array

    +

    cluster

    Split a list into many lists of the given size

    +

    counting

    Creates an object with counts of occurrences of items

    +

    diff

    Create an array of differences between two arrays

    +

    first

    Get the first item from a list

    +

    flat

    Flatten an array of arrays into a single dimension

    +

    fork

    Split an array into two arrays by a condition

    +

    group

    Sort an array of items into groups

    +

    intersects

    Determine if two arrays have a common item

    +

    iterate

    Iterate over a callback n times

    +

    last

    Get the last item from a list

    +

    list

    Create a list with specific items

    +

    mapify

    Convert an array to a map

    +

    merge

    Combine two lists overriding items in the first

    +

    objectify

    Convert a list to a dictionary object

    +

    replace

    Replace an item in an array

    +

    replaceOrAppend

    Replace item in array or append if no match

    +

    select

    Filter and map an array

    +

    selectFirst

    Find and map the first array element meeting a condition

    +

    shift

    Shift array items by n steps

    +

    sift

    Remove all falsy items from list

    +

    sort

    Sort a list of objects by a numerical property

    +

    toggle

    Toggles an item’s existence in an array

    +

    unique

    Remove duplicates from an array

    +

    unzip

    Group array elements by their index position across the input arrays

    +

    zip

    Combine multiple arrays in sets

    +

    zipToObject

    Combine multiple arrays in sets

    +

    Async

    +

    all

    Await many promises

    +

    defer

    Run an async function with deferred functions

    +

    guard

    Have a function return undefined if it errors out

    +

    map

    Map an array with an async function

    +

    parallel

    Run many async function in parallel

    +

    reduce

    Reduce an array with an async function

    +

    retry

    Run an async function retrying if it fails

    +

    sleep

    Asynchronously wait for time to pass

    +

    tryit

    Convert a function to an error-first function

    +

    withResolvers

    Ponyfill for Promise.withResolvers()

    +

    Curry

    +

    chain

    Create a chain of function to run in order

    +

    compose

    Create a composition of functions

    +

    debounce

    Delay a function until after a specified time has elapsed since the last call

    +

    flip

    Swap the only two arguments of a function

    +

    memo

    Memoize a function

    +

    once

    Create a function that runs at most once

    +

    partial

    Create a partial a function

    +

    partob

    Create a partob a function

    +

    proxied

    Create a dynamic proxied a object

    +

    throttle

    Creates a throttled function that limits invocations to a specified interval

    +

    Function

    +

    always

    Create a function that always returns the same value

    +

    castComparator

    Cast a value into a comparator function

    +

    castMapping

    Cast a value into a mapping function

    +

    noop

    Does nothing and returns undefined

    +

    Number

    +

    clamp

    Limit the range of a variable number

    +

    inRange

    Verifies number within range, inclusive start, exclusive end, flexible order, defaulting to 0 if end unspecified

    +

    lerp

    Smoothly transitions between two values based on a factor

    +

    max

    Get the largest item from an array

    +

    min

    Get the smallest item from an array

    +

    range

    Create a range used for iterating

    +

    round

    Rounds a number to a specified precision.

    +

    sum

    Add up all items of an array

    +

    toFloat

    Convert a value to a float if possible

    +

    toInt

    Convert a value to an int if possible

    +

    Object

    +

    assign

    Merges two objects together recursively

    +

    clone

    Creates a shallow copy of the given object/value.

    +

    cloneDeep

    Create a deep copy of an object or array

    +

    construct

    Builds an object from key paths and values

    +

    crush

    Flattens a deep object to a single dimension

    +

    filterKey

    Check if an object key passes a filter

    +

    get

    Get any attribute or child attribute using a deep path

    +

    invert

    Invert the keys and values of an object

    +

    keys

    Get all keys from an object deeply

    +

    listify

    Convert an object to a list

    +

    lowerize

    Convert all object keys to lower case

    +

    mapEntries

    Map the keys and values of an object

    +

    mapKeys

    Map over the keys of an object

    +

    mapValues

    Map over the keys of an object

    +

    omit

    Omit unwanted attributes from an object

    +

    pick

    Pick only the desired properties from an object

    +

    set

    Set a value on an object using a path key

    +

    shake

    Remove unwanted values from an object

    +

    traverse

    Deeply enumerate an object and any nested objects

    +

    upperize

    Convert all object keys to upper case

    +

    Random

    +

    draw

    Get a random item from a list

    +

    random

    Generate a random number

    +

    shuffle

    Randomly shuffle an array

    +

    uid

    Generate a unique identifier

    +

    Series

    +

    series

    Create an ordered series object

    +

    String

    +

    camel

    Convert a string to camel case

    +

    capitalize

    Convert a string to a capitalized format

    +

    dash

    Convert a string to dash case

    +

    pascal

    Convert a string to pascal case

    +

    similarity

    Calculate the similarity between two strings using the Levenshtein distance algorithm

    +

    snake

    Convert a string to snake case

    +

    template

    Template a string with values from a data object using a search expression

    +

    title

    Convert a string to title case

    +

    trim

    Trim values from a string

    +

    Typed

    +

    isArray

    Determine if a value is an Array

    +

    isBoolean

    Check if a value is a boolean type

    +

    isDate

    Determine if a value is a Date

    +

    isEmpty

    Determine if a value is empty

    +

    isEqual

    Determine if two values are equal

    +

    isError

    Determine if a value is an Error

    +

    isFloat

    Determine if a value is a float

    +

    isFunction

    Determine if a value is a Function

    +

    isInt

    Determine if a value is an int

    +

    isIntString

    Determine if a value is an int in string form

    +

    isMap

    Returns true for Map instances

    +

    isNumber

    Determine if a value is a number

    +

    isObject

    Determine if a value is an Object

    +

    isPlainObject

    Determine if a value is a plain object

    +

    isPrimitive

    Checks if the given value is primitive

    +

    isPromise

    Determine if a value is a Promise or has a then method

    +

    isRegExp

    Returns true for RegExp instances

    +

    isResult

    Check if a value is a Result tuple

    +

    isResultErr

    Returns true for failed Result tuple

    +

    isResultOk

    Returns true for successful Result tuple

    +

    isSet

    Returns true for Set instances

    +

    isString

    Determine if a value is a String

    +

    isSymbol

    Determine if a value is a Symbol

    +

    isWeakMap

    Returns true for WeakMap instances

    +

    isWeakSet

    Returns true for WeakSet instances

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/clamp/index.html b/v12.2.0-beta/reference/number/clamp/index.html new file mode 100644 index 00000000..ccc09f2f --- /dev/null +++ b/v12.2.0-beta/reference/number/clamp/index.html @@ -0,0 +1,100 @@ + clamp | Radashi + + Skip to content

    clamp

    Limit the range of a variable number

    141 bytes +

    Usage

    +

    The clamp function restricts a number to be within a specified +range.

    +
      +
    • It takes three arguments: the number to clamp, the minimum value, +and the maximum value.
    • +
    • If the number is less than the minimum, it returns the minimum.
    • +
    • If the number is greater than the maximum, it returns the +maximum.
    • +
    • Otherwise, it returns the number itself.
    • +
    +
    import * as _ from 'radashi'
    +
    _.clamp(5, 1, 10) // returns 5
    _.clamp(0, 1, 10) // returns 1
    _.clamp(15, 1, 10) // returns 10
    +
    // Invalid range
    _.clamp(1, 10, 1) // throws
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/inRange/index.html b/v12.2.0-beta/reference/number/inRange/index.html new file mode 100644 index 00000000..9ade4e3c --- /dev/null +++ b/v12.2.0-beta/reference/number/inRange/index.html @@ -0,0 +1,96 @@ + inRange | Radashi + + Skip to content

    inRange

    Verifies number within range, inclusive start, exclusive end, flexible order, defaulting to 0 if end unspecified

    185 bytes +

    Basic usage

    +

    Pass the number, the start and the end (optional) of the range. The _.inRange function will return true if the given number is in the range.

    +
      +
    • The start is inclusive, the end is exclusive. So 10 is in the range 0-11 and 10-20, but not 0-10.
    • +
    • If an end is unspecified, the range defaults to >= 0 and < start.
    • +
    • If the end is lower than the start, the range is reversed.
    • +
    +
    import * as _ from 'radashi'
    +
    _.inRange(10, 0, 20) // true
    _.inRange(9.99, 0, 10) // true
    _.inRange(Math.PI, 0, 3.15) // true
    _.inRange(10, 10, 20) // true
    _.inRange(10, 0, 10) // false
    +
    _.inRange(1, 2) // true
    _.inRange(1, 0) // false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/lerp/index.html b/v12.2.0-beta/reference/number/lerp/index.html new file mode 100644 index 00000000..ad497d3d --- /dev/null +++ b/v12.2.0-beta/reference/number/lerp/index.html @@ -0,0 +1,93 @@ + lerp | Radashi + + Skip to content

    lerp

    Smoothly transitions between two values based on a factor

    54 bytes +

    Usage

    +

    The lerp function is used to linearly interpolate between two numbers based on a specified amount. This function is particularly useful in animations, graphics, and games for smooth transitions.

    +
    import * as _ from 'radashi'
    +
    _.lerp(0, 10, 0.5) // => 5
    _.lerp(5, 15, 0.2) // => 7
    _.lerp(-10, 10, 0.75) // => 5
    +

    Etymology

    +

    The name lerp is short for “linear interpolation”. It’s a term from computer graphics that means “interpolate linearly between two values”.

    +

    For more information, check out the Wikipedia article on linear interpolation.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/max/index.html b/v12.2.0-beta/reference/number/max/index.html new file mode 100644 index 00000000..d251a5be --- /dev/null +++ b/v12.2.0-beta/reference/number/max/index.html @@ -0,0 +1,91 @@ + max | Radashi + + Skip to content

    max

    Get the largest item from an array

    125 bytes +

    Usage

    +

    Given an array of items and a function to get the value of each item, returns the item with the largest value. Uses _.boil under the hood.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    source: 'ocean',
    },
    {
    name: 'Bass',
    weight: 8,
    source: 'lake',
    },
    {
    name: 'Trout',
    weight: 13,
    source: 'lake',
    },
    ]
    +
    _.max(fish, f => f.weight) // => {name: "Marlin", weight: 105, source: "ocean"}
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/min/index.html b/v12.2.0-beta/reference/number/min/index.html new file mode 100644 index 00000000..b9ccb1c9 --- /dev/null +++ b/v12.2.0-beta/reference/number/min/index.html @@ -0,0 +1,91 @@ + min | Radashi + + Skip to content

    min

    Get the smallest item from an array

    125 bytes +

    Usage

    +

    Given an array of items and a function to get the value of each item, returns the item with the smallest value. Uses _.boil under the hood.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    source: 'ocean',
    },
    {
    name: 'Bass',
    weight: 8,
    source: 'lake',
    },
    {
    name: 'Trout',
    weight: 13,
    source: 'lake',
    },
    ]
    +
    _.min(fish, f => f.weight) // => {name: "Bass", weight: 8, source: "lake"}
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/range/index.html b/v12.2.0-beta/reference/number/range/index.html new file mode 100644 index 00000000..7c842d35 --- /dev/null +++ b/v12.2.0-beta/reference/number/range/index.html @@ -0,0 +1,108 @@ + range | Radashi + + Skip to content

    range

    Create a range used for iterating

    170 bytes +

    Usage

    +

    Given a start, end, value, and step size returns a generator that will yield values from start to end by step size. Useful for replacing for (let i = 0) with for of. Range will return a generator that for of will call one at a time, so it’s safe to create large ranges.

    +

    The interface is identical to list.

    +

    A hat tip to Python’s range functionality

    +
    import * as _ from 'radashi'
    +
    _.range(3) // yields 0, 1, 2, 3
    _.range(0, 3) // yields 0, 1, 2, 3
    _.range(0, 3, 'y') // yields y, y, y, y
    _.range(0, 3, () => 'y') // yields y, y, y, y
    _.range(0, 3, i => i) // yields 0, 1, 2, 3
    _.range(0, 3, i => `y${i}`) // yields y0, y1, y2, y3
    _.range(0, 3, obj) // yields obj, obj, obj, obj
    _.range(0, 6, i => i, 2) // yields 0, 2, 4, 6
    +
    for (const i of _.range(0, 200, 10)) {
    console.log(i) // => 0, 10, 20, 30 ... 190, 200
    }
    +
    for (const i of _.range(0, 5)) {
    console.log(i) // => 0, 1, 2, 3, 4, 5
    }
    +

    Signatures

    +

    The range function can do a lot with different arguments.

    +

    range(size)

    +

    When givin a single argument, it’s treated as the size. Returns a generator that yields values from 0 to size.

    +
    _.range(3) // yields 0, 1, 2, 3
    +

    range(start, end)

    +

    When given two arguments, they’re treated as the start and end. Returns a generator that yields values from start to end

    +
    _.range(2, 6) // yields 2, 3, 4, 5, 6
    +

    range(start, end, value)

    +

    When given a third argument it’s treated as the value to be yielded in the generator. If the value is a function it will be called, with an index argument, to create every value.

    +
    _.range(2, 4, {}) // yields {}, {}, {}
    _.range(2, 4, null) // yields null, null, null
    _.range(2, 4, i => i) // yields 2, 3, 4
    +

    range(start, end, value, step)

    +

    When given a fourth argument it’s treated as the step size to skip when yielding values from start to end.

    +
    _.range(2, 4, i => i, 2) // yields 2, 4
    _.range(25, 100, i => i, 25) // yields 25, 50, 75, 100
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/round/index.html b/v12.2.0-beta/reference/number/round/index.html new file mode 100644 index 00000000..688bfd4a --- /dev/null +++ b/v12.2.0-beta/reference/number/round/index.html @@ -0,0 +1,96 @@ + round | Radashi + + Skip to content

    round

    Rounds a number to a specified precision.

    199 bytes +

    Usage

    +

    The _.round function rounds a given number to a specified precision.

    +
    import * as _ from 'radashi'
    +
    _.round(123.456) // => 123
    _.round(1234.56, -2) // => 1200
    +

    Precision

    +

    The precision argument is limited to be within the range of -323 to +292. +Without this limit, precision values outside this range can result in NaN.

    +

    Rounding Method

    +

    You may provide a custom rounding method. The default is Math.round.

    +
    _.round(4.001, 2, Math.ceil) // => 4.01
    _.round(4.089, 2, Math.floor) // => 4.08
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/sum/index.html b/v12.2.0-beta/reference/number/sum/index.html new file mode 100644 index 00000000..8bdcdd69 --- /dev/null +++ b/v12.2.0-beta/reference/number/sum/index.html @@ -0,0 +1,91 @@ + sum | Radashi + + Skip to content

    sum

    Add up all items of an array

    78 bytes +

    Usage

    +

    Given an array of items, and an optional function to map each item to a number, add up all the items.

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 100,
    },
    {
    name: 'Bass',
    weight: 10,
    },
    {
    name: 'Trout',
    weight: 15,
    },
    ]
    +
    _.sum(fish, f => f.weight) // => 125
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/toFloat/index.html b/v12.2.0-beta/reference/number/toFloat/index.html new file mode 100644 index 00000000..efece9b8 --- /dev/null +++ b/v12.2.0-beta/reference/number/toFloat/index.html @@ -0,0 +1,90 @@ + toFloat | Radashi + + Skip to content

    toFloat

    Convert a value to a float if possible

    161 bytes +

    Usage

    +

    The _.toFloat function will do its best to convert the given value to a float.

    +
    import * as _ from 'radashi'
    +
    _.toFloat(0) // => 0.0
    _.toFloat(null) // => 0.0
    _.toFloat(null, 3.33) // => 3.33
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/number/toInt/index.html b/v12.2.0-beta/reference/number/toInt/index.html new file mode 100644 index 00000000..d2c7429b --- /dev/null +++ b/v12.2.0-beta/reference/number/toInt/index.html @@ -0,0 +1,90 @@ + toInt | Radashi + + Skip to content

    toInt

    Convert a value to an int if possible

    157 bytes +

    Usage

    +

    The _.toInt function will do its best to convert the given value to an int.

    +
    import * as _ from 'radashi'
    +
    _.toInt(0) // => 0
    _.toInt(null) // => 0
    _.toInt(null, 3) // => 3
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/assign/index.html b/v12.2.0-beta/reference/object/assign/index.html new file mode 100644 index 00000000..2ec40ca6 --- /dev/null +++ b/v12.2.0-beta/reference/object/assign/index.html @@ -0,0 +1,91 @@ + assign | Radashi + + Skip to content

    assign

    Merges two objects together recursively

    373 bytes +

    Usage

    +

    Merges two objects together recursively into a new object applying values from right to left. Recursion only applies to child object properties.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    name: 'Ra',
    power: 100,
    }
    +
    _.assign(ra, { name: 'Loki' })
    // => { name: Loki, power: 100 }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/clone/index.html b/v12.2.0-beta/reference/object/clone/index.html new file mode 100644 index 00000000..6898806e --- /dev/null +++ b/v12.2.0-beta/reference/object/clone/index.html @@ -0,0 +1,92 @@ + clone | Radashi + + Skip to content

    clone

    Creates a shallow copy of the given object/value.

    328 bytes +

    Usage

    +

    Creates a shallow copy of the given object/value.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    name: 'Ra',
    power: 100,
    }
    +
    const gods = [ra]
    +
    _.clone(ra) // => copy of ra
    _.clone(gods) // => copy of gods
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/cloneDeep/index.html b/v12.2.0-beta/reference/object/cloneDeep/index.html new file mode 100644 index 00000000..bcfe1e48 --- /dev/null +++ b/v12.2.0-beta/reference/object/cloneDeep/index.html @@ -0,0 +1,106 @@ + cloneDeep | Radashi + + Skip to content

    cloneDeep

    Create a deep copy of an object or array

    1142 bytes +

    Usage

    +

    Deeply clone the given object or array. The only nested objects that get cloned by default are: plain objects, arrays, Map instances, and Set instances.

    +

    The default behavior aims to support the most popular use cases. See “Customized cloning” below if you need more control.

    +

    By default, non-enumerable properties and computed properties are copied lossless-ly. Note that you can opt out of this behavior if you need better performance (see “Faster cloning” below).

    +
    import * as _ from 'radashi'
    +
    _.cloneDeep()
    +

    Faster cloning

    +

    You can pass the FastCloningStrategy for better performance, but bear in mind the following tradeoff.

    +

    All plain objects and class instances are cloned with {...obj}. This means that the original prototype, computed properties, and non-enumerable properties are not preserved.

    +

    Also note that built-in, complex objects like RegExp and Date are still not cloned with this cloning strategy. You can override the cloneOther function if you need to clone these object types.

    +

    Customized cloning

    +

    “Cloning strategies” control how certain object types are handled by cloneDeep. You can pass in a custom strategy, which may even be a partial strategy. Any undefined methods in your strategy will inherit the default logic. Your custom methods can return null to use the default logic, or they can return the received object to skip cloning.

    +
    import * as _ from 'radashi'
    +
    _.cloneDeep(obj, {
    // Clone arrays with default logic if they are not frozen.
    cloneArray: array => (Object.isFrozen(array) ? array : null),
    })
    +

    If you clone the object in your custom method, make sure to pass the clone into the track function before cloning the nested objects. Here’s an example with cloneOther that handles a custom class instance.

    +
    import * as _ from 'radashi'
    +
    _.cloneDeep(obj, {
    cloneOther: (obj, track, clone) => {
    if (obj instanceof MyClass) {
    // 1. Create a new instance and track it.
    const clone = track(new MyClass())
    +
    // 2. Copy over the properties of the original instance.
    for (const key in obj) {
    clone[key] = clone(obj[key])
    }
    +
    // 3. Return the cloned instance.
    return clone
    }
    +
    // Use default logic for anything else.
    return null
    },
    })
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/construct/index.html b/v12.2.0-beta/reference/object/construct/index.html new file mode 100644 index 00000000..dc4efed2 --- /dev/null +++ b/v12.2.0-beta/reference/object/construct/index.html @@ -0,0 +1,91 @@ + construct | Radashi + + Skip to content

    construct

    Builds an object from key paths and values

    693 bytes +

    Usage

    +

    The opposite of crush, given an object that was crushed into key paths and values will return the original object reconstructed.

    +
    import * as _ from 'radashi'
    +
    const flat = {
    name: 'ra',
    power: 100,
    'friend.name': 'loki',
    'friend.power': 80,
    'enemies.0.name': 'hathor',
    'enemies.0.power': 12,
    }
    +
    _.construct(flat)
    // {
    // name: 'ra',
    // power: 100,
    // friend: {
    // name: 'loki',
    // power: 80
    // },
    // enemies: [
    // {
    // name: 'hathor',
    // power: 12
    // }
    // ]
    // }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/crush/index.html b/v12.2.0-beta/reference/object/crush/index.html new file mode 100644 index 00000000..c8a53754 --- /dev/null +++ b/v12.2.0-beta/reference/object/crush/index.html @@ -0,0 +1,91 @@ + crush | Radashi + + Skip to content

    crush

    Flattens a deep object to a single dimension

    290 bytes +

    Usage

    +

    Flattens a deep object to a single dimension. The deep keys will be converted to a dot notation in the new object.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    name: 'ra',
    power: 100,
    friend: {
    name: 'loki',
    power: 80,
    },
    enemies: [
    {
    name: 'hathor',
    power: 12,
    },
    ],
    }
    +
    _.crush(ra)
    // {
    // name: 'ra',
    // power: 100,
    // 'friend.name': 'loki',
    // 'friend.power': 80,
    // 'enemies.0.name': 'hathor',
    // 'enemies.0.power': 12
    // }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/filterKey/index.html b/v12.2.0-beta/reference/object/filterKey/index.html new file mode 100644 index 00000000..7cbb5c6a --- /dev/null +++ b/v12.2.0-beta/reference/object/filterKey/index.html @@ -0,0 +1,91 @@ + filterKey | Radashi + + Skip to content

    filterKey

    Check if an object key passes a filter

    146 bytes +

    Usage

    +

    You have a utility function that is filtering an object’s properties somehow. Using filterKey will allow your function to filter those properties based on either an array of keys (an allowlist) or a function that returns a boolean for each property.

    +

    The KeyFilter type provided by Radashi is fundamental in taking advantage of the filterKey function. Be sure to use it to ensure type safety and maintainable code.

    +
    import * as _ from 'radashi'
    +
    function filterObject(obj: object, filter: _.KeyFilter) {
    for (const key in obj) {
    if (_.filterKey(obj, key, filter)) {
    // ...
    }
    }
    }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/get/index.html b/v12.2.0-beta/reference/object/get/index.html new file mode 100644 index 00000000..94823803 --- /dev/null +++ b/v12.2.0-beta/reference/object/get/index.html @@ -0,0 +1,91 @@ + get | Radashi + + Skip to content

    get

    Get any attribute or child attribute using a deep path

    190 bytes +

    Usage

    +

    Given any value and a select function to get the desired attribute, returns the desired value or a default value if the desired value couldn’t be found.

    +
    import * as _ from 'radashi'
    +
    const fish = {
    name: 'Bass',
    weight: 8,
    sizes: [
    {
    maturity: 'adult',
    range: [7, 18],
    unit: 'inches',
    },
    ],
    }
    +
    _.get(fish, 'sizes[0].range[1]') // 18
    _.get(fish, 'sizes.0.range.1') // 18
    _.get(fish, 'foo', 'default') // 'default'
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/invert/index.html b/v12.2.0-beta/reference/object/invert/index.html new file mode 100644 index 00000000..4ec639b7 --- /dev/null +++ b/v12.2.0-beta/reference/object/invert/index.html @@ -0,0 +1,91 @@ + invert | Radashi + + Skip to content

    invert

    Invert the keys and values of an object

    94 bytes +

    Usage

    +

    Given an object returns a new object with the keys and values reversed.

    +
    import * as _ from 'radashi'
    +
    const powersByGod = {
    ra: 'sun',
    loki: 'tricks',
    zeus: 'lightning',
    }
    +
    _.invert(powersByGod) // => { sun: ra, tricks: loki, lightning: zeus }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/keys/index.html b/v12.2.0-beta/reference/object/keys/index.html new file mode 100644 index 00000000..ab02960d --- /dev/null +++ b/v12.2.0-beta/reference/object/keys/index.html @@ -0,0 +1,95 @@ + keys | Radashi + + Skip to content

    keys

    Get all keys from an object deeply

    397 bytes +

    Usage

    +

    Given an object, return all of it’s keys and children’s keys deeply as a flat string list.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    name: 'ra',
    power: 100,
    friend: {
    name: 'loki',
    power: 80,
    },
    enemies: [
    {
    name: 'hathor',
    power: 12,
    },
    ],
    }
    +
    _.keys(ra)
    // => [
    // 'name',
    // 'power',
    // 'friend.name',
    // 'friend.power',
    // 'enemies.0.name',
    // 'enemies.0.power'
    // ]
    +

    This is a function you might like to use with get, which dynamically looks up values in an object given a string path. Using the two together you could do something like flatten a deep object.

    +
    import * as _ from 'radashi'
    +
    _.objectify(
    _.keys(ra),
    key => key,
    key => _.get(ra, key),
    )
    // => {
    // 'name': 'ra'
    // 'power': 100
    // 'friend.name': 'loki'
    // 'friend.power': 80
    // 'enemies.0.name': 'hathor'
    // 'enemies.0.power': 12
    // }
    +

    As of v10.5.0+ you can get this behavior via the crush function

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/listify/index.html b/v12.2.0-beta/reference/object/listify/index.html new file mode 100644 index 00000000..d64152fc --- /dev/null +++ b/v12.2.0-beta/reference/object/listify/index.html @@ -0,0 +1,91 @@ + listify | Radashi + + Skip to content

    listify

    Convert an object to a list

    145 bytes +

    Usage

    +

    Given an object and a mapping function, return an array with an item for each entry in the object.

    +
    import * as _ from 'radashi'
    +
    const fish = {
    marlin: {
    weight: 105,
    },
    bass: {
    weight: 8,
    },
    }
    +
    _.listify(fish, (key, value) => ({ ...value, name: key })) // => [{ name: 'marlin', weight: 105 }, { name: 'bass', weight: 8 }]
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/lowerize/index.html b/v12.2.0-beta/reference/object/lowerize/index.html new file mode 100644 index 00000000..0ac123f2 --- /dev/null +++ b/v12.2.0-beta/reference/object/lowerize/index.html @@ -0,0 +1,92 @@ + lowerize | Radashi + + Skip to content

    lowerize

    Convert all object keys to lower case

    146 bytes +

    Usage

    +

    Convert all keys in an object to lower case. Useful to standardize attribute key casing. For example, headers.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    Mode: 'god',
    Power: 'sun',
    }
    +
    _.lowerize(ra) // => { mode, power }
    +

    The _.lowerize function is a shortcut for _.mapKeys(obj, k => k.toLowerCase())

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/mapEntries/index.html b/v12.2.0-beta/reference/object/mapEntries/index.html new file mode 100644 index 00000000..6866ac19 --- /dev/null +++ b/v12.2.0-beta/reference/object/mapEntries/index.html @@ -0,0 +1,94 @@ + mapEntries | Radashi + + Skip to content

    mapEntries

    Map the keys and values of an object

    127 bytes +

    Usage

    +

    Iterates the entries of an object, calling the given toEntry callback function +to generate new entries. It’s a _.mapValues and _.mapKeys +in one. The toEntry callback function should return an array with +two items [key, value] (a.k.a the new entry).

    +
    import * as _ from 'radashi'
    +
    const ra = {
    name: 'Ra',
    power: 'sun',
    rank: 100,
    culture: 'egypt',
    }
    +
    _.mapEntries(ra, (key, value) => [key.toUpperCase(), `${value}`]) // => { NAME: 'Ra', POWER: 'sun', RANK: '100', CULTURE: 'egypt' }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/mapKeys/index.html b/v12.2.0-beta/reference/object/mapKeys/index.html new file mode 100644 index 00000000..d41901dd --- /dev/null +++ b/v12.2.0-beta/reference/object/mapKeys/index.html @@ -0,0 +1,92 @@ + mapKeys | Radashi + + Skip to content

    mapKeys

    Map over the keys of an object

    100 bytes +

    Usage

    +

    Given an object and a toKey callback function, returns a new object with all the keys +mapped through the toKey function. The callback is given both the key and value for each entry.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    mode: 'god',
    power: 'sun',
    }
    +
    _.mapKeys(ra, key => key.toUpperCase()) // => { MODE, POWER }
    _.mapKeys(ra, (key, value) => value) // => { god: 'god', power: 'power' }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/mapValues/index.html b/v12.2.0-beta/reference/object/mapValues/index.html new file mode 100644 index 00000000..b6649571 --- /dev/null +++ b/v12.2.0-beta/reference/object/mapValues/index.html @@ -0,0 +1,92 @@ + mapValues | Radashi + + Skip to content

    mapValues

    Map over the keys of an object

    99 bytes +

    Usage

    +

    Given an object and a toValue callback function, returns a new object with all the values +mapped through the toValue function. The callback is given both the value and key for each entry.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    mode: 'god',
    power: 'sun',
    }
    +
    _.mapValues(ra, value => value.toUpperCase()) // => { mode: 'GOD', power: 'SUN' }
    _.mapValues(ra, (value, key) => key) // => { mode: 'mode', power: 'power' }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/omit/index.html b/v12.2.0-beta/reference/object/omit/index.html new file mode 100644 index 00000000..b51d6418 --- /dev/null +++ b/v12.2.0-beta/reference/object/omit/index.html @@ -0,0 +1,91 @@ + omit | Radashi + + Skip to content

    omit

    Omit unwanted attributes from an object

    106 bytes +

    Usage

    +

    Given an object and a list of keys in the object, returns a new object without any of the given keys.

    +
    import * as _ from 'radashi'
    +
    const fish = {
    name: 'Bass',
    weight: 8,
    source: 'lake',
    brackish: false,
    }
    +
    _.omit(fish, ['name', 'source']) // => { weight, brackish }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/pick/index.html b/v12.2.0-beta/reference/object/pick/index.html new file mode 100644 index 00000000..a9bec3eb --- /dev/null +++ b/v12.2.0-beta/reference/object/pick/index.html @@ -0,0 +1,103 @@ + pick | Radashi + + Skip to content

    pick

    Pick only the desired properties from an object

    266 bytes +

    Usage

    +

    Given an object and a list of keys in the object, returns a new object with only the given keys.

    +
    import * as _ from 'radashi'
    +
    const fish = {
    name: 'Bass',
    weight: 8,
    source: 'lake',
    brackish: false,
    }
    +
    _.pick(fish, ['name', 'source']) // => { name, source }
    +

    Predicate function

    +

    The pick function can also accept a predicate function as the filter argument. This allows for more complex filtering logic beyond simple key inclusion or exclusion.

    +
    import * as _ from 'radashi'
    +
    const source = { a: 1, b: 2, c: 3, d: 4 }
    +
    _.pick(source, (value, key) => {
    return value % 2 === 0 // Include only even values
    })
    // => { b: 2, d: 4 }
    +

    Unsafe predicate function

    + +
    // Example demonstrating potential inaccuracy in `key` and `value` types within `_.pick` callback
    import * as _ from 'radashi'
    +
    interface User {
    name: string
    age: number
    }
    +
    function getUserDetails(user: User) {
    return _.pick(user, (value, key) => {
    // TypeScript believes `key` is 'name' | 'age', but at runtime
    // it could be 'email'
    if (key === 'name' || key === 'age') {
    console.log(key, '=', value)
    } else {
    // TypeScript believes this will never run, but it does.
    console.log('Unexpected key:', key)
    }
    })
    }
    +
    // At runtime, the function may receive an object with more properties
    const runtimeUser = {
    name: 'John',
    age: 30,
    // This property is not listed in the User type:
    email: 'john@example.com',
    }
    +
    getUserDetails(runtimeUser)
    // Logs the following:
    // name = John
    // age = 30
    // Unexpected key: email
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/set/index.html b/v12.2.0-beta/reference/object/set/index.html new file mode 100644 index 00000000..671261da --- /dev/null +++ b/v12.2.0-beta/reference/object/set/index.html @@ -0,0 +1,91 @@ + set | Radashi + + Skip to content

    set

    Set a value on an object using a path key

    616 bytes +

    Usage

    +

    Opposite of get, dynamically set a nested value into an object using a key path. Does not modify the given initial object.

    +
    import * as _ from 'radashi'
    +
    _.set({}, 'name', 'ra')
    // => { name: 'ra' }
    +
    _.set({}, 'cards[0].value', 2)
    // => { cards: [{ value: 2 }] }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/shake/index.html b/v12.2.0-beta/reference/object/shake/index.html new file mode 100644 index 00000000..96b3be9a --- /dev/null +++ b/v12.2.0-beta/reference/object/shake/index.html @@ -0,0 +1,91 @@ + shake | Radashi + + Skip to content

    shake

    Remove unwanted values from an object

    120 bytes +

    Usage

    +

    A bit like _.sift but for objects. By default, it will return a new object with all the undefined attributes removed. You can pass a second function argument to remove any attributes by a custom condition.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    mode: 'god',
    greek: false,
    limit: undefined,
    }
    +
    _.shake(ra) // => { mode, greek }
    _.shake(ra, a => !a) // => { mode }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/traverse/index.html b/v12.2.0-beta/reference/object/traverse/index.html new file mode 100644 index 00000000..4fc7de42 --- /dev/null +++ b/v12.2.0-beta/reference/object/traverse/index.html @@ -0,0 +1,159 @@ + traverse | Radashi + + Skip to content

    traverse

    Deeply enumerate an object and any nested objects

    1284 bytes +

    Usage

    +

    Recursively visit each property of an object (or each element of an array) and its nested objects or arrays. To traverse non-array iterables (e.g. Map, Set) and class instances, see the Traversing other objects section.

    +

    Traversal is performed in a depth-first manner. That means the deepest object will be visited before the last property of the root object.

    +
    import * as _ from 'radashi'
    +
    const root = { a: { b: 2 }, c: [1, 2] }
    +
    _.traverse(root, (value, key, parent, context) => {
    const depth = context.parents.length
    console.log(' '.repeat(depth * 2), key, '=>', value)
    })
    // Logs the following:
    // a => { b: 2 }
    // b => 2
    // c => [1, 2]
    // 0 => 1
    // 1 => 2
    +

    Tip: Check out the Advanced section to see what else is possible.

    + +

    Types

    +

    TraverseVisitor

    +

    The TraverseVisitor type represents the function passed to traverse as its 2nd argument. If you ever need to declare a visitor separate from a traverse call, you can do so by declaring a function with this type signature.

    +
    import { TraverseVisitor } from 'radashi'
    +
    const visitor: TraverseVisitor = (value, key, parent, context) => {
    // ...
    }
    +

    TraverseContext

    +

    Every visit includes a context object typed with TraverseContext, which contains the following properties:

    +
      +
    • key: The current key being visited.
    • +
    • parent: The parent object of the current value.
    • +
    • parents: An array of objects (from parent to child) that the current value is contained by.
    • +
    • path: An array describing the key path to the current value from the root.
    • +
    • skip: A function used for skipping traversal of an object. If no object is provided, the current value is skipped. See Skipping objects for more details.
    • +
    • skipped: A set of objects that have been skipped.
    • +
    • value: The current value being visited.
    • +
    + +

    TraverseOptions

    +

    You may set these options for traverse using an object as its 3rd argument.

    +
      +
    • ownKeys: A function that returns the own enumerable property names of an object.
    • +
    • rootNeedsVisit: A boolean indicating whether the root object should be visited.
    • +
    +

    See the Options section for more details.

    +

    Options

    +

    Traversing all properties

    +

    By default, non-enumerable properties and symbol properties are skipped. You can pass in a custom ownKeys implementation to control which object properties are visited.

    +

    This example shows how Reflect.ownKeys can be used to include non-enumerable properties and symbol properties. Note that symbol properties are always traversed last when using Reflect.ownKeys.

    +
    import * as _ from 'radashi'
    +
    const symbol = Symbol('b')
    const root = { [symbol]: 1 }
    Object.defineProperty(root, 'a', { value: 2, enumerable: false })
    +
    _.traverse(
    root,
    (value, key) => {
    console.log(key, '=>', value)
    },
    { ownKeys: Reflect.ownKeys },
    )
    // Logs the following:
    // a => 2
    // Symbol(b) => 1
    +

    Visiting the root object

    +

    By default, your visitor callback will never receive the object passed into traverse. To override this behavior, set the rootNeedsVisit option to true.

    +

    When the root object is visited, the key will be null.

    +
    import * as _ from 'radashi'
    +
    const root = { a: 1 }
    +
    _.traverse(
    root,
    (value, key) => {
    console.log(key, '=>', value)
    },
    { rootNeedsVisit: true },
    )
    // Logs the following:
    // null => { a: 1 }
    // a => 1
    +

    Advanced

    +

    Traversing other objects

    +

    If traversing plain objects and arrays isn’t enough, try calling traverse from within another traverse callback like follows. This takes advantage of the fact that the root object is always traversed.

    +
    import * as _ from 'radashi'
    +
    // Note how we're using a named visitor function so it can reference itself.
    _.traverse(root, function visitor(value, key, parent, context, options) {
    if (value instanceof MyClass) {
    return _.traverse(value, visitor, options, context)
    }
    // TODO: Handle other values as needed.
    })
    +

    If you didn’t set any options, the options argument can be null:

    +
    return _.traverse(root, visitor, null, context)
    +

    Skipping objects

    +

    Using the TraverseContext::skip method, you can prevent an object from being traversed. By calling skip() with no arguments, the current value won’t be traversed.

    +
    import * as _ from 'radashi'
    +
    const root = {
    a: { b: 1 },
    c: { d: 2 },
    }
    +
    _.traverse(root, (value, key, parent, context) => {
    console.log(key, '=>', value)
    +
    // Skip traversal of the 'a' object.
    if (key === 'a') {
    context.skip()
    }
    })
    // Logs the following:
    // a => { b: 1 }
    // c => { d: 2 }
    // d => 2
    +

    You can pass any object to skip() to skip traversal of that object.

    +
    import * as _ from 'radashi'
    +
    const root = {
    a: {
    b: {
    c: 1,
    },
    },
    }
    +
    _.traverse(root, (value, key, parent, context) => {
    console.log(key, '=>', value)
    +
    // Visit the properties of the current object, but skip any objects nested within.
    Object.values(value).forEach(nestedValue => {
    if (_.isObject(nestedValue)) {
    context.skip(nestedValue)
    }
    })
    })
    // Logs the following:
    // a => { b: { c: 1 } }
    // b => { c: 1 }
    +

    Exiting early

    +

    If your visitor callback returns false, traverse will exit early and also return false. This is useful if you found what you wanted, so you don’t need to traverse the rest of the objects.

    +
    let found = null
    _.traverse(root, value => {
    if (isWhatImLookingFor(value)) {
    found = value
    return false
    }
    })
    +

    Leave callbacks

    +

    If your visitor callback returns a function, it will be called once traverse has visited every visitable property/element within the current object. This is known as a “leave callback”.

    +

    Your leave callback can return false to exit traversal early.

    +
    _.traverse({ arr: ['a', 'b'] }, (value, key) => {
    if (isArray(value)) {
    console.log('start of array')
    return () => {
    console.log('end of array')
    return false
    }
    } else {
    console.log(key, '=>', value)
    }
    })
    // Logs the following:
    // start of array
    // 0 => 'a'
    // 1 => 'b'
    // end of array
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/object/upperize/index.html b/v12.2.0-beta/reference/object/upperize/index.html new file mode 100644 index 00000000..225e96e8 --- /dev/null +++ b/v12.2.0-beta/reference/object/upperize/index.html @@ -0,0 +1,92 @@ + upperize | Radashi + + Skip to content

    upperize

    Convert all object keys to upper case

    146 bytes +

    Usage

    +

    Convert all keys in an object to upper case.

    +
    import * as _ from 'radashi'
    +
    const ra = {
    Mode: 'god',
    Power: 'sun',
    }
    +
    _.upperize(ra) // => { MODE, POWER }
    +

    The _.upperize function is a shortcut for _.mapKeys(obj, k => k.toUpperCase())

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/random/draw/index.html b/v12.2.0-beta/reference/random/draw/index.html new file mode 100644 index 00000000..7d8f9d27 --- /dev/null +++ b/v12.2.0-beta/reference/random/draw/index.html @@ -0,0 +1,91 @@ + draw | Radashi + + Skip to content

    draw

    Get a random item from a list

    155 bytes +

    Usage

    +

    Draw, as in ‘to draw a card from a deck’, is used to get a random item from an array.

    +
    import * as _ from 'radashi'
    +
    const fish = ['marlin', 'bass', 'trout']
    +
    _.draw(fish) // => a random fish
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/random/random/index.html b/v12.2.0-beta/reference/random/random/index.html new file mode 100644 index 00000000..150e04ae --- /dev/null +++ b/v12.2.0-beta/reference/random/random/index.html @@ -0,0 +1,90 @@ + random | Radashi + + Skip to content

    random

    Generate a random number

    80 bytes +

    Usage

    +

    Generate a number within a range. This function is meant for utility use — not cryptographic.

    +
    import * as _ from 'radashi'
    +
    _.random(0, 100) // => a random number between 0 and 100
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/random/shuffle/index.html b/v12.2.0-beta/reference/random/shuffle/index.html new file mode 100644 index 00000000..b5870715 --- /dev/null +++ b/v12.2.0-beta/reference/random/shuffle/index.html @@ -0,0 +1,91 @@ + shuffle | Radashi + + Skip to content

    shuffle

    Randomly shuffle an array

    197 bytes +

    Usage

    +

    Create a new array with the items of the given array but in a random order. The randomization is done using the Fisher-Yates algorithm, which is mathematically proven to be unbiased (i.e. all permutations are equally likely).

    +
    import * as _ from 'radashi'
    +
    const fish = [
    {
    name: 'Marlin',
    weight: 105,
    source: 'ocean',
    },
    {
    name: 'Salmon',
    weight: 22,
    source: 'river',
    },
    {
    name: 'Salmon',
    weight: 22,
    source: 'river',
    },
    ]
    +
    _.shuffle(fish)
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/random/uid/index.html b/v12.2.0-beta/reference/random/uid/index.html new file mode 100644 index 00000000..d9a6d0c8 --- /dev/null +++ b/v12.2.0-beta/reference/random/uid/index.html @@ -0,0 +1,91 @@ + uid | Radashi + + Skip to content

    uid

    Generate a unique identifier

    280 bytes +

    Usage

    +

    Generates a unique string with optional special characters.

    +
    import * as _ from 'radashi'
    +
    _.uid(7) // => UaOKdlW
    _.uid(12, '*') // => egFn*THGelM8
    +

    Note, this function is optimized for simplicity and usability — not performance or security. If you need to create universally unique or cryptographically random strings use a package specifically for that purpose.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/series/series/index.html b/v12.2.0-beta/reference/series/series/index.html new file mode 100644 index 00000000..86e4727b --- /dev/null +++ b/v12.2.0-beta/reference/series/series/index.html @@ -0,0 +1,98 @@ + series | Radashi + + Skip to content

    series

    Create an ordered series object

    642 bytes +

    Usage

    +

    Sometimes you have an enum or union type, possibly a status, that has an inherent order and you need to work with values as though they’re ordered. The series function takes many values and returns an object that let’s you do ordered logic on those values.

    +
    import * as _ from 'radashi'
    +
    type Weekday = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday'
    +
    const weekdays = _.series<Weekday>([
    'monday',
    'tuesday',
    'wednesday',
    'thursday',
    'friday',
    ])
    +
    weekdays.min('tuesday', 'thursday') // => 'tuesday'
    weekdays.max('wednesday', 'monday') // => 'wednesday'
    weekdays.next('wednesday') // => 'thursday'
    weekdays.previous('tuesday') // => 'monday'
    weekdays.first() // => 'monday'
    weekdays.last() // => 'friday'
    weekdays.next('friday') // => null
    weekdays.next('friday', weekdays.first()) // => 'monday'
    weekdays.spin('monday', 3) // => 'thursday'
    +

    Complex Data Types

    +

    When working with objects you’ll want to provide a second argument to series, a function that converts non-primitive values into an identity that can be checked for equality.

    +
    import * as _ from 'radashi'
    +
    type Weekday = {
    day: 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday'
    }
    +
    const weekdays = _.series<Weekday>(
    [
    { day: 'monday' },
    { day: 'tuesday' },
    { day: 'wednesday' },
    { day: 'thursday' },
    { day: 'friday' },
    ],
    w => w.day,
    )
    +
    weekdays.next({ day: 'wednesday' }) // => { day: 'thursday' }
    weekdays.previous({ day: 'tuesday' }) // => { day: 'monday' }
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/camel/index.html b/v12.2.0-beta/reference/string/camel/index.html new file mode 100644 index 00000000..234ce514 --- /dev/null +++ b/v12.2.0-beta/reference/string/camel/index.html @@ -0,0 +1,90 @@ + camel | Radashi + + Skip to content

    camel

    Convert a string to camel case

    357 bytes +

    Usage

    +

    Given a string returns it in camel case format.

    +
    import * as _ from 'radashi'
    +
    _.camel('green fish blue fish') // => greenFishBlueFish
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/capitalize/index.html b/v12.2.0-beta/reference/string/capitalize/index.html new file mode 100644 index 00000000..008eb712 --- /dev/null +++ b/v12.2.0-beta/reference/string/capitalize/index.html @@ -0,0 +1,90 @@ + capitalize | Radashi + + Skip to content

    capitalize

    Convert a string to a capitalized format

    152 bytes +

    Usage

    +

    Given a string returns it with the first letter upper cased and all other letters lower cased.

    +
    import * as _ from 'radashi'
    +
    _.capitalize('green fish blue FISH') // => Green fish blue fish
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/dash/index.html b/v12.2.0-beta/reference/string/dash/index.html new file mode 100644 index 00000000..56e0c282 --- /dev/null +++ b/v12.2.0-beta/reference/string/dash/index.html @@ -0,0 +1,90 @@ + dash | Radashi + + Skip to content

    dash

    Convert a string to dash case

    334 bytes +

    Usage

    +

    Given a string returns it in dash case format.

    +
    import * as _ from 'radashi'
    +
    _.dash('green fish blue fish') // => green-fish-blue-fish
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/pascal/index.html b/v12.2.0-beta/reference/string/pascal/index.html new file mode 100644 index 00000000..1701ee9b --- /dev/null +++ b/v12.2.0-beta/reference/string/pascal/index.html @@ -0,0 +1,90 @@ + pascal | Radashi + + Skip to content

    pascal

    Convert a string to pascal case

    201 bytes +

    Usage

    +

    Formats the given string in pascal case fashion.

    +
    import * as _ from 'radashi'
    +
    _.pascal('hello world') // => 'HelloWorld'
    _.pascal('va va boom') // => 'VaVaBoom'
    _.pascal('helloWorld') // => 'HelloWorld'
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/similarity/index.html b/v12.2.0-beta/reference/string/similarity/index.html new file mode 100644 index 00000000..f27d00fb --- /dev/null +++ b/v12.2.0-beta/reference/string/similarity/index.html @@ -0,0 +1,104 @@ + similarity | Radashi + + Skip to content

    similarity

    Calculate the similarity between two strings using the Levenshtein distance algorithm

    455 bytes +

    Usage

    +

    The similarity function computes the Levenshtein distance between two input strings. This distance represents the minimum number of single-character edits (insertions, deletions, or substitutions) required to change one string into the other.

    +

    This function is useful for various applications, including:

    +
      +
    • Spell checking and autocorrect features
    • +
    • Fuzzy string matching
    • +
    • DNA sequence analysis
    • +
    • Plagiarism detection
    • +
    +

    The function is case-sensitive and treats whitespace as significant characters. The order of the input strings doesn’t affect the result, as the Levenshtein distance is symmetric.

    +
    import * as _ from 'radashi'
    +
    // Identical strings
    _.similarity('hello', 'hello') // => 0
    +
    // One character difference
    _.similarity('kitten', 'mitten') // => 1
    +
    // Multiple differences
    _.similarity('saturday', 'sunday') // => 3
    +
    // Case sensitivity
    _.similarity('foo', 'FOO') // => 3
    +
    // Whitespace significance
    _.similarity('bar ', 'bar') // => 1
    +
    // Argument order doesn't matter
    _.similarity('abc', 'cba') // => 2
    _.similarity('cba', 'abc') // => 2
    +

    The function returns a number representing the Levenshtein distance between the two input strings. A lower number indicates higher similarity, with 0 meaning the strings are identical.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/snake/index.html b/v12.2.0-beta/reference/string/snake/index.html new file mode 100644 index 00000000..c5e8d9fb --- /dev/null +++ b/v12.2.0-beta/reference/string/snake/index.html @@ -0,0 +1,93 @@ + snake | Radashi + + Skip to content

    snake

    Convert a string to snake case

    441 bytes +

    Usage

    +

    Given a string returns it in snake case format.

    +
    import * as _ from 'radashi'
    +
    _.snake('green fish blue fish') // => green_fish_blue_fish
    +

    Warning: In v11.0.0 a change was made to fix this function so that it correctly splits numbers from neighboring letters (hello5 becomes hello_5). You can opt out of this behavior and continue with the legacy style (hello5 becomes hello5) by passing the splitOnNumber options.

    +
    _.snake('5green fish 2blue fish') // => 5_green_fish_2_blue_fish
    +
    _.snake('5green fish 2blue fish', {
    splitOnNumber: false,
    }) // => 5green_fish_2blue_fish
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/template/index.html b/v12.2.0-beta/reference/string/template/index.html new file mode 100644 index 00000000..c5fe5bc0 --- /dev/null +++ b/v12.2.0-beta/reference/string/template/index.html @@ -0,0 +1,90 @@ + template | Radashi + + Skip to content

    template

    Template a string with values from a data object using a search expression

    155 bytes +

    Usage

    +

    Given a string, an object of data, and a format expression to search for, returns a string with all elements that matched the search replaced with their matching value from the data object.

    +
    import * as _ from 'radashi'
    +
    _.template('It is {{color}}', { color: 'blue' }) // => It is blue
    _.template('It is <color>', { color: 'blue' }, /<(.+?)>/g) // => It is blue
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/title/index.html b/v12.2.0-beta/reference/string/title/index.html new file mode 100644 index 00000000..e28f2597 --- /dev/null +++ b/v12.2.0-beta/reference/string/title/index.html @@ -0,0 +1,90 @@ + title | Radashi + + Skip to content

    title

    Convert a string to title case

    273 bytes +

    Usage

    +

    Formats the given string in title case fashion

    +
    import * as _ from 'radashi'
    +
    _.title('hello world') // => 'Hello World'
    _.title('va_va_boom') // => 'Va Va Boom'
    _.title('root-hook') // => 'Root Hook'
    _.title('queryItems') // => 'Query Items'
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/string/trim/index.html b/v12.2.0-beta/reference/string/trim/index.html new file mode 100644 index 00000000..9aaf6d53 --- /dev/null +++ b/v12.2.0-beta/reference/string/trim/index.html @@ -0,0 +1,92 @@ + trim | Radashi + + Skip to content

    trim

    Trim values from a string

    150 bytes +

    Usage

    +

    Trims all prefix and suffix characters from the given string. Like the builtin trim function but accepts alternate (other than space) characters you would like to trim.

    +
    import * as _ from 'radashi'
    +
    _.trim(' hello ') // => hello
    _.trim('__hello__', '_') // => hello
    _.trim('/repos/:owner/', '/') // => repos/:owner
    +

    Trim also handles more than one character to trim.

    +
    _.trim('222__hello__111', '12_') // => hello
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isArray/index.html b/v12.2.0-beta/reference/typed/isArray/index.html new file mode 100644 index 00000000..f6915d5d --- /dev/null +++ b/v12.2.0-beta/reference/typed/isArray/index.html @@ -0,0 +1,90 @@ + isArray | Radashi + + Skip to content

    isArray

    Determine if a value is an Array

    42 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is an Array.

    +
    import * as _ from 'radashi'
    +
    _.isArray('hello') // => false
    _.isArray(['hello']) // => true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isBoolean/index.html b/v12.2.0-beta/reference/typed/isBoolean/index.html new file mode 100644 index 00000000..d8ac2d34 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isBoolean/index.html @@ -0,0 +1,90 @@ + isBoolean | Radashi + + Skip to content

    isBoolean

    Check if a value is a boolean type

    65 bytes +

    Usage

    +

    Returns true if the value is a boolean type. Boxed boolean values (e.g. new Boolean(false)) are not considered booleans by this function.

    +
    import * as _ from 'radashi'
    +
    _.isBoolean(true) // => true
    _.isBoolean(false) // => true
    _.isBoolean('true') // => false
    _.isBoolean(1) // => false
    _.isBoolean(new Boolean(true)) // => false
    _.isBoolean(undefined) // => false
    _.isBoolean(null) // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isDate/index.html b/v12.2.0-beta/reference/typed/isDate/index.html new file mode 100644 index 00000000..cb00b740 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isDate/index.html @@ -0,0 +1,90 @@ + isDate | Radashi + + Skip to content

    isDate

    Determine if a value is a Date

    124 bytes +

    Usage

    +

    Determine if a value is a Date. Does not check that the input date is valid, only that it is a Javascript Date type.

    +
    import * as _ from 'radashi'
    +
    _.isDate(new Date()) // => true
    _.isDate(12) // => false
    _.isDate('hello') // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isEmpty/index.html b/v12.2.0-beta/reference/typed/isEmpty/index.html new file mode 100644 index 00000000..e562f312 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isEmpty/index.html @@ -0,0 +1,91 @@ + isEmpty | Radashi + + Skip to content

    isEmpty

    Determine if a value is empty

    493 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is empty.

    +
    import * as _ from 'radashi'
    +
    _.isEmpty([]) // => true
    _.isEmpty('') // => true
    +
    _.isEmpty('hello') // => false
    _.isEmpty(['hello']) // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isEqual/index.html b/v12.2.0-beta/reference/typed/isEqual/index.html new file mode 100644 index 00000000..52882dd6 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isEqual/index.html @@ -0,0 +1,91 @@ + isEqual | Radashi + + Skip to content

    isEqual

    Determine if two values are equal

    456 bytes +

    Usage

    +

    Given two values, returns true if they are equal.

    +
    import * as _ from 'radashi'
    +
    _.isEqual(null, null) // => true
    _.isEqual([], []) // => true
    +
    _.isEqual('hello', 'world') // => false
    _.isEqual(22, 'abc') // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isError/index.html b/v12.2.0-beta/reference/typed/isError/index.html new file mode 100644 index 00000000..a383d704 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isError/index.html @@ -0,0 +1,90 @@ + isError | Radashi + + Skip to content

    isError

    Determine if a value is an Error

    126 bytes +

    Usage

    +

    This function returns true if the input is an instance of the Error class or any of its subclasses.

    +
    import * as _ from 'radashi'
    +
    _.isError(new Error()) // => true
    _.isError(new TypeError()) // => true
    _.isError('An error occurred') // => false
    _.isError({ message: 'Error' }) // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isFloat/index.html b/v12.2.0-beta/reference/typed/isFloat/index.html new file mode 100644 index 00000000..8f7ff5f8 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isFloat/index.html @@ -0,0 +1,90 @@ + isFloat | Radashi + + Skip to content

    isFloat

    Determine if a value is a float

    115 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is a float.

    +
    import * as _ from 'radashi'
    +
    _.isFloat(12.233) // => true
    _.isFloat(12) // => false
    _.isFloat('hello') // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isFunction/index.html b/v12.2.0-beta/reference/typed/isFunction/index.html new file mode 100644 index 00000000..8811ddf6 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isFunction/index.html @@ -0,0 +1,90 @@ + isFunction | Radashi + + Skip to content

    isFunction

    Determine if a value is a Function

    67 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is a function.

    +
    import * as _ from 'radashi'
    +
    _.isFunction('hello') // => false
    _.isFunction(['hello']) // => false
    _.isFunction(() => 'hello') // => true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isInt/index.html b/v12.2.0-beta/reference/typed/isInt/index.html new file mode 100644 index 00000000..70585155 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isInt/index.html @@ -0,0 +1,90 @@ + isInt | Radashi + + Skip to content

    isInt

    Determine if a value is an int

    43 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is an int.

    +
    import * as _ from 'radashi'
    +
    _.isInt(12) // => true
    _.isInt(12.233) // => false
    _.isInt('hello') // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isIntString/index.html b/v12.2.0-beta/reference/typed/isIntString/index.html new file mode 100644 index 00000000..b17ded55 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isIntString/index.html @@ -0,0 +1,92 @@ + isIntString | Radashi + + Skip to content

    isIntString

    Determine if a value is an int in string form

    146 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is an int in string form.

    +
    import * as _ from 'radashi'
    +
    _.isIntString('12') // => true
    _.isIntString('-12') // => true
    +
    _.isIntString('12.233') // => false
    _.isIntString('12.0') // => false
    _.isIntString('+12') // => false
    +
    _.isIntString('hello') // => false
    _.isIntString(null) // => false
    _.isIntString(12) // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isMap/index.html b/v12.2.0-beta/reference/typed/isMap/index.html new file mode 100644 index 00000000..6753b54c --- /dev/null +++ b/v12.2.0-beta/reference/typed/isMap/index.html @@ -0,0 +1,91 @@ + isMap | Radashi + + Skip to content

    isMap

    Returns true for Map instances

    122 bytes +

    Usage

    +

    Returns true for Map instances, even if they are subclass instances or from +other realms.

    +
    import * as _ from 'radashi'
    +
    _.isMap(new Map()) // true
    _.isMap(new (class extends Map {})()) // true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isNumber/index.html b/v12.2.0-beta/reference/typed/isNumber/index.html new file mode 100644 index 00000000..74b8b91a --- /dev/null +++ b/v12.2.0-beta/reference/typed/isNumber/index.html @@ -0,0 +1,90 @@ + isNumber | Radashi + + Skip to content

    isNumber

    Determine if a value is a number

    81 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is a number.

    +
    import * as _ from 'radashi'
    +
    _.isNumber('hello') // => false
    _.isNumber(['hello']) // => false
    _.isNumber(12) // => true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isObject/index.html b/v12.2.0-beta/reference/typed/isObject/index.html new file mode 100644 index 00000000..ac16bb7b --- /dev/null +++ b/v12.2.0-beta/reference/typed/isObject/index.html @@ -0,0 +1,91 @@ + isObject | Radashi + + Skip to content

    isObject

    Determine if a value is an Object

    128 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is an instance of Object (or a subclass of Object).

    +
    import * as _ from 'radashi'
    +
    _.isObject('hello') // => false
    _.isObject(['hello']) // => false
    _.isObject(null) // => false
    _.isObject({ say: 'hello' }) // => true
    +

    Beware: This function returns false for objects created with Object.create(null). If you want to check if a value is a plain object, use _.isPlainObject instead.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isPlainObject/index.html b/v12.2.0-beta/reference/typed/isPlainObject/index.html new file mode 100644 index 00000000..bcac5033 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isPlainObject/index.html @@ -0,0 +1,91 @@ + isPlainObject | Radashi + + Skip to content

    isPlainObject

    Determine if a value is a plain object

    185 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is a plain object.

    +
    import * as _ from 'radashi'
    +
    _.isPlainObject({}) // => true
    _.isPlainObject(Object.create(null)) // => true
    +
    _.isPlainObject([]) // => false
    _.isPlainObject(null) // => false
    _.isPlainObject(new Date()) // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isPrimitive/index.html b/v12.2.0-beta/reference/typed/isPrimitive/index.html new file mode 100644 index 00000000..789c9f50 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isPrimitive/index.html @@ -0,0 +1,91 @@ + isPrimitive | Radashi + + Skip to content

    isPrimitive

    Checks if the given value is primitive

    97 bytes +

    Usage

    +

    Checks if the given value is primitive.

    +

    Primitive Types: number , string , boolean , symbol, bigint, undefined, null

    +
    import * as _ from 'radashi'
    +
    _.isPrimitive(22) // => true
    _.isPrimitive('hello') // => true
    _.isPrimitive(['hello']) // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isPromise/index.html b/v12.2.0-beta/reference/typed/isPromise/index.html new file mode 100644 index 00000000..4020bc53 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isPromise/index.html @@ -0,0 +1,98 @@ + isPromise | Radashi + + Skip to content

    isPromise

    Determine if a value is a Promise or has a `then` method

    101 bytes +

    Usage

    +

    The isPromise function checks if a value is “Promise-like” by determining if it has a then method.

    +
    import * as _ from 'radashi'
    +
    _.isPromise({ then: () => {} }) // => true
    _.isPromise(new Promise(() => {})) // => true
    _.isPromise(Promise.resolve(1)) // => true
    _.isPromise(Promise.reject(new Error('nope'))) // => true
    +
    _.isPromise('hello') // => false
    _.isPromise({}) // => false
    +

    This approach is useful for identifying objects that conform to the Promise interface without actually being instances of Promise. It’s particularly helpful in scenarios where:

    +
      +
    1. You need to quickly check if a value is thenable without resolving it.
    2. +
    3. Performance is critical, and you want to avoid the overhead of Promise.resolve.
    4. +
    5. You’re working with custom Promise implementations or third-party libraries that use Promise-like objects.
    6. +
    +

    While Promise.resolve is generally recommended for handling both Promise and non-Promise values uniformly, isPromise can be preferable when you need to make decisions based on whether a value is Promise-like without actually resolving or chaining it. This can be especially useful in type-checking scenarios or when implementing control flow that depends on whether a value is immediately available or needs to be awaited.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isRegExp/index.html b/v12.2.0-beta/reference/typed/isRegExp/index.html new file mode 100644 index 00000000..793ddbba --- /dev/null +++ b/v12.2.0-beta/reference/typed/isRegExp/index.html @@ -0,0 +1,91 @@ + isRegExp | Radashi + + Skip to content

    isRegExp

    Returns true for RegExp instances

    128 bytes +

    Usage

    +

    Returns true for RegExp instances, even if they are subclass instances or from +other realms.

    +
    import * as _ from 'radashi'
    +
    _.isRegExp(/.+/) // true
    _.isRegExp(new RegExp('.+')) // true
    _.isRegExp(new (class extends RegExp {})('.+')) // true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isResult/index.html b/v12.2.0-beta/reference/typed/isResult/index.html new file mode 100644 index 00000000..e110029a --- /dev/null +++ b/v12.2.0-beta/reference/typed/isResult/index.html @@ -0,0 +1,118 @@ + isResult | Radashi + + Skip to content

    isResult

    Check if a value is a Result tuple

    217 bytes +

    Usage

    +

    Check if a value is a Result tuple.

    +

    Don’t know what that is? Read the Result section further down.

    +
    import * as _ from 'radashi'
    +
    _.isResult([undefined, 42]) // => true
    _.isResult([new Error(), undefined]) // => true
    +
    // Tuple must be of length 2.
    _.isResult([new Error()]) // => false
    _.isResult([undefined, true, undefined]) // => false
    +
    // Non-tuple values are false.
    _.isResult([]) // => false
    _.isResult({}) // => false
    _.isResult(null) // => false
    +
    // Result tuples cannot have both a value and an error.
    _.isResult([new Error(), true]) // => false
    +

    Also see the related isResultOk and isResultErr functions.

    +

    Types In-Depth

    +

    Result

    +

    “Results” are tuples of 2 elements (an error and a result value).

    +
      +
    • The first element is always the error, or undefined if the operation was successful.
    • +
    • The second element is always the result value, unless an error occurred.
    • +
    • These tuples are represented by the Result<TResult, TError> type.
    • +
    • A default error type of Error is used when no error type is explicitly defined (e.g. Result<string>).
    • +
    +

    Ok and Err

    +

    There are 2 types of result: Ok<TResult> and Err<TError>.

    +
      +
    • The Ok type represents a successful operation. It’s a tuple of [undefined, TResult].
    • +
    • The Err type represents a failed operation. It’s a tuple of [TError, undefined].
    • +
    +

    The names “Ok” and “Err” are inspired by Rust’s std::result module.

    +

    To check for an Ok result, do this:

    +
    declare const value: unknown
    +
    if (isResult(value) && value[0] == null) {
    value // <-- now an Ok<unknown> type
    value[1] // <-- This is the resulting value!
    }
    +

    To check for an Err result, do this:

    +
    declare const value: unknown
    +
    if (isResult(value) && value[0] != null) {
    value // <-- now an Err<Error> type
    value[0] // <-- This is the error!
    }
    +

    You can also use the isResultOk and isResultErr functions to check for Ok and Err results respectively.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isResultErr/index.html b/v12.2.0-beta/reference/typed/isResultErr/index.html new file mode 100644 index 00000000..179a9e8c --- /dev/null +++ b/v12.2.0-beta/reference/typed/isResultErr/index.html @@ -0,0 +1,91 @@ + isResultErr | Radashi + + Skip to content

    isResultErr

    Returns true for failed Result tuple

    261 bytes +

    Usage

    +

    Check if a value is both a Result tuple and an Err result.

    +
    declare const value: unknown
    +
    if (isResultErr(value)) {
    value // <-- now an Err<Error> type
    value[0] // <-- This is the error!
    }
    +

    Also see the related isResult and isResultOk functions.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isResultOk/index.html b/v12.2.0-beta/reference/typed/isResultOk/index.html new file mode 100644 index 00000000..1014f0d5 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isResultOk/index.html @@ -0,0 +1,91 @@ + isResultOk | Radashi + + Skip to content

    isResultOk

    Returns true for successful Result tuple

    260 bytes +

    Usage

    +

    Check if a value is both a Result tuple and an Ok result.

    +
    declare const value: unknown
    +
    if (isResultOk(value)) {
    value // <-- now an Ok<unknown> type
    value[1] // <-- This is the resulting value!
    }
    +

    Also see the related isResult and isResultErr functions.

    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isSet/index.html b/v12.2.0-beta/reference/typed/isSet/index.html new file mode 100644 index 00000000..143c362c --- /dev/null +++ b/v12.2.0-beta/reference/typed/isSet/index.html @@ -0,0 +1,91 @@ + isSet | Radashi + + Skip to content

    isSet

    Returns true for Set instances

    122 bytes +

    Usage

    +

    Returns true for Set instances, even if they are subclass instances or from +other realms.

    +
    import * as _ from 'radashi'
    +
    _.isSet(new Set()) // true
    _.isSet(new (class extends Set {})()) // true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isString/index.html b/v12.2.0-beta/reference/typed/isString/index.html new file mode 100644 index 00000000..070e894c --- /dev/null +++ b/v12.2.0-beta/reference/typed/isString/index.html @@ -0,0 +1,90 @@ + isString | Radashi + + Skip to content

    isString

    Determine if a value is a String

    63 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is a string.

    +
    import * as _ from 'radashi'
    +
    _.isString('hello') // => true
    _.isString(['hello']) // => false
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isSymbol/index.html b/v12.2.0-beta/reference/typed/isSymbol/index.html new file mode 100644 index 00000000..e24dd911 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isSymbol/index.html @@ -0,0 +1,90 @@ + isSymbol | Radashi + + Skip to content

    isSymbol

    Determine if a value is a Symbol

    63 bytes +

    Usage

    +

    Pass in a value and get a boolean telling you if the value is a Symbol.

    +
    import * as _ from 'radashi'
    +
    _.isSymbol('hello') // => false
    _.isSymbol(Symbol('hello')) // => true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isWeakMap/index.html b/v12.2.0-beta/reference/typed/isWeakMap/index.html new file mode 100644 index 00000000..94fdbda0 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isWeakMap/index.html @@ -0,0 +1,91 @@ + isWeakMap | Radashi + + Skip to content

    isWeakMap

    Returns true for WeakMap instances

    130 bytes +

    Usage

    +

    Returns true for WeakMap instances, even if they are subclass instances or from +other realms.

    +
    import * as _ from 'radashi'
    +
    _.isWeakMap(new WeakMap()) // true
    _.isWeakMap(new (class extends WeakMap {})()) // true
    \ No newline at end of file diff --git a/v12.2.0-beta/reference/typed/isWeakSet/index.html b/v12.2.0-beta/reference/typed/isWeakSet/index.html new file mode 100644 index 00000000..2f043a83 --- /dev/null +++ b/v12.2.0-beta/reference/typed/isWeakSet/index.html @@ -0,0 +1,91 @@ + isWeakSet | Radashi + + Skip to content

    isWeakSet

    Returns true for WeakSet instances

    130 bytes +

    Usage

    +

    Returns true for WeakSet instances, even if they are subclass instances or from +other realms.

    +
    import * as _ from 'radashi'
    +
    _.isWeakSet(new WeakSet()) // true
    _.isWeakSet(new (class extends WeakSet {})()) // true
    \ No newline at end of file diff --git a/v12.2.0-beta/search.svg b/v12.2.0-beta/search.svg new file mode 100644 index 00000000..c679a33e --- /dev/null +++ b/v12.2.0-beta/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/v12.2.0-beta/sidebar/community.svg b/v12.2.0-beta/sidebar/community.svg new file mode 100644 index 00000000..95760f9f --- /dev/null +++ b/v12.2.0-beta/sidebar/community.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/v12.2.0-beta/sidebar/functions.svg b/v12.2.0-beta/sidebar/functions.svg new file mode 100644 index 00000000..8e2f2d7e --- /dev/null +++ b/v12.2.0-beta/sidebar/functions.svg @@ -0,0 +1,4 @@ + + + + diff --git a/v12.2.0-beta/sidebar/github.svg b/v12.2.0-beta/sidebar/github.svg new file mode 100644 index 00000000..4a17894d --- /dev/null +++ b/v12.2.0-beta/sidebar/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/v12.2.0-beta/sidebar/jsr.svg b/v12.2.0-beta/sidebar/jsr.svg new file mode 100644 index 00000000..97e4bdb4 --- /dev/null +++ b/v12.2.0-beta/sidebar/jsr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/v12.2.0-beta/sidebar/npm.svg b/v12.2.0-beta/sidebar/npm.svg new file mode 100644 index 00000000..e3272c50 --- /dev/null +++ b/v12.2.0-beta/sidebar/npm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/v12.2.0-beta/sidebar/vscode.svg b/v12.2.0-beta/sidebar/vscode.svg new file mode 100644 index 00000000..9bdee6dd --- /dev/null +++ b/v12.2.0-beta/sidebar/vscode.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/v12.2.0-beta/sitemap-0.xml b/v12.2.0-beta/sitemap-0.xml new file mode 100644 index 00000000..c29f5eab --- /dev/null +++ b/v12.2.0-beta/sitemap-0.xml @@ -0,0 +1 @@ +https://radashi.js.org/https://radashi.js.org/blog/first-release/https://radashi.js.org/blog/vs-radash/https://radashi.js.org/blog/what-happened-to-radash/https://radashi.js.org/browser-support/https://radashi.js.org/changelog/https://radashi.js.org/contributing/https://radashi.js.org/installation/https://radashi.js.org/our-ethos/https://radashi.js.org/playground/https://radashi.js.org/reference/https://radashi.js.org/reference/array/alphabetical/https://radashi.js.org/reference/array/boil/https://radashi.js.org/reference/array/castArray/https://radashi.js.org/reference/array/castArrayIfExists/https://radashi.js.org/reference/array/cluster/https://radashi.js.org/reference/array/counting/https://radashi.js.org/reference/array/diff/https://radashi.js.org/reference/array/first/https://radashi.js.org/reference/array/flat/https://radashi.js.org/reference/array/fork/https://radashi.js.org/reference/array/group/https://radashi.js.org/reference/array/intersects/https://radashi.js.org/reference/array/iterate/https://radashi.js.org/reference/array/last/https://radashi.js.org/reference/array/list/https://radashi.js.org/reference/array/mapify/https://radashi.js.org/reference/array/merge/https://radashi.js.org/reference/array/objectify/https://radashi.js.org/reference/array/replace/https://radashi.js.org/reference/array/replaceOrAppend/https://radashi.js.org/reference/array/select/https://radashi.js.org/reference/array/selectFirst/https://radashi.js.org/reference/array/shift/https://radashi.js.org/reference/array/sift/https://radashi.js.org/reference/array/sort/https://radashi.js.org/reference/array/toggle/https://radashi.js.org/reference/array/unique/https://radashi.js.org/reference/array/unzip/https://radashi.js.org/reference/array/zip/https://radashi.js.org/reference/array/zipToObject/https://radashi.js.org/reference/async/all/https://radashi.js.org/reference/async/defer/https://radashi.js.org/reference/async/guard/https://radashi.js.org/reference/async/map/https://radashi.js.org/reference/async/parallel/https://radashi.js.org/reference/async/reduce/https://radashi.js.org/reference/async/retry/https://radashi.js.org/reference/async/sleep/https://radashi.js.org/reference/async/tryit/https://radashi.js.org/reference/async/withResolvers/https://radashi.js.org/reference/curry/chain/https://radashi.js.org/reference/curry/compose/https://radashi.js.org/reference/curry/debounce/https://radashi.js.org/reference/curry/flip/https://radashi.js.org/reference/curry/memo/https://radashi.js.org/reference/curry/once/https://radashi.js.org/reference/curry/partial/https://radashi.js.org/reference/curry/partob/https://radashi.js.org/reference/curry/proxied/https://radashi.js.org/reference/curry/throttle/https://radashi.js.org/reference/function/always/https://radashi.js.org/reference/function/castComparator/https://radashi.js.org/reference/function/castMapping/https://radashi.js.org/reference/function/noop/https://radashi.js.org/reference/number/clamp/https://radashi.js.org/reference/number/inRange/https://radashi.js.org/reference/number/lerp/https://radashi.js.org/reference/number/max/https://radashi.js.org/reference/number/min/https://radashi.js.org/reference/number/range/https://radashi.js.org/reference/number/round/https://radashi.js.org/reference/number/sum/https://radashi.js.org/reference/number/toFloat/https://radashi.js.org/reference/number/toInt/https://radashi.js.org/reference/object/assign/https://radashi.js.org/reference/object/clone/https://radashi.js.org/reference/object/cloneDeep/https://radashi.js.org/reference/object/construct/https://radashi.js.org/reference/object/crush/https://radashi.js.org/reference/object/filterKey/https://radashi.js.org/reference/object/get/https://radashi.js.org/reference/object/invert/https://radashi.js.org/reference/object/keys/https://radashi.js.org/reference/object/listify/https://radashi.js.org/reference/object/lowerize/https://radashi.js.org/reference/object/mapEntries/https://radashi.js.org/reference/object/mapKeys/https://radashi.js.org/reference/object/mapValues/https://radashi.js.org/reference/object/omit/https://radashi.js.org/reference/object/pick/https://radashi.js.org/reference/object/set/https://radashi.js.org/reference/object/shake/https://radashi.js.org/reference/object/traverse/https://radashi.js.org/reference/object/upperize/https://radashi.js.org/reference/random/draw/https://radashi.js.org/reference/random/random/https://radashi.js.org/reference/random/shuffle/https://radashi.js.org/reference/random/uid/https://radashi.js.org/reference/series/series/https://radashi.js.org/reference/string/camel/https://radashi.js.org/reference/string/capitalize/https://radashi.js.org/reference/string/dash/https://radashi.js.org/reference/string/pascal/https://radashi.js.org/reference/string/similarity/https://radashi.js.org/reference/string/snake/https://radashi.js.org/reference/string/template/https://radashi.js.org/reference/string/title/https://radashi.js.org/reference/string/trim/https://radashi.js.org/reference/typed/isArray/https://radashi.js.org/reference/typed/isBoolean/https://radashi.js.org/reference/typed/isDate/https://radashi.js.org/reference/typed/isEmpty/https://radashi.js.org/reference/typed/isEqual/https://radashi.js.org/reference/typed/isError/https://radashi.js.org/reference/typed/isFloat/https://radashi.js.org/reference/typed/isFunction/https://radashi.js.org/reference/typed/isInt/https://radashi.js.org/reference/typed/isIntString/https://radashi.js.org/reference/typed/isMap/https://radashi.js.org/reference/typed/isNumber/https://radashi.js.org/reference/typed/isObject/https://radashi.js.org/reference/typed/isPlainObject/https://radashi.js.org/reference/typed/isPrimitive/https://radashi.js.org/reference/typed/isPromise/https://radashi.js.org/reference/typed/isRegExp/https://radashi.js.org/reference/typed/isResult/https://radashi.js.org/reference/typed/isResultErr/https://radashi.js.org/reference/typed/isResultOk/https://radashi.js.org/reference/typed/isSet/https://radashi.js.org/reference/typed/isString/https://radashi.js.org/reference/typed/isSymbol/https://radashi.js.org/reference/typed/isWeakMap/https://radashi.js.org/reference/typed/isWeakSet/ \ No newline at end of file diff --git a/v12.2.0-beta/sitemap-index.xml b/v12.2.0-beta/sitemap-index.xml new file mode 100644 index 00000000..5efb116d --- /dev/null +++ b/v12.2.0-beta/sitemap-index.xml @@ -0,0 +1 @@ +https://radashi.js.org/sitemap-0.xml \ No newline at end of file diff --git a/v12.2.0-beta/versions.json b/v12.2.0-beta/versions.json new file mode 100644 index 00000000..df263097 --- /dev/null +++ b/v12.2.0-beta/versions.json @@ -0,0 +1 @@ +["v12.2.0-beta"] \ No newline at end of file